@promptbook/cli 0.103.0-8 → 0.103.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.
- package/README.md +59 -39
- package/apps/agents-server/README.md +3 -0
- package/apps/agents-server/TODO.txt +7 -0
- package/apps/agents-server/config.ts +130 -0
- package/apps/agents-server/next.config.ts +45 -0
- package/apps/agents-server/package-lock.json +27 -0
- package/apps/agents-server/package.json +12 -0
- package/apps/agents-server/postcss.config.mjs +8 -0
- package/apps/agents-server/public/.gitkeep +0 -0
- package/apps/agents-server/public/favicon.ico +0 -0
- package/apps/agents-server/public/fonts/OpenMoji-black-glyf.woff2 +0 -0
- package/apps/agents-server/public/fonts/download-font.js +22 -0
- package/apps/agents-server/public/logo-blue-white-256.png +0 -0
- package/apps/agents-server/public/sw.js +16 -0
- package/apps/agents-server/src/app/AddAgentButton.tsx +41 -0
- package/apps/agents-server/src/app/[agentName]/[...rest]/page.tsx +11 -0
- package/apps/agents-server/src/app/[agentName]/page.tsx +1 -0
- package/apps/agents-server/src/app/actions.ts +53 -0
- package/apps/agents-server/src/app/admin/api-tokens/ApiTokensClient.tsx +186 -0
- package/apps/agents-server/src/app/admin/api-tokens/page.tsx +13 -0
- package/apps/agents-server/src/app/admin/chat-feedback/ChatFeedbackClient.tsx +614 -0
- package/apps/agents-server/src/app/admin/chat-feedback/page.tsx +22 -0
- package/apps/agents-server/src/app/admin/chat-history/ChatHistoryClient.tsx +634 -0
- package/apps/agents-server/src/app/admin/chat-history/page.tsx +21 -0
- package/apps/agents-server/src/app/admin/metadata/MetadataClient.tsx +477 -0
- package/apps/agents-server/src/app/admin/metadata/page.tsx +13 -0
- package/apps/agents-server/src/app/admin/models/page.tsx +22 -0
- package/apps/agents-server/src/app/admin/users/[userId]/UserDetailClient.tsx +131 -0
- package/apps/agents-server/src/app/admin/users/[userId]/page.tsx +21 -0
- package/apps/agents-server/src/app/admin/users/page.tsx +18 -0
- package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +78 -0
- package/apps/agents-server/src/app/agents/[agentName]/AgentOptionsMenu.tsx +314 -0
- package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +91 -0
- package/apps/agents-server/src/app/agents/[agentName]/AgentProfileWrapper.tsx +48 -0
- package/apps/agents-server/src/app/agents/[agentName]/AgentUrlCopy.tsx +40 -0
- package/apps/agents-server/src/app/agents/[agentName]/ClearAgentChatFeedbackButton.tsx +63 -0
- package/apps/agents-server/src/app/agents/[agentName]/ClearAgentChatHistoryButton.tsx +63 -0
- package/apps/agents-server/src/app/agents/[agentName]/CloneAgentButton.tsx +41 -0
- package/apps/agents-server/src/app/agents/[agentName]/CopyField.tsx +44 -0
- package/apps/agents-server/src/app/agents/[agentName]/InstallPwaButton.tsx +74 -0
- package/apps/agents-server/src/app/agents/[agentName]/ServiceWorkerRegister.tsx +24 -0
- package/apps/agents-server/src/app/agents/[agentName]/TODO.txt +1 -0
- package/apps/agents-server/src/app/agents/[agentName]/_utils.ts +19 -0
- package/apps/agents-server/src/app/agents/[agentName]/agentLinks.tsx +80 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/agents/route.ts +67 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +88 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/book/test.http +37 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/chat/route.ts +174 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/feedback/route.ts +54 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/mcp/route.ts +203 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/modelRequirements/TODO.txt +1 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/modelRequirements/route.ts +55 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/modelRequirements/systemMessage/route.ts +47 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/openai/chat/completions/route.ts +10 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/openai/models/route.ts +93 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/openai/v1/chat/completions/route.ts +10 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/openai/v1/models/route.ts +93 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/openrouter/chat/completions/route.ts +10 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/profile/route.ts +76 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +181 -0
- package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorWrapper.tsx +139 -0
- package/apps/agents-server/src/app/agents/[agentName]/book/page.tsx +35 -0
- package/apps/agents-server/src/app/agents/[agentName]/book+chat/AgentBookAndChat.tsx +75 -0
- package/apps/agents-server/src/app/agents/[agentName]/book+chat/AgentBookAndChatComponent.tsx.todo +160 -0
- package/apps/agents-server/src/app/agents/[agentName]/book+chat/page.tsx +32 -0
- package/apps/agents-server/src/app/agents/[agentName]/book+chat/page.tsx.todo +21 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatWrapper.tsx +68 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/page.tsx +33 -0
- package/apps/agents-server/src/app/agents/[agentName]/generateAgentMetadata.ts +46 -0
- package/apps/agents-server/src/app/agents/[agentName]/history/RestoreVersionButton.tsx +46 -0
- package/apps/agents-server/src/app/agents/[agentName]/history/actions.ts +12 -0
- package/apps/agents-server/src/app/agents/[agentName]/history/page.tsx +62 -0
- package/apps/agents-server/src/app/agents/[agentName]/images/icon-256.png/route.tsx +80 -0
- package/apps/agents-server/src/app/agents/[agentName]/images/screenshot-fullhd.png/route.tsx +92 -0
- package/apps/agents-server/src/app/agents/[agentName]/images/screenshot-phone.png/route.tsx +92 -0
- package/apps/agents-server/src/app/agents/[agentName]/integration/SdkCodeTabs.tsx +31 -0
- package/apps/agents-server/src/app/agents/[agentName]/integration/page.tsx +302 -0
- package/apps/agents-server/src/app/agents/[agentName]/layout.tsx +41 -0
- package/apps/agents-server/src/app/agents/[agentName]/links/page.tsx +182 -0
- package/apps/agents-server/src/app/agents/[agentName]/opengraph-image.tsx +102 -0
- package/apps/agents-server/src/app/agents/[agentName]/page.tsx +106 -0
- package/apps/agents-server/src/app/agents/[agentName]/website-integration/page.tsx +70 -0
- package/apps/agents-server/src/app/agents/page.tsx +11 -0
- package/apps/agents-server/src/app/api/agents/[agentName]/clone/route.ts +47 -0
- package/apps/agents-server/src/app/api/agents/[agentName]/route.ts +19 -0
- package/apps/agents-server/src/app/api/agents/route.ts +43 -0
- package/apps/agents-server/src/app/api/api-tokens/route.ts +76 -0
- package/apps/agents-server/src/app/api/auth/change-password/route.ts +75 -0
- package/apps/agents-server/src/app/api/auth/login/route.ts +27 -0
- package/apps/agents-server/src/app/api/auth/logout/route.ts +7 -0
- package/apps/agents-server/src/app/api/chat/route.ts +32 -0
- package/apps/agents-server/src/app/api/chat-feedback/[id]/route.ts +38 -0
- package/apps/agents-server/src/app/api/chat-feedback/export/route.ts +55 -0
- package/apps/agents-server/src/app/api/chat-feedback/route.ts +157 -0
- package/apps/agents-server/src/app/api/chat-history/[id]/route.ts +37 -0
- package/apps/agents-server/src/app/api/chat-history/export/route.ts +55 -0
- package/apps/agents-server/src/app/api/chat-history/route.ts +147 -0
- package/apps/agents-server/src/app/api/chat-streaming/route.ts +48 -0
- package/apps/agents-server/src/app/api/embed.js/route.ts +93 -0
- package/apps/agents-server/src/app/api/federated-agents/route.ts +17 -0
- package/apps/agents-server/src/app/api/long-running-task/route.ts +7 -0
- package/apps/agents-server/src/app/api/long-streaming/route.ts +20 -0
- package/apps/agents-server/src/app/api/metadata/route.ts +116 -0
- package/apps/agents-server/src/app/api/openai/v1/chat/completions/route.ts +6 -0
- package/apps/agents-server/src/app/api/openai/v1/models/route.ts +65 -0
- package/apps/agents-server/src/app/api/upload/route.ts +83 -0
- package/apps/agents-server/src/app/api/users/[username]/route.ts +75 -0
- package/apps/agents-server/src/app/api/users/route.ts +71 -0
- package/apps/agents-server/src/app/docs/[docId]/page.tsx +43 -0
- package/apps/agents-server/src/app/docs/page.tsx +59 -0
- package/apps/agents-server/src/app/embed/page.tsx +24 -0
- package/apps/agents-server/src/app/globals.css +276 -0
- package/apps/agents-server/src/app/humans.txt/route.ts +15 -0
- package/apps/agents-server/src/app/layout.tsx +139 -0
- package/apps/agents-server/src/app/manifest.ts +114 -0
- package/apps/agents-server/src/app/not-found.tsx +5 -0
- package/apps/agents-server/src/app/page.tsx +96 -0
- package/apps/agents-server/src/app/recycle-bin/RestoreAgentButton.tsx +40 -0
- package/apps/agents-server/src/app/recycle-bin/actions.ts +27 -0
- package/apps/agents-server/src/app/recycle-bin/page.tsx +58 -0
- package/apps/agents-server/src/app/restricted/page.tsx +33 -0
- package/apps/agents-server/src/app/robots.txt/route.ts +15 -0
- package/apps/agents-server/src/app/security.txt/route.ts +15 -0
- package/apps/agents-server/src/app/sitemap.xml/route.ts +37 -0
- package/apps/agents-server/src/app/test/og-image/README.md +1 -0
- package/apps/agents-server/src/app/test/og-image/opengraph-image.tsx +37 -0
- package/apps/agents-server/src/app/test/og-image/page.tsx +22 -0
- package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +339 -0
- package/apps/agents-server/src/components/AgentProfile/AgentProfileFromSource.tsx +23 -0
- package/apps/agents-server/src/components/AgentProfile/AgentQrCode.tsx +62 -0
- package/apps/agents-server/src/components/AgentProfile/QrCodeModal.tsx +90 -0
- package/apps/agents-server/src/components/Auth/AuthControls.tsx +123 -0
- package/apps/agents-server/src/components/ChangePasswordDialog/ChangePasswordDialog.tsx +41 -0
- package/apps/agents-server/src/components/ChangePasswordForm/ChangePasswordForm.tsx +159 -0
- package/apps/agents-server/src/components/DocumentationContent/DocumentationContent.tsx +88 -0
- package/apps/agents-server/src/components/ErrorPage/ErrorPage.tsx +33 -0
- package/apps/agents-server/src/components/Footer/Footer.tsx +175 -0
- package/apps/agents-server/src/components/ForbiddenPage/ForbiddenPage.tsx +15 -0
- package/apps/agents-server/src/components/Header/Header.tsx +668 -0
- package/apps/agents-server/src/components/Homepage/AgentCard.tsx +60 -0
- package/apps/agents-server/src/components/Homepage/AgentsList.tsx +58 -0
- package/apps/agents-server/src/components/Homepage/Card.tsx +18 -0
- package/apps/agents-server/src/components/Homepage/ExternalAgentsSection.tsx +21 -0
- package/apps/agents-server/src/components/Homepage/ExternalAgentsSectionClient.tsx +183 -0
- package/apps/agents-server/src/components/Homepage/ModelCard.tsx +29 -0
- package/apps/agents-server/src/components/Homepage/ModelsSection.tsx +75 -0
- package/apps/agents-server/src/components/Homepage/Section.tsx +17 -0
- package/apps/agents-server/src/components/Homepage/TechInfoCard.tsx +20 -0
- package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +57 -0
- package/apps/agents-server/src/components/LoginDialog/LoginDialog.tsx +41 -0
- package/apps/agents-server/src/components/LoginForm/LoginForm.tsx +109 -0
- package/apps/agents-server/src/components/NotFoundPage/NotFoundPage.tsx +17 -0
- package/apps/agents-server/src/components/OpenMojiIcon/OpenMojiIcon.tsx +20 -0
- package/apps/agents-server/src/components/Portal/Portal.tsx +38 -0
- package/apps/agents-server/src/components/PrintButton/PrintButton.tsx +18 -0
- package/apps/agents-server/src/components/PrintHeader/PrintHeader.tsx +18 -0
- package/apps/agents-server/src/components/UsersList/UsersList.tsx +141 -0
- package/apps/agents-server/src/components/UsersList/useUsersAdmin.ts +139 -0
- package/apps/agents-server/src/components/VercelDeploymentCard/VercelDeploymentCard.tsx +55 -0
- package/apps/agents-server/src/components/_utils/generateMetaTxt.ts +28 -0
- package/apps/agents-server/src/components/_utils/headlessParam.tsx +36 -0
- package/apps/agents-server/src/database/$getTableName.ts +18 -0
- package/apps/agents-server/src/database/$provideSupabase.ts +29 -0
- package/apps/agents-server/src/database/$provideSupabaseForBrowser.ts +41 -0
- package/apps/agents-server/src/database/$provideSupabaseForServer.ts +48 -0
- package/apps/agents-server/src/database/$provideSupabaseForWorker.ts +43 -0
- package/apps/agents-server/src/database/getMetadata.ts +31 -0
- package/apps/agents-server/src/database/metadataDefaults.ts +75 -0
- package/apps/agents-server/src/database/migrate.ts +131 -0
- package/apps/agents-server/src/database/migrations/2025-11-0001-initial-schema.sql +163 -0
- package/apps/agents-server/src/database/migrations/2025-11-0002-metadata-table.sql +16 -0
- package/apps/agents-server/src/database/migrations/2025-12-0010-llm-cache.sql +12 -0
- package/apps/agents-server/src/database/migrations/2025-12-0060-api-tokens.sql +13 -0
- package/apps/agents-server/src/database/migrations/2025-12-0070-chat-history-source.sql +2 -0
- package/apps/agents-server/src/database/schema.ts +308 -0
- package/apps/agents-server/src/deamons/longRunningTask.ts +37 -0
- package/apps/agents-server/src/middleware.ts +305 -0
- package/apps/agents-server/src/tools/$provideAgentCollectionForServer.ts +54 -0
- package/apps/agents-server/src/tools/$provideCdnForServer.ts +36 -0
- package/apps/agents-server/src/tools/$provideExecutionToolsForServer.ts +117 -0
- package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +35 -0
- package/apps/agents-server/src/tools/$provideServer.ts +39 -0
- package/apps/agents-server/src/utils/auth.ts +33 -0
- package/apps/agents-server/src/utils/authenticateUser.ts +42 -0
- package/apps/agents-server/src/utils/cache/SupabaseCacheStorage.ts +55 -0
- package/apps/agents-server/src/utils/cdn/classes/DigitalOceanSpaces.ts +119 -0
- package/apps/agents-server/src/utils/cdn/classes/VercelBlobStorage.ts +64 -0
- package/apps/agents-server/src/utils/cdn/interfaces/IFilesStorage.ts +32 -0
- package/apps/agents-server/src/utils/cdn/interfaces/IStorage.ts +14 -0
- package/apps/agents-server/src/utils/cdn/utils/getUserFileCdnKey.ts +28 -0
- package/apps/agents-server/src/utils/cdn/utils/nameToSubfolderPath.ts +9 -0
- package/apps/agents-server/src/utils/cdn/utils/nextRequestToNodeRequest.ts +27 -0
- package/apps/agents-server/src/utils/chatFeedbackAdmin.ts +96 -0
- package/apps/agents-server/src/utils/chatHistoryAdmin.ts +96 -0
- package/apps/agents-server/src/utils/convertToCsv.ts +31 -0
- package/apps/agents-server/src/utils/getCurrentUser.ts +32 -0
- package/apps/agents-server/src/utils/getEffectiveFederatedServers.ts +22 -0
- package/apps/agents-server/src/utils/getFederatedAgents.ts +89 -0
- package/apps/agents-server/src/utils/getFederatedServersFromMetadata.ts +10 -0
- package/apps/agents-server/src/utils/getVisibleCommitmentDefinitions.ts +12 -0
- package/apps/agents-server/src/utils/handleChatCompletion.ts +355 -0
- package/apps/agents-server/src/utils/isIpAllowed.ts +101 -0
- package/apps/agents-server/src/utils/isUserAdmin.ts +31 -0
- package/apps/agents-server/src/utils/resolveInheritedAgentSource.ts +100 -0
- package/apps/agents-server/src/utils/session.ts +50 -0
- package/apps/agents-server/src/utils/validateApiKey.ts +128 -0
- package/apps/agents-server/src/utils/validators/validateMimeType.ts +24 -0
- package/apps/agents-server/tailwind.config.ts +26 -0
- package/apps/agents-server/tsconfig.json +29 -0
- package/apps/agents-server/vercel.json +7 -0
- package/esm/index.es.js +5406 -443
- package/esm/index.es.js.map +1 -1
- package/esm/typings/books/index.d.ts +0 -81
- package/esm/typings/servers.d.ts +9 -7
- package/esm/typings/src/_packages/browser.index.d.ts +6 -0
- package/esm/typings/src/_packages/cli.index.d.ts +4 -0
- package/esm/typings/src/_packages/components.index.d.ts +22 -8
- package/esm/typings/src/_packages/core.index.d.ts +58 -18
- package/esm/typings/src/_packages/node.index.d.ts +2 -2
- package/esm/typings/src/_packages/remote-server.index.d.ts +2 -0
- package/esm/typings/src/_packages/types.index.d.ts +70 -8
- package/esm/typings/src/_packages/utils.index.d.ts +6 -0
- package/esm/typings/src/_packages/wizard.index.d.ts +4 -0
- package/esm/typings/src/book-2.0/agent-source/AgentBasicInformation.d.ts +20 -5
- package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +17 -1
- package/esm/typings/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +3 -2
- package/esm/typings/src/book-2.0/agent-source/computeAgentHash.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/createCommitmentRegex.d.ts +3 -3
- package/esm/typings/src/book-2.0/agent-source/createDefaultAgentName.d.ts +8 -0
- package/esm/typings/src/book-2.0/agent-source/normalizeAgentName.d.ts +9 -0
- package/esm/typings/src/book-2.0/agent-source/padBook.d.ts +18 -0
- package/esm/typings/src/book-2.0/agent-source/parseAgentSourceWithCommitments.d.ts +1 -1
- package/esm/typings/src/book-2.0/agent-source/string_book.d.ts +3 -0
- package/esm/typings/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.d.ts +6 -1
- package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +85 -14
- package/esm/typings/src/book-components/BookEditor/BookEditorActionbar.d.ts +18 -0
- package/esm/typings/src/book-components/BookEditor/BookEditorMonaco.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChat.d.ts +17 -0
- package/esm/typings/src/book-components/Chat/AgentChat/AgentChatProps.d.ts +13 -0
- package/esm/typings/src/book-components/Chat/Chat/ChatProps.d.ts +16 -0
- package/esm/typings/src/book-components/Chat/LlmChat/LlmChatProps.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +15 -0
- package/esm/typings/src/book-components/Chat/MockedChat/MockedChat.d.ts +5 -0
- package/esm/typings/src/book-components/Chat/save/_common/ChatSaveFormatDefinition.d.ts +1 -1
- package/esm/typings/src/book-components/Chat/save/html/htmlSaveFormatDefinition.d.ts +1 -0
- package/esm/typings/src/book-components/Chat/save/pdf/pdfSaveFormatDefinition.d.ts +4 -0
- package/esm/typings/src/book-components/Chat/types/ChatParticipant.d.ts +1 -1
- package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentIntegration.d.ts +52 -0
- package/esm/typings/src/book-components/PromptbookAgent/PromptbookAgentSeamlessIntegration.d.ts +14 -0
- package/esm/typings/src/book-components/Qr/BrandedQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/GenericQrCode.d.ts +10 -0
- package/esm/typings/src/book-components/Qr/PromptbookQrCode.d.ts +18 -0
- package/esm/typings/src/book-components/Qr/useQrCode.d.ts +15 -0
- package/esm/typings/src/book-components/_common/Dropdown/Dropdown.d.ts +15 -0
- package/esm/typings/src/book-components/_common/HamburgerMenu/HamburgerMenu.d.ts +12 -0
- package/esm/typings/src/book-components/_common/Modal/Modal.d.ts +2 -2
- package/esm/typings/src/book-components/_common/Tooltip/Tooltip.d.ts +47 -0
- package/esm/typings/src/book-components/icons/AboutIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/CameraIcon.d.ts +11 -0
- package/esm/typings/src/book-components/icons/CloseIcon.d.ts +4 -8
- package/esm/typings/src/book-components/icons/DownloadIcon.d.ts +9 -0
- package/esm/typings/src/book-components/icons/ExitFullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/FullscreenIcon.d.ts +7 -0
- package/esm/typings/src/book-components/icons/MenuIcon.d.ts +12 -0
- package/esm/typings/src/book-components/icons/MicIcon.d.ts +8 -0
- package/esm/typings/src/book-components/icons/SendIcon.d.ts +3 -0
- package/esm/typings/src/cli/cli-commands/_boilerplate.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/about.d.ts +3 -1
- package/esm/typings/src/cli/cli-commands/hello.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-models.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/list-scrapers.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/login.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/make.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/prettify.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/run.d.ts +2 -1
- package/esm/typings/src/cli/cli-commands/{start-server.d.ts → start-agents-server.d.ts} +3 -2
- package/esm/typings/src/cli/cli-commands/start-pipelines-server.d.ts +15 -0
- package/esm/typings/src/cli/cli-commands/test-command.d.ts +2 -1
- package/esm/typings/src/cli/common/$addGlobalOptionsToCommand.d.ts +2 -1
- package/esm/typings/src/collection/agent-collection/AgentCollection.d.ts +12 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +75 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabaseOptions.d.ts +10 -0
- package/esm/typings/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentsDatabaseSchema.d.ts +154 -0
- package/esm/typings/src/collection/{PipelineCollection.d.ts → pipeline-collection/PipelineCollection.d.ts} +7 -3
- package/esm/typings/src/collection/{SimplePipelineCollection.d.ts → pipeline-collection/SimplePipelineCollection.d.ts} +5 -5
- package/esm/typings/src/collection/{constructors/createCollectionFromDirectory.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.d.ts} +8 -11
- package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromJson.d.ts +13 -0
- package/esm/typings/src/collection/{constructors/createCollectionFromPromise.d.ts → pipeline-collection/constructors/createPipelineCollectionFromPromise.d.ts} +6 -5
- package/esm/typings/src/collection/pipeline-collection/constructors/createPipelineCollectionFromPromise.test.d.ts +1 -0
- package/esm/typings/src/collection/{constructors/createCollectionFromUrl.d.ts → pipeline-collection/constructors/createPipelineCollectionFromUrl.d.ts} +3 -3
- package/esm/typings/src/collection/{constructors/createSubcollection.d.ts → pipeline-collection/constructors/createPipelineSubcollection.d.ts} +3 -3
- package/esm/typings/src/collection/pipeline-collection/pipelineCollectionToJson.d.ts +13 -0
- package/esm/typings/src/commands/_common/types/CommandParser.d.ts +4 -5
- package/esm/typings/src/{book-2.0/commitments → commitments}/ACTION/ACTION.d.ts +5 -1
- package/esm/typings/src/commitments/CLOSED/CLOSED.d.ts +39 -0
- package/esm/typings/src/commitments/CLOSED/CLOSED.test.d.ts +4 -0
- package/esm/typings/src/commitments/COMPONENT/COMPONENT.d.ts +28 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/DELETE/DELETE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/FORMAT/FORMAT.d.ts +5 -1
- package/esm/typings/src/commitments/FROM/FROM.d.ts +34 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/GOAL/GOAL.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/KNOWLEDGE/KNOWLEDGE.d.ts +5 -5
- package/esm/typings/src/commitments/LANGUAGE/LANGUAGE.d.ts +35 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/MEMORY/MEMORY.d.ts +5 -1
- package/esm/typings/src/commitments/MESSAGE/AgentMessageCommitmentDefinition.d.ts +32 -0
- package/esm/typings/src/commitments/MESSAGE/InitialMessageCommitmentDefinition.d.ts +32 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/MESSAGE/MESSAGE.d.ts +5 -1
- package/esm/typings/src/commitments/MESSAGE/UserMessageCommitmentDefinition.d.ts +32 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/META/META.d.ts +5 -1
- package/esm/typings/src/commitments/META_COLOR/META_COLOR.d.ts +48 -0
- package/esm/typings/src/commitments/META_FONT/META_FONT.d.ts +42 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/META_IMAGE/META_IMAGE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/META_LINK/META_LINK.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/MODEL/MODEL.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/NOTE/NOTE.d.ts +5 -1
- package/esm/typings/src/commitments/OPEN/OPEN.d.ts +35 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/PERSONA/PERSONA.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/RULE/RULE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/SAMPLE/SAMPLE.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/SCENARIO/SCENARIO.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/STYLE/STYLE.d.ts +5 -1
- package/esm/typings/src/commitments/USE/USE.d.ts +53 -0
- package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +42 -0
- package/esm/typings/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +1 -0
- package/esm/typings/src/commitments/USE_MCP/USE_MCP.d.ts +37 -0
- package/esm/typings/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +38 -0
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BaseCommitmentDefinition.d.ts +14 -2
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/CommitmentDefinition.d.ts +6 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/NotYetImplementedCommitmentDefinition.d.ts +5 -1
- package/esm/typings/src/{book-2.0/commitments → commitments}/_base/createEmptyAgentModelRequirements.d.ts +1 -1
- package/esm/typings/src/commitments/index.d.ts +93 -0
- package/esm/typings/src/config.d.ts +24 -3
- package/esm/typings/src/conversion/validation/validatePipeline.d.ts +2 -0
- package/esm/typings/src/errors/0-index.d.ts +6 -0
- package/esm/typings/src/errors/DatabaseError.d.ts +12 -0
- package/esm/typings/src/errors/NotAllowed.d.ts +9 -0
- package/esm/typings/src/errors/WrappedError.d.ts +2 -2
- package/esm/typings/src/execution/AvailableModel.d.ts +1 -0
- package/esm/typings/src/execution/Executables.d.ts +3 -0
- package/esm/typings/src/execution/ExecutionTask.d.ts +12 -3
- package/esm/typings/src/execution/ExecutionTools.d.ts +5 -0
- package/esm/typings/src/execution/FilesystemTools.d.ts +1 -1
- package/esm/typings/src/execution/LlmExecutionTools.d.ts +26 -2
- package/esm/typings/src/execution/PromptResult.d.ts +7 -1
- package/esm/typings/src/execution/createPipelineExecutor/10-executePipeline.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/20-executeTask.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/30-executeFormatSubvalues.d.ts +5 -0
- package/esm/typings/src/execution/createPipelineExecutor/40-executeAttempts.d.ts +5 -0
- package/esm/typings/src/execution/utils/usage-constants.d.ts +4 -124
- package/esm/typings/src/execution/utils/validatePromptResult.d.ts +2 -0
- package/esm/typings/src/high-level-abstractions/_common/HighLevelAbstraction.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForWizardOrCli.d.ts +2 -2
- package/esm/typings/src/llm-providers/_common/register/$registeredLlmToolsMessage.d.ts +2 -1
- package/esm/typings/src/llm-providers/_common/register/LlmToolsMetadata.d.ts +1 -1
- package/esm/typings/src/llm-providers/_common/utils/assertUniqueModels.d.ts +12 -0
- package/esm/typings/src/llm-providers/_multiple/getSingleLlmExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/_multiple/joinLlmExecutionTools.d.ts +1 -0
- package/esm/typings/src/llm-providers/agent/Agent.d.ts +72 -0
- package/esm/typings/src/llm-providers/agent/AgentLlmExecutionTools.d.ts +26 -4
- package/esm/typings/src/llm-providers/agent/AgentOptions.d.ts +19 -0
- package/esm/typings/src/llm-providers/agent/CreateAgentLlmExecutionToolsOptions.d.ts +17 -0
- package/esm/typings/src/llm-providers/agent/RemoteAgent.d.ts +50 -0
- package/esm/typings/src/llm-providers/agent/RemoteAgentOptions.d.ts +11 -0
- package/esm/typings/src/llm-providers/agent/createAgentLlmExecutionTools.d.ts +1 -19
- package/esm/typings/src/llm-providers/anthropic-claude/anthropic-claude-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/google/google-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/ollama/OllamaExecutionTools.d.ts +4 -0
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionTools.d.ts +60 -2
- package/esm/typings/src/llm-providers/openai/OpenAiAssistantExecutionToolsOptions.d.ts +7 -1
- package/esm/typings/src/llm-providers/openai/OpenAiCompatibleExecutionTools.d.ts +13 -1
- package/esm/typings/src/llm-providers/openai/OpenAiExecutionTools.d.ts +4 -0
- package/esm/typings/src/llm-providers/openai/createOpenAiCompatibleExecutionTools.d.ts +6 -6
- package/esm/typings/src/llm-providers/openai/openai-models.d.ts +1 -1
- package/esm/typings/src/llm-providers/openai/openai-models.test.d.ts +4 -0
- package/esm/typings/src/other/templates/getTemplatesPipelineCollection.d.ts +1 -1
- package/esm/typings/src/pipeline/validatePipelineString.d.ts +2 -0
- package/esm/typings/src/playground/permanent/_boilerplate.d.ts +5 -0
- package/esm/typings/src/playground/permanent/agent-with-browser-playground.d.ts +5 -0
- package/esm/typings/src/prepare/PrepareAndScrapeOptions.d.ts +1 -0
- package/esm/typings/src/remote-server/startAgentServer.d.ts +26 -0
- package/esm/typings/src/remote-server/startRemoteServer.d.ts +4 -1
- package/esm/typings/src/remote-server/types/RemoteServerOptions.d.ts +3 -8
- package/esm/typings/src/scrapers/_boilerplate/createBoilerplateScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/_boilerplate/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document/createDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/document-legacy/createLegacyDocumentScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/document-legacy/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markdown/createMarkdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/markitdown/createMarkitdownScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/markitdown/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/pdf/createPdfScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/pdf/register-metadata.d.ts +1 -9
- package/esm/typings/src/scrapers/website/createWebsiteScraper.d.ts +1 -12
- package/esm/typings/src/scrapers/website/register-metadata.d.ts +1 -9
- package/esm/typings/src/storage/_common/PromptbookStorage.d.ts +1 -0
- package/esm/typings/src/storage/env-storage/$EnvStorage.d.ts +2 -1
- package/esm/typings/src/transpilers/_common/BookTranspiler.d.ts +33 -0
- package/esm/typings/src/transpilers/_common/BookTranspilerOptions.d.ts +18 -0
- package/esm/typings/src/transpilers/_common/register/$bookTranspilersRegister.d.ts +15 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/FormattedBookInMarkdownTranspiler.d.ts +16 -0
- package/esm/typings/src/transpilers/formatted-book-in-markdown/register.d.ts +15 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.d.ts +16 -0
- package/esm/typings/src/transpilers/openai-sdk/OpenAiSdkTranspiler.test.d.ts +1 -0
- package/esm/typings/src/transpilers/openai-sdk/playground/playground.d.ts +5 -0
- package/esm/typings/src/transpilers/openai-sdk/register.d.ts +15 -0
- package/esm/typings/src/types/LlmCall.d.ts +20 -0
- package/esm/typings/src/types/ModelRequirements.d.ts +13 -1
- package/esm/typings/src/types/ModelVariant.d.ts +1 -1
- package/esm/typings/src/types/Prompt.d.ts +13 -1
- package/esm/typings/src/types/Updatable.d.ts +19 -0
- package/esm/typings/src/types/typeAliases.d.ts +38 -2
- package/esm/typings/src/utils/color/$randomColor.d.ts +1 -0
- package/esm/typings/src/utils/color/Color.d.ts +16 -1
- package/esm/typings/src/utils/color/Color.test.d.ts +1 -0
- package/esm/typings/src/utils/color/css-colors.d.ts +1 -0
- package/esm/typings/src/utils/color/internal-utils/checkChannelValue.d.ts +0 -3
- package/esm/typings/src/utils/color/operators/darken.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/grayscale.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/lighten.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/mixWithColor.d.ts +1 -1
- package/esm/typings/src/utils/color/operators/saturate.d.ts +1 -1
- package/esm/typings/src/utils/environment/$detectRuntimeEnvironment.d.ts +16 -0
- package/esm/typings/src/utils/environment/$getGlobalScope.d.ts +2 -2
- package/esm/typings/src/utils/execCommand/$execCommand.d.ts +2 -1
- package/esm/typings/src/utils/execCommand/$execCommands.d.ts +2 -1
- package/esm/typings/src/utils/files/$induceBookDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/$induceFileDownload.d.ts +13 -0
- package/esm/typings/src/utils/files/ObjectUrl.d.ts +46 -0
- package/esm/typings/src/utils/files/listAllFiles.d.ts +2 -3
- package/esm/typings/src/utils/misc/aboutPromptbookInformation.d.ts +27 -0
- package/esm/typings/src/utils/misc/computeHash.d.ts +11 -0
- package/esm/typings/src/utils/misc/computeHash.test.d.ts +1 -0
- package/esm/typings/src/utils/misc/injectCssModuleIntoShadowRoot.d.ts +1 -0
- package/esm/typings/src/utils/misc/xAboutPromptbookInformation.d.ts +13 -0
- package/esm/typings/src/utils/normalization/normalize-to-kebab-case.d.ts +2 -0
- package/esm/typings/src/utils/normalization/normalizeMessageText.d.ts +9 -0
- package/esm/typings/src/utils/normalization/normalizeMessageText.test.d.ts +1 -0
- package/esm/typings/src/utils/normalization/normalizeTo_PascalCase.d.ts +3 -0
- package/esm/typings/src/utils/normalization/normalizeTo_camelCase.d.ts +2 -0
- package/esm/typings/src/utils/normalization/titleToName.d.ts +2 -0
- package/esm/typings/src/utils/organization/$sideEffect.d.ts +2 -2
- package/esm/typings/src/utils/organization/$side_effect.d.ts +7 -0
- package/esm/typings/src/utils/organization/TODO_USE.d.ts +2 -2
- package/esm/typings/src/utils/organization/keepUnused.d.ts +2 -2
- package/esm/typings/src/utils/organization/preserve.d.ts +3 -3
- package/esm/typings/src/utils/organization/really_any.d.ts +7 -0
- package/esm/typings/src/utils/random/$generateBookBoilerplate.d.ts +31 -0
- package/esm/typings/src/utils/random/$randomAgentPersona.d.ts +9 -0
- package/esm/typings/src/utils/random/$randomFullnameWithColor.d.ts +13 -0
- package/esm/typings/src/utils/random/$randomItem.d.ts +9 -0
- package/esm/typings/src/utils/random/$randomSeed.d.ts +3 -0
- package/esm/typings/src/utils/random/$randomToken.d.ts +2 -0
- package/esm/typings/src/utils/random/CzechNamePool.d.ts +7 -0
- package/esm/typings/src/utils/random/EnglishNamePool.d.ts +7 -0
- package/esm/typings/src/utils/random/NamePool.d.ts +17 -0
- package/esm/typings/src/utils/random/getNamePool.d.ts +10 -0
- package/esm/typings/src/utils/serialization/$deepFreeze.d.ts +2 -1
- package/esm/typings/src/utils/serialization/asSerializable.d.ts +2 -2
- package/esm/typings/src/utils/serialization/serializeToPromptbookJavascript.d.ts +2 -2
- package/esm/typings/src/utils/validators/parameterName/validateParameterName.d.ts +2 -0
- package/esm/typings/src/version.d.ts +1 -1
- package/esm/typings/src/wizard/$getCompiledBook.d.ts +1 -2
- package/package.json +16 -16
- package/umd/index.umd.js +5382 -417
- package/umd/index.umd.js.map +1 -1
- package/esm/typings/src/book-2.0/commitments/index.d.ts +0 -60
- package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +0 -5
- package/esm/typings/src/book-components/BookEditor/BookEditorWrapper.d.ts +0 -9
- package/esm/typings/src/book-components/BookEditor/config.d.ts +0 -10
- package/esm/typings/src/book-components/Chat/utils/renderMarkdown.d.ts +0 -21
- package/esm/typings/src/collection/collectionToJson.d.ts +0 -13
- package/esm/typings/src/collection/constructors/createCollectionFromJson.d.ts +0 -13
- /package/esm/typings/src/{book-components/Chat/utils/renderMarkdown.test.d.ts → book-2.0/agent-source/computeAgentHash.test.d.ts} +0 -0
- /package/esm/typings/src/{collection/constructors/createCollectionFromDirectory.test.d.ts → book-2.0/agent-source/normalizeAgentName.test.d.ts} +0 -0
- /package/esm/typings/src/{collection/constructors/createCollectionFromJson.test.d.ts → book-components/Chat/AgentChat/AgentChat.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{constructors/createCollectionFromPromise.test.d.ts → pipeline-collection/constructors/createPipelineCollectionFromDirectory.test.d.ts} +0 -0
- /package/esm/typings/src/{commands/_common/parseCommand.test.d.ts → collection/pipeline-collection/constructors/createPipelineCollectionFromJson.test.d.ts} +0 -0
- /package/esm/typings/src/collection/{collectionToJson.test.d.ts → pipeline-collection/pipelineCollectionToJson.test.d.ts} +0 -0
- /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/BookCommitment.d.ts +0 -0
- /package/esm/typings/src/{book-2.0/commitments → commitments}/_base/ParsedCommitment.d.ts +0 -0
|
@@ -3,12 +3,19 @@ import type { ChatParticipant } from '../book-components/Chat/types/ChatParticip
|
|
|
3
3
|
import type { Prompt } from '../types/Prompt';
|
|
4
4
|
import type { string_markdown, string_markdown_text, string_title } from '../types/typeAliases';
|
|
5
5
|
import type { AvailableModel } from './AvailableModel';
|
|
6
|
-
import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult } from './PromptResult';
|
|
6
|
+
import type { ChatPromptResult, CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult } from './PromptResult';
|
|
7
7
|
/**
|
|
8
8
|
* Container for all the tools needed to execute prompts to large language models like GPT-4
|
|
9
9
|
* On its interface it exposes common methods for prompt execution.
|
|
10
10
|
* Inside (in constructor) it calls OpenAI, Azure, GPU, proxy, cache, logging,...
|
|
11
11
|
*
|
|
12
|
+
* Note: [🦖] There are several different things in Promptbook:
|
|
13
|
+
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
14
|
+
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
15
|
+
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
16
|
+
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
17
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
18
|
+
*
|
|
12
19
|
* @see https://github.com/webgptorg/promptbook#llm-execution-tools
|
|
13
20
|
*/
|
|
14
21
|
export type LlmExecutionTools = {
|
|
@@ -46,17 +53,34 @@ export type LlmExecutionTools = {
|
|
|
46
53
|
* Calls a chat model
|
|
47
54
|
*/
|
|
48
55
|
callChatModel?(prompt: Prompt): Promise<ChatPromptResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Calls a chat model with streaming
|
|
58
|
+
*/
|
|
59
|
+
callChatModelStream?(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Calls a voice chat model
|
|
62
|
+
*/
|
|
63
|
+
callVoiceChatModel?(audio: Blob, prompt: Prompt): Promise<{
|
|
64
|
+
text: string;
|
|
65
|
+
audio: Blob;
|
|
66
|
+
userMessage?: string;
|
|
67
|
+
agentMessage?: string;
|
|
68
|
+
}>;
|
|
49
69
|
/**
|
|
50
70
|
* Calls a completion model
|
|
51
71
|
*/
|
|
52
72
|
callCompletionModel?(prompt: Prompt): Promise<CompletionPromptResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Calls a image generation model
|
|
75
|
+
*/
|
|
76
|
+
callImageGenerationModel?(prompt: Prompt): Promise<ImagePromptResult>;
|
|
53
77
|
/**
|
|
54
78
|
* Calls an embedding model
|
|
55
79
|
*/
|
|
56
80
|
callEmbeddingModel?(prompt: Prompt): Promise<EmbeddingPromptResult>;
|
|
57
81
|
};
|
|
58
82
|
/**
|
|
59
|
-
* TODO: [🕛] Extend this from sth class
|
|
83
|
+
* TODO: [🕛] Extend this from sth class - like `AgentBasicInformation` / `ModelBasicInformation``
|
|
60
84
|
* TODO: [🍚] Implement destroyable pattern to free resources
|
|
61
85
|
* TODO: [🏳] Add `callTranslationModel`
|
|
62
86
|
* TODO: [🧠] Emulation of one type of model with another one - emuate chat with completion; emulate translation with chat
|
|
@@ -8,7 +8,7 @@ import type { Usage } from './Usage';
|
|
|
8
8
|
*
|
|
9
9
|
* @see https://github.com/webgptorg/promptbook#prompt-result
|
|
10
10
|
*/
|
|
11
|
-
export type PromptResult = CompletionPromptResult | ChatPromptResult | EmbeddingPromptResult;
|
|
11
|
+
export type PromptResult = CompletionPromptResult | ChatPromptResult | ImagePromptResult | EmbeddingPromptResult;
|
|
12
12
|
/**
|
|
13
13
|
* Completion prompt result
|
|
14
14
|
*
|
|
@@ -22,6 +22,12 @@ export type CompletionPromptResult = CommonPromptResult;
|
|
|
22
22
|
* Note: [🚉] This is fully serializable as JSON
|
|
23
23
|
*/
|
|
24
24
|
export type ChatPromptResult = CommonPromptResult & {};
|
|
25
|
+
/**
|
|
26
|
+
* Image prompt result
|
|
27
|
+
*
|
|
28
|
+
* Note: [🚉] This is fully serializable as JSON
|
|
29
|
+
*/
|
|
30
|
+
export type ImagePromptResult = CommonPromptResult;
|
|
25
31
|
/**
|
|
26
32
|
* Embedding prompt result
|
|
27
33
|
*
|
|
@@ -2,6 +2,7 @@ import type { PartialDeep, Promisable, ReadonlyDeep } from 'type-fest';
|
|
|
2
2
|
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { InputParameters } from '../../types/typeAliases';
|
|
4
4
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
5
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
5
6
|
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
6
7
|
/**
|
|
7
8
|
* Options for executing an entire pipeline, including input parameters, pipeline context, and progress callbacks.
|
|
@@ -17,6 +18,10 @@ type ExecutePipelineOptions = Required<CreatePipelineExecutorOptions> & {
|
|
|
17
18
|
* Optional callback invoked with partial results as the pipeline execution progresses.
|
|
18
19
|
*/
|
|
19
20
|
onProgress?(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Optional callback invoked with each LLM call.
|
|
23
|
+
*/
|
|
24
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
20
25
|
/**
|
|
21
26
|
* The pipeline definition to execute.
|
|
22
27
|
*/
|
|
@@ -2,6 +2,7 @@ import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-f
|
|
|
2
2
|
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
|
|
4
4
|
import type { Parameters } from '../../types/typeAliases';
|
|
5
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
5
6
|
import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
|
|
6
7
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
7
8
|
import type { CreatePipelineExecutorOptions } from './00-CreatePipelineExecutorOptions';
|
|
@@ -27,6 +28,10 @@ type executeSingleTaskOptions = Required<CreatePipelineExecutorOptions> & {
|
|
|
27
28
|
* Callback invoked with partial results as the execution progresses.
|
|
28
29
|
*/
|
|
29
30
|
onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback invoked with each LLM call.
|
|
33
|
+
*/
|
|
34
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
30
35
|
/**
|
|
31
36
|
* Mutable execution report object for tracking execution details.
|
|
32
37
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PartialDeep, Promisable } from 'type-fest';
|
|
2
2
|
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
3
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
3
4
|
import type { PipelineExecutorResult } from '../PipelineExecutorResult';
|
|
4
5
|
import type { ExecuteAttemptsOptions } from './40-executeAttempts';
|
|
5
6
|
/**
|
|
@@ -13,6 +14,10 @@ type ExecuteFormatCellsOptions = ExecuteAttemptsOptions & {
|
|
|
13
14
|
* Callback invoked with partial results as the execution progresses.
|
|
14
15
|
*/
|
|
15
16
|
onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Optional callback invoked with each LLM call.
|
|
19
|
+
*/
|
|
20
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
16
21
|
};
|
|
17
22
|
/**
|
|
18
23
|
* Executes a pipeline task that requires mapping or iterating over subvalues of a parameter (such as rows in a CSV).
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PartialDeep, Promisable, ReadonlyDeep, WritableDeep } from 'type-fest';
|
|
2
2
|
import type { PipelineJson } from '../../pipeline/PipelineJson/PipelineJson';
|
|
3
3
|
import type { TaskJson } from '../../pipeline/PipelineJson/TaskJson';
|
|
4
|
+
import type { LlmCall } from '../../types/LlmCall';
|
|
4
5
|
import type { Parameters, string_parameter_name } from '../../types/typeAliases';
|
|
5
6
|
import type { TODO_string } from '../../utils/organization/TODO_string';
|
|
6
7
|
import type { ExecutionReportJson } from '../execution-report/ExecutionReportJson';
|
|
@@ -50,6 +51,10 @@ export type ExecuteAttemptsOptions = Required<Omit<CreatePipelineExecutorOptions
|
|
|
50
51
|
* Callback invoked with partial results as the execution progresses.
|
|
51
52
|
*/
|
|
52
53
|
onProgress(newOngoingResult: PartialDeep<PipelineExecutorResult>): Promisable<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Optional callback invoked with each LLM call.
|
|
56
|
+
*/
|
|
57
|
+
logLlmCall?(llmCall: LlmCall): Promisable<void>;
|
|
53
58
|
/**
|
|
54
59
|
* The execution report object, which is updated during execution.
|
|
55
60
|
*/
|
|
@@ -3,145 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @public exported from `@promptbook/core`
|
|
5
5
|
*/
|
|
6
|
-
export declare const ZERO_VALUE:
|
|
7
|
-
readonly value: 0;
|
|
8
|
-
}>;
|
|
6
|
+
export declare const ZERO_VALUE: any;
|
|
9
7
|
/**
|
|
10
8
|
* Represents the uncertain value
|
|
11
9
|
*
|
|
12
10
|
* @public exported from `@promptbook/core`
|
|
13
11
|
*/
|
|
14
|
-
export declare const UNCERTAIN_ZERO_VALUE:
|
|
15
|
-
readonly value: 0;
|
|
16
|
-
readonly isUncertain: true;
|
|
17
|
-
}>;
|
|
12
|
+
export declare const UNCERTAIN_ZERO_VALUE: any;
|
|
18
13
|
/**
|
|
19
14
|
* Represents the usage with no resources consumed
|
|
20
15
|
*
|
|
21
16
|
* @public exported from `@promptbook/core`
|
|
22
17
|
*/
|
|
23
|
-
export declare const ZERO_USAGE:
|
|
24
|
-
readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
25
|
-
readonly value: 0;
|
|
26
|
-
}>;
|
|
27
|
-
readonly input: {
|
|
28
|
-
readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
29
|
-
readonly value: 0;
|
|
30
|
-
}>;
|
|
31
|
-
readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
32
|
-
readonly value: 0;
|
|
33
|
-
}>;
|
|
34
|
-
readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
35
|
-
readonly value: 0;
|
|
36
|
-
}>;
|
|
37
|
-
readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
38
|
-
readonly value: 0;
|
|
39
|
-
}>;
|
|
40
|
-
readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
41
|
-
readonly value: 0;
|
|
42
|
-
}>;
|
|
43
|
-
readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
44
|
-
readonly value: 0;
|
|
45
|
-
}>;
|
|
46
|
-
readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
47
|
-
readonly value: 0;
|
|
48
|
-
}>;
|
|
49
|
-
};
|
|
50
|
-
readonly output: {
|
|
51
|
-
readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
52
|
-
readonly value: 0;
|
|
53
|
-
}>;
|
|
54
|
-
readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
55
|
-
readonly value: 0;
|
|
56
|
-
}>;
|
|
57
|
-
readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
58
|
-
readonly value: 0;
|
|
59
|
-
}>;
|
|
60
|
-
readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
61
|
-
readonly value: 0;
|
|
62
|
-
}>;
|
|
63
|
-
readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
64
|
-
readonly value: 0;
|
|
65
|
-
}>;
|
|
66
|
-
readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
67
|
-
readonly value: 0;
|
|
68
|
-
}>;
|
|
69
|
-
readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
70
|
-
readonly value: 0;
|
|
71
|
-
}>;
|
|
72
|
-
};
|
|
73
|
-
}>;
|
|
18
|
+
export declare const ZERO_USAGE: any;
|
|
74
19
|
/**
|
|
75
20
|
* Represents the usage with unknown resources consumed
|
|
76
21
|
*
|
|
77
22
|
* @public exported from `@promptbook/core`
|
|
78
23
|
*/
|
|
79
|
-
export declare const UNCERTAIN_USAGE:
|
|
80
|
-
readonly price: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
81
|
-
readonly value: 0;
|
|
82
|
-
readonly isUncertain: true;
|
|
83
|
-
}>;
|
|
84
|
-
readonly input: {
|
|
85
|
-
readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
86
|
-
readonly value: 0;
|
|
87
|
-
readonly isUncertain: true;
|
|
88
|
-
}>;
|
|
89
|
-
readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
90
|
-
readonly value: 0;
|
|
91
|
-
readonly isUncertain: true;
|
|
92
|
-
}>;
|
|
93
|
-
readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
94
|
-
readonly value: 0;
|
|
95
|
-
readonly isUncertain: true;
|
|
96
|
-
}>;
|
|
97
|
-
readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
98
|
-
readonly value: 0;
|
|
99
|
-
readonly isUncertain: true;
|
|
100
|
-
}>;
|
|
101
|
-
readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
102
|
-
readonly value: 0;
|
|
103
|
-
readonly isUncertain: true;
|
|
104
|
-
}>;
|
|
105
|
-
readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
106
|
-
readonly value: 0;
|
|
107
|
-
readonly isUncertain: true;
|
|
108
|
-
}>;
|
|
109
|
-
readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
110
|
-
readonly value: 0;
|
|
111
|
-
readonly isUncertain: true;
|
|
112
|
-
}>;
|
|
113
|
-
};
|
|
114
|
-
readonly output: {
|
|
115
|
-
readonly tokensCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
116
|
-
readonly value: 0;
|
|
117
|
-
readonly isUncertain: true;
|
|
118
|
-
}>;
|
|
119
|
-
readonly charactersCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
120
|
-
readonly value: 0;
|
|
121
|
-
readonly isUncertain: true;
|
|
122
|
-
}>;
|
|
123
|
-
readonly wordsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
124
|
-
readonly value: 0;
|
|
125
|
-
readonly isUncertain: true;
|
|
126
|
-
}>;
|
|
127
|
-
readonly sentencesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
128
|
-
readonly value: 0;
|
|
129
|
-
readonly isUncertain: true;
|
|
130
|
-
}>;
|
|
131
|
-
readonly linesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
132
|
-
readonly value: 0;
|
|
133
|
-
readonly isUncertain: true;
|
|
134
|
-
}>;
|
|
135
|
-
readonly paragraphsCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
136
|
-
readonly value: 0;
|
|
137
|
-
readonly isUncertain: true;
|
|
138
|
-
}>;
|
|
139
|
-
readonly pagesCount: import("type-fest/source/readonly-deep").ReadonlyObjectDeep<{
|
|
140
|
-
readonly value: 0;
|
|
141
|
-
readonly isUncertain: true;
|
|
142
|
-
}>;
|
|
143
|
-
};
|
|
144
|
-
}>;
|
|
24
|
+
export declare const UNCERTAIN_USAGE: any;
|
|
145
25
|
/**
|
|
146
26
|
* Note: [💞] Ignore a discrepancy between file name and entity name
|
|
147
27
|
*/
|
|
@@ -46,6 +46,8 @@ export type ValidatePromptResultResult = {
|
|
|
46
46
|
* This function provides a common abstraction for result validation that can be used
|
|
47
47
|
* by both execution logic and caching logic to ensure consistency.
|
|
48
48
|
*
|
|
49
|
+
* Note: [🔂] This function is idempotent.
|
|
50
|
+
*
|
|
49
51
|
* @param options - The validation options including result string, expectations, and format
|
|
50
52
|
* @returns Validation result with processed string and validity status
|
|
51
53
|
* @private internal function of `createPipelineExecutor` and `cacheLlmTools`
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { $PipelineJson } from '../../commands/_common/types/CommandParser';
|
|
2
|
+
import type { $side_effect } from '../../utils/organization/$side_effect';
|
|
2
3
|
/**
|
|
3
4
|
* Used in `parsePipeline`
|
|
4
5
|
*
|
|
@@ -11,7 +12,7 @@ export type SyncHighLevelAbstraction = {
|
|
|
11
12
|
*
|
|
12
13
|
* Note: `$` is used to indicate that this function mutates given `pipelineJson`
|
|
13
14
|
*/
|
|
14
|
-
$applyToPipelineJson($pipelineJson: $PipelineJson):
|
|
15
|
+
$applyToPipelineJson($pipelineJson: $PipelineJson): $side_effect;
|
|
15
16
|
};
|
|
16
17
|
/**
|
|
17
18
|
* TODO: [♓️] Add order here
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Promisable } from 'type-fest';
|
|
2
2
|
import type { Identification } from '../../../remote-server/socket-types/_subtypes/Identification';
|
|
3
3
|
import type { string_app_id, string_url } from '../../../types/typeAliases';
|
|
4
|
-
import type {
|
|
4
|
+
import type { chococake } from '../../../utils/organization/really_any';
|
|
5
5
|
import type { CacheLlmToolsOptions } from '../utils/cache/CacheLlmToolsOptions';
|
|
6
6
|
import type { LlmExecutionToolsWithTotalUsage } from '../utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
|
|
7
7
|
type ProvideLlmToolsForWizardOrCliOptions = {
|
|
@@ -38,7 +38,7 @@ type ProvideLlmToolsForWizardOrCliOptions = {
|
|
|
38
38
|
*
|
|
39
39
|
* Note: When login prompt fails, `process.exit(1)` is called
|
|
40
40
|
*/
|
|
41
|
-
loginPrompt(): Promisable<Identification<
|
|
41
|
+
loginPrompt(): Promisable<Identification<chococake>>;
|
|
42
42
|
});
|
|
43
43
|
/**
|
|
44
44
|
* Returns LLM tools for CLI
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { string_filename, string_markdown } from '../../../types/typeAliases';
|
|
2
|
+
import type { $side_effect } from '../../../utils/organization/$side_effect';
|
|
2
3
|
/**
|
|
3
4
|
* Pass the `.env` file which was used to configure LLM tools
|
|
4
5
|
*
|
|
@@ -6,7 +7,7 @@ import type { string_filename, string_markdown } from '../../../types/typeAliase
|
|
|
6
7
|
*
|
|
7
8
|
* @private internal log of `$provideLlmToolsConfigurationFromEnv` and `$registeredLlmToolsMessage`
|
|
8
9
|
*/
|
|
9
|
-
export declare function $setUsedEnvFilename(filepath: string_filename):
|
|
10
|
+
export declare function $setUsedEnvFilename(filepath: string_filename): $side_effect;
|
|
10
11
|
/**
|
|
11
12
|
* Creates a message with all registered LLM tools
|
|
12
13
|
*
|
|
@@ -26,7 +26,7 @@ export type LlmToolsMetadata = Registered & {
|
|
|
26
26
|
/**
|
|
27
27
|
* How is the model provider important and should be sorted in the list of available providers?
|
|
28
28
|
*/
|
|
29
|
-
readonly order: typeof MODEL_ORDERS[keyof typeof MODEL_ORDERS] | number;
|
|
29
|
+
readonly order: (typeof MODEL_ORDERS)[keyof typeof MODEL_ORDERS] | number;
|
|
30
30
|
/**
|
|
31
31
|
* List of environment variables that can be used to configure the provider
|
|
32
32
|
*
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AvailableModel } from '../../../execution/AvailableModel';
|
|
2
|
+
/**
|
|
3
|
+
* Utility to assert that all models in the provided array have unique `modelName` values.
|
|
4
|
+
*
|
|
5
|
+
* This is internal utility for unit tests to ensure no duplicate model names exist.
|
|
6
|
+
*
|
|
7
|
+
* @private internal utility of unit tests
|
|
8
|
+
*/
|
|
9
|
+
export declare function assertUniqueModels(models: ReadonlyArray<AvailableModel>): void;
|
|
10
|
+
/**
|
|
11
|
+
* Note: [⚪] This should never be in any released package
|
|
12
|
+
*/
|
|
@@ -7,5 +7,6 @@ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
|
|
|
7
7
|
*/
|
|
8
8
|
export declare function getSingleLlmExecutionTools(oneOrMoreLlmExecutionTools: undefined | LlmExecutionTools | ReadonlyArray<LlmExecutionTools>): LlmExecutionTools | MultipleLlmExecutionTools;
|
|
9
9
|
/**
|
|
10
|
+
* TODO: [🙆] `getSingleLlmExecutionTools` vs `joinLlmExecutionTools` - explain difference or pick one
|
|
10
11
|
* TODO: [👷♂️] @@@ Manual about construction of llmTools
|
|
11
12
|
*/
|
|
@@ -18,5 +18,6 @@ import { MultipleLlmExecutionTools } from './MultipleLlmExecutionTools';
|
|
|
18
18
|
*/
|
|
19
19
|
export declare function joinLlmExecutionTools(title: string_title & string_markdown_text, ...llmExecutionTools: ReadonlyArray<LlmExecutionTools>): MultipleLlmExecutionTools;
|
|
20
20
|
/**
|
|
21
|
+
* TODO: [🙆] `getSingleLlmExecutionTools` vs `joinLlmExecutionTools` - explain difference or pick one
|
|
21
22
|
* TODO: [👷♂️] @@@ Manual about construction of llmTools
|
|
22
23
|
*/
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import type { AgentBasicInformation, BookParameter } from '../../book-2.0/agent-source/AgentBasicInformation';
|
|
3
|
+
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
4
|
+
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
5
|
+
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
6
|
+
import type { Prompt } from '../../types/Prompt';
|
|
7
|
+
import type { string_agent_hash, string_agent_name, string_agent_url, string_color, string_fonts, string_url_image } from '../../types/typeAliases';
|
|
8
|
+
import { AgentLlmExecutionTools } from './AgentLlmExecutionTools';
|
|
9
|
+
import type { AgentOptions } from './AgentOptions';
|
|
10
|
+
/**
|
|
11
|
+
* Represents one AI Agent
|
|
12
|
+
*
|
|
13
|
+
* Note: [🦖] There are several different things in Promptbook:
|
|
14
|
+
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
15
|
+
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
16
|
+
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
17
|
+
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
18
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
19
|
+
*
|
|
20
|
+
* @public exported from `@promptbook/core`
|
|
21
|
+
*/
|
|
22
|
+
export declare class Agent extends AgentLlmExecutionTools implements LlmExecutionTools, AgentBasicInformation {
|
|
23
|
+
private _agentName;
|
|
24
|
+
/**
|
|
25
|
+
* Name of the agent
|
|
26
|
+
*/
|
|
27
|
+
get agentName(): string_agent_name;
|
|
28
|
+
/**
|
|
29
|
+
* Description of the agent
|
|
30
|
+
*/
|
|
31
|
+
personaDescription: string | null;
|
|
32
|
+
/**
|
|
33
|
+
* The initial message shown to the user when the chat starts
|
|
34
|
+
*/
|
|
35
|
+
initialMessage: string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Links found in the agent source
|
|
38
|
+
*/
|
|
39
|
+
links: Array<string_agent_url>;
|
|
40
|
+
/**
|
|
41
|
+
* Computed hash of the agent source for integrity verification
|
|
42
|
+
*/
|
|
43
|
+
get agentHash(): string_agent_hash;
|
|
44
|
+
/**
|
|
45
|
+
* Metadata like image or color
|
|
46
|
+
*/
|
|
47
|
+
meta: {
|
|
48
|
+
fullname?: string;
|
|
49
|
+
image?: string_url_image;
|
|
50
|
+
link?: string;
|
|
51
|
+
font?: string_fonts;
|
|
52
|
+
color?: string_color;
|
|
53
|
+
title?: string;
|
|
54
|
+
description?: string;
|
|
55
|
+
[key: string]: string | undefined;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Not used in Agent, always returns empty array
|
|
59
|
+
*/
|
|
60
|
+
get parameters(): BookParameter[];
|
|
61
|
+
readonly agentSource: BehaviorSubject<string_book>;
|
|
62
|
+
constructor(options: AgentOptions);
|
|
63
|
+
/**
|
|
64
|
+
* Calls the chat model with agent-specific system prompt and requirements with streaming
|
|
65
|
+
*
|
|
66
|
+
* Note: This method also implements the learning mechanism
|
|
67
|
+
*/
|
|
68
|
+
callChatModelStream(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* TODO: [🧠][😰]Agent is not working with the parameters, should it be?
|
|
72
|
+
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Promisable } from 'type-fest';
|
|
2
|
+
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
2
3
|
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
3
4
|
import type { ChatParticipant } from '../../book-components/Chat/types/ChatParticipant';
|
|
4
5
|
import type { AvailableModel } from '../../execution/AvailableModel';
|
|
@@ -6,15 +7,26 @@ import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
|
6
7
|
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
7
8
|
import type { Prompt } from '../../types/Prompt';
|
|
8
9
|
import type { string_markdown, string_markdown_text, string_model_name, string_title } from '../../types/typeAliases';
|
|
10
|
+
import type { CreateAgentLlmExecutionToolsOptions } from './CreateAgentLlmExecutionToolsOptions';
|
|
9
11
|
/**
|
|
10
12
|
* Execution Tools for calling LLM models with a predefined agent "soul"
|
|
11
13
|
* This wraps underlying LLM execution tools and applies agent-specific system prompts and requirements
|
|
12
14
|
*
|
|
15
|
+
* Note: [🦖] There are several different things in Promptbook:
|
|
16
|
+
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
17
|
+
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
18
|
+
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
19
|
+
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
20
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
21
|
+
*
|
|
13
22
|
* @public exported from `@promptbook/core`
|
|
14
23
|
*/
|
|
15
24
|
export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
16
|
-
private readonly
|
|
17
|
-
|
|
25
|
+
private readonly options;
|
|
26
|
+
/**
|
|
27
|
+
* Cache of OpenAI assistants to avoid creating duplicates
|
|
28
|
+
*/
|
|
29
|
+
private static assistantCache;
|
|
18
30
|
/**
|
|
19
31
|
* Cached model requirements to avoid re-parsing the agent source
|
|
20
32
|
*/
|
|
@@ -29,7 +41,13 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
|
29
41
|
* @param llmTools The underlying LLM execution tools to wrap
|
|
30
42
|
* @param agentSource The agent source string that defines the agent's behavior
|
|
31
43
|
*/
|
|
32
|
-
constructor(
|
|
44
|
+
constructor(options: CreateAgentLlmExecutionToolsOptions);
|
|
45
|
+
/**
|
|
46
|
+
* Updates the agent source and clears the cache
|
|
47
|
+
*
|
|
48
|
+
* @param agentSource The new agent source string
|
|
49
|
+
*/
|
|
50
|
+
protected updateAgentSource(agentSource: string_book): void;
|
|
33
51
|
/**
|
|
34
52
|
* Get cached or parse agent information
|
|
35
53
|
*/
|
|
@@ -37,7 +55,7 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
|
37
55
|
/**
|
|
38
56
|
* Get cached or create agent model requirements
|
|
39
57
|
*/
|
|
40
|
-
|
|
58
|
+
protected getAgentModelRequirements(): Promise<AgentModelRequirements>;
|
|
41
59
|
get title(): string_title & string_markdown_text;
|
|
42
60
|
get description(): string_markdown;
|
|
43
61
|
get profile(): ChatParticipant | undefined;
|
|
@@ -51,6 +69,10 @@ export declare class AgentLlmExecutionTools implements LlmExecutionTools {
|
|
|
51
69
|
* Calls the chat model with agent-specific system prompt and requirements
|
|
52
70
|
*/
|
|
53
71
|
callChatModel(prompt: Prompt): Promise<ChatPromptResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Calls the chat model with agent-specific system prompt and requirements with streaming
|
|
74
|
+
*/
|
|
75
|
+
callChatModelStream(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
54
76
|
}
|
|
55
77
|
/**
|
|
56
78
|
* TODO: [🍚] Implement Destroyable pattern to free resources
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
|
+
import type { ExecutionTools } from '../../execution/ExecutionTools';
|
|
4
|
+
import type { Updatable } from '../../types/Updatable';
|
|
5
|
+
/**
|
|
6
|
+
* Options for creating an Agent
|
|
7
|
+
*/
|
|
8
|
+
export type AgentOptions = CommonToolsOptions & {
|
|
9
|
+
/**
|
|
10
|
+
* The execution tools available to the agent
|
|
11
|
+
*
|
|
12
|
+
* Here the agent has access to various LLM models, browser, scrapers, LibreOffice, tools, etc.
|
|
13
|
+
*/
|
|
14
|
+
executionTools: ExecutionTools;
|
|
15
|
+
/**
|
|
16
|
+
* The source of the agent
|
|
17
|
+
*/
|
|
18
|
+
agentSource: Updatable<string_book>;
|
|
19
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { string_book } from '../../book-2.0/agent-source/string_book';
|
|
2
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
3
|
+
import type { LlmExecutionTools } from '../../execution/LlmExecutionTools';
|
|
4
|
+
import { OpenAiAssistantExecutionTools } from '../openai/OpenAiAssistantExecutionTools';
|
|
5
|
+
/**
|
|
6
|
+
* Options for creating AgentLlmExecutionTools
|
|
7
|
+
*/
|
|
8
|
+
export type CreateAgentLlmExecutionToolsOptions = CommonToolsOptions & {
|
|
9
|
+
/**
|
|
10
|
+
* The underlying LLM execution tools to wrap
|
|
11
|
+
*/
|
|
12
|
+
llmTools: LlmExecutionTools | OpenAiAssistantExecutionTools;
|
|
13
|
+
/**
|
|
14
|
+
* The agent source string that defines the agent's behavior
|
|
15
|
+
*/
|
|
16
|
+
agentSource: string_book;
|
|
17
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ChatPromptResult } from '../../execution/PromptResult';
|
|
2
|
+
import type { Prompt } from '../../types/Prompt';
|
|
3
|
+
import type { string_agent_hash, string_agent_name } from '../../types/typeAliases';
|
|
4
|
+
import { Agent } from './Agent';
|
|
5
|
+
import type { RemoteAgentOptions } from './RemoteAgentOptions';
|
|
6
|
+
/**
|
|
7
|
+
* Represents one AI Agent
|
|
8
|
+
*
|
|
9
|
+
* Note: [🦖] There are several different things in Promptbook:
|
|
10
|
+
* - `Agent` - which represents an AI Agent with its source, memories, actions, etc. Agent is a higher-level abstraction which is internally using:
|
|
11
|
+
* - `LlmExecutionTools` - which wraps one or more LLM models and provides an interface to execute them
|
|
12
|
+
* - `AgentLlmExecutionTools` - which is a specific implementation of `LlmExecutionTools` that wraps another LlmExecutionTools and applies agent-specific system prompts and requirements
|
|
13
|
+
* - `OpenAiAssistantExecutionTools` - which is a specific implementation of `LlmExecutionTools` for OpenAI models with assistant capabilities, recommended for usage in `Agent` or `AgentLlmExecutionTools`
|
|
14
|
+
* - `RemoteAgent` - which is an `Agent` that connects to a Promptbook Agents Server
|
|
15
|
+
*
|
|
16
|
+
* @public exported from `@promptbook/core`
|
|
17
|
+
*/
|
|
18
|
+
export declare class RemoteAgent extends Agent {
|
|
19
|
+
static connect(options: RemoteAgentOptions): Promise<RemoteAgent>;
|
|
20
|
+
/**
|
|
21
|
+
* The source of the agent
|
|
22
|
+
*/
|
|
23
|
+
private agentUrl;
|
|
24
|
+
private _remoteAgentName;
|
|
25
|
+
private _remoteAgentHash;
|
|
26
|
+
private _isVoiceCallingEnabled;
|
|
27
|
+
private constructor();
|
|
28
|
+
get agentName(): string_agent_name;
|
|
29
|
+
get agentHash(): string_agent_hash;
|
|
30
|
+
/**
|
|
31
|
+
* Calls the agent on agents remote server
|
|
32
|
+
*/
|
|
33
|
+
callChatModel(prompt: Prompt): Promise<ChatPromptResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Calls the agent on agents remote server with voice
|
|
36
|
+
* [✨✷] Only available when voice calling is enabled on the server
|
|
37
|
+
* Returns undefined if voice calling is disabled
|
|
38
|
+
*/
|
|
39
|
+
get callVoiceChatModel(): ((audio: Blob, prompt: Prompt) => Promise<{
|
|
40
|
+
text: string;
|
|
41
|
+
audio: Blob;
|
|
42
|
+
userMessage?: string;
|
|
43
|
+
agentMessage?: string;
|
|
44
|
+
}>) | undefined;
|
|
45
|
+
callChatModelStream(prompt: Prompt, onProgress: (chunk: ChatPromptResult) => void): Promise<ChatPromptResult>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* TODO: [🧠][😰]Agent is not working with the parameters, should it be?
|
|
49
|
+
* TODO: !!! Agent on remote server
|
|
50
|
+
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CommonToolsOptions } from '../../execution/CommonToolsOptions';
|
|
2
|
+
import type { string_agent_url } from '../../types/typeAliases';
|
|
3
|
+
/**
|
|
4
|
+
* Options for creating a Remote Agent
|
|
5
|
+
*/
|
|
6
|
+
export type RemoteAgentOptions = CommonToolsOptions & {
|
|
7
|
+
/**
|
|
8
|
+
* Url of the remote agent
|
|
9
|
+
*/
|
|
10
|
+
agentUrl: string_agent_url;
|
|
11
|
+
};
|