@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.
Files changed (360) hide show
  1. package/README.md +1 -9
  2. package/apps/agents-server/{USE_TIMEOUT_CHIP_QA.md → TIMEOUT_CHIP_QA.md} +1 -1
  3. package/apps/agents-server/next.config.ts +11 -0
  4. package/apps/agents-server/src/app/agents/[agentName]/api/chat/resolveAgentChatRouteContext.ts +5 -12
  5. package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +4 -9
  6. package/apps/agents-server/src/app/api/scrape/route.ts +1 -1
  7. package/apps/agents-server/src/app/layout.tsx +31 -0
  8. package/apps/agents-server/src/app/system/user-wallet/UserWalletDraft.ts +2 -2
  9. package/apps/agents-server/src/components/AgentProfile/AgentCapabilityChips.tsx +1 -24
  10. package/apps/agents-server/src/components/Header/Header.tsx +8 -0
  11. package/apps/agents-server/src/components/Header/HeaderTypes.ts +5 -0
  12. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +118 -30
  13. package/apps/agents-server/src/components/Header/resolveHeaderSystemActivities.ts +86 -0
  14. package/apps/agents-server/src/components/Homepage/AgentCard.tsx +0 -3
  15. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +8 -0
  16. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardState.ts +0 -12
  17. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardUseSetupStep.tsx +0 -58
  18. package/apps/agents-server/src/components/NewAgentDialog/newAgentWizardPresets.ts +0 -56
  19. package/apps/agents-server/src/components/WalletRecordDialog/useWalletRecordDialogState.ts +1 -1
  20. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +0 -10
  21. package/apps/agents-server/src/languages/translations/czech.yaml +0 -10
  22. package/apps/agents-server/src/languages/translations/english.yaml +0 -10
  23. package/apps/agents-server/src/message-providers/email/smtp/SmtpMessageProvider.ts +1 -1
  24. package/apps/agents-server/src/tools/$provideOpenAiAgentKitExecutionToolsForServer.ts +0 -191
  25. package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +0 -3
  26. package/apps/agents-server/src/tools/run_browser.ts +1 -1
  27. package/apps/agents-server/src/tools/send_email.ts +3 -3
  28. package/apps/agents-server/src/utils/handleChatCompletion/createHandleChatCompletionPromptContext.ts +0 -1
  29. package/apps/agents-server/src/utils/handleChatCompletion/resolveHandleChatCompletionRuntime.ts +4 -12
  30. package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentBooks.ts +0 -1
  31. package/apps/agents-server/src/utils/messages/parseUseEmailSmtpCredential.ts +1 -1
  32. package/apps/agents-server/src/utils/resolveUseEmailSmtpCredential.ts +1 -1
  33. package/apps/agents-server/src/utils/useEmailSmtpWalletConstants.ts +5 -5
  34. package/apps/agents-server/src/utils/userChat/createRunUserChatJobExecutionContext.ts +5 -12
  35. package/apps/agents-server/src/utils/userWallet/UserWalletRecord.ts +1 -1
  36. package/apps/agents-server/src/utils/userWallet/resolveUseEmailSmtpCredentialFromWallet.ts +1 -1
  37. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +2 -1
  38. package/apps/agents-server/src/utils/vpsSelfUpdate/isVpsSelfUpdateJobRunning.ts +16 -0
  39. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +2 -1
  40. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +1 -0
  41. package/esm/index.es.js +1974 -5149
  42. package/esm/index.es.js.map +1 -1
  43. package/esm/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
  44. package/esm/scripts/run-codex-prompts/git/coderGitSync.d.ts +43 -0
  45. package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -0
  46. package/esm/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  47. package/esm/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  48. package/esm/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  49. package/esm/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  50. package/esm/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  51. package/esm/scripts/verify-prompts/verify-prompts.d.ts +5 -0
  52. package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  53. package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  54. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  55. package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  56. package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +3 -2
  57. package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
  58. package/esm/src/cli/cli-commands/coder.d.ts +1 -1
  59. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  60. package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
  61. package/esm/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  62. package/esm/src/commitments/META_ID/META_ID.d.ts +32 -0
  63. package/esm/src/commitments/index.d.ts +4 -12
  64. package/esm/src/llm-providers/agent/Agent.d.ts +1 -1
  65. package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  66. package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  67. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  68. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  69. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  70. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  71. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  72. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  73. package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  74. package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  75. package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  76. package/esm/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  77. package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  78. package/esm/src/version.d.ts +1 -1
  79. package/package.json +1 -1
  80. package/src/_packages/components.readme.md +1 -1
  81. package/src/book-2.0/agent-source/AgentBasicInformation.ts +3 -9
  82. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/filterCommitmentsForAgentModelRequirements.ts +0 -23
  83. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.ts +0 -2
  84. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +16 -31
  85. package/src/book-2.0/agent-source/parseAgentSource/createCapabilitiesFromCommitment.ts +0 -35
  86. package/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.ts +0 -25
  87. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +2 -10
  88. package/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.ts +7 -32
  89. package/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.ts +6 -31
  90. package/src/book-3.0/LiteAgent.ts +11 -9
  91. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  92. package/src/book-components/Chat/utils/$provideServerDomWindow.ts +77 -0
  93. package/src/book-components/Chat/utils/renderMarkdown.ts +2 -23
  94. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +14 -0
  95. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +1 -0
  96. package/src/cli/cli-commands/coder/add.ts +40 -12
  97. package/src/cli/cli-commands/coder/boilerplateCount.ts +139 -0
  98. package/src/cli/cli-commands/coder/generate-boilerplates.ts +82 -48
  99. package/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.ts +3 -1
  100. package/src/cli/cli-commands/coder/init.ts +29 -2
  101. package/src/cli/cli-commands/coder/ping.ts +23 -45
  102. package/src/cli/cli-commands/coder/verify.ts +27 -12
  103. package/src/cli/cli-commands/coder.ts +3 -3
  104. package/src/cli/cli-commands/common/coderGitSyncCliOptions.ts +78 -0
  105. package/src/cli/cli-commands/run/prepareRunCommandResources.ts +2 -1
  106. package/src/cli/cli-commands/run/resolveRunInputParameters.ts +2 -1
  107. package/src/cli/cli-commands/runInteractiveChatbot.ts +2 -1
  108. package/src/cli/common/$provideLlmToolsForCli.ts +2 -1
  109. package/src/cli/common/loadPromptsModule.ts +13 -0
  110. package/src/commitments/ACTION/ACTION.ts +3 -3
  111. package/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.ts +1 -1
  112. package/src/commitments/META_FULLNAME/META_FULLNAME.ts +70 -0
  113. package/src/commitments/META_ID/META_ID.ts +78 -0
  114. package/src/commitments/_common/getAllCommitmentsToolFunctionsForNode.ts +1 -49
  115. package/src/commitments/index.ts +6 -24
  116. package/src/conversion/archive/loadArchive.ts +2 -1
  117. package/src/conversion/archive/loadJsZipModule.ts +10 -0
  118. package/src/conversion/archive/saveArchive.ts +2 -1
  119. package/src/llm-providers/agent/Agent.ts +1 -1
  120. package/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.ts +13 -1
  121. package/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.ts +13 -1
  122. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +6 -2
  123. package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +9 -7
  124. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  125. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +1 -1
  126. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  127. package/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.ts +1 -1
  128. package/src/llm-providers/openai/OpenAiCompatibleRequestManager.ts +12 -1
  129. package/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.ts +1 -1
  130. package/src/llm-providers/openai/utils/loadOpenAiAgentsModule.ts +11 -0
  131. package/src/llm-providers/openai/utils/uploadFilesToOpenAi.ts +1 -1
  132. package/src/other/templates/getTemplatesPipelineCollection.ts +715 -823
  133. package/src/remote-server/createRemoteClient.ts +12 -1
  134. package/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.ts +8 -9
  135. package/src/scrapers/website/WebsiteScraper.ts +22 -2
  136. package/src/utils/misc/createLazyModuleLoader.ts +27 -0
  137. package/src/version.ts +2 -2
  138. package/src/versions.txt +2 -0
  139. package/umd/index.umd.js +2047 -5216
  140. package/umd/index.umd.js.map +1 -1
  141. package/umd/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
  142. package/umd/scripts/run-codex-prompts/git/coderGitSync.d.ts +43 -0
  143. package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +3 -0
  144. package/umd/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  145. package/umd/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  146. package/umd/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  147. package/umd/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  148. package/umd/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  149. package/umd/scripts/verify-prompts/verify-prompts.d.ts +5 -0
  150. package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  151. package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  152. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  153. package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  154. package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +3 -2
  155. package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
  156. package/umd/src/cli/cli-commands/coder.d.ts +1 -1
  157. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  158. package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
  159. package/umd/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  160. package/umd/src/commitments/META_ID/META_ID.d.ts +32 -0
  161. package/umd/src/commitments/index.d.ts +4 -12
  162. package/umd/src/llm-providers/agent/Agent.d.ts +1 -1
  163. package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  164. package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  165. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  166. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  167. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  168. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  169. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  170. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  171. package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  172. package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  173. package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  174. package/umd/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  175. package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  176. package/umd/src/version.d.ts +1 -1
  177. package/apps/agents-server/src/tools/configureTimeoutToolRuntimeAdapterForServer.ts +0 -381
  178. package/apps/agents-server/src/utils/emails/extractUseEmailConfigurationFromAgentSource.ts +0 -42
  179. package/esm/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
  180. package/esm/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  181. package/esm/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  182. package/esm/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  183. package/esm/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  184. package/esm/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  185. package/esm/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  186. package/esm/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  187. package/esm/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  188. package/esm/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  189. package/esm/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  190. package/esm/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  191. package/esm/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  192. package/esm/src/commitments/META/META.d.ts +0 -65
  193. package/esm/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  194. package/esm/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  195. package/esm/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  196. package/esm/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  197. package/esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  198. package/esm/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  199. package/esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  200. package/esm/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  201. package/esm/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  202. package/esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  203. package/esm/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  204. package/esm/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts +0 -1
  205. package/esm/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  206. package/esm/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  207. package/esm/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  208. package/esm/src/commitments/USE_TIME/USE_TIME.test.d.ts +0 -1
  209. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  210. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  211. package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  212. package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts +0 -1
  213. package/esm/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  214. package/esm/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  215. package/esm/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  216. package/esm/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  217. package/esm/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  218. package/esm/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  219. package/esm/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  220. package/esm/src/commitments/WALLET/WALLET.d.ts +0 -21
  221. package/esm/src/commitments/WALLET/WALLET.test.d.ts +0 -1
  222. package/esm/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  223. package/esm/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  224. package/esm/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  225. package/esm/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  226. package/esm/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  227. package/esm/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  228. package/esm/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  229. package/esm/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  230. package/esm/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  231. package/esm/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  232. package/esm/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  233. package/esm/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  234. package/src/commitments/COMPONENT/COMPONENT.ts +0 -70
  235. package/src/commitments/MEMORY/MEMORY.ts +0 -94
  236. package/src/commitments/MEMORY/MemoryToolNames.ts +0 -13
  237. package/src/commitments/MEMORY/MemoryToolRuntimeAdapter.ts +0 -180
  238. package/src/commitments/MEMORY/createMemorySystemMessage.ts +0 -27
  239. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +0 -134
  240. package/src/commitments/MEMORY/createMemoryTools.ts +0 -115
  241. package/src/commitments/MEMORY/getMemoryCommitmentDocumentation.ts +0 -47
  242. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +0 -104
  243. package/src/commitments/MEMORY/getMemoryToolTitles.ts +0 -16
  244. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +0 -126
  245. package/src/commitments/MEMORY/resolveMemoryRuntimeContext.ts +0 -23
  246. package/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.ts +0 -26
  247. package/src/commitments/META/META.ts +0 -168
  248. package/src/commitments/USE/TODO.txt +0 -1
  249. package/src/commitments/USE/aggregateUseCommitmentSystemMessages.ts +0 -219
  250. package/src/commitments/USE_BROWSER/TODO.txt +0 -1
  251. package/src/commitments/USE_BROWSER/USE_BROWSER.ts +0 -257
  252. package/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.ts +0 -45
  253. package/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.ts +0 -83
  254. package/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.ts +0 -146
  255. package/src/commitments/USE_EMAIL/USE_EMAIL.ts +0 -201
  256. package/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.ts +0 -75
  257. package/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.ts +0 -44
  258. package/src/commitments/USE_EMAIL/sendEmailViaBrowser.ts +0 -47
  259. package/src/commitments/USE_SEARCH_ENGINE/TODO.txt +0 -1
  260. package/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.ts +0 -171
  261. package/src/commitments/USE_SPAWN/USE_SPAWN.ts +0 -150
  262. package/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.ts +0 -42
  263. package/src/commitments/USE_SPAWN/spawnAgentViaBrowser.ts +0 -50
  264. package/src/commitments/USE_TIME/USE_TIME.ts +0 -177
  265. package/src/commitments/USE_TIMEOUT/TimeoutToolNames.ts +0 -13
  266. package/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.ts +0 -255
  267. package/src/commitments/USE_TIMEOUT/USE_TIMEOUT.ts +0 -117
  268. package/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.ts +0 -22
  269. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +0 -361
  270. package/src/commitments/USE_TIMEOUT/createTimeoutTools.ts +0 -127
  271. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +0 -67
  272. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +0 -460
  273. package/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.ts +0 -36
  274. package/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.ts +0 -26
  275. package/src/commitments/WALLET/WALLET.ts +0 -71
  276. package/src/commitments/WALLET/WalletToolNames.ts +0 -14
  277. package/src/commitments/WALLET/WalletToolRuntimeAdapter.ts +0 -180
  278. package/src/commitments/WALLET/createWalletSystemMessage.ts +0 -22
  279. package/src/commitments/WALLET/createWalletToolFunctions.ts +0 -145
  280. package/src/commitments/WALLET/createWalletTools.ts +0 -129
  281. package/src/commitments/WALLET/getWalletCommitmentDocumentation.ts +0 -14
  282. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +0 -64
  283. package/src/commitments/WALLET/getWalletToolTitles.ts +0 -17
  284. package/src/commitments/WALLET/parseWalletToolArgs.ts +0 -231
  285. package/src/commitments/WALLET/resolveWalletRuntimeContext.ts +0 -23
  286. package/src/commitments/WALLET/setWalletToolRuntimeAdapter.ts +0 -26
  287. package/src/commitments/_common/createSerpSearchToolFunction.ts +0 -46
  288. package/umd/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
  289. package/umd/src/book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts +0 -1
  290. package/umd/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  291. package/umd/src/commitments/MEMORY/MEMORY.test.d.ts +0 -1
  292. package/umd/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  293. package/umd/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  294. package/umd/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  295. package/umd/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  296. package/umd/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  297. package/umd/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  298. package/umd/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  299. package/umd/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  300. package/umd/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  301. package/umd/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  302. package/umd/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  303. package/umd/src/commitments/META/META.d.ts +0 -65
  304. package/umd/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  305. package/umd/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  306. package/umd/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts +0 -1
  307. package/umd/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  308. package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  309. package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts +0 -1
  310. package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  311. package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts +0 -1
  312. package/umd/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  313. package/umd/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts +0 -1
  314. package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  315. package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts +0 -1
  316. package/umd/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  317. package/umd/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  318. package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  319. package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts +0 -1
  320. package/umd/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  321. package/umd/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts +0 -1
  322. package/umd/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  323. package/umd/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  324. package/umd/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  325. package/umd/src/commitments/USE_TIME/USE_TIME.test.d.ts +0 -1
  326. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  327. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  328. package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  329. package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts +0 -1
  330. package/umd/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  331. package/umd/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  332. package/umd/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  333. package/umd/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  334. package/umd/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  335. package/umd/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  336. package/umd/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  337. package/umd/src/commitments/WALLET/WALLET.d.ts +0 -21
  338. package/umd/src/commitments/WALLET/WALLET.test.d.ts +0 -1
  339. package/umd/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  340. package/umd/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  341. package/umd/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  342. package/umd/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  343. package/umd/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  344. package/umd/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  345. package/umd/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  346. package/umd/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  347. package/umd/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  348. package/umd/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  349. package/umd/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  350. package/umd/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  351. /package/esm/src/book-2.0/agent-source/{createAgentModelRequirements.useCommitmentAggregation.test.d.ts → createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  352. /package/esm/src/{commitments/MEMORY/MEMORY.test.d.ts → cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
  353. /package/esm/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  354. /package/esm/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
  355. /package/esm/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
  356. /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
  357. /package/{esm/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts → umd/src/cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
  358. /package/{esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → umd/src/cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  359. /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
  360. /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