@promptbook/cli 0.112.0-99 → 0.112.0

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 (814) hide show
  1. package/README.md +37 -21
  2. package/agents/default/developer.book +23 -0
  3. package/apps/agents-server/README.md +19 -2
  4. package/apps/agents-server/env-manual/GITHUB_APP.md +1 -1
  5. package/apps/agents-server/next.config.ts +20 -1
  6. package/apps/agents-server/package.json +1 -1
  7. package/apps/agents-server/playwright.config.ts +3 -0
  8. package/apps/agents-server/public/promptbook-logo-blue.png +0 -0
  9. package/apps/agents-server/public/promptbook-logo-white.png +0 -0
  10. package/apps/agents-server/scripts/prerender-homepage.js +76 -1
  11. package/apps/agents-server/src/app/AddAgentButton.tsx +0 -5
  12. package/apps/agents-server/src/app/[agentName]/layout.tsx +1 -0
  13. package/apps/agents-server/src/app/actions.ts +70 -9
  14. package/apps/agents-server/src/app/admin/about/page.tsx +1 -1
  15. package/apps/agents-server/src/app/admin/api-tokens/ApiTokensClient.tsx +4 -1
  16. package/apps/agents-server/src/app/admin/chat-feedback/ChatFeedbackClient.tsx +3 -0
  17. package/apps/agents-server/src/app/admin/chat-feedback/ChatFeedbackTable.tsx +13 -8
  18. package/apps/agents-server/src/app/admin/chat-feedback/page.tsx +2 -4
  19. package/apps/agents-server/src/app/admin/chat-history/ChatHistoryClient.tsx +3 -0
  20. package/apps/agents-server/src/app/admin/chat-history/ChatHistoryTable.tsx +13 -8
  21. package/apps/agents-server/src/app/admin/chat-history/page.tsx +2 -4
  22. package/apps/agents-server/src/app/admin/cli-access/CliAccessClient.tsx +1 -3
  23. package/apps/agents-server/src/app/admin/code-runners/CodeRunnersClient.tsx +19 -11
  24. package/apps/agents-server/src/app/admin/custom-css/CustomCssClient.tsx +4 -0
  25. package/apps/agents-server/src/app/admin/custom-css/CustomCssEditorPanel.tsx +7 -1
  26. package/apps/agents-server/src/app/admin/custom-css/CustomCssFilesPanel.tsx +7 -1
  27. package/apps/agents-server/src/app/admin/custom-js/CustomJsClient.tsx +11 -0
  28. package/apps/agents-server/src/app/admin/custom-js/CustomJsEditorPanel.tsx +7 -1
  29. package/apps/agents-server/src/app/admin/custom-js/CustomJsFilesPanel.tsx +7 -1
  30. package/apps/agents-server/src/app/admin/files/FilesGalleryClient.tsx +4 -0
  31. package/apps/agents-server/src/app/admin/files/FilesGalleryGrid.tsx +9 -11
  32. package/apps/agents-server/src/app/admin/files/FilesGalleryTable.tsx +9 -8
  33. package/apps/agents-server/src/app/admin/image-generator-test/ImageAttachmentsEditor.tsx +30 -9
  34. package/apps/agents-server/src/app/admin/images/ImagesGalleryClient.tsx +4 -0
  35. package/apps/agents-server/src/app/admin/images/ImagesGalleryGrid.tsx +16 -11
  36. package/apps/agents-server/src/app/admin/images/ImagesGalleryTable.tsx +18 -9
  37. package/apps/agents-server/src/app/admin/limits/LimitsClient.tsx +11 -12
  38. package/apps/agents-server/src/app/admin/login-methods/shibboleth/page.tsx +355 -0
  39. package/apps/agents-server/src/app/admin/logs/LogsClient.tsx +9 -3
  40. package/apps/agents-server/src/app/admin/messages/MessagesClient.tsx +7 -6
  41. package/apps/agents-server/src/app/admin/metadata/MetadataClient.tsx +671 -45
  42. package/apps/agents-server/src/app/admin/servers/CreateServerDialog.tsx +22 -1
  43. package/apps/agents-server/src/app/admin/servers/ServersRegistryTable.tsx +14 -13
  44. package/apps/agents-server/src/app/admin/servers/useCreateServerWizard.ts +57 -20
  45. package/apps/agents-server/src/app/admin/task-manager/TaskManagerClient.tsx +4 -2
  46. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +14 -15
  47. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTasksCard.tsx +4 -1
  48. package/apps/agents-server/src/app/admin/task-manager/useTaskManagerState.ts +6 -9
  49. package/apps/agents-server/src/app/admin/update/CustomCommitPicker.tsx +258 -0
  50. package/apps/agents-server/src/app/admin/update/UpdateClient.tsx +608 -137
  51. package/apps/agents-server/src/app/admin/usage/UsageClient.tsx +4 -2
  52. package/apps/agents-server/src/app/admin/usage/UsageClientAnalyticsPanels.tsx +6 -4
  53. package/apps/agents-server/src/app/admin/usage/UsageClientFormatting.ts +6 -12
  54. package/apps/agents-server/src/app/admin/usage/UsageClientTimelineChart.tsx +7 -4
  55. package/apps/agents-server/src/app/admin/usage/useUsageClientState.ts +12 -4
  56. package/apps/agents-server/src/app/admin/users/[userId]/UserDetailClient.tsx +27 -15
  57. package/apps/agents-server/src/app/agents/[agentName]/ActiveAgentBreadcrumbBinder.tsx +30 -0
  58. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +13 -2
  59. package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +20 -25
  60. package/apps/agents-server/src/app/agents/[agentName]/_utils.ts +7 -5
  61. package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +2 -0
  62. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/messages/route.ts +4 -11
  63. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/stream/route.ts +85 -56
  64. package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorWrapper.tsx +7 -1
  65. package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorHistory.ts +9 -2
  66. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatHistoryPayloadState.ts +38 -4
  67. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatHistorySyncOperations.ts +4 -1
  68. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatPageLayout.tsx +2 -2
  69. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatSidebarDefault.tsx +19 -13
  70. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +30 -16
  71. package/apps/agents-server/src/app/agents/[agentName]/chat/useAgentChatHistoryClientState.ts +2 -15
  72. package/apps/agents-server/src/app/agents/[agentName]/chat/useAgentChatHistorySyncEffects.ts +7 -13
  73. package/apps/agents-server/src/app/agents/[agentName]/chat/useCanonicalAgentChatPanelState.ts +58 -7
  74. package/apps/agents-server/src/app/agents/[agentName]/history/page.tsx +6 -1
  75. package/apps/agents-server/src/app/agents/[agentName]/images/default-avatar.png/route.ts +6 -2
  76. package/apps/agents-server/src/app/agents/[agentName]/integration/CalendarIntegrationSection.tsx +23 -5
  77. package/apps/agents-server/src/app/agents/[agentName]/layout.tsx +47 -1
  78. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsClient.tsx +4 -2
  79. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsFiltersCard.tsx +9 -4
  80. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableCard.tsx +4 -1
  81. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableRow.tsx +10 -3
  82. package/apps/agents-server/src/app/api/admin/cli-access/route.ts +27 -123
  83. package/apps/agents-server/src/app/api/admin/code-runners/authentication/route.ts +33 -125
  84. package/apps/agents-server/src/app/api/admin/code-runners/route.ts +1 -1
  85. package/apps/agents-server/src/app/api/admin/servers/route.ts +5 -0
  86. package/apps/agents-server/src/app/api/admin/update/commits/route.ts +35 -0
  87. package/apps/agents-server/src/app/api/admin/update/log/route.ts +42 -0
  88. package/apps/agents-server/src/app/api/admin/update/route.ts +10 -2
  89. package/apps/agents-server/src/app/api/agents/[agentName]/route.ts +33 -9
  90. package/apps/agents-server/src/app/api/agents/export/route.ts +67 -0
  91. package/apps/agents-server/src/app/api/agents/import/route.ts +168 -0
  92. package/apps/agents-server/src/app/api/auth/change-password/route.ts +53 -6
  93. package/apps/agents-server/src/app/api/auth/login/route.ts +17 -16
  94. package/apps/agents-server/src/app/api/auth/logout/route.ts +2 -10
  95. package/apps/agents-server/src/app/api/auth/shibboleth/acs/route.ts +112 -0
  96. package/apps/agents-server/src/app/api/auth/shibboleth/login/route.ts +70 -0
  97. package/apps/agents-server/src/app/api/auth/shibboleth/metadata/route.ts +15 -0
  98. package/apps/agents-server/src/app/api/auth/shibboleth/status/route.ts +17 -0
  99. package/apps/agents-server/src/app/api/chat/citation-label/route.ts +133 -0
  100. package/apps/agents-server/src/app/api/chat/export/pdf/route.ts +167 -2
  101. package/apps/agents-server/src/app/api/chat/route.ts +29 -7
  102. package/apps/agents-server/src/app/api/chat-feedback/export/route.ts +2 -2
  103. package/apps/agents-server/src/app/api/chat-feedback/route.ts +3 -3
  104. package/apps/agents-server/src/app/api/chat-history/[id]/route.ts +2 -2
  105. package/apps/agents-server/src/app/api/chat-history/export/route.ts +2 -2
  106. package/apps/agents-server/src/app/api/chat-history/route.ts +3 -3
  107. package/apps/agents-server/src/app/api/chat-streaming/route.ts +29 -0
  108. package/apps/agents-server/src/app/api/elevenlabs/tts/route.ts +60 -2
  109. package/apps/agents-server/src/app/api/emails/incoming/sendgrid/route.ts +24 -2
  110. package/apps/agents-server/src/app/api/federated-agents/route.ts +1 -1
  111. package/apps/agents-server/src/app/api/health/route.ts +18 -0
  112. package/apps/agents-server/src/app/api/images/[filename]/route.ts +108 -2
  113. package/apps/agents-server/src/app/api/internal/agent-runner-limits/route.ts +52 -0
  114. package/apps/agents-server/src/app/api/internal/user-chat-jobs/run/route.ts +17 -4
  115. package/apps/agents-server/src/app/api/metadata/export/route.ts +34 -0
  116. package/apps/agents-server/src/app/api/metadata/import/route.ts +47 -0
  117. package/apps/agents-server/src/app/api/metadata/route.ts +4 -0
  118. package/apps/agents-server/src/app/api/openai/v1/audio/transcriptions/route.ts +111 -2
  119. package/apps/agents-server/src/app/api/page-preview/check/route.ts +49 -0
  120. package/apps/agents-server/src/app/api/page-preview/screenshot/route.ts +64 -0
  121. package/apps/agents-server/src/app/api/scrape/route.ts +18 -0
  122. package/apps/agents-server/src/app/api/team-agent-profile/route.ts +20 -0
  123. package/apps/agents-server/src/app/api/upload/route.ts +204 -220
  124. package/apps/agents-server/src/app/api/users/[username]/route.ts +3 -2
  125. package/apps/agents-server/src/app/api/users/route.ts +8 -7
  126. package/apps/agents-server/src/app/api/v1/agents/[agentId]/route.ts +4 -0
  127. package/apps/agents-server/src/app/api/v1/agents/route.ts +2 -0
  128. package/apps/agents-server/src/app/dashboard/page.tsx +12 -17
  129. package/apps/agents-server/src/app/docs/[docId]/page.tsx +1 -1
  130. package/apps/agents-server/src/app/docs/page.tsx +1 -1
  131. package/apps/agents-server/src/app/globals.css +179 -0
  132. package/apps/agents-server/src/app/layout.tsx +33 -4
  133. package/apps/agents-server/src/app/recycle-bin/actions.ts +3 -0
  134. package/apps/agents-server/src/app/recycle-bin/page.tsx +1 -1
  135. package/apps/agents-server/src/app/s3/[first]/[second]/[hash]/[filename]/route.ts +52 -0
  136. package/apps/agents-server/src/app/swagger/SwaggerApiKeysPanel.tsx +4 -1
  137. package/apps/agents-server/src/app/system/settings/KeybindingsSettingsClient.tsx +13 -7
  138. package/apps/agents-server/src/app/system/user-memory/UserMemoryClient.tsx +4 -2
  139. package/apps/agents-server/src/app/system/user-wallet/UserWalletClient.tsx +3 -0
  140. package/apps/agents-server/src/app/system/user-wallet/UserWalletRecordsTable.tsx +5 -1
  141. package/apps/agents-server/src/app/system/utilities/mocked-chats/MockedChatsEditorClient.tsx +3 -0
  142. package/apps/agents-server/src/app/system/utilities/mocked-chats/MockedChatsEditorSidebar.tsx +7 -8
  143. package/apps/agents-server/src/components/AdminTerminal/AdminTerminalCard.tsx +13 -70
  144. package/apps/agents-server/src/components/AdminTerminal/AdminXtermTerminal.tsx +330 -0
  145. package/apps/agents-server/src/components/AdminTerminal/useAdminTerminalSession.ts +45 -5
  146. package/apps/agents-server/src/components/AgentContextMenu/useAgentContextMenuItems.ts +27 -19
  147. package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +4 -7
  148. package/apps/agents-server/src/components/AgentProfile/AgentProfileImage.tsx +8 -2
  149. package/apps/agents-server/src/components/ApplicationErrorPage/ApplicationErrorPage.tsx +118 -12
  150. package/apps/agents-server/src/components/DocsToolbar/DocsToolbar.tsx +4 -4
  151. package/apps/agents-server/src/components/DocumentationContent/DocumentationContent.tsx +9 -9
  152. package/apps/agents-server/src/components/FileUploadAvailability/FileUploadAvailabilityContext.tsx +50 -0
  153. package/apps/agents-server/src/components/FileUploadAvailability/FileUploadUnavailableNotice.tsx +45 -0
  154. package/apps/agents-server/src/components/Footer/Footer.tsx +10 -9
  155. package/apps/agents-server/src/components/Footer/getCommitFooterEmoji.ts +112 -0
  156. package/apps/agents-server/src/components/Header/ActiveAgentBreadcrumbContext.tsx +82 -0
  157. package/apps/agents-server/src/components/Header/Header.tsx +24 -15
  158. package/apps/agents-server/src/components/Header/HeaderTypes.ts +6 -0
  159. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +51 -1
  160. package/apps/agents-server/src/components/Header/useHeaderActiveAgent.ts +26 -7
  161. package/apps/agents-server/src/components/Header/useHeaderAgentMenus.tsx +0 -5
  162. package/apps/agents-server/src/components/Homepage/AgentsList.tsx +19 -1
  163. package/apps/agents-server/src/components/Homepage/AgentsListHeader.tsx +44 -1
  164. package/apps/agents-server/src/components/Homepage/AgentsListListView.tsx +6 -0
  165. package/apps/agents-server/src/components/Homepage/AgentsListViewContent.tsx +6 -0
  166. package/apps/agents-server/src/components/Homepage/Card.tsx +1 -1
  167. package/apps/agents-server/src/components/Homepage/Section.tsx +3 -1
  168. package/apps/agents-server/src/components/Homepage/SortableFolderCard.tsx +7 -1
  169. package/apps/agents-server/src/components/Homepage/useAgentsListImportExportState.ts +525 -0
  170. package/apps/agents-server/src/components/Homepage/useAgentsListState.ts +14 -0
  171. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +93 -70
  172. package/apps/agents-server/src/components/LoginForm/LoginForm.tsx +52 -12
  173. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/ManGoNewAgentWizard.tsx +151 -0
  174. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/ManGoOnboardingNavigation.tsx +50 -0
  175. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/BookLanguagePanel.tsx +125 -0
  176. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/DropZone.tsx +83 -0
  177. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/EmailTestRun.tsx +216 -0
  178. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/KnowledgeList.tsx +79 -0
  179. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/Logo.tsx +20 -0
  180. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/MarkdownBookEditor.tsx +154 -0
  181. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/MarkdownPreview.tsx +188 -0
  182. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/RailStepper.tsx +115 -0
  183. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/StepFrame.tsx +47 -0
  184. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/TestChat.tsx +159 -0
  185. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/WizardShell.tsx +114 -0
  186. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/brand/RailArtwork.tsx +60 -0
  187. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/BookStep.tsx +135 -0
  188. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/DoneStep.tsx +215 -0
  189. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/KnowledgeStep.tsx +152 -0
  190. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/TestStep.tsx +262 -0
  191. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/ZadaniStep.tsx +64 -0
  192. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/Badge.tsx +41 -0
  193. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/Banner.tsx +69 -0
  194. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/Button.tsx +77 -0
  195. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/Card.tsx +33 -0
  196. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/Field.tsx +103 -0
  197. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/IconButton.tsx +40 -0
  198. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/Spinner.tsx +14 -0
  199. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ui/tokens.ts +37 -0
  200. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/config/bookSections.ts +62 -0
  201. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/config/emailScenarios.ts +22 -0
  202. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/config/steps.ts +46 -0
  203. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/index.ts +11 -0
  204. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/lib/cn.ts +4 -0
  205. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/lib/format.ts +9 -0
  206. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/lib/id.ts +11 -0
  207. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/agentEvalService.ts +30 -0
  208. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/agentTestService.ts +69 -0
  209. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/bookService.ts +21 -0
  210. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/createManGoAgentSource.ts +107 -0
  211. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/draftService.ts +45 -0
  212. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/uploadService.ts +27 -0
  213. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/state/OnboardingProvider.tsx +121 -0
  214. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/types.ts +52 -0
  215. package/apps/agents-server/src/components/NewAgentDialog/NewAgentDialog.tsx +7 -3
  216. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardKnowledgeStep.tsx +6 -0
  217. package/apps/agents-server/src/components/NewAgentDialog/createNewAgentWizardSource.ts +1 -1
  218. package/apps/agents-server/src/components/NewAgentDialog/trackNewAgentCreationEvent.ts +1 -1
  219. package/apps/agents-server/src/components/NewAgentDialog/useNewAgentDialog.tsx +113 -14
  220. package/apps/agents-server/src/components/NewAgentDialog/useNewAgentWizardKnowledgeState.ts +8 -1
  221. package/apps/agents-server/src/components/PrintHeader/PrintHeader.tsx +4 -2
  222. package/apps/agents-server/src/components/Skeleton/ConsolePageLoadingSkeleton.tsx +1 -1
  223. package/apps/agents-server/src/components/Skeleton/DocumentationRouteLoadingSkeleton.tsx +1 -1
  224. package/apps/agents-server/src/components/Skeleton/HomepageLoadingSkeleton.tsx +1 -1
  225. package/apps/agents-server/src/components/UsersList/UsersList.tsx +24 -6
  226. package/apps/agents-server/src/components/UsersList/useUsersAdmin.ts +2 -7
  227. package/apps/agents-server/src/constants/defaultAgentAvatarVisual.ts +1 -1
  228. package/apps/agents-server/src/constants/newAgentWizard.ts +17 -8
  229. package/apps/agents-server/src/constants/serverLimits.ts +22 -2
  230. package/apps/agents-server/src/constants/shibbolethAuth.ts +139 -0
  231. package/apps/agents-server/src/database/$provideClientSql.ts +37 -0
  232. package/apps/agents-server/src/database/$provideSupabaseForServer.ts +41 -0
  233. package/apps/agents-server/src/database/customJavascript.ts +62 -1
  234. package/apps/agents-server/src/database/customStylesheet.ts +60 -1
  235. package/apps/agents-server/src/database/getMetadata.ts +121 -4
  236. package/apps/agents-server/src/database/loadAgentsServerEnvFile.ts +29 -0
  237. package/apps/agents-server/src/database/metadataDefaults.ts +85 -31
  238. package/apps/agents-server/src/database/migrate.ts +8 -2
  239. package/apps/agents-server/src/database/migrations/2026-06-0100-shibboleth-auth.sql +136 -0
  240. package/apps/agents-server/src/database/migrations/2026-06-0200-default-agent-avatar-visual-octopus3d3.sql +16 -0
  241. package/apps/agents-server/src/database/migrations/2026-06-1300-user-chat-active-read-indexes.sql +7 -0
  242. package/apps/agents-server/src/database/migrations/2026-06-2200-new-agent-wizard-metadata-key.sql +27 -0
  243. package/apps/agents-server/src/database/migrations/2026-06-2201-new-agent-wizard-mango-default.sql +11 -0
  244. package/apps/agents-server/src/database/migrations/2026-06-2600-agent-directory-performance-indexes.sql +14 -0
  245. package/apps/agents-server/src/database/migrations/2026-06-2700-default-agent-avatar-visual-octopus3d4.sql +16 -0
  246. package/apps/agents-server/src/database/seedCoreAgents.ts +236 -0
  247. package/apps/agents-server/src/database/seedDefaultAgents.ts +225 -0
  248. package/apps/agents-server/src/database/sqlite/$provideLocalSqliteSupabase.ts +234 -41
  249. package/apps/agents-server/src/generated/reservedPaths.ts +3 -0
  250. package/apps/agents-server/src/instrumentation-client.ts +28 -0
  251. package/apps/agents-server/src/instrumentation.ts +19 -0
  252. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +4 -0
  253. package/apps/agents-server/src/languages/translations/czech.yaml +5 -1
  254. package/apps/agents-server/src/languages/translations/english.yaml +5 -1
  255. package/apps/agents-server/src/message-providers/email/sendgrid/verifySendgridInboundParseWebhook.ts +345 -0
  256. package/apps/agents-server/src/middleware/applyEmbeddingHeader.ts +4 -2
  257. package/apps/agents-server/src/middleware/contentSecurityPolicy.ts +97 -0
  258. package/apps/agents-server/src/middleware/resolveAccessControlResponse.ts +3 -2
  259. package/apps/agents-server/src/middleware/resolveMiddlewareResponse.ts +8 -3
  260. package/apps/agents-server/src/middleware.ts +15 -32
  261. package/apps/agents-server/src/search/createDefaultServerSearchProviders/createFederatedAgentsSearchProvider.ts +1 -1
  262. package/apps/agents-server/src/sentry.edge.config.ts +18 -0
  263. package/apps/agents-server/src/sentry.server.config.ts +19 -0
  264. package/apps/agents-server/src/tools/$provideAgentCollectionForServer.ts +2 -9
  265. package/apps/agents-server/src/tools/$provideCdnForServer.ts +187 -15
  266. package/apps/agents-server/src/tools/BrowserConnectionProvider.ts +2 -19
  267. package/apps/agents-server/src/tools/createAgentProgressTools.ts +8 -4
  268. package/apps/agents-server/src/tools/createChatAttachmentToolFunctions.ts +8 -4
  269. package/apps/agents-server/src/tools/createServerChromiumLaunchOptions.ts +44 -0
  270. package/apps/agents-server/src/utils/agentOwnership.ts +54 -5
  271. package/apps/agents-server/src/utils/agentRouting/resolveAgentRouteTarget.ts +101 -19
  272. package/apps/agents-server/src/utils/agentsTransfer/createAgentsExportZipStream.ts +81 -0
  273. package/apps/agents-server/src/utils/agentsTransfer/importAgentsFromFiles.ts +852 -0
  274. package/apps/agents-server/src/utils/assertSafeUrl.ts +136 -0
  275. package/apps/agents-server/src/utils/authenticateUser.ts +112 -4
  276. package/apps/agents-server/src/utils/authenticationAttemptRateLimit.ts +504 -0
  277. package/apps/agents-server/src/utils/backup/createBooksBackupZipStream.ts +91 -7
  278. package/apps/agents-server/src/utils/cdn/classes/DigitalOceanSpaces.ts +48 -4
  279. package/apps/agents-server/src/utils/cdn/classes/TrackedFilesStorage.ts +6 -5
  280. package/apps/agents-server/src/utils/cdn/interfaces/IFilesStorage.ts +5 -0
  281. package/apps/agents-server/src/utils/cdn/utils/getUserFileCdnKey.ts +10 -3
  282. package/apps/agents-server/src/utils/chat/resolveAgentsServerCitationLabel.ts +130 -0
  283. package/apps/agents-server/src/utils/chat/resolveCitationSourceLabel.ts +436 -0
  284. package/apps/agents-server/src/utils/chatExport/renderHtmlToPdfOnServer.ts +66 -17
  285. package/apps/agents-server/src/utils/chatExport/sanitizeChatPdfExportHtml.ts +193 -0
  286. package/apps/agents-server/src/utils/codeRunnerConfiguration.ts +1 -1
  287. package/apps/agents-server/src/utils/createAdminTerminalRouteHandlers.ts +264 -0
  288. package/apps/agents-server/src/utils/currentUserIdentity.ts +22 -9
  289. package/apps/agents-server/src/utils/defaultAgents/loadDefaultAgentBooks.ts +145 -0
  290. package/apps/agents-server/src/utils/errorReporting/agentsServerSentryContext.ts +203 -0
  291. package/apps/agents-server/src/utils/errorReporting/applicationErrorHandling.ts +45 -0
  292. package/apps/agents-server/src/utils/errorReporting/refreshApplicationDocument.ts +10 -0
  293. package/apps/agents-server/src/utils/errorReporting/registerServerErrorSentryLogging.ts +381 -0
  294. package/apps/agents-server/src/utils/errorReporting/sendApplicationErrorReportToSentry.ts +43 -152
  295. package/apps/agents-server/src/utils/errorReporting/sentrySdkConfig.ts +237 -0
  296. package/apps/agents-server/src/utils/errorReporting/sentryStore.ts +187 -0
  297. package/apps/agents-server/src/utils/externalChatRunner/createExternalAgentRepositoryFiles.ts +2 -2
  298. package/apps/agents-server/src/utils/externalChatRunner/processExternalUserChatJob.ts +22 -7
  299. package/apps/agents-server/src/utils/findAgentForCallerWriteAccess.ts +36 -0
  300. package/apps/agents-server/src/utils/getCurrentUser.ts +2 -1
  301. package/apps/agents-server/src/utils/getFederatedServers.ts +3 -74
  302. package/apps/agents-server/src/utils/getUserById.ts +19 -5
  303. package/apps/agents-server/src/utils/getWellKnownAgentUrl.ts +10 -4
  304. package/apps/agents-server/src/utils/iframe/checkIfUrlCanBeEmbedded.ts +68 -0
  305. package/apps/agents-server/src/utils/interactiveTerminalSession.ts +9 -4
  306. package/apps/agents-server/src/utils/isAdminPasswordEqual.ts +28 -0
  307. package/apps/agents-server/src/utils/isUserGlobalAdmin.ts +3 -1
  308. package/apps/agents-server/src/utils/knowledge/createInlineKnowledgeSourceUploader.ts +24 -5
  309. package/apps/agents-server/src/utils/knowledge/resolveWebsiteKnowledgeSourcesForServer.ts +10 -1
  310. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +23 -8
  311. package/apps/agents-server/src/utils/localization/formatServerLanguageHumanReadableDate.ts +70 -0
  312. package/apps/agents-server/src/utils/localization/getRequestServerLanguage.ts +32 -0
  313. package/apps/agents-server/src/utils/metadataConfigurationTransfer.ts +442 -0
  314. package/apps/agents-server/src/utils/paidApiRequestGuard.ts +241 -0
  315. package/apps/agents-server/src/utils/publicUser.ts +59 -0
  316. package/apps/agents-server/src/utils/serverLimits.ts +26 -1
  317. package/apps/agents-server/src/utils/serverManagement/createManagedServer/bootstrapManagedServer.ts +5 -6
  318. package/apps/agents-server/src/utils/serverManagement/createManagedServer/normalizeCreateServerInput.ts +6 -0
  319. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerCoreAgents.ts +162 -0
  320. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerDefaultAgents.ts +8 -88
  321. package/apps/agents-server/src/utils/serverManagement/createManagedServer.ts +5 -0
  322. package/apps/agents-server/src/utils/session.ts +72 -30
  323. package/apps/agents-server/src/utils/shareTargetPayloads.ts +37 -66
  324. package/apps/agents-server/src/utils/shibbolethAuthentication.ts +957 -0
  325. package/apps/agents-server/src/utils/transpilers/resolveTranspiledTeamExport.ts +10 -10
  326. package/apps/agents-server/src/utils/upload/createBookEditorUploadHandler.ts +19 -28
  327. package/apps/agents-server/src/utils/upload/fileUploadAvailability.ts +91 -0
  328. package/apps/agents-server/src/utils/upload/uploadFileToServer.ts +157 -0
  329. package/apps/agents-server/src/utils/userChat/createImmediateUserChatAnswerModelRequirements.ts +26 -12
  330. package/apps/agents-server/src/utils/userChat/createRunUserChatJobExecutionContext.ts +45 -0
  331. package/apps/agents-server/src/utils/userChat/createRunUserChatJobPersistenceController.ts +17 -11
  332. package/apps/agents-server/src/utils/userChat/createUserChatDetailPayload.ts +33 -18
  333. package/apps/agents-server/src/utils/userChat/createUserChatHarnessProgressCard.ts +99 -0
  334. package/apps/agents-server/src/utils/userChat/createUserChatRunnerProgressCard.ts +63 -0
  335. package/apps/agents-server/src/utils/userChat/hasPotentiallyPendingAssistantMessages.ts +26 -0
  336. package/apps/agents-server/src/utils/userChat/listUserChats.ts +117 -6
  337. package/apps/agents-server/src/utils/userChat/persistUserChatJobProgressCard.ts +40 -0
  338. package/apps/agents-server/src/utils/userChat/resolveUserChatProgressToolHighlights.ts +100 -0
  339. package/apps/agents-server/src/utils/userChat/resolveUserChatWorkerInternalToken.ts +63 -9
  340. package/apps/agents-server/src/utils/userChat/runImmediateUserChatAnswer.ts +1 -1
  341. package/apps/agents-server/src/utils/userChat/runUserChatJob.ts +30 -0
  342. package/apps/agents-server/src/utils/userChat/triggerUserChatJobWorker.ts +54 -19
  343. package/apps/agents-server/src/utils/userChat/userChatMessageLifecycle.ts +0 -1
  344. package/apps/agents-server/src/utils/userChat/userChatProgressCard.ts +366 -0
  345. package/apps/agents-server/src/utils/validateApiKey.ts +7 -3
  346. package/apps/agents-server/src/utils/vpsConfiguration.ts +8 -1
  347. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +816 -59
  348. package/esm/apps/agents-server/src/constants/federatedAgentImport.d.ts +42 -0
  349. package/esm/apps/agents-server/src/constants/serverLimits.d.ts +207 -0
  350. package/esm/apps/agents-server/src/constants/toolUsageLimits.d.ts +55 -0
  351. package/esm/index.es.js +23985 -18820
  352. package/esm/index.es.js.map +1 -1
  353. package/esm/scripts/run-agent-chat/executeAgentChatTurn.d.ts +28 -0
  354. package/esm/scripts/run-agent-chat/runAgentChat.d.ts +5 -0
  355. package/esm/scripts/run-agent-chat/runAgentExec.d.ts +11 -0
  356. package/esm/scripts/run-agent-messages/main/AgentMessageFailureTracker.d.ts +27 -0
  357. package/esm/scripts/run-agent-messages/main/handleAgentWatchError.d.ts +4 -0
  358. package/esm/scripts/run-agent-messages/main/runAgentMessages.d.ts +1 -0
  359. package/esm/scripts/run-agent-messages/messages/createAgentRunnerSystemMessage.d.ts +10 -0
  360. package/esm/scripts/run-agent-messages/messages/moveAgentMessageToFailed.d.ts +17 -0
  361. package/esm/scripts/run-codex-prompts/common/buildCoderRunProgressSnapshot.d.ts +5 -1
  362. package/esm/scripts/run-codex-prompts/common/cliProgressDisplay.d.ts +7 -0
  363. package/esm/scripts/run-codex-prompts/common/coderRunEstimateCache.d.ts +31 -0
  364. package/esm/scripts/run-codex-prompts/common/parseDuration.d.ts +19 -0
  365. package/esm/scripts/run-codex-prompts/common/progressFormatting.d.ts +2 -0
  366. package/esm/scripts/run-codex-prompts/common/resolveAgentSystemMessage.d.ts +6 -0
  367. package/esm/scripts/run-codex-prompts/common/resolveInlineOrFileText.d.ts +14 -0
  368. package/esm/scripts/run-codex-prompts/common/runGoScript/printLiveScriptChunk.d.ts +4 -0
  369. package/esm/scripts/run-codex-prompts/common/sleepWithCountdown.d.ts +27 -0
  370. package/esm/scripts/run-codex-prompts/common/waitForPause.d.ts +12 -0
  371. package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -1
  372. package/esm/scripts/run-codex-prompts/main/findUnwrittenPrompts.d.ts +19 -0
  373. package/esm/scripts/run-codex-prompts/main/runCodexPromptsServer.d.ts +27 -0
  374. package/esm/scripts/run-codex-prompts/main/runPromptRound.d.ts +5 -3
  375. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +3 -1
  376. package/esm/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +50 -0
  377. package/esm/scripts/run-codex-prompts/server/buildCoderServerRunState.d.ts +23 -0
  378. package/esm/scripts/run-codex-prompts/server/coderServerHtml.d.ts +9 -0
  379. package/esm/scripts/run-codex-prompts/server/runCoderHttpServer.d.ts +35 -0
  380. package/esm/scripts/run-codex-prompts/server/updatePromptSection.d.ts +9 -0
  381. package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +8 -0
  382. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +1 -0
  383. package/esm/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +5 -1
  384. package/esm/scripts/run-codex-prompts/ui/renderCoderRunUi.d.ts +1 -0
  385. package/esm/src/_packages/components.index.d.ts +4 -0
  386. package/esm/src/_packages/core.index.d.ts +0 -2
  387. package/esm/src/_packages/node.index.d.ts +40 -0
  388. package/esm/src/_packages/types.index.d.ts +18 -0
  389. package/esm/src/avatars/avatarAnimationScheduler.d.ts +4 -0
  390. package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
  391. package/esm/src/avatars/visuals/octopus3d3AvatarVisual.d.ts +7 -0
  392. package/esm/src/avatars/visuals/octopus3d4AvatarVisual.d.ts +7 -0
  393. package/esm/src/book-3.0/BookNodeAgentSource.d.ts +38 -0
  394. package/esm/src/book-3.0/CliAgent.d.ts +66 -0
  395. package/esm/src/book-3.0/CliAgent.test.d.ts +1 -0
  396. package/esm/src/book-3.0/LiteAgent.d.ts +68 -0
  397. package/esm/src/book-3.0/LiteAgent.test.d.ts +1 -0
  398. package/esm/src/book-3.0/agentFolderPaths.d.ts +30 -0
  399. package/esm/src/book-3.0/cliAgentEnv.d.ts +33 -0
  400. package/esm/src/book-components/BookEditor/BookEditor.d.ts +6 -5
  401. package/esm/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.d.ts +12 -0
  402. package/esm/src/book-components/BookEditor/BookEditorBrowserConfig.d.ts +2 -0
  403. package/esm/src/book-components/BookEditor/BookEditorForClient.d.ts +7 -0
  404. package/esm/src/book-components/BookEditor/BookEditorMonacoTokenization.d.ts +1 -0
  405. package/esm/src/book-components/BookEditor/BookEditorTheme.d.ts +24 -0
  406. package/esm/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +9 -0
  407. package/esm/src/book-components/BookEditor/useBookEditorMonacoLanguage.d.ts +1 -6
  408. package/esm/src/book-components/BookEditor/useBookEditorMonacoLifecycle.d.ts +1 -4
  409. package/esm/src/book-components/BookEditor/useBookEditorMonacoStyles.d.ts +2 -1
  410. package/esm/src/book-components/Chat/Chat/ChatCitationModal.d.ts +2 -0
  411. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +4 -0
  412. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +4 -0
  413. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +5 -0
  414. package/esm/src/book-components/Chat/Chat/ChatToolCallModal.d.ts +2 -0
  415. package/esm/src/book-components/Chat/Chat/ChatToolCallModalContent.d.ts +3 -1
  416. package/esm/src/book-components/Chat/Chat/CitationIframePreview.d.ts +20 -0
  417. package/esm/src/book-components/Chat/Chat/TeamToolCallModalContent.d.ts +2 -0
  418. package/esm/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +1 -0
  419. package/esm/src/book-components/Chat/SourceChip/SourceChip.d.ts +6 -1
  420. package/esm/src/book-components/Chat/hooks/useResolvedCitationLabel.d.ts +12 -0
  421. package/esm/src/book-components/Chat/types/ChatMessage.d.ts +4 -0
  422. package/esm/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
  423. package/esm/src/book-components/Chat/types/CitationLabelResolver.d.ts +8 -0
  424. package/esm/src/book-components/Chat/utils/citationHelpers.d.ts +9 -0
  425. package/esm/src/book-components/Chat/utils/decodeJsonUnicodeEscapesInMarkdownText.d.ts +14 -0
  426. package/esm/src/book-components/Chat/utils/decodeJsonUnicodeEscapesInMarkdownText.test.d.ts +1 -0
  427. package/esm/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +10 -0
  428. package/esm/src/book-components/Chat/utils/parseCitationsFromContent.d.ts +4 -0
  429. package/esm/src/book-components/_common/Dropdown/Dropdown.d.ts +1 -1
  430. package/esm/src/book-components/_common/MenuHoisting/MenuHoistingContext.d.ts +1 -1
  431. package/esm/src/book-components/_common/Modal/Modal.d.ts +1 -1
  432. package/esm/src/book-components/icons/AboutIcon.d.ts +1 -1
  433. package/esm/src/book-components/icons/DownloadIcon.d.ts +1 -1
  434. package/esm/src/book-components/icons/ExitFullscreenIcon.d.ts +1 -1
  435. package/esm/src/book-components/icons/FullscreenIcon.d.ts +1 -1
  436. package/esm/src/cli/cli-commands/agent/agentCliOptions.d.ts +38 -0
  437. package/esm/src/cli/cli-commands/agent/chat.d.ts +10 -0
  438. package/esm/src/cli/cli-commands/agent/exec.d.ts +10 -0
  439. package/esm/src/cli/cli-commands/agent/run.test.d.ts +1 -0
  440. package/esm/src/cli/cli-commands/agent-folder/agentProjectPaths.d.ts +2 -24
  441. package/esm/src/cli/cli-commands/agent.d.ts +14 -0
  442. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +17 -1
  443. package/esm/src/cli/cli-commands/agents-server/run.d.ts +6 -0
  444. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +9 -2
  445. package/esm/src/cli/cli-commands/coder/ThinkingLevel.d.ts +1 -1
  446. package/esm/src/cli/cli-commands/coder/ensureCoderDeveloperAgentFile.d.ts +25 -0
  447. package/esm/src/cli/cli-commands/coder/find-unwritten.d.ts +10 -0
  448. package/esm/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +2 -0
  449. package/esm/src/cli/cli-commands/coder/server.d.ts +13 -0
  450. package/esm/src/cli/cli-commands/coder/waitOptions.d.ts +14 -0
  451. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +9 -25
  452. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +22 -0
  453. package/esm/src/commitments/_common/teamInternalAgentAccess.d.ts +9 -1
  454. package/esm/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -1
  455. package/esm/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +1 -1
  456. package/esm/src/scrapers/website/utils/createShowdownConverter.d.ts +2 -2
  457. package/esm/src/utils/isTimingSafeEqualString.d.ts +25 -0
  458. package/esm/src/utils/validators/url/isValidAgentUrl.d.ts +5 -0
  459. package/esm/src/version.d.ts +1 -1
  460. package/package.json +6 -1
  461. package/servers.ts +1 -16
  462. package/src/_packages/components.index.ts +4 -0
  463. package/src/_packages/core.index.ts +0 -2
  464. package/src/_packages/node.index.ts +40 -0
  465. package/src/_packages/types.index.ts +18 -0
  466. package/src/avatars/avatarAnimationScheduler.ts +76 -4
  467. package/src/avatars/types/AvatarVisualDefinition.ts +2 -0
  468. package/src/avatars/visuals/avatarVisualRegistry.ts +4 -0
  469. package/src/avatars/visuals/fractalAvatarVisual.ts +5 -4
  470. package/src/avatars/visuals/minecraft2AvatarVisual.ts +16 -11
  471. package/src/avatars/visuals/minecraftAvatarVisual.ts +21 -7
  472. package/src/avatars/visuals/octopus3d2AvatarVisual.ts +175 -38
  473. package/src/avatars/visuals/octopus3d3AvatarVisual.ts +1068 -0
  474. package/src/avatars/visuals/octopus3d4AvatarVisual.ts +1295 -0
  475. package/src/avatars/visuals/octopus3dAvatarVisual.ts +69 -17
  476. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/augmentAgentModelRequirementsFromSource.ts +18 -2
  477. package/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.ts +7 -1
  478. package/src/book-3.0/Book.ts +3 -1
  479. package/src/book-3.0/BookNodeAgentSource.ts +135 -0
  480. package/src/book-3.0/CliAgent.ts +252 -0
  481. package/src/book-3.0/LiteAgent.ts +468 -0
  482. package/src/book-3.0/agentFolderPaths.ts +38 -0
  483. package/src/book-3.0/cliAgentEnv.ts +46 -0
  484. package/src/book-components/BookEditor/BookEditor.module.css +61 -0
  485. package/src/book-components/BookEditor/BookEditor.tsx +16 -13
  486. package/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.tsx +72 -0
  487. package/src/book-components/BookEditor/BookEditorActionbar.tsx +35 -5
  488. package/src/book-components/BookEditor/BookEditorBrowserConfig.ts +11 -0
  489. package/src/book-components/BookEditor/BookEditorForClient.tsx +33 -0
  490. package/src/book-components/BookEditor/BookEditorMonaco.tsx +4 -2
  491. package/src/book-components/BookEditor/BookEditorMonacoTokenization.ts +78 -27
  492. package/src/book-components/BookEditor/BookEditorTheme.ts +32 -0
  493. package/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.ts +11 -0
  494. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +55 -89
  495. package/src/book-components/BookEditor/useBookEditorMonacoLifecycle.ts +1 -5
  496. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +3 -2
  497. package/src/book-components/BookEditor/useBookEditorMonacoUploads.ts +1 -1
  498. package/src/book-components/Chat/Chat/Chat.module.css +50 -0
  499. package/src/book-components/Chat/Chat/Chat.tsx +4 -0
  500. package/src/book-components/Chat/Chat/ChatCitationModal.tsx +19 -5
  501. package/src/book-components/Chat/Chat/ChatMessageItem.tsx +22 -2
  502. package/src/book-components/Chat/Chat/ChatMessageList.tsx +6 -0
  503. package/src/book-components/Chat/Chat/ChatProps.tsx +6 -0
  504. package/src/book-components/Chat/Chat/ChatToolCallModal.tsx +4 -0
  505. package/src/book-components/Chat/Chat/ChatToolCallModalContent.tsx +4 -0
  506. package/src/book-components/Chat/Chat/CitationIframePreview.tsx +78 -0
  507. package/src/book-components/Chat/Chat/TeamToolCallModalContent.tsx +16 -3
  508. package/src/book-components/Chat/Chat/createChatMessageToolCallRenderModel.ts +2 -9
  509. package/src/book-components/Chat/Chat/useChatPostprocessedMessages.ts +13 -2
  510. package/src/book-components/Chat/MarkdownContent/MarkdownContent.tsx +63 -4
  511. package/src/book-components/Chat/SourceChip/SourceChip.module.css +8 -0
  512. package/src/book-components/Chat/SourceChip/SourceChip.tsx +19 -5
  513. package/src/book-components/Chat/hooks/useResolvedCitationLabel.ts +65 -0
  514. package/src/book-components/Chat/save/html/htmlSaveFormatDefinition.ts +315 -88
  515. package/src/book-components/Chat/save/react/reactSaveFormatDefinition.ts +7 -1
  516. package/src/book-components/Chat/types/ChatMessage.ts +5 -0
  517. package/src/book-components/Chat/types/ChatParticipant.ts +1 -1
  518. package/src/book-components/Chat/types/CitationLabelResolver.ts +9 -0
  519. package/src/book-components/Chat/utils/citationHelpers.ts +90 -2
  520. package/src/book-components/Chat/utils/createCitationFootnoteRenderModel.ts +3 -0
  521. package/src/book-components/Chat/utils/decodeJsonUnicodeEscapesInMarkdownText.ts +178 -0
  522. package/src/book-components/Chat/utils/isVisibleChatToolCall.ts +23 -0
  523. package/src/book-components/Chat/utils/parseCitationsFromContent.ts +6 -0
  524. package/src/book-components/Chat/utils/renderMarkdown.ts +3 -2
  525. package/src/book-components/_common/Dropdown/Dropdown.tsx +1 -1
  526. package/src/book-components/_common/MenuHoisting/MenuHoistingContext.tsx +1 -1
  527. package/src/book-components/_common/Modal/Modal.tsx +1 -1
  528. package/src/book-components/icons/AboutIcon.tsx +1 -1
  529. package/src/book-components/icons/DownloadIcon.tsx +1 -1
  530. package/src/book-components/icons/ExitFullscreenIcon.tsx +1 -1
  531. package/src/book-components/icons/FullscreenIcon.tsx +1 -1
  532. package/src/cli/cli-commands/agent/agentCliOptions.ts +92 -0
  533. package/src/cli/cli-commands/agent/chat.ts +54 -0
  534. package/src/cli/cli-commands/agent/exec.ts +60 -0
  535. package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +15 -28
  536. package/src/cli/cli-commands/agent.ts +44 -0
  537. package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +188 -24
  538. package/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.ts +15 -2
  539. package/src/cli/cli-commands/agents-server/run.ts +103 -31
  540. package/src/cli/cli-commands/agents-server/startAgentsServer.ts +250 -41
  541. package/src/cli/cli-commands/agents-server.ts +7 -1
  542. package/src/cli/cli-commands/coder/ThinkingLevel.ts +3 -1
  543. package/src/cli/cli-commands/coder/agentCodingFile.ts +1 -1
  544. package/src/cli/cli-commands/coder/ensureCoderDeveloperAgentFile.ts +79 -0
  545. package/src/cli/cli-commands/coder/find-unwritten.ts +58 -0
  546. package/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.ts +2 -2
  547. package/src/cli/cli-commands/coder/init.ts +6 -1
  548. package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +10 -0
  549. package/src/cli/cli-commands/coder/printInitializationSummary.ts +3 -0
  550. package/src/cli/cli-commands/coder/run.ts +78 -13
  551. package/src/cli/cli-commands/coder/server.ts +259 -0
  552. package/src/cli/cli-commands/coder/waitOptions.ts +24 -0
  553. package/src/cli/cli-commands/coder.ts +6 -0
  554. package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +33 -49
  555. package/src/cli/common/$deprecateCliCommand.ts +10 -1
  556. package/src/cli/promptbookCli.ts +2 -0
  557. package/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.ts +91 -14
  558. package/src/commands/KNOWLEDGE/utils/knowledgeSourceContentToName.ts +2 -2
  559. package/src/commitments/GOAL/GOAL.ts +7 -2
  560. package/src/commitments/LANGUAGE/LANGUAGE.ts +7 -2
  561. package/src/commitments/TEAM/TEAM.ts +12 -1
  562. package/src/commitments/USE_PROJECT/createUseProjectToolFunctions.ts +8 -1
  563. package/src/commitments/_common/teamInternalAgentAccess.ts +14 -8
  564. package/src/execution/createPipelineExecutor/getKnowledgeForTask.ts +1 -1
  565. package/src/formats/csv/CsvFormatParser.ts +4 -4
  566. package/src/formats/csv/utils/csvParse.ts +2 -2
  567. package/src/import-plugins/JsonFileImportPlugin.ts +15 -2
  568. package/src/import-plugins/TextFileImportPlugin.ts +8 -1
  569. package/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.ts +1 -1
  570. package/src/llm-providers/_common/register/$provideLlmToolsFromEnv.ts +1 -1
  571. package/src/llm-providers/_common/register/$registeredLlmToolsMessage.ts +6 -1
  572. package/src/llm-providers/agent/AgentLlmExecutionTools.ts +2 -2
  573. package/src/llm-providers/agent/AgentLlmExecutionToolsAgentKitRunner.ts +2 -2
  574. package/src/llm-providers/agent/AgentLlmExecutionToolsOpenAiAssistantRunner.ts +2 -2
  575. package/src/llm-providers/anthropic-claude/register-configuration.ts +6 -3
  576. package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +3 -1
  577. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  578. package/src/llm-providers/openai/OpenAiVectorStoreKnowledgeSourcePreparer.ts +1 -1
  579. package/src/other/templates/getTemplatesPipelineCollection.ts +741 -788
  580. package/src/scrapers/_common/utils/getScraperIntermediateSource.ts +2 -2
  581. package/src/scrapers/website/WebsiteScraper.ts +1 -1
  582. package/src/scrapers/website/utils/createShowdownConverter.ts +2 -2
  583. package/src/scripting/javascript/JavascriptEvalExecutionTools.ts +1 -1
  584. package/src/utils/agents/resolveAgentAvatarImageUrl.ts +1 -1
  585. package/src/utils/chat/chatAttachments/resolveChatAttachmentContent.ts +8 -1
  586. package/src/utils/isTimingSafeEqualString.ts +43 -0
  587. package/src/utils/misc/computeHash.ts +2 -2
  588. package/src/utils/random/$randomToken.ts +2 -2
  589. package/src/utils/validators/url/isValidAgentUrl.ts +5 -7
  590. package/src/version.ts +2 -2
  591. package/src/versions.txt +32 -0
  592. package/umd/apps/agents-server/src/constants/federatedAgentImport.d.ts +42 -0
  593. package/umd/apps/agents-server/src/constants/serverLimits.d.ts +207 -0
  594. package/umd/apps/agents-server/src/constants/toolUsageLimits.d.ts +55 -0
  595. package/umd/index.umd.js +23723 -18556
  596. package/umd/index.umd.js.map +1 -1
  597. package/umd/scripts/run-agent-chat/executeAgentChatTurn.d.ts +28 -0
  598. package/umd/scripts/run-agent-chat/runAgentChat.d.ts +5 -0
  599. package/umd/scripts/run-agent-chat/runAgentExec.d.ts +11 -0
  600. package/umd/scripts/run-agent-messages/main/AgentMessageFailureTracker.d.ts +27 -0
  601. package/umd/scripts/run-agent-messages/main/handleAgentWatchError.d.ts +4 -0
  602. package/umd/scripts/run-agent-messages/main/runAgentMessages.d.ts +1 -0
  603. package/umd/scripts/run-agent-messages/messages/createAgentRunnerSystemMessage.d.ts +10 -0
  604. package/umd/scripts/run-agent-messages/messages/moveAgentMessageToFailed.d.ts +17 -0
  605. package/umd/scripts/run-codex-prompts/common/buildCoderRunProgressSnapshot.d.ts +5 -1
  606. package/umd/scripts/run-codex-prompts/common/cliProgressDisplay.d.ts +7 -0
  607. package/umd/scripts/run-codex-prompts/common/coderRunEstimateCache.d.ts +31 -0
  608. package/umd/scripts/run-codex-prompts/common/parseDuration.d.ts +19 -0
  609. package/umd/scripts/run-codex-prompts/common/progressFormatting.d.ts +2 -0
  610. package/umd/scripts/run-codex-prompts/common/resolveAgentSystemMessage.d.ts +6 -0
  611. package/umd/scripts/run-codex-prompts/common/resolveInlineOrFileText.d.ts +14 -0
  612. package/umd/scripts/run-codex-prompts/common/runGoScript/printLiveScriptChunk.d.ts +4 -0
  613. package/umd/scripts/run-codex-prompts/common/sleepWithCountdown.d.ts +27 -0
  614. package/umd/scripts/run-codex-prompts/common/waitForPause.d.ts +12 -0
  615. package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -1
  616. package/umd/scripts/run-codex-prompts/main/findUnwrittenPrompts.d.ts +19 -0
  617. package/umd/scripts/run-codex-prompts/main/runCodexPromptsServer.d.ts +27 -0
  618. package/umd/scripts/run-codex-prompts/main/runPromptRound.d.ts +5 -3
  619. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +3 -1
  620. package/umd/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +50 -0
  621. package/umd/scripts/run-codex-prompts/server/buildCoderServerRunState.d.ts +23 -0
  622. package/umd/scripts/run-codex-prompts/server/coderServerHtml.d.ts +9 -0
  623. package/umd/scripts/run-codex-prompts/server/runCoderHttpServer.d.ts +35 -0
  624. package/umd/scripts/run-codex-prompts/server/updatePromptSection.d.ts +9 -0
  625. package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +8 -0
  626. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +1 -0
  627. package/umd/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +5 -1
  628. package/umd/scripts/run-codex-prompts/ui/renderCoderRunUi.d.ts +1 -0
  629. package/umd/src/_packages/components.index.d.ts +4 -0
  630. package/umd/src/_packages/core.index.d.ts +0 -2
  631. package/umd/src/_packages/node.index.d.ts +40 -0
  632. package/umd/src/_packages/types.index.d.ts +18 -0
  633. package/umd/src/avatars/avatarAnimationScheduler.d.ts +4 -0
  634. package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +1 -1
  635. package/umd/src/avatars/visuals/octopus3d3AvatarVisual.d.ts +7 -0
  636. package/umd/src/avatars/visuals/octopus3d4AvatarVisual.d.ts +7 -0
  637. package/umd/src/book-3.0/BookNodeAgentSource.d.ts +38 -0
  638. package/umd/src/book-3.0/CliAgent.d.ts +66 -0
  639. package/umd/src/book-3.0/CliAgent.test.d.ts +1 -0
  640. package/umd/src/book-3.0/LiteAgent.d.ts +68 -0
  641. package/umd/src/book-3.0/LiteAgent.test.d.ts +1 -0
  642. package/umd/src/book-3.0/agentFolderPaths.d.ts +30 -0
  643. package/umd/src/book-3.0/cliAgentEnv.d.ts +33 -0
  644. package/umd/src/book-components/BookEditor/BookEditor.d.ts +6 -5
  645. package/umd/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.d.ts +12 -0
  646. package/umd/src/book-components/BookEditor/BookEditorBrowserConfig.d.ts +2 -0
  647. package/umd/src/book-components/BookEditor/BookEditorForClient.d.ts +7 -0
  648. package/umd/src/book-components/BookEditor/BookEditorMonacoTokenization.d.ts +1 -0
  649. package/umd/src/book-components/BookEditor/BookEditorTheme.d.ts +24 -0
  650. package/umd/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +9 -0
  651. package/umd/src/book-components/BookEditor/useBookEditorMonacoLanguage.d.ts +1 -6
  652. package/umd/src/book-components/BookEditor/useBookEditorMonacoLifecycle.d.ts +1 -4
  653. package/umd/src/book-components/BookEditor/useBookEditorMonacoStyles.d.ts +2 -1
  654. package/umd/src/book-components/Chat/Chat/ChatCitationModal.d.ts +2 -0
  655. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +4 -0
  656. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +4 -0
  657. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +5 -0
  658. package/umd/src/book-components/Chat/Chat/ChatToolCallModal.d.ts +2 -0
  659. package/umd/src/book-components/Chat/Chat/ChatToolCallModalContent.d.ts +3 -1
  660. package/umd/src/book-components/Chat/Chat/CitationIframePreview.d.ts +20 -0
  661. package/umd/src/book-components/Chat/Chat/TeamToolCallModalContent.d.ts +2 -0
  662. package/umd/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +1 -0
  663. package/umd/src/book-components/Chat/SourceChip/SourceChip.d.ts +6 -1
  664. package/umd/src/book-components/Chat/hooks/useResolvedCitationLabel.d.ts +12 -0
  665. package/umd/src/book-components/Chat/types/ChatMessage.d.ts +4 -0
  666. package/umd/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
  667. package/umd/src/book-components/Chat/types/CitationLabelResolver.d.ts +8 -0
  668. package/umd/src/book-components/Chat/utils/citationHelpers.d.ts +9 -0
  669. package/umd/src/book-components/Chat/utils/decodeJsonUnicodeEscapesInMarkdownText.d.ts +14 -0
  670. package/umd/src/book-components/Chat/utils/decodeJsonUnicodeEscapesInMarkdownText.test.d.ts +1 -0
  671. package/umd/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +10 -0
  672. package/umd/src/book-components/Chat/utils/parseCitationsFromContent.d.ts +4 -0
  673. package/umd/src/book-components/_common/Dropdown/Dropdown.d.ts +1 -1
  674. package/umd/src/book-components/_common/MenuHoisting/MenuHoistingContext.d.ts +1 -1
  675. package/umd/src/book-components/_common/Modal/Modal.d.ts +1 -1
  676. package/umd/src/book-components/icons/AboutIcon.d.ts +1 -1
  677. package/umd/src/book-components/icons/DownloadIcon.d.ts +1 -1
  678. package/umd/src/book-components/icons/ExitFullscreenIcon.d.ts +1 -1
  679. package/umd/src/book-components/icons/FullscreenIcon.d.ts +1 -1
  680. package/umd/src/cli/cli-commands/agent/agentCliOptions.d.ts +38 -0
  681. package/umd/src/cli/cli-commands/agent/chat.d.ts +10 -0
  682. package/umd/src/cli/cli-commands/agent/exec.d.ts +10 -0
  683. package/umd/src/cli/cli-commands/agent/run.test.d.ts +1 -0
  684. package/umd/src/cli/cli-commands/agent-folder/agentProjectPaths.d.ts +2 -24
  685. package/umd/src/cli/cli-commands/agent.d.ts +14 -0
  686. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +17 -1
  687. package/umd/src/cli/cli-commands/agents-server/run.d.ts +6 -0
  688. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +9 -2
  689. package/umd/src/cli/cli-commands/coder/ThinkingLevel.d.ts +1 -1
  690. package/umd/src/cli/cli-commands/coder/ensureCoderDeveloperAgentFile.d.ts +25 -0
  691. package/umd/src/cli/cli-commands/coder/find-unwritten.d.ts +10 -0
  692. package/umd/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.d.ts +2 -0
  693. package/umd/src/cli/cli-commands/coder/server.d.ts +13 -0
  694. package/umd/src/cli/cli-commands/coder/waitOptions.d.ts +14 -0
  695. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +9 -25
  696. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +22 -0
  697. package/umd/src/commitments/_common/teamInternalAgentAccess.d.ts +9 -1
  698. package/umd/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -1
  699. package/umd/src/llm-providers/_common/register/$provideLlmToolsFromEnv.d.ts +1 -1
  700. package/umd/src/scrapers/website/utils/createShowdownConverter.d.ts +2 -2
  701. package/umd/src/utils/isTimingSafeEqualString.d.ts +25 -0
  702. package/umd/src/utils/validators/url/isValidAgentUrl.d.ts +5 -0
  703. package/umd/src/version.d.ts +1 -1
  704. package/apps/agents-server/src/app/api/long-streaming/route.ts +0 -23
  705. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddress.test.ts.todo +0 -108
  706. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddresses.test.ts.todo +0 -117
  707. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddress.test.ts.todo +0 -119
  708. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddresses.test.ts.todo +0 -74
  709. package/apps/agents-server/src/utils/defaultFederatedAgents/DefaultFederatedAgentsSyncOptions.ts +0 -9
  710. package/apps/agents-server/src/utils/defaultFederatedAgents/ensureDefaultFederatedAgentExists.ts +0 -277
  711. package/apps/agents-server/src/utils/defaultFederatedAgents/fetchCoreOrganizationPayload.ts +0 -39
  712. package/apps/agents-server/src/utils/defaultFederatedAgents/fetchFederatedAgentBook.ts +0 -43
  713. package/apps/agents-server/src/utils/defaultFederatedAgents/fetchWithDefaultFederatedAgentTimeout.ts +0 -28
  714. package/apps/agents-server/src/utils/defaultFederatedAgents/getDefaultFederatedAgentSyncPool.ts +0 -38
  715. package/apps/agents-server/src/utils/defaultFederatedAgents/loadActiveLocalAgentIdsByNormalizedName.ts +0 -41
  716. package/apps/agents-server/src/utils/defaultFederatedAgents/loadDefaultFederatedAgentSyncMetadata.ts +0 -76
  717. package/apps/agents-server/src/utils/defaultFederatedAgents/quoteIdentifier.ts +0 -11
  718. package/apps/agents-server/src/utils/defaultFederatedAgents/scheduleDefaultFederatedAgentsSync.ts +0 -88
  719. package/apps/agents-server/src/utils/defaultFederatedAgents/selectDefaultFederatedAgentsFromOrganizationPayload.ts +0 -181
  720. package/apps/agents-server/src/utils/defaultFederatedAgents/synchronizeDefaultFederatedAgents.ts +0 -77
  721. package/apps/agents-server/src/utils/shibboleth/createShibbolethAuthenticationLogPayload.ts +0 -173
  722. package/apps/agents-server/src/utils/shibboleth/writeShibbolethAuthenticationLog.ts +0 -27
  723. package/apps/agents-server/tests/e2e/authentication-and-navigation.spec.ts.todo +0 -178
  724. package/src/_packages/browser.index.ts +0 -31
  725. package/src/_packages/browser.readme.md +0 -43
  726. package/src/book-2.0/agent-source/parseAgentSourceWithCommitments.test.ts.todo +0 -265
  727. package/src/book-components/BookEditor/BookEditorMonaco.test.tsx.todo +0 -115
  728. package/src/book-components/Chat/utils/renderMarkdown.test.ts.tmp +0 -199
  729. package/src/collection/agent-collection/constructors/agent-collection-in-directory/AgentCollectionInDirectory.test.ts.todo +0 -131
  730. package/src/commands/_common/parseCommand.test.ts.todo +0 -48
  731. package/src/commitments/META_LINK/META_LINK.test.ts.todo +0 -75
  732. package/src/conversion/validation/pipelineStringToJson-errors.test.ts.todo +0 -33
  733. package/src/dialogs/simple-prompt/SimplePromptInterfaceTools.ts +0 -51
  734. package/src/executables/browsers/locateSafari.test.ts.tmp +0 -15
  735. package/src/execution/PromptbookFetch.test-type.ts +0 -14
  736. package/src/execution/createPipelineExecutor/00-createPipelineExecutor.test.ts.todo +0 -0
  737. package/src/execution/execution-report/executionReportJsonToString.test.ts.todo +0 -83
  738. package/src/execution/utils/usageToHuman.test.ts.todo +0 -80
  739. package/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.ts +0 -76
  740. package/src/llm-providers/_common/utils/assertUniqueModels.ts +0 -27
  741. package/src/llm-providers/_multiple/playground/playground.ts +0 -141
  742. package/src/llm-providers/_multiple/playground/tsconfig.json +0 -19
  743. package/src/llm-providers/agent/playground/playground.ts +0 -190
  744. package/src/llm-providers/agent/playground/tsconfig.json +0 -19
  745. package/src/llm-providers/anthropic-claude/playground/playground.ts +0 -99
  746. package/src/llm-providers/anthropic-claude/playground/tsconfig.json +0 -19
  747. package/src/llm-providers/azure-openai/playground/playground.ts +0 -101
  748. package/src/llm-providers/azure-openai/playground/tsconfig.json +0 -19
  749. package/src/llm-providers/ollama/playground/playground.ts +0 -120
  750. package/src/llm-providers/ollama/playground/tsconfig.json +0 -19
  751. package/src/llm-providers/openai/playground/playground.ts +0 -406
  752. package/src/llm-providers/openai/playground/tsconfig.json +0 -19
  753. package/src/llm-providers/remote/playground/playground.ts +0 -144
  754. package/src/llm-providers/remote/playground/tsconfig.json +0 -19
  755. package/src/llm-providers/vercel/playground/playground.ts +0 -133
  756. package/src/llm-providers/vercel/playground/tsconfig.json +0 -19
  757. package/src/personas/preparePersona.test.ts.todo +0 -126
  758. package/src/playground/backup/_playground-boilerplate.ts.txt +0 -37
  759. package/src/playground/backup/playground-agent-os.txt +0 -62
  760. package/src/playground/backup/playground-brj-app.ts.txt +0 -302
  761. package/src/playground/backup/playground-browser-playwright.txt +0 -110
  762. package/src/playground/backup/playground-claude-mcp.txt +0 -43
  763. package/src/playground/backup/playground-document-conversion.txt +0 -84
  764. package/src/playground/backup/playground-glob.ts.txt +0 -42
  765. package/src/playground/backup/playground-mcp-server.txt +0 -1
  766. package/src/playground/backup/playground-openai-agent-kit.txt +0 -73
  767. package/src/playground/backup/playground-openai-function-calling.txt +0 -131
  768. package/src/playground/backup/playground-openai-streaming.ts.txt +0 -68
  769. package/src/playground/backup/playground-scrape-knowledge.txt +0 -65
  770. package/src/playground/backup/playground-scraperFetch.ts.txt +0 -44
  771. package/src/playground/backup/playground-using-openai-compatible-route-on-agents-server.ts.txt +0 -49
  772. package/src/playground/backup/playground-write-pavolhejny-bio.txt +0 -120
  773. package/src/playground/permanent/_boilerplate.ts +0 -54
  774. package/src/playground/permanent/agent-with-browser-playground.ts +0 -92
  775. package/src/playground/permanent/error-handling-playground.ts +0 -103
  776. package/src/playground/playground.ts +0 -36
  777. package/src/playground/tsconfig.json +0 -19
  778. package/src/scrapers/_boilerplate/BoilerplateScraper.test.ts.todo +0 -73
  779. package/src/scrapers/_boilerplate/playground/boilerplate-scraper-playground.ts +0 -79
  780. package/src/scrapers/_boilerplate/playground/tsconfig.json +0 -19
  781. package/src/scrapers/_common/utils/files/blobToDataurl.test.ts.todo +0 -17
  782. package/src/scrapers/_common/utils/files/dataurlToBlob.test.ts.todo +0 -52
  783. package/src/scrapers/_common/utils/files/isValidDataurl.test.ts.todo +0 -42
  784. package/src/scrapers/_common/utils/files/shorten.test.ts.todo +0 -13
  785. package/src/scrapers/document/playground/document-scraper-playground.ts +0 -80
  786. package/src/scrapers/document/playground/tsconfig.json +0 -19
  787. package/src/scrapers/document-legacy/playground/legacy-document-scraper-playground.ts +0 -80
  788. package/src/scrapers/document-legacy/playground/tsconfig.json +0 -19
  789. package/src/scrapers/markdown/playground/markdown-scraper-playground.ts +0 -74
  790. package/src/scrapers/markdown/playground/tsconfig.json +0 -19
  791. package/src/scrapers/markitdown/MarkitdownScraper.test.ts.todo +0 -132
  792. package/src/scrapers/markitdown/playground/markitdown-scraper-playground.ts +0 -91
  793. package/src/scrapers/markitdown/playground/tsconfig.json +0 -19
  794. package/src/scrapers/pdf/PdfScraper.test.ts.todo +0 -52
  795. package/src/scrapers/pdf/playground/pdf-scraper-playground.ts +0 -75
  796. package/src/scrapers/pdf/playground/tsconfig.json +0 -19
  797. package/src/scrapers/website/playground/tsconfig.json +0 -19
  798. package/src/scrapers/website/playground/website-scraper-playground.ts +0 -82
  799. package/src/storage/_common/PromptbookStorage.test-type.ts +0 -14
  800. package/src/storage/local-storage/getIndexedDbStorage.ts +0 -36
  801. package/src/storage/local-storage/getLocalStorage.ts +0 -33
  802. package/src/storage/local-storage/getSessionStorage.ts +0 -33
  803. package/src/storage/local-storage/utils/IndexedDbStorageOptions.ts +0 -16
  804. package/src/storage/local-storage/utils/makePromptbookStorageFromIndexedDb.ts +0 -58
  805. package/src/storage/local-storage/utils/makePromptbookStorageFromWebStorage.ts +0 -45
  806. package/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.test.ts.todo +0 -35
  807. package/src/transpilers/openai-sdk/playground/playground.ts +0 -85
  808. package/src/transpilers/openai-sdk/playground/tmp/chatbot-openaisdk-1.js +0 -194
  809. package/src/transpilers/openai-sdk/playground/tmp/package.json +0 -3
  810. package/src/transpilers/openai-sdk/playground/tsconfig.json +0 -18
  811. package/src/utils/editable/utils/findUsableParameters.test.ts.todo +0 -43
  812. package/src/utils/editable/utils/stringifyPipelineJson.test.ts.todo +0 -38
  813. package/src/utils/markdown/prettifyMarkdown.test.ts.tmp +0 -42
  814. package/src/utils/serialization/serializeToPromptbookJavascript.test.ts.todo +0 -116
@@ -0,0 +1,45 @@
1
+ 'use client';
2
+
3
+ import { AlertTriangle } from 'lucide-react';
4
+ import Link from 'next/link';
5
+ import { useFileUploadAvailability } from './FileUploadAvailabilityContext';
6
+
7
+ /**
8
+ * Props consumed by `FileUploadUnavailableNotice`.
9
+ */
10
+ type FileUploadUnavailableNoticeProps = {
11
+ /**
12
+ * Optional classes appended to the notice root.
13
+ */
14
+ readonly className?: string;
15
+ };
16
+
17
+ /**
18
+ * Shows a shared notice when file uploads are disabled for the current server.
19
+ *
20
+ * @param props - Notice props.
21
+ * @returns Upload notice or `null` when uploads are available.
22
+ */
23
+ export function FileUploadUnavailableNotice({ className }: FileUploadUnavailableNoticeProps) {
24
+ const fileUploadAvailability = useFileUploadAvailability();
25
+
26
+ if (fileUploadAvailability.isUploadAvailable || !fileUploadAvailability.message) {
27
+ return null;
28
+ }
29
+
30
+ return (
31
+ <div
32
+ className={`flex items-start gap-3 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900 ${
33
+ className || ''
34
+ }`}
35
+ >
36
+ <AlertTriangle className="mt-0.5 h-4 w-4 flex-shrink-0" aria-hidden="true" />
37
+ <div className="space-y-1">
38
+ <p className="font-medium">{fileUploadAvailability.message}</p>
39
+ <Link href="/admin/servers" className="inline-flex font-semibold underline underline-offset-2">
40
+ Open server/domain settings
41
+ </Link>
42
+ </div>
43
+ </div>
44
+ );
45
+ }
@@ -1,9 +1,10 @@
1
1
  'use client';
2
2
 
3
- import { NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF } from '@/config';
3
+ import { NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF, NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA } from '@/config';
4
4
  import { CLAIM, NAME, PROMPTBOOK_ENGINE_VERSION } from '@promptbook-local/core';
5
5
  import { useServerLanguage } from '../ServerLanguage/ServerLanguageProvider';
6
6
  import { HeadlessLink } from '../_utils/headlessParam';
7
+ import { getCommitFooterEmoji } from './getCommitFooterEmoji';
7
8
 
8
9
  /**
9
10
  * Title/url pair used to extend the footer via metadata.
@@ -34,18 +35,18 @@ export function Footer(props: FooterProps) {
34
35
  const { t } = useServerLanguage();
35
36
 
36
37
  return (
37
- <footer className="border-t bg-white">
38
+ <footer className="border-t border-gray-200 bg-white dark:border-slate-700 dark:bg-slate-950">
38
39
  <div className="container mx-auto px-6 py-12">
39
40
  <div className="grid grid-cols-1 md:grid-cols-5 gap-8">
40
41
  {/* Company Info */}
41
42
  <div className="space-y-4">
42
- <h3 className="font-bold">{NAME}</h3>
43
+ <h3 className="font-bold text-gray-900 dark:text-slate-100">{NAME}</h3>
43
44
  <p className="text-sm text-muted-foreground text-gray-500">{CLAIM}</p>
44
45
  </div>
45
46
 
46
47
  {/* Products */}
47
48
  <div className="space-y-4">
48
- <h3 className="font-bold">{t('footer.productSectionTitle')}</h3>
49
+ <h3 className="font-bold text-gray-900 dark:text-slate-100">{t('footer.productSectionTitle')}</h3>
49
50
  <ul className="space-y-2 text-sm">
50
51
  <li>
51
52
  <HeadlessLink href="/get-started" className="text-gray-500 hover:text-gray-900">
@@ -80,7 +81,7 @@ export function Footer(props: FooterProps) {
80
81
 
81
82
  {/* Company */}
82
83
  <div className="space-y-4">
83
- <h3 className="font-bold">{t('footer.companySectionTitle')}</h3>
84
+ <h3 className="font-bold text-gray-900 dark:text-slate-100">{t('footer.companySectionTitle')}</h3>
84
85
  <ul className="space-y-2 text-sm">
85
86
  <li>
86
87
  <a
@@ -110,7 +111,7 @@ export function Footer(props: FooterProps) {
110
111
 
111
112
  {/* Social */}
112
113
  <div className="space-y-4">
113
- <h3 className="font-bold">{t('footer.connectSectionTitle')}</h3>
114
+ <h3 className="font-bold text-gray-900 dark:text-slate-100">{t('footer.connectSectionTitle')}</h3>
114
115
  <ul className="space-y-2 text-sm">
115
116
  <li>
116
117
  <a
@@ -144,7 +145,7 @@ export function Footer(props: FooterProps) {
144
145
  {/* Extra Links from Metadata */}
145
146
  {extraLinks.length > 0 && (
146
147
  <div className="space-y-4">
147
- <h3 className="font-bold">{t('footer.linksSectionTitle')}</h3>
148
+ <h3 className="font-bold text-gray-900 dark:text-slate-100">{t('footer.linksSectionTitle')}</h3>
148
149
  <ul className="space-y-2 text-sm">
149
150
  {extraLinks.map((link, index) => (
150
151
  <li key={index}>
@@ -163,13 +164,13 @@ export function Footer(props: FooterProps) {
163
164
  )}
164
165
  </div>
165
166
 
166
- <div className="border-t mt-8 pt-8 text-center text-sm text-gray-500">
167
+ <div className="border-t border-gray-200 mt-8 pt-8 text-center text-sm text-gray-500 dark:border-slate-700 dark:text-slate-400">
167
168
  <p>
168
169
  &copy; {new Date().getFullYear()} Promptbook
169
170
  <br />
170
171
  {t('footer.allRightsReserved')}
171
172
  <br />
172
- {t('footer.madeInCzechRepublic')}
173
+ {t('footer.madeInCzechRepublic', { emoji: getCommitFooterEmoji(NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA) })}
173
174
  {/* <- TODO: !!!!!!!! Put here Prague outline */}
174
175
  </p>
175
176
  <p className="mt-2 text-xs text-gray-400">
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Curated list of positive or neutral emojis displayed in the footer's "Made with {emoji} in Europe" line.
3
+ *
4
+ * The order of this list is part of the deterministic mapping from commit SHA to emoji, so existing
5
+ * entries should not be reordered. New emojis can be appended at the end without affecting the
6
+ * indexes of existing ones, but each commit SHA will then map to a different emoji.
7
+ *
8
+ * Hearts, cute animals, plants, fruits, sweets, and celebratory symbols are intentionally chosen so
9
+ * that the footer never shows anything aggressive, scary, or negative.
10
+ */
11
+ const POSITIVE_FOOTER_EMOJIS = [
12
+ '❤️',
13
+ '🧡',
14
+ '💛',
15
+ '💚',
16
+ '💙',
17
+ '💜',
18
+ '🤍',
19
+ '💖',
20
+ '💝',
21
+ '🐙',
22
+ '🦄',
23
+ '🐶',
24
+ '🐱',
25
+ '🐰',
26
+ '🦊',
27
+ '🐻',
28
+ '🐼',
29
+ '🐨',
30
+ '🐯',
31
+ '🦁',
32
+ '🐸',
33
+ '🐵',
34
+ '🐧',
35
+ '🦉',
36
+ '🐢',
37
+ '🦋',
38
+ '🐝',
39
+ '🐞',
40
+ '🐳',
41
+ '🐬',
42
+ '🦒',
43
+ '🐘',
44
+ '🌸',
45
+ '🌻',
46
+ '🌷',
47
+ '🌹',
48
+ '🌈',
49
+ '🌟',
50
+ '✨',
51
+ '☀️',
52
+ '🌙',
53
+ '🍀',
54
+ '🌳',
55
+ '🍎',
56
+ '🍓',
57
+ '🍑',
58
+ '🍒',
59
+ '🍋',
60
+ '🍊',
61
+ '🍇',
62
+ '🍉',
63
+ '🍰',
64
+ '🍪',
65
+ '🍩',
66
+ '🍕',
67
+ '🍔',
68
+ '🍦',
69
+ '🍫',
70
+ '🎉',
71
+ '🎈',
72
+ '🎁',
73
+ '🎨',
74
+ '🚀',
75
+ '⭐',
76
+ '💎',
77
+ '🪐',
78
+ '🎵',
79
+ ] as const;
80
+
81
+ /**
82
+ * Default emoji used in the footer when no commit SHA is available (for example during local
83
+ * development outside Vercel). Kept as the historic `❤️` so the footer text does not look
84
+ * unusual when the deployment metadata is missing.
85
+ */
86
+ const DEFAULT_FOOTER_EMOJI: string = POSITIVE_FOOTER_EMOJIS[0]!;
87
+
88
+ /**
89
+ * Derives a stable emoji from a commit SHA using a small djb2-style string hash.
90
+ *
91
+ * The same SHA always produces the same emoji, so users can spot a server update by noticing that
92
+ * the footer emoji changed. The result is taken modulo the curated list, so it is always one of
93
+ * the positive/neutral emojis in {@link POSITIVE_FOOTER_EMOJIS}.
94
+ *
95
+ * @param commitSha - Full or short commit SHA. May be `null` or `undefined` when running outside
96
+ * a Vercel deployment, in which case {@link DEFAULT_FOOTER_EMOJI} is returned.
97
+ * @returns One emoji from {@link POSITIVE_FOOTER_EMOJIS}.
98
+ * @private Internal to `apps/agents-server`
99
+ */
100
+ export function getCommitFooterEmoji(commitSha: string | null | undefined): string {
101
+ if (!commitSha) {
102
+ return DEFAULT_FOOTER_EMOJI;
103
+ }
104
+
105
+ let hash = 0;
106
+ for (let characterIndex = 0; characterIndex < commitSha.length; characterIndex++) {
107
+ hash = (hash * 31 + commitSha.charCodeAt(characterIndex)) | 0;
108
+ }
109
+
110
+ const emojiIndex = Math.abs(hash) % POSITIVE_FOOTER_EMOJIS.length;
111
+ return POSITIVE_FOOTER_EMOJIS[emojiIndex]!;
112
+ }
@@ -0,0 +1,82 @@
1
+ 'use client';
2
+
3
+ import { createContext, useContext, useEffect, useMemo, useState, type ReactNode } from 'react';
4
+ import type { AgentBasicInformation } from '../../../../../src/book-2.0/agent-source/AgentBasicInformation';
5
+
6
+ /**
7
+ * Subset of agent information that the Header breadcrumb needs to render an agent's name (and avatar)
8
+ * even when the active agent is not part of the loaded organization list.
9
+ *
10
+ * @private mechanism of Agents Server header
11
+ */
12
+ export type ActiveAgentBreadcrumbInfo = Pick<
13
+ AgentBasicInformation,
14
+ 'agentName' | 'agentHash' | 'permanentId' | 'meta'
15
+ >;
16
+
17
+ /**
18
+ * Internal shape of the active-agent breadcrumb context.
19
+ *
20
+ * @private type of Header
21
+ */
22
+ type ActiveAgentBreadcrumbContextValue = {
23
+ readonly activeAgentBreadcrumbInfo: ActiveAgentBreadcrumbInfo | null;
24
+ readonly setActiveAgentBreadcrumbInfo: (info: ActiveAgentBreadcrumbInfo | null) => void;
25
+ };
26
+
27
+ /**
28
+ * Context that lets agent pages share the active agent's display info with the Header.
29
+ *
30
+ * @private mechanism of Agents Server header
31
+ */
32
+ const ActiveAgentBreadcrumbContext = createContext<ActiveAgentBreadcrumbContextValue | null>(null);
33
+
34
+ /**
35
+ * Provides storage for the active agent's breadcrumb info to the Header.
36
+ *
37
+ * @private function of Header
38
+ */
39
+ export function ActiveAgentBreadcrumbProvider({ children }: { readonly children: ReactNode }) {
40
+ const [activeAgentBreadcrumbInfo, setActiveAgentBreadcrumbInfo] = useState<ActiveAgentBreadcrumbInfo | null>(null);
41
+
42
+ const value = useMemo<ActiveAgentBreadcrumbContextValue>(
43
+ () => ({ activeAgentBreadcrumbInfo, setActiveAgentBreadcrumbInfo }),
44
+ [activeAgentBreadcrumbInfo],
45
+ );
46
+
47
+ return <ActiveAgentBreadcrumbContext.Provider value={value}>{children}</ActiveAgentBreadcrumbContext.Provider>;
48
+ }
49
+
50
+ /**
51
+ * Reads the active agent's breadcrumb info, used by the Header to render the agent's name in
52
+ * the breadcrumb whenever the agent is not present in the loaded organization list.
53
+ *
54
+ * @private function of Header
55
+ */
56
+ export function useActiveAgentBreadcrumbInfo(): ActiveAgentBreadcrumbInfo | null {
57
+ return useContext(ActiveAgentBreadcrumbContext)?.activeAgentBreadcrumbInfo ?? null;
58
+ }
59
+
60
+ /**
61
+ * Registers the active agent's breadcrumb info while the calling component is mounted.
62
+ * Pages that have loaded the agent profile call this hook so the Header breadcrumb can show
63
+ * the agent's name instead of falling back to its identifier.
64
+ *
65
+ * @private function of Header
66
+ */
67
+ export function useRegisterActiveAgentBreadcrumbInfo(info: ActiveAgentBreadcrumbInfo | null): void {
68
+ const context = useContext(ActiveAgentBreadcrumbContext);
69
+ const setter = context?.setActiveAgentBreadcrumbInfo;
70
+
71
+ useEffect(() => {
72
+ if (!setter) {
73
+ return;
74
+ }
75
+
76
+ setter(info);
77
+
78
+ return () => {
79
+ setter(null);
80
+ };
81
+ }, [info, setter]);
82
+ }
@@ -2,14 +2,13 @@
2
2
 
3
3
  import { logoutAction } from '@/src/app/actions';
4
4
  import { PROMPTBOOK_COLOR } from '@promptbook-local/core';
5
- import { ArrowRight } from 'lucide-react';
5
+ import { ArrowRight, TriangleAlert } from 'lucide-react';
6
6
  import { usePathname, useRouter } from 'next/navigation';
7
7
  import { useCallback, useMemo, useState } from 'react';
8
8
  import { HamburgerMenu } from '../../../../../src/book-components/_common/HamburgerMenu/HamburgerMenu';
9
9
  import { useMenuHoisting } from '../../../../../src/book-components/_common/MenuHoisting/MenuHoistingContext';
10
10
  import { just } from '../../../../../src/utils/organization/just';
11
11
  import { getVisibleCommitmentDefinitions } from '../../utils/getVisibleCommitmentDefinitions';
12
- import { pushWithHeadless, useIsHeadless } from '../_utils/headlessParam';
13
12
  import { useInstallPromptState, type AgentContextMenuRenamePayload } from '../AgentContextMenu/AgentContextMenu';
14
13
  import { useAgentNaming } from '../AgentNaming/AgentNamingContext';
15
14
  import { QrCodeModal } from '../AgentProfile/QrCodeModal';
@@ -56,12 +55,11 @@ export function Header(props: HeaderProps) {
56
55
  federatedServers,
57
56
  isExperimental = false,
58
57
  feedbackMode = 'stars',
58
+ shibbolethAuthenticationStatus,
59
59
  } = props;
60
-
61
60
  const [isChangePasswordOpen, setIsChangePasswordOpen] = useState(false);
62
61
  const router = useRouter();
63
62
  const pathname = usePathname();
64
- const isHeadless = useIsHeadless();
65
63
  const menuHoisting = useMenuHoisting();
66
64
  const mobileMenuHoisting = useMobileMenuHoisting();
67
65
  const { naming } = useAgentNaming();
@@ -72,13 +70,6 @@ export function Header(props: HeaderProps) {
72
70
  () => buildDocumentationDropdownItems(visibleDocumentationCommitments, t),
73
71
  [t, visibleDocumentationCommitments],
74
72
  );
75
-
76
- const fallbackNavigateToHref = useCallback(
77
- (href: string) => {
78
- pushWithHeadless(router, href, isHeadless);
79
- },
80
- [isHeadless, router],
81
- );
82
73
  const hoistedMobileMenuItems = mobileMenuHoisting?.menuItems || EMPTY_HOISTED_MOBILE_MENU_ITEMS;
83
74
  const {
84
75
  cancelMenuClose,
@@ -200,7 +191,6 @@ export function Header(props: HeaderProps) {
200
191
  isAdmin,
201
192
  isAuthenticated: Boolean(currentUser),
202
193
  isInstalled,
203
- navigateToHref: fallbackNavigateToHref,
204
194
  namingPlural: naming.plural,
205
195
  namingSingular: naming.singular,
206
196
  onAgentRenamed: handleAgentRenamedFromHeader,
@@ -248,6 +238,9 @@ export function Header(props: HeaderProps) {
248
238
  );
249
239
 
250
240
  const hasMenuAccess = Boolean(currentUser || isAdmin);
241
+ const isShibbolethConfigurationWarningShown = Boolean(
242
+ shibbolethAuthenticationStatus?.isActive && !shibbolethAuthenticationStatus.isConfigured,
243
+ );
251
244
  const systemMenuEntries = useMemo(
252
245
  () =>
253
246
  buildHeaderSystemMenuItems({
@@ -257,8 +250,21 @@ export function Header(props: HeaderProps) {
257
250
  isGlobalAdmin,
258
251
  isExperimental,
259
252
  feedbackMode,
253
+ shibbolethAuthenticationStatus,
260
254
  }),
261
- [currentUser, feedbackMode, isAdmin, isExperimental, isGlobalAdmin, t],
255
+ [currentUser, feedbackMode, isAdmin, isExperimental, isGlobalAdmin, shibbolethAuthenticationStatus, t],
256
+ );
257
+ const systemLabel = useMemo(
258
+ () =>
259
+ isShibbolethConfigurationWarningShown ? (
260
+ <span className="inline-flex items-center gap-2">
261
+ {t('header.systemMenuLabel')}
262
+ <TriangleAlert className="h-4 w-4 text-amber-500" aria-label="Warning" />
263
+ </span>
264
+ ) : (
265
+ t('header.systemMenuLabel')
266
+ ),
267
+ [isShibbolethConfigurationWarningShown, t],
262
268
  );
263
269
  const menuItems = useMemo(
264
270
  () =>
@@ -274,7 +280,7 @@ export function Header(props: HeaderProps) {
274
280
  setIsMobileDocsOpen,
275
281
  setIsMobileSystemOpen,
276
282
  setIsSystemOpen,
277
- systemLabel: t('header.systemMenuLabel'),
283
+ systemLabel,
278
284
  systemMenuEntries,
279
285
  }),
280
286
  [
@@ -288,6 +294,7 @@ export function Header(props: HeaderProps) {
288
294
  setIsMobileDocsOpen,
289
295
  setIsMobileSystemOpen,
290
296
  setIsSystemOpen,
297
+ systemLabel,
291
298
  systemMenuEntries,
292
299
  t,
293
300
  ],
@@ -389,7 +396,9 @@ export function Header(props: HeaderProps) {
389
396
  key={index}
390
397
  onClick={item.onClick}
391
398
  className={`rounded-md p-2 text-gray-600 transition-colors hover:bg-gray-100 hover:text-gray-900 dark:text-slate-300 dark:hover:bg-slate-800 dark:hover:text-slate-100 ${
392
- item.isActive ? 'bg-gray-100 text-gray-900 dark:bg-slate-800 dark:text-slate-100' : ''
399
+ item.isActive
400
+ ? 'bg-gray-100 text-gray-900 dark:bg-slate-800 dark:text-slate-100'
401
+ : ''
393
402
  }`}
394
403
  title={item.name}
395
404
  >
@@ -2,6 +2,7 @@ import type { ReactNode } from 'react';
2
2
  import type { AgentOrganizationAgent, AgentOrganizationFolder } from '../../utils/agentOrganization/types';
3
3
  import type { ChatFeedbackMode } from '../../utils/chatFeedbackMode';
4
4
  import type { UserInfo } from '../../utils/getCurrentUser';
5
+ import type { ShibbolethAuthenticationMenuStatus } from '../../constants/shibbolethAuth';
5
6
  import type { SubMenuItem } from './SubMenuItem';
6
7
 
7
8
  /**
@@ -57,6 +58,11 @@ export type HeaderProps = {
57
58
  * Determines which chat feedback mode is active.
58
59
  */
59
60
  feedbackMode?: ChatFeedbackMode;
61
+
62
+ /**
63
+ * Shibboleth authentication status used to show login-method menu entries and warnings.
64
+ */
65
+ shibbolethAuthenticationStatus?: ShibbolethAuthenticationMenuStatus;
60
66
  };
61
67
 
62
68
  /**
@@ -5,11 +5,15 @@ import {
5
5
  KeyRound,
6
6
  RefreshCw,
7
7
  Settings2,
8
+ ShieldCheck,
9
+ TriangleAlert,
8
10
  UserRound,
9
11
  Wrench,
10
12
  type LucideIcon,
11
13
  } from 'lucide-react';
14
+ import { createElement } from 'react';
12
15
  import type { ServerTranslationKey } from '../../languages/ServerTranslationKeys';
16
+ import type { ShibbolethAuthenticationMenuStatus } from '../../constants/shibbolethAuth';
13
17
  import type { ChatFeedbackMode } from '../../utils/chatFeedbackMode';
14
18
  import type { UserInfo } from '../../utils/getCurrentUser';
15
19
  import type { SubMenuItem } from './SubMenuItem';
@@ -31,6 +35,7 @@ type SystemCategoryLabel =
31
35
  | 'Utilities'
32
36
  | 'Super Admin'
33
37
  | 'Administration'
38
+ | 'Login Methods'
34
39
  | 'Monitoring & Usage'
35
40
  | 'Integrations & Keys'
36
41
  | 'Developer / Debug'
@@ -48,6 +53,7 @@ type BuildHeaderSystemMenuItemsOptions = {
48
53
  readonly isGlobalAdmin: boolean;
49
54
  readonly isExperimental: boolean;
50
55
  readonly feedbackMode: ChatFeedbackMode;
56
+ readonly shibbolethAuthenticationStatus?: ShibbolethAuthenticationMenuStatus;
51
57
  };
52
58
 
53
59
  /**
@@ -58,6 +64,7 @@ const SYSTEM_CATEGORY_ICON_MAP: Record<SystemCategoryLabel, LucideIcon> = {
58
64
  Utilities: Wrench,
59
65
  'Super Admin': Settings2,
60
66
  Administration: Settings2,
67
+ 'Login Methods': KeyRound,
61
68
  'Monitoring & Usage': BarChart3,
62
69
  'Integrations & Keys': KeyRound,
63
70
  'Developer / Debug': Code2,
@@ -72,6 +79,7 @@ const SYSTEM_CATEGORY_TRANSLATION_KEY_MAP: Record<SystemCategoryLabel, ServerTra
72
79
  Utilities: 'header.utilities',
73
80
  'Super Admin': 'header.superAdmin',
74
81
  Administration: 'header.administration',
82
+ 'Login Methods': 'header.loginMethods',
75
83
  'Monitoring & Usage': 'header.monitoringAndUsage',
76
84
  'Integrations & Keys': 'header.integrationsAndKeys',
77
85
  'Developer / Debug': 'header.developerDebug',
@@ -95,6 +103,21 @@ function applyFallbackSubMenuIcon(
95
103
  });
96
104
  }
97
105
 
106
+ /**
107
+ * Decorates a menu label with the warning indicator used for misconfigured login methods.
108
+ */
109
+ function createWarningMenuLabel(label: string) {
110
+ return createElement(
111
+ 'span',
112
+ { className: 'inline-flex items-center gap-2' },
113
+ label,
114
+ createElement(TriangleAlert, {
115
+ className: 'h-4 w-4 text-amber-500',
116
+ 'aria-label': 'Warning',
117
+ }),
118
+ );
119
+ }
120
+
98
121
  /**
99
122
  * Creates one category entry inside the System dropdown when there are items to show.
100
123
  */
@@ -102,6 +125,7 @@ function createSystemCategory(
102
125
  label: SystemCategoryLabel,
103
126
  items: ReadonlyArray<SubMenuItem>,
104
127
  translate: HeaderTranslate,
128
+ isWarningShown = false,
105
129
  ): SubMenuItem[] {
106
130
  if (items.length === 0) {
107
131
  return [];
@@ -110,7 +134,9 @@ function createSystemCategory(
110
134
  const categoryIcon = SYSTEM_CATEGORY_ICON_MAP[label];
111
135
  return [
112
136
  {
113
- label: translate(SYSTEM_CATEGORY_TRANSLATION_KEY_MAP[label]),
137
+ label: isWarningShown
138
+ ? createWarningMenuLabel(translate(SYSTEM_CATEGORY_TRANSLATION_KEY_MAP[label]))
139
+ : translate(SYSTEM_CATEGORY_TRANSLATION_KEY_MAP[label]),
114
140
  icon: categoryIcon,
115
141
  items: applyFallbackSubMenuIcon(items, categoryIcon),
116
142
  },
@@ -129,6 +155,7 @@ export function buildHeaderSystemMenuItems({
129
155
  isGlobalAdmin,
130
156
  isExperimental,
131
157
  feedbackMode,
158
+ shibbolethAuthenticationStatus,
132
159
  }: BuildHeaderSystemMenuItemsOptions): SubMenuItem[] {
133
160
  const userAccountSystemItems: SubMenuItem[] = [
134
161
  {
@@ -274,6 +301,23 @@ export function buildHeaderSystemMenuItems({
274
301
  },
275
302
  ];
276
303
 
304
+ const isShibbolethConfigurationWarningShown = Boolean(
305
+ shibbolethAuthenticationStatus?.isActive && !shibbolethAuthenticationStatus.isConfigured,
306
+ );
307
+ const loginMethodsSystemItems: SubMenuItem[] = shibbolethAuthenticationStatus?.isActive
308
+ ? [
309
+ {
310
+ label: isShibbolethConfigurationWarningShown
311
+ ? createWarningMenuLabel(translate('header.shibboleth'))
312
+ : translate('header.shibboleth'),
313
+ href: isShibbolethConfigurationWarningShown
314
+ ? '/admin/login-methods/shibboleth#setup-instructions'
315
+ : '/admin/login-methods/shibboleth',
316
+ icon: ShieldCheck,
317
+ },
318
+ ]
319
+ : [];
320
+
277
321
  const monitoringAndUsageSystemItems: SubMenuItem[] = [
278
322
  {
279
323
  label: translate('header.usageAnalytics'),
@@ -345,6 +389,12 @@ export function buildHeaderSystemMenuItems({
345
389
  ...createSystemCategory('Utilities', utilitiesSystemItems, translate),
346
390
  ...createSystemCategory('Super Admin', superAdminSystemItems, translate),
347
391
  ...createSystemCategory('Administration', administrationSystemItems, translate),
392
+ ...createSystemCategory(
393
+ 'Login Methods',
394
+ loginMethodsSystemItems,
395
+ translate,
396
+ isShibbolethConfigurationWarningShown,
397
+ ),
348
398
  ...createSystemCategory('Monitoring & Usage', monitoringAndUsageSystemItems, translate),
349
399
  ...createSystemCategory('Integrations & Keys', integrationsAndKeysSystemItems, translate),
350
400
  ...createSystemCategory('Developer / Debug', developerDebugSystemItems, translate),
@@ -5,6 +5,7 @@ import { buildAgentFolderContext, type AgentFolderContext } from '../../utils/ag
5
5
  import type { AgentOrganizationAgent } from '../../utils/agentOrganization/types';
6
6
  import { buildAgentProfileHref, buildFreshAgentChatHref } from '../../utils/agentRouting/agentRouteHrefs';
7
7
  import type { ServerTranslationKey } from '../../languages/ServerTranslationKeys';
8
+ import { useActiveAgentBreadcrumbInfo, type ActiveAgentBreadcrumbInfo } from './ActiveAgentBreadcrumbContext';
8
9
  import type { HeaderAgentMenuFolder } from './AgentMenuStructure';
9
10
  import { buildAgentMenuStructure } from './buildAgentMenuStructure';
10
11
  import { createAgentViewLabel } from './createAgentViewLabel';
@@ -137,11 +138,17 @@ function createActiveAgentHref(activeAgentNavigationId: string | null): string {
137
138
  /**
138
139
  * Resolves the breadcrumb label shown for the active agent.
139
140
  *
141
+ * The agent's identifier (its `agentName` or `permanentId`) must never leak into the breadcrumb
142
+ * because the URL form is opaque to the user. When the agent cannot be resolved from the loaded
143
+ * organization list (typical for anonymous users browsing a public agent), the Header falls back
144
+ * to the breadcrumb info registered by the agent page; if that is also missing, a generic label
145
+ * is shown instead of the raw identifier.
146
+ *
140
147
  * @private function of Header
141
148
  */
142
149
  function createActiveAgentLabel(
143
150
  activeAgent: AgentOrganizationAgent | null,
144
- activeAgentIdentifier: string | null,
151
+ activeAgentBreadcrumbInfo: ActiveAgentBreadcrumbInfo | null,
145
152
  agentFolderById: Map<number, HeaderAgentMenuFolder>,
146
153
  namingPlural: string,
147
154
  translate: HeaderTranslate,
@@ -150,7 +157,11 @@ function createActiveAgentLabel(
150
157
  return createAgentHierarchyLabel(activeAgent, agentFolderById);
151
158
  }
152
159
 
153
- return activeAgentIdentifier || translate('header.agentsLabelFallback', { agentsPlural: namingPlural });
160
+ if (activeAgentBreadcrumbInfo) {
161
+ return activeAgentBreadcrumbInfo.meta?.fullname || activeAgentBreadcrumbInfo.agentName;
162
+ }
163
+
164
+ return translate('header.agentsLabelFallback', { agentsPlural: namingPlural });
154
165
  }
155
166
 
156
167
  /**
@@ -218,11 +229,12 @@ export function useHeaderActiveAgent({
218
229
  () => resolveActiveAgent(activeAgentNavigation, agentByIdentifier),
219
230
  [activeAgentNavigation, agentByIdentifier],
220
231
  );
232
+ const activeAgentBreadcrumbInfo = useActiveAgentBreadcrumbInfo();
221
233
  const activeAgentNavigationId = resolveActiveAgentNavigationId(activeAgent, activeAgentNavigation.agentIdentifier);
222
234
  const activeAgentHref = createActiveAgentHref(activeAgentNavigationId);
223
235
  const activeAgentLabel = createActiveAgentLabel(
224
236
  activeAgent,
225
- activeAgentNavigation.agentIdentifier,
237
+ activeAgentBreadcrumbInfo,
226
238
  agentFolderById,
227
239
  namingPlural,
228
240
  translate,
@@ -239,10 +251,17 @@ export function useHeaderActiveAgent({
239
251
  [activeAgentMenuAgent.folderId, activeAgentMenuAgent.visibility, agentFolderById],
240
252
  );
241
253
  const { origin, hostname } = readWindowLocationState();
242
- const activeAgentAvatarUrl = useMemo(
243
- () => (activeAgent ? resolveAgentAvatarImageUrl({ agent: activeAgent }) : null),
244
- [activeAgent],
245
- );
254
+ const activeAgentAvatarUrl = useMemo(() => {
255
+ if (activeAgent) {
256
+ return resolveAgentAvatarImageUrl({ agent: activeAgent });
257
+ }
258
+
259
+ if (activeAgentBreadcrumbInfo) {
260
+ return resolveAgentAvatarImageUrl({ agent: activeAgentBreadcrumbInfo });
261
+ }
262
+
263
+ return null;
264
+ }, [activeAgent, activeAgentBreadcrumbInfo]);
246
265
 
247
266
  return {
248
267
  activeAgent,
@@ -44,7 +44,6 @@ type UseHeaderAgentMenusOptions = {
44
44
  readonly isAdmin: boolean;
45
45
  readonly isAuthenticated: boolean;
46
46
  readonly isInstalled: boolean;
47
- readonly navigateToHref: (href: string) => void;
48
47
  readonly namingPlural: string;
49
48
  readonly namingSingular: string;
50
49
  readonly onAgentRenamed: (payload: AgentContextMenuRenamePayload) => void;
@@ -160,7 +159,6 @@ export function useHeaderAgentMenus({
160
159
  isAdmin,
161
160
  isAuthenticated,
162
161
  isInstalled,
163
- navigateToHref,
164
162
  namingPlural,
165
163
  namingSingular,
166
164
  onAgentRenamed,
@@ -214,9 +212,6 @@ export function useHeaderAgentMenus({
214
212
  openNewAgentDialog,
215
213
  dialog: newAgentDialog,
216
214
  } = useNewAgentDialog({
217
- onCreated: ({ targetPath }) => {
218
- navigateToHref(targetPath);
219
- },
220
215
  onCreateFailed: async (error) => {
221
216
  await showNewAgentFailure('Failed to create agent:', error, namingSingular, translate);
222
217
  },