@promptbook/cli 0.113.0-8 → 0.113.0-9

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 (575) hide show
  1. package/apps/agents-server/next.config.ts +6 -3
  2. package/apps/agents-server/src/app/admin/resource-monitor/page.tsx +456 -0
  3. package/apps/agents-server/src/app/admin/task-manager/TaskManagerClient.tsx +14 -2
  4. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskLogActions.tsx +150 -0
  5. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +58 -18
  6. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskTerminalDialog.tsx +125 -0
  7. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTasksCard.tsx +3 -1
  8. package/apps/agents-server/src/app/admin/task-manager/page.tsx +3 -2
  9. package/apps/agents-server/src/app/admin/update/AdvancedOriginRepositoryPanel.tsx +14 -9
  10. package/apps/agents-server/src/app/admin/update/AutomaticSelfUpdateConfigurationCard.tsx +93 -0
  11. package/apps/agents-server/src/app/admin/update/CurrentDeploymentCard.tsx +15 -13
  12. package/apps/agents-server/src/app/admin/update/CustomCommitPicker.tsx +10 -10
  13. package/apps/agents-server/src/app/admin/update/InstalledVersionsCard.tsx +112 -0
  14. package/apps/agents-server/src/app/admin/update/PendingCommitsCard.tsx +9 -8
  15. package/apps/agents-server/src/app/admin/update/TargetEnvironmentCard.tsx +14 -14
  16. package/apps/agents-server/src/app/admin/update/UpdateClient.tsx +18 -8
  17. package/apps/agents-server/src/app/admin/update/UpdateDatabaseMigrationsPanel.tsx +305 -0
  18. package/apps/agents-server/src/app/admin/update/UpdateJobCard.tsx +29 -8
  19. package/apps/agents-server/src/app/admin/update/UpdateOverview.ts +68 -0
  20. package/apps/agents-server/src/app/admin/update/updatePageCardClassName.ts +6 -0
  21. package/apps/agents-server/src/app/admin/update/useUpdateClientState.ts +241 -7
  22. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +17 -3
  23. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +6 -2
  24. package/apps/agents-server/src/app/api/admin/chat-tasks/[taskId]/terminal/route.ts +52 -0
  25. package/apps/agents-server/src/app/api/admin/update/route.ts +55 -8
  26. package/apps/agents-server/src/app/api/admin/update/versions/route.ts +34 -0
  27. package/apps/agents-server/src/app/api/auth/shibboleth/acs/route.ts +4 -2
  28. package/apps/agents-server/src/app/api/auth/shibboleth/login/route.ts +3 -1
  29. package/apps/agents-server/src/app/api/auth/shibboleth/metadata/route.ts +5 -2
  30. package/apps/agents-server/src/app/api/auth/shibboleth/status/route.ts +5 -2
  31. package/apps/agents-server/src/app/layout.tsx +39 -25
  32. package/apps/agents-server/src/components/AgentAvatar/AgentAvatar.tsx +1 -1
  33. package/apps/agents-server/src/components/AgentAvatar/DefaultAgentAvatarVisualProvider.tsx +1 -1
  34. package/apps/agents-server/src/components/Header/Header.tsx +16 -3
  35. package/apps/agents-server/src/components/Header/HeaderTypes.ts +6 -0
  36. package/apps/agents-server/src/components/Header/buildAgentMenuStructure.tsx +6 -4
  37. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +13 -1
  38. package/apps/agents-server/src/components/Homepage/useAgentsListState.ts +1 -1
  39. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +21 -5
  40. package/apps/agents-server/src/constants/defaultAgentAvatarVisual.ts +4 -3
  41. package/apps/agents-server/src/database/metadataDefaults.ts +1 -1
  42. package/apps/agents-server/src/database/migrate.ts +25 -1
  43. package/apps/agents-server/src/database/migratePrefix.ts +24 -0
  44. package/apps/agents-server/src/database/runDatabaseMigrations.ts +9 -1
  45. package/apps/agents-server/src/instrumentation-node.ts +15 -0
  46. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +1 -0
  47. package/apps/agents-server/src/languages/translations/czech.yaml +1 -0
  48. package/apps/agents-server/src/languages/translations/english.yaml +1 -0
  49. package/apps/agents-server/src/{components/Homepage → utils/agentOrganization}/hiddenFolders.ts +49 -29
  50. package/apps/agents-server/src/utils/chat/createAttachmentAwareCitationLabelResolver.ts +147 -0
  51. package/apps/agents-server/src/utils/chatTasksAdmin.ts +1 -1
  52. package/apps/agents-server/src/utils/externalChatRunner/processExternalUserChatJob.ts +11 -5
  53. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/GetAdminChatTasksData.ts +12 -0
  54. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +264 -0
  55. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlValues.ts +35 -0
  56. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskTimeUtilities.ts +30 -0
  57. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/compareAdminChatTasks.ts +135 -0
  58. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/createAdminChatTaskCounters.ts +29 -0
  59. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/filterAdminChatTasks.ts +78 -0
  60. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaClientSql.ts +62 -0
  61. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaSupabaseQuery.ts +29 -0
  62. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +193 -0
  63. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +99 -0
  64. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +94 -0
  65. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks.ts +4 -947
  66. package/apps/agents-server/src/utils/getAdminChatTasksResponse/mapVpsSelfUpdateJobToAdminChatTask.ts +18 -5
  67. package/apps/agents-server/src/utils/getAdminChatTasksResponse.ts +57 -21
  68. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +20 -5
  69. package/apps/agents-server/src/utils/pagePreviewBrowserSessions.ts +13 -1
  70. package/apps/agents-server/src/utils/resourceMonitor/formatResourceMonitorValue.ts +50 -0
  71. package/apps/agents-server/src/utils/resourceMonitor/readCpuResourceUsage.ts +75 -0
  72. package/apps/agents-server/src/utils/resourceMonitor/readDiskResourceUsage.ts +42 -0
  73. package/apps/agents-server/src/utils/resourceMonitor/readMemoryResourceUsage.ts +28 -0
  74. package/apps/agents-server/src/utils/resourceMonitor/readNetworkResourceUsage.ts +271 -0
  75. package/apps/agents-server/src/utils/resourceMonitor/readServerResourceMonitorSnapshot.ts +47 -0
  76. package/apps/agents-server/src/utils/resourceMonitor/resolveServerResourceWarningStatus.ts +72 -0
  77. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorConstants.ts +29 -0
  78. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorTypes.ts +155 -0
  79. package/apps/agents-server/src/utils/resourceMonitor/waitForResourceMonitorSample.ts +11 -0
  80. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethSamlClient.ts +35 -0
  81. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethServiceProviderMetadataXml.ts +25 -0
  82. package/apps/agents-server/src/utils/shibbolethAuthentication/extractShibbolethProfileAttributes.ts +173 -0
  83. package/apps/agents-server/src/utils/shibbolethAuthentication/fetchIdentityProviderMetadataXml.ts +21 -0
  84. package/apps/agents-server/src/utils/shibbolethAuthentication/findOrCreateShibbolethUser.ts +323 -0
  85. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethAuthenticationAttemptTableName.ts +13 -0
  86. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethRequestDetails.ts +19 -0
  87. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethUserIdentityTableName.ts +13 -0
  88. package/apps/agents-server/src/utils/shibbolethAuthentication/parseIdentityProviderMetadataXml.ts +110 -0
  89. package/apps/agents-server/src/utils/shibbolethAuthentication/recordShibbolethAuthenticationAttempt.ts +57 -0
  90. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethAuthenticationConfiguration.ts +78 -0
  91. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethPublicRequestUrl.ts +101 -0
  92. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethServiceProviderUrls.ts +63 -0
  93. package/apps/agents-server/src/utils/shibbolethAuthentication/sanitizeShibbolethRelayState.ts +17 -0
  94. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationConstants.ts +62 -0
  95. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationTypes.ts +105 -0
  96. package/apps/agents-server/src/utils/shibbolethAuthentication.ts +25 -957
  97. package/apps/agents-server/src/utils/taskTerminal/resolveAdminTaskTerminalSession.ts +322 -0
  98. package/apps/agents-server/src/utils/taskTerminal/runWithTaskTerminalCapture.ts +134 -0
  99. package/apps/agents-server/src/utils/taskTerminal/taskTerminalLog.ts +360 -0
  100. package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +16 -0
  101. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateUserChatTimeoutTerminalState.ts +3 -0
  102. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +4 -1
  103. package/apps/agents-server/src/utils/vpsConfiguration.ts +4 -0
  104. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +81 -0
  105. package/apps/agents-server/src/utils/vpsSelfUpdate/listVpsSelfUpdateCandidateCommits.ts +217 -0
  106. package/apps/agents-server/src/utils/vpsSelfUpdate/readPersistedVpsSelfUpdateJob.ts +310 -0
  107. package/apps/agents-server/src/utils/vpsSelfUpdate/readVpsSelfUpdateOverview.ts +178 -0
  108. package/apps/agents-server/src/utils/vpsSelfUpdate/resolveVpsSelfUpdateJobForOverview.ts +42 -0
  109. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +201 -0
  110. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateAutomaticConfiguration.ts +152 -0
  111. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateConfiguration.ts +81 -0
  112. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +357 -0
  113. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateEnvironment.ts +120 -0
  114. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateInstalledVersions.ts +162 -0
  115. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobConstants.ts +15 -0
  116. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobHistory.ts +387 -0
  117. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobIdentity.ts +26 -0
  118. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateOriginRepository.ts +90 -0
  119. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateRepository.ts +286 -0
  120. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateScheduler.ts +191 -0
  121. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateStateFiles.ts +197 -0
  122. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateTypes.ts +452 -0
  123. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +66 -1547
  124. package/esm/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  125. package/esm/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  126. package/esm/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  127. package/esm/index.es.js +28566 -27913
  128. package/esm/index.es.js.map +1 -1
  129. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  130. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  131. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  132. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  133. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  134. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  135. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  136. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  137. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  138. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  139. package/esm/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  140. package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +6 -4
  141. package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +30 -5
  142. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +7 -1
  143. package/esm/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  144. package/esm/src/_packages/types.index.d.ts +2 -2
  145. package/esm/src/avatars/renderAvatarVisualAsciiArt.d.ts +24 -1
  146. package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  147. package/esm/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  148. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  149. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  150. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  151. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  152. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  153. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  154. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  155. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  156. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  157. package/esm/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  158. package/esm/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  159. package/esm/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  160. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  161. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  162. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  163. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  164. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  165. package/esm/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  166. package/esm/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  167. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  168. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  169. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  170. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  171. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  172. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  173. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  174. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  175. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  176. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  177. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  178. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  179. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  180. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  181. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  182. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  183. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  184. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  185. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  186. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  187. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  188. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  189. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  190. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  191. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  192. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  193. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  194. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  195. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  196. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  197. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  198. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  199. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  200. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  201. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  202. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  203. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  204. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  205. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  206. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  207. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  208. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  209. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  210. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  211. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  212. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  213. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  214. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  215. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  216. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  217. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  218. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  219. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  220. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  221. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  222. package/esm/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  223. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  224. package/esm/src/commitments/META/META.d.ts +2 -2
  225. package/esm/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  226. package/esm/src/commitments/index.d.ts +1 -1
  227. package/esm/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  228. package/esm/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  229. package/esm/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  230. package/esm/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  231. package/esm/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  232. package/esm/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  233. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  234. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  235. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  236. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  237. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  238. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  239. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  240. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  241. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  242. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  243. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  244. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  245. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  246. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  247. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  248. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  249. package/esm/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  250. package/esm/src/utils/color/Color.d.ts +1 -1
  251. package/esm/src/version.d.ts +1 -1
  252. package/package.json +1 -1
  253. package/src/_packages/types.index.ts +2 -2
  254. package/src/avatars/Avatar.tsx +2 -13
  255. package/src/avatars/renderAvatarVisual.ts +2 -13
  256. package/src/avatars/renderAvatarVisualAsciiArt.ts +137 -18
  257. package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +1 -6
  258. package/src/avatars/visuals/avatarVisualRegistry.ts +1 -1
  259. package/src/avatars/visuals/minecraft2AvatarVisual.ts +1 -2
  260. package/src/avatars/visuals/octopus2AvatarVisual.ts +1 -5
  261. package/src/avatars/visuals/octopus3AvatarVisual.ts +1 -8
  262. package/src/avatars/visuals/octopus3d2AvatarVisual.ts +4 -13
  263. package/src/avatars/visuals/octopus3d3AvatarVisual.ts +4 -13
  264. package/src/avatars/visuals/octopus3d4AvatarVisual.ts +4 -13
  265. package/src/avatars/visuals/octopus3dAvatarVisual.ts +3 -3
  266. package/src/avatars/visuals/octopus3dAvatarVisualShared.ts +2 -7
  267. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +2 -1
  268. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +3 -5
  269. package/src/book-3.0/CliAgent.ts +1 -7
  270. package/src/book-3.0/LiteAgent.ts +5 -5
  271. package/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.tsx +1 -4
  272. package/src/book-components/BookEditor/BookEditor.tsx +2 -2
  273. package/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.tsx +3 -2
  274. package/src/book-components/BookEditor/BookEditorActionbar.tsx +1 -1
  275. package/src/book-components/BookEditor/BookEditorMonaco.tsx +2 -2
  276. package/src/book-components/BookEditor/BookEditorMonacoUploadPanel.tsx +1 -1
  277. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  278. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +1 -1
  279. package/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.ts +147 -0
  280. package/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.ts +10 -0
  281. package/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.ts +209 -0
  282. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.ts +164 -0
  283. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.ts +121 -0
  284. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.ts +81 -0
  285. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.ts +360 -0
  286. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.ts +47 -0
  287. package/src/book-components/BookEditor/useBookEditorMonacoUploads.ts +10 -1067
  288. package/src/book-components/Chat/Chat/Chat.module.css +159 -0
  289. package/src/book-components/Chat/Chat/Chat.tsx +16 -1
  290. package/src/book-components/Chat/Chat/ChatCitationModal.tsx +2 -2
  291. package/src/book-components/Chat/Chat/ChatImageAttachmentModal.tsx +108 -0
  292. package/src/book-components/Chat/Chat/ChatInputArea.tsx +43 -27
  293. package/src/book-components/Chat/Chat/ChatMessageAttachments.tsx +212 -0
  294. package/src/book-components/Chat/Chat/ChatMessageItem.tsx +32 -18
  295. package/src/book-components/Chat/Chat/ChatMessageList.tsx +3 -0
  296. package/src/book-components/Chat/Chat/ChatProps.tsx +9 -0
  297. package/src/book-components/Chat/Chat/renderTimeoutToolCallDetails.tsx +1 -5
  298. package/src/book-components/Chat/Chat/useChatInputAreaComposer.ts +59 -7
  299. package/src/book-components/Chat/Chat/useChatInputAreaDictation.ts +7 -7
  300. package/src/book-components/Chat/Chat/useChatToolCallModalState.ts +1 -4
  301. package/src/book-components/Chat/hooks/useChatRatings.ts +1 -1
  302. package/src/book-components/Chat/save/html/htmlSaveFormatDefinition.ts +2 -3
  303. package/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.ts +2 -2
  304. package/src/book-components/Chat/save/pdf/buildChatPdf.ts +1 -1
  305. package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +1 -5
  306. package/src/book-components/Chat/utils/isVisibleChatToolCall.ts +2 -1
  307. package/src/book-components/Chat/utils/parseMessageButtons.ts +27 -2
  308. package/src/cli/cli-commands/about.ts +1 -1
  309. package/src/cli/cli-commands/agent/agentCliOptions.ts +2 -5
  310. package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +6 -12
  311. package/src/cli/cli-commands/agent-folder/init.ts +3 -8
  312. package/src/cli/cli-commands/agent-folder/initializeAgentProjectConfiguration.ts +2 -11
  313. package/src/cli/cli-commands/agent-folder/printAgentInitializationSummary.ts +2 -9
  314. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.ts +6 -0
  315. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.ts +6 -0
  316. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.ts +6 -0
  317. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.ts +11 -0
  318. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.ts +9 -0
  319. package/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.ts +6 -0
  320. package/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.ts +19 -0
  321. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.ts +71 -0
  322. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +69 -0
  323. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +59 -0
  324. package/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.ts +23 -0
  325. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.ts +20 -0
  326. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.ts +17 -0
  327. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.ts +27 -0
  328. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.ts +21 -0
  329. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.ts +22 -0
  330. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.ts +30 -0
  331. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.ts +41 -0
  332. package/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.ts +14 -0
  333. package/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.ts +10 -0
  334. package/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.ts +10 -0
  335. package/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.ts +31 -0
  336. package/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.ts +35 -0
  337. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.ts +33 -0
  338. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.ts +30 -0
  339. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.ts +19 -0
  340. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.ts +21 -0
  341. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.ts +19 -0
  342. package/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.ts +184 -0
  343. package/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.ts +48 -0
  344. package/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.ts +179 -0
  345. package/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.ts +28 -0
  346. package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +22 -1045
  347. package/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.ts +2 -1
  348. package/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.ts +2 -1
  349. package/src/cli/cli-commands/agents-server/run.ts +2 -5
  350. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.ts +67 -0
  351. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.ts +43 -0
  352. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.ts +44 -0
  353. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.ts +59 -0
  354. package/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.ts +9 -0
  355. package/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.ts +14 -0
  356. package/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.ts +26 -0
  357. package/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.ts +15 -0
  358. package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +29 -0
  359. package/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.ts +32 -0
  360. package/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.ts +18 -0
  361. package/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.ts +81 -0
  362. package/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.ts +52 -0
  363. package/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.ts +17 -0
  364. package/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.ts +97 -0
  365. package/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.ts +132 -0
  366. package/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.ts +14 -0
  367. package/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.ts +132 -0
  368. package/src/cli/cli-commands/agents-server/startAgentsServer.ts +24 -797
  369. package/src/cli/cli-commands/agents-server.ts +2 -6
  370. package/src/cli/cli-commands/coder/agentCodingFile.ts +1 -7
  371. package/src/cli/cli-commands/coder/generate-boilerplates.ts +2 -6
  372. package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +2 -7
  373. package/src/cli/cli-commands/coder/server.ts +4 -2
  374. package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +3 -8
  375. package/src/cli/cli-commands/make.ts +1 -1
  376. package/src/cli/cli-commands/run/runCommandAction.ts +1 -1
  377. package/src/collection/agent-collection/CreateAgentInput.ts +2 -5
  378. package/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.ts +1 -1
  379. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +1 -10
  380. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +1 -10
  381. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +1 -6
  382. package/src/commitments/META/META.ts +4 -4
  383. package/src/commitments/META_AVATAR/META_AVATAR.ts +16 -10
  384. package/src/commitments/USE_CALENDAR/createUseCalendarToolFunctions.ts +1 -4
  385. package/src/commitments/USE_PROJECT/createUseProjectToolFunctions.ts +2 -10
  386. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +1 -11
  387. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +1 -6
  388. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +1 -6
  389. package/src/commitments/WALLET/createWalletToolFunctions.ts +2 -11
  390. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +1 -6
  391. package/src/commitments/WALLET/parseWalletToolArgs.ts +1 -10
  392. package/src/commitments/index.ts +1 -0
  393. package/src/conversion/parsePipeline/applyPipelineHead.ts +1 -1
  394. package/src/conversion/parsePipeline/createUniqueSectionNameResolver.ts +1 -1
  395. package/src/conversion/parsePipeline/processPipelineSection.ts +1 -1
  396. package/src/conversion/validation/validatePipeline/createPipelineValidationContext.ts +43 -0
  397. package/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.ts +72 -0
  398. package/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.ts +220 -0
  399. package/src/conversion/validation/validatePipeline/validatePipelineMetadata.ts +66 -0
  400. package/src/conversion/validation/validatePipeline/validatePipelineParameters.ts +136 -0
  401. package/src/conversion/validation/validatePipeline/validatePipelineTasks.ts +243 -0
  402. package/src/conversion/validation/validatePipeline.ts +7 -750
  403. package/src/execution/LlmExecutionTools.ts +1 -6
  404. package/src/execution/createPipelineExecutor/getReservedParametersForTask.ts +1 -5
  405. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.ts +51 -0
  406. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.ts +30 -0
  407. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.ts +62 -0
  408. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.ts +10 -0
  409. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.ts +75 -0
  410. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.ts +101 -0
  411. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.ts +24 -0
  412. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.ts +17 -0
  413. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.ts +15 -0
  414. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.ts +19 -0
  415. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.ts +44 -0
  416. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.ts +21 -0
  417. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.ts +97 -0
  418. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.ts +17 -0
  419. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.ts +30 -0
  420. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.ts +32 -0
  421. package/src/llm-providers/_common/register/$registeredLlmToolsMessage.ts +5 -568
  422. package/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.ts +1 -6
  423. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +2 -2
  424. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  425. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +2 -2
  426. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  427. package/src/llm-providers/openai/OpenAiCompatibleExecutionTools.ts +2 -7
  428. package/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.ts +1 -1
  429. package/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.ts +2 -2
  430. package/src/llm-providers/openai/utils/OpenAiCompatibleUnsupportedParameterRetrier.ts +1 -5
  431. package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +1 -6
  432. package/src/other/templates/getTemplatesPipelineCollection.ts +692 -774
  433. package/src/remote-server/startRemoteServer/registerExecutionRoutes.ts +1 -1
  434. package/src/remote-server/startRemoteServer/registerServerIndexRoute.ts +1 -1
  435. package/src/scrapers/_common/utils/makeKnowledgeSourceHandler.ts +1 -6
  436. package/src/speech-recognition/OpenAiSpeechRecognition.ts +1 -6
  437. package/src/transpilers/_common/prepareSdkTranspilerContext.ts +1 -4
  438. package/src/types/Prompt.ts +1 -7
  439. package/src/types/string_host.ts +1 -9
  440. package/src/types/string_pipeline_url.ts +1 -4
  441. package/src/utils/agents/resolveAgentAvatarImageUrl.ts +2 -2
  442. package/src/utils/color/Color.ts +2 -2
  443. package/src/utils/markdown/parseMarkdownSection.ts +1 -5
  444. package/src/utils/random/$randomFullnameWithColor.ts +1 -6
  445. package/src/version.ts +2 -2
  446. package/src/versions.txt +1 -0
  447. package/umd/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  448. package/umd/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  449. package/umd/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  450. package/umd/index.umd.js +28568 -27915
  451. package/umd/index.umd.js.map +1 -1
  452. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  453. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  454. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  455. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  456. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  457. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  458. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  459. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  460. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  461. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  462. package/umd/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  463. package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +6 -4
  464. package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +30 -5
  465. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +7 -1
  466. package/umd/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  467. package/umd/src/_packages/types.index.d.ts +2 -2
  468. package/umd/src/avatars/renderAvatarVisualAsciiArt.d.ts +24 -1
  469. package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  470. package/umd/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  471. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  472. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  473. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  474. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  475. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  476. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  477. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  478. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  479. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  480. package/umd/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  481. package/umd/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  482. package/umd/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  483. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  484. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  485. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  486. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  487. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  488. package/umd/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  489. package/umd/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  490. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  491. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  492. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  493. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  494. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  495. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  496. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  497. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  498. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  499. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  500. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  501. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  502. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  503. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  504. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  505. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  506. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  507. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  508. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  509. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  510. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  511. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  512. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  513. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  514. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  515. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  516. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  517. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  518. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  519. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  520. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  521. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  522. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  523. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  524. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  525. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  526. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  527. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  528. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  529. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  530. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  531. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  532. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  533. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  534. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  535. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  536. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  537. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  538. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  539. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  540. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  541. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  542. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  543. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  544. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  545. package/umd/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  546. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  547. package/umd/src/commitments/META/META.d.ts +2 -2
  548. package/umd/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  549. package/umd/src/commitments/index.d.ts +1 -1
  550. package/umd/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  551. package/umd/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  552. package/umd/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  553. package/umd/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  554. package/umd/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  555. package/umd/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  556. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  557. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  558. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  559. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  560. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  561. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  562. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  563. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  564. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  565. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  566. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  567. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  568. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  569. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  570. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  571. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  572. package/umd/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  573. package/umd/src/utils/color/Color.d.ts +1 -1
  574. package/umd/src/version.d.ts +1 -1
  575. package/apps/agents-server/src/utils/userChat/createUserChatRunnerProgressCard.ts +0 -57
@@ -0,0 +1,212 @@
1
+ 'use client';
2
+
3
+ import { useState, type CSSProperties } from 'react';
4
+ import { classNames } from '../../_common/react-utils/classNames';
5
+ import { CloseIcon } from '../../icons/CloseIcon';
6
+ import type { ChatMessage } from '../types/ChatMessage';
7
+ import styles from './Chat.module.css';
8
+ import { ChatImageAttachmentModal } from './ChatImageAttachmentModal';
9
+
10
+ /**
11
+ * One uploaded file attached to a chat message.
12
+ *
13
+ * @private type of `<Chat/>`
14
+ */
15
+ export type ChatMessageAttachment = NonNullable<ChatMessage['attachments']>[number];
16
+
17
+ /**
18
+ * File extensions treated as image attachments when the MIME type is missing.
19
+ *
20
+ * @private constant of `<ChatMessageAttachments/>`
21
+ */
22
+ const IMAGE_ATTACHMENT_EXTENSIONS = new Set(['avif', 'gif', 'jpg', 'jpeg', 'png', 'svg', 'webp']);
23
+
24
+ /**
25
+ * Props accepted by the shared attachment chip list.
26
+ *
27
+ * @private props of `<Chat/>`
28
+ */
29
+ type ChatMessageAttachmentsProps = {
30
+ readonly attachments: ReadonlyArray<ChatMessageAttachment>;
31
+ readonly mode: 'LIGHT' | 'DARK';
32
+ readonly className?: string;
33
+ readonly style?: CSSProperties;
34
+ readonly onRemoveAttachment?: (attachment: ChatMessageAttachment, attachmentIndex: number) => void;
35
+ };
36
+
37
+ /**
38
+ * Returns whether the attachment should open in the in-chat image preview.
39
+ *
40
+ * @private function of `<ChatMessageAttachments/>`
41
+ */
42
+ function isImageChatMessageAttachment(attachment: ChatMessageAttachment): boolean {
43
+ if (attachment.type.toLowerCase().startsWith('image/')) {
44
+ return true;
45
+ }
46
+
47
+ const extension =
48
+ getChatMessageAttachmentExtension(attachment.url) || getChatMessageAttachmentExtension(attachment.name);
49
+
50
+ return Boolean(extension && IMAGE_ATTACHMENT_EXTENSIONS.has(extension));
51
+ }
52
+
53
+ /**
54
+ * Gets a file extension from an attachment URL or name.
55
+ *
56
+ * @private function of `<ChatMessageAttachments/>`
57
+ */
58
+ function getChatMessageAttachmentExtension(value: string): string | null {
59
+ const pathname = value.split(/[?#]/)[0] ?? '';
60
+ const filename = pathname.split(/[\\/]/).pop();
61
+
62
+ if (!filename || !filename.includes('.')) {
63
+ return null;
64
+ }
65
+
66
+ return filename.split('.').pop()?.toLowerCase() || null;
67
+ }
68
+
69
+ /**
70
+ * Renders the shared clickable body of one attachment chip.
71
+ *
72
+ * @private component of `<ChatMessageAttachments/>`
73
+ */
74
+ function ChatMessageAttachmentChipBody(props: {
75
+ readonly attachment: ChatMessageAttachment;
76
+ readonly isImageAttachment: boolean;
77
+ readonly className?: string;
78
+ readonly onOpenImageAttachment: (attachment: ChatMessageAttachment) => void;
79
+ }) {
80
+ const { attachment, isImageAttachment, className, onOpenImageAttachment } = props;
81
+ const content = (
82
+ <>
83
+ <span className={styles.attachmentIcon}>📎</span>
84
+ <span className={styles.attachmentName}>{attachment.name}</span>
85
+ </>
86
+ );
87
+
88
+ if (isImageAttachment) {
89
+ return (
90
+ <button
91
+ type="button"
92
+ className={className || styles.attachment}
93
+ title={attachment.name}
94
+ aria-label={`Open image attachment ${attachment.name}`}
95
+ onPointerDown={(event) => {
96
+ event.stopPropagation();
97
+ }}
98
+ onClick={(event) => {
99
+ event.stopPropagation();
100
+ onOpenImageAttachment(attachment);
101
+ }}
102
+ >
103
+ {content}
104
+ </button>
105
+ );
106
+ }
107
+
108
+ return (
109
+ <a
110
+ href={attachment.url}
111
+ target="_blank"
112
+ rel="noopener noreferrer"
113
+ className={className || styles.attachment}
114
+ title={attachment.name}
115
+ >
116
+ {content}
117
+ </a>
118
+ );
119
+ }
120
+
121
+ /**
122
+ * Renders one attachment chip, optionally with composer removal controls.
123
+ *
124
+ * @private component of `<ChatMessageAttachments/>`
125
+ */
126
+ function ChatMessageAttachmentChip(props: {
127
+ readonly attachment: ChatMessageAttachment;
128
+ readonly attachmentIndex: number;
129
+ readonly onOpenImageAttachment: (attachment: ChatMessageAttachment) => void;
130
+ readonly onRemoveAttachment?: (attachment: ChatMessageAttachment, attachmentIndex: number) => void;
131
+ }) {
132
+ const { attachment, attachmentIndex, onOpenImageAttachment, onRemoveAttachment } = props;
133
+ const isImageAttachment = isImageChatMessageAttachment(attachment);
134
+
135
+ if (!onRemoveAttachment) {
136
+ return (
137
+ <ChatMessageAttachmentChipBody
138
+ attachment={attachment}
139
+ isImageAttachment={isImageAttachment}
140
+ onOpenImageAttachment={onOpenImageAttachment}
141
+ />
142
+ );
143
+ }
144
+
145
+ return (
146
+ <span className={classNames(styles.attachment, styles.attachmentWithRemove)} title={attachment.name}>
147
+ <ChatMessageAttachmentChipBody
148
+ attachment={attachment}
149
+ isImageAttachment={isImageAttachment}
150
+ className={styles.attachmentMainAction}
151
+ onOpenImageAttachment={onOpenImageAttachment}
152
+ />
153
+ <button
154
+ type="button"
155
+ className={styles.attachmentRemoveButton}
156
+ onPointerDown={(event) => {
157
+ event.stopPropagation();
158
+ }}
159
+ onClick={(event) => {
160
+ event.stopPropagation();
161
+ onRemoveAttachment(attachment, attachmentIndex);
162
+ }}
163
+ aria-label={`Remove attachment ${attachment.name}`}
164
+ title="Remove attachment"
165
+ >
166
+ <CloseIcon />
167
+ </button>
168
+ </span>
169
+ );
170
+ }
171
+
172
+ /**
173
+ * Renders chat attachment chips and the shared image preview modal.
174
+ *
175
+ * @private component of `<Chat/>`
176
+ */
177
+ export function ChatMessageAttachments({
178
+ attachments,
179
+ mode,
180
+ className,
181
+ style,
182
+ onRemoveAttachment,
183
+ }: ChatMessageAttachmentsProps) {
184
+ const [selectedImageAttachment, setSelectedImageAttachment] = useState<ChatMessageAttachment | null>(null);
185
+
186
+ if (attachments.length === 0) {
187
+ return null;
188
+ }
189
+
190
+ return (
191
+ <>
192
+ <div className={classNames(styles.attachments, className)} style={style}>
193
+ {attachments.map((attachment, index) => (
194
+ <ChatMessageAttachmentChip
195
+ key={`${attachment.url}-${attachment.name}-${index}`}
196
+ attachment={attachment}
197
+ attachmentIndex={index}
198
+ onOpenImageAttachment={setSelectedImageAttachment}
199
+ onRemoveAttachment={onRemoveAttachment}
200
+ />
201
+ ))}
202
+ </div>
203
+ <ChatImageAttachmentModal
204
+ attachment={selectedImageAttachment}
205
+ mode={mode}
206
+ onClose={() => {
207
+ setSelectedImageAttachment(null);
208
+ }}
209
+ />
210
+ </>
211
+ );
212
+ }
@@ -17,8 +17,8 @@ import { MarkdownContent } from '../MarkdownContent/MarkdownContent';
17
17
  import { SourceChip } from '../SourceChip/SourceChip';
18
18
  import type { ChatMessage } from '../types/ChatMessage';
19
19
  import type { ChatParticipant } from '../types/ChatParticipant';
20
- import { createCitationFootnoteRenderModel } from '../utils/createCitationFootnoteRenderModel';
21
20
  import { resolveCitationPreviewUrl } from '../utils/citationHelpers';
21
+ import { createCitationFootnoteRenderModel } from '../utils/createCitationFootnoteRenderModel';
22
22
  import { getChatMessageTimingDisplay } from '../utils/getChatMessageTimingDisplay';
23
23
  import type { ParsedCitation } from '../utils/parseCitationsFromContent';
24
24
  import type { MessageButton } from '../utils/parseMessageButtons';
@@ -32,6 +32,7 @@ import {
32
32
  import { splitMessageContentIntoSegments } from '../utils/splitMessageContentIntoSegments';
33
33
  import styles from './Chat.module.css';
34
34
  import { chatCssClassNames } from './chatCssClassNames';
35
+ import { ChatMessageAttachments } from './ChatMessageAttachments';
35
36
  import { ChatMessageRichContent } from './ChatMessageRichContent';
36
37
  import { ChatMessageToolCallChips } from './ChatMessageToolCallChips';
37
38
  import type { ChatProps } from './ChatProps';
@@ -49,7 +50,7 @@ import { useChatMessageSpeechPlayback } from './useChatMessageSpeechPlayback';
49
50
  */
50
51
  type ChatMessageItemProps = Pick<
51
52
  ChatProps,
52
- 'onMessage' | 'onActionButton' | 'onQuickMessageButton' | 'participants'
53
+ 'onMessage' | 'onActionButton' | 'onQuickMessageButton' | 'onQuickMessageDraftButton' | 'participants'
53
54
  > & {
54
55
  message: ChatMessage;
55
56
  participant: ChatParticipant | undefined;
@@ -243,6 +244,7 @@ export const ChatMessageItem = memo(
243
244
  onMessage,
244
245
  onActionButton,
245
246
  onQuickMessageButton,
247
+ onQuickMessageDraftButton,
246
248
  setExpandedMessageId,
247
249
  isExpanded,
248
250
  currentRating,
@@ -404,6 +406,14 @@ export const ChatMessageItem = memo(
404
406
  return nextButtons;
405
407
  }
406
408
 
409
+ if (button.type === 'messageDraft') {
410
+ if (onQuickMessageDraftButton) {
411
+ nextButtons.push({ button, buttonIndex });
412
+ }
413
+
414
+ return nextButtons;
415
+ }
416
+
407
417
  if (!onActionButton || consumedActionButtonIndexes.has(buttonIndex)) {
408
418
  return nextButtons;
409
419
  }
@@ -411,7 +421,14 @@ export const ChatMessageItem = memo(
411
421
  nextButtons.push({ button, buttonIndex });
412
422
  return nextButtons;
413
423
  }, []),
414
- [buttons, consumedActionButtonIndexes, onActionButton, onMessage, onQuickMessageButton],
424
+ [
425
+ buttons,
426
+ consumedActionButtonIndexes,
427
+ onActionButton,
428
+ onMessage,
429
+ onQuickMessageButton,
430
+ onQuickMessageDraftButton,
431
+ ],
415
432
  );
416
433
  const shouldShowButtons = isLastMessage && renderableButtons.length > 0;
417
434
  const speechPlaybackEnabled = isSpeechPlaybackEnabled ?? true;
@@ -938,21 +955,7 @@ export const ChatMessageItem = memo(
938
955
  </div>
939
956
 
940
957
  {message.attachments && message.attachments.length > 0 && (
941
- <div className={styles.attachments}>
942
- {message.attachments.map((attachment, index) => (
943
- <a
944
- key={index}
945
- href={attachment.url}
946
- target="_blank"
947
- rel="noopener noreferrer"
948
- className={styles.attachment}
949
- title={attachment.name}
950
- >
951
- <span className={styles.attachmentIcon}>📎</span>
952
- <span className={styles.attachmentName}>{attachment.name}</span>
953
- </a>
954
- ))}
955
- </div>
958
+ <ChatMessageAttachments attachments={message.attachments} mode={mode} />
956
959
  )}
957
960
 
958
961
  <ChatMessageToolCallChips chips={toolCallChips} onToolCallClick={onToolCallClick} />
@@ -1009,6 +1012,13 @@ export const ChatMessageItem = memo(
1009
1012
  return;
1010
1013
  }
1011
1014
 
1015
+ if (button.type === 'messageDraft') {
1016
+ if (onQuickMessageDraftButton) {
1017
+ void onQuickMessageDraftButton(button.messageDraft);
1018
+ }
1019
+ return;
1020
+ }
1021
+
1012
1022
  void handleActionButtonClick(buttonIndex, button.code);
1013
1023
  }}
1014
1024
  disabled={button.type === 'action' && pendingActionButtonIndex === buttonIndex}
@@ -1162,6 +1172,10 @@ export const ChatMessageItem = memo(
1162
1172
  return false;
1163
1173
  }
1164
1174
 
1175
+ if (prev.onQuickMessageDraftButton !== next.onQuickMessageDraftButton) {
1176
+ return false;
1177
+ }
1178
+
1165
1179
  if (prev.onReplyToMessage !== next.onReplyToMessage) {
1166
1180
  return false;
1167
1181
  }
@@ -50,6 +50,7 @@ export type ChatMessageListProps = {
50
50
  onMessage?: (messageContent: string) => Promisable<void>;
51
51
  onActionButton?: ChatProps['onActionButton'];
52
52
  onQuickMessageButton?: ChatProps['onQuickMessageButton'];
53
+ onQuickMessageDraftButton?: ChatProps['onQuickMessageDraftButton'];
53
54
  onReplyToMessage?: ChatProps['onReplyToMessage'];
54
55
  canReplyToMessage?: ChatProps['canReplyToMessage'];
55
56
  onCreateAgent?: (bookContent: string) => void;
@@ -97,6 +98,7 @@ export function ChatMessageList(props: ChatMessageListProps) {
97
98
  onMessage,
98
99
  onActionButton,
99
100
  onQuickMessageButton,
101
+ onQuickMessageDraftButton,
100
102
  onReplyToMessage,
101
103
  canReplyToMessage,
102
104
  onCreateAgent,
@@ -149,6 +151,7 @@ export function ChatMessageList(props: ChatMessageListProps) {
149
151
  onMessage={onMessage}
150
152
  onActionButton={onActionButton}
151
153
  onQuickMessageButton={onQuickMessageButton}
154
+ onQuickMessageDraftButton={onQuickMessageDraftButton}
152
155
  onReplyToMessage={onReplyToMessage}
153
156
  canReplyToMessage={canReplyToMessage}
154
157
  setExpandedMessageId={setExpandedMessageId}
@@ -549,6 +549,15 @@ export type ChatProps = {
549
549
  */
550
550
  onQuickMessageButton?(messageContent: string): Promisable<void>;
551
551
 
552
+ /**
553
+ * Called when user clicks a quick draft-message button parsed from message markdown.
554
+ *
555
+ * Unlike `onQuickMessageButton`, this prefills the composer with an editable draft
556
+ * instead of sending the message. When not provided, `<Chat/>` prefills its own
557
+ * composer so the draft can be edited before sending.
558
+ */
559
+ onQuickMessageDraftButton?(messageDraftContent: string): Promisable<void>;
560
+
552
561
  /**
553
562
  * Optional callback fired when the user starts replying to one existing message.
554
563
  */
@@ -1,10 +1,6 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import type { TODO_any } from '../../../utils/organization/TODO_any';
3
- import {
4
- buildTimeoutToolPrimarySentence,
5
- buildTimeoutToolScheduleSentence,
6
- resolveTimeoutToolCallPresentation,
7
- } from '../utils/timeoutToolCallPresentation';
3
+ import { buildTimeoutToolPrimarySentence, buildTimeoutToolScheduleSentence, resolveTimeoutToolCallPresentation } from '../utils/timeoutToolCallPresentation';
8
4
  import styles from './Chat.module.css';
9
5
  import { renderToolCallClockPanel } from './renderToolCallClockPanel';
10
6
 
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
 
3
3
  import {
4
- useCallback,
5
- useEffect,
6
- useRef,
7
- useState,
8
- type ChangeEvent,
9
- type KeyboardEvent as ReactKeyboardEvent,
10
- type MutableRefObject,
4
+ useCallback,
5
+ useEffect,
6
+ useRef,
7
+ useState,
8
+ type ChangeEvent,
9
+ type KeyboardEvent as ReactKeyboardEvent,
10
+ type MutableRefObject
11
11
  } from 'react';
12
12
  import { spaceTrim } from 'spacetrim';
13
13
  import type { ChatMessage } from '../types/ChatMessage';
@@ -34,6 +34,18 @@ type PendingEnterIntentSnapshot = {
34
34
  readonly replyingToMessageId: string | null;
35
35
  };
36
36
 
37
+ /**
38
+ * One programmatic request to replace the composer content with an editable draft.
39
+ *
40
+ * A fresh object identity is used for every request so repeated draft insertions
41
+ * (even with identical text) re-apply to the composer.
42
+ *
43
+ * @private function of `<ChatInputArea/>`
44
+ */
45
+ export type ChatComposerDraft = {
46
+ readonly content: string;
47
+ };
48
+
37
49
  /**
38
50
  * Props for `useChatInputAreaComposer`.
39
51
  *
@@ -43,6 +55,7 @@ type UseChatInputAreaComposerProps = {
43
55
  readonly onMessage?: ChatProps['onMessage'];
44
56
  readonly onChange?: ChatProps['onChange'];
45
57
  readonly defaultMessage?: string;
58
+ readonly draftMessage?: ChatComposerDraft;
46
59
  readonly enterBehavior?: ChatProps['enterBehavior'];
47
60
  readonly resolveEnterBehavior?: ChatProps['resolveEnterBehavior'];
48
61
  readonly isFocusedOnLoad?: boolean;
@@ -473,6 +486,38 @@ function useChatInputAreaComposerFocus({
473
486
  );
474
487
  }
475
488
 
489
+ /**
490
+ * Applies programmatic draft-message insertions to the composer.
491
+ *
492
+ * Each new `draftMessage` object replaces the composer content and moves the caret
493
+ * to the end so the seeded draft can be edited before sending. Repeated requests with
494
+ * identical text still apply because every request carries a fresh object identity.
495
+ *
496
+ * @private function of `useChatInputAreaComposer`
497
+ */
498
+ function useChatInputAreaDraftMessage(params: {
499
+ readonly draftMessage?: ChatComposerDraft;
500
+ readonly textareaRef: MutableRefObject<HTMLTextAreaElement | null>;
501
+ readonly applyMessageContent: (nextContent: string) => void;
502
+ }): void {
503
+ const { draftMessage, textareaRef, applyMessageContent } = params;
504
+ const lastAppliedDraftMessageRef = useRef<ChatComposerDraft | undefined>(undefined);
505
+
506
+ useEffect(() => {
507
+ if (draftMessage === undefined || draftMessage === lastAppliedDraftMessageRef.current) {
508
+ return;
509
+ }
510
+
511
+ lastAppliedDraftMessageRef.current = draftMessage;
512
+ applyMessageContent(draftMessage.content);
513
+
514
+ const textareaElement = textareaRef.current;
515
+ if (textareaElement) {
516
+ focusTextareaCaret(textareaElement, draftMessage.content.length);
517
+ }
518
+ }, [applyMessageContent, draftMessage, textareaRef]);
519
+ }
520
+
476
521
  /**
477
522
  * Creates the newline insertion action used by the composer Enter handling.
478
523
  *
@@ -695,6 +740,7 @@ export function useChatInputAreaComposer(props: UseChatInputAreaComposerProps) {
695
740
  onMessage,
696
741
  onChange,
697
742
  defaultMessage,
743
+ draftMessage,
698
744
  enterBehavior,
699
745
  resolveEnterBehavior,
700
746
  isFocusedOnLoad,
@@ -719,6 +765,12 @@ export function useChatInputAreaComposer(props: UseChatInputAreaComposerProps) {
719
765
  isMobile,
720
766
  });
721
767
 
768
+ useChatInputAreaDraftMessage({
769
+ draftMessage,
770
+ textareaRef,
771
+ applyMessageContent,
772
+ });
773
+
722
774
  const handleInsertNewline = useChatInputAreaNewlineHandler({
723
775
  textareaRef,
724
776
  messageContentRef,
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
 
3
3
  import {
4
- useCallback,
5
- useEffect,
6
- useRef,
7
- useState,
8
- type Dispatch,
9
- type MutableRefObject,
10
- type SetStateAction,
4
+ useCallback,
5
+ useEffect,
6
+ useRef,
7
+ useState,
8
+ type Dispatch,
9
+ type MutableRefObject,
10
+ type SetStateAction
11
11
  } from 'react';
12
12
  import type { SpeechRecognitionErrorCode, SpeechRecognitionEvent } from '../../../types/SpeechRecognition';
13
13
  import type { ChatProps } from './ChatProps';
@@ -13,10 +13,7 @@ import { getToolCallTimestamp } from '../utils/toolCallParsing/getToolCallTimest
13
13
  import { parseTeamToolResult } from '../utils/toolCallParsing/parseTeamToolResult';
14
14
  import { parseToolCallResult } from '../utils/toolCallParsing/parseToolCallResult';
15
15
  import type { TeamToolResult } from '../utils/toolCallParsing/TeamToolResult';
16
- import {
17
- createAdvancedToolCallReportFilename,
18
- createAdvancedToolCallReportMarkdown,
19
- } from './renderAdvancedToolCallDetails';
16
+ import { createAdvancedToolCallReportFilename, createAdvancedToolCallReportMarkdown } from './renderAdvancedToolCallDetails';
20
17
 
21
18
  /**
22
19
  * Tool-call snapshot rendered by the modal.
@@ -1,5 +1,5 @@
1
- import { useCallback, useEffect, useRef, useState } from 'react';
2
1
  import type { MutableRefObject } from 'react';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import type { Promisable } from 'type-fest';
4
4
  import type { id } from '../../../types/string_token';
5
5
  import type { ChatFeedbackMode, ChatFeedbackResponse, ChatProps } from '../Chat/ChatProps';
@@ -4,7 +4,7 @@ import type { ChatParticipant } from '../../types/ChatParticipant';
4
4
  import { resolveCitationPreviewUrl } from '../../utils/citationHelpers';
5
5
  import { parseMessageButtons } from '../../utils/parseMessageButtons';
6
6
  import { renderMarkdown } from '../../utils/renderMarkdown';
7
- import type { ChatSaveFormatDefinition } from '../_common/ChatSaveFormatDefinition';
7
+ import type { ChatExportCitationFootnoteRegistry, ChatExportCitationRenderModel } from '../_common/chatExportRendering';
8
8
  import {
9
9
  buildChatExportParticipantMap,
10
10
  createChatExportCitationFootnoteRegistry,
@@ -12,9 +12,8 @@ import {
12
12
  formatChatExportCitationFootnoteLabel,
13
13
  formatChatExportTimestamp,
14
14
  resolveChatExportParticipantVisuals,
15
- type ChatExportCitationFootnoteRegistry,
16
- type ChatExportCitationRenderModel,
17
15
  } from '../_common/chatExportRendering';
16
+ import type { ChatSaveFormatDefinition } from '../_common/ChatSaveFormatDefinition';
18
17
  import { getPromptbookExportBranding } from '../_common/getPromptbookExportBranding';
19
18
 
20
19
  /**
@@ -2,7 +2,7 @@ import { spaceTrim } from 'spacetrim';
2
2
  import type { ChatMessage } from '../../types/ChatMessage';
3
3
  import type { ChatParticipant } from '../../types/ChatParticipant';
4
4
  import { resolveCitationPreviewUrl } from '../../utils/citationHelpers';
5
- import type { ChatSaveFormatDefinition } from '../_common/ChatSaveFormatDefinition';
5
+ import type { ChatExportCitationFootnoteRegistry } from '../_common/chatExportRendering';
6
6
  import {
7
7
  buildChatExportParticipantMap,
8
8
  createChatExportCitationFootnoteRegistry,
@@ -10,8 +10,8 @@ import {
10
10
  formatChatExportCitationFootnoteLabel,
11
11
  formatChatExportTimestamp,
12
12
  resolveChatExportParticipantVisuals,
13
- type ChatExportCitationFootnoteRegistry,
14
13
  } from '../_common/chatExportRendering';
14
+ import type { ChatSaveFormatDefinition } from '../_common/ChatSaveFormatDefinition';
15
15
  import { getPromptbookExportBranding } from '../_common/getPromptbookExportBranding';
16
16
 
17
17
  /**
@@ -4,8 +4,8 @@ import { spaceTrim } from 'spacetrim';
4
4
  import { UnexpectedError } from '../../../../errors/UnexpectedError';
5
5
  import type { ChatMessage } from '../../types/ChatMessage';
6
6
  import type { ChatParticipant } from '../../types/ChatParticipant';
7
- import { getPromptbookExportBranding } from '../_common/getPromptbookExportBranding';
8
7
  import { buildChatHtml, CHAT_HTML_EXPORT_RENDER_ROOT_CLASS_NAME } from '../html/htmlSaveFormatDefinition';
8
+ import { getPromptbookExportBranding } from '../_common/getPromptbookExportBranding';
9
9
 
10
10
  /**
11
11
  * Pixel width used while the standalone HTML document is laid out for PDF pages.
@@ -3,11 +3,7 @@ import { ASSISTANT_PREPARATION_TOOL_CALL_NAME } from '../../../types/ToolCall';
3
3
  import type { AgentChipData } from '../AgentChip/AgentChip';
4
4
  import { formatToolCallLocalTime } from './formatToolCallLocalTime';
5
5
  import { formatToolCallTranslationTemplate } from './formatToolCallTranslationTemplate';
6
- import {
7
- buildTimeoutToolCallChipLabel,
8
- isTimeoutToolCallName,
9
- resolveTimeoutToolCallPresentation,
10
- } from './timeoutToolCallPresentation';
6
+ import { buildTimeoutToolCallChipLabel, isTimeoutToolCallName, resolveTimeoutToolCallPresentation } from './timeoutToolCallPresentation';
11
7
  import { getToolCallResultDate } from './toolCallParsing/getToolCallResultDate';
12
8
  import { parseTeamToolResult } from './toolCallParsing/parseTeamToolResult';
13
9
  import { parseToolCallArguments } from './toolCallParsing/parseToolCallArguments';
@@ -1,4 +1,5 @@
1
- import { ASSISTANT_PREPARATION_TOOL_CALL_NAME, type ToolCall } from '../../../types/ToolCall';
1
+ import type { ToolCall } from '../../../types/ToolCall';
2
+ import { ASSISTANT_PREPARATION_TOOL_CALL_NAME } from '../../../types/ToolCall';
2
3
 
3
4
  /**
4
5
  * Tool calls that stay available in message data but should not be surfaced as user-facing chat progress.
@@ -9,6 +9,20 @@ export type MessageQuickButton = {
9
9
  message: string;
10
10
  };
11
11
 
12
+ /**
13
+ * Represents a quick draft-message button parsed from chat markdown.
14
+ *
15
+ * Unlike `MessageQuickButton`, clicking this button prefills the composer with an
16
+ * editable draft instead of sending the message immediately.
17
+ *
18
+ * @private internal helper type of `MessageButton`
19
+ */
20
+ export type MessageDraftQuickButton = {
21
+ type: 'messageDraft';
22
+ text: string;
23
+ messageDraft: string;
24
+ };
25
+
12
26
  /**
13
27
  * Represents a quick action button parsed from chat markdown.
14
28
  *
@@ -25,7 +39,7 @@ export type ActionQuickButton = {
25
39
  *
26
40
  * @public exported from `@promptbook/components`
27
41
  */
28
- export type MessageButton = MessageQuickButton | ActionQuickButton;
42
+ export type MessageButton = MessageQuickButton | MessageDraftQuickButton | ActionQuickButton;
29
43
 
30
44
  /**
31
45
  * Extracts one quick button definition from a markdown link query string.
@@ -48,6 +62,16 @@ function parseQuickButtonDefinition(text: string, query: string): MessageButton
48
62
  };
49
63
  }
50
64
 
65
+ const messageDraft = searchParams.get('messageDraft');
66
+
67
+ if (messageDraft !== null) {
68
+ return {
69
+ type: 'messageDraft',
70
+ text,
71
+ messageDraft,
72
+ };
73
+ }
74
+
51
75
  const code = searchParams.get('action');
52
76
 
53
77
  if (code !== null) {
@@ -62,7 +86,8 @@ function parseQuickButtonDefinition(text: string, query: string): MessageButton
62
86
  }
63
87
 
64
88
  /**
65
- * Parses markdown quick buttons in the format `[Button Text](?message=...)` or `[Button Text](?action=...)`.
89
+ * Parses markdown quick buttons in the format `[Button Text](?message=...)`, `[Button Text](?messageDraft=...)`
90
+ * or `[Button Text](?action=...)`.
66
91
  * Returns both the content without supported quick buttons and the extracted button definitions.
67
92
  *
68
93
  * @param content The markdown content that may contain buttons
@@ -1,6 +1,6 @@
1
1
  import colors from 'colors';
2
2
  import type {
3
- Command as Program /* <- Note: [🔸] Using Program because Command is misleading name */,
3
+ Command as Program /* <- Note: [🔸] Using Program because Command is misleading name */
4
4
  } from 'commander';
5
5
  import { spaceTrim } from 'spacetrim';
6
6
  import { CLAIM } from '../../config';