@promptbook/cli 0.114.0-0 → 0.114.0-10

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 (750) hide show
  1. package/README.md +20 -27
  2. package/agents/default/developer.book +1 -0
  3. package/apps/agents-server/README.md +1 -1
  4. package/apps/agents-server/{USE_TIMEOUT_CHIP_QA.md → TIMEOUT_CHIP_QA.md} +1 -1
  5. package/apps/agents-server/next.config.ts +33 -0
  6. package/apps/agents-server/package.json +11 -9
  7. package/apps/agents-server/playwright.config.ts +28 -38
  8. package/apps/agents-server/scripts/build-agents-server.js +98 -0
  9. package/apps/agents-server/scripts/build-e2e.js +48 -0
  10. package/apps/agents-server/scripts/ensure-root-dependencies.js +86 -0
  11. package/apps/agents-server/scripts/generate-reserved-paths/generate-reserved-paths.ts +30 -16
  12. package/apps/agents-server/scripts/kill-port.js +163 -0
  13. package/apps/agents-server/scripts/prerender-homepage.js +1 -1
  14. package/apps/agents-server/scripts/run-e2e-tests.js +47 -0
  15. package/apps/agents-server/scripts/run-npm.js +118 -0
  16. package/apps/agents-server/src/app/admin/email-server/page.tsx +17 -10
  17. package/apps/agents-server/src/app/admin/messages/MessageParticipants.tsx +84 -0
  18. package/apps/agents-server/src/app/admin/messages/MessageStatus.tsx +96 -0
  19. package/apps/agents-server/src/app/admin/messages/MessagesClient.tsx +21 -32
  20. package/apps/agents-server/src/app/admin/messages/messageAdminPresentation.ts +289 -0
  21. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +2 -0
  22. package/apps/agents-server/src/app/admin/task-manager/[taskId]/TaskManagerTaskDetailClient.tsx +2 -0
  23. package/apps/agents-server/src/app/admin/task-manager/taskManagerTaskPresentation.tsx +23 -0
  24. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +5 -9
  25. package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +5 -9
  26. package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +8 -0
  27. package/apps/agents-server/src/app/agents/[agentName]/api/chat/resolveAgentChatRouteContext.ts +8 -16
  28. package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/[timeoutId]/route.ts +10 -153
  29. package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/route.ts +9 -4
  30. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/route.ts +3 -0
  31. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/stream/route.ts +2 -0
  32. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/resolveUserChatScope.ts +8 -1
  33. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/route.ts +15 -7
  34. package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +4 -9
  35. package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorSaving.ts +18 -28
  36. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatHistoryClient.tsx +19 -1
  37. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatSidebarDefault.tsx +17 -5
  38. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentGoalChatNotice.tsx +23 -0
  39. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentGoalChatPlannedMessages.tsx +168 -0
  40. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatPanel.tsx +6 -0
  41. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +18 -9
  42. package/apps/agents-server/src/app/agents/[agentName]/chat/ExternalUserChatAdminActions.tsx +51 -3
  43. package/apps/agents-server/src/app/agents/[agentName]/chat/TeamMemberFrozenChatPrimaryAgentLink.tsx +31 -0
  44. package/apps/agents-server/src/app/agents/[agentName]/chat/useAgentChatSidebarState.ts +26 -2
  45. package/apps/agents-server/src/app/agents/[agentName]/goal/page.tsx +35 -0
  46. package/apps/agents-server/src/app/agents/[agentName]/projectRuntimeActions.ts +97 -0
  47. package/apps/agents-server/src/app/agents/[agentName]/projects/[projectName]/actions.ts +5 -50
  48. package/apps/agents-server/src/app/agents/[agentName]/projects/[projectName]/page.tsx +2 -2
  49. package/apps/agents-server/src/app/api/admin/dns-records/cloudflare/route.ts +26 -16
  50. package/apps/agents-server/src/app/api/elevenlabs/tts/route.ts +3 -3
  51. package/apps/agents-server/src/app/api/emails/incoming/stalwart/route.ts +9 -2
  52. package/apps/agents-server/src/app/api/internal/agent-goal-chat-planned-messages/route.ts +146 -0
  53. package/apps/agents-server/src/app/api/onboarding/book/route.ts +7 -6
  54. package/apps/agents-server/src/app/api/scrape/route.ts +1 -1
  55. package/apps/agents-server/src/app/layout.tsx +31 -0
  56. package/apps/agents-server/src/app/superadmin/servers/ServersRegistryTable.tsx +124 -129
  57. package/apps/agents-server/src/app/superadmin/servers/useServersRegistryState.ts +15 -7
  58. package/apps/agents-server/src/app/system/user-wallet/UserWalletDraft.ts +2 -2
  59. package/apps/agents-server/src/components/AgentNaming/legacyAgentTextTranslations.cs.yaml +7 -0
  60. package/apps/agents-server/src/components/AgentProfile/AgentCapabilityChips.tsx +1 -24
  61. package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +10 -3
  62. package/apps/agents-server/src/components/AgentProjects/AgentProjectIcon.tsx +137 -0
  63. package/apps/agents-server/src/components/AgentProjects/AgentProjectItem.tsx +26 -10
  64. package/apps/agents-server/src/components/AgentProjects/useAgentProjectMarkdownReferences.ts +184 -0
  65. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsApiTokenImportStep.tsx +5 -6
  66. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsCheckStep.tsx +6 -5
  67. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsManualStep.tsx +10 -14
  68. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsWizard.tsx +11 -20
  69. package/apps/agents-server/src/components/CloudflareDnsWizard/useCloudflareDnsRecordImport.ts +5 -6
  70. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsInstructions.tsx +91 -57
  71. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsSectionPanel.tsx +63 -0
  72. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsSectionVariantTabs.tsx +67 -0
  73. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsTable.tsx +40 -0
  74. package/apps/agents-server/src/components/Header/Header.tsx +8 -0
  75. package/apps/agents-server/src/components/Header/HeaderTypes.ts +5 -0
  76. package/apps/agents-server/src/components/Header/buildActiveAgentViewItems.ts +5 -4
  77. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +118 -30
  78. package/apps/agents-server/src/components/Header/createAgentViewLabel.tsx +4 -4
  79. package/apps/agents-server/src/components/Header/resolveActiveAgentNavigation.ts +2 -2
  80. package/apps/agents-server/src/components/Header/resolveHeaderSystemActivities.ts +86 -0
  81. package/apps/agents-server/src/components/Homepage/AgentCard.tsx +0 -3
  82. package/apps/agents-server/src/components/Homepage/useAgentsListImportExportState.ts +22 -10
  83. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +8 -0
  84. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/ManGoBookEditor.tsx +82 -0
  85. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/WizardShell.tsx +2 -2
  86. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/BookStep.tsx +13 -16
  87. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/steps/ZadaniStep.tsx +4 -4
  88. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/config/bookSections.ts +23 -16
  89. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/lib/bookSource.ts +54 -0
  90. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/bookService.ts +15 -8
  91. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/createManGoAgentSource.ts +3 -37
  92. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/createManGoOpenEditorRequest.ts +1 -1
  93. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/state/OnboardingProvider.tsx +2 -2
  94. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardState.ts +0 -12
  95. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardUseSetupStep.tsx +0 -58
  96. package/apps/agents-server/src/components/NewAgentDialog/newAgentWizardPresets.ts +0 -56
  97. package/apps/agents-server/src/components/UsersList/CreateUserDialog.tsx +13 -22
  98. package/apps/agents-server/src/components/UsersList/PasswordGeneratorDialog.tsx +216 -0
  99. package/apps/agents-server/src/components/UsersList/UsersList.tsx +16 -11
  100. package/apps/agents-server/src/components/UsersList/generateSecurePassword.ts +112 -24
  101. package/apps/agents-server/src/components/UsersList/userDialogClassNames.ts +11 -0
  102. package/apps/agents-server/src/components/WalletRecordDialog/useWalletRecordDialogState.ts +1 -1
  103. package/apps/agents-server/src/components/_utils/generateMetaTxt.ts +1 -1
  104. package/apps/agents-server/src/database/migratePrefix.ts +13 -12
  105. package/apps/agents-server/src/database/migrations/2026-08-0100-agent-goal-chat-source.sql +10 -0
  106. package/apps/agents-server/src/generated/reservedPaths.ts +42 -42
  107. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +20 -11
  108. package/apps/agents-server/src/languages/translations/czech.yaml +20 -11
  109. package/apps/agents-server/src/languages/translations/english.yaml +20 -11
  110. package/apps/agents-server/src/message-providers/email/smtp/SmtpMessageProvider.ts +1 -1
  111. package/apps/agents-server/src/message-providers/email/stalwart/StalwartMessageProvider.ts +57 -18
  112. package/apps/agents-server/src/message-providers/email/stalwart/parseInboundStalwartEmail.ts +17 -2
  113. package/apps/agents-server/src/tools/$provideOpenAiAgentKitExecutionToolsForServer.ts +0 -191
  114. package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +0 -3
  115. package/apps/agents-server/src/tools/agentGoalChatTimeoutToolFunctions.ts +180 -0
  116. package/apps/agents-server/src/tools/agentGoalChatTimeoutTools.ts +92 -0
  117. package/apps/agents-server/src/tools/createServerChatRuntimeTools.ts +20 -0
  118. package/apps/agents-server/src/tools/getAllToolFunctionsForServer.ts +2 -0
  119. package/apps/agents-server/src/tools/run_browser.ts +1 -1
  120. package/apps/agents-server/src/tools/send_email.ts +3 -3
  121. package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatConstants.ts +14 -0
  122. package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatIdentity.ts +28 -0
  123. package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatPlannedMessageActions.ts +307 -0
  124. package/apps/agents-server/src/utils/agentGoalChat/appendAgentGoalChatNote.ts +43 -0
  125. package/apps/agents-server/src/utils/agentGoalChat/canAccessAgentGoalChat.ts +14 -0
  126. package/apps/agents-server/src/utils/agentGoalChat/createAgentGoalChatNoteContent.ts +92 -0
  127. package/apps/agents-server/src/utils/agentGoalChat/enqueueAgentGoalChatTurn.ts +167 -0
  128. package/apps/agents-server/src/utils/agentGoalChat/ensureAgentGoalChat.ts +66 -0
  129. package/apps/agents-server/src/utils/agentGoalChat/prependAgentGoalChatSummarySeed.ts +40 -0
  130. package/apps/agents-server/src/utils/agentGoalChat/recordAgentGoalChatLifecycleNote.ts +53 -0
  131. package/apps/agents-server/src/utils/agentGoalChat/resolveAgentGoalChatOwnerUserId.ts +104 -0
  132. package/apps/agents-server/src/utils/agentGoalChat/resolveEffectiveAgentGoal.ts +29 -0
  133. package/apps/agents-server/src/utils/agentGoalChat/scheduleAgentGoalChatModifiedNote.ts +85 -0
  134. package/apps/agents-server/src/utils/agentGoalChat.ts +24 -0
  135. package/apps/agents-server/src/utils/agentProjects/AgentProjectInfo.ts +10 -1
  136. package/apps/agents-server/src/utils/agentProjects/AgentProjectReferenceInfo.ts +5 -2
  137. package/apps/agents-server/src/utils/agentProjects/AgentProjectRuntimeActionResult.ts +14 -0
  138. package/apps/agents-server/src/utils/agentProjects/agentProjectFileNames.ts +21 -0
  139. package/apps/agents-server/src/utils/agentProjects/agentProjectHrefs.ts +20 -0
  140. package/apps/agents-server/src/utils/agentProjects/agentProjectsPaths.ts +15 -5
  141. package/apps/agents-server/src/utils/agentProjects/createAgentProjectDnsRecords.ts +53 -7
  142. package/apps/agents-server/src/utils/agentProjects/createAgentProjectInitials.ts +36 -0
  143. package/apps/agents-server/src/utils/agentProjects/createAgentProjectMarkdownReferences.ts +143 -28
  144. package/apps/agents-server/src/utils/agentProjects/createAgentProjectsDnsRecordsSection.ts +113 -0
  145. package/apps/agents-server/src/utils/agentProjects/createStaticAgentProjectServer.ts +2 -6
  146. package/apps/agents-server/src/utils/agentProjects/humanizeAgentProjectName.ts +25 -0
  147. package/apps/agents-server/src/utils/agentProjects/listAgentProjectChatReferences.ts +10 -3
  148. package/apps/agents-server/src/utils/agentProjects/parseAgentProjectIndexHtml.ts +167 -0
  149. package/apps/agents-server/src/utils/agentProjects/readAgentProjectIndexHtmlProfile.ts +24 -0
  150. package/apps/agents-server/src/utils/agentProjects/readAgentProjectReadme.ts +3 -53
  151. package/apps/agents-server/src/utils/agentProjects/readAgentProjectRootTextFile.ts +73 -0
  152. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectFaviconRelativePath.ts +108 -0
  153. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectInfo.ts +12 -3
  154. package/apps/agents-server/src/utils/agentProjects/{resolveAgentProjectReadmeProfile.ts → resolveAgentProjectProfile.ts} +33 -33
  155. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectPublicUrls.ts +34 -0
  156. package/apps/agents-server/src/utils/bookLanguageDocumentation/createBookLanguageDocumentationPdfResponse.ts +19 -17
  157. package/apps/agents-server/src/utils/chatTasksAdmin.ts +9 -0
  158. package/apps/agents-server/src/utils/createAgentWithDefaultVisibility.ts +8 -0
  159. package/apps/agents-server/src/utils/dnsRecords/DnsRecordInstruction.ts +20 -0
  160. package/apps/agents-server/src/utils/dnsRecords/DnsRecordsSection.ts +77 -0
  161. package/apps/agents-server/src/utils/dnsRecords/createServerDnsRecordsSections.ts +58 -0
  162. package/apps/agents-server/src/utils/dnsRecords/createServerDomainDnsRecordsSection.ts +48 -0
  163. package/apps/agents-server/src/utils/dnsRecords/dnsRecordGroups.ts +52 -0
  164. package/apps/agents-server/src/utils/dnsRecords/resolveDnsRecordBatchPlan.ts +47 -1
  165. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +41 -36
  166. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +3 -0
  167. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +2 -0
  168. package/apps/agents-server/src/utils/handleChatCompletion/createHandleChatCompletionPromptContext.ts +3 -2
  169. package/apps/agents-server/src/utils/handleChatCompletion/resolveHandleChatCompletionRuntime.ts +4 -12
  170. package/apps/agents-server/src/utils/localChatRunner/parseLocalTeamConversations.ts +281 -0
  171. package/apps/agents-server/src/utils/localChatRunner/persistLocalTeamConversations.ts +71 -0
  172. package/apps/agents-server/src/utils/localChatRunner/prepareLocalTeamConversationWorkspace.ts +233 -0
  173. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +37 -6
  174. package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentBooks.ts +2 -14
  175. package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentRuntime.ts +21 -73
  176. package/apps/agents-server/src/utils/messages/parseUseEmailSmtpCredential.ts +1 -1
  177. package/apps/agents-server/src/utils/resolveUseEmailSmtpCredential.ts +1 -1
  178. package/apps/agents-server/src/utils/serverManagement/createManagedServer/insertManagedServerRegistryRow.ts +2 -2
  179. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerCoreAgents.ts +7 -6
  180. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerDefaultAgents.ts +5 -4
  181. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerMetadata.ts +3 -2
  182. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerUsers.ts +3 -2
  183. package/apps/agents-server/src/utils/serverManagement/deleteManagedServer.ts +2 -2
  184. package/apps/agents-server/src/utils/stalwart/createEmailDnsInstructions.ts +9 -5
  185. package/apps/agents-server/src/utils/stalwart/createEmailDnsRecordsSection.ts +53 -0
  186. package/apps/agents-server/src/utils/stalwart/readStalwartEmailSnapshot.ts +23 -5
  187. package/apps/agents-server/src/utils/stalwart/stalwartBootstrap.ts +2 -1
  188. package/apps/agents-server/src/utils/stalwart/stalwartMailBridge.ts +7 -0
  189. package/apps/agents-server/src/utils/useEmailSmtpWalletConstants.ts +5 -5
  190. package/apps/agents-server/src/utils/userChat/UserChatRecord.ts +13 -0
  191. package/apps/agents-server/src/utils/userChat/UserChatSource.ts +14 -0
  192. package/apps/agents-server/src/utils/userChat/appendQueuedUserChatTurn.ts +9 -2
  193. package/apps/agents-server/src/utils/userChat/createRunUserChatJobExecutionContext.ts +7 -17
  194. package/apps/agents-server/src/utils/userChat/createUserChatSummary.ts +10 -2
  195. package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +3 -2
  196. package/apps/agents-server/src/utils/userChat/getUserChat.ts +16 -1
  197. package/apps/agents-server/src/utils/userChat/getUserChatForJobRunner.ts +31 -0
  198. package/apps/agents-server/src/utils/userChat/listUserChats.ts +113 -110
  199. package/apps/agents-server/src/utils/userChat/persistFrozenUserChat.ts +21 -6
  200. package/apps/agents-server/src/utils/userChat/resolveUserChatWorkerInternalToken.ts +5 -4
  201. package/apps/agents-server/src/utils/userChat/runImmediateUserChatAnswer.ts +2 -6
  202. package/apps/agents-server/src/utils/userChat/runUserChatJob.ts +2 -6
  203. package/apps/agents-server/src/utils/userChat/teamMemberUserChatContext.ts +63 -0
  204. package/apps/agents-server/src/utils/userChat/userChatMessageLifecycle.ts +6 -1
  205. package/apps/agents-server/src/utils/userChat.ts +5 -1
  206. package/apps/agents-server/src/utils/userChatClient/cancelAgentUserTimeout.ts +2 -2
  207. package/apps/agents-server/src/utils/userChatClient/fetchAgentUserTimeouts.ts +2 -2
  208. package/apps/agents-server/src/utils/userChatClient.ts +9 -31
  209. package/apps/agents-server/src/utils/userChatTimeout/UserChatTimeoutRecord.ts +10 -2
  210. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/claimNextDueUserChatTimeout.ts +28 -25
  211. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/getAgentScopedUserChatTimeout.ts +8 -4
  212. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/listAgentUserChatTimeouts.ts +4 -1
  213. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/recoverExpiredRunningUserChatTimeouts.ts +3 -2
  214. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +55 -0
  215. package/apps/agents-server/src/utils/userWallet/UserWalletRecord.ts +1 -1
  216. package/apps/agents-server/src/utils/userWallet/resolveUseEmailSmtpCredentialFromWallet.ts +1 -1
  217. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +2 -1
  218. package/apps/agents-server/src/utils/vpsSelfUpdate/isVpsSelfUpdateJobRunning.ts +16 -0
  219. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +2 -1
  220. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +1 -0
  221. package/apps/agents-server/tests/e2e/e2eEnvironment.cjs +49 -0
  222. package/esm/apps/agents-server/src/utils/agentGoalChat/agentGoalChatConstants.d.ts +12 -0
  223. package/esm/index.es.js +5260 -6573
  224. package/esm/index.es.js.map +1 -1
  225. package/esm/scripts/run-agent-messages/messages/buildAgentGoalChatPromptSection.d.ts +8 -0
  226. package/esm/scripts/run-agent-messages/messages/buildAgentMessagePrompt.d.ts +12 -1
  227. package/esm/scripts/run-agent-messages/messages/buildAgentProjectsPromptSection.d.ts +2 -14
  228. package/esm/scripts/run-agent-messages/messages/buildAgentTeamPromptSection.d.ts +12 -0
  229. package/esm/scripts/run-agent-messages/messages/finalizeAgentTeamConversationWorkspace.d.ts +16 -0
  230. package/esm/scripts/run-agent-messages/messages/loadAgentTeamConversationWorkspace.d.ts +6 -0
  231. package/esm/scripts/run-codex-prompts/common/createCoderRunStepTracker.d.ts +48 -0
  232. package/esm/scripts/run-codex-prompts/common/normalizeLineEndingsInChangedFiles.d.ts +2 -3
  233. package/esm/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
  234. package/esm/scripts/run-codex-prompts/git/coderCommitScope.d.ts +31 -0
  235. package/esm/scripts/run-codex-prompts/git/coderGitSync.d.ts +56 -0
  236. package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +12 -3
  237. package/esm/scripts/run-codex-prompts/git/workingTreeChanges.d.ts +40 -0
  238. package/esm/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  239. package/esm/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  240. package/esm/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  241. package/esm/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  242. package/esm/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  243. package/esm/scripts/run-codex-prompts/prompts/buildPromptStatusDetails.d.ts +43 -0
  244. package/esm/scripts/run-codex-prompts/prompts/findNextTodoPrompt.d.ts +2 -1
  245. package/esm/scripts/run-codex-prompts/prompts/formatCoderRunSteps.d.ts +6 -3
  246. package/esm/scripts/run-codex-prompts/prompts/isPromptCompatibleWithRunner.d.ts +27 -0
  247. package/esm/scripts/run-codex-prompts/prompts/isPromptSectionUnfinished.d.ts +8 -0
  248. package/esm/scripts/run-codex-prompts/prompts/listRunnablePrompts.d.ts +2 -1
  249. package/esm/scripts/run-codex-prompts/prompts/listUpcomingTasks.d.ts +2 -1
  250. package/esm/scripts/run-codex-prompts/prompts/markPromptDone.d.ts +1 -1
  251. package/esm/scripts/run-codex-prompts/prompts/markPromptInProgress.d.ts +27 -0
  252. package/esm/scripts/run-codex-prompts/prompts/resolvePromptStatusLine.d.ts +19 -0
  253. package/esm/scripts/run-codex-prompts/prompts/writePromptStatusLine.d.ts +9 -0
  254. package/esm/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +1 -1
  255. package/esm/scripts/run-codex-prompts/server/coderServerHtml.d.ts +1 -1
  256. package/esm/scripts/run-codex-prompts/server/updatePromptSection.d.ts +1 -1
  257. package/esm/scripts/run-codex-prompts/testing/TestBeforeMode.d.ts +16 -0
  258. package/esm/scripts/run-codex-prompts/testing/createTestBeforeRepairPrompt.d.ts +9 -0
  259. package/esm/scripts/run-codex-prompts/testing/limitTestOutput.d.ts +4 -0
  260. package/esm/scripts/run-codex-prompts/testing/runPromptTestCommand.d.ts +1 -2
  261. package/esm/scripts/run-codex-prompts/testing/runPromptWithTestFeedback.d.ts +6 -0
  262. package/esm/scripts/run-codex-prompts/testing/runTestBefore.d.ts +24 -0
  263. package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +5 -5
  264. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiTerminalFrameUpdate.d.ts +27 -0
  265. package/esm/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +1 -0
  266. package/esm/scripts/verify-prompts/$orderPromptFiles.d.ts +9 -0
  267. package/esm/scripts/verify-prompts/VerifyPromptsOrder.d.ts +26 -0
  268. package/esm/scripts/verify-prompts/verify-prompts.d.ts +8 -2
  269. package/esm/src/_packages/components.index.d.ts +4 -0
  270. package/esm/src/_packages/types.index.d.ts +4 -0
  271. package/esm/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
  272. package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
  273. package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  274. package/esm/src/book-2.0/book-language-documentation/BookLanguageManualDictionary.d.ts +1 -15
  275. package/esm/src/book-2.0/book-language-documentation/getBookLanguageManualCommitmentGroups.d.ts +1 -1
  276. package/esm/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.d.ts +0 -4
  277. package/esm/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
  278. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
  279. package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  280. package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +72 -0
  281. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  282. package/esm/src/cli/cli-commands/coder/agentCodingFile.d.ts +2 -3
  283. package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  284. package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +4 -3
  285. package/esm/src/cli/cli-commands/coder/ping.d.ts +10 -0
  286. package/esm/src/cli/cli-commands/coder/verify.d.ts +1 -1
  287. package/esm/src/cli/cli-commands/coder.d.ts +1 -0
  288. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  289. package/esm/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.d.ts → npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
  290. package/{umd/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.d.ts → esm/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
  291. package/esm/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
  292. package/esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
  293. package/esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
  294. package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
  295. package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
  296. package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
  297. package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
  298. package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
  299. package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
  300. package/esm/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
  301. package/esm/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
  302. package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
  303. package/esm/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  304. package/esm/src/commitments/META_ID/META_ID.d.ts +32 -0
  305. package/esm/src/commitments/index.d.ts +4 -12
  306. package/esm/src/llm-providers/agent/Agent.d.ts +1 -1
  307. package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  308. package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  309. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  310. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  311. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  312. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  313. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  314. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  315. package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  316. package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  317. package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  318. package/esm/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  319. package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
  320. package/esm/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
  321. package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
  322. package/esm/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
  323. package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  324. package/esm/src/utils/misc/debounce.d.ts +4 -2
  325. package/esm/src/version.d.ts +1 -1
  326. package/package.json +1 -1
  327. package/src/_packages/components.index.ts +4 -0
  328. package/src/_packages/components.readme.md +1 -1
  329. package/src/_packages/types.index.ts +4 -0
  330. package/src/avatars/renderAvatarVisualTerminalText.ts +249 -0
  331. package/src/avatars/types/AvatarVisualDefinition.ts +60 -0
  332. package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +144 -22
  333. package/src/book-2.0/agent-source/AgentBasicInformation.ts +3 -9
  334. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/filterCommitmentsForAgentModelRequirements.ts +0 -23
  335. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.ts +0 -2
  336. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +16 -31
  337. package/src/book-2.0/agent-source/parseAgentSource/createCapabilitiesFromCommitment.ts +0 -35
  338. package/src/book-2.0/book-language-documentation/BookLanguageManualDictionary.ts +1 -15
  339. package/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.ts +1 -27
  340. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +96 -44
  341. package/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.ts +23 -71
  342. package/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.ts +22 -67
  343. package/src/book-2.0/book-language-documentation/getBookLanguageManualCommitmentGroups.ts +9 -1
  344. package/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.ts +5 -55
  345. package/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.ts +278 -4
  346. package/src/book-3.0/AgentTeamConversationWorkspace.ts +172 -0
  347. package/src/book-3.0/LiteAgent.ts +11 -9
  348. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  349. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +56 -55
  350. package/src/book-components/Chat/Chat/Chat.module.css +1 -8
  351. package/src/book-components/Chat/Chat/ChatMessageMap.tsx +8 -4
  352. package/src/book-components/Chat/Chat/ChatProps.tsx +3 -2
  353. package/src/book-components/Chat/MarkdownContent/MarkdownContent.module.css +85 -17
  354. package/src/book-components/Chat/MarkdownContent/MarkdownContent.tsx +116 -2
  355. package/src/book-components/Chat/save/react/exports/chat-preview-2025-10-13 (1).jsx +95 -5
  356. package/src/book-components/Chat/utils/$provideServerDomWindow.ts +77 -0
  357. package/src/book-components/Chat/utils/renderMarkdown.ts +716 -44
  358. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +14 -0
  359. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +1 -0
  360. package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +1 -0
  361. package/src/cli/cli-commands/coder/add.ts +40 -12
  362. package/src/cli/cli-commands/coder/agentCodingFile.ts +6 -129
  363. package/src/cli/cli-commands/coder/boilerplateCount.ts +139 -0
  364. package/src/cli/cli-commands/coder/generate-boilerplates.ts +81 -47
  365. package/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.ts +7 -4
  366. package/src/cli/cli-commands/coder/init.ts +29 -2
  367. package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +1 -4
  368. package/src/cli/cli-commands/coder/ping.ts +72 -0
  369. package/src/cli/cli-commands/coder/run.ts +35 -4
  370. package/src/cli/cli-commands/coder/verify.ts +55 -16
  371. package/src/cli/cli-commands/coder.ts +4 -0
  372. package/src/cli/cli-commands/common/coderGitSyncCliOptions.ts +82 -0
  373. package/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.ts +2 -2
  374. package/src/cli/cli-commands/common/harness/$checkHarnessInstallation.ts +6 -4
  375. package/src/cli/cli-commands/common/harness/$resolveInstalledHarnessVersion.ts +2 -2
  376. package/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.ts +2 -1
  377. package/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.ts → npm/$askForNpmPackageInstallationApproval.ts} +3 -3
  378. package/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.ts +49 -0
  379. package/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.ts +28 -0
  380. package/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.ts +25 -0
  381. package/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.ts +165 -0
  382. package/src/cli/cli-commands/common/projectInitialization.ts +10 -1
  383. package/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.ts +69 -0
  384. package/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.ts +117 -0
  385. package/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.ts +259 -0
  386. package/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.ts +55 -0
  387. package/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.ts +76 -0
  388. package/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.ts +32 -0
  389. package/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.ts +13 -0
  390. package/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.ts +45 -0
  391. package/src/cli/cli-commands/run/prepareRunCommandResources.ts +2 -1
  392. package/src/cli/cli-commands/run/resolveRunInputParameters.ts +2 -1
  393. package/src/cli/cli-commands/runInteractiveChatbot.ts +2 -1
  394. package/src/cli/common/$provideLlmToolsForCli.ts +2 -1
  395. package/src/cli/common/loadPromptsModule.ts +13 -0
  396. package/src/commands/FORMAT/formatCommandParser.ts +2 -2
  397. package/src/commitments/ACTION/ACTION.ts +3 -3
  398. package/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.ts +1 -1
  399. package/src/commitments/META_FULLNAME/META_FULLNAME.ts +70 -0
  400. package/src/commitments/META_ID/META_ID.ts +78 -0
  401. package/src/commitments/_common/getAllCommitmentsToolFunctionsForNode.ts +1 -49
  402. package/src/commitments/index.ts +6 -24
  403. package/src/conversion/archive/loadArchive.ts +2 -1
  404. package/src/conversion/archive/loadJsZipModule.ts +10 -0
  405. package/src/conversion/archive/saveArchive.ts +2 -1
  406. package/src/llm-providers/agent/Agent.ts +1 -1
  407. package/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.ts +13 -1
  408. package/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.ts +13 -1
  409. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +6 -2
  410. package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +9 -7
  411. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  412. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +1 -1
  413. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  414. package/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.ts +1 -1
  415. package/src/llm-providers/openai/OpenAiCompatibleRequestManager.ts +12 -1
  416. package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +21 -18
  417. package/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.ts +1 -1
  418. package/src/llm-providers/openai/utils/loadOpenAiAgentsModule.ts +11 -0
  419. package/src/llm-providers/openai/utils/uploadFilesToOpenAi.ts +1 -1
  420. package/src/other/templates/getTemplatesPipelineCollection.ts +786 -1141
  421. package/src/remote-server/createRemoteClient.ts +12 -1
  422. package/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.ts +8 -9
  423. package/src/scrapers/website/WebsiteScraper.ts +22 -2
  424. package/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.ts +157 -3
  425. package/src/utils/agents/terminalAgentAvatarVisual.ts +31 -3
  426. package/src/utils/ascii-art/convertImageDataToAsciiArt.ts +9 -109
  427. package/src/utils/ascii-art/createAnsiColorCode.ts +132 -0
  428. package/src/utils/misc/createLazyModuleLoader.ts +27 -0
  429. package/src/utils/misc/debounce.ts +26 -5
  430. package/src/version.ts +2 -2
  431. package/src/versions.txt +8 -1
  432. package/umd/apps/agents-server/src/utils/agentGoalChat/agentGoalChatConstants.d.ts +12 -0
  433. package/umd/index.umd.js +5718 -7025
  434. package/umd/index.umd.js.map +1 -1
  435. package/umd/scripts/run-agent-messages/messages/buildAgentGoalChatPromptSection.d.ts +8 -0
  436. package/umd/scripts/run-agent-messages/messages/buildAgentMessagePrompt.d.ts +12 -1
  437. package/umd/scripts/run-agent-messages/messages/buildAgentProjectsPromptSection.d.ts +2 -14
  438. package/umd/scripts/run-agent-messages/messages/buildAgentTeamPromptSection.d.ts +12 -0
  439. package/umd/scripts/run-agent-messages/messages/finalizeAgentTeamConversationWorkspace.d.ts +16 -0
  440. package/umd/scripts/run-agent-messages/messages/loadAgentTeamConversationWorkspace.d.ts +6 -0
  441. package/umd/scripts/run-codex-prompts/common/createCoderRunStepTracker.d.ts +48 -0
  442. package/umd/scripts/run-codex-prompts/common/normalizeLineEndingsInChangedFiles.d.ts +2 -3
  443. package/umd/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +7 -0
  444. package/umd/scripts/run-codex-prompts/git/coderCommitScope.d.ts +31 -0
  445. package/umd/scripts/run-codex-prompts/git/coderGitSync.d.ts +56 -0
  446. package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +12 -3
  447. package/umd/scripts/run-codex-prompts/git/workingTreeChanges.d.ts +40 -0
  448. package/umd/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  449. package/umd/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  450. package/umd/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  451. package/umd/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  452. package/umd/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  453. package/umd/scripts/run-codex-prompts/prompts/buildPromptStatusDetails.d.ts +43 -0
  454. package/umd/scripts/run-codex-prompts/prompts/findNextTodoPrompt.d.ts +2 -1
  455. package/umd/scripts/run-codex-prompts/prompts/formatCoderRunSteps.d.ts +6 -3
  456. package/umd/scripts/run-codex-prompts/prompts/isPromptCompatibleWithRunner.d.ts +27 -0
  457. package/umd/scripts/run-codex-prompts/prompts/isPromptSectionUnfinished.d.ts +8 -0
  458. package/umd/scripts/run-codex-prompts/prompts/listRunnablePrompts.d.ts +2 -1
  459. package/umd/scripts/run-codex-prompts/prompts/listUpcomingTasks.d.ts +2 -1
  460. package/umd/scripts/run-codex-prompts/prompts/markPromptDone.d.ts +1 -1
  461. package/umd/scripts/run-codex-prompts/prompts/markPromptInProgress.d.ts +27 -0
  462. package/umd/scripts/run-codex-prompts/prompts/resolvePromptStatusLine.d.ts +19 -0
  463. package/umd/scripts/run-codex-prompts/prompts/writePromptStatusLine.d.ts +9 -0
  464. package/umd/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +1 -1
  465. package/umd/scripts/run-codex-prompts/server/coderServerHtml.d.ts +1 -1
  466. package/umd/scripts/run-codex-prompts/server/updatePromptSection.d.ts +1 -1
  467. package/umd/scripts/run-codex-prompts/testing/TestBeforeMode.d.ts +16 -0
  468. package/umd/scripts/run-codex-prompts/testing/createTestBeforeRepairPrompt.d.ts +9 -0
  469. package/umd/scripts/run-codex-prompts/testing/limitTestOutput.d.ts +4 -0
  470. package/umd/scripts/run-codex-prompts/testing/runPromptTestCommand.d.ts +1 -2
  471. package/umd/scripts/run-codex-prompts/testing/runPromptWithTestFeedback.d.ts +6 -0
  472. package/umd/scripts/run-codex-prompts/testing/runTestBefore.d.ts +24 -0
  473. package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +5 -5
  474. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiTerminalFrameUpdate.d.ts +27 -0
  475. package/umd/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +1 -0
  476. package/umd/scripts/verify-prompts/$orderPromptFiles.d.ts +9 -0
  477. package/umd/scripts/verify-prompts/VerifyPromptsOrder.d.ts +26 -0
  478. package/umd/scripts/verify-prompts/verify-prompts.d.ts +8 -2
  479. package/umd/src/_packages/components.index.d.ts +4 -0
  480. package/umd/src/_packages/types.index.d.ts +4 -0
  481. package/umd/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
  482. package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
  483. package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  484. package/umd/src/book-2.0/book-language-documentation/BookLanguageManualDictionary.d.ts +1 -15
  485. package/umd/src/book-2.0/book-language-documentation/getBookLanguageManualCommitmentGroups.d.ts +1 -1
  486. package/umd/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.d.ts +0 -4
  487. package/umd/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
  488. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
  489. package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  490. package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +72 -0
  491. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  492. package/umd/src/cli/cli-commands/coder/agentCodingFile.d.ts +2 -3
  493. package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  494. package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +4 -3
  495. package/umd/src/cli/cli-commands/coder/ping.d.ts +10 -0
  496. package/umd/src/cli/cli-commands/coder/verify.d.ts +1 -1
  497. package/umd/src/cli/cli-commands/coder.d.ts +1 -0
  498. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  499. package/umd/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.d.ts → npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
  500. package/{esm/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.d.ts → umd/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
  501. package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
  502. package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
  503. package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
  504. package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
  505. package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
  506. package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
  507. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
  508. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts +1 -0
  509. package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
  510. package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
  511. package/umd/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
  512. package/umd/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
  513. package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
  514. package/umd/src/commitments/{COMPONENT/COMPONENT.d.ts → META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  515. package/umd/src/commitments/META_ID/META_ID.d.ts +32 -0
  516. package/umd/src/commitments/index.d.ts +4 -12
  517. package/umd/src/llm-providers/agent/Agent.d.ts +1 -1
  518. package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  519. package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  520. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  521. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  522. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  523. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  524. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  525. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  526. package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  527. package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  528. package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  529. package/umd/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  530. package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
  531. package/umd/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
  532. package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
  533. package/umd/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
  534. package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  535. package/umd/src/utils/misc/debounce.d.ts +4 -2
  536. package/umd/src/utils/misc/debounce.test.d.ts +1 -0
  537. package/umd/src/version.d.ts +1 -1
  538. package/apps/agents-server/scripts/ignore-kill-eperm.js +0 -31
  539. package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/actions/route.ts +0 -103
  540. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsClient.tsx +0 -43
  541. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsEditDialog.tsx +0 -98
  542. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsFiltersCard.tsx +0 -75
  543. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsHeader.tsx +0 -53
  544. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsSummaryMetrics.tsx +0 -70
  545. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableCard.tsx +0 -58
  546. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableRow.tsx +0 -242
  547. package/apps/agents-server/src/app/agents/[agentName]/timeouts/loading.tsx +0 -15
  548. package/apps/agents-server/src/app/agents/[agentName]/timeouts/page.tsx +0 -28
  549. package/apps/agents-server/src/app/agents/[agentName]/timeouts/useAgentTimeoutsClientState.ts +0 -769
  550. package/apps/agents-server/src/app/api/onboarding/draft/route.ts +0 -23
  551. package/apps/agents-server/src/components/AgentProjectDnsInstructions/AgentProjectDnsInstructions.tsx +0 -182
  552. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/BookLanguagePanel.tsx +0 -125
  553. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/MarkdownBookEditor.tsx +0 -154
  554. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/components/MarkdownPreview.tsx +0 -188
  555. package/apps/agents-server/src/components/NewAgentDialog/ManGoNewAgentWizard/services/draftService.ts +0 -32
  556. package/apps/agents-server/src/tools/configureTimeoutToolRuntimeAdapterForServer.ts +0 -381
  557. package/apps/agents-server/src/utils/emails/extractUseEmailConfigurationFromAgentSource.ts +0 -42
  558. package/apps/agents-server/src/utils/userChatClient/runAgentUserTimeoutBulkAction.ts +0 -24
  559. package/apps/agents-server/src/utils/userChatClient/updateAgentUserTimeout.ts +0 -25
  560. package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
  561. package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
  562. package/esm/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  563. package/esm/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  564. package/esm/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  565. package/esm/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  566. package/esm/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  567. package/esm/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  568. package/esm/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  569. package/esm/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  570. package/esm/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  571. package/esm/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  572. package/esm/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  573. package/esm/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  574. package/esm/src/commitments/META/META.d.ts +0 -65
  575. package/esm/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  576. package/esm/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  577. package/esm/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  578. package/esm/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  579. package/esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  580. package/esm/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  581. package/esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  582. package/esm/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  583. package/esm/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  584. package/esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  585. package/esm/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  586. package/esm/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  587. package/esm/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  588. package/esm/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  589. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  590. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  591. package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  592. package/esm/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  593. package/esm/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  594. package/esm/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  595. package/esm/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  596. package/esm/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  597. package/esm/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  598. package/esm/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  599. package/esm/src/commitments/WALLET/WALLET.d.ts +0 -21
  600. package/esm/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  601. package/esm/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  602. package/esm/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  603. package/esm/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  604. package/esm/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  605. package/esm/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  606. package/esm/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  607. package/esm/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  608. package/esm/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  609. package/esm/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  610. package/esm/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  611. package/esm/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  612. package/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.ts +0 -34
  613. package/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.ts +0 -28
  614. package/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.ts +0 -39
  615. package/src/commitments/COMPONENT/COMPONENT.ts +0 -70
  616. package/src/commitments/MEMORY/MEMORY.ts +0 -94
  617. package/src/commitments/MEMORY/MemoryToolNames.ts +0 -13
  618. package/src/commitments/MEMORY/MemoryToolRuntimeAdapter.ts +0 -180
  619. package/src/commitments/MEMORY/createMemorySystemMessage.ts +0 -27
  620. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +0 -134
  621. package/src/commitments/MEMORY/createMemoryTools.ts +0 -115
  622. package/src/commitments/MEMORY/getMemoryCommitmentDocumentation.ts +0 -47
  623. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +0 -104
  624. package/src/commitments/MEMORY/getMemoryToolTitles.ts +0 -16
  625. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +0 -126
  626. package/src/commitments/MEMORY/resolveMemoryRuntimeContext.ts +0 -23
  627. package/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.ts +0 -26
  628. package/src/commitments/META/META.ts +0 -168
  629. package/src/commitments/USE/TODO.txt +0 -1
  630. package/src/commitments/USE/aggregateUseCommitmentSystemMessages.ts +0 -219
  631. package/src/commitments/USE_BROWSER/TODO.txt +0 -1
  632. package/src/commitments/USE_BROWSER/USE_BROWSER.ts +0 -257
  633. package/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.ts +0 -45
  634. package/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.ts +0 -83
  635. package/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.ts +0 -146
  636. package/src/commitments/USE_EMAIL/USE_EMAIL.ts +0 -201
  637. package/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.ts +0 -75
  638. package/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.ts +0 -44
  639. package/src/commitments/USE_EMAIL/sendEmailViaBrowser.ts +0 -47
  640. package/src/commitments/USE_SEARCH_ENGINE/TODO.txt +0 -1
  641. package/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.ts +0 -171
  642. package/src/commitments/USE_SPAWN/USE_SPAWN.ts +0 -150
  643. package/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.ts +0 -42
  644. package/src/commitments/USE_SPAWN/spawnAgentViaBrowser.ts +0 -50
  645. package/src/commitments/USE_TIME/USE_TIME.ts +0 -177
  646. package/src/commitments/USE_TIMEOUT/TimeoutToolNames.ts +0 -13
  647. package/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.ts +0 -255
  648. package/src/commitments/USE_TIMEOUT/USE_TIMEOUT.ts +0 -117
  649. package/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.ts +0 -22
  650. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +0 -361
  651. package/src/commitments/USE_TIMEOUT/createTimeoutTools.ts +0 -127
  652. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +0 -67
  653. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +0 -460
  654. package/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.ts +0 -36
  655. package/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.ts +0 -26
  656. package/src/commitments/WALLET/WALLET.ts +0 -71
  657. package/src/commitments/WALLET/WalletToolNames.ts +0 -14
  658. package/src/commitments/WALLET/WalletToolRuntimeAdapter.ts +0 -180
  659. package/src/commitments/WALLET/createWalletSystemMessage.ts +0 -22
  660. package/src/commitments/WALLET/createWalletToolFunctions.ts +0 -145
  661. package/src/commitments/WALLET/createWalletTools.ts +0 -129
  662. package/src/commitments/WALLET/getWalletCommitmentDocumentation.ts +0 -14
  663. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +0 -64
  664. package/src/commitments/WALLET/getWalletToolTitles.ts +0 -17
  665. package/src/commitments/WALLET/parseWalletToolArgs.ts +0 -231
  666. package/src/commitments/WALLET/resolveWalletRuntimeContext.ts +0 -23
  667. package/src/commitments/WALLET/setWalletToolRuntimeAdapter.ts +0 -26
  668. package/src/commitments/_common/createSerpSearchToolFunction.ts +0 -46
  669. package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
  670. package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
  671. package/umd/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  672. package/umd/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  673. package/umd/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  674. package/umd/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  675. package/umd/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  676. package/umd/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  677. package/umd/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  678. package/umd/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  679. package/umd/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  680. package/umd/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  681. package/umd/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  682. package/umd/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  683. package/umd/src/commitments/META/META.d.ts +0 -65
  684. package/umd/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  685. package/umd/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  686. package/umd/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  687. package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  688. package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  689. package/umd/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  690. package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  691. package/umd/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  692. package/umd/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  693. package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  694. package/umd/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  695. package/umd/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  696. package/umd/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  697. package/umd/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  698. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  699. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  700. package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  701. package/umd/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  702. package/umd/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  703. package/umd/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  704. package/umd/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  705. package/umd/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  706. package/umd/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  707. package/umd/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  708. package/umd/src/commitments/WALLET/WALLET.d.ts +0 -21
  709. package/umd/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  710. package/umd/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  711. package/umd/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  712. package/umd/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  713. package/umd/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  714. package/umd/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  715. package/umd/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  716. package/umd/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  717. package/umd/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  718. package/umd/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  719. package/umd/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  720. package/umd/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  721. /package/esm/src/{book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
  722. /package/esm/src/{cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  723. /package/esm/src/cli/cli-commands/{common/harness/isHarnessVersionOutdated.test.d.ts → coder/boilerplateCount.test.d.ts} +0 -0
  724. /package/esm/src/{commitments/MEMORY/MEMORY.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  725. /package/esm/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → cli/cli-commands/coder/ping.test.d.ts} +0 -0
  726. /package/esm/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
  727. /package/esm/src/{commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts} +0 -0
  728. /package/esm/src/{commitments/USE_EMAIL/USE_EMAIL.test.d.ts → cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts} +0 -0
  729. /package/esm/src/{commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts} +0 -0
  730. /package/esm/src/{commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts} +0 -0
  731. /package/esm/src/{commitments/USE_SPAWN/USE_SPAWN.test.d.ts → cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts} +0 -0
  732. /package/esm/src/{commitments/USE_TIME/USE_TIME.test.d.ts → cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts} +0 -0
  733. /package/esm/src/{commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts → cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts} +0 -0
  734. /package/esm/src/{commitments/WALLET/WALLET.test.d.ts → cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts} +0 -0
  735. /package/esm/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
  736. /package/{umd/src/book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts → esm/src/utils/misc/debounce.test.d.ts} +0 -0
  737. /package/umd/src/{cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
  738. /package/umd/src/{cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  739. /package/umd/src/{commitments/MEMORY/MEMORY.test.d.ts → cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
  740. /package/umd/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  741. /package/umd/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → cli/cli-commands/coder/ping.test.d.ts} +0 -0
  742. /package/umd/src/{commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
  743. /package/umd/src/{commitments/USE_EMAIL/USE_EMAIL.test.d.ts → cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts} +0 -0
  744. /package/umd/src/{commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts} +0 -0
  745. /package/umd/src/{commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts} +0 -0
  746. /package/umd/src/{commitments/USE_SPAWN/USE_SPAWN.test.d.ts → cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts} +0 -0
  747. /package/umd/src/{commitments/USE_TIME/USE_TIME.test.d.ts → cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts} +0 -0
  748. /package/umd/src/{commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts → cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts} +0 -0
  749. /package/umd/src/{commitments/WALLET/WALLET.test.d.ts → cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts} +0 -0
  750. /package/umd/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
@@ -1,6 +1,22 @@
1
1
  import type { MarkdownInlineReference } from '@promptbook-local/types';
2
2
  import type { AgentProjectReferenceInfo } from './AgentProjectReferenceInfo';
3
- import { buildAgentProjectProfileHref } from './agentProjectHrefs';
3
+ import { buildAgentProjectFileHref, buildAgentProjectProfileHref } from './agentProjectHrefs';
4
+ import { createAgentProjectInitials } from './createAgentProjectInitials';
5
+
6
+ /**
7
+ * Stable action id used by a stopped project's open-and-start menu option.
8
+ */
9
+ const OPEN_AGENT_PROJECT_ACTION_ID = 'open-agent-project';
10
+
11
+ /**
12
+ * Stable action id used by a project runtime start menu option.
13
+ */
14
+ const START_AGENT_PROJECT_ACTION_ID = 'start-agent-project';
15
+
16
+ /**
17
+ * Stable action id used by a project runtime stop menu option.
18
+ */
19
+ const STOP_AGENT_PROJECT_ACTION_ID = 'stop-agent-project';
4
20
 
5
21
  /**
6
22
  * Markdown inline reference data consumed by chat markdown rendering.
@@ -20,18 +36,40 @@ type CreateAgentProjectMarkdownReferencesOptions = {
20
36
  * Project references available to this agent chat.
21
37
  */
22
38
  readonly projects: ReadonlyArray<AgentProjectMarkdownReferenceInfo>;
39
+
40
+ /**
41
+ * Opens a project, starting its runtime first when needed.
42
+ */
43
+ readonly onOpenProject?: (project: AgentProjectMarkdownReferenceInfo) => void | Promise<void>;
44
+
45
+ /**
46
+ * Starts or stops one project runtime.
47
+ */
48
+ readonly onChangeProjectRuntime?: (
49
+ project: AgentProjectMarkdownReferenceInfo,
50
+ isRunning: boolean,
51
+ ) => void | Promise<void>;
23
52
  };
24
53
 
25
54
  /**
26
55
  * Project fields required to create a chat markdown reference.
27
56
  */
28
- type AgentProjectMarkdownReferenceInfo = Pick<
57
+ export type AgentProjectMarkdownReferenceInfo = Pick<
29
58
  AgentProjectReferenceInfo,
30
- 'projectName' | 'displayName' | 'description' | 'isRunning' | 'projectUrl'
59
+ 'projectName' | 'displayName' | 'description' | 'faviconRelativePath' | 'isRunning' | 'projectUrl'
31
60
  >;
32
61
 
33
62
  /**
34
- * Creates markdown references that render known `[[project-name]]` tokens as project profile chips.
63
+ * One menu option belonging to a project markdown reference.
64
+ */
65
+ type AgentProjectMarkdownReferenceMenuOption = NonNullable<AgentProjectMarkdownReference['menu']>['options'][number];
66
+
67
+ /**
68
+ * Creates markdown references rendering every mention of one project as a project chip.
69
+ *
70
+ * One project is mentioned either by its display name in chat prose, its `[[project-name]]` token,
71
+ * a link into its project page or files, or its public project URL. All of them render the same chip
72
+ * showing the project name together with its running state.
35
73
  *
36
74
  * @param options - Agent and project metadata.
37
75
  * @returns Inline markdown references for the shared chat renderer.
@@ -39,31 +77,108 @@ type AgentProjectMarkdownReferenceInfo = Pick<
39
77
  export function createAgentProjectMarkdownReferences(
40
78
  options: CreateAgentProjectMarkdownReferencesOptions,
41
79
  ): ReadonlyArray<AgentProjectMarkdownReference> {
42
- return options.projects.map((project) => ({
43
- reference: project.projectName,
44
- label: project.displayName || project.projectName,
45
- href: buildAgentProjectProfileHref(options.agentPermanentId, project.projectName),
46
- title: project.description || project.displayName || project.projectName,
47
- menu: {
48
- status: {
49
- label: project.isRunning ? 'Project is running' : 'Project is not running',
50
- isActive: project.isRunning ?? false,
80
+ return options.projects.map((project) => {
81
+ const projectProfileHref = buildAgentProjectProfileHref(options.agentPermanentId, project.projectName);
82
+ const projectUrl = project.projectUrl || null;
83
+ const label = project.displayName || project.projectName;
84
+ const faviconHref = project.faviconRelativePath
85
+ ? buildAgentProjectFileHref(options.agentPermanentId, project.projectName, project.faviconRelativePath)
86
+ : null;
87
+
88
+ return {
89
+ reference: project.projectName,
90
+ sourceTextAliases: [label],
91
+ label,
92
+ href: projectProfileHref,
93
+ sourceHrefPrefixes: [projectProfileHref, ...(projectUrl ? [projectUrl] : [])],
94
+ title: project.description || label,
95
+ icon: {
96
+ src: faviconHref,
97
+ fallbackText: createAgentProjectInitials(project.projectName),
51
98
  },
52
- options: [
53
- {
54
- label: 'Open the project in a new tab',
55
- href: project.isRunning ? project.projectUrl ?? null : null,
56
- title:
57
- project.isRunning && project.projectUrl
58
- ? 'Open the project in a new tab'
59
- : 'The project must run before it can be opened.',
60
- },
61
- {
62
- label: 'Open the project page in a new tab',
63
- href: buildAgentProjectProfileHref(options.agentPermanentId, project.projectName),
64
- title: 'Open the project page in a new tab',
99
+ menu: {
100
+ status: {
101
+ label: project.isRunning ? 'Project is running' : 'Project is not running',
102
+ isActive: project.isRunning ?? false,
65
103
  },
66
- ],
104
+ options: [
105
+ createOpenAgentProjectMenuOption(project, options.onOpenProject),
106
+ {
107
+ label: 'Open the project page in a new tab',
108
+ href: projectProfileHref,
109
+ title: 'Open the project page in a new tab',
110
+ },
111
+ ...(options.onChangeProjectRuntime
112
+ ? [createChangeAgentProjectRuntimeMenuOption(project, options.onChangeProjectRuntime)]
113
+ : []),
114
+ ],
115
+ },
116
+ };
117
+ });
118
+ }
119
+
120
+ /**
121
+ * Creates the project destination option, using a client action when the runtime must be started.
122
+ *
123
+ * @param project - Project represented by the menu.
124
+ * @param onOpenProject - Optional open-and-start callback.
125
+ * @returns Project destination menu option.
126
+ */
127
+ function createOpenAgentProjectMenuOption(
128
+ project: AgentProjectMarkdownReferenceInfo,
129
+ onOpenProject: CreateAgentProjectMarkdownReferencesOptions['onOpenProject'],
130
+ ): AgentProjectMarkdownReferenceMenuOption {
131
+ const projectUrl = project.projectUrl || null;
132
+
133
+ if (project.isRunning && projectUrl) {
134
+ return {
135
+ label: 'Open the project in a new tab',
136
+ href: projectUrl,
137
+ title: 'Open the project in a new tab',
138
+ };
139
+ }
140
+
141
+ if (onOpenProject) {
142
+ return {
143
+ label: 'Open the project in a new tab',
144
+ href: null,
145
+ title: 'Start the project and open it in a new tab',
146
+ action: {
147
+ id: OPEN_AGENT_PROJECT_ACTION_ID,
148
+ onSelect: () => onOpenProject(project),
149
+ },
150
+ };
151
+ }
152
+
153
+ return {
154
+ label: 'Open the project in a new tab',
155
+ href: null,
156
+ title: 'The project must run before it can be opened.',
157
+ };
158
+ }
159
+
160
+ /**
161
+ * Creates the start or stop action matching a project's current runtime state.
162
+ *
163
+ * @param project - Project represented by the menu.
164
+ * @param onChangeProjectRuntime - Runtime state callback.
165
+ * @returns Start or stop project menu option.
166
+ */
167
+ function createChangeAgentProjectRuntimeMenuOption(
168
+ project: AgentProjectMarkdownReferenceInfo,
169
+ onChangeProjectRuntime: NonNullable<CreateAgentProjectMarkdownReferencesOptions['onChangeProjectRuntime']>,
170
+ ): AgentProjectMarkdownReferenceMenuOption {
171
+ const isRunning = project.isRunning === true;
172
+ const actionId = isRunning ? STOP_AGENT_PROJECT_ACTION_ID : START_AGENT_PROJECT_ACTION_ID;
173
+ const label = isRunning ? 'Stop the project' : 'Start the project';
174
+
175
+ return {
176
+ label,
177
+ href: null,
178
+ title: label,
179
+ action: {
180
+ id: actionId,
181
+ onSelect: () => onChangeProjectRuntime(project, !isRunning),
67
182
  },
68
- }));
183
+ };
69
184
  }
@@ -0,0 +1,113 @@
1
+ import type { DnsRecordsSection, DnsRecordsSectionVariant } from '../dnsRecords/DnsRecordsSection';
2
+ import { createAgentProjectDnsRecord } from './createAgentProjectDnsRecords';
3
+
4
+ /**
5
+ * Inputs of the generated project domain DNS section.
6
+ *
7
+ * @private helper for the Agents Server project DNS instructions
8
+ */
9
+ type CreateAgentProjectsDnsRecordsSectionOptions = {
10
+ /**
11
+ * Whether at least one generated project domain currently fails DNS verification.
12
+ */
13
+ readonly isDnsIssue?: boolean;
14
+
15
+ /**
16
+ * Example generated project domain used by the single-project variants, when one already exists.
17
+ */
18
+ readonly projectDomain?: string | null;
19
+
20
+ /**
21
+ * Public VPS IP address, when known by the server.
22
+ */
23
+ readonly publicIpAddress: string | null | undefined;
24
+
25
+ /**
26
+ * Base server domain used by generated project domains.
27
+ */
28
+ readonly serverDomain: string;
29
+ };
30
+
31
+ /**
32
+ * Creates the DNS section which publishes the generated agent project domains.
33
+ *
34
+ * Exactly one of the variants has to be configured, because the wildcard and the single-project records as well as
35
+ * the A and the CNAME records would collide on the same hostname.
36
+ *
37
+ * @param options - Server domain, example project domain, and the public VPS IP address.
38
+ * @returns Generated project domain section.
39
+ *
40
+ * @private shared by the Agents Server DNS instruction views
41
+ */
42
+ export function createAgentProjectsDnsRecordsSection(
43
+ options: CreateAgentProjectsDnsRecordsSectionOptions,
44
+ ): DnsRecordsSection {
45
+ return {
46
+ id: 'agent-projects',
47
+ title: `Project domains under ${options.serverDomain}`,
48
+ description: `Project URLs use a subdomain of ${options.serverDomain}. Configure exactly one of the following setups; do not add both the single-project and the wildcard records, or both the A and the CNAME record for the same hostname.`,
49
+ variantsLabel: 'Project domain setup',
50
+ variants: [
51
+ createAgentProjectsDnsRecordsSectionVariant(options, { isWildcardDomain: true, isCnameRecord: true }),
52
+ createAgentProjectsDnsRecordsSectionVariant(options, { isWildcardDomain: true, isCnameRecord: false }),
53
+ createAgentProjectsDnsRecordsSectionVariant(options, { isWildcardDomain: false, isCnameRecord: true }),
54
+ createAgentProjectsDnsRecordsSectionVariant(options, { isWildcardDomain: false, isCnameRecord: false }),
55
+ ],
56
+ statusSummary: options.isDnsIssue
57
+ ? 'One or more generated project domains do not resolve to this VPS yet. The recommended wildcard CNAME setup is selected below.'
58
+ : null,
59
+ isDnsIssue: options.isDnsIssue,
60
+ };
61
+ }
62
+
63
+ /**
64
+ * Creates one selectable generated project domain setup.
65
+ *
66
+ * @param options - Inputs of the whole section.
67
+ * @param variant - Selected domain coverage and record type.
68
+ * @returns One section variant with its single DNS record.
69
+ *
70
+ * @private function of `createAgentProjectsDnsRecordsSection`
71
+ */
72
+ function createAgentProjectsDnsRecordsSectionVariant(
73
+ options: CreateAgentProjectsDnsRecordsSectionOptions,
74
+ variant: {
75
+ /**
76
+ * Whether the variant covers every generated project domain.
77
+ */
78
+ readonly isWildcardDomain: boolean;
79
+
80
+ /**
81
+ * Whether the variant uses a CNAME instead of an A record.
82
+ */
83
+ readonly isCnameRecord: boolean;
84
+ },
85
+ ): DnsRecordsSectionVariant {
86
+ const { isCnameRecord, isWildcardDomain } = variant;
87
+
88
+ return {
89
+ id: `${isWildcardDomain ? 'wildcard' : 'single-project'}-${isCnameRecord ? 'cname' : 'a'}`,
90
+ label: isWildcardDomain
91
+ ? isCnameRecord
92
+ ? 'Wildcard CNAME (all projects, recommended)'
93
+ : 'Wildcard A record (all projects)'
94
+ : isCnameRecord
95
+ ? 'Single project CNAME'
96
+ : 'Single project A record',
97
+ description: isWildcardDomain
98
+ ? `This covers all generated project domains under ${options.serverDomain}.`
99
+ : options.projectDomain
100
+ ? `This covers one project, for example ${options.projectDomain}. Repeat it for each project that needs a public URL.`
101
+ : 'This covers one generated project. Replace the project name placeholder above with its full hostname.',
102
+ recordSelection: 'one',
103
+ records: [
104
+ createAgentProjectDnsRecord({
105
+ isCnameRecord,
106
+ isWildcardDomain,
107
+ projectDomain: options.projectDomain,
108
+ publicIpAddress: options.publicIpAddress,
109
+ serverDomain: options.serverDomain,
110
+ }),
111
+ ],
112
+ };
113
+ }
@@ -3,15 +3,11 @@ import { readdir, readFile, stat } from 'fs/promises';
3
3
  import { basename, isAbsolute, join, relative, resolve } from 'path';
4
4
  import { NotAllowed } from '../../../../../src/errors/NotAllowed';
5
5
  import { spaceTrim } from '../../../../../src/utils/organization/spaceTrim';
6
+ import { AGENT_PROJECT_INDEX_HTML_FILE_NAMES } from './agentProjectFileNames';
6
7
  import { assertSafeAgentProjectPathSegment } from './agentProjectsPaths';
7
8
  import { isMissingPathError } from './isMissingPathError';
8
9
  import { resolveAgentProjectFileContentType } from './resolveAgentProjectFileContentType';
9
10
 
10
- /**
11
- * Filenames served automatically when a request targets a project directory.
12
- */
13
- const STATIC_DIRECTORY_INDEX_FILENAMES = ['index.html', 'index.htm'] as const;
14
-
15
11
  /**
16
12
  * HTML content type used for generated static directory listings.
17
13
  */
@@ -170,7 +166,7 @@ async function serveStaticProjectDirectory(options: {
170
166
  readonly directoryPath: string;
171
167
  readonly response: ServerResponse;
172
168
  }): Promise<void> {
173
- for (const indexFileName of STATIC_DIRECTORY_INDEX_FILENAMES) {
169
+ for (const indexFileName of AGENT_PROJECT_INDEX_HTML_FILE_NAMES) {
174
170
  const indexFilePath = join(options.directoryPath, indexFileName);
175
171
  const indexFileStats = await stat(indexFilePath).catch((error) => {
176
172
  if (isMissingPathError(error)) {
@@ -0,0 +1,25 @@
1
+ import { capitalize } from '@promptbook-local/utils';
2
+
3
+ /**
4
+ * Separators used between the words of one project directory name.
5
+ */
6
+ const AGENT_PROJECT_NAME_WORD_SEPARATOR_REGEX = /[-_.\s]+/g;
7
+
8
+ /**
9
+ * Converts one project directory name into a human-readable project name.
10
+ *
11
+ * For example `prague-murders-map` becomes `Prague Murders Map`.
12
+ *
13
+ * @param projectName - Project directory name.
14
+ * @returns Human-readable project name, or the original name when it cannot be humanized.
15
+ */
16
+ export function humanizeAgentProjectName(projectName: string): string {
17
+ const humanizedProjectName = projectName
18
+ .trim()
19
+ .split(AGENT_PROJECT_NAME_WORD_SEPARATOR_REGEX)
20
+ .filter((projectNameWord) => projectNameWord !== '')
21
+ .map((projectNameWord) => capitalize(projectNameWord))
22
+ .join(' ');
23
+
24
+ return humanizedProjectName || projectName;
25
+ }
@@ -1,6 +1,7 @@
1
1
  import type { AgentProjectReferenceInfo } from './AgentProjectReferenceInfo';
2
2
  import { listAgentProjectRuntimes } from './agentProjectRuntimeRegistry';
3
3
  import { listAgentProjects } from './listAgentProjects';
4
+ import { resolveAgentProjectPublicUrls } from './resolveAgentProjectPublicUrls';
4
5
 
5
6
  /**
6
7
  * Lists browser-safe project references enriched with their current runtime state for chat.
@@ -11,7 +12,11 @@ import { listAgentProjects } from './listAgentProjects';
11
12
  export async function listAgentProjectChatReferences(
12
13
  agentPermanentId: string,
13
14
  ): Promise<ReadonlyArray<AgentProjectReferenceInfo>> {
14
- const [projects, runtimes] = await Promise.all([listAgentProjects(agentPermanentId), listAgentProjectRuntimes()]);
15
+ const [projects, runtimes, publicUrlByProjectName] = await Promise.all([
16
+ listAgentProjects(agentPermanentId),
17
+ listAgentProjectRuntimes(),
18
+ resolveAgentProjectPublicUrls(agentPermanentId),
19
+ ]);
15
20
  const runtimeByProjectName = new Map(
16
21
  runtimes
17
22
  .filter((runtime) => runtime.agentPermanentId.toLowerCase() === agentPermanentId.toLowerCase())
@@ -19,15 +24,17 @@ export async function listAgentProjectChatReferences(
19
24
  );
20
25
 
21
26
  return projects.map((project) => {
22
- const runtime = runtimeByProjectName.get(project.projectName.toLowerCase());
27
+ const normalizedProjectName = project.projectName.toLowerCase();
28
+ const runtime = runtimeByProjectName.get(normalizedProjectName);
23
29
 
24
30
  return {
25
31
  projectName: project.projectName,
26
32
  displayName: project.displayName,
27
33
  description: project.description,
28
34
  sizeBytes: project.sizeBytes,
35
+ faviconRelativePath: project.faviconRelativePath ?? null,
29
36
  isRunning: runtime?.isRunning ?? false,
30
- projectUrl: runtime?.publicUrl ?? null,
37
+ projectUrl: runtime?.publicUrl ?? publicUrlByProjectName.get(normalizedProjectName) ?? null,
31
38
  };
32
39
  });
33
40
  }
@@ -0,0 +1,167 @@
1
+ /**
2
+ * `rel` values of one `<link/>` tag recognized as the icon of a page, ordered by priority.
3
+ *
4
+ * The values are compared against the `rel` attribute normalized to lowercase single-spaced tokens.
5
+ */
6
+ const FAVICON_LINK_RELATIONS = [
7
+ 'icon',
8
+ 'shortcut icon',
9
+ 'icon shortcut',
10
+ 'apple-touch-icon',
11
+ 'apple-touch-icon-precomposed',
12
+ 'mask-icon',
13
+ ] as const;
14
+
15
+ /**
16
+ * Matches the content of the `<title/>` element of one HTML document.
17
+ */
18
+ const HTML_TITLE_ELEMENT_REGEX = /<title\b[^>]*>([\s\S]*?)<\/title\s*>/i;
19
+
20
+ /**
21
+ * Matches every `<link/>` tag of one HTML document.
22
+ */
23
+ const HTML_LINK_TAG_REGEX = /<link\b[^>]*>/gi;
24
+
25
+ /**
26
+ * Matches one named or numeric HTML entity.
27
+ */
28
+ const HTML_ENTITY_REGEX = /&(#x[0-9a-f]+|#[0-9]+|[a-z]+);/gi;
29
+
30
+ /**
31
+ * Replacements of the named HTML entities which can appear in a title or in an icon path.
32
+ */
33
+ const HTML_ENTITY_REPLACEMENTS: Record<string, string> = {
34
+ amp: '&',
35
+ apos: "'",
36
+ gt: '>',
37
+ lt: '<',
38
+ nbsp: ' ',
39
+ quot: '"',
40
+ };
41
+
42
+ /**
43
+ * Highest code point which can be decoded from a numeric HTML entity.
44
+ */
45
+ const MAXIMUM_UNICODE_CODE_POINT = 0x10ffff;
46
+
47
+ /**
48
+ * Presentation of one project resolved from its `index.html`.
49
+ */
50
+ export type AgentProjectIndexHtmlProfile = {
51
+ /**
52
+ * Content of the `<title/>` element, or `null` when the document has no usable title.
53
+ */
54
+ readonly title: string | null;
55
+
56
+ /**
57
+ * Icon `href` exactly as written in the document, or `null` when no icon is linked.
58
+ */
59
+ readonly faviconHref: string | null;
60
+ };
61
+
62
+ /**
63
+ * Parses the presentation of one project out of its `index.html`.
64
+ *
65
+ * Only the title and the linked icon are read, so the document is scanned with plain regular
66
+ * expressions instead of pulling a full HTML parser into the Agents Server.
67
+ *
68
+ * @param indexHtmlContent - Content of the project `index.html`.
69
+ * @returns Title and icon href found in the document.
70
+ */
71
+ export function parseAgentProjectIndexHtml(indexHtmlContent: string): AgentProjectIndexHtmlProfile {
72
+ return {
73
+ title: parseIndexHtmlTitle(indexHtmlContent),
74
+ faviconHref: parseIndexHtmlFaviconHref(indexHtmlContent),
75
+ };
76
+ }
77
+
78
+ /**
79
+ * Parses the `<title/>` of one HTML document.
80
+ *
81
+ * @param indexHtmlContent - Content of the project `index.html`.
82
+ * @returns Single-line title, or `null` when the document has no non-empty title.
83
+ */
84
+ function parseIndexHtmlTitle(indexHtmlContent: string): string | null {
85
+ const titleMatch = HTML_TITLE_ELEMENT_REGEX.exec(indexHtmlContent);
86
+ if (!titleMatch || titleMatch[1] === undefined) {
87
+ return null;
88
+ }
89
+
90
+ const title = decodeHtmlEntities(titleMatch[1]).replace(/\s+/gu, ' ').trim();
91
+ return title || null;
92
+ }
93
+
94
+ /**
95
+ * Parses the icon `href` linked by one HTML document.
96
+ *
97
+ * @param indexHtmlContent - Content of the project `index.html`.
98
+ * @returns Icon href of the best matching `<link/>` tag, or `null` when no icon is linked.
99
+ */
100
+ function parseIndexHtmlFaviconHref(indexHtmlContent: string): string | null {
101
+ let bestFaviconHref: string | null = null;
102
+ let bestFaviconRelationIndex: number = FAVICON_LINK_RELATIONS.length;
103
+
104
+ for (const linkTag of indexHtmlContent.match(HTML_LINK_TAG_REGEX) || []) {
105
+ const linkRelation = parseHtmlTagAttribute(linkTag, 'rel');
106
+ const linkHref = parseHtmlTagAttribute(linkTag, 'href');
107
+ if (linkRelation === null || !linkHref) {
108
+ continue;
109
+ }
110
+
111
+ const relationIndex = FAVICON_LINK_RELATIONS.indexOf(
112
+ linkRelation.toLowerCase().replace(/\s+/gu, ' ').trim() as (typeof FAVICON_LINK_RELATIONS)[number],
113
+ );
114
+ if (relationIndex === -1 || relationIndex >= bestFaviconRelationIndex) {
115
+ continue;
116
+ }
117
+
118
+ bestFaviconHref = linkHref;
119
+ bestFaviconRelationIndex = relationIndex;
120
+ }
121
+
122
+ return bestFaviconHref;
123
+ }
124
+
125
+ /**
126
+ * Parses one attribute out of a single HTML tag.
127
+ *
128
+ * @param htmlTag - One complete HTML tag including its angle brackets.
129
+ * @param attributeName - Lowercase attribute name.
130
+ * @returns Decoded attribute value, or `null` when the tag does not have the attribute.
131
+ */
132
+ function parseHtmlTagAttribute(htmlTag: string, attributeName: string): string | null {
133
+ const attributeMatch = new RegExp(`\\b${attributeName}\\s*=\\s*("[^"]*"|'[^']*'|[^\\s"'>]+)`, 'i').exec(htmlTag);
134
+ if (!attributeMatch || attributeMatch[1] === undefined) {
135
+ return null;
136
+ }
137
+
138
+ const rawAttributeValue = attributeMatch[1];
139
+ const isQuotedAttributeValue =
140
+ (rawAttributeValue.startsWith('"') && rawAttributeValue.endsWith('"')) ||
141
+ (rawAttributeValue.startsWith("'") && rawAttributeValue.endsWith("'"));
142
+
143
+ return decodeHtmlEntities(isQuotedAttributeValue ? rawAttributeValue.slice(1, -1) : rawAttributeValue).trim();
144
+ }
145
+
146
+ /**
147
+ * Decodes the HTML entities which can appear in a title or in an icon path.
148
+ *
149
+ * @param htmlText - Raw text taken from an HTML document.
150
+ * @returns Plain text.
151
+ */
152
+ function decodeHtmlEntities(htmlText: string): string {
153
+ return htmlText.replace(HTML_ENTITY_REGEX, (entity, entityName: string) => {
154
+ if (entityName.startsWith('#')) {
155
+ const characterCode = entityName.startsWith('#x')
156
+ ? Number.parseInt(entityName.slice(2), 16)
157
+ : Number.parseInt(entityName.slice(1), 10);
158
+
159
+ const isDecodableCharacterCode =
160
+ Number.isInteger(characterCode) && characterCode >= 0 && characterCode <= MAXIMUM_UNICODE_CODE_POINT;
161
+
162
+ return isDecodableCharacterCode ? String.fromCodePoint(characterCode) : entity;
163
+ }
164
+
165
+ return HTML_ENTITY_REPLACEMENTS[entityName.toLowerCase()] ?? entity;
166
+ });
167
+ }
@@ -0,0 +1,24 @@
1
+ import { AGENT_PROJECT_INDEX_HTML_FILE_NAMES } from './agentProjectFileNames';
2
+ import { parseAgentProjectIndexHtml, type AgentProjectIndexHtmlProfile } from './parseAgentProjectIndexHtml';
3
+ import { readAgentProjectRootTextFile } from './readAgentProjectRootTextFile';
4
+
5
+ /**
6
+ * Reads the presentation of one project from the `index.html` in its root.
7
+ *
8
+ * Only the root `index.html` is read, because it is the document the project serves on its own
9
+ * public URL — a nested one belongs to a build output or to a subpage of the project.
10
+ *
11
+ * @param projectPath - Absolute path of the project directory.
12
+ * @returns Title and icon href of the project, or `null` when the project has no `index.html`.
13
+ */
14
+ export async function readAgentProjectIndexHtmlProfile(
15
+ projectPath: string,
16
+ ): Promise<AgentProjectIndexHtmlProfile | null> {
17
+ const indexHtml = await readAgentProjectRootTextFile(projectPath, AGENT_PROJECT_INDEX_HTML_FILE_NAMES);
18
+
19
+ if (indexHtml === null) {
20
+ return null;
21
+ }
22
+
23
+ return parseAgentProjectIndexHtml(indexHtml.content);
24
+ }
@@ -1,6 +1,4 @@
1
- import { readdir, readFile } from 'fs/promises';
2
- import { join } from 'path';
3
- import { isMissingPathError } from './isMissingPathError';
1
+ import { readAgentProjectRootTextFile, type AgentProjectRootTextFile } from './readAgentProjectRootTextFile';
4
2
 
5
3
  /**
6
4
  * README filenames recognized inside project roots, ordered by display priority.
@@ -10,17 +8,7 @@ const AGENT_PROJECT_README_FILE_NAMES = ['readme.md', 'readme.markdown', 'readme
10
8
  /**
11
9
  * README file loaded from one agent project.
12
10
  */
13
- export type AgentProjectReadme = {
14
- /**
15
- * Original filename used on disk.
16
- */
17
- readonly fileName: string;
18
-
19
- /**
20
- * README content decoded as UTF-8 text.
21
- */
22
- readonly content: string;
23
- };
11
+ export type AgentProjectReadme = AgentProjectRootTextFile;
24
12
 
25
13
  /**
26
14
  * Reads the first recognized README file from a project directory.
@@ -29,43 +17,5 @@ export type AgentProjectReadme = {
29
17
  * @returns README content, or `null` when the project has no recognized README file.
30
18
  */
31
19
  export async function readAgentProjectReadme(projectPath: string): Promise<AgentProjectReadme | null> {
32
- let projectRootEntries;
33
-
34
- try {
35
- projectRootEntries = await readdir(projectPath, { withFileTypes: true });
36
- } catch (error) {
37
- if (isMissingPathError(error)) {
38
- return null;
39
- }
40
-
41
- throw error;
42
- }
43
-
44
- const projectFileNameByNormalizedName = new Map(
45
- projectRootEntries
46
- .filter((projectRootEntry) => projectRootEntry.isFile())
47
- .map((projectRootEntry) => [projectRootEntry.name.toLowerCase(), projectRootEntry.name]),
48
- );
49
-
50
- for (const readmeFileName of AGENT_PROJECT_README_FILE_NAMES) {
51
- const projectReadmeFileName = projectFileNameByNormalizedName.get(readmeFileName);
52
- if (!projectReadmeFileName) {
53
- continue;
54
- }
55
-
56
- try {
57
- return {
58
- fileName: projectReadmeFileName,
59
- content: await readFile(join(projectPath, projectReadmeFileName), 'utf-8'),
60
- };
61
- } catch (error) {
62
- if (isMissingPathError(error)) {
63
- return null;
64
- }
65
-
66
- throw error;
67
- }
68
- }
69
-
70
- return null;
20
+ return readAgentProjectRootTextFile(projectPath, AGENT_PROJECT_README_FILE_NAMES);
71
21
  }