2026-06-27 11:41:26 +02:00
|
|
|
from .schemas import CatalogItem, HubCapabilityManifest, HubResource, Link
|
|
|
|
|
|
|
|
|
|
PUBLIC_HUBS = [
|
|
|
|
|
HubResource(
|
|
|
|
|
slug="core-hub",
|
|
|
|
|
name="Core Hub",
|
|
|
|
|
description="Third-generation production interaction framework.",
|
|
|
|
|
capabilities=[
|
|
|
|
|
"hub-registry",
|
|
|
|
|
"interaction-events",
|
|
|
|
|
"workplan-coordination",
|
|
|
|
|
"operator-console",
|
|
|
|
|
],
|
|
|
|
|
links=[Link(rel="self", href="/api/v2/hubs/core-hub")],
|
|
|
|
|
)
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
PUBLIC_MANIFESTS = [
|
|
|
|
|
HubCapabilityManifest(
|
|
|
|
|
hub_slug="core-hub",
|
|
|
|
|
capabilities=[
|
|
|
|
|
"capability.infotech.core-hub",
|
|
|
|
|
"api.v2.compatibility",
|
|
|
|
|
"contract.ir",
|
|
|
|
|
],
|
|
|
|
|
endpoints=[
|
|
|
|
|
Link(rel="hubs", href="/api/v2/hubs"),
|
|
|
|
|
Link(rel="events", href="/api/v2/interaction-events"),
|
|
|
|
|
Link(rel="widgets", href="/api/v2/widgets"),
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
WIDGET_TYPES = [
|
|
|
|
|
CatalogItem(slug="status-summary", name="Status Summary"),
|
|
|
|
|
CatalogItem(slug="workplan-board", name="Workplan Board"),
|
|
|
|
|
CatalogItem(slug="event-stream", name="Event Stream"),
|
2026-07-03 01:39:45 +02:00
|
|
|
# Inter-Hub compatibility vocabulary (CORE-WP-0005-T04 prerequisite 1):
|
|
|
|
|
# the full legacy widget_type_registry so migrated widgets stay
|
|
|
|
|
# referentially complete and legacy catalog consumers see a superset.
|
|
|
|
|
CatalogItem(slug="action", name="Action Control", description="Button, link, or trigger widget"),
|
|
|
|
|
CatalogItem(slug="chart", name="Chart", description="Data visualisation chart widget"),
|
|
|
|
|
CatalogItem(slug="chat", name="Chat Region", description="Conversational interaction region"),
|
|
|
|
|
CatalogItem(slug="diff", name="Diff / Review", description="Code diff or change review element"),
|
|
|
|
|
CatalogItem(slug="form", name="Form", description="Data entry form widget"),
|
|
|
|
|
CatalogItem(slug="ops-backup-set", name="ops-backup-set"),
|
|
|
|
|
CatalogItem(slug="ops-cluster", name="ops-cluster"),
|
|
|
|
|
CatalogItem(slug="ops-endpoint", name="ops-endpoint"),
|
|
|
|
|
CatalogItem(slug="ops-environment", name="ops-environment"),
|
|
|
|
|
CatalogItem(slug="ops-host", name="ops-host"),
|
|
|
|
|
CatalogItem(slug="ops-incident", name="ops-incident"),
|
|
|
|
|
CatalogItem(slug="ops-migration-wave", name="ops-migration-wave"),
|
|
|
|
|
CatalogItem(slug="ops-readiness-gate", name="ops-readiness-gate"),
|
|
|
|
|
CatalogItem(slug="ops-release", name="ops-release"),
|
|
|
|
|
CatalogItem(slug="ops-risk", name="ops-risk"),
|
|
|
|
|
CatalogItem(slug="ops-runbook", name="ops-runbook"),
|
|
|
|
|
CatalogItem(slug="ops-secret-set", name="ops-secret-set"),
|
|
|
|
|
CatalogItem(slug="ops-service", name="ops-service"),
|
|
|
|
|
CatalogItem(slug="ops-service-catalog", name="ops-service-catalog"),
|
|
|
|
|
CatalogItem(slug="panel", name="Status Panel", description="Summary or status information panel"),
|
|
|
|
|
CatalogItem(slug="recommendation", name="Recommendation", description="AI or system recommendation block"),
|
|
|
|
|
CatalogItem(slug="table", name="Table", description="Tabular data display widget"),
|
|
|
|
|
CatalogItem(slug="workflow-step", name="Workflow Step", description="Single step in a multi-step workflow"),
|
2026-06-27 11:41:26 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
EVENT_TYPES = [
|
|
|
|
|
CatalogItem(slug="interaction.event", name="Interaction Event"),
|
|
|
|
|
CatalogItem(slug="workplan.progress", name="Workplan Progress"),
|
|
|
|
|
CatalogItem(slug="evidence.recorded", name="Evidence Recorded"),
|
2026-07-03 01:39:45 +02:00
|
|
|
# Inter-Hub compatibility vocabulary (see WIDGET_TYPES note).
|
|
|
|
|
CatalogItem(slug="abandoned", name="Abandoned"),
|
|
|
|
|
CatalogItem(slug="accepted_recommendation", name="Accepted Recommendation"),
|
|
|
|
|
CatalogItem(slug="blocked_by_policy", name="Blocked by Policy"),
|
|
|
|
|
CatalogItem(slug="clicked", name="Clicked"),
|
|
|
|
|
CatalogItem(slug="commented", name="Commented"),
|
|
|
|
|
CatalogItem(slug="escalated", name="Escalated"),
|
|
|
|
|
CatalogItem(slug="failed", name="Failed"),
|
|
|
|
|
CatalogItem(slug="flagged_confusing", name="Flagged Confusing"),
|
|
|
|
|
CatalogItem(slug="flagged_helpful", name="Flagged Helpful"),
|
|
|
|
|
CatalogItem(slug="focused", name="Focused"),
|
|
|
|
|
CatalogItem(slug="ops-backup-verified", name="ops-backup-verified"),
|
|
|
|
|
CatalogItem(slug="ops-drift-detected", name="ops-drift-detected"),
|
|
|
|
|
CatalogItem(slug="ops-endpoint-verified", name="ops-endpoint-verified"),
|
|
|
|
|
CatalogItem(slug="ops-health-checked", name="ops-health-checked"),
|
|
|
|
|
CatalogItem(slug="ops-inventory-registered", name="ops-inventory-registered"),
|
|
|
|
|
CatalogItem(slug="ops-inventory-updated", name="ops-inventory-updated"),
|
|
|
|
|
CatalogItem(slug="ops-migration-gate-failed", name="ops-migration-gate-failed"),
|
|
|
|
|
CatalogItem(slug="ops-migration-gate-passed", name="ops-migration-gate-passed"),
|
|
|
|
|
CatalogItem(slug="ops-readiness-gate-updated", name="ops-readiness-gate-updated"),
|
|
|
|
|
CatalogItem(slug="ops-release-observed", name="ops-release-observed"),
|
|
|
|
|
CatalogItem(slug="ops-restore-tested", name="ops-restore-tested"),
|
|
|
|
|
CatalogItem(slug="ops-risk-accepted", name="ops-risk-accepted"),
|
|
|
|
|
CatalogItem(slug="ops-risk-raised", name="ops-risk-raised"),
|
|
|
|
|
CatalogItem(slug="ops-runbook-executed", name="ops-runbook-executed"),
|
|
|
|
|
CatalogItem(slug="ops-service-discovered", name="ops-service-discovered"),
|
|
|
|
|
CatalogItem(slug="rejected_recommendation", name="Rejected Recommendation"),
|
|
|
|
|
CatalogItem(slug="retracted", name="Retracted"),
|
|
|
|
|
CatalogItem(slug="retried", name="Retried"),
|
|
|
|
|
CatalogItem(slug="submitted", name="Submitted"),
|
|
|
|
|
CatalogItem(slug="viewed", name="Viewed"),
|
2026-06-27 11:41:26 +02:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
ANNOTATION_CATEGORIES = [
|
|
|
|
|
CatalogItem(slug="operator-note", name="Operator Note"),
|
|
|
|
|
CatalogItem(slug="compatibility-delta", name="Compatibility Delta"),
|
|
|
|
|
CatalogItem(slug="migration-evidence", name="Migration Evidence"),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
POLICY_SCOPES = [
|
|
|
|
|
CatalogItem(slug="public-read", name="Public Read"),
|
|
|
|
|
CatalogItem(slug="hub-write", name="Hub Write"),
|
|
|
|
|
CatalogItem(slug="operator-admin", name="Operator Admin"),
|
|
|
|
|
]
|