Files
zeekay bc4ddf332b chore: rebase the tree onto upstream master fa1a9a60
Mechanically re-derived: bin/debrand runs over a fresh import of
posthog/posthog@fa1a9a60d4 (2026-08-06).
The pipeline (.hanzo/workflows), the Dockerfiles and bin/docker*
entrypoints, compose files, LLM.md and the squashed initial migration
are restored from the shipped tree, same as the previous import.

The prune's import-closure guard kept 21 products the new core now
imports; dropping them is a refactor now, recorded rather than forced.
2026-08-06 01:25:36 -07:00

139 lines
5.3 KiB
Python

from insights.api.routing import RouterRegistry
from insights.settings import CLOUD_DEPLOYMENT, DEBUG, TEST
from products.ai_observability.backend.api import (
AIBlobViewSet,
AIObservabilityClusteringRunViewSet,
AIObservabilityOfflineEvaluationsViewSet,
AIObservabilitySummarizationViewSet,
AIObservabilityTextReprViewSet,
AIObservabilityTranslateViewSet,
ClusteringConfigViewSet,
ClusteringJobViewSet,
DatasetItemViewSet,
DatasetViewSet,
EvaluationConfigViewSet,
EvaluationDirectoryViewSet,
EvaluationReportViewSet,
EvaluationRunViewSet,
EvaluationViewSet,
LLMEvaluationSummaryViewSet,
LLMModelsViewSet,
LLMProviderKeyValidationViewSet,
LLMProviderKeyViewSet,
LLMProxyViewSet,
ParserRecipeViewSet,
PersonalSpendInternalViewSet,
PersonalSpendViewSet,
ReviewQueueItemViewSet,
ReviewQueueViewSet,
ScoreDefinitionViewSet,
TaggerViewSet,
TraceReviewViewSet,
)
def register_routes(routers: RouterRegistry) -> None:
routers.projects.register(r"ai_blob", AIBlobViewSet, "project_ai_blob", ["project_id"])
routers.root.register(r"llm_proxy", LLMProxyViewSet, "llm_proxy")
# @me/spend is only useful where billing data is available; mirrors the
# CLOUD/DEBUG/TEST gate the registration carried inline.
if CLOUD_DEPLOYMENT == "US" or DEBUG or TEST:
routers.root.register(r"llm_analytics/@me/spend", PersonalSpendViewSet, "personal_spend")
# HMAC-authenticated receiver for the EU→US personal-spend proxy.
routers.root.register(r"llm_analytics/internal/spend", PersonalSpendInternalViewSet, "personal_spend_internal")
routers.projects.register(
r"llm_analytics/parser_recipes", ParserRecipeViewSet, "project_llm_analytics_parser_recipes", ["team_id"]
)
routers.projects.register(r"datasets", DatasetViewSet, "project_datasets", ["team_id"])
routers.projects.register(r"dataset_items", DatasetItemViewSet, "project_dataset_items", ["team_id"])
routers.projects.register(r"evaluations", EvaluationViewSet, "project_evaluations", ["team_id"])
routers.projects.register(
r"evaluation_directories",
EvaluationDirectoryViewSet,
"project_evaluation_directories",
["team_id"],
)
routers.projects.register(r"taggers", TaggerViewSet, "project_taggers", ["team_id"])
routers.projects.register(r"evaluation_runs", EvaluationRunViewSet, "project_evaluation_runs", ["team_id"])
routers.projects.register(
r"llm_analytics/text_repr", AIObservabilityTextReprViewSet, "project_llm_analytics_text_repr", ["team_id"]
)
routers.projects.register(
r"llm_analytics/summarization",
AIObservabilitySummarizationViewSet,
"project_llm_analytics_summarization",
["team_id"],
)
routers.projects.register(
r"llm_analytics/evaluation_summary",
LLMEvaluationSummaryViewSet,
"project_llm_analytics_evaluation_summary",
["team_id"],
)
routers.projects.register(
r"llm_analytics/translate", AIObservabilityTranslateViewSet, "project_llm_analytics_translate", ["team_id"]
)
routers.projects.register(
r"llm_analytics/provider_keys", LLMProviderKeyViewSet, "project_llm_analytics_provider_keys", ["team_id"]
)
routers.projects.register(
r"llm_analytics/provider_key_validations",
LLMProviderKeyValidationViewSet,
"project_llm_analytics_provider_key_validations",
["team_id"],
)
routers.projects.register(r"llm_analytics/models", LLMModelsViewSet, "project_llm_analytics_models", ["team_id"])
routers.projects.register(
r"llm_analytics/evaluation_config",
EvaluationConfigViewSet,
"project_llm_analytics_evaluation_config",
["team_id"],
)
routers.projects.register(
r"llm_analytics/clustering_runs",
AIObservabilityClusteringRunViewSet,
"project_llm_analytics_clustering_runs",
["team_id"],
)
routers.projects.register(
r"llm_analytics/clustering_config",
ClusteringConfigViewSet,
"project_llm_analytics_clustering_config",
["team_id"],
)
routers.projects.register(
r"llm_analytics/clustering_jobs", ClusteringJobViewSet, "project_llm_analytics_clustering_jobs", ["team_id"]
)
routers.projects.register(
r"llm_analytics/offline_evaluations",
AIObservabilityOfflineEvaluationsViewSet,
"project_llm_analytics_offline_evaluations",
["team_id"],
)
routers.projects.register(
r"llm_analytics/review_queue_items",
ReviewQueueItemViewSet,
"project_llm_analytics_review_queue_items",
["team_id"],
)
routers.projects.register(
r"llm_analytics/review_queues", ReviewQueueViewSet, "project_llm_analytics_review_queues", ["team_id"]
)
routers.projects.register(
r"llm_analytics/score_definitions",
ScoreDefinitionViewSet,
"project_llm_analytics_score_definitions",
["team_id"],
)
routers.projects.register(
r"llm_analytics/trace_reviews", TraceReviewViewSet, "project_llm_analytics_trace_reviews", ["team_id"]
)
routers.projects.register(
r"llm_analytics/evaluation_reports",
EvaluationReportViewSet,
"project_llm_analytics_evaluation_reports",
["team_id"],
)