@promptbook/cli 0.113.0-7 → 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 (593) 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/backup/createServerBackupZipStream.ts +7 -1382
  51. package/apps/agents-server/src/utils/backup/serverBackup/appendAgentBackupEntriesToZip.ts +27 -0
  52. package/apps/agents-server/src/utils/backup/serverBackup/appendConversationBackupEntriesToZip.ts +140 -0
  53. package/apps/agents-server/src/utils/backup/serverBackup/appendFileBackupEntriesToZip.ts +147 -0
  54. package/apps/agents-server/src/utils/backup/serverBackup/appendMessageBackupEntriesToZip.ts +65 -0
  55. package/apps/agents-server/src/utils/backup/serverBackup/appendMetadataBackupEntriesToZip.ts +39 -0
  56. package/apps/agents-server/src/utils/backup/serverBackup/appendSectionEntriesToZip.ts +92 -0
  57. package/apps/agents-server/src/utils/backup/serverBackup/appendUserBackupEntriesToZip.ts +80 -0
  58. package/apps/agents-server/src/utils/backup/serverBackup/createRedactedWalletBackupRecord.ts +34 -0
  59. package/apps/agents-server/src/utils/backup/serverBackup/createServerBackupManifest.ts +82 -0
  60. package/apps/agents-server/src/utils/backup/serverBackup/downloadBackupBinaryContent.ts +39 -0
  61. package/apps/agents-server/src/utils/backup/serverBackup/resolveFeedbackThreadMessages.ts +53 -0
  62. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupAttachments.ts +151 -0
  63. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupContext.ts +167 -0
  64. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupFilenames.ts +161 -0
  65. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupPreviews.ts +97 -0
  66. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupRowUtilities.ts +158 -0
  67. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupTypes.ts +59 -0
  68. package/apps/agents-server/src/utils/chat/createAttachmentAwareCitationLabelResolver.ts +147 -0
  69. package/apps/agents-server/src/utils/chatTasksAdmin.ts +1 -1
  70. package/apps/agents-server/src/utils/externalChatRunner/processExternalUserChatJob.ts +11 -5
  71. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/GetAdminChatTasksData.ts +12 -0
  72. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +264 -0
  73. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlValues.ts +35 -0
  74. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskTimeUtilities.ts +30 -0
  75. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/compareAdminChatTasks.ts +135 -0
  76. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/createAdminChatTaskCounters.ts +29 -0
  77. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/filterAdminChatTasks.ts +78 -0
  78. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaClientSql.ts +62 -0
  79. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaSupabaseQuery.ts +29 -0
  80. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +193 -0
  81. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +99 -0
  82. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +94 -0
  83. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks.ts +4 -947
  84. package/apps/agents-server/src/utils/getAdminChatTasksResponse/mapVpsSelfUpdateJobToAdminChatTask.ts +18 -5
  85. package/apps/agents-server/src/utils/getAdminChatTasksResponse.ts +57 -21
  86. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +20 -5
  87. package/apps/agents-server/src/utils/pagePreviewBrowserSessions.ts +13 -1
  88. package/apps/agents-server/src/utils/resourceMonitor/formatResourceMonitorValue.ts +50 -0
  89. package/apps/agents-server/src/utils/resourceMonitor/readCpuResourceUsage.ts +75 -0
  90. package/apps/agents-server/src/utils/resourceMonitor/readDiskResourceUsage.ts +42 -0
  91. package/apps/agents-server/src/utils/resourceMonitor/readMemoryResourceUsage.ts +28 -0
  92. package/apps/agents-server/src/utils/resourceMonitor/readNetworkResourceUsage.ts +271 -0
  93. package/apps/agents-server/src/utils/resourceMonitor/readServerResourceMonitorSnapshot.ts +47 -0
  94. package/apps/agents-server/src/utils/resourceMonitor/resolveServerResourceWarningStatus.ts +72 -0
  95. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorConstants.ts +29 -0
  96. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorTypes.ts +155 -0
  97. package/apps/agents-server/src/utils/resourceMonitor/waitForResourceMonitorSample.ts +11 -0
  98. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethSamlClient.ts +35 -0
  99. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethServiceProviderMetadataXml.ts +25 -0
  100. package/apps/agents-server/src/utils/shibbolethAuthentication/extractShibbolethProfileAttributes.ts +173 -0
  101. package/apps/agents-server/src/utils/shibbolethAuthentication/fetchIdentityProviderMetadataXml.ts +21 -0
  102. package/apps/agents-server/src/utils/shibbolethAuthentication/findOrCreateShibbolethUser.ts +323 -0
  103. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethAuthenticationAttemptTableName.ts +13 -0
  104. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethRequestDetails.ts +19 -0
  105. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethUserIdentityTableName.ts +13 -0
  106. package/apps/agents-server/src/utils/shibbolethAuthentication/parseIdentityProviderMetadataXml.ts +110 -0
  107. package/apps/agents-server/src/utils/shibbolethAuthentication/recordShibbolethAuthenticationAttempt.ts +57 -0
  108. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethAuthenticationConfiguration.ts +78 -0
  109. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethPublicRequestUrl.ts +101 -0
  110. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethServiceProviderUrls.ts +63 -0
  111. package/apps/agents-server/src/utils/shibbolethAuthentication/sanitizeShibbolethRelayState.ts +17 -0
  112. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationConstants.ts +62 -0
  113. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationTypes.ts +105 -0
  114. package/apps/agents-server/src/utils/shibbolethAuthentication.ts +25 -957
  115. package/apps/agents-server/src/utils/taskTerminal/resolveAdminTaskTerminalSession.ts +322 -0
  116. package/apps/agents-server/src/utils/taskTerminal/runWithTaskTerminalCapture.ts +134 -0
  117. package/apps/agents-server/src/utils/taskTerminal/taskTerminalLog.ts +360 -0
  118. package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +16 -0
  119. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateUserChatTimeoutTerminalState.ts +3 -0
  120. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +4 -1
  121. package/apps/agents-server/src/utils/vpsConfiguration.ts +4 -0
  122. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +81 -0
  123. package/apps/agents-server/src/utils/vpsSelfUpdate/listVpsSelfUpdateCandidateCommits.ts +217 -0
  124. package/apps/agents-server/src/utils/vpsSelfUpdate/readPersistedVpsSelfUpdateJob.ts +310 -0
  125. package/apps/agents-server/src/utils/vpsSelfUpdate/readVpsSelfUpdateOverview.ts +178 -0
  126. package/apps/agents-server/src/utils/vpsSelfUpdate/resolveVpsSelfUpdateJobForOverview.ts +42 -0
  127. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +201 -0
  128. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateAutomaticConfiguration.ts +152 -0
  129. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateConfiguration.ts +81 -0
  130. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +357 -0
  131. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateEnvironment.ts +120 -0
  132. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateInstalledVersions.ts +162 -0
  133. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobConstants.ts +15 -0
  134. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobHistory.ts +387 -0
  135. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobIdentity.ts +26 -0
  136. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateOriginRepository.ts +90 -0
  137. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateRepository.ts +286 -0
  138. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateScheduler.ts +191 -0
  139. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateStateFiles.ts +197 -0
  140. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateTypes.ts +452 -0
  141. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +66 -1547
  142. package/esm/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  143. package/esm/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  144. package/esm/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  145. package/esm/index.es.js +28566 -27913
  146. package/esm/index.es.js.map +1 -1
  147. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  148. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  149. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  150. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  151. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  152. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  153. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  154. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  155. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  156. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  157. package/esm/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  158. package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +6 -4
  159. package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +30 -5
  160. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +7 -1
  161. package/esm/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  162. package/esm/src/_packages/types.index.d.ts +2 -2
  163. package/esm/src/avatars/renderAvatarVisualAsciiArt.d.ts +24 -1
  164. package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  165. package/esm/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  166. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  167. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  168. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  169. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  170. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  171. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  172. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  173. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  174. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  175. package/esm/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  176. package/esm/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  177. package/esm/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  178. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  179. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  180. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  181. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  182. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  183. package/esm/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  184. package/esm/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  185. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  186. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  187. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  188. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  189. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  190. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  191. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  192. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  193. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  194. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  195. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  196. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  197. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  198. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  199. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  200. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  201. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  202. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  203. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  204. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  205. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  206. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  207. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  208. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  209. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  210. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  211. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  212. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  213. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  214. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  215. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  216. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  217. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  218. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  219. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  220. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  221. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  222. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  223. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  224. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  225. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  226. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  227. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  228. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  229. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  230. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  231. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  232. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  233. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  234. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  235. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  236. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  237. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  238. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  239. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  240. package/esm/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  241. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  242. package/esm/src/commitments/META/META.d.ts +2 -2
  243. package/esm/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  244. package/esm/src/commitments/index.d.ts +1 -1
  245. package/esm/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  246. package/esm/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  247. package/esm/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  248. package/esm/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  249. package/esm/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  250. package/esm/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  251. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  252. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  253. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  254. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  255. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  256. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  257. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  258. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  259. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  260. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  261. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  262. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  263. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  264. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  265. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  266. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  267. package/esm/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  268. package/esm/src/utils/color/Color.d.ts +1 -1
  269. package/esm/src/version.d.ts +1 -1
  270. package/package.json +1 -1
  271. package/src/_packages/types.index.ts +2 -2
  272. package/src/avatars/Avatar.tsx +2 -13
  273. package/src/avatars/renderAvatarVisual.ts +2 -13
  274. package/src/avatars/renderAvatarVisualAsciiArt.ts +137 -18
  275. package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +1 -6
  276. package/src/avatars/visuals/avatarVisualRegistry.ts +1 -1
  277. package/src/avatars/visuals/minecraft2AvatarVisual.ts +1 -2
  278. package/src/avatars/visuals/octopus2AvatarVisual.ts +1 -5
  279. package/src/avatars/visuals/octopus3AvatarVisual.ts +1 -8
  280. package/src/avatars/visuals/octopus3d2AvatarVisual.ts +4 -13
  281. package/src/avatars/visuals/octopus3d3AvatarVisual.ts +4 -13
  282. package/src/avatars/visuals/octopus3d4AvatarVisual.ts +4 -13
  283. package/src/avatars/visuals/octopus3dAvatarVisual.ts +3 -3
  284. package/src/avatars/visuals/octopus3dAvatarVisualShared.ts +2 -7
  285. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +2 -1
  286. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +3 -5
  287. package/src/book-3.0/CliAgent.ts +1 -7
  288. package/src/book-3.0/LiteAgent.ts +5 -5
  289. package/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.tsx +1 -4
  290. package/src/book-components/BookEditor/BookEditor.tsx +2 -2
  291. package/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.tsx +3 -2
  292. package/src/book-components/BookEditor/BookEditorActionbar.tsx +1 -1
  293. package/src/book-components/BookEditor/BookEditorMonaco.tsx +2 -2
  294. package/src/book-components/BookEditor/BookEditorMonacoUploadPanel.tsx +1 -1
  295. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  296. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +1 -1
  297. package/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.ts +147 -0
  298. package/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.ts +10 -0
  299. package/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.ts +209 -0
  300. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.ts +164 -0
  301. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.ts +121 -0
  302. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.ts +81 -0
  303. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.ts +360 -0
  304. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.ts +47 -0
  305. package/src/book-components/BookEditor/useBookEditorMonacoUploads.ts +10 -1067
  306. package/src/book-components/Chat/Chat/Chat.module.css +159 -0
  307. package/src/book-components/Chat/Chat/Chat.tsx +16 -1
  308. package/src/book-components/Chat/Chat/ChatCitationModal.tsx +2 -2
  309. package/src/book-components/Chat/Chat/ChatImageAttachmentModal.tsx +108 -0
  310. package/src/book-components/Chat/Chat/ChatInputArea.tsx +43 -27
  311. package/src/book-components/Chat/Chat/ChatMessageAttachments.tsx +212 -0
  312. package/src/book-components/Chat/Chat/ChatMessageItem.tsx +32 -18
  313. package/src/book-components/Chat/Chat/ChatMessageList.tsx +3 -0
  314. package/src/book-components/Chat/Chat/ChatProps.tsx +9 -0
  315. package/src/book-components/Chat/Chat/renderTimeoutToolCallDetails.tsx +1 -5
  316. package/src/book-components/Chat/Chat/useChatInputAreaComposer.ts +59 -7
  317. package/src/book-components/Chat/Chat/useChatInputAreaDictation.ts +7 -7
  318. package/src/book-components/Chat/Chat/useChatToolCallModalState.ts +1 -4
  319. package/src/book-components/Chat/hooks/useChatRatings.ts +1 -1
  320. package/src/book-components/Chat/save/html/htmlSaveFormatDefinition.ts +2 -3
  321. package/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.ts +2 -2
  322. package/src/book-components/Chat/save/pdf/buildChatPdf.ts +1 -1
  323. package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +1 -5
  324. package/src/book-components/Chat/utils/isVisibleChatToolCall.ts +2 -1
  325. package/src/book-components/Chat/utils/parseMessageButtons.ts +27 -2
  326. package/src/cli/cli-commands/about.ts +1 -1
  327. package/src/cli/cli-commands/agent/agentCliOptions.ts +2 -5
  328. package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +6 -12
  329. package/src/cli/cli-commands/agent-folder/init.ts +3 -8
  330. package/src/cli/cli-commands/agent-folder/initializeAgentProjectConfiguration.ts +2 -11
  331. package/src/cli/cli-commands/agent-folder/printAgentInitializationSummary.ts +2 -9
  332. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.ts +6 -0
  333. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.ts +6 -0
  334. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.ts +6 -0
  335. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.ts +11 -0
  336. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.ts +9 -0
  337. package/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.ts +6 -0
  338. package/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.ts +19 -0
  339. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.ts +71 -0
  340. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +69 -0
  341. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +59 -0
  342. package/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.ts +23 -0
  343. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.ts +20 -0
  344. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.ts +17 -0
  345. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.ts +27 -0
  346. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.ts +21 -0
  347. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.ts +22 -0
  348. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.ts +30 -0
  349. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.ts +41 -0
  350. package/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.ts +14 -0
  351. package/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.ts +10 -0
  352. package/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.ts +10 -0
  353. package/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.ts +31 -0
  354. package/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.ts +35 -0
  355. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.ts +33 -0
  356. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.ts +30 -0
  357. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.ts +19 -0
  358. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.ts +21 -0
  359. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.ts +19 -0
  360. package/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.ts +184 -0
  361. package/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.ts +48 -0
  362. package/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.ts +179 -0
  363. package/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.ts +28 -0
  364. package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +22 -1045
  365. package/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.ts +2 -1
  366. package/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.ts +2 -1
  367. package/src/cli/cli-commands/agents-server/run.ts +2 -5
  368. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.ts +67 -0
  369. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.ts +43 -0
  370. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.ts +44 -0
  371. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.ts +59 -0
  372. package/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.ts +9 -0
  373. package/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.ts +14 -0
  374. package/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.ts +26 -0
  375. package/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.ts +15 -0
  376. package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +29 -0
  377. package/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.ts +32 -0
  378. package/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.ts +18 -0
  379. package/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.ts +81 -0
  380. package/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.ts +52 -0
  381. package/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.ts +17 -0
  382. package/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.ts +97 -0
  383. package/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.ts +132 -0
  384. package/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.ts +14 -0
  385. package/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.ts +132 -0
  386. package/src/cli/cli-commands/agents-server/startAgentsServer.ts +24 -797
  387. package/src/cli/cli-commands/agents-server.ts +2 -6
  388. package/src/cli/cli-commands/coder/agentCodingFile.ts +1 -7
  389. package/src/cli/cli-commands/coder/generate-boilerplates.ts +2 -6
  390. package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +2 -7
  391. package/src/cli/cli-commands/coder/server.ts +4 -2
  392. package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +3 -8
  393. package/src/cli/cli-commands/make.ts +1 -1
  394. package/src/cli/cli-commands/run/runCommandAction.ts +1 -1
  395. package/src/collection/agent-collection/CreateAgentInput.ts +2 -5
  396. package/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.ts +1 -1
  397. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +1 -10
  398. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +1 -10
  399. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +1 -6
  400. package/src/commitments/META/META.ts +4 -4
  401. package/src/commitments/META_AVATAR/META_AVATAR.ts +16 -10
  402. package/src/commitments/USE_CALENDAR/createUseCalendarToolFunctions.ts +1 -4
  403. package/src/commitments/USE_PROJECT/createUseProjectToolFunctions.ts +2 -10
  404. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +1 -11
  405. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +1 -6
  406. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +1 -6
  407. package/src/commitments/WALLET/createWalletToolFunctions.ts +2 -11
  408. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +1 -6
  409. package/src/commitments/WALLET/parseWalletToolArgs.ts +1 -10
  410. package/src/commitments/index.ts +1 -0
  411. package/src/conversion/parsePipeline/applyPipelineHead.ts +1 -1
  412. package/src/conversion/parsePipeline/createUniqueSectionNameResolver.ts +1 -1
  413. package/src/conversion/parsePipeline/processPipelineSection.ts +1 -1
  414. package/src/conversion/validation/validatePipeline/createPipelineValidationContext.ts +43 -0
  415. package/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.ts +72 -0
  416. package/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.ts +220 -0
  417. package/src/conversion/validation/validatePipeline/validatePipelineMetadata.ts +66 -0
  418. package/src/conversion/validation/validatePipeline/validatePipelineParameters.ts +136 -0
  419. package/src/conversion/validation/validatePipeline/validatePipelineTasks.ts +243 -0
  420. package/src/conversion/validation/validatePipeline.ts +7 -750
  421. package/src/execution/LlmExecutionTools.ts +1 -6
  422. package/src/execution/createPipelineExecutor/getReservedParametersForTask.ts +1 -5
  423. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.ts +51 -0
  424. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.ts +30 -0
  425. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.ts +62 -0
  426. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.ts +10 -0
  427. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.ts +75 -0
  428. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.ts +101 -0
  429. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.ts +24 -0
  430. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.ts +17 -0
  431. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.ts +15 -0
  432. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.ts +19 -0
  433. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.ts +44 -0
  434. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.ts +21 -0
  435. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.ts +97 -0
  436. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.ts +17 -0
  437. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.ts +30 -0
  438. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.ts +32 -0
  439. package/src/llm-providers/_common/register/$registeredLlmToolsMessage.ts +5 -568
  440. package/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.ts +1 -6
  441. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +2 -2
  442. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  443. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +2 -2
  444. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  445. package/src/llm-providers/openai/OpenAiCompatibleExecutionTools.ts +2 -7
  446. package/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.ts +1 -1
  447. package/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.ts +2 -2
  448. package/src/llm-providers/openai/utils/OpenAiCompatibleUnsupportedParameterRetrier.ts +1 -5
  449. package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +1 -6
  450. package/src/other/templates/getTemplatesPipelineCollection.ts +705 -791
  451. package/src/remote-server/startRemoteServer/registerExecutionRoutes.ts +1 -1
  452. package/src/remote-server/startRemoteServer/registerServerIndexRoute.ts +1 -1
  453. package/src/scrapers/_common/utils/makeKnowledgeSourceHandler.ts +1 -6
  454. package/src/speech-recognition/OpenAiSpeechRecognition.ts +1 -6
  455. package/src/transpilers/_common/prepareSdkTranspilerContext.ts +1 -4
  456. package/src/types/Prompt.ts +1 -7
  457. package/src/types/string_host.ts +1 -9
  458. package/src/types/string_pipeline_url.ts +1 -4
  459. package/src/utils/agents/resolveAgentAvatarImageUrl.ts +2 -2
  460. package/src/utils/color/Color.ts +2 -2
  461. package/src/utils/markdown/parseMarkdownSection.ts +1 -5
  462. package/src/utils/random/$randomFullnameWithColor.ts +1 -6
  463. package/src/version.ts +2 -2
  464. package/src/versions.txt +2 -1
  465. package/umd/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  466. package/umd/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  467. package/umd/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  468. package/umd/index.umd.js +28568 -27915
  469. package/umd/index.umd.js.map +1 -1
  470. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  471. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  472. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  473. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  474. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  475. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  476. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  477. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  478. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  479. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  480. package/umd/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  481. package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +6 -4
  482. package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +30 -5
  483. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +7 -1
  484. package/umd/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  485. package/umd/src/_packages/types.index.d.ts +2 -2
  486. package/umd/src/avatars/renderAvatarVisualAsciiArt.d.ts +24 -1
  487. package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  488. package/umd/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  489. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  490. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  491. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  492. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  493. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  494. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  495. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  496. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  497. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  498. package/umd/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  499. package/umd/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  500. package/umd/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  501. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  502. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  503. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  504. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  505. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  506. package/umd/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  507. package/umd/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  508. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  509. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  510. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  511. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  512. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  513. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  514. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  515. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  516. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  517. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  518. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  519. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  520. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  521. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  522. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  523. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  524. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  525. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  526. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  527. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  528. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  529. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  530. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  531. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  532. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  533. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  534. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  535. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  536. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  537. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  538. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  539. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  540. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  541. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  542. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  543. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  544. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  545. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  546. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  547. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  548. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  549. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  550. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  551. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  552. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  553. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  554. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  555. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  556. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  557. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  558. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  559. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  560. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  561. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  562. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  563. package/umd/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  564. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  565. package/umd/src/commitments/META/META.d.ts +2 -2
  566. package/umd/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  567. package/umd/src/commitments/index.d.ts +1 -1
  568. package/umd/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  569. package/umd/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  570. package/umd/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  571. package/umd/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  572. package/umd/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  573. package/umd/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  574. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  575. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  576. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  577. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  578. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  579. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  580. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  581. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  582. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  583. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  584. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  585. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  586. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  587. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  588. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  589. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  590. package/umd/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  591. package/umd/src/utils/color/Color.d.ts +1 -1
  592. package/umd/src/version.d.ts +1 -1
  593. package/apps/agents-server/src/utils/userChat/createUserChatRunnerProgressCard.ts +0 -57
@@ -0,0 +1,286 @@
1
+ import { execFile } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import type { VpsSelfUpdateCommitMetadata, VpsSelfUpdatePendingCommit } from './vpsSelfUpdateTypes';
4
+
5
+ /**
6
+ * Promisified `execFile` used for isolated git calls.
7
+ *
8
+ * @private constant of `vpsSelfUpdate`
9
+ */
10
+ const EXEC_FILE_ASYNC = promisify(execFile);
11
+
12
+ /**
13
+ * Hard ceiling for the pending-commits listing returned in the overview to avoid huge payloads on a long-stale server.
14
+ *
15
+ * @private constant of `vpsSelfUpdate`
16
+ */
17
+ const VPS_SELF_UPDATE_MAX_PENDING_COMMITS = 100;
18
+
19
+ /**
20
+ * Number of latest branch commits fetched for the update overview.
21
+ *
22
+ * @private constant of `vpsSelfUpdate`
23
+ */
24
+ const VPS_SELF_UPDATE_OVERVIEW_FETCH_DEPTH = VPS_SELF_UPDATE_MAX_PENDING_COMMITS + 1;
25
+
26
+ /**
27
+ * Field separator used between commit fields in the `git log` machine output.
28
+ *
29
+ * @private constant of `vpsSelfUpdate`
30
+ */
31
+ export const GIT_LOG_FIELD_SEPARATOR = '\x1f';
32
+
33
+ /**
34
+ * Executes one git command in the managed repository.
35
+ *
36
+ * @param repositoryDirectory - Repository checkout path.
37
+ * @param gitArguments - Arguments passed to `git`.
38
+ * @returns Trimmed stdout or `null` when the command fails.
39
+ *
40
+ * @private function of `vpsSelfUpdate`
41
+ */
42
+ export async function runGitInRepository(
43
+ repositoryDirectory: string,
44
+ gitArguments: ReadonlyArray<string>,
45
+ ): Promise<string | null> {
46
+ try {
47
+ const { stdout } = await EXEC_FILE_ASYNC('git', ['-C', repositoryDirectory, ...gitArguments], {
48
+ maxBuffer: 1024 * 1024,
49
+ });
50
+ return stdout.trim() || null;
51
+ } catch {
52
+ return null;
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Fetches the tracked remote branch into the local object database before building the browser overview.
58
+ *
59
+ * @param repositoryDirectory - Repository checkout path.
60
+ * @param branch - Target branch.
61
+ * @param originRepositoryUrl - Configured upstream repository URL.
62
+ *
63
+ * @private function of `vpsSelfUpdate`
64
+ */
65
+ export async function refreshVpsSelfUpdateRemoteBranch(
66
+ repositoryDirectory: string,
67
+ branch: string,
68
+ originRepositoryUrl: string,
69
+ ): Promise<void> {
70
+ if (!branch) {
71
+ return;
72
+ }
73
+
74
+ await runGitInRepository(repositoryDirectory, [
75
+ 'fetch',
76
+ '--no-tags',
77
+ '--prune',
78
+ `--depth=${VPS_SELF_UPDATE_OVERVIEW_FETCH_DEPTH}`,
79
+ originRepositoryUrl,
80
+ `+refs/heads/${branch}:${createVpsSelfUpdateRemoteBranchReference(branch)}`,
81
+ ]);
82
+ }
83
+
84
+ /**
85
+ * Reads the latest tracked-branch commit from the local remote-tracking ref, falling back to `ls-remote`.
86
+ *
87
+ * @param repositoryDirectory - Repository checkout path.
88
+ * @param branch - Target branch.
89
+ * @param originRepositoryUrl - Configured upstream repository URL.
90
+ * @returns Remote branch commit sha or `null`.
91
+ *
92
+ * @private function of `vpsSelfUpdate`
93
+ */
94
+ export async function readLatestRemoteBranchCommitSha(
95
+ repositoryDirectory: string,
96
+ branch: string,
97
+ originRepositoryUrl: string,
98
+ ): Promise<string | null> {
99
+ if (!branch) {
100
+ return null;
101
+ }
102
+
103
+ const remoteBranchReference = createVpsSelfUpdateRemoteBranchReference(branch);
104
+ const localCommitSha = await runGitInRepository(repositoryDirectory, [
105
+ 'rev-parse',
106
+ '--verify',
107
+ `${remoteBranchReference}^{commit}`,
108
+ ]);
109
+
110
+ return localCommitSha || readRemoteCommitSha(repositoryDirectory, branch, originRepositoryUrl);
111
+ }
112
+
113
+ /**
114
+ * Reads hash, subject and author timestamp for one known commit from the local repository.
115
+ *
116
+ * @param repositoryDirectory - Repository checkout path.
117
+ * @param commitReference - Commit hash or git revision reference to look up.
118
+ * @returns Commit metadata or `null` when the commit cannot be resolved locally.
119
+ *
120
+ * @private function of `vpsSelfUpdate`
121
+ */
122
+ export async function readCommitMetadataFromRepository(
123
+ repositoryDirectory: string,
124
+ commitReference: string,
125
+ ): Promise<VpsSelfUpdateCommitMetadata | null> {
126
+ const output = await runGitInRepository(repositoryDirectory, [
127
+ 'log',
128
+ '-1',
129
+ `--format=%H${GIT_LOG_FIELD_SEPARATOR}%aI${GIT_LOG_FIELD_SEPARATOR}%s`,
130
+ commitReference,
131
+ ]);
132
+ if (!output) {
133
+ return null;
134
+ }
135
+
136
+ const fields = output.split(GIT_LOG_FIELD_SEPARATOR);
137
+ const commitSha = fields[0] ?? '';
138
+ if (!commitSha) {
139
+ return null;
140
+ }
141
+
142
+ return {
143
+ commitSha,
144
+ authoredAt: fields[1] || null,
145
+ subject: fields.slice(2).join(GIT_LOG_FIELD_SEPARATOR),
146
+ };
147
+ }
148
+
149
+ /**
150
+ * Counts how many commits separate two commits in the local repository.
151
+ *
152
+ * Returns `null` when either commit cannot be resolved (typical for a shallow clone that has not been deepened yet).
153
+ *
154
+ * @param repositoryDirectory - Repository checkout path.
155
+ * @param fromCommitSha - Older commit hash.
156
+ * @param toCommitSha - Newer commit hash.
157
+ * @returns Commit count or `null`.
158
+ *
159
+ * @private function of `vpsSelfUpdate`
160
+ */
161
+ export async function countCommitsBetween(
162
+ repositoryDirectory: string,
163
+ fromCommitSha: string,
164
+ toCommitSha: string,
165
+ ): Promise<number | null> {
166
+ if (fromCommitSha === toCommitSha) {
167
+ return 0;
168
+ }
169
+
170
+ const output = await runGitInRepository(repositoryDirectory, [
171
+ 'rev-list',
172
+ '--count',
173
+ `${fromCommitSha}..${toCommitSha}`,
174
+ ]);
175
+ if (output === null) {
176
+ return null;
177
+ }
178
+
179
+ const parsedCommitCount = Number.parseInt(output, 10);
180
+ return Number.isFinite(parsedCommitCount) ? parsedCommitCount : null;
181
+ }
182
+
183
+ /**
184
+ * Lists commits that separate two commits in the local repository so the admin UI can show subject/hash/date for each one.
185
+ *
186
+ * Returns an empty list when either commit cannot be resolved (typical for a shallow clone that has not been deepened yet)
187
+ * or when both commits are identical.
188
+ *
189
+ * @param repositoryDirectory - Repository checkout path.
190
+ * @param fromCommitSha - Older commit hash (deployed commit).
191
+ * @param toCommitSha - Newer commit hash (latest remote commit).
192
+ * @returns Browser-safe pending-commit list (newest first).
193
+ *
194
+ * @private function of `vpsSelfUpdate`
195
+ */
196
+ export async function listCommitsBetween(
197
+ repositoryDirectory: string,
198
+ fromCommitSha: string,
199
+ toCommitSha: string,
200
+ ): Promise<ReadonlyArray<VpsSelfUpdatePendingCommit>> {
201
+ if (fromCommitSha === toCommitSha) {
202
+ return [];
203
+ }
204
+
205
+ const output = await runGitInRepository(repositoryDirectory, [
206
+ 'log',
207
+ `--max-count=${VPS_SELF_UPDATE_MAX_PENDING_COMMITS}`,
208
+ `--format=%H${GIT_LOG_FIELD_SEPARATOR}%aI${GIT_LOG_FIELD_SEPARATOR}%s`,
209
+ `${fromCommitSha}..${toCommitSha}`,
210
+ ]);
211
+ if (!output) {
212
+ return [];
213
+ }
214
+
215
+ const pendingCommits: Array<VpsSelfUpdatePendingCommit> = [];
216
+ for (const line of output.split('\n')) {
217
+ if (!line) {
218
+ continue;
219
+ }
220
+
221
+ const fields = line.split(GIT_LOG_FIELD_SEPARATOR);
222
+ const commitSha = fields[0] ?? '';
223
+ if (!commitSha) {
224
+ continue;
225
+ }
226
+
227
+ const authoredAt = fields[1] || null;
228
+ const subject = fields.slice(2).join(GIT_LOG_FIELD_SEPARATOR);
229
+
230
+ pendingCommits.push({
231
+ commitSha,
232
+ shortCommitSha: commitSha.slice(0, 7),
233
+ subject,
234
+ authoredAt,
235
+ });
236
+ }
237
+
238
+ return pendingCommits;
239
+ }
240
+
241
+ /**
242
+ * Abbreviates a git sha for compact display.
243
+ *
244
+ * @param sha - Full commit sha.
245
+ * @returns Short commit sha or `null`.
246
+ *
247
+ * @private function of `vpsSelfUpdate`
248
+ */
249
+ export function abbreviateCommitSha(sha: string | null): string | null {
250
+ return sha ? sha.slice(0, 7) : null;
251
+ }
252
+
253
+ /**
254
+ * Reads the latest remote branch commit without mutating the local checkout.
255
+ *
256
+ * @param repositoryDirectory - Repository checkout path.
257
+ * @param branch - Target branch.
258
+ * @param originRepositoryUrl - Configured upstream repository URL.
259
+ * @returns Remote commit sha or `null`.
260
+ */
261
+ async function readRemoteCommitSha(
262
+ repositoryDirectory: string,
263
+ branch: string,
264
+ originRepositoryUrl: string,
265
+ ): Promise<string | null> {
266
+ if (!branch) {
267
+ return null;
268
+ }
269
+
270
+ const output = await runGitInRepository(repositoryDirectory, [
271
+ 'ls-remote',
272
+ originRepositoryUrl,
273
+ `refs/heads/${branch}`,
274
+ ]);
275
+ return output?.split(/\s+/u)[0] || null;
276
+ }
277
+
278
+ /**
279
+ * Creates the local remote-tracking reference used for the update overview fetch.
280
+ *
281
+ * @param branch - Target branch.
282
+ * @returns Local remote-tracking reference.
283
+ */
284
+ function createVpsSelfUpdateRemoteBranchReference(branch: string): string {
285
+ return `refs/remotes/origin/${branch}`;
286
+ }
@@ -0,0 +1,191 @@
1
+ import { readVpsSelfUpdateAutomaticConfiguration } from './vpsSelfUpdateAutomaticConfiguration';
2
+ import { resolveNextVpsSelfUpdateCronRun } from './vpsSelfUpdateCron';
3
+ import { readVpsSelfUpdateOverview } from './readVpsSelfUpdateOverview';
4
+
5
+ /**
6
+ * Global key used to keep one automatic self-update scheduler per Node.js process.
7
+ *
8
+ * @private constant of `vpsSelfUpdate`
9
+ */
10
+ const VPS_SELF_UPDATE_SCHEDULER_GLOBAL_KEY = '__PROMPTBOOK_VPS_SELF_UPDATE_SCHEDULER__';
11
+
12
+ /**
13
+ * Maximum safe delay accepted by Node.js timers.
14
+ *
15
+ * @private constant of `vpsSelfUpdate`
16
+ */
17
+ const VPS_SELF_UPDATE_MAX_TIMER_DELAY_MS = 2_147_483_647;
18
+
19
+ /**
20
+ * Scheduler state stored on `globalThis` to survive module reloads.
21
+ *
22
+ * @private type of `vpsSelfUpdateScheduler`
23
+ */
24
+ type VpsSelfUpdateSchedulerState = {
25
+ /**
26
+ * Whether the scheduler has been bootstrapped in this process.
27
+ */
28
+ isBootstrapped: boolean;
29
+ /**
30
+ * Whether one scheduled check is currently running.
31
+ */
32
+ isRunning: boolean;
33
+ /**
34
+ * Pending timer, if any.
35
+ */
36
+ timeout: NodeJS.Timeout | null;
37
+ };
38
+
39
+ /**
40
+ * Global object shape used for process-wide scheduler state.
41
+ *
42
+ * @private type of `vpsSelfUpdateScheduler`
43
+ */
44
+ type VpsSelfUpdateSchedulerGlobal = typeof globalThis & {
45
+ [VPS_SELF_UPDATE_SCHEDULER_GLOBAL_KEY]?: VpsSelfUpdateSchedulerState;
46
+ };
47
+
48
+ /**
49
+ * Starts the automatic VPS self-update scheduler when the current runtime can run it.
50
+ *
51
+ * @private function of `vpsSelfUpdate`
52
+ */
53
+ export function ensureAutomaticVpsSelfUpdateSchedulerBootstrapped(): void {
54
+ if (!isAutomaticVpsSelfUpdateSchedulerRuntimeAvailable()) {
55
+ return;
56
+ }
57
+
58
+ const state = getVpsSelfUpdateSchedulerState();
59
+ if (state.isBootstrapped) {
60
+ return;
61
+ }
62
+
63
+ state.isBootstrapped = true;
64
+ void scheduleNextAutomaticVpsSelfUpdateCheck();
65
+ }
66
+
67
+ /**
68
+ * Reschedules the automatic self-update timer after the admin changes `.env` configuration.
69
+ *
70
+ * @private function of `vpsSelfUpdate`
71
+ */
72
+ export function rescheduleAutomaticVpsSelfUpdateScheduler(): void {
73
+ if (!isAutomaticVpsSelfUpdateSchedulerRuntimeAvailable()) {
74
+ return;
75
+ }
76
+
77
+ const state = getVpsSelfUpdateSchedulerState();
78
+ state.isBootstrapped = true;
79
+ clearAutomaticVpsSelfUpdateTimer(state);
80
+ void scheduleNextAutomaticVpsSelfUpdateCheck();
81
+ }
82
+
83
+ /**
84
+ * Schedules the next cron-based automatic self-update check.
85
+ */
86
+ async function scheduleNextAutomaticVpsSelfUpdateCheck(): Promise<void> {
87
+ const state = getVpsSelfUpdateSchedulerState();
88
+
89
+ try {
90
+ const configuration = await readVpsSelfUpdateAutomaticConfiguration();
91
+ const nextRunAt = resolveNextVpsSelfUpdateCronRun(configuration.cronExpression);
92
+ const delayMs = Math.max(1_000, nextRunAt.getTime() - Date.now());
93
+ const timeoutDelayMs = Math.min(delayMs, VPS_SELF_UPDATE_MAX_TIMER_DELAY_MS);
94
+
95
+ clearAutomaticVpsSelfUpdateTimer(state);
96
+ state.timeout = setTimeout(() => {
97
+ if (delayMs > VPS_SELF_UPDATE_MAX_TIMER_DELAY_MS) {
98
+ void scheduleNextAutomaticVpsSelfUpdateCheck();
99
+ return;
100
+ }
101
+
102
+ void runAutomaticVpsSelfUpdateCheck();
103
+ }, timeoutDelayMs);
104
+ state.timeout.unref?.();
105
+ } catch (error) {
106
+ console.error('[vps-self-update] failed to schedule automatic self-update check', error);
107
+ }
108
+ }
109
+
110
+ /**
111
+ * Runs one scheduled automatic self-update check.
112
+ */
113
+ async function runAutomaticVpsSelfUpdateCheck(): Promise<void> {
114
+ const state = getVpsSelfUpdateSchedulerState();
115
+ if (state.isRunning) {
116
+ await scheduleNextAutomaticVpsSelfUpdateCheck();
117
+ return;
118
+ }
119
+
120
+ state.isRunning = true;
121
+
122
+ try {
123
+ const configuration = await readVpsSelfUpdateAutomaticConfiguration();
124
+ if (!configuration.isEnabled) {
125
+ return;
126
+ }
127
+
128
+ const overview = await readVpsSelfUpdateOverview();
129
+ if (!overview.isAvailable || !overview.isUpdateAvailable || overview.job.status === 'running') {
130
+ return;
131
+ }
132
+
133
+ const { startVpsSelfUpdate } = await import('./startVpsSelfUpdate');
134
+ await startVpsSelfUpdate({
135
+ environmentId: configuration.environment.id,
136
+ trigger: 'automatic',
137
+ });
138
+ } catch (error) {
139
+ console.error('[vps-self-update] automatic self-update check failed', error);
140
+ } finally {
141
+ state.isRunning = false;
142
+ await scheduleNextAutomaticVpsSelfUpdateCheck();
143
+ }
144
+ }
145
+
146
+ /**
147
+ * Clears one pending scheduler timer.
148
+ *
149
+ * @param state - Process-wide scheduler state.
150
+ */
151
+ function clearAutomaticVpsSelfUpdateTimer(state: VpsSelfUpdateSchedulerState): void {
152
+ if (!state.timeout) {
153
+ return;
154
+ }
155
+
156
+ clearTimeout(state.timeout);
157
+ state.timeout = null;
158
+ }
159
+
160
+ /**
161
+ * Returns process-wide scheduler state.
162
+ *
163
+ * @returns Mutable scheduler state.
164
+ */
165
+ function getVpsSelfUpdateSchedulerState(): VpsSelfUpdateSchedulerState {
166
+ const schedulerGlobal = globalThis as VpsSelfUpdateSchedulerGlobal;
167
+ schedulerGlobal[VPS_SELF_UPDATE_SCHEDULER_GLOBAL_KEY] ??= {
168
+ isBootstrapped: false,
169
+ isRunning: false,
170
+ timeout: null,
171
+ };
172
+
173
+ return schedulerGlobal[VPS_SELF_UPDATE_SCHEDULER_GLOBAL_KEY]!;
174
+ }
175
+
176
+ /**
177
+ * Returns whether the current process should host the automatic self-update scheduler.
178
+ *
179
+ * @returns `true` when running in a Linux Node.js server process outside tests and builds.
180
+ */
181
+ function isAutomaticVpsSelfUpdateSchedulerRuntimeAvailable(): boolean {
182
+ if (process.platform !== 'linux') {
183
+ return false;
184
+ }
185
+
186
+ if (process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID !== undefined) {
187
+ return false;
188
+ }
189
+
190
+ return process.env.NEXT_PHASE !== 'phase-production-build';
191
+ }
@@ -0,0 +1,197 @@
1
+ import { mkdir, open, readFile, stat, writeFile } from 'fs/promises';
2
+ import { dirname, resolve } from 'path';
3
+ import { resolveVpsEnvironmentFilePath } from '../vpsConfiguration';
4
+
5
+ /**
6
+ * Resolves the filesystem path of the persisted self-update log file.
7
+ *
8
+ * @returns Absolute log-file path.
9
+ *
10
+ * @private function of `vpsSelfUpdate`
11
+ */
12
+ export function resolveVpsSelfUpdateLogFilePath(): string {
13
+ return resolve(resolveVpsSelfUpdateStateDirectory(), 'self-update.log');
14
+ }
15
+
16
+ /**
17
+ * Resolves the filesystem path of the persisted self-update database migration summary file.
18
+ *
19
+ * @returns Absolute migration-summary file path.
20
+ *
21
+ * @private function of `vpsSelfUpdate`
22
+ */
23
+ export function resolveVpsSelfUpdateDatabaseMigrationSummaryFilePath(): string {
24
+ return resolve(resolveVpsSelfUpdateStateDirectory(), 'self-update-database-migrations.json');
25
+ }
26
+
27
+ /**
28
+ * Resolves the filesystem path of the persisted self-update task history file.
29
+ *
30
+ * @returns Absolute task-history file path.
31
+ *
32
+ * @private function of `vpsSelfUpdate`
33
+ */
34
+ export function resolveVpsSelfUpdateTaskHistoryFilePath(): string {
35
+ return resolve(resolveVpsSelfUpdateStateDirectory(), 'self-update-task-history.json');
36
+ }
37
+
38
+ /**
39
+ * Resolves the filesystem path of the persisted self-update status file.
40
+ *
41
+ * @returns Absolute status-file path.
42
+ *
43
+ * @private function of `vpsSelfUpdate`
44
+ */
45
+ export function resolveVpsSelfUpdateStatusFilePath(): string {
46
+ return resolve(resolveVpsSelfUpdateStateDirectory(), 'self-update.status');
47
+ }
48
+
49
+ /**
50
+ * Encodes one free-form status field into base64 for the shell-owned status file.
51
+ *
52
+ * @param value - Raw string value.
53
+ * @returns Base64-encoded value.
54
+ *
55
+ * @private function of `vpsSelfUpdate`
56
+ */
57
+ export function encodeStatusField(value: string): string {
58
+ return Buffer.from(value, 'utf-8').toString('base64');
59
+ }
60
+
61
+ /**
62
+ * Reads the full persisted standalone VPS self-update log so the super admin can copy/download it for debugging.
63
+ *
64
+ * @returns Log file content or `null` when the file does not exist yet.
65
+ *
66
+ * @private function of `vpsSelfUpdate`
67
+ */
68
+ export async function readVpsSelfUpdateLogFileContent(): Promise<string | null> {
69
+ const logFilePath = resolveVpsSelfUpdateLogFilePath();
70
+ try {
71
+ return await readFile(logFilePath, 'utf-8');
72
+ } catch (error) {
73
+ if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
74
+ return null;
75
+ }
76
+ throw error;
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Reads the persisted shell-owned status file.
82
+ *
83
+ * @returns Parsed key/value entries.
84
+ *
85
+ * @private function of `vpsSelfUpdate`
86
+ */
87
+ export async function readVpsSelfUpdateStatusFile(): Promise<Map<string, string>> {
88
+ const statusFilePath = resolveVpsSelfUpdateStatusFilePath();
89
+ try {
90
+ const rawContent = await readFile(statusFilePath, 'utf-8');
91
+ return new Map(
92
+ rawContent
93
+ .split(/\r?\n/u)
94
+ .map((line) => line.trim())
95
+ .filter((line) => line !== '' && !line.startsWith('#'))
96
+ .map((line) => {
97
+ const separatorIndex = line.indexOf('=');
98
+ if (separatorIndex === -1) {
99
+ return [line, ''] as const;
100
+ }
101
+
102
+ return [line.slice(0, separatorIndex), line.slice(separatorIndex + 1)] as const;
103
+ }),
104
+ );
105
+ } catch (error) {
106
+ if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
107
+ return new Map();
108
+ }
109
+ throw error;
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Writes the minimal initial status file before the detached installer takes over.
115
+ *
116
+ * @param entries - Flat status-file fields.
117
+ *
118
+ * @private function of `vpsSelfUpdate`
119
+ */
120
+ export async function writeVpsSelfUpdateStatusFile(entries: Readonly<Record<string, string>>): Promise<void> {
121
+ const statusFilePath = resolveVpsSelfUpdateStatusFilePath();
122
+ await mkdir(dirname(statusFilePath), { recursive: true });
123
+ await writeFile(
124
+ statusFilePath,
125
+ `${Object.entries(entries)
126
+ .map(([key, value]) => `${key}=${value}`)
127
+ .join('\n')}\n`,
128
+ 'utf-8',
129
+ );
130
+ }
131
+
132
+ /**
133
+ * Decodes one optional base64-encoded status field.
134
+ *
135
+ * @param value - Base64 string or `undefined`.
136
+ * @returns Decoded UTF-8 text or `null`.
137
+ *
138
+ * @private function of `vpsSelfUpdate`
139
+ */
140
+ export function decodeVpsSelfUpdateStatusField(value: string | undefined): string | null {
141
+ if (!value) {
142
+ return null;
143
+ }
144
+
145
+ try {
146
+ return Buffer.from(value, 'base64').toString('utf-8') || null;
147
+ } catch {
148
+ return null;
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Reads the trailing chunk of a text log file for the browser UI.
154
+ *
155
+ * @param filePath - File to tail.
156
+ * @param byteLimit - Maximum bytes to read from the end of the file.
157
+ * @returns UTF-8 tail text or `null` when missing.
158
+ *
159
+ * @private function of `vpsSelfUpdate`
160
+ */
161
+ export async function readLastVpsSelfUpdateTextFileChunk(
162
+ filePath: string | null,
163
+ byteLimit = 32768,
164
+ ): Promise<string | null> {
165
+ if (!filePath) {
166
+ return null;
167
+ }
168
+
169
+ try {
170
+ const fileHandle = await open(filePath, 'r');
171
+ try {
172
+ const fileStats = await stat(filePath);
173
+ const readLength = Math.min(fileStats.size, byteLimit);
174
+ const offset = Math.max(0, fileStats.size - readLength);
175
+ const buffer = Buffer.alloc(readLength);
176
+ const { bytesRead } = await fileHandle.read(buffer, 0, readLength, offset);
177
+ const text = buffer.subarray(0, bytesRead).toString('utf-8');
178
+ return offset > 0 ? text.replace(/^[^\n]*\n/u, '') : text;
179
+ } finally {
180
+ await fileHandle.close();
181
+ }
182
+ } catch (error) {
183
+ if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
184
+ return null;
185
+ }
186
+ throw error;
187
+ }
188
+ }
189
+
190
+ /**
191
+ * Resolves the state-directory path used for persistent update logs and status files.
192
+ *
193
+ * @returns Absolute directory path.
194
+ */
195
+ function resolveVpsSelfUpdateStateDirectory(): string {
196
+ return resolve(dirname(resolveVpsEnvironmentFilePath()), '.promptbook', 'self-update');
197
+ }