agent-webui 2.7.0__tar.gz → 2.7.1__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.
Files changed (240) hide show
  1. {agent_webui-2.7.0 → agent_webui-2.7.1}/PKG-INFO +18 -18
  2. {agent_webui-2.7.0 → agent_webui-2.7.1}/README.md +17 -17
  3. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_browser_control.py +8 -8
  4. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_oidc_session.py +11 -11
  5. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_served_operations.py +25 -25
  6. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/api_extensions.py +11 -11
  7. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/__init__.py +2 -2
  8. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/browser_control.py +11 -11
  9. agent_webui-2.7.0/agent/agent_webui/dist/assets/AdminView-Cs7hxxlS.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/AdminView-BdhlXNuH.js +1 -1
  10. agent_webui-2.7.0/agent/agent_webui/dist/assets/AgentLibraryView-Ag9Aojn6.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/AgentLibraryView-CN9epMHd.js +1 -1
  11. agent_webui-2.7.0/agent/agent_webui/dist/assets/GraphOSReadinessView-CtUmTWrb.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ArboraReadinessView-BkGEkah-.js +1 -1
  12. agent_webui-2.7.0/agent/agent_webui/dist/assets/AtlasView-BNusEspP.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/AtlasView-De6w_9WH.js +1 -1
  13. agent_webui-2.7.0/agent/agent_webui/dist/assets/Availability-yN_kuNzm.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/Availability-Den2CaKK.js +1 -1
  14. agent_webui-2.7.0/agent/agent_webui/dist/assets/BrokerView-BRCZAdxA.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/BrokerView-DHE8-a7g.js +1 -1
  15. agent_webui-2.7.0/agent/agent_webui/dist/assets/CatalogueView-shPPzvnU.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/CatalogueView-B4K-jYbP.js +1 -1
  16. agent_webui-2.7.0/agent/agent_webui/dist/assets/ChartPage-CTCzfMHk.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ChartPage-CajmeMxT.js +1 -1
  17. agent_webui-2.7.0/agent/agent_webui/dist/assets/CodeGraphView-CS0svpOR.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/CodeGraphView-CUlMGeog.js +1 -1
  18. agent_webui-2.7.0/agent/agent_webui/dist/assets/ConfigurationView-CDjgXtn3.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ConfigurationView-QQbmt8FI.js +1 -1
  19. agent_webui-2.7.0/agent/agent_webui/dist/assets/ConsoleConfirmView-Ckzd9Jw9.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ConsoleConfirmView-DGgSpeYr.js +1 -1
  20. agent_webui-2.7.0/agent/agent_webui/dist/assets/ContactPage-Dm-6oGO-.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ContactPage-DVqe4ojO.js +1 -1
  21. agent_webui-2.7.0/agent/agent_webui/dist/assets/CypherReplView-B2QzDrb9.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/CypherReplView-BFVNSbHf.js +1 -1
  22. agent_webui-2.7.0/agent/agent_webui/dist/assets/DashboardView-BkwPaKer.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/DashboardView-JHHk8nfw.js +1 -1
  23. agent_webui-2.7.0/agent/agent_webui/dist/assets/DataAnalystView-Dr2XzApI.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/DataAnalystView-D2rDgmTE.js +1 -1
  24. agent_webui-2.7.1/agent/agent_webui/dist/assets/EcosystemView-BxdVgmYl.js +1 -0
  25. agent_webui-2.7.0/agent/agent_webui/dist/assets/ExtractionView-BxmIMrKZ.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ExtractionView-SIs5t7-2.js +1 -1
  26. agent_webui-2.7.0/agent/agent_webui/dist/assets/FilesView-DiD8xn9K.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/FilesView-B4kygc4_.js +1 -1
  27. agent_webui-2.7.0/agent/agent_webui/dist/assets/FleetView-DxlUh1er.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/FleetView-CqZBn2Gb.js +1 -1
  28. agent_webui-2.7.0/agent/agent_webui/dist/assets/GoalsView-BVpEoIAk.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/GoalsView-qftV4zVF.js +1 -1
  29. agent_webui-2.7.0/agent/agent_webui/dist/assets/Graph3DLodView-vJlLNz_w.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/Graph3DLodView-CNt0ZZ1f.js +1 -1
  30. agent_webui-2.7.0/agent/agent_webui/dist/assets/Graph3DView-CHkQLlqf.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/Graph3DView-DvrfNH4Y.js +1 -1
  31. agent_webui-2.7.0/agent/agent_webui/dist/assets/GraphCanvas-BuECakKk.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/GraphCanvas-CvF9sWHU.js +1 -1
  32. agent_webui-2.7.0/agent/agent_webui/dist/assets/GraphView-CSvUsYdN.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/GraphView-DtSYTFIU.js +1 -1
  33. agent_webui-2.7.0/agent/agent_webui/dist/assets/ImportExportModal-8VUb-C_9.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ImportExportModal-3aJofrNe.js +1 -1
  34. agent_webui-2.7.0/agent/agent_webui/dist/assets/IntegrationsView-Ddggu4Bl.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/IntegrationsView-DanxQx4E.js +1 -1
  35. agent_webui-2.7.0/agent/agent_webui/dist/assets/KnowledgeBaseView-BlW_kxs9.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/KnowledgeBaseView-DJzbVXf_.js +1 -1
  36. agent_webui-2.7.0/agent/agent_webui/dist/assets/KnowledgeView-CmJp5V4M.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/KnowledgeView-0lzdQNlj.js +1 -1
  37. agent_webui-2.7.0/agent/agent_webui/dist/assets/LLMTemplatesView-Byu7WJwR.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/LLMTemplatesView-DpYhR3Rz.js +1 -1
  38. agent_webui-2.7.0/agent/agent_webui/dist/assets/LearnView-D3j-JxlJ.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/LearnView-CyFpsc5N.js +1 -1
  39. agent_webui-2.7.1/agent/agent_webui/dist/assets/LiveDashboardsView-ESAfLAEw.js +1 -0
  40. agent_webui-2.7.0/agent/agent_webui/dist/assets/MagmaView-DRoXXXku.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MagmaView-DeUYSUus.js +1 -1
  41. agent_webui-2.7.0/agent/agent_webui/dist/assets/MarketsCalendar-6QKahzMR.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MarketsCalendar-BJ4xSyWw.js +1 -1
  42. agent_webui-2.7.0/agent/agent_webui/dist/assets/MarketsHome-D_yfCf8S.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MarketsHome-CbspJWR4.js +1 -1
  43. agent_webui-2.7.0/agent/agent_webui/dist/assets/MarketsMenu-W9BPQY9z.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MarketsMenu-DHt2G1_0.js +1 -1
  44. agent_webui-2.7.0/agent/agent_webui/dist/assets/MarketsNews-BUSn6A_z.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MarketsNews-DZwg_as1.js +1 -1
  45. agent_webui-2.7.0/agent/agent_webui/dist/assets/MarketsPortfolio-B1n7zsFf.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MarketsPortfolio-DMM4Yl1Q.js +1 -1
  46. agent_webui-2.7.0/agent/agent_webui/dist/assets/MarketsShell-9oj-VJzp.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MarketsShell-C1x1kWh-.js +1 -1
  47. agent_webui-2.7.0/agent/agent_webui/dist/assets/McpAppsView-Dix46AWV.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/McpAppsView-l-sCScNo.js +1 -1
  48. agent_webui-2.7.0/agent/agent_webui/dist/assets/MemoryView-B_zuf2qi.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/MemoryView-Dghm1rMT.js +1 -1
  49. agent_webui-2.7.0/agent/agent_webui/dist/assets/NodeTypeBreakdown-Y3fOgxdQ.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/NodeTypeBreakdown-Aede8Ovl.js +1 -1
  50. agent_webui-2.7.1/agent/agent_webui/dist/assets/NotFoundPage-y3NN-QVf.js +1 -0
  51. agent_webui-2.7.0/agent/agent_webui/dist/assets/Notices-sQ0Ua11R.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/Notices-D17hdIJE.js +1 -1
  52. agent_webui-2.7.0/agent/agent_webui/dist/assets/ObjectExplorerView-2XFjU1WB.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ObjectExplorerView-DdPfSjOg.js +1 -1
  53. agent_webui-2.7.0/agent/agent_webui/dist/assets/ObjectView-BRD__NZN.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ObjectView-DG1Z_OYW.js +1 -1
  54. agent_webui-2.7.0/agent/agent_webui/dist/assets/ObservabilityView-BSn_K6uW.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ObservabilityView-Ce5o66gv.js +1 -1
  55. agent_webui-2.7.0/agent/agent_webui/dist/assets/OpsPanelView-DZ1SemuU.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/OpsPanelView-CDke42HU.js +1 -1
  56. agent_webui-2.7.0/agent/agent_webui/dist/assets/PrivacyPage-gVB_yGWv.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/PrivacyPage-DypYppFK.js +1 -1
  57. agent_webui-2.7.0/agent/agent_webui/dist/assets/PromptsView-CW6bS2tH.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/PromptsView-C0soAhv5.js +1 -1
  58. agent_webui-2.7.0/agent/agent_webui/dist/assets/PublicPageLayout-CHk4A2yh.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/PublicPageLayout-1ji-4LZL.js +1 -1
  59. agent_webui-2.7.0/agent/agent_webui/dist/assets/SDDView-BMi6ZQhI.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SDDView-B0meX0p3.js +1 -1
  60. agent_webui-2.7.0/agent/agent_webui/dist/assets/SchedulingView-D6IhdqFv.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SchedulingView-DvwK95G0.js +1 -1
  61. agent_webui-2.7.0/agent/agent_webui/dist/assets/SchemaView-D-LgmDSd.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SchemaView-o5YEfujF.js +1 -1
  62. agent_webui-2.7.0/agent/agent_webui/dist/assets/SessionsView-B85jEvq4.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SessionsView-DSoZk_Lz.js +1 -1
  63. agent_webui-2.7.0/agent/agent_webui/dist/assets/SharePage-DBAuPQMH.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SharePage-5sxMYGoz.js +1 -1
  64. agent_webui-2.7.0/agent/agent_webui/dist/assets/SkillsView-ltbBnnOs.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SkillsView-CL-inq1F.js +1 -1
  65. agent_webui-2.7.0/agent/agent_webui/dist/assets/SparqlView-uiz8nit1.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SparqlView-Duik6wYZ.js +1 -1
  66. agent_webui-2.7.0/agent/agent_webui/dist/assets/SystemStatusView-DeOdQhhd.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/SystemStatusView-D7PxxotJ.js +1 -1
  67. agent_webui-2.7.0/agent/agent_webui/dist/assets/TableExplorerView-B9CIcsWB.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/TableExplorerView-Jt0S_NKW.js +1 -1
  68. agent_webui-2.7.0/agent/agent_webui/dist/assets/TemporalGraphView-BL_ULue5.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/TemporalGraphView-DF-se9oo.js +1 -1
  69. agent_webui-2.7.0/agent/agent_webui/dist/assets/TermsPage-DMeD_5ME.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/TermsPage-CDnQDbgV.js +1 -1
  70. agent_webui-2.7.0/agent/agent_webui/dist/assets/ThankYouPage-CupbLv10.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/ThankYouPage-BvFj5K9A.js +1 -1
  71. agent_webui-2.7.0/agent/agent_webui/dist/assets/TrendBadge-BPuE-pRH.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/TrendBadge-DFvlzJv5.js +1 -1
  72. agent_webui-2.7.0/agent/agent_webui/dist/assets/UsageView-DdzMku0x.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/UsageView-exhd6ewz.js +1 -1
  73. agent_webui-2.7.0/agent/agent_webui/dist/assets/UserManagementView-CVpJ2yEt.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/UserManagementView-DFsbzkZb.js +1 -1
  74. agent_webui-2.7.0/agent/agent_webui/dist/assets/VertexView-ClrbQVzt.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/VertexView-E0vs0cRH.js +1 -1
  75. agent_webui-2.7.0/agent/agent_webui/dist/assets/VizDemoView-ad7BvGXc.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/VizDemoView-Bt3r5KAC.js +1 -1
  76. agent_webui-2.7.0/agent/agent_webui/dist/assets/WorkflowEditorView-BdrKmw4Y.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/WorkflowEditorView-6bMv23QZ.js +1 -1
  77. agent_webui-2.7.0/agent/agent_webui/dist/assets/WorkspaceIDEView-2E-ni7lf.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/WorkspaceIDEView-BXzXC4zp.js +1 -1
  78. agent_webui-2.7.1/agent/agent_webui/dist/assets/identity-C3qnrvHo.js +1 -0
  79. agent_webui-2.7.0/agent/agent_webui/dist/assets/index-CvBBCrBf.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/index-B3Hz4lzB.js +6 -6
  80. agent_webui-2.7.0/agent/agent_webui/dist/assets/model-CcBWpHSX.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/model-C4AzLQrj.js +1 -1
  81. agent_webui-2.7.0/agent/agent_webui/dist/assets/queries-D0kNjy2X.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/queries-PjkfUoGJ.js +1 -1
  82. agent_webui-2.7.0/agent/agent_webui/dist/assets/status-message-eVvQOUJt.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/status-message-ovrDYMYX.js +1 -1
  83. agent_webui-2.7.0/agent/agent_webui/dist/assets/tabs-CjTe9LxQ.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/tabs-BxSTPadT.js +1 -1
  84. agent_webui-2.7.0/agent/agent_webui/dist/assets/useMutation-IxXdlsmq.js → agent_webui-2.7.1/agent/agent_webui/dist/assets/useMutation-Bjdc9UtI.js +1 -1
  85. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/index.html +9 -9
  86. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/og-image-v1.svg +3 -3
  87. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/site.webmanifest +3 -3
  88. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/spa-routes.json +1 -1
  89. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/host.py +22 -22
  90. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/observability.py +2 -2
  91. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/oidc_session.py +2 -2
  92. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/orchestrator_model.py +4 -4
  93. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/server.py +11 -11
  94. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/agent-webui-development/SKILL.md +5 -5
  95. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/kg-webui-admin/SKILL.md +1 -1
  96. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/kg-webui-dashboards/SKILL.md +1 -1
  97. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/kg-webui-extraction/SKILL.md +1 -1
  98. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/kg-webui-graphviz/SKILL.md +1 -1
  99. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/kg-webui-ontology-operator/SKILL.md +1 -1
  100. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/kg-webui-swe/SKILL.md +1 -1
  101. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui.egg-info/PKG-INFO +18 -18
  102. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui.egg-info/SOURCES.txt +76 -76
  103. {agent_webui-2.7.0 → agent_webui-2.7.1}/pyproject.toml +1 -1
  104. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_identity_boundary.py +1 -1
  105. agent_webui-2.7.0/agent/agent_webui/dist/assets/EcosystemView-BpZrGFno.js +0 -1
  106. agent_webui-2.7.0/agent/agent_webui/dist/assets/LiveDashboardsView-DdZYsTjr.js +0 -1
  107. agent_webui-2.7.0/agent/agent_webui/dist/assets/NotFoundPage-C3OUDkZ6.js +0 -1
  108. agent_webui-2.7.0/agent/agent_webui/dist/assets/identity-DVvTRidn.js +0 -1
  109. {agent_webui-2.7.0 → agent_webui-2.7.1}/LICENSE +0 -0
  110. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__init__.py +0 -0
  111. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/conftest.py +0 -0
  112. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_api_extensions.py +0 -0
  113. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_bound_sweep_regressions.py +0 -0
  114. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_bug_012_github_gitlab_contract.py +0 -0
  115. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_chat_resource_routes.py +0 -0
  116. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_contact_delivery.py +0 -0
  117. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_files_endpoints.py +0 -0
  118. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_host.py +0 -0
  119. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_markets_app.py +0 -0
  120. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_observability.py +0 -0
  121. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_parity_contract.py +0 -0
  122. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_pydantic_ai_compat.py +0 -0
  123. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_rbac.py +0 -0
  124. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_security_boundaries.py +0 -0
  125. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_spa_http_status.py +0 -0
  126. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/__tests__/test_workspace_helpers_chokepoint.py +0 -0
  127. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/__init__.py +0 -0
  128. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/catalog.py +0 -0
  129. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/chart.py +0 -0
  130. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/gateway.py +0 -0
  131. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/router.py +0 -0
  132. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/scanner.py +0 -0
  133. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/series.py +0 -0
  134. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/session.py +0 -0
  135. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/snapshots.py +0 -0
  136. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/apps/markets/timeframes.py +0 -0
  137. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/browser_control_canonical.py +0 -0
  138. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/contact_delivery.py +0 -0
  139. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/apple-touch-icon.png +0 -0
  140. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/ChartPanel-Cxpkw3a6.js +0 -0
  141. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/InterVariable-DiVDrmQJ.woff2 +0 -0
  142. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/LegalPageContent-BmhwYoKV.js +0 -0
  143. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/SessionExpiredNotice-CMttDxWl.js +0 -0
  144. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/WorkflowEditorView-DLioOiRN.css +0 -0
  145. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/activity-DupAOJCR.js +0 -0
  146. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/api-jtHn_WxH.js +0 -0
  147. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/api-validation-CCoR_LRu.js +0 -0
  148. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/app-window-KMAPJoaW.js +0 -0
  149. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/badge-nQZ87mVE.js +0 -0
  150. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/braces-BNz2iAeD.js +0 -0
  151. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/bundle-mjs-DIyOrgL5.js +0 -0
  152. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/check-CPVKKX8l.js +0 -0
  153. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/chevron-down-DYWnPQti.js +0 -0
  154. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/chevron-left-BaGXvfgm.js +0 -0
  155. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/chevron-right-gs8WU8XT.js +0 -0
  156. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/chevron-up-C-rjGU5C.js +0 -0
  157. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/chunk-D32TOXHM-KueescCg.js +0 -0
  158. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/circle-alert-ByZ-1ERr.js +0 -0
  159. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/contact-C94LhKRg.js +0 -0
  160. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/createLucideIcon-DTQSidPf.js +0 -0
  161. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-2txhAIHO.js +0 -0
  162. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-BHmo3Yb6.js +0 -0
  163. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-BKkt828_.js +0 -0
  164. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-BLRfKgTy.js +0 -0
  165. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-BjAObXUn.js +0 -0
  166. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-Bq6o2UDR.js +0 -0
  167. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-CWmwEm73.js +0 -0
  168. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-DMVqwVuR.js +0 -0
  169. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-DcreYulP.js +0 -0
  170. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/dist-mp1aFJDC.js +0 -0
  171. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/es2015-CgZynitj.js +0 -0
  172. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/external-link-Dyd5OsGm.js +0 -0
  173. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/eye-D0gCj30e.js +0 -0
  174. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/file-text-DqorJKDA.js +0 -0
  175. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/folder-open-BrzeUmMg.js +0 -0
  176. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/format-DHsGNrOH.js +0 -0
  177. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/funnel-Y4IuN8Q7.js +0 -0
  178. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/graphology-layout-forceatlas2-CF_uOjtN.js +0 -0
  179. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/hard-drive-9fR5RFS9.js +0 -0
  180. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/highlighted-body-KQOG7T2V-qSdnQsR5.js +0 -0
  181. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/hourglass-1ui486hR.js +0 -0
  182. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/index-BRlMMQsQ.css +0 -0
  183. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/layout-grid-B4IFpzLD.js +0 -0
  184. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/layout.worker-CnC9u5pP.js +0 -0
  185. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/link-2-a9RZxW2S.js +0 -0
  186. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/mermaid-MCJ5UELQ-F6vEfdbO.js +0 -0
  187. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/play-D3mjq--Q.js +0 -0
  188. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/plus-s20KYBeu.js +0 -0
  189. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/preload-helper-CRzLMJPS.js +0 -0
  190. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/react-dom-DAxA-E-a.js +0 -0
  191. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/refresh-cw-BVhl5aJX.js +0 -0
  192. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/save-CuEdPPgC.js +0 -0
  193. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/scan-search-GrqJngl3.js +0 -0
  194. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/scroll-area-srEWz9Q3.js +0 -0
  195. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/server-CE-xbAAj.js +0 -0
  196. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/sliders-vertical-Cr4E50uY.js +0 -0
  197. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/sparkles-Bae0tRI0.js +0 -0
  198. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/switch-B9Yml2pU.js +0 -0
  199. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/tag-D1RiwxuF.js +0 -0
  200. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/theme-colors-DKGWsgC0.js +0 -0
  201. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/transport-Din6U5N9.js +0 -0
  202. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/unavailable-notice-B7WdWNor.js +0 -0
  203. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/upload-DcybBZCN.js +0 -0
  204. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/useQuery-BGefm_dX.js +0 -0
  205. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/utils-C0okervd.js +0 -0
  206. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/wifi-off-Dz91unNp.js +0 -0
  207. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/assets/x-BdA_yxUR.js +0 -0
  208. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/favicon-16x16.png +0 -0
  209. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/favicon-32x32.png +0 -0
  210. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/favicon-48x48.png +0 -0
  211. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/favicon.ico +0 -0
  212. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/favicon.png +0 -0
  213. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/favicon.svg +0 -0
  214. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/icon-192x192.png +0 -0
  215. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/icon-512x512.png +0 -0
  216. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/og-image-v1.png +0 -0
  217. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/robots.txt +0 -0
  218. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/dist/sitemap.xml +0 -0
  219. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/icon.png +0 -0
  220. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/public_shell.py +0 -0
  221. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/rbac.py +0 -0
  222. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui/skills/__init__.py +0 -0
  223. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui.egg-info/dependency_links.txt +0 -0
  224. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui.egg-info/entry_points.txt +0 -0
  225. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui.egg-info/requires.txt +0 -0
  226. {agent_webui-2.7.0 → agent_webui-2.7.1}/agent/agent_webui.egg-info/top_level.txt +0 -0
  227. {agent_webui-2.7.0 → agent_webui-2.7.1}/setup.cfg +0 -0
  228. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_dashboard_entrypoint.py +0 -0
  229. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_eslint_hook_contract.py +0 -0
  230. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_gate_wrappers.py +0 -0
  231. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_graph_visualization.py +0 -0
  232. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_health_liveness_endpoint.py +0 -0
  233. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_init.py +0 -0
  234. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_log_failure_error_code.py +0 -0
  235. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_package_author_privacy.py +0 -0
  236. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_privacy_boundaries.py +0 -0
  237. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_release_concurrency.py +0 -0
  238. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_release_gate_order.py +0 -0
  239. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_release_publication.py +0 -0
  240. {agent_webui-2.7.0 → agent_webui-2.7.1}/tests/test_startup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-webui
3
- Version: 2.7.0
3
+ Version: 2.7.1
4
4
  Summary: Agent Web Interface for Pydantic AI Agents
5
5
  Author-email: Repository Maintainers <maintainers@knuckles.team>
6
6
  License: MIT
@@ -41,14 +41,14 @@ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.65b0; extra == "test"
41
41
  Requires-Dist: opentelemetry-instrumentation-asgi>=0.65b0; extra == "test"
42
42
  Dynamic: license-file
43
43
 
44
- # Graph OS web UI
44
+ # Arbora web UI
45
45
 
46
46
  <p align="center">
47
- <img src="docs/assets/brands/agent-webui-logo-v1.png" alt="Graph OS Agent Web UI logo" width="160" />
47
+ <img src="docs/assets/brands/agent-webui-logo-v1.png" alt="Arbora Agent Web UI logo" width="160" />
48
48
  </p>
49
49
 
50
50
  <p align="center">
51
- <strong>The browser workspace for governed agents, workflows, and knowledge in Graph OS.</strong><br>
51
+ <strong>The browser workspace for governed agents, workflows, and knowledge in Arbora.</strong><br>
52
52
  <sub>Conversations · approvals · workflows · fleet activity · Atlas knowledge views</sub>
53
53
  </p>
54
54
 
@@ -88,16 +88,16 @@ Dynamic: license-file
88
88
 
89
89
  ## Overview
90
90
 
91
- Graph OS Agent Web UI is the browser workspace composed by Graph OS. It brings agent
91
+ Arbora Agent Web UI is the browser workspace composed by Arbora. It brings agent
92
92
  conversations, approvals, workflows, fleet activity, and Epistemic Graph
93
93
  exploration into one React application. Its FastAPI host keeps privileged
94
94
  credentials and gateway delegation on the server side.
95
95
 
96
96
  | Agent Web UI owns | Other components own |
97
97
  |---|---|
98
- | Browser presentation, local interaction state, accessible route composition, and the FastAPI boundary | Graph OS owns public routing, identity, policy, and fleet supervision; Agent Utilities owns agent behavior; Epistemic Graph owns durable knowledge; connector services own external-system effects |
98
+ | Browser presentation, local interaction state, accessible route composition, and the FastAPI boundary | Arbora owns public routing, identity, policy, and fleet supervision; Agent Utilities owns agent behavior; Epistemic Graph owns durable knowledge; connector services own external-system effects |
99
99
 
100
- Current package Version: 2.7.0.
100
+ Current package Version: 2.7.1.
101
101
 
102
102
  ## Key capabilities
103
103
 
@@ -106,7 +106,7 @@ Current package Version: 2.7.0.
106
106
  - Explore property graphs, RDF, schemas, objects, tables, documents, code, and memories through Atlas and Epistemic Graph.
107
107
  - Discover MCP Apps and connector capabilities without exposing service credentials to the browser.
108
108
  - Apply one role-aware navigation and server authorization model across the complete workspace.
109
- - Run as the Graph OS-hosted browser co-service or as an independently deployed ASGI application.
109
+ - Run as the Arbora-hosted browser co-service or as an independently deployed ASGI application.
110
110
 
111
111
  ## Documentation
112
112
 
@@ -118,20 +118,20 @@ then use the shared platform map to move between components:
118
118
  | Agent Web UI | Browser operator workspace and Atlas knowledge views | [Docs](https://knuckles-team.github.io/agent-webui/) |
119
119
  | Agent Terminal UI | Terminal and headless client; REST operations are available, with no ACP conversational path | [Docs](https://knuckles-team.github.io/agent-terminal-ui/) |
120
120
  | Geniusbot | Desktop cockpit for chat, graph, fleet, health, and operator workflows | [Docs](https://knuckles-team.github.io/geniusbot/) |
121
- | Graph OS messaging | Hosts chat and voice entrypoints; Agent Utilities supplies adapter and routing behavior | [Docs](https://knuckles-team.github.io/graph-os/) |
122
- | Graph OS | Public MCP, REST, A2A, identity, policy, and runtime composition | [Docs](https://knuckles-team.github.io/graph-os/) |
121
+ | Arbora messaging | Hosts chat and voice entrypoints; Agent Utilities supplies adapter and routing behavior | [Docs](https://knuckles-team.github.io/arbora/) |
122
+ | Arbora | Public MCP, REST, A2A, identity, policy, and runtime composition | [Docs](https://knuckles-team.github.io/arbora/) |
123
123
  | Agent Utilities | Agent decisions, workflows, evaluation, and skills | [Docs](https://knuckles-team.github.io/agent-utilities/) |
124
124
  | Epistemic Graph | Durable multimodal data, reasoning, provenance, and transactions | [Docs](https://knuckles-team.github.io/epistemic-graph/) |
125
125
  | Agent Connector SDK | Typed source adapters, connector serving, and write-back contracts | [Docs](https://knuckles-team.github.io/agent-connector-sdk/) |
126
126
 
127
127
  ## Architecture
128
128
 
129
- ![Runtime architecture: people use Agent Web UI, Agent Terminal UI, Geniusbot, and Graph OS-hosted messaging. MCP, REST, and A2A clients enter through Graph OS; source systems flow through Agent Connector SDK into Epistemic Graph.](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)
129
+ ![Runtime architecture: people use Agent Web UI, Agent Terminal UI, Geniusbot, and Arbora-hosted messaging. MCP, REST, and A2A clients enter through Arbora; source systems flow through Agent Connector SDK into Epistemic Graph.](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)
130
130
 
131
- People also enter through Agent Terminal UI and Geniusbot or Graph OS-hosted
131
+ People also enter through Agent Terminal UI and Geniusbot or Arbora-hosted
132
132
  messaging; Agent Terminal UI exposes REST operations, with no ACP conversational
133
133
  path. External applications connect over MCP, REST, or A2A. The browser talks
134
- only to its same-origin FastAPI host. Graph OS injects gateway routes and
134
+ only to its same-origin FastAPI host. Arbora injects gateway routes and
135
135
  verified request context, then delegates agent behavior to Agent Utilities and
136
136
  durable knowledge to Epistemic Graph. Source systems connect through Agent
137
137
  Connector SDK directly to Epistemic Graph. Agent Web UI renders typed results
@@ -142,15 +142,15 @@ for the request flow and trust boundaries.
142
142
 
143
143
  ## Quick start
144
144
 
145
- Generate a local profile and start Graph OS with Agent Web UI enabled:
145
+ Generate a local profile and start Arbora with Agent Web UI enabled:
146
146
 
147
147
  ```bash
148
- uvx --from "graph-os[webui]" setup-config generate --profile tiny
148
+ uvx --from "arbora[webui]" setup-config generate --profile tiny
149
149
  export ENABLE_WEB_UI=true
150
- uvx --from "graph-os[webui]" graph-os --transport streamable-http --host 127.0.0.1 --port 8000
150
+ uvx --from "arbora[webui]" arbora --transport streamable-http --host 127.0.0.1 --port 8000
151
151
  ```
152
152
 
153
- Open <http://127.0.0.1:8080>. Graph OS serves MCP on port `8000` and the Agent
153
+ Open <http://127.0.0.1:8080>. Arbora serves MCP on port `8000` and the Agent
154
154
  Web UI co-service on port `8080`. The [start guide](https://knuckles-team.github.io/agent-webui/start/)
155
155
  covers local source development and deployment profiles.
156
156
 
@@ -162,4 +162,4 @@ before opening a pull request.
162
162
 
163
163
  ## License
164
164
 
165
- Graph OS Agent Web UI is available under the [MIT License](LICENSE).
165
+ Arbora Agent Web UI is available under the [MIT License](LICENSE).
@@ -1,11 +1,11 @@
1
- # Graph OS web UI
1
+ # Arbora web UI
2
2
 
3
3
  <p align="center">
4
- <img src="docs/assets/brands/agent-webui-logo-v1.png" alt="Graph OS Agent Web UI logo" width="160" />
4
+ <img src="docs/assets/brands/agent-webui-logo-v1.png" alt="Arbora Agent Web UI logo" width="160" />
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <strong>The browser workspace for governed agents, workflows, and knowledge in Graph OS.</strong><br>
8
+ <strong>The browser workspace for governed agents, workflows, and knowledge in Arbora.</strong><br>
9
9
  <sub>Conversations · approvals · workflows · fleet activity · Atlas knowledge views</sub>
10
10
  </p>
11
11
 
@@ -45,16 +45,16 @@
45
45
 
46
46
  ## Overview
47
47
 
48
- Graph OS Agent Web UI is the browser workspace composed by Graph OS. It brings agent
48
+ Arbora Agent Web UI is the browser workspace composed by Arbora. It brings agent
49
49
  conversations, approvals, workflows, fleet activity, and Epistemic Graph
50
50
  exploration into one React application. Its FastAPI host keeps privileged
51
51
  credentials and gateway delegation on the server side.
52
52
 
53
53
  | Agent Web UI owns | Other components own |
54
54
  |---|---|
55
- | Browser presentation, local interaction state, accessible route composition, and the FastAPI boundary | Graph OS owns public routing, identity, policy, and fleet supervision; Agent Utilities owns agent behavior; Epistemic Graph owns durable knowledge; connector services own external-system effects |
55
+ | Browser presentation, local interaction state, accessible route composition, and the FastAPI boundary | Arbora owns public routing, identity, policy, and fleet supervision; Agent Utilities owns agent behavior; Epistemic Graph owns durable knowledge; connector services own external-system effects |
56
56
 
57
- Current package Version: 2.7.0.
57
+ Current package Version: 2.7.1.
58
58
 
59
59
  ## Key capabilities
60
60
 
@@ -63,7 +63,7 @@ Current package Version: 2.7.0.
63
63
  - Explore property graphs, RDF, schemas, objects, tables, documents, code, and memories through Atlas and Epistemic Graph.
64
64
  - Discover MCP Apps and connector capabilities without exposing service credentials to the browser.
65
65
  - Apply one role-aware navigation and server authorization model across the complete workspace.
66
- - Run as the Graph OS-hosted browser co-service or as an independently deployed ASGI application.
66
+ - Run as the Arbora-hosted browser co-service or as an independently deployed ASGI application.
67
67
 
68
68
  ## Documentation
69
69
 
@@ -75,20 +75,20 @@ then use the shared platform map to move between components:
75
75
  | Agent Web UI | Browser operator workspace and Atlas knowledge views | [Docs](https://knuckles-team.github.io/agent-webui/) |
76
76
  | Agent Terminal UI | Terminal and headless client; REST operations are available, with no ACP conversational path | [Docs](https://knuckles-team.github.io/agent-terminal-ui/) |
77
77
  | Geniusbot | Desktop cockpit for chat, graph, fleet, health, and operator workflows | [Docs](https://knuckles-team.github.io/geniusbot/) |
78
- | Graph OS messaging | Hosts chat and voice entrypoints; Agent Utilities supplies adapter and routing behavior | [Docs](https://knuckles-team.github.io/graph-os/) |
79
- | Graph OS | Public MCP, REST, A2A, identity, policy, and runtime composition | [Docs](https://knuckles-team.github.io/graph-os/) |
78
+ | Arbora messaging | Hosts chat and voice entrypoints; Agent Utilities supplies adapter and routing behavior | [Docs](https://knuckles-team.github.io/arbora/) |
79
+ | Arbora | Public MCP, REST, A2A, identity, policy, and runtime composition | [Docs](https://knuckles-team.github.io/arbora/) |
80
80
  | Agent Utilities | Agent decisions, workflows, evaluation, and skills | [Docs](https://knuckles-team.github.io/agent-utilities/) |
81
81
  | Epistemic Graph | Durable multimodal data, reasoning, provenance, and transactions | [Docs](https://knuckles-team.github.io/epistemic-graph/) |
82
82
  | Agent Connector SDK | Typed source adapters, connector serving, and write-back contracts | [Docs](https://knuckles-team.github.io/agent-connector-sdk/) |
83
83
 
84
84
  ## Architecture
85
85
 
86
- ![Runtime architecture: people use Agent Web UI, Agent Terminal UI, Geniusbot, and Graph OS-hosted messaging. MCP, REST, and A2A clients enter through Graph OS; source systems flow through Agent Connector SDK into Epistemic Graph.](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)
86
+ ![Runtime architecture: people use Agent Web UI, Agent Terminal UI, Geniusbot, and Arbora-hosted messaging. MCP, REST, and A2A clients enter through Arbora; source systems flow through Agent Connector SDK into Epistemic Graph.](https://raw.githubusercontent.com/Knuckles-Team/epistemic-graph/main/docs/assets/runtime-architecture.svg)
87
87
 
88
- People also enter through Agent Terminal UI and Geniusbot or Graph OS-hosted
88
+ People also enter through Agent Terminal UI and Geniusbot or Arbora-hosted
89
89
  messaging; Agent Terminal UI exposes REST operations, with no ACP conversational
90
90
  path. External applications connect over MCP, REST, or A2A. The browser talks
91
- only to its same-origin FastAPI host. Graph OS injects gateway routes and
91
+ only to its same-origin FastAPI host. Arbora injects gateway routes and
92
92
  verified request context, then delegates agent behavior to Agent Utilities and
93
93
  durable knowledge to Epistemic Graph. Source systems connect through Agent
94
94
  Connector SDK directly to Epistemic Graph. Agent Web UI renders typed results
@@ -99,15 +99,15 @@ for the request flow and trust boundaries.
99
99
 
100
100
  ## Quick start
101
101
 
102
- Generate a local profile and start Graph OS with Agent Web UI enabled:
102
+ Generate a local profile and start Arbora with Agent Web UI enabled:
103
103
 
104
104
  ```bash
105
- uvx --from "graph-os[webui]" setup-config generate --profile tiny
105
+ uvx --from "arbora[webui]" setup-config generate --profile tiny
106
106
  export ENABLE_WEB_UI=true
107
- uvx --from "graph-os[webui]" graph-os --transport streamable-http --host 127.0.0.1 --port 8000
107
+ uvx --from "arbora[webui]" arbora --transport streamable-http --host 127.0.0.1 --port 8000
108
108
  ```
109
109
 
110
- Open <http://127.0.0.1:8080>. Graph OS serves MCP on port `8000` and the Agent
110
+ Open <http://127.0.0.1:8080>. Arbora serves MCP on port `8000` and the Agent
111
111
  Web UI co-service on port `8080`. The [start guide](https://knuckles-team.github.io/agent-webui/start/)
112
112
  covers local source development and deployment profiles.
113
113
 
@@ -119,4 +119,4 @@ before opening a pull request.
119
119
 
120
120
  ## License
121
121
 
122
- Graph OS Agent Web UI is available under the [MIT License](LICENSE).
122
+ Arbora Agent Web UI is available under the [MIT License](LICENSE).
@@ -1,4 +1,4 @@
1
- """Live-path and trust-boundary tests for the Graph OS browser channel."""
1
+ """Live-path and trust-boundary tests for the Arbora browser channel."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
@@ -75,7 +75,7 @@ class RecordingConnection:
75
75
  self.messages.append(message)
76
76
  if message.type == 'catalog.register':
77
77
  return {
78
- 'authority': 'graph-os',
78
+ 'authority': 'arbora',
79
79
  'route_id': message.route_id,
80
80
  'registration_generation': message.registration_generation,
81
81
  'catalog_digest': message.catalog_digest,
@@ -130,7 +130,7 @@ class _AuCancel(BaseModel):
130
130
 
131
131
 
132
132
  class RecordingPort:
133
- authority = 'graph-os'
133
+ authority = 'arbora'
134
134
  supports_durable_fences = True
135
135
  supports_durable_audit = True
136
136
  supports_attended_leases = True
@@ -174,7 +174,7 @@ class FailingOpenPort(RecordingPort):
174
174
 
175
175
  async def open_channel(self, binding: BrowserControlBinding, send: Any) -> Any:
176
176
  self.bindings.append(binding)
177
- raise RuntimeError('synthetic Graph OS open failure')
177
+ raise RuntimeError('synthetic Arbora open failure')
178
178
 
179
179
  async def revoke_attended_arm(self, binding: BrowserControlBinding) -> Any:
180
180
  self.revoked.append(binding)
@@ -482,7 +482,7 @@ def test_structural_au_message_is_validated_and_sent_to_browser(
482
482
  assert websocket.receive_json() == {
483
483
  'protocol': 'webmcp.control.v1',
484
484
  'type': 'channel.ready',
485
- 'authority': 'graph-os',
485
+ 'authority': 'arbora',
486
486
  'route_id': 'knowledge.graph',
487
487
  'registration_generation': 7,
488
488
  'catalog_digest': _CATALOG_DIGEST,
@@ -541,7 +541,7 @@ def test_one_injected_connection_handles_every_browser_event_and_outbound_send(
541
541
  ) as websocket:
542
542
  websocket.send_json(_OPEN)
543
543
  websocket.send_json(_CATALOG)
544
- assert websocket.receive_json()['authority'] == 'graph-os'
544
+ assert websocket.receive_json()['authority'] == 'arbora'
545
545
  for event in events:
546
546
  websocket.send_json(event)
547
547
  assert websocket.receive_json() == {
@@ -560,7 +560,7 @@ def test_one_injected_connection_handles_every_browser_event_and_outbound_send(
560
560
  ]
561
561
 
562
562
 
563
- def test_channel_ready_refuses_a_tampered_graph_os_catalog_receipt(
563
+ def test_channel_ready_refuses_a_tampered_arbora_catalog_receipt(
564
564
  mock_agent: Any,
565
565
  monkeypatch: pytest.MonkeyPatch,
566
566
  ) -> None:
@@ -852,7 +852,7 @@ def test_duplicate_tool_id_with_a_different_version_is_rejected(
852
852
  [{**_CATALOG['tools'][0], 'required_roles': ['é']}],
853
853
  ],
854
854
  )
855
- def test_catalog_descriptor_invariants_fail_before_graph_os(
855
+ def test_catalog_descriptor_invariants_fail_before_arbora(
856
856
  mock_agent: Any,
857
857
  monkeypatch: pytest.MonkeyPatch,
858
858
  tools: list[dict[str, Any]],
@@ -560,8 +560,8 @@ async def test_a_caller_with_its_own_bearer_is_never_given_a_browser_session():
560
560
  authorization = [v for k, v in seen['headers'] if k.lower() == b'authorization']
561
561
  assert authorization == [b'Bearer service-token']
562
562
  assert 'browser_login_session_ref' not in seen['state']
563
- assert seen['state'].get('graphos_session_admitted') is not True
564
- assert 'graphos_console_mfa_at_ms' not in seen['state']
563
+ assert seen['state'].get('arbora_session_admitted') is not True
564
+ assert 'arbora_console_mfa_at_ms' not in seen['state']
565
565
 
566
566
 
567
567
  @pytest.mark.anyio
@@ -591,10 +591,10 @@ async def test_a_valid_session_is_forwarded_as_the_users_own_bearer():
591
591
  assert login_ref.startswith('login_')
592
592
  assert len(login_ref) == 70
593
593
  assert 'users-own-token' not in login_ref
594
- # This is a legacy sealed Keycloak cookie, not a live GraphOS identity
595
- # broker session. Only GraphOS IdentityGate may set the admission marker.
596
- assert seen['state'].get('graphos_session_admitted') is not True
597
- assert 'graphos_console_mfa_at_ms' not in seen['state']
594
+ # This is a legacy sealed Keycloak cookie, not a live Arbora identity
595
+ # broker session. Only Arbora IdentityGate may set the admission marker.
596
+ assert seen['state'].get('arbora_session_admitted') is not True
597
+ assert 'arbora_console_mfa_at_ms' not in seen['state']
598
598
 
599
599
 
600
600
  @pytest.mark.anyio
@@ -1229,7 +1229,7 @@ async def test_finalize_consumes_recent_auth_once_and_mints_exact_arm(monkeypatc
1229
1229
  revoked: list = []
1230
1230
 
1231
1231
  class Port:
1232
- authority = 'graph-os'
1232
+ authority = 'arbora'
1233
1233
  supports_durable_fences = True
1234
1234
  supports_durable_audit = True
1235
1235
  supports_attended_leases = True
@@ -1457,13 +1457,13 @@ def anyio_backend():
1457
1457
 
1458
1458
  # --------------------------------------------------- browser session evidence
1459
1459
  #
1460
- # graph-os's browser identity producer (``graph_os.identity.broker
1461
- # .GraphOSBrowserAuthority``) is the real caller of this port: it verifies a
1462
- # live ``__Host-graphos_session`` cookie, then calls this exact chokepoint to
1460
+ # arbora's browser identity producer (``arbora.identity.broker
1461
+ # .ArboraBrowserAuthority``) is the real caller of this port: it verifies a
1462
+ # live ``__Host-arbora_session`` cookie, then calls this exact chokepoint to
1463
1463
  # turn its own owner-verified evidence into the MFA timestamp its HTTP/MCP
1464
1464
  # caller projection needs. These tests exercise the webui side of that
1465
1465
  # contract with a synthetic authority fixture standing in for the real
1466
- # producer, which graph-os's own suite covers end to end.
1466
+ # producer, which arbora's own suite covers end to end.
1467
1467
 
1468
1468
  _EVIDENCE_ORIGIN = 'https://console.example.test'
1469
1469
  _NOW_MS = 2_000_000
@@ -1,4 +1,4 @@
1
- """WebUI routes backed by Graph OS served operations, over a faked Graph OS HTTP API.
1
+ """WebUI routes backed by Arbora served operations, over a faked Arbora HTTP API.
2
2
 
3
3
  Each test drives the real app (identity gate, route scopes, the ``host`` seam)
4
4
  and answers ``POST <api>/ops/<op_id>`` with an in-process ``httpx`` transport.
@@ -22,7 +22,7 @@ from pydantic_ai.models.test import TestModel
22
22
  _ADMIN = 'kg:read kg:write kg:admin'
23
23
 
24
24
 
25
- class FakeGraphOs:
25
+ class FakeArbora:
26
26
  """Record each served-operation call and answer from a per-op table."""
27
27
 
28
28
  def __init__(self) -> None:
@@ -44,8 +44,8 @@ class FakeGraphOs:
44
44
 
45
45
 
46
46
  @pytest.fixture
47
- def graph_os(monkeypatch: pytest.MonkeyPatch) -> FakeGraphOs:
48
- fake = FakeGraphOs()
47
+ def arbora(monkeypatch: pytest.MonkeyPatch) -> FakeArbora:
48
+ fake = FakeArbora()
49
49
  real_client = httpx.AsyncClient
50
50
 
51
51
  def client(*args: Any, **kwargs: Any) -> httpx.AsyncClient:
@@ -58,7 +58,7 @@ def graph_os(monkeypatch: pytest.MonkeyPatch) -> FakeGraphOs:
58
58
 
59
59
 
60
60
  @pytest.fixture
61
- def app(graph_os: FakeGraphOs) -> Any:
61
+ def app(arbora: FakeArbora) -> Any:
62
62
  return create_agent_web_app(Agent(TestModel()), workspace_helpers={})
63
63
 
64
64
 
@@ -187,13 +187,13 @@ def _client(app: Any, scope: str = _ADMIN) -> TestClient:
187
187
  )
188
188
  # spec: APIUI-06.1
189
189
  def test_read_routes_project_the_served_operation(
190
- app, graph_os, method, path, body, op_id, value, sent, expected
190
+ app, arbora, method, path, body, op_id, value, sent, expected
191
191
  ) -> None:
192
- graph_os.results[op_id] = value
192
+ arbora.results[op_id] = value
193
193
  response = _client(app).request(method, f'/api/enhanced{path}', json=body)
194
194
  assert response.status_code == 200, response.text
195
195
  assert response.json() == expected
196
- called, params, headers = graph_os.calls[-1]
196
+ called, params, headers = arbora.calls[-1]
197
197
  assert called == op_id
198
198
  assert sent.items() <= params.items()
199
199
  assert headers['accept'] == 'application/json'
@@ -234,18 +234,18 @@ def test_read_routes_project_the_served_operation(
234
234
  ],
235
235
  )
236
236
  def test_write_routes_send_one_idempotency_key(
237
- app, graph_os, path, body, op_id, sent
237
+ app, arbora, path, body, op_id, sent
238
238
  ) -> None:
239
- graph_os.results[op_id] = {'status': 'ok'}
239
+ arbora.results[op_id] = {'status': 'ok'}
240
240
  response = _client(app).post(f'/api/enhanced{path}', json=body)
241
241
  assert response.status_code == 200, response.text
242
- called, params, headers = graph_os.calls[-1]
242
+ called, params, headers = arbora.calls[-1]
243
243
  assert called == op_id
244
244
  assert sent.items() <= params.items()
245
245
  assert len(headers['idempotency-key']) == 32
246
246
 
247
247
 
248
- def test_a_missing_operation_answers_not_available(app, graph_os) -> None:
248
+ def test_a_missing_operation_answers_not_available(app, arbora) -> None:
249
249
  response = _client(app).get('/api/enhanced/graph/search?query=x')
250
250
  assert response.status_code == 501
251
251
  assert response.json()['detail']['needs_operation'] == 'retrieval.search'
@@ -255,8 +255,8 @@ def test_a_missing_operation_answers_not_available(app, graph_os) -> None:
255
255
  ('code', 'status'),
256
256
  [('PERMISSION_DENIED', 403), ('INVALID_ARGUMENT', 400), ('SOMETHING_NEW', 502)],
257
257
  )
258
- def test_a_graph_os_refusal_keeps_its_status(app, graph_os, code, status) -> None:
259
- graph_os.results['retrieval.search'] = httpx.Response(
258
+ def test_a_arbora_refusal_keeps_its_status(app, arbora, code, status) -> None:
259
+ arbora.results['retrieval.search'] = httpx.Response(
260
260
  403, json={'ok': False, 'error': {'code': code, 'message': 'secret detail'}}
261
261
  )
262
262
  response = _client(app).get('/api/enhanced/graph/search?query=x')
@@ -274,22 +274,22 @@ def test_a_graph_os_refusal_keeps_its_status(app, graph_os, code, status) -> Non
274
274
  )
275
275
  # spec: APIUI-06.1
276
276
  def test_routes_without_a_served_operation_answer_not_available(
277
- app, graph_os, path, operation
277
+ app, arbora, path, operation
278
278
  ) -> None:
279
279
  response = _client(app).get(f'/api/enhanced{path}')
280
280
  assert response.status_code == 501
281
281
  detail = response.json()['detail']
282
282
  assert (detail['error'], detail['needs_operation']) == ('not_available', operation)
283
- assert graph_os.calls == []
283
+ assert arbora.calls == []
284
284
 
285
285
 
286
- def test_unsafe_graph_queries_never_reach_graph_os(app, graph_os) -> None:
287
- graph_os.results['query.uql'] = []
286
+ def test_unsafe_graph_queries_never_reach_arbora(app, arbora) -> None:
287
+ arbora.results['query.uql'] = []
288
288
  response = _client(app).post(
289
289
  '/api/enhanced/graph/query', json={'query': 'MATCH (n) DETACH DELETE n'}
290
290
  )
291
291
  assert response.status_code == 400
292
- assert graph_os.calls == []
292
+ assert arbora.calls == []
293
293
 
294
294
 
295
295
  @pytest.mark.parametrize(
@@ -303,20 +303,20 @@ def test_unsafe_graph_queries_never_reach_graph_os(app, graph_os) -> None:
303
303
  ('kg:read', 'GET', '/api/enhanced/sessions', 200),
304
304
  ],
305
305
  )
306
- def test_route_scopes_gate_before_graph_os(
307
- app, graph_os, scope, method, path, expected
306
+ def test_route_scopes_gate_before_arbora(
307
+ app, arbora, scope, method, path, expected
308
308
  ) -> None:
309
- graph_os.results.update(
309
+ arbora.results.update(
310
310
  {'query.uql': [], 'retrieval.search': [], 'agents.tasks.list': []}
311
311
  )
312
312
  response = _client(app, scope).request(
313
313
  method, path, json={'query': 'MATCH (n) RETURN n'} if method == 'POST' else None
314
314
  )
315
315
  assert response.status_code == expected
316
- assert bool(graph_os.calls) == (expected == 200)
316
+ assert bool(arbora.calls) == (expected == 200)
317
317
 
318
318
 
319
- def test_an_unauthenticated_request_is_refused(app, graph_os) -> None:
319
+ def test_an_unauthenticated_request_is_refused(app, arbora) -> None:
320
320
  response = TestClient(app).get('/api/enhanced/graph/search?query=x')
321
321
  assert response.status_code == 401
322
- assert graph_os.calls == []
322
+ assert arbora.calls == []
@@ -1078,7 +1078,7 @@ def set_workspace_helpers(helpers: dict[str, Any]) -> None:
1078
1078
  def get_engine() -> Any:
1079
1079
  """The WebUI holds no graph engine.
1080
1080
 
1081
- Graph data comes from Graph OS served operations. A route that still
1081
+ Graph data comes from Arbora served operations. A route that still
1082
1082
  needs an in-process engine answers "not available".
1083
1083
  """
1084
1084
  raise unavailable('Graph engine', 'query.uql')
@@ -1966,7 +1966,7 @@ async def delete_mcp_server(server_name: str, hard: bool = False) -> dict[str, A
1966
1966
  async def call_mcp_tool_route(data: dict[str, Any]) -> dict[str, Any]:
1967
1967
  """Invoke one MCP tool through the served ``fleet.call`` operation.
1968
1968
 
1969
- Graph OS owns the allowlist, actor policy, credentials and audit. The
1969
+ Arbora owns the allowlist, actor policy, credentials and audit. The
1970
1970
  WebUI checks only the request shape.
1971
1971
  """
1972
1972
 
@@ -3114,7 +3114,7 @@ async def get_graph_relationships() -> list[dict[str, Any]]:
3114
3114
  # ★ THE AGGREGATE IN EVERY QUERY BELOW IS LOAD-BEARING, NOT DECORATION --
3115
3115
  # BUT NOT FOR THE REASON THIS COMMENT ORIGINALLY GAVE.
3116
3116
  # Measured 2026-08-25 against the live engine (eg 2.27.0, `platform/
3117
- # graph-os`) the SAME projection with and without an aggregate:
3117
+ # arbora`) the SAME projection with and without an aggregate:
3118
3118
  # MATCH (n:Skill) RETURN n.name as name LIMIT 5 -> [] (!)
3119
3119
  # MATCH (n:Skill) RETURN n.name as name, count(*) as c -> 308 rows
3120
3120
  # MATCH (a)-[r]->(b) RETURN a.id as s, b.id as o -> [] (!)
@@ -4074,7 +4074,7 @@ _GRAPH_STATS_BY_TYPE_LIMIT = 200
4074
4074
  # than left as a bare literal) so the value carries its measurement
4075
4075
  # rationale and so the regression tests can drive the real deadline path.
4076
4076
  #
4077
- # Measured in-pod (graph-os), per single isolated request:
4077
+ # Measured in-pod (arbora), per single isolated request:
4078
4078
  # * 25,121-row tenant graph, 2026-08-25, service principal
4079
4079
  # - `SELECT COUNT(*) FROM nodes` .......................... 0.07s
4080
4080
  # - `MATCH (a)-[r]->(b) RETURN count(r)` .................. 0.52s
@@ -4505,7 +4505,7 @@ async def update_memory(memory_id: str, data: dict[str, Any]) -> dict[str, Any]:
4505
4505
 
4506
4506
  @router.delete('/graph/memory/{memory_id}')
4507
4507
  async def delete_memory(memory_id: str) -> dict[str, Any]:
4508
- """Memory deletion needs a served operation that Graph OS does not have."""
4508
+ """Memory deletion needs a served operation that Arbora does not have."""
4509
4509
 
4510
4510
  _validate_runtime_id(memory_id)
4511
4511
  raise unavailable('Graph memory deletion', 'memory.delete')
@@ -6187,7 +6187,7 @@ def _scrub_existing_session_rows(conn: Any) -> None:
6187
6187
  async def get_all_sessions(limit: int = 50) -> list[dict[str, Any]]:
6188
6188
  """List the caller's agent tasks through ``agents.tasks.list``.
6189
6189
 
6190
- Graph OS scopes the list to the verified caller. The WebUI adds no rows.
6190
+ Arbora scopes the list to the verified caller. The WebUI adds no rows.
6191
6191
  """
6192
6192
 
6193
6193
  value = await served('agents.tasks.list', {'limit': max(1, min(limit, 100))})
@@ -7582,7 +7582,7 @@ async def _call_mcp_tool(
7582
7582
  *,
7583
7583
  timeout: float = 30.0,
7584
7584
  ) -> Any:
7585
- """Invoke an MCP tool through the host's governed GraphOS delegation seam.
7585
+ """Invoke an MCP tool through the host's governed Arbora delegation seam.
7586
7586
 
7587
7587
  The WebUI intentionally never reads launch commands, spawns registry
7588
7588
  entries, or composes child environments. The host injects ``call_mcp_tool``
@@ -8996,7 +8996,7 @@ async def run_workflow(request: Request) -> dict[str, Any]:
8996
8996
  # Relationship to the canonical gateway routes (drift policy):
8997
8997
  #
8998
8998
  # * The canonical KG REST surface (/api/graph/*, /api/ontology/*, /api/object/*)
8999
- # is owned by Graph OS. A Graph OS host mounts it through the public
8999
+ # is owned by Arbora. An Arbora host mounts it through the public
9000
9000
  # ``ApplicationComposer`` port passed to ``create_agent_web_app``; standalone
9001
9001
  # WebUI intentionally does not expose those gateway routes.
9002
9002
  # * Routes here that have a 1:1 canonical tool twin dispatch through
@@ -9023,7 +9023,7 @@ async def _canonical_kg_tool(tool_name: str, **kwargs: Any) -> Any:
9023
9023
  """Dispatch a call through the canonical KG tool surface.
9024
9024
 
9025
9025
  ``agent_utilities.mcp.kg_server.REGISTERED_TOOLS`` holds the single
9026
- canonical implementation behind both the graph-os MCP tools and the API
9026
+ canonical implementation behind both the arbora MCP tools and the API
9027
9027
  gateway's action-routed REST twins. Routes here that mirror one of those
9028
9028
  tools 1:1 must dispatch through it — never reimplement the body — so the
9029
9029
  webui surface cannot drift from what gateway/MCP clients observe.
@@ -9043,7 +9043,7 @@ def _raise_canonical_error(result: Any, status_code: int = 500) -> None:
9043
9043
  # Atlas governed source façade
9044
9044
  #
9045
9045
  # Atlas does not own a second connector registry. These routes are a typed,
9046
- # privacy-preserving HTTP façade over the canonical graph-os tools and are kept
9046
+ # privacy-preserving HTTP façade over the canonical arbora tools and are kept
9047
9047
  # deliberately small so the source-control plane remains authoritative in
9048
9048
  # agent-utilities. In particular, a connection declaration contains aliases,
9049
9049
  # policy knobs, and opaque profile references only. A DSN, endpoint, identity,
@@ -12282,7 +12282,7 @@ async def save_ontology_object_view(
12282
12282
  raise HTTPException(status_code=500, detail=type(e).__name__) from e
12283
12283
 
12284
12284
 
12285
- # Served Graph OS operation helpers
12285
+ # Served Arbora operation helpers
12286
12286
 
12287
12287
 
12288
12288
  async def _write_memory(key: str, data: dict[str, Any]) -> Any:
@@ -52,7 +52,7 @@ def build_apps_router(apps: list[AppBackend]) -> APIRouter:
52
52
  def default_apps() -> list[AppBackend]:
53
53
  """The apps this WebUI hosts.
54
54
 
55
- Markets reads market signals from the graph. Graph OS does not serve a
55
+ Markets reads market signals from the graph. Arbora does not serve a
56
56
  market-signal operation yet, so the app reports "not available".
57
57
  """
58
58
 
@@ -68,7 +68,7 @@ def default_apps() -> list[AppBackend]:
68
68
  router=build_markets_router(gateway),
69
69
  available=lambda: False,
70
70
  unavailable_reason=(
71
- 'Markets is not available: Graph OS does not serve the '
71
+ 'Markets is not available: Arbora does not serve the '
72
72
  'markets.signals.read operation yet.'
73
73
  ),
74
74
  )