observal-cli 1.4.4__tar.gz → 1.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- observal_cli-1.6.0/.dockerignore +64 -0
- observal_cli-1.6.0/.github/pull_request_template.md +46 -0
- observal_cli-1.6.0/.github/workflows/ci.yml +296 -0
- observal_cli-1.6.0/.github/workflows/terraform.yml +194 -0
- observal_cli-1.6.0/.gitignore +81 -0
- observal_cli-1.6.0/AGENTS.md +236 -0
- observal_cli-1.6.0/CHANGELOG.md +1970 -0
- observal_cli-1.6.0/PKG-INFO +321 -0
- observal_cli-1.6.0/README.md +287 -0
- observal_cli-1.6.0/docker/Dockerfile.web +29 -0
- observal_cli-1.6.0/docker/docker-compose.yml +311 -0
- observal_cli-1.6.0/docker/nginx-azure.conf +51 -0
- observal_cli-1.6.0/docs/DEVELOPMENT_GUIDE.md +643 -0
- observal_cli-1.6.0/docs/SUMMARY.md +71 -0
- observal_cli-1.6.0/docs/adding-an-ide.md +566 -0
- observal_cli-1.6.0/docs/cli/README.md +96 -0
- observal_cli-1.6.0/docs/cli/agent.md +275 -0
- observal_cli-1.6.0/docs/cli/auth.md +132 -0
- observal_cli-1.6.0/docs/cli/migrate.md +539 -0
- observal_cli-1.6.0/docs/cli/ops.md +157 -0
- observal_cli-1.6.0/docs/getting-started/core-concepts.md +118 -0
- observal_cli-1.6.0/docs/getting-started/installation.md +152 -0
- observal_cli-1.6.0/docs/getting-started/quickstart.md +210 -0
- observal_cli-1.6.0/docs/insights-config.md +231 -0
- observal_cli-1.6.0/docs/licensing.md +70 -0
- observal_cli-1.6.0/docs/reference/config-files.md +120 -0
- observal_cli-1.6.0/docs/reference/environment-variables.md +136 -0
- observal_cli-1.6.0/docs/self-hosting/README.md +98 -0
- observal_cli-1.6.0/docs/self-hosting/authentication.md +148 -0
- observal_cli-1.6.0/docs/self-hosting/aws-terraform.md +424 -0
- observal_cli-1.6.0/docs/self-hosting/configuration.md +143 -0
- observal_cli-1.6.0/docs/self-hosting/data-retention.md +66 -0
- observal_cli-1.6.0/docs/self-hosting/databases.md +123 -0
- observal_cli-1.6.0/docs/self-hosting/deployment-settings.md +84 -0
- observal_cli-1.6.0/docs/self-hosting/gcp-terraform.md +277 -0
- observal_cli-1.6.0/docs/self-hosting/miscellaneous.md +71 -0
- observal_cli-1.6.0/docs/self-hosting/observability-settings.md +55 -0
- observal_cli-1.6.0/docs/self-hosting/okta-setup.md +423 -0
- observal_cli-1.6.0/docs/self-hosting/production-deploy.md +317 -0
- observal_cli-1.6.0/docs/self-hosting/releasing.md +143 -0
- observal_cli-1.6.0/docs/self-hosting/resource-tuning.md +154 -0
- observal_cli-1.6.0/docs/self-hosting/saml-settings.md +126 -0
- observal_cli-1.6.0/docs/self-hosting/single-node-deploy.md +367 -0
- observal_cli-1.6.0/docs/self-hosting/telemetry-pipeline.md +94 -0
- observal_cli-1.6.0/docs/self-hosting/token-expiry.md +68 -0
- observal_cli-1.6.0/docs/self-hosting/trusted-proxies.md +142 -0
- observal_cli-1.6.0/docs/use-cases/README.md +29 -0
- observal_cli-1.6.0/docs/use-cases/debug-agent-failures.md +93 -0
- observal_cli-1.6.0/docs/use-cases/observe-mcp-traffic.md +95 -0
- observal_cli-1.6.0/docs/use-cases/share-agent-configs.md +102 -0
- observal_cli-1.6.0/docs/use-cases/team-registry.md +131 -0
- observal_cli-1.6.0/ee/AGENTS.md +92 -0
- observal_cli-1.6.0/ee/observal_server/routes/audit.py +241 -0
- observal_cli-1.6.0/ee/observal_server/routes/sso_saml.py +504 -0
- observal_cli-1.6.0/ee/observal_server/services/audit.py +274 -0
- observal_cli-1.6.0/infra/terraform/aws/alb.tf +311 -0
- observal_cli-1.6.0/infra/terraform/aws/clickhouse.tf +127 -0
- observal_cli-1.6.0/infra/terraform/aws/deploy.sh +531 -0
- observal_cli-1.6.0/infra/terraform/aws/ecs.tf +469 -0
- observal_cli-1.6.0/infra/terraform/aws/examples/byovpc/README.md +33 -0
- observal_cli-1.6.0/infra/terraform/aws/examples/byovpc/main.tf +40 -0
- observal_cli-1.6.0/infra/terraform/aws/examples/byovpc/outputs.tf +17 -0
- observal_cli-1.6.0/infra/terraform/aws/examples/byovpc/terraform.tfvars.example +20 -0
- observal_cli-1.6.0/infra/terraform/aws/examples/byovpc/variables.tf +56 -0
- observal_cli-1.6.0/infra/terraform/aws/locals.tf +151 -0
- observal_cli-1.6.0/infra/terraform/aws/outputs.tf +90 -0
- observal_cli-1.6.0/infra/terraform/aws/postgresql.tf +80 -0
- observal_cli-1.6.0/infra/terraform/aws/redis.tf +38 -0
- observal_cli-1.6.0/infra/terraform/aws/security.tf +167 -0
- observal_cli-1.6.0/infra/terraform/aws/variables.tf +470 -0
- observal_cli-1.6.0/infra/terraform/aws/vpc.tf +154 -0
- observal_cli-1.6.0/infra/terraform/aws-ec2/deploy.sh +186 -0
- observal_cli-1.6.0/infra/terraform/aws-ec2/outputs.tf +53 -0
- observal_cli-1.6.0/infra/terraform/aws-ec2/terraform.tfvars.example +52 -0
- observal_cli-1.6.0/infra/terraform/aws-ec2/variables.tf +67 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/README.md +71 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/alb.tf +228 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/data-host.tf +121 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/data-user-data.sh.tftpl +228 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/ecs-cluster.tf +42 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/ecs-instances.tf +86 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/ecs-services.tf +161 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/ecs-tasks.tf +202 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/iam.tf +162 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/locals.tf +80 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/logs.tf +39 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/outputs.tf +54 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/s3.tf +105 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/secrets.tf +76 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/security.tf +125 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/terraform.tfvars.example +65 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/variables.tf +234 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/versions.tf +33 -0
- observal_cli-1.6.0/infra/terraform/aws-standard/vpc.tf +106 -0
- observal_cli-1.6.0/infra/terraform/azure/.terraform.lock.hcl +67 -0
- observal_cli-1.6.0/infra/terraform/azure/README.md +91 -0
- observal_cli-1.6.0/infra/terraform/azure/acr.tf +12 -0
- observal_cli-1.6.0/infra/terraform/azure/backend.tf +14 -0
- observal_cli-1.6.0/infra/terraform/azure/clickhouse.tf +86 -0
- observal_cli-1.6.0/infra/terraform/azure/cloud-init.yaml.tftpl +81 -0
- observal_cli-1.6.0/infra/terraform/azure/container-apps.tf +394 -0
- observal_cli-1.6.0/infra/terraform/azure/examples/minimal/.terraform.lock.hcl +87 -0
- observal_cli-1.6.0/infra/terraform/azure/examples/minimal/main.tf +20 -0
- observal_cli-1.6.0/infra/terraform/azure/grafana.tf +41 -0
- observal_cli-1.6.0/infra/terraform/azure/locals.tf +27 -0
- observal_cli-1.6.0/infra/terraform/azure/log-analytics.tf +12 -0
- observal_cli-1.6.0/infra/terraform/azure/network.tf +137 -0
- observal_cli-1.6.0/infra/terraform/azure/outputs.tf +42 -0
- observal_cli-1.6.0/infra/terraform/azure/postgresql.tf +52 -0
- observal_cli-1.6.0/infra/terraform/azure/prod.tfvars +35 -0
- observal_cli-1.6.0/infra/terraform/azure/redis.tf +29 -0
- observal_cli-1.6.0/infra/terraform/azure/resource-group.tf +8 -0
- observal_cli-1.6.0/infra/terraform/azure/secrets.tf +66 -0
- observal_cli-1.6.0/infra/terraform/azure/staging.tfvars +34 -0
- observal_cli-1.6.0/infra/terraform/azure/variables.tf +263 -0
- observal_cli-1.6.0/infra/terraform/azure/versions.tf +34 -0
- observal_cli-1.6.0/infra/terraform/deploy.sh +447 -0
- observal_cli-1.6.0/infra/terraform/gcp/.tflint.hcl +13 -0
- observal_cli-1.6.0/infra/terraform/gcp/examples/minimal/main.tf +21 -0
- observal_cli-1.6.0/observal-server/alembic/versions/006_feedback_one_per_user.py +29 -0
- observal_cli-1.6.0/observal-server/alembic/versions/007_invites.py +54 -0
- observal_cli-1.6.0/observal-server/alembic/versions/008_remove_invites.py +54 -0
- observal_cli-1.6.0/observal-server/alembic/versions/009_insights_version_progress.py +72 -0
- observal_cli-1.6.0/observal-server/api/middleware/audit.py +86 -0
- observal_cli-1.6.0/observal-server/api/routes/admin/enterprise_settings.py +494 -0
- observal_cli-1.6.0/observal-server/api/routes/agent/__init__.py +10 -0
- observal_cli-1.6.0/observal-server/api/routes/agent/crud.py +782 -0
- observal_cli-1.6.0/observal-server/api/routes/agent/draft.py +360 -0
- observal_cli-1.6.0/observal-server/api/routes/agent/insights.py +115 -0
- observal_cli-1.6.0/observal-server/api/routes/agent/install.py +365 -0
- observal_cli-1.6.0/observal-server/api/routes/auth.py +808 -0
- observal_cli-1.6.0/observal-server/api/routes/component_versions.py +394 -0
- observal_cli-1.6.0/observal-server/api/routes/config.py +174 -0
- observal_cli-1.6.0/observal-server/api/routes/device_auth.py +284 -0
- observal_cli-1.6.0/observal-server/api/routes/feedback.py +261 -0
- observal_cli-1.6.0/observal-server/api/routes/hook.py +417 -0
- observal_cli-1.6.0/observal-server/api/routes/insights.py +568 -0
- observal_cli-1.6.0/observal-server/api/routes/jwks.py +32 -0
- observal_cli-1.6.0/observal-server/api/routes/layer_snapshot.py +389 -0
- observal_cli-1.6.0/observal-server/api/routes/mcp.py +519 -0
- observal_cli-1.6.0/observal-server/api/routes/prompt.py +405 -0
- observal_cli-1.6.0/observal-server/api/routes/review.py +932 -0
- observal_cli-1.6.0/observal-server/api/routes/sandbox.py +365 -0
- observal_cli-1.6.0/observal-server/api/routes/sessions.py +433 -0
- observal_cli-1.6.0/observal-server/api/routes/skill.py +534 -0
- observal_cli-1.6.0/observal-server/api/routes/support.py +516 -0
- observal_cli-1.6.0/observal-server/main.py +522 -0
- observal_cli-1.6.0/observal-server/models/feedback.py +32 -0
- observal_cli-1.6.0/observal-server/models/insight_report.py +85 -0
- observal_cli-1.6.0/observal-server/pyproject.toml +78 -0
- observal_cli-1.6.0/observal-server/schemas/agent.py +245 -0
- observal_cli-1.6.0/observal-server/schemas/feedback.py +47 -0
- observal_cli-1.6.0/observal-server/schemas/hook.py +163 -0
- observal_cli-1.6.0/observal-server/schemas/ide_registry.py +420 -0
- observal_cli-1.6.0/observal-server/schemas/insights.py +81 -0
- observal_cli-1.6.0/observal-server/schemas/mcp.py +231 -0
- observal_cli-1.6.0/observal-server/schemas/prompt.py +103 -0
- observal_cli-1.6.0/observal-server/schemas/sandbox.py +114 -0
- observal_cli-1.6.0/observal-server/schemas/skill.py +147 -0
- observal_cli-1.6.0/observal-server/schemas/skill_commands.py +26 -0
- observal_cli-1.6.0/observal-server/services/agent_builder.py +644 -0
- observal_cli-1.6.0/observal-server/services/agent_registry_cache.py +201 -0
- observal_cli-1.6.0/observal-server/services/agent_resolver.py +301 -0
- observal_cli-1.6.0/observal-server/services/audit/__init__.py +31 -0
- observal_cli-1.6.0/observal-server/services/audit/classification.py +50 -0
- observal_cli-1.6.0/observal-server/services/clickhouse/insert.py +342 -0
- observal_cli-1.6.0/observal-server/services/clickhouse/schema.py +749 -0
- observal_cli-1.6.0/observal-server/services/component_version_extras.py +226 -0
- observal_cli-1.6.0/observal-server/services/config/skill_builder.py +111 -0
- observal_cli-1.6.0/observal-server/services/config_generator.py +239 -0
- observal_cli-1.6.0/observal-server/services/dynamic_settings.py +596 -0
- observal_cli-1.6.0/observal-server/services/hook_install_generator.py +207 -0
- observal_cli-1.6.0/observal-server/services/ide/__init__.py +217 -0
- observal_cli-1.6.0/observal-server/services/ide/antigravity.py +65 -0
- observal_cli-1.6.0/observal-server/services/ide/codex.py +67 -0
- observal_cli-1.6.0/observal-server/services/ide/copilot.py +92 -0
- observal_cli-1.6.0/observal-server/services/ide/copilot_cli.py +146 -0
- observal_cli-1.6.0/observal-server/services/ide/helpers.py +942 -0
- observal_cli-1.6.0/observal-server/services/ide/kiro.py +129 -0
- observal_cli-1.6.0/observal-server/services/ide/load_all.py +18 -0
- observal_cli-1.6.0/observal-server/services/ide/opencode.py +108 -0
- observal_cli-1.6.0/observal-server/services/insights/__init__.py +222 -0
- observal_cli-1.6.0/observal-server/services/insights/batch.py +485 -0
- observal_cli-1.6.0/observal-server/services/insights/generator.py +715 -0
- observal_cli-1.6.0/observal-server/services/insights/html_export.py +1775 -0
- observal_cli-1.6.0/observal-server/services/insights/sections.py +635 -0
- observal_cli-1.6.0/observal-server/services/insights/self_learn.py +1133 -0
- observal_cli-1.6.0/observal-server/services/insights/session_meta_extractor.py +799 -0
- observal_cli-1.6.0/observal-server/services/insights/version_impact.py +450 -0
- observal_cli-1.6.0/observal-server/services/jwt_service.py +96 -0
- observal_cli-1.6.0/observal-server/services/mcp_validator.py +856 -0
- observal_cli-1.6.0/observal-server/services/redis.py +177 -0
- observal_cli-1.6.0/observal-server/services/session_ingest.py +468 -0
- observal_cli-1.6.0/observal-server/services/session_parsers/__init__.py +68 -0
- observal_cli-1.6.0/observal-server/services/session_parsers/antigravity.py +157 -0
- observal_cli-1.6.0/observal-server/services/session_parsers/codex.py +273 -0
- observal_cli-1.6.0/observal-server/services/session_parsers/copilot_cli.py +258 -0
- observal_cli-1.6.0/observal-server/services/session_parsers/ingest_classify.py +959 -0
- observal_cli-1.6.0/observal-server/services/session_parsers/opencode.py +29 -0
- observal_cli-1.6.0/observal-server/services/skill_config_generator.py +174 -0
- observal_cli-1.6.0/observal-server/services/skill_validator.py +265 -0
- observal_cli-1.6.0/observal-server/uv.lock +3574 -0
- observal_cli-1.6.0/observal_cli/client.py +443 -0
- observal_cli-1.6.0/observal_cli/cmd_agent.py +1132 -0
- observal_cli-1.6.0/observal_cli/cmd_auth.py +1081 -0
- observal_cli-1.6.0/observal_cli/cmd_co_authors.py +77 -0
- observal_cli-1.6.0/observal_cli/cmd_doctor.py +1615 -0
- observal_cli-1.6.0/observal_cli/cmd_hook.py +459 -0
- observal_cli-1.6.0/observal_cli/cmd_insights.py +531 -0
- observal_cli-1.6.0/observal_cli/cmd_mcp.py +1651 -0
- observal_cli-1.6.0/observal_cli/cmd_migrate.py +2100 -0
- observal_cli-1.6.0/observal_cli/cmd_ops.py +1927 -0
- observal_cli-1.6.0/observal_cli/cmd_outdated.py +153 -0
- observal_cli-1.6.0/observal_cli/cmd_prompt.py +357 -0
- observal_cli-1.6.0/observal_cli/cmd_pull.py +818 -0
- observal_cli-1.6.0/observal_cli/cmd_reconcile_cli.py +147 -0
- observal_cli-1.6.0/observal_cli/cmd_sandbox.py +279 -0
- observal_cli-1.6.0/observal_cli/cmd_scan.py +399 -0
- observal_cli-1.6.0/observal_cli/cmd_skill.py +746 -0
- observal_cli-1.6.0/observal_cli/hooks/antigravity_session_push.py +218 -0
- observal_cli-1.6.0/observal_cli/hooks/codex_session_push.py +128 -0
- observal_cli-1.6.0/observal_cli/hooks/copilot_cli_session_push.py +254 -0
- observal_cli-1.6.0/observal_cli/hooks/copilot_vscode_session_push.py +167 -0
- observal_cli-1.6.0/observal_cli/ide/__init__.py +100 -0
- observal_cli-1.6.0/observal_cli/ide/antigravity.py +207 -0
- observal_cli-1.6.0/observal_cli/ide/codex.py +139 -0
- observal_cli-1.6.0/observal_cli/ide/copilot.py +149 -0
- observal_cli-1.6.0/observal_cli/ide/copilot_cli.py +243 -0
- observal_cli-1.6.0/observal_cli/ide/load_all.py +14 -0
- observal_cli-1.6.0/observal_cli/ide/opencode.py +311 -0
- observal_cli-1.6.0/observal_cli/ide_registry.py +425 -0
- observal_cli-1.6.0/observal_cli/ide_specs/antigravity_hooks_spec.py +101 -0
- observal_cli-1.6.0/observal_cli/ide_specs/codex_hooks_spec.py +49 -0
- observal_cli-1.6.0/observal_cli/ide_specs/copilot_cli_hooks_spec.py +65 -0
- observal_cli-1.6.0/observal_cli/ide_specs/copilot_hooks_spec.py +74 -0
- observal_cli-1.6.0/observal_cli/ide_specs/opencode_hooks_spec.py +62 -0
- observal_cli-1.6.0/observal_cli/layer.py +808 -0
- observal_cli-1.6.0/observal_cli/lockfile.py +440 -0
- observal_cli-1.6.0/observal_cli/main.py +294 -0
- observal_cli-1.6.0/observal_cli/render.py +200 -0
- observal_cli-1.6.0/observal_cli/sessions/antigravity.py +67 -0
- observal_cli-1.6.0/observal_cli/sessions/base.py +523 -0
- observal_cli-1.6.0/observal_cli/sessions/copilot_cli.py +161 -0
- observal_cli-1.6.0/observal_cli/shared/utils.py +299 -0
- observal_cli-1.6.0/observal_cli/skill_installer.py +96 -0
- observal_cli-1.6.0/observal_cli/skills/observal/SKILL.md +177 -0
- observal_cli-1.6.0/observal_cli/skills/observal/references/commands.md +187 -0
- observal_cli-1.6.0/observal_cli/skills/observal-agents/SKILL.md +171 -0
- observal_cli-1.6.0/observal_cli/skills/observal-ops/SKILL.md +68 -0
- observal_cli-1.6.0/observal_cli/skills/observal-registry/SKILL.md +208 -0
- observal_cli-1.6.0/observal_cli/tests/test_cmd_auth.py +350 -0
- observal_cli-1.6.0/observal_cli/tests/test_cmd_scan.py +137 -0
- observal_cli-1.6.0/packages/pi-extension/package.json +31 -0
- observal_cli-1.6.0/pnpm-lock.yaml +5844 -0
- observal_cli-1.6.0/pyproject.toml +156 -0
- observal_cli-1.6.0/scripts/check_terraform_consistency.py +330 -0
- observal_cli-1.6.0/tests/test_agent_builder_skills.py +128 -0
- observal_cli-1.6.0/tests/test_agent_composition.py +1412 -0
- observal_cli-1.6.0/tests/test_agent_config_generator.py +947 -0
- observal_cli-1.6.0/tests/test_agent_scoped_insights_routes.py +70 -0
- observal_cli-1.6.0/tests/test_antigravity_adapter.py +201 -0
- observal_cli-1.6.0/tests/test_antigravity_session_parser.py +438 -0
- observal_cli-1.6.0/tests/test_antigravity_sessions.py +290 -0
- observal_cli-1.6.0/tests/test_audit2_pr1_ingest_bounds.py +460 -0
- observal_cli-1.6.0/tests/test_audit_logging.py +330 -0
- observal_cli-1.6.0/tests/test_cli_ide_adapters.py +348 -0
- observal_cli-1.6.0/tests/test_cmd_insights.py +156 -0
- observal_cli-1.6.0/tests/test_cmd_prompt.py +263 -0
- observal_cli-1.6.0/tests/test_cmd_support.py +343 -0
- observal_cli-1.6.0/tests/test_component_version_extras.py +234 -0
- observal_cli-1.6.0/tests/test_config_generator_utils.py +38 -0
- observal_cli-1.6.0/tests/test_constants_sync.py +101 -0
- observal_cli-1.6.0/tests/test_copilot_integration.py +1166 -0
- observal_cli-1.6.0/tests/test_device_auth.py +725 -0
- observal_cli-1.6.0/tests/test_enterprise_audit.py +414 -0
- observal_cli-1.6.0/tests/test_field_validation.py +311 -0
- observal_cli-1.6.0/tests/test_ide_config_e2e.py +1412 -0
- observal_cli-1.6.0/tests/test_ide_refactor_baseline.py +350 -0
- observal_cli-1.6.0/tests/test_insights_agent_lookup.py +53 -0
- observal_cli-1.6.0/tests/test_integration.py +508 -0
- observal_cli-1.6.0/tests/test_migrate_telemetry.py +1299 -0
- observal_cli-1.6.0/tests/test_model_registry.py +562 -0
- observal_cli-1.6.0/tests/test_phase9_10.py +157 -0
- observal_cli-1.6.0/tests/test_preview_config.py +198 -0
- observal_cli-1.6.0/tests/test_pull_and_agent_cli.py +907 -0
- observal_cli-1.6.0/tests/test_registry_types.py +741 -0
- observal_cli-1.6.0/tests/test_self_learn_skill_md.py +56 -0
- observal_cli-1.6.0/tests/test_skill_config_generator.py +243 -0
- observal_cli-1.6.0/tests/test_skill_validator.py +271 -0
- observal_cli-1.6.0/tests/test_telemetry_collection.py +243 -0
- observal_cli-1.6.0/tests/test_version_check.py +528 -0
- observal_cli-1.6.0/uv.lock +1164 -0
- observal_cli-1.6.0/web/AGENTS.md +136 -0
- observal_cli-1.6.0/web/index.html +37 -0
- observal_cli-1.6.0/web/package.json +80 -0
- observal_cli-1.6.0/web/src/components/nav/registry-sidebar.tsx +335 -0
- observal_cli-1.6.0/web/src/components/registry/component-install-command.tsx +85 -0
- observal_cli-1.6.0/web/src/components/registry/pull-command.tsx +100 -0
- observal_cli-1.6.0/web/src/components/registry/review-form.tsx +294 -0
- observal_cli-1.6.0/web/src/components/registry/submit-component-dialog.tsx +1328 -0
- observal_cli-1.6.0/web/src/components/shared/empty-state.tsx +54 -0
- observal_cli-1.6.0/web/src/components/shared/error-state.tsx +49 -0
- observal_cli-1.6.0/web/src/components/ui/alert-dialog.tsx +130 -0
- observal_cli-1.6.0/web/src/components/wiki/help-context.tsx +77 -0
- observal_cli-1.6.0/web/src/components/wiki/help-panel.tsx +117 -0
- observal_cli-1.6.0/web/src/components/wiki/wiki-renderer.tsx +246 -0
- observal_cli-1.6.0/web/src/hooks/use-help-mode.ts +44 -0
- observal_cli-1.6.0/web/src/hooks/use-ides.ts +25 -0
- observal_cli-1.6.0/web/src/hooks/use-insights-api.ts +203 -0
- observal_cli-1.6.0/web/src/lib/api.ts +887 -0
- observal_cli-1.6.0/web/src/lib/docs-loader.ts +110 -0
- observal_cli-1.6.0/web/src/lib/docs-map.ts +133 -0
- observal_cli-1.6.0/web/src/lib/graphql-ws.ts +104 -0
- observal_cli-1.6.0/web/src/lib/ide-features.ts +100 -0
- observal_cli-1.6.0/web/src/lib/mcp-parser.ts +248 -0
- observal_cli-1.6.0/web/src/lib/model-display.ts +105 -0
- observal_cli-1.6.0/web/src/lib/types/admin.ts +538 -0
- observal_cli-1.6.0/web/src/lib/types/registry.ts +328 -0
- observal_cli-1.6.0/web/src/pages/admin/audit-log.tsx +376 -0
- observal_cli-1.6.0/web/src/pages/admin/insights/detail.tsx +1801 -0
- observal_cli-1.6.0/web/src/pages/admin/settings/insights-constants.ts +215 -0
- observal_cli-1.6.0/web/src/pages/admin/settings/insights-section.tsx +614 -0
- observal_cli-1.6.0/web/src/pages/admin/settings/model-combobox.tsx +224 -0
- observal_cli-1.6.0/web/src/pages/admin/settings.tsx +1990 -0
- observal_cli-1.6.0/web/src/pages/admin/sso.tsx +229 -0
- observal_cli-1.6.0/web/src/pages/admin/users.tsx +519 -0
- observal_cli-1.6.0/web/src/pages/registry/agents/builder.tsx +1156 -0
- observal_cli-1.6.0/web/src/pages/registry/agents/detail.tsx +819 -0
- observal_cli-1.6.0/web/src/pages/registry/components/detail.tsx +530 -0
- observal_cli-1.6.0/web/src/pages/user/traces/index.tsx +731 -0
- observal_cli-1.6.0/web/src/pages/wiki/index.tsx +127 -0
- observal_cli-1.6.0/web/src/routeTree.gen.ts +636 -0
- observal_cli-1.6.0/web/src/routes/_authed/agents/$agentId/insights/$reportId.tsx +11 -0
- observal_cli-1.6.0/web/src/routes/_authed/agents/$agentId.tsx +24 -0
- observal_cli-1.6.0/web/src/routes/_authed/insights/$reportId.tsx +35 -0
- observal_cli-1.6.0/web/src/routes/_authed/wiki/index.tsx +11 -0
- observal_cli-1.6.0/web/src/routes/_authed.tsx +34 -0
- observal_cli-1.4.4/.dockerignore +0 -66
- observal_cli-1.4.4/.github/pull_request_template.md +0 -39
- observal_cli-1.4.4/.github/workflows/ci.yml +0 -296
- observal_cli-1.4.4/.github/workflows/terraform.yml +0 -98
- observal_cli-1.4.4/.gitignore +0 -73
- observal_cli-1.4.4/AGENTS.md +0 -235
- observal_cli-1.4.4/CHANGELOG.md +0 -1851
- observal_cli-1.4.4/PKG-INFO +0 -305
- observal_cli-1.4.4/README.md +0 -271
- observal_cli-1.4.4/docker/Dockerfile.web +0 -28
- observal_cli-1.4.4/docker/docker-compose.yml +0 -311
- observal_cli-1.4.4/docs/DEVELOPMENT_GUIDE.md +0 -643
- observal_cli-1.4.4/docs/SUMMARY.md +0 -69
- observal_cli-1.4.4/docs/adding-an-ide.md +0 -549
- observal_cli-1.4.4/docs/cli/README.md +0 -97
- observal_cli-1.4.4/docs/cli/agent.md +0 -275
- observal_cli-1.4.4/docs/cli/auth.md +0 -155
- observal_cli-1.4.4/docs/cli/migrate.md +0 -515
- observal_cli-1.4.4/docs/cli/ops.md +0 -157
- observal_cli-1.4.4/docs/cli/profile.md +0 -113
- observal_cli-1.4.4/docs/getting-started/core-concepts.md +0 -122
- observal_cli-1.4.4/docs/getting-started/installation.md +0 -130
- observal_cli-1.4.4/docs/getting-started/quickstart.md +0 -201
- observal_cli-1.4.4/docs/licensing.md +0 -70
- observal_cli-1.4.4/docs/reference/config-files.md +0 -122
- observal_cli-1.4.4/docs/reference/environment-variables.md +0 -136
- observal_cli-1.4.4/docs/self-hosting/README.md +0 -73
- observal_cli-1.4.4/docs/self-hosting/authentication.md +0 -149
- observal_cli-1.4.4/docs/self-hosting/aws-terraform.md +0 -362
- observal_cli-1.4.4/docs/self-hosting/configuration.md +0 -143
- observal_cli-1.4.4/docs/self-hosting/databases.md +0 -123
- observal_cli-1.4.4/docs/self-hosting/okta-setup.md +0 -484
- observal_cli-1.4.4/docs/self-hosting/releasing.md +0 -143
- observal_cli-1.4.4/docs/self-hosting/telemetry-pipeline.md +0 -104
- observal_cli-1.4.4/docs/use-cases/README.md +0 -24
- observal_cli-1.4.4/docs/use-cases/debug-agent-failures.md +0 -93
- observal_cli-1.4.4/docs/use-cases/observe-mcp-traffic.md +0 -95
- observal_cli-1.4.4/docs/use-cases/share-agent-configs.md +0 -111
- observal_cli-1.4.4/docs/use-cases/team-registry.md +0 -130
- observal_cli-1.4.4/ee/AGENTS.md +0 -92
- observal_cli-1.4.4/ee/observal_server/routes/audit.py +0 -237
- observal_cli-1.4.4/ee/observal_server/routes/sso_saml.py +0 -504
- observal_cli-1.4.4/ee/observal_server/services/audit.py +0 -274
- observal_cli-1.4.4/infra/terraform/aws/alb.tf +0 -311
- observal_cli-1.4.4/infra/terraform/aws/clickhouse.tf +0 -127
- observal_cli-1.4.4/infra/terraform/aws/deploy.sh +0 -447
- observal_cli-1.4.4/infra/terraform/aws/ecs.tf +0 -469
- observal_cli-1.4.4/infra/terraform/aws/locals.tf +0 -41
- observal_cli-1.4.4/infra/terraform/aws/outputs.tf +0 -90
- observal_cli-1.4.4/infra/terraform/aws/postgresql.tf +0 -80
- observal_cli-1.4.4/infra/terraform/aws/redis.tf +0 -38
- observal_cli-1.4.4/infra/terraform/aws/security.tf +0 -165
- observal_cli-1.4.4/infra/terraform/aws/variables.tf +0 -393
- observal_cli-1.4.4/infra/terraform/aws/vpc.tf +0 -154
- observal_cli-1.4.4/infra/terraform/aws-ec2/deploy.sh +0 -228
- observal_cli-1.4.4/infra/terraform/aws-ec2/outputs.tf +0 -42
- observal_cli-1.4.4/infra/terraform/aws-ec2/terraform.tfvars.example +0 -24
- observal_cli-1.4.4/infra/terraform/aws-ec2/variables.tf +0 -55
- observal_cli-1.4.4/infra/terraform/gcp/examples/minimal/main.tf +0 -17
- observal_cli-1.4.4/observal-server/api/middleware/audit.py +0 -86
- observal_cli-1.4.4/observal-server/api/routes/admin/enterprise_settings.py +0 -323
- observal_cli-1.4.4/observal-server/api/routes/agent/__init__.py +0 -10
- observal_cli-1.4.4/observal-server/api/routes/agent/crud.py +0 -765
- observal_cli-1.4.4/observal-server/api/routes/agent/draft.py +0 -364
- observal_cli-1.4.4/observal-server/api/routes/agent/install.py +0 -345
- observal_cli-1.4.4/observal-server/api/routes/auth.py +0 -808
- observal_cli-1.4.4/observal-server/api/routes/component_versions.py +0 -353
- observal_cli-1.4.4/observal-server/api/routes/config.py +0 -159
- observal_cli-1.4.4/observal-server/api/routes/device_auth.py +0 -243
- observal_cli-1.4.4/observal-server/api/routes/feedback.py +0 -158
- observal_cli-1.4.4/observal-server/api/routes/hook.py +0 -410
- observal_cli-1.4.4/observal-server/api/routes/insights.py +0 -471
- observal_cli-1.4.4/observal-server/api/routes/jwks.py +0 -34
- observal_cli-1.4.4/observal-server/api/routes/mcp.py +0 -512
- observal_cli-1.4.4/observal-server/api/routes/prompt.py +0 -429
- observal_cli-1.4.4/observal-server/api/routes/review.py +0 -931
- observal_cli-1.4.4/observal-server/api/routes/sandbox.py +0 -389
- observal_cli-1.4.4/observal-server/api/routes/sessions.py +0 -434
- observal_cli-1.4.4/observal-server/api/routes/skill.py +0 -463
- observal_cli-1.4.4/observal-server/api/routes/support.py +0 -518
- observal_cli-1.4.4/observal-server/main.py +0 -507
- observal_cli-1.4.4/observal-server/models/feedback.py +0 -29
- observal_cli-1.4.4/observal-server/models/insight_report.py +0 -64
- observal_cli-1.4.4/observal-server/models/password_reset_token.py +0 -22
- observal_cli-1.4.4/observal-server/pyproject.toml +0 -75
- observal_cli-1.4.4/observal-server/schemas/agent.py +0 -244
- observal_cli-1.4.4/observal-server/schemas/feedback.py +0 -32
- observal_cli-1.4.4/observal-server/schemas/hook.py +0 -160
- observal_cli-1.4.4/observal-server/schemas/ide_registry.py +0 -405
- observal_cli-1.4.4/observal-server/schemas/insights.py +0 -58
- observal_cli-1.4.4/observal-server/schemas/mcp.py +0 -229
- observal_cli-1.4.4/observal-server/schemas/prompt.py +0 -102
- observal_cli-1.4.4/observal-server/schemas/sandbox.py +0 -124
- observal_cli-1.4.4/observal-server/schemas/skill.py +0 -128
- observal_cli-1.4.4/observal-server/services/agent_builder.py +0 -685
- observal_cli-1.4.4/observal-server/services/agent_registry_cache.py +0 -189
- observal_cli-1.4.4/observal-server/services/agent_resolver.py +0 -281
- observal_cli-1.4.4/observal-server/services/audit/__init__.py +0 -31
- observal_cli-1.4.4/observal-server/services/audit/classification.py +0 -50
- observal_cli-1.4.4/observal-server/services/clickhouse/insert.py +0 -323
- observal_cli-1.4.4/observal-server/services/clickhouse/schema.py +0 -726
- observal_cli-1.4.4/observal-server/services/component_version_extras.py +0 -207
- observal_cli-1.4.4/observal-server/services/config/skill_builder.py +0 -98
- observal_cli-1.4.4/observal-server/services/config_generator.py +0 -265
- observal_cli-1.4.4/observal-server/services/dynamic_settings.py +0 -586
- observal_cli-1.4.4/observal-server/services/hook_install_generator.py +0 -213
- observal_cli-1.4.4/observal-server/services/ide/__init__.py +0 -218
- observal_cli-1.4.4/observal-server/services/ide/codex.py +0 -48
- observal_cli-1.4.4/observal-server/services/ide/copilot.py +0 -76
- observal_cli-1.4.4/observal-server/services/ide/copilot_cli.py +0 -80
- observal_cli-1.4.4/observal-server/services/ide/gemini_cli.py +0 -58
- observal_cli-1.4.4/observal-server/services/ide/helpers.py +0 -675
- observal_cli-1.4.4/observal-server/services/ide/kiro.py +0 -119
- observal_cli-1.4.4/observal-server/services/ide/load_all.py +0 -18
- observal_cli-1.4.4/observal-server/services/ide/opencode.py +0 -67
- observal_cli-1.4.4/observal-server/services/insights/__init__.py +0 -218
- observal_cli-1.4.4/observal-server/services/insights/batch.py +0 -398
- observal_cli-1.4.4/observal-server/services/insights/generator.py +0 -534
- observal_cli-1.4.4/observal-server/services/insights/html_export.py +0 -1725
- observal_cli-1.4.4/observal-server/services/insights/sections.py +0 -549
- observal_cli-1.4.4/observal-server/services/insights/self_learn.py +0 -966
- observal_cli-1.4.4/observal-server/services/insights/session_meta_extractor.py +0 -732
- observal_cli-1.4.4/observal-server/services/jwt_service.py +0 -96
- observal_cli-1.4.4/observal-server/services/mcp_validator.py +0 -846
- observal_cli-1.4.4/observal-server/services/redis.py +0 -167
- observal_cli-1.4.4/observal-server/services/sandbox_config_generator.py +0 -27
- observal_cli-1.4.4/observal-server/services/sandbox_validator.py +0 -123
- observal_cli-1.4.4/observal-server/services/session_ingest.py +0 -389
- observal_cli-1.4.4/observal-server/services/session_parsers/__init__.py +0 -58
- observal_cli-1.4.4/observal-server/services/session_parsers/ingest_classify.py +0 -649
- observal_cli-1.4.4/observal-server/services/skill_config_generator.py +0 -140
- observal_cli-1.4.4/observal-server/services/skill_validator.py +0 -197
- observal_cli-1.4.4/observal-server/uv.lock +0 -3346
- observal_cli-1.4.4/observal_cli/client.py +0 -438
- observal_cli-1.4.4/observal_cli/cmd_agent.py +0 -1130
- observal_cli-1.4.4/observal_cli/cmd_auth.py +0 -1067
- observal_cli-1.4.4/observal_cli/cmd_co_authors.py +0 -94
- observal_cli-1.4.4/observal_cli/cmd_doctor.py +0 -835
- observal_cli-1.4.4/observal_cli/cmd_hook.py +0 -456
- observal_cli-1.4.4/observal_cli/cmd_mcp.py +0 -1540
- observal_cli-1.4.4/observal_cli/cmd_migrate.py +0 -2071
- observal_cli-1.4.4/observal_cli/cmd_ops.py +0 -1793
- observal_cli-1.4.4/observal_cli/cmd_prompt.py +0 -380
- observal_cli-1.4.4/observal_cli/cmd_pull.py +0 -702
- observal_cli-1.4.4/observal_cli/cmd_sandbox.py +0 -315
- observal_cli-1.4.4/observal_cli/cmd_scan.py +0 -410
- observal_cli-1.4.4/observal_cli/cmd_skill.py +0 -724
- observal_cli-1.4.4/observal_cli/ide/__init__.py +0 -101
- observal_cli-1.4.4/observal_cli/ide/codex.py +0 -103
- observal_cli-1.4.4/observal_cli/ide/copilot.py +0 -82
- observal_cli-1.4.4/observal_cli/ide/copilot_cli.py +0 -111
- observal_cli-1.4.4/observal_cli/ide/gemini_cli.py +0 -112
- observal_cli-1.4.4/observal_cli/ide/load_all.py +0 -14
- observal_cli-1.4.4/observal_cli/ide/opencode.py +0 -75
- observal_cli-1.4.4/observal_cli/ide_registry.py +0 -415
- observal_cli-1.4.4/observal_cli/ide_specs/pi_hooks_spec.py +0 -23
- observal_cli-1.4.4/observal_cli/main.py +0 -255
- observal_cli-1.4.4/observal_cli/render.py +0 -202
- observal_cli-1.4.4/observal_cli/sessions/base.py +0 -397
- observal_cli-1.4.4/observal_cli/shared/utils.py +0 -228
- observal_cli-1.4.4/observal_cli/skill_installer.py +0 -103
- observal_cli-1.4.4/observal_cli/skills/observal/SKILL.md +0 -160
- observal_cli-1.4.4/observal_cli/skills/observal/references/commands.md +0 -160
- observal_cli-1.4.4/observal_cli/skills/observal-agents/SKILL.md +0 -173
- observal_cli-1.4.4/observal_cli/skills/observal-ops/SKILL.md +0 -67
- observal_cli-1.4.4/observal_cli/skills/observal-registry/SKILL.md +0 -204
- observal_cli-1.4.4/observal_cli/tests/test_cmd_auth.py +0 -351
- observal_cli-1.4.4/observal_cli/tests/test_cmd_scan.py +0 -160
- observal_cli-1.4.4/packages/pi-extension/package.json +0 -31
- observal_cli-1.4.4/pnpm-lock.yaml +0 -5331
- observal_cli-1.4.4/pyproject.toml +0 -156
- observal_cli-1.4.4/tests/test_agent_builder_skills.py +0 -141
- observal_cli-1.4.4/tests/test_agent_composition.py +0 -1426
- observal_cli-1.4.4/tests/test_agent_config_generator.py +0 -977
- observal_cli-1.4.4/tests/test_audit2_pr1_ingest_bounds.py +0 -430
- observal_cli-1.4.4/tests/test_audit_logging.py +0 -330
- observal_cli-1.4.4/tests/test_cli_ide_adapters.py +0 -344
- observal_cli-1.4.4/tests/test_cmd_prompt.py +0 -274
- observal_cli-1.4.4/tests/test_cmd_support.py +0 -343
- observal_cli-1.4.4/tests/test_component_version_extras.py +0 -188
- observal_cli-1.4.4/tests/test_config_generator_utils.py +0 -40
- observal_cli-1.4.4/tests/test_constants_sync.py +0 -102
- observal_cli-1.4.4/tests/test_device_auth.py +0 -531
- observal_cli-1.4.4/tests/test_field_validation.py +0 -248
- observal_cli-1.4.4/tests/test_hipaa_audit.py +0 -414
- observal_cli-1.4.4/tests/test_ide_config_e2e.py +0 -1586
- observal_cli-1.4.4/tests/test_ide_refactor_baseline.py +0 -351
- observal_cli-1.4.4/tests/test_integration.py +0 -508
- observal_cli-1.4.4/tests/test_migrate_telemetry.py +0 -1297
- observal_cli-1.4.4/tests/test_model_registry.py +0 -579
- observal_cli-1.4.4/tests/test_phase9_10.py +0 -152
- observal_cli-1.4.4/tests/test_preview_config.py +0 -199
- observal_cli-1.4.4/tests/test_pull_and_agent_cli.py +0 -938
- observal_cli-1.4.4/tests/test_registry_types.py +0 -670
- observal_cli-1.4.4/tests/test_skill_config_generator.py +0 -167
- observal_cli-1.4.4/tests/test_skill_validator.py +0 -200
- observal_cli-1.4.4/tests/test_telemetry_collection.py +0 -288
- observal_cli-1.4.4/tests/test_version_check.py +0 -528
- observal_cli-1.4.4/uv.lock +0 -1164
- observal_cli-1.4.4/web/AGENTS.md +0 -136
- observal_cli-1.4.4/web/index.html +0 -36
- observal_cli-1.4.4/web/package.json +0 -86
- observal_cli-1.4.4/web/src/components/dashboard/dimension-radar.tsx +0 -72
- observal_cli-1.4.4/web/src/components/dashboard/latency-heatmap.tsx +0 -96
- observal_cli-1.4.4/web/src/components/dashboard/retention-widget.tsx +0 -64
- observal_cli-1.4.4/web/src/components/dashboard/time-range-select.tsx +0 -40
- observal_cli-1.4.4/web/src/components/dashboard/top-items-card.tsx +0 -49
- observal_cli-1.4.4/web/src/components/dashboard/trend-chart.tsx +0 -83
- observal_cli-1.4.4/web/src/components/nav/registry-sidebar.tsx +0 -333
- observal_cli-1.4.4/web/src/components/registry/feedback-list.tsx +0 -21
- observal_cli-1.4.4/web/src/components/registry/pull-command.tsx +0 -74
- observal_cli-1.4.4/web/src/components/registry/registry-detail.tsx +0 -127
- observal_cli-1.4.4/web/src/components/registry/registry-table.tsx +0 -149
- observal_cli-1.4.4/web/src/components/registry/review-form.tsx +0 -103
- observal_cli-1.4.4/web/src/components/registry/submit-component-dialog.tsx +0 -1340
- observal_cli-1.4.4/web/src/components/shared/empty-state.tsx +0 -49
- observal_cli-1.4.4/web/src/components/shared/error-state.tsx +0 -27
- observal_cli-1.4.4/web/src/components/traces/trace-list.tsx +0 -224
- observal_cli-1.4.4/web/src/components/ui/progress.tsx +0 -27
- observal_cli-1.4.4/web/src/hooks/use-ides.ts +0 -19
- observal_cli-1.4.4/web/src/hooks/use-insights-api.ts +0 -155
- observal_cli-1.4.4/web/src/lib/api.ts +0 -853
- observal_cli-1.4.4/web/src/lib/features.ts +0 -57
- observal_cli-1.4.4/web/src/lib/graphql-ws.ts +0 -88
- observal_cli-1.4.4/web/src/lib/ide-features.ts +0 -100
- observal_cli-1.4.4/web/src/lib/mcp-parser.ts +0 -248
- observal_cli-1.4.4/web/src/lib/model-display.ts +0 -105
- observal_cli-1.4.4/web/src/lib/types/admin.ts +0 -518
- observal_cli-1.4.4/web/src/lib/types/registry.ts +0 -325
- observal_cli-1.4.4/web/src/pages/admin/audit-log.tsx +0 -376
- observal_cli-1.4.4/web/src/pages/admin/insights/detail.tsx +0 -1769
- observal_cli-1.4.4/web/src/pages/admin/settings.tsx +0 -1733
- observal_cli-1.4.4/web/src/pages/admin/sso.tsx +0 -407
- observal_cli-1.4.4/web/src/pages/admin/users.tsx +0 -516
- observal_cli-1.4.4/web/src/pages/registry/agents/builder.tsx +0 -1142
- observal_cli-1.4.4/web/src/pages/registry/agents/detail.tsx +0 -875
- observal_cli-1.4.4/web/src/pages/registry/components/detail.tsx +0 -587
- observal_cli-1.4.4/web/src/pages/user/traces/index.tsx +0 -616
- observal_cli-1.4.4/web/src/routeTree.gen.ts +0 -583
- observal_cli-1.4.4/web/src/routes/_authed/agents/$agentId.tsx +0 -10
- observal_cli-1.4.4/web/src/routes/_authed/insights/$reportId.tsx +0 -10
- observal_cli-1.4.4/web/src/routes/_authed.tsx +0 -31
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.clabot +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.editorconfig +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.env.example +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.gitattributes +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.gitbook.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/ISSUE_TEMPLATE/bug_report_form.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/vex/observal.vex.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/badge-ghcr-pulls.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/codeql.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/dependency-review.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/deploy.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/e2e-frontend.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/gitleaks.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/pr-labels.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/release.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/sbom.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/stale.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/take-command.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.github/workflows/update-homebrew-tap.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.gitleaks.toml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.pre-commit-config.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/.reuse/license-policy.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/AI_POLICY.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/CLA.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/CODE_OF_CONDUCT.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/CONTRIBUTING.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/LICENSE +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/LICENSES/AGPL-3.0-only.txt +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/LICENSES/LicenseRef-Observal-Enterprise.txt +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/LICENSES/OFL-1.1.txt +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/Makefile +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/REUSE.toml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/SECURITY.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/SETUP.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/cliff.toml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/codecov.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/Dockerfile.api +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/clickhouse/config.d/memory.xml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/clickhouse/users.d/memory.xml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/docker-compose.dev.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/docker-compose.enterprise.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/docker-compose.production.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/entrypoint.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/nginx-spa.conf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/nginx.conf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/nginx.dev.conf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/nginx.production.conf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/server-package/docker-compose.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/server-package/env.template +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docker/server-package/setup.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/admin.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/component.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/config.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/doctor.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/models.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/prompt.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/pull.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/registry.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/scan.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/self.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/server.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/skill.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/support.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/cli/uninstall.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/e2e-test-checklist-enterprise.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/e2e-test-checklist.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/hooks.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/audit_logging.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/builder.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/complete_capture_thinking_response.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/component_registry.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/insights.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/leaderboard.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/registry.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/review-diff.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/review.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/ses1.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/span.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/img/traces.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/insights-setup.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/logo-light.svg +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/logo.svg +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/reference/api-endpoints.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/reference/hooks-spec.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/sandboxes.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-hosting/backup-and-restore.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-hosting/docker-compose.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-hosting/ports-and-volumes.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-hosting/requirements.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-hosting/troubleshooting.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-hosting/upgrades.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/docs/self-observability.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/LICENSE +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/docs/cli-sso.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/docs/cli.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/docs/oidc-setup.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/docs/saml-setup.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/docs/scim-setup.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/license.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/middleware/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/middleware/enterprise_guard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/routes/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/routes/admin_sso.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/routes/exec_dashboard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/routes/scim.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/services/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/services/config_validator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/services/saml.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/observal_server/services/scim_service.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/plugins/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/ee/scripts/generate_license.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/agent-activity.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/audit-log.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/cost-tracking.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/error-rates.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/performance-resources.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/self-observability.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/session-overview.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/token-usage.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/dashboards/tool-call-frequency.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/provisioning/dashboards/default.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/provisioning/datasources/clickhouse.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/grafana/provisioning/datasources/prometheus.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/.gitignore +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/.tflint.hcl +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/bootstrap/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/bootstrap/main.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/bootstrap/outputs.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/bootstrap/variables.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/bootstrap/versions.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/dns.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/examples/minimal/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/examples/minimal/main.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/examples/minimal/outputs.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/examples/minimal/terraform.tfvars.example +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/examples/minimal/variables.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/iam.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/logs.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/s3.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/secrets.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/terraform.tfvars.example +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/user-data.sh.tftpl +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws/versions.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws-ec2/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/aws-ec2/main.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/cloud-run.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/cloud-sql.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/data-host.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/dns.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/examples/minimal/outputs.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/examples/minimal/terraform.tfvars.example +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/examples/minimal/variables.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/locals.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/memorystore.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/network.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/outputs.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/registry.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/secrets.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/services.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/storage.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/terraform.tfvars.example +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/user-data.sh.tftpl +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/variables.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/infra/terraform/gcp/versions.tf +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/install-server.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/install.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/README +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/env.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/script.py.mako +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/versions/.gitkeep +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/versions/002_drop_visibility.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/versions/003_skill_registry_direct.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/versions/004_co_authors.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/versions/005_insight_self_learn.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic/versions/v1_baseline.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/alembic.ini +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/deps.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/graphql.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/middleware/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/middleware/content_type.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/middleware/request_id.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/middleware/trusted_proxy.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/ratelimit.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/admin/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/admin/_router.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/admin/helpers.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/admin/org.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/admin/retention.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/admin/users.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/agent/_router.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/agent/helpers.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/agent_versions.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/alert.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/audit.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/bulk.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/co_authors.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/component_source.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/dashboard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/ingest.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/logs_stream.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/preview.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/reconcile.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/registry_models.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/routes/telemetry.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/api/sanitize.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/data/model_registry_seed.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/database.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/jobs/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/jobs/catalog.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/jobs/maintenance.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/logging_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/agent.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/agent_component.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/alert.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/alert_history.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/base.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/component_bundle.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/component_source.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/download.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/enterprise_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/exec_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/exporter_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/hook.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/insight_meta_cache.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/insight_session_facets.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/insight_session_meta.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/mcp.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/organization.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/prompt.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/saml_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/sandbox.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/scim_token.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/skill.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/submission.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/user.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/models/user_group.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/pyrightconfig.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/admin.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/alert.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/auth.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/bulk.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/component_source.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/component_version.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/constants.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/dashboard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/models.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/retention.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/schemas/telemetry.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/agent_builder_types.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/agent_lock_file.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/agent_snapshot.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/alert_evaluator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/anti_gaming.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/audit/helpers.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/audit/setup.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/audit/sink.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/cache.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/clickhouse/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/clickhouse/_settings.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/clickhouse/client.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/clickhouse/query.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/config/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/config/mcp_builder.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/crypto.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/demo_accounts.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/download_tracker.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/editing_lock.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/events.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/git_mirror_service.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/hook_config_generator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/ide/claude_code.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/ide/cursor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/ide/pi.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/ide_feature_inference.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/insights/_deps.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/insights/facets.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/insights/transcript.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/log_buffer.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/model_catalog.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/model_display.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/model_resolver.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/optic.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/registry_telemetry.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/request_context.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/retention.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/secrets_redactor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/security_events.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/session_parsers/base.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/session_parsers/claude_code.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/session_parsers/cursor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/session_parsers/kiro.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/session_parsers/pi.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/shared/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/shared/ip_utils.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/shared/utils.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/ssrf_guard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/strategic_insights.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/username_generator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/versioning.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/webhook_delivery.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/services/webhook_signer.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/conftest.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_agent_config_gen_versioned.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_agent_pull.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_agent_versions_api.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_anti_gaming.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_component_version_extras.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_component_versions_api.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_crypto.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_exec_dashboard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_exec_formulas.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_ide_feature_inference.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_jwt.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_multi_tenancy.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_payload_protection.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_rbac.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/tests/test_security_events.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/version.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal-server/worker.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/__main__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/analyzer.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/audit.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/branding.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_component.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_logs.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_models.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_reconcile.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_server.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_support.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_tail_flush.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/cmd_uninstall.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/constants.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/features.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/hooks/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/hooks/_cursor_post_worker.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/hooks/cursor_session_push.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/hooks/kiro_session_push.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/hooks/session_push.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide/base.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide/claude_code.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide/cursor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide/kiro.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide/pi.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide/protocol.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide_specs/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide_specs/claude_code_hooks_spec.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/ide_specs/kiro_hooks_spec.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/install_detector.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/model_catalog.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/optic.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/prompts.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/proxy.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/pyinstaller.spec +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/requirements.txt +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sandbox_mcp.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sandbox_runner.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/backup.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/config_gen.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/constants.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/deps.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/orchestrator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/server/updater.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sessions/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sessions/agent_marker.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sessions/claude_code.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sessions/cursor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/sessions/kiro.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/settings_reconciler.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/shared/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/shim.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/skills/observal-admin/SKILL.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/skills/observal-advanced/SKILL.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/support/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/support/collectors.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/support/manifest.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/support/redaction.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/telemetry/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/telemetry_buffer.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/tests/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/tests/test_cmd_agent_versions.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/tests/test_cmd_component_versions.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/upgrade_executor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/upgrade_lock.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/observal_cli/version_check.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/package.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/packages/pi-extension/LICENSE +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/packages/pi-extension/README.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/packages/pi-extension/extensions/observal.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/pnpm-workspace.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/prometheus.yml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/renovate.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/screenshots/01-review-queue.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/screenshots/02-detail-sheet-mcp.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/screenshots/03-after-bulk-approve.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/screenshots/04-rejection-reason-skills.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/add_spdx_headers.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/check_license_policy.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/check_migrations.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/check_secrets.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/check_vulnerabilities.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/generate_third_party_notices.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/generate_vex.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/license-format.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/new_migration.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/refresh_model_snapshot.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/seed_exec_dashboard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/seed_insight_report.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/seed_test_skill.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/sync_features.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/sync_observal_skill.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/test_version_e2e.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/test_xff_spoofing.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/update_spdx_copyright.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/scripts/verify_exec_dashboard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/test-agent.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/__init__.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/conftest.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/agent-edit-form.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/auth.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/component-edit-screenshots.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/components.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/frontend-flows.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/helpers.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-agent-compat.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-cli.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-hooks.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-lifecycle.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-live.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-otlp-logs.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-otlp-traces.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-web-agents.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/kiro-web-traces.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/package.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/real-edit-release.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/review-diff-screenshots.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/shim-merge.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/sso-login.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/unarchive-agent.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/e2e/visibility-removal-smoke.spec.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/fixtures/model_display_cases.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/fixtures/skills/refactor-guide/SKILL.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/fixtures/skills/security-auditor/SKILL.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/fixtures/skills/test-writer/SKILL.md +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/mock_mcp.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_agent_name_lookup.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_agent_rbac.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_agent_review.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_agent_snapshot.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_alert_evaluator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_auth2_security.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_auth_redis_down.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_bulk.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_bundles.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_cli_errors.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_clickhouse_phase1.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_clickhouse_resource_tuning.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_clickhouse_retention.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_cursor_session_push.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_demo_accounts.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_deployment_guards.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_docker_detection.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_draft_workflow.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_encryption_fake_keys.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_endpoint_discovery.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_enterprise.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_env_detection_and_config.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_events.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_features_sync.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_git_mirror.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_graphql_phase6.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_health.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_ide_registry.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_ingest_phase2.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_install_detector.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_listing_detail_access.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_litellm_integration.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_mcp_config_parser.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_mcp_edit_submit.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_migrate.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_model_display.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_observal_skill.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_observal_skill_sync.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_optic.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_pi_session_parser.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_proxy_phase4.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_resilience.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_retention.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_retention_api.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_retention_endpoints.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_retention_logic.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_retention_service.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_retention_simulation.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_review_queue.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_saml.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_saml_scim_integration.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sanitize.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_scan_kiro_home.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_schema_redesign.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_scim.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec001_002_004_auth_hardening.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec003_ratelimit.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec003_trusted_proxy_middleware.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec005_unsafe_defaults.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec006_password_policy.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec007_graphql_auth.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec009_component_source_ownership.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec009_org_scoping.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec010_agent_listing.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec015_openapi_flags.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec023_cache_isolation.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec024_tenant_scoping.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec027_registry_sc.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sec028_sso_guards.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_secrets_redactor.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_self_commands.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_self_learn.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_server_backup.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_server_upgrade.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_sessions_api.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_settings_reconciler.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_shim_error_handling.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_ssrf_guard.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_bundle_wiring.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_collectors.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_endpoint.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_inspect.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_integration.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_manifest.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_pbt.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_support_redaction.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_uninstall.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_uninstall_windows.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_upgrade_lock.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_username_generator.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_version_negotiation.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_version_sync.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_versioning.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_webhook_delivery.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_webhook_signer.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_webhook_signer_properties.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tests/test_worker_phase5.py +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/tools/release.sh +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/.gitignore +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/eslint.config.mjs +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/playwright.config.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/pnpm-workspace.yaml +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/postcss.config.mjs +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/public/favicon.ico +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/public/fonts/albert-sans-latin-variable.woff2 +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/public/fonts/archivo-latin-variable.woff2 +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/public/fonts/jetbrains-mono-latin-variable.woff2 +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/public/icon.png +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/public/observal-logo.svg +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/app.css +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/account/avatar-upload.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/builder/model-picker.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/builder/preview-panel.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/builder/sortable-component-list.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/builder/validation-panel.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/bar-list.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/dashboard-card.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/export-button.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/no-data.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/query-error.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/score-overview.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dashboard/stat-card.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/dynamic-title.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/layouts/admin-guard.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/layouts/auth-guard.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/layouts/dashboard-shell.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/layouts/page-header.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/layouts/role-guard.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/nav/command-menu.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/nav/github-star-banner.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/nav/nav-user.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/agent-card.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/agent-edit-form.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/co-author-input.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/component-card.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/component-edit-form.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/ide-badges.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/install-dialog.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/status-badge.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/version-bump-dialog.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/registry/version-dropdown.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/review/review-detail-sheet.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/review/review-diff-sheet.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/review/validation-badges.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/review/yaml-diff-view.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/shared/retention-warning-banner.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/shared/skeleton-layouts.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/shared/version-mismatch-banner.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/traces/span-tree.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/traces/trace-detail.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/avatar.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/badge.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/breadcrumb.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/button.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/card.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/checkbox.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/command.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/dialog.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/dropdown-menu.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/input.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/label.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/popover.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/resizable.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/scroll-area.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/select.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/separator.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/sheet.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/sidebar.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/skeleton.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/sonner.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/switch.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/table.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/tabs.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/textarea.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/theme-switcher.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/components/ui/tooltip.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-admin-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-admin-guard.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-agents-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-auth.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-dashboard-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-deployment-config.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-mobile.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-registry-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-review-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-role-guard.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-sessions-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/hooks/use-traces-api.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/export.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/query-client.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/theme.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/types/dashboard.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/types/sessions.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/types.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/lib/utils.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/main.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/adoption-tab.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/cost-tab.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/departments-tab.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/insights-tab.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/investments-tab.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/stat-card.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/components/velocity-tab.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/context.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/dashboard/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/diagnostics.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/errors.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/review.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/admin/security-events.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/device.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/login.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/registry/agents/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/registry/components/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/registry/home.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/registry/leaderboard.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/user/account.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/pages/user/traces/detail.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/(auth)/device.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/(auth)/login.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/__root.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/audit-log.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/dashboard.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/diagnostics.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/errors.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/review.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/security-events.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/settings.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/sso.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin/users.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_admin.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_user/account.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_user/traces/$traceId.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_user/traces/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/_user.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/agents/builder.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/agents/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/components/$componentId.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/components/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/index.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/routes/_authed/leaderboard.tsx +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/src/vite-env.d.ts +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/tsconfig.json +0 -0
- {observal_cli-1.4.4 → observal_cli-1.6.0}/web/vite.config.ts +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>
|
|
2
|
+
# SPDX-FileCopyrightText: 2026 SrihariLegend <sriharilegend23@gmail.com>
|
|
3
|
+
# SPDX-License-Identifier: AGPL-3.0-only
|
|
4
|
+
|
|
5
|
+
# Version control
|
|
6
|
+
**/.git
|
|
7
|
+
|
|
8
|
+
# Python artifacts
|
|
9
|
+
**/__pycache__
|
|
10
|
+
**/.venv
|
|
11
|
+
*.pyc
|
|
12
|
+
.pytest_cache/
|
|
13
|
+
.coverage
|
|
14
|
+
htmlcov/
|
|
15
|
+
|
|
16
|
+
# Node.js artifacts
|
|
17
|
+
**/node_modules
|
|
18
|
+
**/.next
|
|
19
|
+
|
|
20
|
+
# Documentation assets (screenshots not needed in images)
|
|
21
|
+
LICENSE
|
|
22
|
+
screenshots/
|
|
23
|
+
|
|
24
|
+
# Testing (not shipped in images)
|
|
25
|
+
tests/
|
|
26
|
+
|
|
27
|
+
# CLI tool (separate distribution, not in API or web image)
|
|
28
|
+
observal_cli/
|
|
29
|
+
|
|
30
|
+
# Development tooling
|
|
31
|
+
.github/
|
|
32
|
+
.vscode/
|
|
33
|
+
.idea/
|
|
34
|
+
*.code-workspace
|
|
35
|
+
|
|
36
|
+
# Scripts and tools (not needed in containers)
|
|
37
|
+
scripts/
|
|
38
|
+
tools/
|
|
39
|
+
|
|
40
|
+
# Demo configs
|
|
41
|
+
demo/
|
|
42
|
+
|
|
43
|
+
# Monitoring configs (volume-mounted at runtime, not baked in)
|
|
44
|
+
grafana/
|
|
45
|
+
prometheus.yml
|
|
46
|
+
otel-collector-config.yaml
|
|
47
|
+
|
|
48
|
+
# Docker sub-configs (not needed inside images)
|
|
49
|
+
docker/docker-compose*.yml
|
|
50
|
+
docker/clickhouse/
|
|
51
|
+
docker/nginx.conf
|
|
52
|
+
docker/nginx.dev.conf
|
|
53
|
+
docker/nginx.production.conf
|
|
54
|
+
docker/server-package/
|
|
55
|
+
|
|
56
|
+
# Environment and logs
|
|
57
|
+
.env
|
|
58
|
+
.env.*
|
|
59
|
+
!.env.example
|
|
60
|
+
*.log
|
|
61
|
+
|
|
62
|
+
# Misc
|
|
63
|
+
renovate.json
|
|
64
|
+
cliff.toml
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com> -->
|
|
2
|
+
<!-- SPDX-FileCopyrightText: 2026 Shaan Narendran <shaannaren06@gmail.com> -->
|
|
3
|
+
<!-- SPDX-FileCopyrightText: 2026 Piyush <pranyasharma55555@gmail.com> -->
|
|
4
|
+
<!-- SPDX-License-Identifier: AGPL-3.0-only -->
|
|
5
|
+
|
|
6
|
+
<!--- Please fill the necessary details below -->
|
|
7
|
+
## Purpose / Description
|
|
8
|
+
_Describe the problem or feature and motivation_
|
|
9
|
+
|
|
10
|
+
## Fixes
|
|
11
|
+
* Fixes #<!-- replace this comment with the issue number e.g. 'Fixes #100'-->
|
|
12
|
+
|
|
13
|
+
## Approach
|
|
14
|
+
_How does this change address the problem?_
|
|
15
|
+
|
|
16
|
+
## How Has This Been Tested?
|
|
17
|
+
|
|
18
|
+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
|
|
19
|
+
|
|
20
|
+
## Learning (optional, can help others)
|
|
21
|
+
_Describe the research stage_
|
|
22
|
+
|
|
23
|
+
_Links to blog posts, patterns, libraries or addons used to solve this problem_
|
|
24
|
+
|
|
25
|
+
## Checklist
|
|
26
|
+
_Please, go through these checks before submitting the PR._
|
|
27
|
+
|
|
28
|
+
- [ ] You have a descriptive commit message with a short title (first line, max 50 chars).
|
|
29
|
+
- [ ] You have commented your code, particularly in hard-to-understand areas
|
|
30
|
+
- [ ] You have performed a self-review of your own code
|
|
31
|
+
- [ ] UI changes: include screenshots of all affected screens (in particular showing any new or changed strings)
|
|
32
|
+
|
|
33
|
+
<!--- Uncomment this section ONLY if this PR introduces new resources (external libraries, icons etc)
|
|
34
|
+
## Licenses
|
|
35
|
+
_For each new external resource, add a row to the table below:_
|
|
36
|
+
|
|
37
|
+
| Library | Description | License |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
| Sample Icon Library | Sample Description | [MIT License](https://opensource.org/licenses/MIT) |
|
|
40
|
+
--->
|
|
41
|
+
|
|
42
|
+
## AI Assistance
|
|
43
|
+
_Was generative AI tooling used to co-author this PR?_
|
|
44
|
+
|
|
45
|
+
- [ ] Yes(Please Specify the tool):
|
|
46
|
+
- [ ] Was the generated code manually reviewed and tested?
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>
|
|
2
|
+
# SPDX-FileCopyrightText: 2026 Lokesh Selvam <lokeshselvam7025@gmail.com>
|
|
3
|
+
# SPDX-FileCopyrightText: 2026 Naraen Rammoorthi <naraen13@gmail.com>
|
|
4
|
+
# SPDX-FileCopyrightText: 2026 Shaan Narendran <shaannaren06@gmail.com>
|
|
5
|
+
# SPDX-FileCopyrightText: 2026 Vishnu Muthiah <vishnu.muthiah04@gmail.com>
|
|
6
|
+
# SPDX-License-Identifier: AGPL-3.0-only
|
|
7
|
+
|
|
8
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
9
|
+
# Observal CI — runs on every PR targeting main and on pushes to main.
|
|
10
|
+
#
|
|
11
|
+
# Recommended branch-protection rules (Settings → Branches → main):
|
|
12
|
+
# Required status checks:
|
|
13
|
+
# • lint
|
|
14
|
+
# • reuse-lint
|
|
15
|
+
# • test (3.11)
|
|
16
|
+
# • test (3.12)
|
|
17
|
+
# • test (3.13)
|
|
18
|
+
# • web-lint
|
|
19
|
+
# • docker-build
|
|
20
|
+
# • import-boundary
|
|
21
|
+
# • dependency-audit
|
|
22
|
+
# Require a pull request before merging
|
|
23
|
+
# Require approvals: 1
|
|
24
|
+
# Do not allow bypassing the above settings
|
|
25
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
26
|
+
|
|
27
|
+
name: CI
|
|
28
|
+
|
|
29
|
+
on:
|
|
30
|
+
pull_request:
|
|
31
|
+
branches: [main]
|
|
32
|
+
push:
|
|
33
|
+
branches: [main]
|
|
34
|
+
|
|
35
|
+
concurrency:
|
|
36
|
+
group: ci-${{ github.ref }}
|
|
37
|
+
cancel-in-progress: true
|
|
38
|
+
|
|
39
|
+
# ── Job 0: Path filtering ─────────────────────────────────────────────────────
|
|
40
|
+
jobs:
|
|
41
|
+
changes:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
permissions:
|
|
44
|
+
pull-requests: read
|
|
45
|
+
outputs:
|
|
46
|
+
python: ${{ steps.filter.outputs.python }}
|
|
47
|
+
web: ${{ steps.filter.outputs.web }}
|
|
48
|
+
docker: ${{ steps.filter.outputs.docker }}
|
|
49
|
+
steps:
|
|
50
|
+
- uses: actions/checkout@v6
|
|
51
|
+
- uses: dorny/paths-filter@v4
|
|
52
|
+
id: filter
|
|
53
|
+
with:
|
|
54
|
+
filters: |
|
|
55
|
+
python:
|
|
56
|
+
- 'observal_cli/**/*.py'
|
|
57
|
+
- 'observal-server/**/*.py'
|
|
58
|
+
- 'tests/**/*.py'
|
|
59
|
+
- 'pyproject.toml'
|
|
60
|
+
- 'uv.lock'
|
|
61
|
+
- 'Makefile'
|
|
62
|
+
- '.pre-commit-config.yaml'
|
|
63
|
+
- '.github/workflows/ci.yml'
|
|
64
|
+
web:
|
|
65
|
+
- 'web/**'
|
|
66
|
+
- '.github/workflows/ci.yml'
|
|
67
|
+
docker:
|
|
68
|
+
- 'docker/**'
|
|
69
|
+
- 'observal_cli/**'
|
|
70
|
+
- 'observal-server/**'
|
|
71
|
+
- 'web/**'
|
|
72
|
+
- 'pyproject.toml'
|
|
73
|
+
- 'uv.lock'
|
|
74
|
+
- 'web/package.json'
|
|
75
|
+
- 'pnpm-lock.yaml'
|
|
76
|
+
- '.env.example'
|
|
77
|
+
- '.github/workflows/ci.yml'
|
|
78
|
+
|
|
79
|
+
# ── Job 1: Python lint ────────────────────────────────────────────────────────
|
|
80
|
+
lint:
|
|
81
|
+
name: lint
|
|
82
|
+
runs-on: ubuntu-latest
|
|
83
|
+
needs: changes
|
|
84
|
+
steps:
|
|
85
|
+
- name: Skip if no Python changes
|
|
86
|
+
if: needs.changes.outputs.python != 'true'
|
|
87
|
+
run: |
|
|
88
|
+
echo "::notice::No Python changes detected, skipping lint"
|
|
89
|
+
echo "This job reports success to satisfy branch protection"
|
|
90
|
+
|
|
91
|
+
- uses: actions/checkout@v6
|
|
92
|
+
if: needs.changes.outputs.python == 'true'
|
|
93
|
+
|
|
94
|
+
- uses: astral-sh/setup-uv@v8.1.0
|
|
95
|
+
if: needs.changes.outputs.python == 'true'
|
|
96
|
+
with:
|
|
97
|
+
enable-cache: true
|
|
98
|
+
|
|
99
|
+
- name: Install Python 3.13
|
|
100
|
+
if: needs.changes.outputs.python == 'true'
|
|
101
|
+
run: uv python install 3.13
|
|
102
|
+
|
|
103
|
+
- name: ruff check
|
|
104
|
+
if: needs.changes.outputs.python == 'true'
|
|
105
|
+
run: uv run --with ruff==0.15.12 ruff check .
|
|
106
|
+
|
|
107
|
+
- name: ruff format --check
|
|
108
|
+
if: needs.changes.outputs.python == 'true'
|
|
109
|
+
run: uv run --with ruff==0.15.12 ruff format --check .
|
|
110
|
+
|
|
111
|
+
# ── Job 2: REUSE license compliance ──────────────────────────────────────────────
|
|
112
|
+
reuse-lint:
|
|
113
|
+
name: reuse-lint
|
|
114
|
+
runs-on: ubuntu-latest
|
|
115
|
+
steps:
|
|
116
|
+
- uses: actions/checkout@v6
|
|
117
|
+
|
|
118
|
+
- name: REUSE compliance check
|
|
119
|
+
uses: fsfe/reuse-action@v6
|
|
120
|
+
|
|
121
|
+
# ── Job 3: Python tests (matrix) ──────────────────────────────────────────────
|
|
122
|
+
test:
|
|
123
|
+
name: test (${{ matrix.python-version }})
|
|
124
|
+
runs-on: ubuntu-latest
|
|
125
|
+
needs: changes
|
|
126
|
+
strategy:
|
|
127
|
+
fail-fast: false
|
|
128
|
+
matrix:
|
|
129
|
+
python-version: ["3.11", "3.12", "3.13"]
|
|
130
|
+
|
|
131
|
+
steps:
|
|
132
|
+
- name: Skip if no Python changes
|
|
133
|
+
if: needs.changes.outputs.python != 'true'
|
|
134
|
+
run: |
|
|
135
|
+
echo "::notice::No Python changes detected, skipping test"
|
|
136
|
+
echo "This job reports success to satisfy branch protection"
|
|
137
|
+
|
|
138
|
+
- uses: actions/checkout@v6
|
|
139
|
+
if: needs.changes.outputs.python == 'true'
|
|
140
|
+
|
|
141
|
+
- uses: astral-sh/setup-uv@v8.1.0
|
|
142
|
+
if: needs.changes.outputs.python == 'true'
|
|
143
|
+
with:
|
|
144
|
+
enable-cache: true
|
|
145
|
+
|
|
146
|
+
- name: Install Python ${{ matrix.python-version }}
|
|
147
|
+
if: needs.changes.outputs.python == 'true'
|
|
148
|
+
run: uv python install ${{ matrix.python-version }}
|
|
149
|
+
|
|
150
|
+
- name: Install project dependencies
|
|
151
|
+
if: needs.changes.outputs.python == 'true'
|
|
152
|
+
run: |
|
|
153
|
+
cd observal-server
|
|
154
|
+
uv sync --python ${{ matrix.python-version }} --group dev
|
|
155
|
+
|
|
156
|
+
- name: Run pytest
|
|
157
|
+
if: needs.changes.outputs.python == 'true'
|
|
158
|
+
run: |
|
|
159
|
+
cd observal-server
|
|
160
|
+
uv run \
|
|
161
|
+
--python ${{ matrix.python-version }} \
|
|
162
|
+
--with asyncpg \
|
|
163
|
+
--with hypothesis \
|
|
164
|
+
--with pyarrow \
|
|
165
|
+
--with pytest-cov \
|
|
166
|
+
pytest ../tests/ -q \
|
|
167
|
+
${{ matrix.python-version == '3.13' && '--cov=../observal_cli --cov=. --cov-report=xml' || '' }}
|
|
168
|
+
|
|
169
|
+
- name: Upload coverage to Codecov
|
|
170
|
+
if: needs.changes.outputs.python == 'true' && matrix.python-version == '3.13'
|
|
171
|
+
uses: codecov/codecov-action@v6
|
|
172
|
+
with:
|
|
173
|
+
files: observal-server/coverage.xml
|
|
174
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
175
|
+
fail_ci_if_error: false
|
|
176
|
+
|
|
177
|
+
# ── Job 4: Next.js lint + typecheck ───────────────────────────────────────────
|
|
178
|
+
web-lint:
|
|
179
|
+
name: web-lint
|
|
180
|
+
runs-on: ubuntu-latest
|
|
181
|
+
needs: changes
|
|
182
|
+
defaults:
|
|
183
|
+
run:
|
|
184
|
+
working-directory: web
|
|
185
|
+
|
|
186
|
+
steps:
|
|
187
|
+
- name: Skip if no web changes
|
|
188
|
+
if: needs.changes.outputs.web != 'true'
|
|
189
|
+
working-directory: .
|
|
190
|
+
run: |
|
|
191
|
+
echo "::notice::No web changes detected, skipping web-lint"
|
|
192
|
+
echo "This job reports success to satisfy branch protection"
|
|
193
|
+
|
|
194
|
+
- uses: actions/checkout@v6
|
|
195
|
+
if: needs.changes.outputs.web == 'true'
|
|
196
|
+
|
|
197
|
+
- uses: pnpm/action-setup@v6
|
|
198
|
+
if: needs.changes.outputs.web == 'true'
|
|
199
|
+
|
|
200
|
+
- uses: actions/setup-node@v6
|
|
201
|
+
if: needs.changes.outputs.web == 'true'
|
|
202
|
+
with:
|
|
203
|
+
node-version: 24
|
|
204
|
+
cache: pnpm
|
|
205
|
+
cache-dependency-path: pnpm-lock.yaml
|
|
206
|
+
|
|
207
|
+
- name: Install dependencies
|
|
208
|
+
if: needs.changes.outputs.web == 'true'
|
|
209
|
+
working-directory: .
|
|
210
|
+
run: pnpm install --frozen-lockfile
|
|
211
|
+
|
|
212
|
+
- name: ESLint
|
|
213
|
+
if: needs.changes.outputs.web == 'true'
|
|
214
|
+
run: pnpm run lint
|
|
215
|
+
|
|
216
|
+
- name: TypeScript typecheck
|
|
217
|
+
if: needs.changes.outputs.web == 'true'
|
|
218
|
+
run: pnpm run typecheck
|
|
219
|
+
|
|
220
|
+
# ── Job 5: Import boundary check ─────────────────────────────────────────────
|
|
221
|
+
import-boundary:
|
|
222
|
+
name: import-boundary
|
|
223
|
+
runs-on: ubuntu-latest
|
|
224
|
+
needs: changes
|
|
225
|
+
if: needs.changes.outputs.python == 'true'
|
|
226
|
+
steps:
|
|
227
|
+
- uses: actions/checkout@v6
|
|
228
|
+
|
|
229
|
+
- name: Check ee/ import boundary
|
|
230
|
+
run: |
|
|
231
|
+
echo "Checking that core does not import from ee/..."
|
|
232
|
+
VIOLATIONS=$(grep -rn "from ee\b\|import ee\b" observal-server/ observal_cli/ --include="*.py" | grep -v "main.py" | grep -v "services/insights/__init__.py" | grep -v "services/audit/__init__.py" | grep -v "/tests/" || true)
|
|
233
|
+
if [ -n "$VIOLATIONS" ]; then
|
|
234
|
+
echo "::error::Import boundary violation — core must not import from ee/"
|
|
235
|
+
echo "$VIOLATIONS"
|
|
236
|
+
exit 1
|
|
237
|
+
fi
|
|
238
|
+
echo "✓ No import boundary violations found"
|
|
239
|
+
|
|
240
|
+
# ── Job 6: Docker build ───────────────────────────────────────────────────────
|
|
241
|
+
docker-build:
|
|
242
|
+
name: docker-build
|
|
243
|
+
runs-on: ubuntu-latest
|
|
244
|
+
needs: changes
|
|
245
|
+
defaults:
|
|
246
|
+
run:
|
|
247
|
+
working-directory: docker
|
|
248
|
+
|
|
249
|
+
steps:
|
|
250
|
+
- name: Skip if no Docker changes
|
|
251
|
+
if: needs.changes.outputs.docker != 'true'
|
|
252
|
+
working-directory: .
|
|
253
|
+
run: |
|
|
254
|
+
echo "::notice::No Docker changes detected, skipping docker-build"
|
|
255
|
+
echo "This job reports success to satisfy branch protection"
|
|
256
|
+
|
|
257
|
+
- uses: actions/checkout@v6
|
|
258
|
+
if: needs.changes.outputs.docker == 'true'
|
|
259
|
+
|
|
260
|
+
- name: Create stub .env
|
|
261
|
+
if: needs.changes.outputs.docker == 'true'
|
|
262
|
+
run: touch ../.env
|
|
263
|
+
|
|
264
|
+
- name: Build images
|
|
265
|
+
if: needs.changes.outputs.docker == 'true'
|
|
266
|
+
run: docker compose build
|
|
267
|
+
|
|
268
|
+
# ── Job 7: Dependency audit ─────────────────────────────────────────────────
|
|
269
|
+
dependency-audit:
|
|
270
|
+
name: dependency-audit
|
|
271
|
+
runs-on: ubuntu-latest
|
|
272
|
+
steps:
|
|
273
|
+
- uses: actions/checkout@v6
|
|
274
|
+
|
|
275
|
+
- uses: astral-sh/setup-uv@v8.1.0
|
|
276
|
+
with:
|
|
277
|
+
enable-cache: true
|
|
278
|
+
|
|
279
|
+
- name: Run pip-audit
|
|
280
|
+
run: |
|
|
281
|
+
uv python install 3.12
|
|
282
|
+
cd observal-server
|
|
283
|
+
uv run --with pip-audit pip-audit --strict --desc --ignore-vuln PYSEC-2025-183 --ignore-vuln PYSEC-2026-161 --ignore-vuln CVE-2026-47265
|
|
284
|
+
|
|
285
|
+
- uses: pnpm/action-setup@v6
|
|
286
|
+
|
|
287
|
+
- uses: actions/setup-node@v6
|
|
288
|
+
with:
|
|
289
|
+
node-version: 24
|
|
290
|
+
cache: pnpm
|
|
291
|
+
cache-dependency-path: pnpm-lock.yaml
|
|
292
|
+
|
|
293
|
+
- name: Run pnpm audit
|
|
294
|
+
run: |
|
|
295
|
+
pnpm install --frozen-lockfile
|
|
296
|
+
pnpm audit --prod
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Apoorv Garg <apoorvgarg.21@gmail.com>
|
|
2
|
+
# SPDX-FileCopyrightText: 2026 Vishnu Muthiah <vishnu.muthiah04@gmail.com>
|
|
3
|
+
# SPDX-License-Identifier: AGPL-3.0-only
|
|
4
|
+
|
|
5
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
# Terraform — fmt + validate + tflint + env consistency for all modules.
|
|
7
|
+
#
|
|
8
|
+
# Runs on PRs and pushes to main that touch infra/terraform/**, .env.example,
|
|
9
|
+
# or observal-server/config.py. No cloud credentials needed.
|
|
10
|
+
#
|
|
11
|
+
# Modules covered:
|
|
12
|
+
# • infra/terraform/aws (ECS Fargate — full matrix)
|
|
13
|
+
# • infra/terraform/gcp (Cloud Run — full matrix)
|
|
14
|
+
# • infra/terraform/aws-ec2 (single-instance — fmt+validate only)
|
|
15
|
+
#
|
|
16
|
+
# aws-ec2 is excluded from the matrix and consistency checks because it uses
|
|
17
|
+
# different variable conventions (name vs name_prefix, no clickhouse_mode).
|
|
18
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
19
|
+
|
|
20
|
+
name: Terraform
|
|
21
|
+
|
|
22
|
+
on:
|
|
23
|
+
pull_request:
|
|
24
|
+
branches: [main]
|
|
25
|
+
paths:
|
|
26
|
+
- 'infra/terraform/**'
|
|
27
|
+
- '.github/workflows/terraform.yml'
|
|
28
|
+
- '.env.example'
|
|
29
|
+
- 'observal-server/config.py'
|
|
30
|
+
push:
|
|
31
|
+
branches: [main]
|
|
32
|
+
paths:
|
|
33
|
+
- 'infra/terraform/**'
|
|
34
|
+
- '.github/workflows/terraform.yml'
|
|
35
|
+
- '.env.example'
|
|
36
|
+
- 'observal-server/config.py'
|
|
37
|
+
|
|
38
|
+
concurrency:
|
|
39
|
+
group: terraform-${{ github.ref }}
|
|
40
|
+
cancel-in-progress: true
|
|
41
|
+
|
|
42
|
+
jobs:
|
|
43
|
+
# ── fmt + validate (aws, gcp) ──────────────────────────────────────────────
|
|
44
|
+
fmt-validate:
|
|
45
|
+
name: "${{ matrix.module }} fmt+validate"
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
permissions:
|
|
48
|
+
contents: read
|
|
49
|
+
strategy:
|
|
50
|
+
fail-fast: false
|
|
51
|
+
matrix:
|
|
52
|
+
module: [aws, gcp]
|
|
53
|
+
include:
|
|
54
|
+
- module: aws
|
|
55
|
+
working_dir: infra/terraform/aws
|
|
56
|
+
has_bootstrap: true
|
|
57
|
+
- module: gcp
|
|
58
|
+
working_dir: infra/terraform/gcp
|
|
59
|
+
has_bootstrap: false
|
|
60
|
+
|
|
61
|
+
steps:
|
|
62
|
+
- name: Checkout
|
|
63
|
+
uses: actions/checkout@v6
|
|
64
|
+
|
|
65
|
+
- name: Setup Terraform
|
|
66
|
+
uses: hashicorp/setup-terraform@v4
|
|
67
|
+
with:
|
|
68
|
+
terraform_version: 1.9.8
|
|
69
|
+
terraform_wrapper: false
|
|
70
|
+
|
|
71
|
+
- name: terraform fmt (recursive)
|
|
72
|
+
working-directory: ${{ matrix.working_dir }}
|
|
73
|
+
run: terraform fmt -check -recursive -diff
|
|
74
|
+
|
|
75
|
+
- name: terraform init (root module, no backend)
|
|
76
|
+
working-directory: ${{ matrix.working_dir }}
|
|
77
|
+
run: terraform init -backend=false -input=false
|
|
78
|
+
|
|
79
|
+
- name: terraform validate (root module)
|
|
80
|
+
working-directory: ${{ matrix.working_dir }}
|
|
81
|
+
run: terraform validate -no-color
|
|
82
|
+
|
|
83
|
+
- name: terraform init (examples/minimal)
|
|
84
|
+
working-directory: ${{ matrix.working_dir }}/examples/minimal
|
|
85
|
+
run: terraform init -backend=false -input=false
|
|
86
|
+
|
|
87
|
+
- name: terraform validate (examples/minimal)
|
|
88
|
+
working-directory: ${{ matrix.working_dir }}/examples/minimal
|
|
89
|
+
run: terraform validate -no-color
|
|
90
|
+
|
|
91
|
+
- name: Check examples/byovpc exists
|
|
92
|
+
id: byovpc
|
|
93
|
+
run: test -f "${{ matrix.working_dir }}/examples/byovpc/main.tf" && echo "exists=true" >> "$GITHUB_OUTPUT" || echo "exists=false" >> "$GITHUB_OUTPUT"
|
|
94
|
+
|
|
95
|
+
- name: terraform init (examples/byovpc)
|
|
96
|
+
if: steps.byovpc.outputs.exists == 'true'
|
|
97
|
+
working-directory: ${{ matrix.working_dir }}/examples/byovpc
|
|
98
|
+
run: terraform init -backend=false -input=false
|
|
99
|
+
|
|
100
|
+
- name: terraform validate (examples/byovpc)
|
|
101
|
+
if: steps.byovpc.outputs.exists == 'true'
|
|
102
|
+
working-directory: ${{ matrix.working_dir }}/examples/byovpc
|
|
103
|
+
run: terraform validate -no-color
|
|
104
|
+
|
|
105
|
+
- name: terraform init (bootstrap)
|
|
106
|
+
if: matrix.has_bootstrap
|
|
107
|
+
working-directory: ${{ matrix.working_dir }}/bootstrap
|
|
108
|
+
run: terraform init -backend=false -input=false
|
|
109
|
+
|
|
110
|
+
- name: terraform validate (bootstrap)
|
|
111
|
+
if: matrix.has_bootstrap
|
|
112
|
+
working-directory: ${{ matrix.working_dir }}/bootstrap
|
|
113
|
+
run: terraform validate -no-color
|
|
114
|
+
|
|
115
|
+
# ── tflint (aws, gcp) ─────────────────────────────────────────────────────
|
|
116
|
+
tflint:
|
|
117
|
+
name: "${{ matrix.module }} tflint"
|
|
118
|
+
runs-on: ubuntu-latest
|
|
119
|
+
permissions:
|
|
120
|
+
contents: read
|
|
121
|
+
strategy:
|
|
122
|
+
fail-fast: false
|
|
123
|
+
matrix:
|
|
124
|
+
module: [aws, gcp]
|
|
125
|
+
include:
|
|
126
|
+
- module: aws
|
|
127
|
+
working_dir: infra/terraform/aws
|
|
128
|
+
- module: gcp
|
|
129
|
+
working_dir: infra/terraform/gcp
|
|
130
|
+
|
|
131
|
+
steps:
|
|
132
|
+
- name: Checkout
|
|
133
|
+
uses: actions/checkout@v6
|
|
134
|
+
|
|
135
|
+
- name: Setup tflint
|
|
136
|
+
uses: terraform-linters/setup-tflint@v6
|
|
137
|
+
with:
|
|
138
|
+
tflint_version: v0.55.0
|
|
139
|
+
|
|
140
|
+
- name: tflint init
|
|
141
|
+
working-directory: ${{ matrix.working_dir }}
|
|
142
|
+
run: tflint --init
|
|
143
|
+
env:
|
|
144
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
145
|
+
|
|
146
|
+
- name: tflint
|
|
147
|
+
working-directory: ${{ matrix.working_dir }}
|
|
148
|
+
run: tflint --recursive --format=compact
|
|
149
|
+
|
|
150
|
+
# ── aws-ec2 (lightweight, different conventions) ───────────────────────────
|
|
151
|
+
fmt-validate-ec2:
|
|
152
|
+
name: "aws-ec2 fmt+validate"
|
|
153
|
+
runs-on: ubuntu-latest
|
|
154
|
+
permissions:
|
|
155
|
+
contents: read
|
|
156
|
+
|
|
157
|
+
steps:
|
|
158
|
+
- name: Checkout
|
|
159
|
+
uses: actions/checkout@v6
|
|
160
|
+
|
|
161
|
+
- name: Setup Terraform
|
|
162
|
+
uses: hashicorp/setup-terraform@v4
|
|
163
|
+
with:
|
|
164
|
+
terraform_version: 1.9.8
|
|
165
|
+
terraform_wrapper: false
|
|
166
|
+
|
|
167
|
+
- name: terraform fmt
|
|
168
|
+
working-directory: infra/terraform/aws-ec2
|
|
169
|
+
run: terraform fmt -check -diff
|
|
170
|
+
|
|
171
|
+
- name: terraform init + validate
|
|
172
|
+
working-directory: infra/terraform/aws-ec2
|
|
173
|
+
run: |
|
|
174
|
+
terraform init -backend=false -input=false
|
|
175
|
+
terraform validate -no-color
|
|
176
|
+
|
|
177
|
+
# ── Terraform <-> App env consistency ──────────────────────────────────────
|
|
178
|
+
consistency:
|
|
179
|
+
name: "terraform-env consistency"
|
|
180
|
+
runs-on: ubuntu-latest
|
|
181
|
+
permissions:
|
|
182
|
+
contents: read
|
|
183
|
+
|
|
184
|
+
steps:
|
|
185
|
+
- name: Checkout
|
|
186
|
+
uses: actions/checkout@v6
|
|
187
|
+
|
|
188
|
+
- name: Setup Python
|
|
189
|
+
uses: actions/setup-python@v5
|
|
190
|
+
with:
|
|
191
|
+
python-version: '3.12'
|
|
192
|
+
|
|
193
|
+
- name: Run consistency checks
|
|
194
|
+
run: python scripts/check_terraform_consistency.py
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2026 Aryan Iyappan <aryaniyappan2006@gmail.com>
|
|
2
|
+
# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>
|
|
3
|
+
# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>
|
|
4
|
+
# SPDX-FileCopyrightText: 2026 Shaan Narendran <shaannaren06@gmail.com>
|
|
5
|
+
# SPDX-License-Identifier: AGPL-3.0-only
|
|
6
|
+
|
|
7
|
+
__pycache__/
|
|
8
|
+
*.pyc
|
|
9
|
+
*.pyo
|
|
10
|
+
.env
|
|
11
|
+
*.egg-info/
|
|
12
|
+
dist/
|
|
13
|
+
build/
|
|
14
|
+
.eggs/
|
|
15
|
+
|
|
16
|
+
# IDE / editor
|
|
17
|
+
.vscode/
|
|
18
|
+
.idea/
|
|
19
|
+
*.swp
|
|
20
|
+
*.swo
|
|
21
|
+
*~
|
|
22
|
+
|
|
23
|
+
# AI agent / coding tool configs
|
|
24
|
+
.claude/
|
|
25
|
+
CLAUDE.md
|
|
26
|
+
.kiro/
|
|
27
|
+
.cursor/
|
|
28
|
+
.cursorignore
|
|
29
|
+
.cursorindexingignore
|
|
30
|
+
.gemini/
|
|
31
|
+
GEMINI.md
|
|
32
|
+
.opencode/
|
|
33
|
+
.github/copilot-instructions.md
|
|
34
|
+
.github/hooks/
|
|
35
|
+
.copilot/
|
|
36
|
+
.worktrees/
|
|
37
|
+
|
|
38
|
+
# OS
|
|
39
|
+
.DS_Store
|
|
40
|
+
Thumbs.db
|
|
41
|
+
|
|
42
|
+
# Python
|
|
43
|
+
.venv/
|
|
44
|
+
.mypy_cache/
|
|
45
|
+
.ruff_cache/
|
|
46
|
+
.pytest_cache/
|
|
47
|
+
htmlcov/
|
|
48
|
+
.coverage
|
|
49
|
+
*.cover
|
|
50
|
+
|
|
51
|
+
# Node
|
|
52
|
+
observal-web/node_modules/
|
|
53
|
+
observal-web/dist/
|
|
54
|
+
|
|
55
|
+
# Docker
|
|
56
|
+
docker/data/
|
|
57
|
+
docker/clickhouse/users.d/default-user.xml
|
|
58
|
+
|
|
59
|
+
# Terraform
|
|
60
|
+
**/.terraform/
|
|
61
|
+
*.tfplan
|
|
62
|
+
*.tfstate
|
|
63
|
+
*.tfstate.backup
|
|
64
|
+
|
|
65
|
+
# Local / ephemeral
|
|
66
|
+
.playwright-mcp/
|
|
67
|
+
e2e-screenshots/
|
|
68
|
+
migration/
|
|
69
|
+
*.pem
|
|
70
|
+
test-scan.json
|
|
71
|
+
|
|
72
|
+
# Private packages (symlinked for local Docker builds)
|
|
73
|
+
observal-insights/
|
|
74
|
+
.observal/
|
|
75
|
+
.pi-lens/
|
|
76
|
+
node_modules
|
|
77
|
+
.pi/
|
|
78
|
+
.mcp.json
|
|
79
|
+
*.bak
|
|
80
|
+
scripts/seed_demo.py
|
|
81
|
+
.playwright-cli/
|