@promptbook/cli 0.114.0-2 → 0.114.0-4
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 +1 -9
- package/apps/agents-server/{USE_TIMEOUT_CHIP_QA.md → TIMEOUT_CHIP_QA.md} +1 -1
- package/apps/agents-server/next.config.ts +11 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/chat/resolveAgentChatRouteContext.ts +5 -12
- package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +4 -9
- package/apps/agents-server/src/app/api/scrape/route.ts +1 -1
- package/apps/agents-server/src/app/layout.tsx +31 -0
- package/apps/agents-server/src/app/system/user-wallet/UserWalletDraft.ts +2 -2
- package/apps/agents-server/src/components/AgentProfile/AgentCapabilityChips.tsx +1 -24
- package/apps/agents-server/src/components/Header/Header.tsx +8 -0
- package/apps/agents-server/src/components/Header/HeaderTypes.ts +5 -0
- package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +118 -30
- package/apps/agents-server/src/components/Header/resolveHeaderSystemActivities.ts +86 -0
- package/apps/agents-server/src/components/Homepage/AgentCard.tsx +0 -3
- package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +8 -0
- package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardState.ts +0 -12
- package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardUseSetupStep.tsx +0 -58
- package/apps/agents-server/src/components/NewAgentDialog/newAgentWizardPresets.ts +0 -56
- package/apps/agents-server/src/components/WalletRecordDialog/useWalletRecordDialogState.ts +1 -1
- package/apps/agents-server/src/languages/ServerTranslationKeys.ts +0 -10
- package/apps/agents-server/src/languages/translations/czech.yaml +0 -10
- package/apps/agents-server/src/languages/translations/english.yaml +0 -10
- package/apps/agents-server/src/message-providers/email/smtp/SmtpMessageProvider.ts +1 -1
- package/apps/agents-server/src/tools/$provideOpenAiAgentKitExecutionToolsForServer.ts +0 -191
- package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +0 -3
- package/apps/agents-server/src/tools/run_browser.ts +1 -1
- package/apps/agents-server/src/tools/send_email.ts +3 -3
- package/apps/agents-server/src/utils/handleChatCompletion/createHandleChatCompletionPromptContext.ts +0 -1
- package/apps/agents-server/src/utils/handleChatCompletion/resolveHandleChatCompletionRuntime.ts +4 -12
- package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentBooks.ts +0 -1
- package/apps/agents-server/src/utils/messages/parseUseEmailSmtpCredential.ts +1 -1
- package/apps/agents-server/src/utils/resolveUseEmailSmtpCredential.ts +1 -1
- package/apps/agents-server/src/utils/useEmailSmtpWalletConstants.ts +5 -5
- package/apps/agents-server/src/utils/userChat/createRunUserChatJobExecutionContext.ts +5 -12
- package/apps/agents-server/src/utils/userWallet/UserWalletRecord.ts +1 -1
- package/apps/agents-server/src/utils/userWallet/resolveUseEmailSmtpCredentialFromWallet.ts +1 -1
- package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +2 -1
- package/apps/agents-server/src/utils/vpsSelfUpdate/isVpsSelfUpdateJobRunning.ts +16 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +2 -1
- package/apps/agents-server/src/utils/vpsSelfUpdate.ts +1 -0
- package/esm/index.es.js +1974 -5149
- package/esm/index.es.js.map +1 -1
- package/esm/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
- package/esm/scripts/run-codex-prompts/git/coderGitSync.d.ts +43 -0
- package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -0
- package/esm/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
- package/esm/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
- package/esm/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
- package/esm/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
- package/esm/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
- package/esm/scripts/verify-prompts/verify-prompts.d.ts +5 -0
- package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
- package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
- package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
- package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +3 -2
- package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
- package/esm/src/cli/cli-commands/coder.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
- package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
- package/esm/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
- package/esm/src/commitments/META_ID/META_ID.d.ts +32 -0
- package/esm/src/commitments/index.d.ts +4 -12
- package/esm/src/llm-providers/agent/Agent.d.ts +1 -1
- package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
- package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
- package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
- package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
- package/esm/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
- package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
- package/esm/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/_packages/components.readme.md +1 -1
- package/src/book-2.0/agent-source/AgentBasicInformation.ts +3 -9
- package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/filterCommitmentsForAgentModelRequirements.ts +0 -23
- package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.ts +0 -2
- package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +16 -31
- package/src/book-2.0/agent-source/parseAgentSource/createCapabilitiesFromCommitment.ts +0 -35
- package/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.ts +0 -25
- package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +2 -10
- package/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.ts +7 -32
- package/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.ts +6 -31
- package/src/book-3.0/LiteAgent.ts +11 -9
- package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
- package/src/book-components/Chat/utils/$provideServerDomWindow.ts +77 -0
- package/src/book-components/Chat/utils/renderMarkdown.ts +2 -23
- package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +14 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +1 -0
- package/src/cli/cli-commands/coder/add.ts +40 -12
- package/src/cli/cli-commands/coder/boilerplateCount.ts +139 -0
- package/src/cli/cli-commands/coder/generate-boilerplates.ts +82 -48
- package/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.ts +3 -1
- package/src/cli/cli-commands/coder/init.ts +29 -2
- package/src/cli/cli-commands/coder/ping.ts +23 -45
- package/src/cli/cli-commands/coder/verify.ts +27 -12
- package/src/cli/cli-commands/coder.ts +3 -3
- package/src/cli/cli-commands/common/coderGitSyncCliOptions.ts +78 -0
- package/src/cli/cli-commands/run/prepareRunCommandResources.ts +2 -1
- package/src/cli/cli-commands/run/resolveRunInputParameters.ts +2 -1
- package/src/cli/cli-commands/runInteractiveChatbot.ts +2 -1
- package/src/cli/common/$provideLlmToolsForCli.ts +2 -1
- package/src/cli/common/loadPromptsModule.ts +13 -0
- package/src/commitments/ACTION/ACTION.ts +3 -3
- package/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.ts +1 -1
- package/src/commitments/META_FULLNAME/META_FULLNAME.ts +70 -0
- package/src/commitments/META_ID/META_ID.ts +78 -0
- package/src/commitments/_common/getAllCommitmentsToolFunctionsForNode.ts +1 -49
- package/src/commitments/index.ts +6 -24
- package/src/conversion/archive/loadArchive.ts +2 -1
- package/src/conversion/archive/loadJsZipModule.ts +10 -0
- package/src/conversion/archive/saveArchive.ts +2 -1
- package/src/llm-providers/agent/Agent.ts +1 -1
- package/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.ts +13 -1
- package/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.ts +13 -1
- package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +6 -2
- package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +9 -7
- package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
- package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +1 -1
- package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
- package/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.ts +1 -1
- package/src/llm-providers/openai/OpenAiCompatibleRequestManager.ts +12 -1
- package/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.ts +1 -1
- package/src/llm-providers/openai/utils/loadOpenAiAgentsModule.ts +11 -0
- package/src/llm-providers/openai/utils/uploadFilesToOpenAi.ts +1 -1
- package/src/other/templates/getTemplatesPipelineCollection.ts +715 -823
- package/src/remote-server/createRemoteClient.ts +12 -1
- package/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.ts +8 -9
- package/src/scrapers/website/WebsiteScraper.ts +22 -2
- package/src/utils/misc/createLazyModuleLoader.ts +27 -0
- package/src/version.ts +2 -2
- package/src/versions.txt +2 -0
- package/umd/index.umd.js +2047 -5216
- package/umd/index.umd.js.map +1 -1
- package/umd/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
- package/umd/scripts/run-codex-prompts/git/coderGitSync.d.ts +43 -0
- package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -0
- package/umd/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
- package/umd/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
- package/umd/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
- package/umd/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
- package/umd/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
- package/umd/scripts/verify-prompts/verify-prompts.d.ts +5 -0
- package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
- package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
- package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
- package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +3 -2
- package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
- package/umd/src/cli/cli-commands/coder.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
- package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
- package/umd/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
- package/umd/src/commitments/META_ID/META_ID.d.ts +32 -0
- package/umd/src/commitments/index.d.ts +4 -12
- package/umd/src/llm-providers/agent/Agent.d.ts +1 -1
- package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
- package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
- package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
- package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
- package/umd/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
- package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
- package/umd/src/version.d.ts +1 -1
- package/apps/agents-server/src/tools/configureTimeoutToolRuntimeAdapterForServer.ts +0 -381
- package/apps/agents-server/src/utils/emails/extractUseEmailConfigurationFromAgentSource.ts +0 -42
- package/esm/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
- package/esm/src/commitments/MEMORY/MEMORY.d.ts +0 -48
- package/esm/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
- package/esm/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
- package/esm/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
- package/esm/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
- package/esm/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
- package/esm/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
- package/esm/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/esm/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
- package/esm/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
- package/esm/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
- package/esm/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
- package/esm/src/commitments/META/META.d.ts +0 -65
- package/esm/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
- package/esm/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
- package/esm/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
- package/esm/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
- package/esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
- package/esm/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
- package/esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
- package/esm/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
- package/esm/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
- package/esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
- package/esm/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
- package/esm/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts +0 -1
- package/esm/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
- package/esm/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
- package/esm/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
- package/esm/src/commitments/USE_TIME/USE_TIME.test.d.ts +0 -1
- package/esm/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
- package/esm/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
- package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
- package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts +0 -1
- package/esm/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
- package/esm/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
- package/esm/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
- package/esm/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/esm/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
- package/esm/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
- package/esm/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
- package/esm/src/commitments/WALLET/WALLET.d.ts +0 -21
- package/esm/src/commitments/WALLET/WALLET.test.d.ts +0 -1
- package/esm/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
- package/esm/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
- package/esm/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
- package/esm/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
- package/esm/src/commitments/WALLET/createWalletTools.d.ts +0 -7
- package/esm/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
- package/esm/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
- package/esm/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
- package/esm/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
- package/esm/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
- package/esm/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
- package/esm/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
- package/src/commitments/COMPONENT/COMPONENT.ts +0 -70
- package/src/commitments/MEMORY/MEMORY.ts +0 -94
- package/src/commitments/MEMORY/MemoryToolNames.ts +0 -13
- package/src/commitments/MEMORY/MemoryToolRuntimeAdapter.ts +0 -180
- package/src/commitments/MEMORY/createMemorySystemMessage.ts +0 -27
- package/src/commitments/MEMORY/createMemoryToolFunctions.ts +0 -134
- package/src/commitments/MEMORY/createMemoryTools.ts +0 -115
- package/src/commitments/MEMORY/getMemoryCommitmentDocumentation.ts +0 -47
- package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +0 -104
- package/src/commitments/MEMORY/getMemoryToolTitles.ts +0 -16
- package/src/commitments/MEMORY/parseMemoryToolArgs.ts +0 -126
- package/src/commitments/MEMORY/resolveMemoryRuntimeContext.ts +0 -23
- package/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.ts +0 -26
- package/src/commitments/META/META.ts +0 -168
- package/src/commitments/USE/TODO.txt +0 -1
- package/src/commitments/USE/aggregateUseCommitmentSystemMessages.ts +0 -219
- package/src/commitments/USE_BROWSER/TODO.txt +0 -1
- package/src/commitments/USE_BROWSER/USE_BROWSER.ts +0 -257
- package/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.ts +0 -45
- package/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.ts +0 -83
- package/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.ts +0 -146
- package/src/commitments/USE_EMAIL/USE_EMAIL.ts +0 -201
- package/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.ts +0 -75
- package/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.ts +0 -44
- package/src/commitments/USE_EMAIL/sendEmailViaBrowser.ts +0 -47
- package/src/commitments/USE_SEARCH_ENGINE/TODO.txt +0 -1
- package/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.ts +0 -171
- package/src/commitments/USE_SPAWN/USE_SPAWN.ts +0 -150
- package/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.ts +0 -42
- package/src/commitments/USE_SPAWN/spawnAgentViaBrowser.ts +0 -50
- package/src/commitments/USE_TIME/USE_TIME.ts +0 -177
- package/src/commitments/USE_TIMEOUT/TimeoutToolNames.ts +0 -13
- package/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.ts +0 -255
- package/src/commitments/USE_TIMEOUT/USE_TIMEOUT.ts +0 -117
- package/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.ts +0 -22
- package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +0 -361
- package/src/commitments/USE_TIMEOUT/createTimeoutTools.ts +0 -127
- package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +0 -67
- package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +0 -460
- package/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.ts +0 -36
- package/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.ts +0 -26
- package/src/commitments/WALLET/WALLET.ts +0 -71
- package/src/commitments/WALLET/WalletToolNames.ts +0 -14
- package/src/commitments/WALLET/WalletToolRuntimeAdapter.ts +0 -180
- package/src/commitments/WALLET/createWalletSystemMessage.ts +0 -22
- package/src/commitments/WALLET/createWalletToolFunctions.ts +0 -145
- package/src/commitments/WALLET/createWalletTools.ts +0 -129
- package/src/commitments/WALLET/getWalletCommitmentDocumentation.ts +0 -14
- package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +0 -64
- package/src/commitments/WALLET/getWalletToolTitles.ts +0 -17
- package/src/commitments/WALLET/parseWalletToolArgs.ts +0 -231
- package/src/commitments/WALLET/resolveWalletRuntimeContext.ts +0 -23
- package/src/commitments/WALLET/setWalletToolRuntimeAdapter.ts +0 -26
- package/src/commitments/_common/createSerpSearchToolFunction.ts +0 -46
- package/umd/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
- package/umd/src/book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts +0 -1
- package/umd/src/commitments/MEMORY/MEMORY.d.ts +0 -48
- package/umd/src/commitments/MEMORY/MEMORY.test.d.ts +0 -1
- package/umd/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
- package/umd/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
- package/umd/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
- package/umd/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
- package/umd/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
- package/umd/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
- package/umd/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/umd/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
- package/umd/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
- package/umd/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
- package/umd/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
- package/umd/src/commitments/META/META.d.ts +0 -65
- package/umd/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
- package/umd/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
- package/umd/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +0 -1
- package/umd/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
- package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
- package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts +0 -1
- package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
- package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts +0 -1
- package/umd/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
- package/umd/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts +0 -1
- package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
- package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts +0 -1
- package/umd/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
- package/umd/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
- package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
- package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts +0 -1
- package/umd/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
- package/umd/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts +0 -1
- package/umd/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
- package/umd/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
- package/umd/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
- package/umd/src/commitments/USE_TIME/USE_TIME.test.d.ts +0 -1
- package/umd/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
- package/umd/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
- package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
- package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts +0 -1
- package/umd/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
- package/umd/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
- package/umd/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
- package/umd/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/umd/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
- package/umd/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
- package/umd/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
- package/umd/src/commitments/WALLET/WALLET.d.ts +0 -21
- package/umd/src/commitments/WALLET/WALLET.test.d.ts +0 -1
- package/umd/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
- package/umd/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
- package/umd/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
- package/umd/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
- package/umd/src/commitments/WALLET/createWalletTools.d.ts +0 -7
- package/umd/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
- package/umd/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
- package/umd/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
- package/umd/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
- package/umd/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
- package/umd/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
- package/umd/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
- /package/esm/src/book-2.0/agent-source/{createAgentModelRequirements.useCommitmentAggregation.test.d.ts → createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
- /package/esm/src/{commitments/MEMORY/MEMORY.test.d.ts → cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
- /package/esm/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
- /package/{esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → umd/src/book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
- /package/{esm/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts → umd/src/cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
- /package/{esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → umd/src/cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
- /package/{esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
- /package/umd/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { spaceTrim } from 'spacetrim';
|
|
2
|
-
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
3
|
-
import type { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
4
|
-
import type { LlmToolDefinition } from '../../types/LlmToolDefinition';
|
|
5
|
-
import type { string_javascript_name } from '../../types/string_person_fullname';
|
|
6
|
-
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
7
|
-
import { formatOptionalInstructionBlock } from '../_base/formatOptionalInstructionBlock';
|
|
8
|
-
import { parseUseEmailCommitmentContent } from './parseUseEmailCommitmentContent';
|
|
9
|
-
import { sendEmailViaBrowser } from './sendEmailViaBrowser';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Tool name used by USE EMAIL.
|
|
13
|
-
*
|
|
14
|
-
* @private internal USE EMAIL constant
|
|
15
|
-
*/
|
|
16
|
-
const SEND_EMAIL_TOOL_NAME = 'send_email' as string_javascript_name;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* USE EMAIL commitment definition.
|
|
20
|
-
*
|
|
21
|
-
* The `USE EMAIL` commitment enables outbound email sending through the `send_email` tool.
|
|
22
|
-
*
|
|
23
|
-
* @private [🪔] Maybe export the commitments through some package
|
|
24
|
-
*/
|
|
25
|
-
export class UseEmailCommitmentDefinition extends BaseCommitmentDefinition<'USE EMAIL'> {
|
|
26
|
-
public constructor() {
|
|
27
|
-
super('USE EMAIL', ['EMAIL', 'MAIL']);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
override get requiresContent(): boolean {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Short one-line description of USE EMAIL.
|
|
36
|
-
*/
|
|
37
|
-
get description(): string {
|
|
38
|
-
return 'Enable outbound email sending through a wallet-backed SMTP configuration.';
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Icon for this commitment.
|
|
43
|
-
*/
|
|
44
|
-
get icon(): string {
|
|
45
|
-
return '📧';
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Markdown documentation for USE EMAIL commitment.
|
|
50
|
-
*/
|
|
51
|
-
get documentation(): string {
|
|
52
|
-
return spaceTrim(`
|
|
53
|
-
# USE EMAIL
|
|
54
|
-
|
|
55
|
-
Enables the agent to send outbound emails through SMTP.
|
|
56
|
-
|
|
57
|
-
## Key aspects
|
|
58
|
-
|
|
59
|
-
- The agent sends email via the \`send_email\` tool.
|
|
60
|
-
- SMTP credentials are expected from wallet records (\`ACCESS_TOKEN\`, service \`smtp\`, key \`use-email-smtp-credentials\`).
|
|
61
|
-
- Commitment content can optionally begin with a default sender email address:
|
|
62
|
-
- \`USE EMAIL agent@example.com\`
|
|
63
|
-
- Remaining commitment content is treated as optional email-writing instructions.
|
|
64
|
-
|
|
65
|
-
## Examples
|
|
66
|
-
|
|
67
|
-
\`\`\`book
|
|
68
|
-
Writing Agent
|
|
69
|
-
USE EMAIL agent@example.com
|
|
70
|
-
RULE Write emails to customers according to the instructions from user.
|
|
71
|
-
\`\`\`
|
|
72
|
-
|
|
73
|
-
\`\`\`book
|
|
74
|
-
Formal Email Assistant
|
|
75
|
-
USE EMAIL agent@example.com Keep emails concise and formal.
|
|
76
|
-
\`\`\`
|
|
77
|
-
`);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements {
|
|
81
|
-
const parsedCommitment = parseUseEmailCommitmentContent(content);
|
|
82
|
-
const updatedTools = addUseEmailTools(requirements.tools || []);
|
|
83
|
-
|
|
84
|
-
// Collect all configured sender emails across multiple USE EMAIL commitments
|
|
85
|
-
const existingSenders: string[] = Array.isArray(requirements._metadata?.useEmailSenders)
|
|
86
|
-
? [...(requirements._metadata!.useEmailSenders as string[])]
|
|
87
|
-
: [];
|
|
88
|
-
if (parsedCommitment.senderEmail && !existingSenders.includes(parsedCommitment.senderEmail)) {
|
|
89
|
-
existingSenders.push(parsedCommitment.senderEmail);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const senderBullets =
|
|
93
|
-
existingSenders.length > 0
|
|
94
|
-
? existingSenders
|
|
95
|
-
.map((email, index) =>
|
|
96
|
-
index === 0
|
|
97
|
-
? `- Default sender address: "${email}".`
|
|
98
|
-
: `- Additional sender address: "${email}".`,
|
|
99
|
-
)
|
|
100
|
-
.join('\n')
|
|
101
|
-
: '';
|
|
102
|
-
|
|
103
|
-
const extraInstructions = formatOptionalInstructionBlock('Email instructions', parsedCommitment.instructions);
|
|
104
|
-
|
|
105
|
-
const emailSectionContent = spaceTrim(
|
|
106
|
-
(block) => `
|
|
107
|
-
## Emails
|
|
108
|
-
|
|
109
|
-
- Use \`${SEND_EMAIL_TOOL_NAME}\` to send outbound emails.
|
|
110
|
-
${block(senderBullets)}
|
|
111
|
-
${block(extraInstructions)}
|
|
112
|
-
`,
|
|
113
|
-
);
|
|
114
|
-
|
|
115
|
-
return this.replaceOrCreateSection(
|
|
116
|
-
{
|
|
117
|
-
...requirements,
|
|
118
|
-
tools: updatedTools,
|
|
119
|
-
_metadata: {
|
|
120
|
-
...requirements._metadata,
|
|
121
|
-
useEmail: true,
|
|
122
|
-
...(parsedCommitment.senderEmail ? { useEmailSender: parsedCommitment.senderEmail } : {}),
|
|
123
|
-
useEmailSenders: existingSenders,
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
'Emails',
|
|
127
|
-
emailSectionContent,
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Gets human-readable titles for tool functions provided by this commitment.
|
|
133
|
-
*/
|
|
134
|
-
getToolTitles(): Record<string_javascript_name, string> {
|
|
135
|
-
return {
|
|
136
|
-
[SEND_EMAIL_TOOL_NAME]: 'Send email',
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/**
|
|
141
|
-
* Gets the browser-safe `send_email` implementation.
|
|
142
|
-
*
|
|
143
|
-
* Node.js runtime overrides this via `getAllCommitmentsToolFunctionsForNode`.
|
|
144
|
-
*/
|
|
145
|
-
getToolFunctions(): Record<string_javascript_name, ToolFunction> {
|
|
146
|
-
return {
|
|
147
|
-
async [SEND_EMAIL_TOOL_NAME](args: unknown): Promise<string> {
|
|
148
|
-
return sendEmailViaBrowser(args as Record<string, unknown>);
|
|
149
|
-
},
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Adds USE EMAIL tool definition while keeping already registered tools untouched.
|
|
156
|
-
*
|
|
157
|
-
* @private utility of USE EMAIL commitment
|
|
158
|
-
*/
|
|
159
|
-
function addUseEmailTools(existingTools: ReadonlyArray<LlmToolDefinition>): Array<LlmToolDefinition> {
|
|
160
|
-
if (existingTools.some((tool) => tool.name === SEND_EMAIL_TOOL_NAME)) {
|
|
161
|
-
return [...existingTools];
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
return [
|
|
165
|
-
...existingTools,
|
|
166
|
-
{
|
|
167
|
-
name: SEND_EMAIL_TOOL_NAME,
|
|
168
|
-
description: 'Send an outbound email.',
|
|
169
|
-
parameters: {
|
|
170
|
-
type: 'object',
|
|
171
|
-
properties: {
|
|
172
|
-
message: {
|
|
173
|
-
type: 'object',
|
|
174
|
-
description: 'Email payload. Use metadata.subject for the subject line.',
|
|
175
|
-
},
|
|
176
|
-
to: {
|
|
177
|
-
type: 'string',
|
|
178
|
-
description:
|
|
179
|
-
'Legacy alias for recipients (use comma-separated emails or JSON array encoded as string).',
|
|
180
|
-
},
|
|
181
|
-
cc: {
|
|
182
|
-
type: 'string',
|
|
183
|
-
description:
|
|
184
|
-
'Optional CC recipients (use comma-separated emails or JSON array encoded as string).',
|
|
185
|
-
},
|
|
186
|
-
subject: {
|
|
187
|
-
type: 'string',
|
|
188
|
-
description: 'Legacy alias for subject.',
|
|
189
|
-
},
|
|
190
|
-
body: {
|
|
191
|
-
type: 'string',
|
|
192
|
-
description: 'Legacy alias for markdown body content.',
|
|
193
|
-
},
|
|
194
|
-
},
|
|
195
|
-
required: [],
|
|
196
|
-
},
|
|
197
|
-
},
|
|
198
|
-
];
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
// Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { spaceTrim } from 'spacetrim';
|
|
2
|
-
import { isValidEmail } from '../../utils/validators/email/isValidEmail';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Lightweight email token matcher used for `USE EMAIL` first-line parsing.
|
|
6
|
-
*
|
|
7
|
-
* @private internal USE EMAIL constant
|
|
8
|
-
*/
|
|
9
|
-
const EMAIL_TOKEN_PATTERN = /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Parsed payload of one `USE EMAIL` commitment.
|
|
13
|
-
*
|
|
14
|
-
* @private internal USE EMAIL type
|
|
15
|
-
*/
|
|
16
|
-
export type ParsedUseEmailCommitmentContent = {
|
|
17
|
-
senderEmail: string | null;
|
|
18
|
-
senderEmailRaw: string | null;
|
|
19
|
-
instructions: string;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Parses `USE EMAIL` commitment content into optional sender email + additional instructions.
|
|
24
|
-
*
|
|
25
|
-
* Examples:
|
|
26
|
-
* - `agent@example.com`
|
|
27
|
-
* - `agent@example.com Keep emails concise`
|
|
28
|
-
* - `Keep emails concise`
|
|
29
|
-
*
|
|
30
|
-
* @private internal utility of USE EMAIL commitment
|
|
31
|
-
*/
|
|
32
|
-
export function parseUseEmailCommitmentContent(content: string): ParsedUseEmailCommitmentContent {
|
|
33
|
-
const trimmedContent = spaceTrim(content);
|
|
34
|
-
if (!trimmedContent) {
|
|
35
|
-
return {
|
|
36
|
-
senderEmail: null,
|
|
37
|
-
senderEmailRaw: null,
|
|
38
|
-
instructions: '',
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const lines = trimmedContent
|
|
43
|
-
.split(/\r?\n/)
|
|
44
|
-
.map((line) => line.trim())
|
|
45
|
-
.filter(Boolean);
|
|
46
|
-
if (lines.length === 0) {
|
|
47
|
-
return {
|
|
48
|
-
senderEmail: null,
|
|
49
|
-
senderEmailRaw: null,
|
|
50
|
-
instructions: '',
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const firstLine = lines[0] || '';
|
|
55
|
-
const senderMatch = firstLine.match(EMAIL_TOKEN_PATTERN);
|
|
56
|
-
const senderEmailRaw = senderMatch?.[0] || null;
|
|
57
|
-
const senderEmail = senderEmailRaw && isValidEmail(senderEmailRaw) ? senderEmailRaw : null;
|
|
58
|
-
|
|
59
|
-
let firstLineWithoutSender = firstLine;
|
|
60
|
-
if (senderEmailRaw) {
|
|
61
|
-
const matchIndex = firstLine.indexOf(senderEmailRaw);
|
|
62
|
-
const prefix = firstLine.slice(0, matchIndex).trim();
|
|
63
|
-
const suffix = firstLine.slice(matchIndex + senderEmailRaw.length).trim();
|
|
64
|
-
firstLineWithoutSender = [prefix, suffix].filter(Boolean).join(' ').trim();
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const instructionLines = [firstLineWithoutSender, ...lines.slice(1)].filter(Boolean);
|
|
68
|
-
const instructions = instructionLines.join('\n').trim();
|
|
69
|
-
|
|
70
|
-
return {
|
|
71
|
-
senderEmail,
|
|
72
|
-
senderEmailRaw,
|
|
73
|
-
instructions,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { spaceTrim } from 'spacetrim';
|
|
2
|
-
import { EnvironmentMismatchError } from '../../errors/EnvironmentMismatchError';
|
|
3
|
-
import type { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Resolves the server-side implementation of the send_email tool for Node.js environments.
|
|
7
|
-
*
|
|
8
|
-
* This uses a lazy require so the core package can still load even if the Agents Server
|
|
9
|
-
* module is unavailable. When the server tool cannot be resolved, a fallback implementation
|
|
10
|
-
* throws a helpful error message.
|
|
11
|
-
*
|
|
12
|
-
* @private internal utility for USE EMAIL commitment
|
|
13
|
-
*/
|
|
14
|
-
export function resolveSendEmailToolForNode(): ToolFunction {
|
|
15
|
-
try {
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
17
|
-
const { send_email } = require('../../../apps/agents-server/src/tools/send_email');
|
|
18
|
-
|
|
19
|
-
if (typeof send_email !== 'function') {
|
|
20
|
-
throw new Error('send_email value is not a function but ' + typeof send_email);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return send_email as ToolFunction;
|
|
24
|
-
} catch (error) {
|
|
25
|
-
const normalizedError =
|
|
26
|
-
error instanceof Error
|
|
27
|
-
? error
|
|
28
|
-
: new Error(typeof error === 'string' ? error : JSON.stringify(error ?? 'Unknown error'));
|
|
29
|
-
|
|
30
|
-
return async () => {
|
|
31
|
-
throw new EnvironmentMismatchError(
|
|
32
|
-
spaceTrim(
|
|
33
|
-
(block) => `
|
|
34
|
-
\`send_email\` tool is not available in this environment.
|
|
35
|
-
This commitment requires Agents Server runtime with wallet-backed SMTP sending.
|
|
36
|
-
|
|
37
|
-
${normalizedError.name}:
|
|
38
|
-
${block(normalizedError.message)}
|
|
39
|
-
`,
|
|
40
|
-
),
|
|
41
|
-
);
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client-side safe wrapper for sending emails.
|
|
3
|
-
*
|
|
4
|
-
* This function proxies requests to the Agents Server API endpoint for email queuing,
|
|
5
|
-
* making it safe to use in browser environments.
|
|
6
|
-
*
|
|
7
|
-
* @param args Email payload forwarded to the server-side `send_email` tool
|
|
8
|
-
* @param agentsServerUrl The base URL of the agents server (defaults to current origin)
|
|
9
|
-
* @returns Result string from the server-side send_email tool
|
|
10
|
-
*
|
|
11
|
-
* @private internal utility for USE EMAIL commitment
|
|
12
|
-
*/
|
|
13
|
-
export async function sendEmailViaBrowser(args: Record<string, unknown>, agentsServerUrl?: string): Promise<string> {
|
|
14
|
-
try {
|
|
15
|
-
const baseUrl = agentsServerUrl || (typeof window !== 'undefined' ? window.location.origin : '');
|
|
16
|
-
|
|
17
|
-
if (!baseUrl) {
|
|
18
|
-
throw new Error('Agents server URL is required in non-browser environments');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const apiUrl = new URL('/api/send-email', baseUrl);
|
|
22
|
-
|
|
23
|
-
const response = await fetch(apiUrl.toString(), {
|
|
24
|
-
method: 'POST',
|
|
25
|
-
headers: {
|
|
26
|
-
'Content-Type': 'application/json',
|
|
27
|
-
},
|
|
28
|
-
body: JSON.stringify(args),
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
if (!response.ok) {
|
|
32
|
-
const errorData = await response.json().catch(() => ({ error: 'Unknown error' }));
|
|
33
|
-
throw new Error(`Failed to send email: ${errorData.error || response.statusText}`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const data = await response.json();
|
|
37
|
-
|
|
38
|
-
if (!data.success) {
|
|
39
|
-
throw new Error(`Email sending failed: ${data.error || 'Unknown error'}`);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return typeof data.result === 'string' ? data.result : JSON.stringify(data.result);
|
|
43
|
-
} catch (error) {
|
|
44
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
45
|
-
throw new Error(`Error sending email via browser: ${errorMessage}`);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
TODO: [🔰] USE SEARCH is working only in demo mode only. Need to implement full functionality via MCP server and Search engines
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { spaceTrim } from 'spacetrim';
|
|
2
|
-
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
3
|
-
import type { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
4
|
-
import type { string_javascript_name } from '../../types/string_person_fullname';
|
|
5
|
-
import type { TODO_any } from '../../utils/organization/TODO_any';
|
|
6
|
-
import { appendAggregatedUseCommitmentPlaceholder } from '../USE/aggregateUseCommitmentSystemMessages';
|
|
7
|
-
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
8
|
-
import { createSerpSearchToolFunction } from '../_common/createSerpSearchToolFunction';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* USE SEARCH ENGINE commitment definition
|
|
12
|
-
*
|
|
13
|
-
* The `USE SEARCH ENGINE` commitment indicates that the agent should utilize a search engine tool
|
|
14
|
-
* to access and retrieve up-to-date information from the internet when necessary.
|
|
15
|
-
*
|
|
16
|
-
* The content following `USE SEARCH ENGINE` is an arbitrary text that the agent should know (e.g. search scope or instructions).
|
|
17
|
-
*
|
|
18
|
-
* Example usage in agent source:
|
|
19
|
-
*
|
|
20
|
-
* ```book
|
|
21
|
-
* USE SEARCH ENGINE
|
|
22
|
-
* USE SEARCH ENGINE Hledej informace o Přemyslovcích
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @private [🪔] Maybe export the commitments through some package
|
|
26
|
-
*/
|
|
27
|
-
export class UseSearchEngineCommitmentDefinition extends BaseCommitmentDefinition<'USE SEARCH ENGINE'> {
|
|
28
|
-
public constructor() {
|
|
29
|
-
super('USE SEARCH ENGINE', ['USE SEARCH']);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
override get requiresContent(): boolean {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Short one-line description of USE SEARCH ENGINE.
|
|
38
|
-
*/
|
|
39
|
-
get description(): string {
|
|
40
|
-
return 'Enable the agent to use a search engine tool for accessing internet information.';
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Icon for this commitment.
|
|
45
|
-
*/
|
|
46
|
-
get icon(): string {
|
|
47
|
-
return '🔍';
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Markdown documentation for USE SEARCH ENGINE commitment.
|
|
52
|
-
*/
|
|
53
|
-
get documentation(): string {
|
|
54
|
-
return spaceTrim(`
|
|
55
|
-
# USE SEARCH ENGINE
|
|
56
|
-
|
|
57
|
-
Enables the agent to use a search engine tool to access and retrieve up-to-date information from the internet.
|
|
58
|
-
|
|
59
|
-
## Key aspects
|
|
60
|
-
|
|
61
|
-
- The content following \`USE SEARCH ENGINE\` is an arbitrary text that the agent should know (e.g. search scope or instructions).
|
|
62
|
-
- The actual search engine tool usage is handled by the agent runtime
|
|
63
|
-
- Allows the agent to search for current information from the web
|
|
64
|
-
- Useful for research tasks, finding facts, and accessing dynamic content
|
|
65
|
-
|
|
66
|
-
## Examples
|
|
67
|
-
|
|
68
|
-
\`\`\`book
|
|
69
|
-
Research Assistant
|
|
70
|
-
|
|
71
|
-
PERSONA You are a helpful research assistant specialized in finding current information
|
|
72
|
-
USE SEARCH ENGINE
|
|
73
|
-
RULE Always cite your sources when providing information from the web
|
|
74
|
-
\`\`\`
|
|
75
|
-
|
|
76
|
-
\`\`\`book
|
|
77
|
-
Fact Checker
|
|
78
|
-
|
|
79
|
-
PERSONA You are a fact checker
|
|
80
|
-
USE SEARCH ENGINE
|
|
81
|
-
ACTION Search for claims and verify them against reliable sources
|
|
82
|
-
\`\`\`
|
|
83
|
-
`);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements {
|
|
87
|
-
// Get existing tools array or create new one
|
|
88
|
-
const existingTools = requirements.tools || [];
|
|
89
|
-
|
|
90
|
-
// Add 'web_search' to tools if not already present
|
|
91
|
-
const updatedTools = existingTools.some((tool) => tool.name === 'web_search')
|
|
92
|
-
? existingTools
|
|
93
|
-
: [
|
|
94
|
-
...existingTools,
|
|
95
|
-
{
|
|
96
|
-
name: 'web_search',
|
|
97
|
-
description: spaceTrim(`
|
|
98
|
-
Search the internet for information.
|
|
99
|
-
Use this tool when you need to find up-to-date information or facts that you don't know.
|
|
100
|
-
`),
|
|
101
|
-
parameters: {
|
|
102
|
-
type: 'object',
|
|
103
|
-
properties: {
|
|
104
|
-
query: {
|
|
105
|
-
type: 'string',
|
|
106
|
-
description: 'The search query',
|
|
107
|
-
},
|
|
108
|
-
location: {
|
|
109
|
-
type: 'string',
|
|
110
|
-
description:
|
|
111
|
-
'The location for the search (e.g., "Austin, Texas, United States" or "Prague, Czechia")',
|
|
112
|
-
},
|
|
113
|
-
gl: {
|
|
114
|
-
type: 'string',
|
|
115
|
-
description: 'The country code (e.g., "us" for United States, "cz" for Czechia)',
|
|
116
|
-
},
|
|
117
|
-
hl: {
|
|
118
|
-
type: 'string',
|
|
119
|
-
description: 'The language code (e.g., "en" for English, "cs" for Czech)',
|
|
120
|
-
},
|
|
121
|
-
num: {
|
|
122
|
-
type: 'integer',
|
|
123
|
-
description: 'Number of results to return',
|
|
124
|
-
},
|
|
125
|
-
engine: {
|
|
126
|
-
type: 'string',
|
|
127
|
-
description: 'The search engine to use (e.g., "google", "bing", "yahoo", "baidu")',
|
|
128
|
-
},
|
|
129
|
-
google_domain: {
|
|
130
|
-
type: 'string',
|
|
131
|
-
description: 'The Google domain to use (e.g., "google.com", "google.cz")',
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
required: ['query'],
|
|
135
|
-
},
|
|
136
|
-
} as TODO_any,
|
|
137
|
-
];
|
|
138
|
-
|
|
139
|
-
return appendAggregatedUseCommitmentPlaceholder(
|
|
140
|
-
{
|
|
141
|
-
...requirements,
|
|
142
|
-
tools: updatedTools,
|
|
143
|
-
_metadata: {
|
|
144
|
-
...requirements._metadata,
|
|
145
|
-
useSearchEngine: content || true,
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
this.type,
|
|
149
|
-
);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Gets human-readable titles for tool functions provided by this commitment.
|
|
154
|
-
*/
|
|
155
|
-
getToolTitles(): Record<string_javascript_name, string> {
|
|
156
|
-
return {
|
|
157
|
-
web_search: 'Web search',
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Gets the `web_search` tool function implementation.
|
|
163
|
-
*/
|
|
164
|
-
getToolFunctions(): Record<string_javascript_name, ToolFunction> {
|
|
165
|
-
return {
|
|
166
|
-
web_search: createSerpSearchToolFunction('web_search', 'Search'),
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// Note: [💞] Ignore a discrepancy between file name and entity name
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { spaceTrim } from 'spacetrim';
|
|
2
|
-
import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
|
|
3
|
-
import {
|
|
4
|
-
createCreateAgentInputToolParametersSchema,
|
|
5
|
-
CREATE_AGENT_INPUT_SOURCE_MAX_LENGTH,
|
|
6
|
-
} from '../../collection/agent-collection/CreateAgentInput';
|
|
7
|
-
import type { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
|
|
8
|
-
import type { LlmToolDefinition } from '../../types/LlmToolDefinition';
|
|
9
|
-
import type { string_javascript_name } from '../../types/string_person_fullname';
|
|
10
|
-
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
|
|
11
|
-
import { formatOptionalInstructionBlock } from '../_base/formatOptionalInstructionBlock';
|
|
12
|
-
import { spawnAgentViaBrowser } from './spawnAgentViaBrowser';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Tool name used by USE SPAWN.
|
|
16
|
-
*
|
|
17
|
-
* @private internal USE SPAWN constant
|
|
18
|
-
*/
|
|
19
|
-
const SPAWN_AGENT_TOOL_NAME = 'spawn_agent' as string_javascript_name;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* USE SPAWN commitment definition.
|
|
23
|
-
*
|
|
24
|
-
* The `USE SPAWN` commitment enables creating new persistent child agents through one tool call.
|
|
25
|
-
*
|
|
26
|
-
* @private [🪔] Maybe export the commitments through some package
|
|
27
|
-
*/
|
|
28
|
-
export class UseSpawnCommitmentDefinition extends BaseCommitmentDefinition<'USE SPAWN'> {
|
|
29
|
-
public constructor() {
|
|
30
|
-
super('USE SPAWN', ['SPAWN']);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
override get requiresContent(): boolean {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Short one-line description of USE SPAWN.
|
|
39
|
-
*/
|
|
40
|
-
public get description(): string {
|
|
41
|
-
return 'Enable the agent to create persistent child agents via Agents Server create-agent flow.';
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Icon for this commitment.
|
|
46
|
-
*/
|
|
47
|
-
get icon(): string {
|
|
48
|
-
return '🧬';
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Markdown documentation for USE SPAWN commitment.
|
|
53
|
-
*/
|
|
54
|
-
get documentation(): string {
|
|
55
|
-
return spaceTrim(`
|
|
56
|
-
# USE SPAWN
|
|
57
|
-
|
|
58
|
-
Enables the agent to create a new persistent child agent using the \`spawn_agent\` tool.
|
|
59
|
-
|
|
60
|
-
## Key aspects
|
|
61
|
-
|
|
62
|
-
- The spawned agent is persisted exactly like manually created agents.
|
|
63
|
-
- Tool input mirrors create-agent fields currently supported by Agents Server:
|
|
64
|
-
- \`source\` (required)
|
|
65
|
-
- \`folderId\` (optional)
|
|
66
|
-
- \`sortOrder\` (optional)
|
|
67
|
-
- \`visibility\` (optional)
|
|
68
|
-
- Unknown fields are rejected to avoid silent misconfiguration.
|
|
69
|
-
- \`source\` payload is size-limited.
|
|
70
|
-
- Agents Server applies permission and abuse protections (auth checks, limits).
|
|
71
|
-
- Optional text after \`USE SPAWN\` is treated as spawn-policy instructions.
|
|
72
|
-
|
|
73
|
-
## Examples
|
|
74
|
-
|
|
75
|
-
\`\`\`book
|
|
76
|
-
Team Builder
|
|
77
|
-
|
|
78
|
-
PERSONA You can create specialized assistants for the user.
|
|
79
|
-
USE SPAWN Spawn only when the user explicitly asks for a new persistent agent.
|
|
80
|
-
\`\`\`
|
|
81
|
-
`);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements {
|
|
85
|
-
const extraInstructions = formatOptionalInstructionBlock('Spawn instructions', content);
|
|
86
|
-
const existingTools = requirements.tools || [];
|
|
87
|
-
const tools: ReadonlyArray<LlmToolDefinition> = existingTools.some(
|
|
88
|
-
(tool) => tool.name === SPAWN_AGENT_TOOL_NAME,
|
|
89
|
-
)
|
|
90
|
-
? existingTools
|
|
91
|
-
: [
|
|
92
|
-
...existingTools,
|
|
93
|
-
{
|
|
94
|
-
name: SPAWN_AGENT_TOOL_NAME,
|
|
95
|
-
description: spaceTrim(`
|
|
96
|
-
Creates one new persistent child agent in Agents Server.
|
|
97
|
-
Use this when the user asks to create a new dedicated agent profile.
|
|
98
|
-
The tool returns JSON with \`status\`, \`agentId\`, and created \`agent\` or \`error\`.
|
|
99
|
-
`),
|
|
100
|
-
parameters: createCreateAgentInputToolParametersSchema(),
|
|
101
|
-
},
|
|
102
|
-
];
|
|
103
|
-
|
|
104
|
-
return this.appendToSystemMessage(
|
|
105
|
-
{
|
|
106
|
-
...requirements,
|
|
107
|
-
tools,
|
|
108
|
-
_metadata: {
|
|
109
|
-
...requirements._metadata,
|
|
110
|
-
useSpawn: content || true,
|
|
111
|
-
},
|
|
112
|
-
},
|
|
113
|
-
spaceTrim(
|
|
114
|
-
(block) => `
|
|
115
|
-
## Spawning agents
|
|
116
|
-
|
|
117
|
-
- Use \`${SPAWN_AGENT_TOOL_NAME}\` only when user asks to create a persistent new agent.
|
|
118
|
-
- Pass full agent source in \`source\`.
|
|
119
|
-
- Keep \`source\` concise; the maximum accepted length is ${CREATE_AGENT_INPUT_SOURCE_MAX_LENGTH} characters.
|
|
120
|
-
- Do not add unknown fields in tool arguments.
|
|
121
|
-
${block(extraInstructions)}
|
|
122
|
-
`,
|
|
123
|
-
),
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Gets human-readable titles for tool functions provided by this commitment.
|
|
129
|
-
*/
|
|
130
|
-
getToolTitles(): Record<string_javascript_name, string> {
|
|
131
|
-
return {
|
|
132
|
-
[SPAWN_AGENT_TOOL_NAME]: 'Spawn agent',
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Gets browser-safe `spawn_agent` implementation.
|
|
138
|
-
*
|
|
139
|
-
* Node.js runtime overrides this through `getAllCommitmentsToolFunctionsForNode`.
|
|
140
|
-
*/
|
|
141
|
-
getToolFunctions(): Record<string_javascript_name, ToolFunction> {
|
|
142
|
-
return {
|
|
143
|
-
async [SPAWN_AGENT_TOOL_NAME](args: unknown): Promise<string> {
|
|
144
|
-
return spawnAgentViaBrowser(args as Record<string, unknown>);
|
|
145
|
-
},
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Note: [💞] Ignore a discrepancy between file name and entity name
|