@promptbook/cli 0.104.0-8 → 0.104.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 (333) hide show
  1. package/README.md +0 -4
  2. package/esm/index.es.js +261 -131
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/typings/src/_packages/components.index.d.ts +0 -6
  5. package/esm/typings/src/_packages/core.index.d.ts +8 -6
  6. package/esm/typings/src/_packages/types.index.d.ts +8 -0
  7. package/esm/typings/src/_packages/utils.index.d.ts +2 -0
  8. package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +24 -0
  9. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +12 -2
  10. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirements.tools.test.d.ts +1 -0
  11. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.closed.test.d.ts +1 -0
  12. package/esm/typings/src/book-2.0/utils/generatePlaceholderAgentProfileImageUrl.d.ts +1 -1
  13. package/esm/typings/src/book-components/Chat/save/_common/string_chat_format_name.d.ts +1 -1
  14. package/esm/typings/src/book-components/Chat/types/ChatMessage.d.ts +6 -3
  15. package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +5 -1
  16. package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +5 -1
  17. package/esm/typings/src/book-components/icons/AboutIcon.d.ts +5 -1
  18. package/esm/typings/src/book-components/icons/AttachmentIcon.d.ts +6 -2
  19. package/esm/typings/src/book-components/icons/CameraIcon.d.ts +6 -2
  20. package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +5 -1
  21. package/esm/typings/src/book-components/icons/MenuIcon.d.ts +5 -1
  22. package/esm/typings/src/book-components/icons/SaveIcon.d.ts +6 -2
  23. package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +1 -1
  24. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +18 -12
  25. package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +6 -3
  26. package/esm/typings/src/commands/_common/types/Command.d.ts +1 -1
  27. package/esm/typings/src/commitments/META/META_DESCRIPTION.d.ts +41 -0
  28. package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +2 -2
  29. package/esm/typings/src/commitments/_base/BookCommitment.d.ts +1 -1
  30. package/esm/typings/src/config.d.ts +8 -1
  31. package/esm/typings/src/formfactors/_common/FormfactorDefinition.d.ts +1 -1
  32. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +1 -1
  33. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +1 -1
  34. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage.d.ts +1 -1
  35. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/countUsage.d.ts +8 -4
  36. package/esm/typings/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.d.ts +1 -1
  37. package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -1
  38. package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +12 -8
  39. package/esm/typings/src/llm-providers/agent/Agent.d.ts +7 -1
  40. package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +1 -1
  41. package/esm/typings/src/llm-providers/openai/utils/mapToolsToOpenAi.d.ts +8 -0
  42. package/esm/typings/src/remote-server/ui/ServerApp.d.ts +5 -1
  43. package/esm/typings/src/scrapers/_common/utils/promptbookFetch.test.d.ts +1 -0
  44. package/esm/typings/src/search-engines/SearchEngine.d.ts +9 -0
  45. package/esm/typings/src/search-engines/SearchResult.d.ts +18 -0
  46. package/esm/typings/src/search-engines/bing/BingSearchEngine.d.ts +15 -0
  47. package/esm/typings/src/search-engines/dummy/DummySearchEngine.d.ts +15 -0
  48. package/esm/typings/src/types/LlmToolDefinition.d.ts +20 -0
  49. package/esm/typings/src/types/ModelRequirements.d.ts +13 -0
  50. package/esm/typings/src/types/typeAliasEmoji.d.ts +2 -2
  51. package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +7 -2
  52. package/esm/typings/src/utils/random/$randomItem.d.ts +1 -1
  53. package/esm/typings/src/utils/random/$randomSeed.d.ts +1 -1
  54. package/esm/typings/src/utils/validators/url/isValidAgentUrl.d.ts +16 -0
  55. package/esm/typings/src/utils/validators/url/isValidAgentUrl.test.d.ts +1 -0
  56. package/esm/typings/src/utils/validators/url/isValidPipelineUrl.d.ts +2 -1
  57. package/esm/typings/src/utils/validators/url/isValidUrl.d.ts +4 -3
  58. package/esm/typings/src/version.d.ts +1 -1
  59. package/package.json +1 -1
  60. package/umd/index.umd.js +261 -131
  61. package/umd/index.umd.js.map +1 -1
  62. package/apps/agents-server/README.md +0 -3
  63. package/apps/agents-server/TODO.txt +0 -7
  64. package/apps/agents-server/config.ts +0 -128
  65. package/apps/agents-server/next.config.ts +0 -45
  66. package/apps/agents-server/package.json +0 -16
  67. package/apps/agents-server/postcss.config.mjs +0 -8
  68. package/apps/agents-server/public/.gitkeep +0 -0
  69. package/apps/agents-server/public/favicon.ico +0 -0
  70. package/apps/agents-server/public/fonts/OpenMoji-black-glyf.woff2 +0 -0
  71. package/apps/agents-server/public/fonts/OpenMoji-color-cbdt.woff2 +0 -0
  72. package/apps/agents-server/public/logo-blue-white-256.png +0 -0
  73. package/apps/agents-server/public/sw.js +0 -16
  74. package/apps/agents-server/public/swagger.json +0 -115
  75. package/apps/agents-server/scripts/generate-reserved-paths/generate-reserved-paths.ts +0 -54
  76. package/apps/agents-server/scripts/generate-reserved-paths/tsconfig.json +0 -19
  77. package/apps/agents-server/src/app/AddAgentButton.tsx +0 -41
  78. package/apps/agents-server/src/app/[agentName]/[...rest]/page.tsx +0 -11
  79. package/apps/agents-server/src/app/[agentName]/page.tsx +0 -1
  80. package/apps/agents-server/src/app/actions.ts +0 -65
  81. package/apps/agents-server/src/app/admin/api-tokens/ApiTokensClient.tsx +0 -186
  82. package/apps/agents-server/src/app/admin/api-tokens/page.tsx +0 -13
  83. package/apps/agents-server/src/app/admin/browser-test/BrowserTestClient.tsx +0 -85
  84. package/apps/agents-server/src/app/admin/browser-test/page.tsx +0 -13
  85. package/apps/agents-server/src/app/admin/chat-feedback/ChatFeedbackClient.tsx +0 -561
  86. package/apps/agents-server/src/app/admin/chat-feedback/page.tsx +0 -22
  87. package/apps/agents-server/src/app/admin/chat-history/ChatHistoryClient.tsx +0 -591
  88. package/apps/agents-server/src/app/admin/chat-history/page.tsx +0 -21
  89. package/apps/agents-server/src/app/admin/messages/MessagesClient.tsx +0 -294
  90. package/apps/agents-server/src/app/admin/messages/page.tsx +0 -13
  91. package/apps/agents-server/src/app/admin/messages/send-email/SendEmailClient.tsx +0 -104
  92. package/apps/agents-server/src/app/admin/messages/send-email/actions.ts +0 -35
  93. package/apps/agents-server/src/app/admin/messages/send-email/page.tsx +0 -13
  94. package/apps/agents-server/src/app/admin/metadata/MetadataClient.tsx +0 -481
  95. package/apps/agents-server/src/app/admin/metadata/page.tsx +0 -13
  96. package/apps/agents-server/src/app/admin/models/page.tsx +0 -22
  97. package/apps/agents-server/src/app/admin/users/[userId]/UserDetailClient.tsx +0 -131
  98. package/apps/agents-server/src/app/admin/users/[userId]/page.tsx +0 -21
  99. package/apps/agents-server/src/app/admin/users/page.tsx +0 -18
  100. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +0 -92
  101. package/apps/agents-server/src/app/agents/[agentName]/AgentOptionsMenu.tsx +0 -356
  102. package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +0 -134
  103. package/apps/agents-server/src/app/agents/[agentName]/AgentProfileWrapper.tsx +0 -90
  104. package/apps/agents-server/src/app/agents/[agentName]/AgentUrlCopy.tsx +0 -40
  105. package/apps/agents-server/src/app/agents/[agentName]/ClearAgentChatFeedbackButton.tsx +0 -63
  106. package/apps/agents-server/src/app/agents/[agentName]/ClearAgentChatHistoryButton.tsx +0 -63
  107. package/apps/agents-server/src/app/agents/[agentName]/CloneAgentButton.tsx +0 -41
  108. package/apps/agents-server/src/app/agents/[agentName]/CopyField.tsx +0 -44
  109. package/apps/agents-server/src/app/agents/[agentName]/InstallPwaButton.tsx +0 -74
  110. package/apps/agents-server/src/app/agents/[agentName]/ServiceWorkerRegister.tsx +0 -24
  111. package/apps/agents-server/src/app/agents/[agentName]/TODO.txt +0 -1
  112. package/apps/agents-server/src/app/agents/[agentName]/_utils.ts +0 -38
  113. package/apps/agents-server/src/app/agents/[agentName]/agentLinks.tsx +0 -80
  114. package/apps/agents-server/src/app/agents/[agentName]/api/agents/route.ts +0 -58
  115. package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +0 -88
  116. package/apps/agents-server/src/app/agents/[agentName]/api/book/test.http +0 -37
  117. package/apps/agents-server/src/app/agents/[agentName]/api/chat/route.ts +0 -194
  118. package/apps/agents-server/src/app/agents/[agentName]/api/feedback/route.ts +0 -54
  119. package/apps/agents-server/src/app/agents/[agentName]/api/mcp/route.ts +0 -198
  120. package/apps/agents-server/src/app/agents/[agentName]/api/modelRequirements/TODO.txt +0 -1
  121. package/apps/agents-server/src/app/agents/[agentName]/api/modelRequirements/route.ts +0 -55
  122. package/apps/agents-server/src/app/agents/[agentName]/api/modelRequirements/systemMessage/route.ts +0 -47
  123. package/apps/agents-server/src/app/agents/[agentName]/api/openai/chat/completions/route.ts +0 -10
  124. package/apps/agents-server/src/app/agents/[agentName]/api/openai/models/route.ts +0 -93
  125. package/apps/agents-server/src/app/agents/[agentName]/api/openai/v1/chat/completions/route.ts +0 -10
  126. package/apps/agents-server/src/app/agents/[agentName]/api/openai/v1/models/route.ts +0 -93
  127. package/apps/agents-server/src/app/agents/[agentName]/api/openrouter/chat/completions/route.ts +0 -10
  128. package/apps/agents-server/src/app/agents/[agentName]/api/profile/route.ts +0 -80
  129. package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +0 -184
  130. package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorWrapper.tsx +0 -143
  131. package/apps/agents-server/src/app/agents/[agentName]/book/page.tsx +0 -48
  132. package/apps/agents-server/src/app/agents/[agentName]/book+chat/AgentBookAndChat.tsx +0 -75
  133. package/apps/agents-server/src/app/agents/[agentName]/book+chat/AgentBookAndChatComponent.tsx.todo +0 -160
  134. package/apps/agents-server/src/app/agents/[agentName]/book+chat/page.tsx +0 -45
  135. package/apps/agents-server/src/app/agents/[agentName]/book+chat/page.tsx.todo +0 -21
  136. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatWrapper.tsx +0 -68
  137. package/apps/agents-server/src/app/agents/[agentName]/chat/page.tsx +0 -45
  138. package/apps/agents-server/src/app/agents/[agentName]/code/api/route.ts +0 -68
  139. package/apps/agents-server/src/app/agents/[agentName]/code/page.tsx +0 -223
  140. package/apps/agents-server/src/app/agents/[agentName]/generateAgentMetadata.ts +0 -51
  141. package/apps/agents-server/src/app/agents/[agentName]/history/RestoreVersionButton.tsx +0 -46
  142. package/apps/agents-server/src/app/agents/[agentName]/history/actions.ts +0 -12
  143. package/apps/agents-server/src/app/agents/[agentName]/history/page.tsx +0 -62
  144. package/apps/agents-server/src/app/agents/[agentName]/images/default-avatar.png/getAgentDefaultAvatarPrompt.ts +0 -31
  145. package/apps/agents-server/src/app/agents/[agentName]/images/default-avatar.png/route.ts +0 -157
  146. package/apps/agents-server/src/app/agents/[agentName]/images/icon-256.png/route.tsx +0 -92
  147. package/apps/agents-server/src/app/agents/[agentName]/images/page.tsx +0 -200
  148. package/apps/agents-server/src/app/agents/[agentName]/images/screenshot-fullhd.png/route.tsx +0 -93
  149. package/apps/agents-server/src/app/agents/[agentName]/images/screenshot-phone.png/route.tsx +0 -93
  150. package/apps/agents-server/src/app/agents/[agentName]/integration/SdkCodeTabs.tsx +0 -31
  151. package/apps/agents-server/src/app/agents/[agentName]/integration/WebsiteIntegrationTabs.tsx +0 -26
  152. package/apps/agents-server/src/app/agents/[agentName]/integration/page.tsx +0 -326
  153. package/apps/agents-server/src/app/agents/[agentName]/layout.tsx +0 -41
  154. package/apps/agents-server/src/app/agents/[agentName]/links/page.tsx +0 -189
  155. package/apps/agents-server/src/app/agents/[agentName]/opengraph-image.tsx +0 -111
  156. package/apps/agents-server/src/app/agents/[agentName]/page.tsx +0 -114
  157. package/apps/agents-server/src/app/agents/[agentName]/system-message/page.tsx +0 -100
  158. package/apps/agents-server/src/app/agents/[agentName]/website-integration/page.tsx +0 -89
  159. package/apps/agents-server/src/app/agents/page.tsx +0 -11
  160. package/apps/agents-server/src/app/api/admin-email/route.ts +0 -12
  161. package/apps/agents-server/src/app/api/agents/[agentName]/clone/route.ts +0 -45
  162. package/apps/agents-server/src/app/api/agents/[agentName]/restore/route.ts +0 -19
  163. package/apps/agents-server/src/app/api/agents/[agentName]/route.ts +0 -60
  164. package/apps/agents-server/src/app/api/agents/route.ts +0 -68
  165. package/apps/agents-server/src/app/api/api-tokens/route.ts +0 -75
  166. package/apps/agents-server/src/app/api/auth/change-password/route.ts +0 -75
  167. package/apps/agents-server/src/app/api/auth/login/route.ts +0 -27
  168. package/apps/agents-server/src/app/api/auth/logout/route.ts +0 -7
  169. package/apps/agents-server/src/app/api/browser-test/screenshot/route.ts +0 -30
  170. package/apps/agents-server/src/app/api/chat/route.ts +0 -32
  171. package/apps/agents-server/src/app/api/chat-feedback/[id]/route.ts +0 -38
  172. package/apps/agents-server/src/app/api/chat-feedback/export/route.ts +0 -55
  173. package/apps/agents-server/src/app/api/chat-feedback/route.ts +0 -157
  174. package/apps/agents-server/src/app/api/chat-history/[id]/route.ts +0 -37
  175. package/apps/agents-server/src/app/api/chat-history/export/route.ts +0 -55
  176. package/apps/agents-server/src/app/api/chat-history/route.ts +0 -147
  177. package/apps/agents-server/src/app/api/chat-streaming/route.ts +0 -48
  178. package/apps/agents-server/src/app/api/docs/book.md/route.ts +0 -61
  179. package/apps/agents-server/src/app/api/emails/incoming/sendgrid/route.ts +0 -48
  180. package/apps/agents-server/src/app/api/embed.js/route.ts +0 -113
  181. package/apps/agents-server/src/app/api/federated-agents/route.ts +0 -29
  182. package/apps/agents-server/src/app/api/images/[filename]/route.ts +0 -107
  183. package/apps/agents-server/src/app/api/long-running-task/route.ts +0 -7
  184. package/apps/agents-server/src/app/api/long-streaming/route.ts +0 -20
  185. package/apps/agents-server/src/app/api/messages/route.ts +0 -102
  186. package/apps/agents-server/src/app/api/metadata/route.ts +0 -115
  187. package/apps/agents-server/src/app/api/openai/v1/chat/completions/route.ts +0 -6
  188. package/apps/agents-server/src/app/api/openai/v1/models/route.ts +0 -65
  189. package/apps/agents-server/src/app/api/upload/route.ts +0 -166
  190. package/apps/agents-server/src/app/api/users/[username]/route.ts +0 -75
  191. package/apps/agents-server/src/app/api/users/route.ts +0 -71
  192. package/apps/agents-server/src/app/docs/[docId]/page.tsx +0 -42
  193. package/apps/agents-server/src/app/docs/page.tsx +0 -59
  194. package/apps/agents-server/src/app/embed/layout.tsx +0 -31
  195. package/apps/agents-server/src/app/embed/page.tsx +0 -37
  196. package/apps/agents-server/src/app/globals.css +0 -383
  197. package/apps/agents-server/src/app/humans.txt/route.ts +0 -15
  198. package/apps/agents-server/src/app/layout.tsx +0 -144
  199. package/apps/agents-server/src/app/manifest.ts +0 -114
  200. package/apps/agents-server/src/app/not-found.tsx +0 -5
  201. package/apps/agents-server/src/app/page.tsx +0 -144
  202. package/apps/agents-server/src/app/recycle-bin/RestoreAgentButton.tsx +0 -40
  203. package/apps/agents-server/src/app/recycle-bin/actions.ts +0 -33
  204. package/apps/agents-server/src/app/recycle-bin/page.tsx +0 -44
  205. package/apps/agents-server/src/app/restricted/page.tsx +0 -33
  206. package/apps/agents-server/src/app/robots.txt/route.ts +0 -15
  207. package/apps/agents-server/src/app/security.txt/route.ts +0 -15
  208. package/apps/agents-server/src/app/sitemap.xml/route.ts +0 -39
  209. package/apps/agents-server/src/app/swagger/page.tsx +0 -14
  210. package/apps/agents-server/src/app/test/og-image/README.md +0 -1
  211. package/apps/agents-server/src/app/test/og-image/opengraph-image.tsx +0 -37
  212. package/apps/agents-server/src/app/test/og-image/page.tsx +0 -22
  213. package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +0 -267
  214. package/apps/agents-server/src/components/AgentProfile/AgentProfileFromSource.tsx +0 -23
  215. package/apps/agents-server/src/components/AgentProfile/AgentQrCode.tsx +0 -62
  216. package/apps/agents-server/src/components/AgentProfile/QrCodeModal.tsx +0 -89
  217. package/apps/agents-server/src/components/AgentProfile/useAgentBackground.ts +0 -97
  218. package/apps/agents-server/src/components/Auth/AuthControls.tsx +0 -124
  219. package/apps/agents-server/src/components/ChangePasswordDialog/ChangePasswordDialog.tsx +0 -41
  220. package/apps/agents-server/src/components/ChangePasswordForm/ChangePasswordForm.tsx +0 -159
  221. package/apps/agents-server/src/components/DeletedAgentBanner.tsx +0 -26
  222. package/apps/agents-server/src/components/DocsToolbar/DocsToolbar.tsx +0 -38
  223. package/apps/agents-server/src/components/DocumentationContent/DocumentationContent.tsx +0 -90
  224. package/apps/agents-server/src/components/ErrorPage/ErrorPage.tsx +0 -33
  225. package/apps/agents-server/src/components/Footer/Footer.tsx +0 -175
  226. package/apps/agents-server/src/components/ForbiddenPage/ForbiddenPage.tsx +0 -15
  227. package/apps/agents-server/src/components/ForgottenPasswordDialog/ForgottenPasswordDialog.tsx +0 -61
  228. package/apps/agents-server/src/components/Header/Header.tsx +0 -742
  229. package/apps/agents-server/src/components/Homepage/AgentCard.tsx +0 -182
  230. package/apps/agents-server/src/components/Homepage/AgentsList.tsx +0 -136
  231. package/apps/agents-server/src/components/Homepage/Card.tsx +0 -18
  232. package/apps/agents-server/src/components/Homepage/DeletedAgentsList.tsx +0 -66
  233. package/apps/agents-server/src/components/Homepage/ExternalAgentsSection.tsx +0 -30
  234. package/apps/agents-server/src/components/Homepage/ExternalAgentsSectionClient.tsx +0 -192
  235. package/apps/agents-server/src/components/Homepage/ModelCard.tsx +0 -29
  236. package/apps/agents-server/src/components/Homepage/ModelsSection.tsx +0 -75
  237. package/apps/agents-server/src/components/Homepage/Section.tsx +0 -17
  238. package/apps/agents-server/src/components/Homepage/TechInfoCard.tsx +0 -20
  239. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +0 -58
  240. package/apps/agents-server/src/components/LoginDialog/LoginDialog.tsx +0 -41
  241. package/apps/agents-server/src/components/LoginForm/LoginForm.tsx +0 -158
  242. package/apps/agents-server/src/components/NotFoundPage/NotFoundPage.tsx +0 -22
  243. package/apps/agents-server/src/components/OpenMojiIcon/OpenMojiIcon.tsx +0 -29
  244. package/apps/agents-server/src/components/Portal/Portal.tsx +0 -38
  245. package/apps/agents-server/src/components/PrintHeader/PrintHeader.tsx +0 -18
  246. package/apps/agents-server/src/components/RegisterUserDialog/RegisterUserDialog.tsx +0 -61
  247. package/apps/agents-server/src/components/UsersList/UsersList.tsx +0 -141
  248. package/apps/agents-server/src/components/UsersList/useUsersAdmin.ts +0 -139
  249. package/apps/agents-server/src/components/VercelDeploymentCard/VercelDeploymentCard.tsx +0 -57
  250. package/apps/agents-server/src/components/_utils/generateMetaTxt.ts +0 -30
  251. package/apps/agents-server/src/components/_utils/headlessParam.tsx +0 -40
  252. package/apps/agents-server/src/database/$getTableName.ts +0 -18
  253. package/apps/agents-server/src/database/$provideSupabase.ts +0 -29
  254. package/apps/agents-server/src/database/$provideSupabaseForBrowser.ts +0 -41
  255. package/apps/agents-server/src/database/$provideSupabaseForServer.ts +0 -48
  256. package/apps/agents-server/src/database/$provideSupabaseForWorker.ts +0 -43
  257. package/apps/agents-server/src/database/getMetadata.ts +0 -31
  258. package/apps/agents-server/src/database/metadataDefaults.ts +0 -93
  259. package/apps/agents-server/src/database/migrate.ts +0 -164
  260. package/apps/agents-server/src/database/migrations/2025-11-0001-initial-schema.sql +0 -161
  261. package/apps/agents-server/src/database/migrations/2025-11-0002-metadata-table.sql +0 -14
  262. package/apps/agents-server/src/database/migrations/2025-12-0010-llm-cache.sql +0 -12
  263. package/apps/agents-server/src/database/migrations/2025-12-0060-api-tokens.sql +0 -13
  264. package/apps/agents-server/src/database/migrations/2025-12-0070-chat-history-source.sql +0 -2
  265. package/apps/agents-server/src/database/migrations/2025-12-0240-agent-public-id.sql +0 -3
  266. package/apps/agents-server/src/database/migrations/2025-12-0360-agent-deleted-at.sql +0 -1
  267. package/apps/agents-server/src/database/migrations/2025-12-0370-image-table.sql +0 -19
  268. package/apps/agents-server/src/database/migrations/2025-12-0380-agent-visibility.sql +0 -1
  269. package/apps/agents-server/src/database/migrations/2025-12-0390-upload-tracking.sql +0 -20
  270. package/apps/agents-server/src/database/migrations/2025-12-0401-file-upload-status.sql +0 -13
  271. package/apps/agents-server/src/database/migrations/2025-12-0402-message-table.sql +0 -42
  272. package/apps/agents-server/src/database/migrations/2025-12-0640-openai-assistant-cache.sql +0 -12
  273. package/apps/agents-server/src/database/schema.ts +0 -508
  274. package/apps/agents-server/src/deamons/longRunningTask.ts +0 -37
  275. package/apps/agents-server/src/generated/reservedPaths.ts +0 -32
  276. package/apps/agents-server/src/message-providers/email/_common/Email.ts +0 -73
  277. package/apps/agents-server/src/message-providers/email/_common/utils/TODO.txt +0 -1
  278. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddress.test.ts.todo +0 -108
  279. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddress.ts +0 -62
  280. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddresses.test.ts.todo +0 -117
  281. package/apps/agents-server/src/message-providers/email/_common/utils/parseEmailAddresses.ts +0 -19
  282. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddress.test.ts.todo +0 -119
  283. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddress.ts +0 -19
  284. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddresses.test.ts.todo +0 -74
  285. package/apps/agents-server/src/message-providers/email/_common/utils/stringifyEmailAddresses.ts +0 -14
  286. package/apps/agents-server/src/message-providers/email/sendgrid/SendgridMessageProvider.ts +0 -44
  287. package/apps/agents-server/src/message-providers/email/sendgrid/parseInboundSendgridEmail.ts +0 -49
  288. package/apps/agents-server/src/message-providers/email/zeptomail/ZeptomailMessageProvider.ts +0 -51
  289. package/apps/agents-server/src/message-providers/index.ts +0 -13
  290. package/apps/agents-server/src/message-providers/interfaces/MessageProvider.ts +0 -11
  291. package/apps/agents-server/src/middleware.ts +0 -301
  292. package/apps/agents-server/src/tools/$provideAgentCollectionForServer.ts +0 -54
  293. package/apps/agents-server/src/tools/$provideBrowserForServer.ts +0 -29
  294. package/apps/agents-server/src/tools/$provideCdnForServer.ts +0 -41
  295. package/apps/agents-server/src/tools/$provideExecutionToolsForServer.ts +0 -117
  296. package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +0 -35
  297. package/apps/agents-server/src/tools/$provideServer.ts +0 -39
  298. package/apps/agents-server/src/utils/auth.ts +0 -133
  299. package/apps/agents-server/src/utils/authenticateUser.ts +0 -42
  300. package/apps/agents-server/src/utils/cache/SupabaseCacheStorage.ts +0 -55
  301. package/apps/agents-server/src/utils/cdn/classes/DigitalOceanSpaces.ts +0 -119
  302. package/apps/agents-server/src/utils/cdn/classes/TrackedFilesStorage.ts +0 -57
  303. package/apps/agents-server/src/utils/cdn/classes/VercelBlobStorage.ts +0 -68
  304. package/apps/agents-server/src/utils/cdn/interfaces/IFilesStorage.ts +0 -50
  305. package/apps/agents-server/src/utils/cdn/interfaces/IStorage.ts +0 -14
  306. package/apps/agents-server/src/utils/cdn/utils/getUserFileCdnKey.ts +0 -28
  307. package/apps/agents-server/src/utils/cdn/utils/nameToSubfolderPath.ts +0 -9
  308. package/apps/agents-server/src/utils/cdn/utils/nextRequestToNodeRequest.ts +0 -27
  309. package/apps/agents-server/src/utils/chatFeedbackAdmin.ts +0 -96
  310. package/apps/agents-server/src/utils/chatHistoryAdmin.ts +0 -96
  311. package/apps/agents-server/src/utils/content/extractBodyContentFromHtml.ts +0 -19
  312. package/apps/agents-server/src/utils/convertToCsv.ts +0 -31
  313. package/apps/agents-server/src/utils/getCurrentUser.ts +0 -32
  314. package/apps/agents-server/src/utils/getEffectiveFederatedServers.ts +0 -22
  315. package/apps/agents-server/src/utils/getFederatedAgents.ts +0 -89
  316. package/apps/agents-server/src/utils/getFederatedServersFromMetadata.ts +0 -10
  317. package/apps/agents-server/src/utils/getUserIdFromRequest.ts +0 -35
  318. package/apps/agents-server/src/utils/getVisibleCommitmentDefinitions.ts +0 -12
  319. package/apps/agents-server/src/utils/handleChatCompletion.ts +0 -415
  320. package/apps/agents-server/src/utils/isIpAllowed.ts +0 -101
  321. package/apps/agents-server/src/utils/isUserAdmin.ts +0 -31
  322. package/apps/agents-server/src/utils/messages/sendMessage.ts +0 -91
  323. package/apps/agents-server/src/utils/messagesAdmin.ts +0 -72
  324. package/apps/agents-server/src/utils/normalization/filenameToPrompt.test.ts +0 -36
  325. package/apps/agents-server/src/utils/normalization/filenameToPrompt.ts +0 -25
  326. package/apps/agents-server/src/utils/resolveInheritedAgentSource.ts +0 -100
  327. package/apps/agents-server/src/utils/session.ts +0 -50
  328. package/apps/agents-server/src/utils/validateApiKey.ts +0 -124
  329. package/apps/agents-server/src/utils/validators/validateMimeType.ts +0 -24
  330. package/apps/agents-server/tailwind.config.ts +0 -26
  331. package/apps/agents-server/tsconfig.json +0 -29
  332. package/apps/agents-server/vercel.json +0 -7
  333. package/esm/typings/servers.d.ts +0 -50
@@ -1,144 +0,0 @@
1
- 'use server';
2
-
3
- import { getSingleLlmExecutionTools } from '@promptbook-local/core';
4
- import moment from 'moment';
5
- import { headers } from 'next/headers';
6
- import { AboutPromptbookInformation } from '../../../../src/utils/misc/xAboutPromptbookInformation';
7
- import { $sideEffect } from '../../../../src/utils/organization/$sideEffect';
8
- import { AgentsList } from '../components/Homepage/AgentsList';
9
- import { ExternalAgentsSectionClient } from '../components/Homepage/ExternalAgentsSectionClient';
10
- import { ModelsSection } from '../components/Homepage/ModelsSection';
11
- import { Section } from '../components/Homepage/Section';
12
- import { TechInfoCard } from '../components/Homepage/TechInfoCard';
13
- import { UsersList } from '../components/UsersList/UsersList';
14
- import VercelDeploymentCard from '../components/VercelDeploymentCard/VercelDeploymentCard';
15
- import { $getTableName } from '../database/$getTableName';
16
- import { $provideSupabaseForServer } from '../database/$provideSupabaseForServer';
17
- import { getLongRunningTask } from '../deamons/longRunningTask';
18
- import { $provideAgentCollectionForServer } from '../tools/$provideAgentCollectionForServer';
19
- import { $provideExecutionToolsForServer } from '../tools/$provideExecutionToolsForServer';
20
- import { $provideServer } from '../tools/$provideServer';
21
- import { getCurrentUser } from '../utils/getCurrentUser';
22
- import { isUserAdmin } from '../utils/isUserAdmin';
23
-
24
- // Add calendar formats that include seconds
25
- const calendarWithSeconds = {
26
- sameDay: '[Today at] LTS',
27
- nextDay: '[Tomorrow at] LTS',
28
- nextWeek: 'dddd [at] LTS',
29
- lastDay: '[Yesterday at] LTS',
30
- lastWeek: '[Last] dddd [at] LTS',
31
- sameElse: 'L [at] LTS',
32
- };
33
-
34
- export default async function HomePage() {
35
- $sideEffect(/* Note: [🐶] This will ensure dynamic rendering of page and avoid Next.js pre-render */ headers());
36
-
37
- const { publicUrl } = await $provideServer();
38
-
39
- const currentUser = await getCurrentUser();
40
- const isAdmin = await isUserAdmin(); /* <- TODO: [👹] Here should be user permissions */
41
-
42
- const collection = await $provideAgentCollectionForServer();
43
- const allAgents = await collection.listAgents();
44
-
45
- // Filter agents based on visibility and user authentication
46
- const supabase = $provideSupabaseForServer();
47
- // const { tablePrefix } = await $provideServer();
48
-
49
- // Get visibility for all agents
50
- const visibilityResult = await supabase
51
- .from(await $getTableName(`Agent`))
52
- .select('agentName, visibility')
53
- .is('deletedAt', null);
54
-
55
- let agents: typeof allAgents;
56
- if (visibilityResult.error) {
57
- console.error('Error fetching agent visibility:', visibilityResult.error);
58
- // Fallback to showing all agents if visibility fetch fails
59
- agents = allAgents;
60
- } else {
61
- const visibilityMap = new Map(
62
- visibilityResult.data.map((item: { agentName: string; visibility: 'PUBLIC' | 'PRIVATE' }) => [
63
- item.agentName,
64
- item.visibility,
65
- ]),
66
- );
67
-
68
- // Filter agents based on user authentication and visibility
69
- agents = allAgents
70
- .filter((agent) => {
71
- const visibility = visibilityMap.get(agent.agentName);
72
- if (!visibility) return false; // If no visibility info, hide the agent
73
-
74
- // Admins can see all agents
75
- if (currentUser?.isAdmin) return true;
76
-
77
- // Authenticated users can see PUBLIC and PRIVATE agents
78
- if (currentUser) return true;
79
-
80
- // Unauthenticated users can only see PUBLIC agents
81
- return visibility === 'PUBLIC';
82
- })
83
- .map((agent) => ({
84
- ...agent,
85
- visibility: visibilityMap.get(agent.agentName) as 'PUBLIC' | 'PRIVATE',
86
- }));
87
- }
88
-
89
- const longRunningTask = getLongRunningTask();
90
-
91
- const executionTools = await $provideExecutionToolsForServer();
92
- const models = await getSingleLlmExecutionTools(executionTools.llm).listModels();
93
-
94
- const host = (await headers()).get('host') || 'unknown';
95
-
96
- return (
97
- <div className="min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50">
98
- <div className="container mx-auto px-4 py-16">
99
- <AgentsList agents={[...agents]} isAdmin={isAdmin} publicUrl={publicUrl} />
100
-
101
- <ExternalAgentsSectionClient publicUrl={publicUrl} />
102
-
103
- {isAdmin && <UsersList allowCreate={false} />}
104
-
105
- {isAdmin && <ModelsSection models={models} maxVisible={11} showViewAllLink />}
106
-
107
- {isAdmin && (
108
- <>
109
- {/* Note: Shown in <AboutPromptbookInformation />: <h2 className="text-3xl text-gray-900 mt-16 mb-4">About Promptbook</h2> */}
110
- <AboutPromptbookInformation />
111
- </>
112
- )}
113
-
114
- {isAdmin && (
115
- <Section title="Technical Information">
116
- <TechInfoCard title={`Long running task ${longRunningTask.taskId}`}>
117
- <p className="text-gray-600">Tick: {longRunningTask.tick}</p>
118
- <p className="text-gray-600">
119
- Created At: {moment(longRunningTask.createdAt).calendar(undefined, calendarWithSeconds)}
120
- </p>
121
- <p className="text-gray-600">
122
- Updated At: {moment(longRunningTask.updatedAt).calendar(undefined, calendarWithSeconds)}
123
- </p>
124
- </TechInfoCard>
125
-
126
- <VercelDeploymentCard />
127
-
128
- <TechInfoCard title="HTTP Information">
129
- <p className="text-gray-600">Host: {host}</p>
130
- </TechInfoCard>
131
-
132
- <TechInfoCard title="Server">
133
- <pre>{JSON.stringify(await $provideServer(), null, 2)}</pre>
134
- </TechInfoCard>
135
- </Section>
136
- )}
137
- </div>
138
- </div>
139
- );
140
- }
141
-
142
- /**
143
- * TODO: [🕋] Use here `AboutPromptbookInformation`
144
- */
@@ -1,40 +0,0 @@
1
- 'use client';
2
-
3
- import { RefreshCcwIcon } from 'lucide-react';
4
- import { useRouter } from 'next/navigation';
5
- import { useState } from 'react';
6
- import { restoreDeletedAgent } from './actions';
7
-
8
- type RestoreAgentButtonProps = {
9
- agentName: string;
10
- };
11
-
12
- export function RestoreAgentButton({ agentName }: RestoreAgentButtonProps) {
13
- const router = useRouter();
14
- const [isRestoring, setIsRestoring] = useState(false);
15
-
16
- const handleRestore = async () => {
17
- try {
18
- setIsRestoring(true);
19
- await restoreDeletedAgent(agentName);
20
- router.refresh();
21
- } catch (error) {
22
- console.error('Failed to restore agent:', error);
23
- alert('Failed to restore agent');
24
- } finally {
25
- setIsRestoring(false);
26
- }
27
- };
28
-
29
- return (
30
- <button
31
- onClick={handleRestore}
32
- disabled={isRestoring}
33
- className="flex items-center gap-2 px-3 py-2 bg-white border border-gray-300 rounded hover:bg-gray-50 text-gray-700 disabled:opacity-50"
34
- title="Restore agent"
35
- >
36
- <RefreshCcwIcon className={`w-4 h-4 ${isRestoring ? 'animate-spin' : ''}`} />
37
- {isRestoring ? 'Restoring...' : 'Restore'}
38
- </button>
39
- );
40
- }
@@ -1,33 +0,0 @@
1
- 'use server';
2
-
3
- import { $provideAgentCollectionForServer } from '@/src/tools/$provideAgentCollectionForServer';
4
- import { revalidatePath } from 'next/cache';
5
- import { isUserAdmin } from '../../utils/isUserAdmin';
6
-
7
- export async function restoreDeletedAgent(agentName: string) {
8
- if (!(await isUserAdmin())) {
9
- throw new Error('You are not authorized to restore agents');
10
- }
11
-
12
- const collection = await $provideAgentCollectionForServer();
13
-
14
- await collection.restoreAgent(agentName);
15
-
16
- revalidatePath('/recycle-bin');
17
- revalidatePath(`/agents/${agentName}`);
18
- revalidatePath('/');
19
- }
20
-
21
- export async function deleteAgent(agentName: string) {
22
- if (!(await isUserAdmin())) {
23
- throw new Error('You are not authorized to delete agents');
24
- }
25
-
26
- const collection = await $provideAgentCollectionForServer();
27
-
28
- await collection.deleteAgent(agentName);
29
-
30
- revalidatePath('/recycle-bin');
31
- revalidatePath(`/agents/${agentName}`);
32
- revalidatePath('/');
33
- }
@@ -1,44 +0,0 @@
1
- import { $provideAgentCollectionForServer } from '@/src/tools/$provideAgentCollectionForServer';
2
- import { $provideServer } from '@/src/tools/$provideServer';
3
- import { TrashIcon } from 'lucide-react';
4
- import Link from 'next/link';
5
- import { DeletedAgentsList } from '../../components/Homepage/DeletedAgentsList';
6
- import { isUserAdmin } from '../../utils/isUserAdmin';
7
-
8
- export const metadata = {
9
- title: 'Recycle Bin',
10
- };
11
-
12
- export default async function RecycleBinPage() {
13
- const { publicUrl } = await $provideServer();
14
- const collection = await $provideAgentCollectionForServer();
15
- const deletedAgents = await collection.listDeletedAgents();
16
- const isAdmin = await isUserAdmin();
17
-
18
- return (
19
- <div className="min-h-screen bg-gradient-to-br from-blue-50 via-white to-purple-50">
20
- <div className="container mx-auto px-4 py-16">
21
- <header className="flex items-center gap-4 mb-8">
22
- <div className="bg-red-100 p-3 rounded-full">
23
- <TrashIcon className="w-8 h-8 text-red-600" />
24
- </div>
25
- <div>
26
- <h1 className="text-3xl font-bold text-gray-900">Recycle Bin</h1>
27
- <p className="text-gray-600">Restore deleted agents from here.</p>
28
- </div>
29
- </header>
30
-
31
- {deletedAgents.length === 0 ? (
32
- <div className="text-center py-12 bg-gray-50 rounded-lg border border-dashed border-gray-300">
33
- <p className="text-gray-500 text-lg">Recycle bin is empty</p>
34
- <Link href="/" className="text-blue-600 hover:underline mt-2 inline-block">
35
- Go back to agents
36
- </Link>
37
- </div>
38
- ) : (
39
- <DeletedAgentsList agents={deletedAgents} isAdmin={isAdmin} publicUrl={publicUrl} />
40
- )}
41
- </div>
42
- </div>
43
- );
44
- }
@@ -1,33 +0,0 @@
1
- import { ShieldAlert } from 'lucide-react';
2
- import Link from 'next/link';
3
-
4
- export default function RestrictedPage() {
5
- return (
6
- <div className="flex flex-col items-center justify-center min-h-[calc(100vh-4rem)] p-4 text-center">
7
- <div className="bg-red-50 p-6 rounded-full mb-6">
8
- <ShieldAlert className="w-12 h-12 text-red-600" />
9
- </div>
10
- <h1 className="text-2xl font-bold text-gray-900 mb-2">Access Restricted</h1>
11
- <p className="text-gray-600 max-w-md mb-8">
12
- This server is restricted to authorized users or specific IP addresses.
13
- Please log in to continue or contact the administrator if you believe this is an error.
14
- </p>
15
-
16
- {/* The Login button in the header is available, so we can just point to it or instruct the user */}
17
- <div className="p-4 bg-blue-50 text-blue-800 rounded-lg max-w-md text-sm">
18
- <p>
19
- <strong>Tip:</strong> Use the <strong>Log in</strong> button in the top right corner to access your account.
20
- </p>
21
- </div>
22
-
23
- <div className="mt-8 flex gap-4">
24
- <Link
25
- href="/"
26
- className="px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-md transition-colors"
27
- >
28
- Go Home
29
- </Link>
30
- </div>
31
- </div>
32
- );
33
- }
@@ -1,15 +0,0 @@
1
- // Dynamic robots.txt for Agents Server
2
-
3
- import { generateRobotsTxt } from '@/src/components/_utils/generateMetaTxt';
4
- import { NextResponse } from 'next/server';
5
-
6
- export const dynamic = 'force-dynamic';
7
-
8
- export async function GET() {
9
- const txt = await generateRobotsTxt();
10
- return new NextResponse(txt, {
11
- headers: {
12
- 'Content-Type': 'text/plain',
13
- },
14
- });
15
- }
@@ -1,15 +0,0 @@
1
- // Dynamic security.txt for Agents Server
2
-
3
- import { generateSecurityTxt } from '@/src/components/_utils/generateMetaTxt';
4
- import { NextResponse } from 'next/server';
5
-
6
- export const dynamic = 'force-dynamic';
7
-
8
- export async function GET() {
9
- const txt = await generateSecurityTxt();
10
- return new NextResponse(txt, {
11
- headers: {
12
- 'Content-Type': 'text/plain',
13
- },
14
- });
15
- }
@@ -1,39 +0,0 @@
1
- // Dynamic sitemap.xml for Agents Server
2
-
3
- import { $provideAgentCollectionForServer } from '@/src/tools/$provideAgentCollectionForServer';
4
- import { $provideServer } from '@/src/tools/$provideServer';
5
- import { spaceTrim } from '@promptbook-local/utils';
6
- import { NextResponse } from 'next/server';
7
-
8
- export const dynamic = 'force-dynamic';
9
-
10
- export async function GET() {
11
- const { publicUrl } = await $provideServer();
12
-
13
- const collection = await $provideAgentCollectionForServer();
14
-
15
- // Assume collection.listAgents() returns an array of agent names
16
- const agents = await collection.listAgents();
17
-
18
- const urls = agents
19
- .map(
20
- ({ permanentId, agentName }) =>
21
- `<url><loc>${publicUrl.href}agents/${encodeURIComponent(permanentId || agentName)}</loc></url>`,
22
- )
23
- .join('\n');
24
-
25
- const xml = spaceTrim(
26
- (block) => `
27
- <?xml version="1.0" encoding="UTF-8"?>
28
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
29
- ${block(urls)}
30
- </urlset>
31
- `,
32
- );
33
-
34
- return new NextResponse(xml, {
35
- headers: {
36
- 'Content-Type': 'application/xml',
37
- },
38
- });
39
- }
@@ -1,14 +0,0 @@
1
- 'use client';
2
-
3
- import dynamic from 'next/dynamic';
4
- import 'swagger-ui-react/swagger-ui.css';
5
-
6
- const SwaggerUI = dynamic(() => import('swagger-ui-react'), { ssr: false });
7
-
8
- export default function SwaggerPage() {
9
- return (
10
- <div className="swagger-container bg-white min-h-screen">
11
- <SwaggerUI url="/swagger.json" />
12
- </div>
13
- );
14
- }
@@ -1 +0,0 @@
1
- In this folder we are testing miscellaneous things related to Promptbook Agents Server
@@ -1,37 +0,0 @@
1
- import { ImageResponse } from 'next/og';
2
-
3
- export const runtime = 'edge';
4
-
5
- export const alt = 'Agent Profile';
6
- export const size = {
7
- width: 1200,
8
- height: 630,
9
- };
10
-
11
- export const contentType = 'image/png';
12
-
13
- export default async function Image() {
14
- return new ImageResponse(
15
- (
16
- <div
17
- style={{
18
- display: 'flex',
19
- flexDirection: 'row',
20
- width: '100%',
21
- height: '100%',
22
- backgroundColor: 'white',
23
- }}
24
- >
25
- <h1>Hello</h1>
26
- </div>
27
- ),
28
- {
29
- ...size,
30
- emoji: 'openmoji',
31
- },
32
- );
33
- }
34
-
35
- /**
36
- * TODO: [webpack.cache.PackFileCacheStrategy] Serializing big strings (126kiB) impacts deserialization performance (consider using Buffer instead and decode when needed)
37
- */
@@ -1,22 +0,0 @@
1
- import { NEXT_PUBLIC_SITE_URL } from '@/config';
2
- import type { Metadata } from 'next';
3
-
4
- export const metadata: Metadata = {
5
- metadataBase: NEXT_PUBLIC_SITE_URL,
6
- title: 'Test OG Image',
7
- description: 'Testing og-image',
8
- };
9
-
10
- export default function TestPage() {
11
- return (
12
- <div className="min-h-screen flex items-center justify-center bg-gray-100">
13
- <div className="bg-white p-8 rounded-lg shadow-md max-w-md w-full">
14
- <h1 className="text-3xl font-bold text-red-600 mb-4 text-center">Test page</h1>
15
- <p className="text-gray-700 mb-6 text-center">Testing og-image</p>
16
- <p className="text-gray-600 text-sm text-center mt-4">
17
- View page source or share this URL to see the OG image in action
18
- </p>
19
- </div>
20
- </div>
21
- );
22
- }