@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.
- package/apps/agents-server/next.config.ts +6 -3
- package/apps/agents-server/src/app/admin/resource-monitor/page.tsx +456 -0
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerClient.tsx +14 -2
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskLogActions.tsx +150 -0
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +58 -18
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskTerminalDialog.tsx +125 -0
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerTasksCard.tsx +3 -1
- package/apps/agents-server/src/app/admin/task-manager/page.tsx +3 -2
- package/apps/agents-server/src/app/admin/update/AdvancedOriginRepositoryPanel.tsx +14 -9
- package/apps/agents-server/src/app/admin/update/AutomaticSelfUpdateConfigurationCard.tsx +93 -0
- package/apps/agents-server/src/app/admin/update/CurrentDeploymentCard.tsx +15 -13
- package/apps/agents-server/src/app/admin/update/CustomCommitPicker.tsx +10 -10
- package/apps/agents-server/src/app/admin/update/InstalledVersionsCard.tsx +112 -0
- package/apps/agents-server/src/app/admin/update/PendingCommitsCard.tsx +9 -8
- package/apps/agents-server/src/app/admin/update/TargetEnvironmentCard.tsx +14 -14
- package/apps/agents-server/src/app/admin/update/UpdateClient.tsx +18 -8
- package/apps/agents-server/src/app/admin/update/UpdateDatabaseMigrationsPanel.tsx +305 -0
- package/apps/agents-server/src/app/admin/update/UpdateJobCard.tsx +29 -8
- package/apps/agents-server/src/app/admin/update/UpdateOverview.ts +68 -0
- package/apps/agents-server/src/app/admin/update/updatePageCardClassName.ts +6 -0
- package/apps/agents-server/src/app/admin/update/useUpdateClientState.ts +241 -7
- package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +17 -3
- package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +6 -2
- package/apps/agents-server/src/app/api/admin/chat-tasks/[taskId]/terminal/route.ts +52 -0
- package/apps/agents-server/src/app/api/admin/update/route.ts +55 -8
- package/apps/agents-server/src/app/api/admin/update/versions/route.ts +34 -0
- package/apps/agents-server/src/app/api/auth/shibboleth/acs/route.ts +4 -2
- package/apps/agents-server/src/app/api/auth/shibboleth/login/route.ts +3 -1
- package/apps/agents-server/src/app/api/auth/shibboleth/metadata/route.ts +5 -2
- package/apps/agents-server/src/app/api/auth/shibboleth/status/route.ts +5 -2
- package/apps/agents-server/src/app/layout.tsx +39 -25
- package/apps/agents-server/src/components/AgentAvatar/AgentAvatar.tsx +1 -1
- package/apps/agents-server/src/components/AgentAvatar/DefaultAgentAvatarVisualProvider.tsx +1 -1
- package/apps/agents-server/src/components/Header/Header.tsx +16 -3
- package/apps/agents-server/src/components/Header/HeaderTypes.ts +6 -0
- package/apps/agents-server/src/components/Header/buildAgentMenuStructure.tsx +6 -4
- package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +13 -1
- package/apps/agents-server/src/components/Homepage/useAgentsListState.ts +1 -1
- package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +21 -5
- package/apps/agents-server/src/constants/defaultAgentAvatarVisual.ts +4 -3
- package/apps/agents-server/src/database/metadataDefaults.ts +1 -1
- package/apps/agents-server/src/database/migrate.ts +25 -1
- package/apps/agents-server/src/database/migratePrefix.ts +24 -0
- package/apps/agents-server/src/database/runDatabaseMigrations.ts +9 -1
- package/apps/agents-server/src/instrumentation-node.ts +15 -0
- package/apps/agents-server/src/languages/ServerTranslationKeys.ts +1 -0
- package/apps/agents-server/src/languages/translations/czech.yaml +1 -0
- package/apps/agents-server/src/languages/translations/english.yaml +1 -0
- package/apps/agents-server/src/{components/Homepage → utils/agentOrganization}/hiddenFolders.ts +49 -29
- package/apps/agents-server/src/utils/backup/createServerBackupZipStream.ts +7 -1382
- package/apps/agents-server/src/utils/backup/serverBackup/appendAgentBackupEntriesToZip.ts +27 -0
- package/apps/agents-server/src/utils/backup/serverBackup/appendConversationBackupEntriesToZip.ts +140 -0
- package/apps/agents-server/src/utils/backup/serverBackup/appendFileBackupEntriesToZip.ts +147 -0
- package/apps/agents-server/src/utils/backup/serverBackup/appendMessageBackupEntriesToZip.ts +65 -0
- package/apps/agents-server/src/utils/backup/serverBackup/appendMetadataBackupEntriesToZip.ts +39 -0
- package/apps/agents-server/src/utils/backup/serverBackup/appendSectionEntriesToZip.ts +92 -0
- package/apps/agents-server/src/utils/backup/serverBackup/appendUserBackupEntriesToZip.ts +80 -0
- package/apps/agents-server/src/utils/backup/serverBackup/createRedactedWalletBackupRecord.ts +34 -0
- package/apps/agents-server/src/utils/backup/serverBackup/createServerBackupManifest.ts +82 -0
- package/apps/agents-server/src/utils/backup/serverBackup/downloadBackupBinaryContent.ts +39 -0
- package/apps/agents-server/src/utils/backup/serverBackup/resolveFeedbackThreadMessages.ts +53 -0
- package/apps/agents-server/src/utils/backup/serverBackup/serverBackupAttachments.ts +151 -0
- package/apps/agents-server/src/utils/backup/serverBackup/serverBackupContext.ts +167 -0
- package/apps/agents-server/src/utils/backup/serverBackup/serverBackupFilenames.ts +161 -0
- package/apps/agents-server/src/utils/backup/serverBackup/serverBackupPreviews.ts +97 -0
- package/apps/agents-server/src/utils/backup/serverBackup/serverBackupRowUtilities.ts +158 -0
- package/apps/agents-server/src/utils/backup/serverBackup/serverBackupTypes.ts +59 -0
- package/apps/agents-server/src/utils/chat/createAttachmentAwareCitationLabelResolver.ts +147 -0
- package/apps/agents-server/src/utils/chatTasksAdmin.ts +1 -1
- package/apps/agents-server/src/utils/externalChatRunner/processExternalUserChatJob.ts +11 -5
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/GetAdminChatTasksData.ts +12 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +264 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlValues.ts +35 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskTimeUtilities.ts +30 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/compareAdminChatTasks.ts +135 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/createAdminChatTaskCounters.ts +29 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/filterAdminChatTasks.ts +78 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaClientSql.ts +62 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaSupabaseQuery.ts +29 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +193 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +99 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +94 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks.ts +4 -947
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/mapVpsSelfUpdateJobToAdminChatTask.ts +18 -5
- package/apps/agents-server/src/utils/getAdminChatTasksResponse.ts +57 -21
- package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +20 -5
- package/apps/agents-server/src/utils/pagePreviewBrowserSessions.ts +13 -1
- package/apps/agents-server/src/utils/resourceMonitor/formatResourceMonitorValue.ts +50 -0
- package/apps/agents-server/src/utils/resourceMonitor/readCpuResourceUsage.ts +75 -0
- package/apps/agents-server/src/utils/resourceMonitor/readDiskResourceUsage.ts +42 -0
- package/apps/agents-server/src/utils/resourceMonitor/readMemoryResourceUsage.ts +28 -0
- package/apps/agents-server/src/utils/resourceMonitor/readNetworkResourceUsage.ts +271 -0
- package/apps/agents-server/src/utils/resourceMonitor/readServerResourceMonitorSnapshot.ts +47 -0
- package/apps/agents-server/src/utils/resourceMonitor/resolveServerResourceWarningStatus.ts +72 -0
- package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorConstants.ts +29 -0
- package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorTypes.ts +155 -0
- package/apps/agents-server/src/utils/resourceMonitor/waitForResourceMonitorSample.ts +11 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethSamlClient.ts +35 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethServiceProviderMetadataXml.ts +25 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/extractShibbolethProfileAttributes.ts +173 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/fetchIdentityProviderMetadataXml.ts +21 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/findOrCreateShibbolethUser.ts +323 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethAuthenticationAttemptTableName.ts +13 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethRequestDetails.ts +19 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethUserIdentityTableName.ts +13 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/parseIdentityProviderMetadataXml.ts +110 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/recordShibbolethAuthenticationAttempt.ts +57 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethAuthenticationConfiguration.ts +78 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethPublicRequestUrl.ts +101 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethServiceProviderUrls.ts +63 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/sanitizeShibbolethRelayState.ts +17 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationConstants.ts +62 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationTypes.ts +105 -0
- package/apps/agents-server/src/utils/shibbolethAuthentication.ts +25 -957
- package/apps/agents-server/src/utils/taskTerminal/resolveAdminTaskTerminalSession.ts +322 -0
- package/apps/agents-server/src/utils/taskTerminal/runWithTaskTerminalCapture.ts +134 -0
- package/apps/agents-server/src/utils/taskTerminal/taskTerminalLog.ts +360 -0
- package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +16 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateUserChatTimeoutTerminalState.ts +3 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +4 -1
- package/apps/agents-server/src/utils/vpsConfiguration.ts +4 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +81 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/listVpsSelfUpdateCandidateCommits.ts +217 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/readPersistedVpsSelfUpdateJob.ts +310 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/readVpsSelfUpdateOverview.ts +178 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/resolveVpsSelfUpdateJobForOverview.ts +42 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +201 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateAutomaticConfiguration.ts +152 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateConfiguration.ts +81 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +357 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateEnvironment.ts +120 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateInstalledVersions.ts +162 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobConstants.ts +15 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobHistory.ts +387 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobIdentity.ts +26 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateOriginRepository.ts +90 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateRepository.ts +286 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateScheduler.ts +191 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateStateFiles.ts +197 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateTypes.ts +452 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate.ts +66 -1547
- package/esm/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
- package/esm/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
- package/esm/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
- package/esm/index.es.js +28566 -27913
- package/esm/index.es.js.map +1 -1
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
- package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
- package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
- package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
- package/esm/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
- package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +6 -4
- package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +30 -5
- package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +7 -1
- package/esm/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
- package/esm/src/_packages/types.index.d.ts +2 -2
- package/esm/src/avatars/renderAvatarVisualAsciiArt.d.ts +24 -1
- package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
- package/esm/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
- package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
- package/esm/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
- package/esm/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
- package/esm/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
- package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
- package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
- package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
- package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
- package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
- package/esm/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
- package/esm/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
- package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
- package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
- package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
- package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
- package/esm/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
- package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
- package/esm/src/commitments/META/META.d.ts +2 -2
- package/esm/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
- package/esm/src/commitments/index.d.ts +1 -1
- package/esm/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
- package/esm/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
- package/esm/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
- package/esm/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
- package/esm/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
- package/esm/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
- package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
- package/esm/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
- package/esm/src/utils/color/Color.d.ts +1 -1
- package/esm/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/_packages/types.index.ts +2 -2
- package/src/avatars/Avatar.tsx +2 -13
- package/src/avatars/renderAvatarVisual.ts +2 -13
- package/src/avatars/renderAvatarVisualAsciiArt.ts +137 -18
- package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +1 -6
- package/src/avatars/visuals/avatarVisualRegistry.ts +1 -1
- package/src/avatars/visuals/minecraft2AvatarVisual.ts +1 -2
- package/src/avatars/visuals/octopus2AvatarVisual.ts +1 -5
- package/src/avatars/visuals/octopus3AvatarVisual.ts +1 -8
- package/src/avatars/visuals/octopus3d2AvatarVisual.ts +4 -13
- package/src/avatars/visuals/octopus3d3AvatarVisual.ts +4 -13
- package/src/avatars/visuals/octopus3d4AvatarVisual.ts +4 -13
- package/src/avatars/visuals/octopus3dAvatarVisual.ts +3 -3
- package/src/avatars/visuals/octopus3dAvatarVisualShared.ts +2 -7
- package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +2 -1
- package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +3 -5
- package/src/book-3.0/CliAgent.ts +1 -7
- package/src/book-3.0/LiteAgent.ts +5 -5
- package/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.tsx +1 -4
- package/src/book-components/BookEditor/BookEditor.tsx +2 -2
- package/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.tsx +3 -2
- package/src/book-components/BookEditor/BookEditorActionbar.tsx +1 -1
- package/src/book-components/BookEditor/BookEditorMonaco.tsx +2 -2
- package/src/book-components/BookEditor/BookEditorMonacoUploadPanel.tsx +1 -1
- package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
- package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +1 -1
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.ts +147 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.ts +10 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.ts +209 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.ts +164 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.ts +121 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.ts +81 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.ts +360 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.ts +47 -0
- package/src/book-components/BookEditor/useBookEditorMonacoUploads.ts +10 -1067
- package/src/book-components/Chat/Chat/Chat.module.css +159 -0
- package/src/book-components/Chat/Chat/Chat.tsx +16 -1
- package/src/book-components/Chat/Chat/ChatCitationModal.tsx +2 -2
- package/src/book-components/Chat/Chat/ChatImageAttachmentModal.tsx +108 -0
- package/src/book-components/Chat/Chat/ChatInputArea.tsx +43 -27
- package/src/book-components/Chat/Chat/ChatMessageAttachments.tsx +212 -0
- package/src/book-components/Chat/Chat/ChatMessageItem.tsx +32 -18
- package/src/book-components/Chat/Chat/ChatMessageList.tsx +3 -0
- package/src/book-components/Chat/Chat/ChatProps.tsx +9 -0
- package/src/book-components/Chat/Chat/renderTimeoutToolCallDetails.tsx +1 -5
- package/src/book-components/Chat/Chat/useChatInputAreaComposer.ts +59 -7
- package/src/book-components/Chat/Chat/useChatInputAreaDictation.ts +7 -7
- package/src/book-components/Chat/Chat/useChatToolCallModalState.ts +1 -4
- package/src/book-components/Chat/hooks/useChatRatings.ts +1 -1
- package/src/book-components/Chat/save/html/htmlSaveFormatDefinition.ts +2 -3
- package/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.ts +2 -2
- package/src/book-components/Chat/save/pdf/buildChatPdf.ts +1 -1
- package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +1 -5
- package/src/book-components/Chat/utils/isVisibleChatToolCall.ts +2 -1
- package/src/book-components/Chat/utils/parseMessageButtons.ts +27 -2
- package/src/cli/cli-commands/about.ts +1 -1
- package/src/cli/cli-commands/agent/agentCliOptions.ts +2 -5
- package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +6 -12
- package/src/cli/cli-commands/agent-folder/init.ts +3 -8
- package/src/cli/cli-commands/agent-folder/initializeAgentProjectConfiguration.ts +2 -11
- package/src/cli/cli-commands/agent-folder/printAgentInitializationSummary.ts +2 -9
- package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.ts +6 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.ts +6 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.ts +6 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.ts +11 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.ts +9 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.ts +6 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.ts +19 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.ts +71 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +69 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +59 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.ts +23 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.ts +20 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.ts +17 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.ts +27 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.ts +21 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.ts +22 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.ts +30 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.ts +41 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.ts +14 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.ts +10 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.ts +10 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.ts +31 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.ts +35 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.ts +33 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.ts +30 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.ts +19 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.ts +21 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.ts +19 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.ts +184 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.ts +48 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.ts +179 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.ts +28 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +22 -1045
- package/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.ts +2 -1
- package/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.ts +2 -1
- package/src/cli/cli-commands/agents-server/run.ts +2 -5
- package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.ts +67 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.ts +43 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.ts +44 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.ts +59 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.ts +9 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.ts +14 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.ts +26 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.ts +15 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +29 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.ts +32 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.ts +18 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.ts +81 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.ts +52 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.ts +17 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.ts +97 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.ts +132 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.ts +14 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.ts +132 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer.ts +24 -797
- package/src/cli/cli-commands/agents-server.ts +2 -6
- package/src/cli/cli-commands/coder/agentCodingFile.ts +1 -7
- package/src/cli/cli-commands/coder/generate-boilerplates.ts +2 -6
- package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +2 -7
- package/src/cli/cli-commands/coder/server.ts +4 -2
- package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +3 -8
- package/src/cli/cli-commands/make.ts +1 -1
- package/src/cli/cli-commands/run/runCommandAction.ts +1 -1
- package/src/collection/agent-collection/CreateAgentInput.ts +2 -5
- package/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.ts +1 -1
- package/src/commitments/MEMORY/createMemoryToolFunctions.ts +1 -10
- package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +1 -10
- package/src/commitments/MEMORY/parseMemoryToolArgs.ts +1 -6
- package/src/commitments/META/META.ts +4 -4
- package/src/commitments/META_AVATAR/META_AVATAR.ts +16 -10
- package/src/commitments/USE_CALENDAR/createUseCalendarToolFunctions.ts +1 -4
- package/src/commitments/USE_PROJECT/createUseProjectToolFunctions.ts +2 -10
- package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +1 -11
- package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +1 -6
- package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +1 -6
- package/src/commitments/WALLET/createWalletToolFunctions.ts +2 -11
- package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +1 -6
- package/src/commitments/WALLET/parseWalletToolArgs.ts +1 -10
- package/src/commitments/index.ts +1 -0
- package/src/conversion/parsePipeline/applyPipelineHead.ts +1 -1
- package/src/conversion/parsePipeline/createUniqueSectionNameResolver.ts +1 -1
- package/src/conversion/parsePipeline/processPipelineSection.ts +1 -1
- package/src/conversion/validation/validatePipeline/createPipelineValidationContext.ts +43 -0
- package/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.ts +72 -0
- package/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.ts +220 -0
- package/src/conversion/validation/validatePipeline/validatePipelineMetadata.ts +66 -0
- package/src/conversion/validation/validatePipeline/validatePipelineParameters.ts +136 -0
- package/src/conversion/validation/validatePipeline/validatePipelineTasks.ts +243 -0
- package/src/conversion/validation/validatePipeline.ts +7 -750
- package/src/execution/LlmExecutionTools.ts +1 -6
- package/src/execution/createPipelineExecutor/getReservedParametersForTask.ts +1 -5
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.ts +51 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.ts +30 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.ts +62 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.ts +10 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.ts +75 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.ts +101 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.ts +24 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.ts +17 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.ts +15 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.ts +19 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.ts +44 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.ts +21 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.ts +97 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.ts +17 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.ts +30 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.ts +32 -0
- package/src/llm-providers/_common/register/$registeredLlmToolsMessage.ts +5 -568
- package/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.ts +1 -6
- package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +2 -2
- package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
- package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +2 -2
- package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
- package/src/llm-providers/openai/OpenAiCompatibleExecutionTools.ts +2 -7
- package/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.ts +1 -1
- package/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.ts +2 -2
- package/src/llm-providers/openai/utils/OpenAiCompatibleUnsupportedParameterRetrier.ts +1 -5
- package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +1 -6
- package/src/other/templates/getTemplatesPipelineCollection.ts +705 -791
- package/src/remote-server/startRemoteServer/registerExecutionRoutes.ts +1 -1
- package/src/remote-server/startRemoteServer/registerServerIndexRoute.ts +1 -1
- package/src/scrapers/_common/utils/makeKnowledgeSourceHandler.ts +1 -6
- package/src/speech-recognition/OpenAiSpeechRecognition.ts +1 -6
- package/src/transpilers/_common/prepareSdkTranspilerContext.ts +1 -4
- package/src/types/Prompt.ts +1 -7
- package/src/types/string_host.ts +1 -9
- package/src/types/string_pipeline_url.ts +1 -4
- package/src/utils/agents/resolveAgentAvatarImageUrl.ts +2 -2
- package/src/utils/color/Color.ts +2 -2
- package/src/utils/markdown/parseMarkdownSection.ts +1 -5
- package/src/utils/random/$randomFullnameWithColor.ts +1 -6
- package/src/version.ts +2 -2
- package/src/versions.txt +2 -1
- package/umd/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
- package/umd/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
- package/umd/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
- package/umd/index.umd.js +28568 -27915
- package/umd/index.umd.js.map +1 -1
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
- package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
- package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
- package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
- package/umd/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
- package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +6 -4
- package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +30 -5
- package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +7 -1
- package/umd/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
- package/umd/src/_packages/types.index.d.ts +2 -2
- package/umd/src/avatars/renderAvatarVisualAsciiArt.d.ts +24 -1
- package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
- package/umd/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
- package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
- package/umd/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
- package/umd/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
- package/umd/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
- package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
- package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
- package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
- package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
- package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
- package/umd/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
- package/umd/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
- package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
- package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
- package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
- package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
- package/umd/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
- package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
- package/umd/src/commitments/META/META.d.ts +2 -2
- package/umd/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
- package/umd/src/commitments/index.d.ts +1 -1
- package/umd/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
- package/umd/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
- package/umd/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
- package/umd/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
- package/umd/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
- package/umd/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
- package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
- package/umd/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
- package/umd/src/utils/color/Color.d.ts +1 -1
- package/umd/src/version.d.ts +1 -1
- package/apps/agents-server/src/utils/userChat/createUserChatRunnerProgressCard.ts +0 -57
|
@@ -9,8 +9,10 @@ import { downloadBlob, parseFilenameFromContentDisposition } from '../../../util
|
|
|
9
9
|
import { formatHumanReadableTimestamp } from './formatHumanReadableTimestamp';
|
|
10
10
|
import { getUpdateJobFailureMessage } from './getUpdateJobFailureMessage';
|
|
11
11
|
import { getUpdateJobSuccessMessage } from './getUpdateJobSuccessMessage';
|
|
12
|
+
import { UpdateDatabaseMigrationsPanel } from './UpdateDatabaseMigrationsPanel';
|
|
12
13
|
import type { UpdateJobSnapshot } from './UpdateOverview';
|
|
13
14
|
import type { UpdateClientState } from './useUpdateClientState';
|
|
15
|
+
import { UPDATE_PAGE_CARD_CLASS_NAME } from './updatePageCardClassName';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* Duration (ms) of the transient "Copied!" / "Saved!" feedback shown next to log action buttons.
|
|
@@ -59,10 +61,10 @@ export function UpdateJobCard({ state, language }: UpdateJobCardProps) {
|
|
|
59
61
|
const jobStatus = job?.status ?? 'idle';
|
|
60
62
|
|
|
61
63
|
return (
|
|
62
|
-
<Card className=
|
|
63
|
-
<div className="space-y-4">
|
|
64
|
+
<Card className={UPDATE_PAGE_CARD_CLASS_NAME}>
|
|
65
|
+
<div className="min-w-0 space-y-4">
|
|
64
66
|
<div className="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between">
|
|
65
|
-
<div>
|
|
67
|
+
<div className="min-w-0">
|
|
66
68
|
<h2 className="text-lg font-semibold text-slate-900">Update job</h2>
|
|
67
69
|
<p className="mt-1 text-sm text-slate-500">
|
|
68
70
|
The update runs in the background so the browser request can finish cleanly before pm2
|
|
@@ -74,11 +76,15 @@ export function UpdateJobCard({ state, language }: UpdateJobCardProps) {
|
|
|
74
76
|
|
|
75
77
|
<UpdateJobSummaryGrid job={job} language={language} />
|
|
76
78
|
<UpdateJobStatusMessage job={job} />
|
|
79
|
+
<UpdateDatabaseMigrationsPanel
|
|
80
|
+
databaseMigrations={job?.databaseMigrations ?? null}
|
|
81
|
+
isJobIdle={jobStatus === 'idle'}
|
|
82
|
+
/>
|
|
77
83
|
|
|
78
84
|
{job?.logFilePath && (
|
|
79
85
|
<div className="text-xs text-slate-500">
|
|
80
86
|
Installer log:
|
|
81
|
-
<span className="ml-2 font-mono text-slate-700">{job.logFilePath}</span>
|
|
87
|
+
<span className="ml-2 break-all font-mono text-slate-700">{job.logFilePath}</span>
|
|
82
88
|
</div>
|
|
83
89
|
)}
|
|
84
90
|
{job?.status === 'failed' && <UpdateJobLogActions />}
|
|
@@ -103,7 +109,7 @@ export function UpdateJobCard({ state, language }: UpdateJobCardProps) {
|
|
|
103
109
|
function UpdateJobStatusBadge({ status }: { readonly status: UpdateJobStatus }) {
|
|
104
110
|
return (
|
|
105
111
|
<span
|
|
106
|
-
className={`inline-flex items-center gap-2 rounded-full border px-3 py-1 text-xs font-semibold uppercase tracking-wide ${getUpdateJobStatusClassName(
|
|
112
|
+
className={`inline-flex shrink-0 items-center gap-2 rounded-full border px-3 py-1 text-xs font-semibold uppercase tracking-wide ${getUpdateJobStatusClassName(
|
|
107
113
|
status,
|
|
108
114
|
)}`}
|
|
109
115
|
>
|
|
@@ -125,8 +131,9 @@ function UpdateJobSummaryGrid({
|
|
|
125
131
|
readonly language: ServerLanguageCode;
|
|
126
132
|
}) {
|
|
127
133
|
return (
|
|
128
|
-
<dl className="grid gap-4 text-sm text-slate-600 md:grid-cols-2 xl:grid-cols-
|
|
134
|
+
<dl className="grid min-w-0 gap-4 text-sm text-slate-600 md:grid-cols-2 xl:grid-cols-5">
|
|
129
135
|
<UpdateJobMetric label="Target" value={job?.targetEnvironment.label || 'Production'} />
|
|
136
|
+
<UpdateJobMetric label="Trigger" value={formatUpdateJobTrigger(job)} />
|
|
130
137
|
<UpdateJobMetric label="Step" value={job?.currentStep || 'Idle'} />
|
|
131
138
|
<UpdateJobMetric label="Started" value={formatHumanReadableTimestamp(job?.startedAt, language)} />
|
|
132
139
|
<UpdateJobMetric label="Finished" value={formatHumanReadableTimestamp(job?.finishedAt, language)} />
|
|
@@ -134,6 +141,20 @@ function UpdateJobSummaryGrid({
|
|
|
134
141
|
);
|
|
135
142
|
}
|
|
136
143
|
|
|
144
|
+
/**
|
|
145
|
+
* Formats the update job trigger for the summary grid.
|
|
146
|
+
*
|
|
147
|
+
* @param job - Latest job snapshot.
|
|
148
|
+
* @returns Human-readable trigger label.
|
|
149
|
+
*/
|
|
150
|
+
function formatUpdateJobTrigger(job: UpdateJobSnapshot | null): string {
|
|
151
|
+
if (!job || job.status === 'idle') {
|
|
152
|
+
return 'Manual';
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return job.trigger === 'automatic' ? 'Automatic' : 'Manual';
|
|
156
|
+
}
|
|
157
|
+
|
|
137
158
|
/**
|
|
138
159
|
* Renders one update job metric.
|
|
139
160
|
*
|
|
@@ -141,9 +162,9 @@ function UpdateJobSummaryGrid({
|
|
|
141
162
|
*/
|
|
142
163
|
function UpdateJobMetric({ label, value }: UpdateJobMetricProps) {
|
|
143
164
|
return (
|
|
144
|
-
<div className="rounded-xl border border-slate-200 bg-slate-50 px-4 py-3">
|
|
165
|
+
<div className="min-w-0 rounded-xl border border-slate-200 bg-slate-50 px-4 py-3">
|
|
145
166
|
<dt className="text-xs font-semibold uppercase tracking-wide text-slate-500">{label}</dt>
|
|
146
|
-
<dd className="mt-1 text-slate-900">{value}</dd>
|
|
167
|
+
<dd className="mt-1 break-words text-slate-900">{value}</dd>
|
|
147
168
|
</div>
|
|
148
169
|
);
|
|
149
170
|
}
|
|
@@ -11,13 +11,54 @@ export type UpdateEnvironmentOption = {
|
|
|
11
11
|
readonly isCustom: boolean;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Browser-safe database migration status recorded during one self-update job.
|
|
16
|
+
*
|
|
17
|
+
* @private type of `<UpdateClient/>`
|
|
18
|
+
*/
|
|
19
|
+
export type UpdateDatabaseMigrationStatus =
|
|
20
|
+
| 'pending'
|
|
21
|
+
| 'running'
|
|
22
|
+
| 'succeeded'
|
|
23
|
+
| 'failed'
|
|
24
|
+
| 'skipped'
|
|
25
|
+
| 'unknown';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Browser-safe database migration summary for one table prefix.
|
|
29
|
+
*
|
|
30
|
+
* @private type of `<UpdateClient/>`
|
|
31
|
+
*/
|
|
32
|
+
export type UpdateDatabaseMigrationPrefixSummary = {
|
|
33
|
+
readonly prefix: string;
|
|
34
|
+
readonly appliedCount: number;
|
|
35
|
+
readonly appliedMigrationFiles: ReadonlyArray<string>;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Browser-safe database migration snapshot recorded during one self-update job.
|
|
40
|
+
*
|
|
41
|
+
* @private type of `<UpdateClient/>`
|
|
42
|
+
*/
|
|
43
|
+
export type UpdateDatabaseMigrationSnapshot = {
|
|
44
|
+
readonly status: UpdateDatabaseMigrationStatus;
|
|
45
|
+
readonly processedPrefixes: ReadonlyArray<string>;
|
|
46
|
+
readonly totalMigrationFiles: number | null;
|
|
47
|
+
readonly perPrefix: ReadonlyArray<UpdateDatabaseMigrationPrefixSummary>;
|
|
48
|
+
readonly isSkippedDueToActiveMigrationLock: boolean | null;
|
|
49
|
+
readonly errorMessage: string | null;
|
|
50
|
+
readonly summaryFilePath: string | null;
|
|
51
|
+
};
|
|
52
|
+
|
|
14
53
|
/**
|
|
15
54
|
* Browser-safe latest update-job snapshot.
|
|
16
55
|
*
|
|
17
56
|
* @private type of `<UpdateClient/>`
|
|
18
57
|
*/
|
|
19
58
|
export type UpdateJobSnapshot = {
|
|
59
|
+
readonly jobId: string | null;
|
|
20
60
|
readonly status: 'idle' | 'running' | 'succeeded' | 'failed';
|
|
61
|
+
readonly trigger: 'manual' | 'automatic';
|
|
21
62
|
readonly pid: number | null;
|
|
22
63
|
readonly targetBranch: string | null;
|
|
23
64
|
readonly targetEnvironment: UpdateEnvironmentOption;
|
|
@@ -30,6 +71,30 @@ export type UpdateJobSnapshot = {
|
|
|
30
71
|
readonly isStale: boolean;
|
|
31
72
|
readonly logTail: string | null;
|
|
32
73
|
readonly logFilePath: string | null;
|
|
74
|
+
readonly databaseMigrations: UpdateDatabaseMigrationSnapshot;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Browser-safe automatic self-update configuration.
|
|
79
|
+
*
|
|
80
|
+
* @private type of `<UpdateClient/>`
|
|
81
|
+
*/
|
|
82
|
+
export type AutomaticUpdateConfiguration = {
|
|
83
|
+
readonly isEnabled: boolean;
|
|
84
|
+
readonly environment: UpdateEnvironmentOption;
|
|
85
|
+
readonly cronExpression: string;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Browser-safe summary of one installed Agents Server version.
|
|
90
|
+
*
|
|
91
|
+
* @private type of `<UpdateClient/>`
|
|
92
|
+
*/
|
|
93
|
+
export type UpdateInstalledVersion = {
|
|
94
|
+
readonly name: string;
|
|
95
|
+
readonly directoryPath: string;
|
|
96
|
+
readonly modifiedAt: string | null;
|
|
97
|
+
readonly isCurrent: boolean;
|
|
33
98
|
};
|
|
34
99
|
|
|
35
100
|
/**
|
|
@@ -69,6 +134,9 @@ export type UpdateOverview = {
|
|
|
69
134
|
readonly originRepositoryUrl: string;
|
|
70
135
|
readonly isOriginRepositoryDefault: boolean;
|
|
71
136
|
readonly defaultOriginRepositoryUrl: string;
|
|
137
|
+
readonly automaticConfiguration: AutomaticUpdateConfiguration;
|
|
138
|
+
readonly installedVersions: ReadonlyArray<UpdateInstalledVersion>;
|
|
139
|
+
readonly garbageCollectionKeepVersionsCount: number;
|
|
72
140
|
readonly job: UpdateJobSnapshot;
|
|
73
141
|
readonly error?: string;
|
|
74
142
|
};
|
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import type { CustomCommitPickerCandidate } from './CustomCommitPicker';
|
|
5
5
|
import { getUpdateJobSuccessMessage } from './getUpdateJobSuccessMessage';
|
|
6
|
-
import type { UpdateEnvironmentOption, UpdateOverview } from './UpdateOverview';
|
|
6
|
+
import type { AutomaticUpdateConfiguration, UpdateEnvironmentOption, UpdateOverview } from './UpdateOverview';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Interval (ms) used while polling a running standalone VPS update job.
|
|
10
10
|
*/
|
|
11
11
|
const UPDATE_OVERVIEW_REFRESH_INTERVAL_MS = 4000;
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Default draft shown before the update overview finishes loading.
|
|
15
|
+
*/
|
|
16
|
+
const DEFAULT_AUTOMATIC_UPDATE_CRON_EXPRESSION = '0 0 * * *';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Draft state used by the automatic self-update configuration form.
|
|
20
|
+
*
|
|
21
|
+
* @private type of `useUpdateClientState`
|
|
22
|
+
*/
|
|
23
|
+
type AutomaticUpdateConfigurationDraft = {
|
|
24
|
+
readonly isEnabled: boolean;
|
|
25
|
+
readonly environmentId: string;
|
|
26
|
+
readonly cronExpression: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
13
29
|
/**
|
|
14
30
|
* Options for loading the standalone VPS update overview.
|
|
15
31
|
*
|
|
@@ -31,6 +47,19 @@ type StartUpdateRequestBody = {
|
|
|
31
47
|
readonly originRepositoryUrl: string | null;
|
|
32
48
|
};
|
|
33
49
|
|
|
50
|
+
/**
|
|
51
|
+
* Body sent when saving automatic self-update configuration.
|
|
52
|
+
*
|
|
53
|
+
* @private type of `useUpdateClientState`
|
|
54
|
+
*/
|
|
55
|
+
type SaveAutomaticUpdateConfigurationRequestBody = {
|
|
56
|
+
readonly automaticConfiguration: {
|
|
57
|
+
readonly isEnabled: boolean;
|
|
58
|
+
readonly environment: string;
|
|
59
|
+
readonly cronExpression: string;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
|
|
34
63
|
/**
|
|
35
64
|
* Options used to build the start-update request body.
|
|
36
65
|
*
|
|
@@ -66,9 +95,12 @@ export type UpdateClientState = {
|
|
|
66
95
|
readonly selectedEnvironment: UpdateEnvironmentOption | null;
|
|
67
96
|
readonly customRef: string;
|
|
68
97
|
readonly originRepositoryUrlOverride: string;
|
|
98
|
+
readonly automaticConfigurationDraft: AutomaticUpdateConfigurationDraft;
|
|
69
99
|
readonly isAdvancedExpanded: boolean;
|
|
70
100
|
readonly isLoading: boolean;
|
|
71
101
|
readonly isStartingUpdate: boolean;
|
|
102
|
+
readonly isSavingAutomaticConfiguration: boolean;
|
|
103
|
+
readonly deletingVersionName: string | null;
|
|
72
104
|
readonly errorMessage: string | null;
|
|
73
105
|
readonly successMessage: string | null;
|
|
74
106
|
readonly isCustomEnvironmentSelected: boolean;
|
|
@@ -77,15 +109,18 @@ export type UpdateClientState = {
|
|
|
77
109
|
readonly isCustomRefRelease: boolean;
|
|
78
110
|
readonly isCustomRefMissing: boolean;
|
|
79
111
|
readonly isOriginRepositoryUrlOverrideChanged: boolean;
|
|
112
|
+
readonly isAutomaticConfigurationChanged: boolean;
|
|
80
113
|
readonly updateTerminalId: string;
|
|
81
114
|
readonly updateTerminalEmptyState: string;
|
|
82
115
|
readonly loadOverview: (options?: LoadUpdateOverviewOptions) => Promise<void>;
|
|
83
116
|
readonly startUpdate: () => Promise<void>;
|
|
117
|
+
readonly deleteInstalledVersion: (versionName: string) => Promise<void>;
|
|
118
|
+
readonly saveAutomaticConfiguration: () => Promise<void>;
|
|
119
|
+
readonly changeAutomaticUpdateEnabled: (isEnabled: boolean) => void;
|
|
120
|
+
readonly selectAutomaticUpdateEnvironment: (environmentId: string) => void;
|
|
121
|
+
readonly changeAutomaticUpdateCronExpression: (cronExpression: string) => void;
|
|
84
122
|
readonly selectEnvironment: (environmentId: string) => void;
|
|
85
|
-
readonly selectCustomRef: (
|
|
86
|
-
nextRef: string,
|
|
87
|
-
matchedCandidate: CustomCommitPickerCandidate | null,
|
|
88
|
-
) => void;
|
|
123
|
+
readonly selectCustomRef: (nextRef: string, matchedCandidate: CustomCommitPickerCandidate | null) => void;
|
|
89
124
|
readonly changeOriginRepositoryUrlOverride: (nextValue: string) => void;
|
|
90
125
|
readonly toggleAdvanced: () => void;
|
|
91
126
|
};
|
|
@@ -103,11 +138,19 @@ export function useUpdateClientState(): UpdateClientState {
|
|
|
103
138
|
const [customRef, setCustomRef] = useState<string>('');
|
|
104
139
|
const [customCandidate, setCustomCandidate] = useState<CustomCommitPickerCandidate | null>(null);
|
|
105
140
|
const [originRepositoryUrlOverride, setOriginRepositoryUrlOverride] = useState<string>('');
|
|
141
|
+
const [automaticConfigurationDraft, setAutomaticConfigurationDraft] = useState<AutomaticUpdateConfigurationDraft>({
|
|
142
|
+
isEnabled: false,
|
|
143
|
+
environmentId: 'production',
|
|
144
|
+
cronExpression: DEFAULT_AUTOMATIC_UPDATE_CRON_EXPRESSION,
|
|
145
|
+
});
|
|
106
146
|
const [isAdvancedExpanded, setIsAdvancedExpanded] = useState<boolean>(false);
|
|
107
147
|
const [isLoading, setIsLoading] = useState(true);
|
|
108
148
|
const [isStartingUpdate, setIsStartingUpdate] = useState(false);
|
|
149
|
+
const [isSavingAutomaticConfiguration, setIsSavingAutomaticConfiguration] = useState(false);
|
|
150
|
+
const [deletingVersionName, setDeletingVersionName] = useState<string | null>(null);
|
|
109
151
|
const [errorMessage, setErrorMessage] = useState<string | null>(null);
|
|
110
152
|
const [successMessage, setSuccessMessage] = useState<string | null>(null);
|
|
153
|
+
const isAutomaticConfigurationDirtyRef = useRef(false);
|
|
111
154
|
|
|
112
155
|
const loadOverview = useCallback(async (options?: LoadUpdateOverviewOptions): Promise<void> => {
|
|
113
156
|
try {
|
|
@@ -123,6 +166,9 @@ export function useUpdateClientState(): UpdateClientState {
|
|
|
123
166
|
(currentSelectedEnvironmentId) => currentSelectedEnvironmentId || payload.currentEnvironment.id,
|
|
124
167
|
);
|
|
125
168
|
setOriginRepositoryUrlOverride((currentValue) => currentValue || payload.originRepositoryUrl);
|
|
169
|
+
if (!isAutomaticConfigurationDirtyRef.current) {
|
|
170
|
+
setAutomaticConfigurationDraft(createAutomaticUpdateConfigurationDraft(payload.automaticConfiguration));
|
|
171
|
+
}
|
|
126
172
|
if (payload.job.status === 'succeeded') {
|
|
127
173
|
setSuccessMessage(getUpdateJobSuccessMessage(payload.job));
|
|
128
174
|
} else if (payload.job.status === 'failed') {
|
|
@@ -172,6 +218,10 @@ export function useUpdateClientState(): UpdateClientState {
|
|
|
172
218
|
overview,
|
|
173
219
|
originRepositoryUrlOverride,
|
|
174
220
|
);
|
|
221
|
+
const isAutomaticConfigurationChanged = isAutomaticUpdateConfigurationChanged(
|
|
222
|
+
automaticConfigurationDraft,
|
|
223
|
+
overview?.automaticConfiguration ?? null,
|
|
224
|
+
);
|
|
175
225
|
const updateTerminalId = buildUpdateTerminalId(overview);
|
|
176
226
|
const updateTerminalEmptyState = getUpdateTerminalEmptyState(isLoading, overview);
|
|
177
227
|
|
|
@@ -218,6 +268,67 @@ export function useUpdateClientState(): UpdateClientState {
|
|
|
218
268
|
selectedEnvironment,
|
|
219
269
|
]);
|
|
220
270
|
|
|
271
|
+
const deleteInstalledVersion = useCallback(async (versionName: string): Promise<void> => {
|
|
272
|
+
try {
|
|
273
|
+
setDeletingVersionName(versionName);
|
|
274
|
+
setErrorMessage(null);
|
|
275
|
+
setSuccessMessage(null);
|
|
276
|
+
|
|
277
|
+
const payload = await deleteInstalledVersionRequest(versionName);
|
|
278
|
+
|
|
279
|
+
setOverview(payload);
|
|
280
|
+
setSuccessMessage(`Deleted the installed Agents Server version ${versionName}.`);
|
|
281
|
+
} catch (error) {
|
|
282
|
+
setErrorMessage(getErrorMessage(error, 'Failed to delete the installed version.'));
|
|
283
|
+
} finally {
|
|
284
|
+
setDeletingVersionName(null);
|
|
285
|
+
}
|
|
286
|
+
}, []);
|
|
287
|
+
|
|
288
|
+
const saveAutomaticConfiguration = useCallback(async (): Promise<void> => {
|
|
289
|
+
try {
|
|
290
|
+
setIsSavingAutomaticConfiguration(true);
|
|
291
|
+
setErrorMessage(null);
|
|
292
|
+
setSuccessMessage(null);
|
|
293
|
+
|
|
294
|
+
const payload = await saveAutomaticUpdateConfiguration(automaticConfigurationDraft);
|
|
295
|
+
|
|
296
|
+
setOverview(payload);
|
|
297
|
+
setSelectedEnvironmentId(payload.currentEnvironment.id);
|
|
298
|
+
setAutomaticConfigurationDraft(createAutomaticUpdateConfigurationDraft(payload.automaticConfiguration));
|
|
299
|
+
isAutomaticConfigurationDirtyRef.current = false;
|
|
300
|
+
setSuccessMessage('Automatic self-update configuration saved.');
|
|
301
|
+
} catch (error) {
|
|
302
|
+
setErrorMessage(getErrorMessage(error, 'Failed to save automatic self-update configuration.'));
|
|
303
|
+
} finally {
|
|
304
|
+
setIsSavingAutomaticConfiguration(false);
|
|
305
|
+
}
|
|
306
|
+
}, [automaticConfigurationDraft]);
|
|
307
|
+
|
|
308
|
+
const changeAutomaticUpdateEnabled = useCallback((isEnabled: boolean): void => {
|
|
309
|
+
isAutomaticConfigurationDirtyRef.current = true;
|
|
310
|
+
setAutomaticConfigurationDraft((currentDraft) => ({
|
|
311
|
+
...currentDraft,
|
|
312
|
+
isEnabled,
|
|
313
|
+
}));
|
|
314
|
+
}, []);
|
|
315
|
+
|
|
316
|
+
const selectAutomaticUpdateEnvironment = useCallback((environmentId: string): void => {
|
|
317
|
+
isAutomaticConfigurationDirtyRef.current = true;
|
|
318
|
+
setAutomaticConfigurationDraft((currentDraft) => ({
|
|
319
|
+
...currentDraft,
|
|
320
|
+
environmentId,
|
|
321
|
+
}));
|
|
322
|
+
}, []);
|
|
323
|
+
|
|
324
|
+
const changeAutomaticUpdateCronExpression = useCallback((cronExpression: string): void => {
|
|
325
|
+
isAutomaticConfigurationDirtyRef.current = true;
|
|
326
|
+
setAutomaticConfigurationDraft((currentDraft) => ({
|
|
327
|
+
...currentDraft,
|
|
328
|
+
cronExpression,
|
|
329
|
+
}));
|
|
330
|
+
}, []);
|
|
331
|
+
|
|
221
332
|
const selectEnvironment = useCallback((environmentId: string): void => {
|
|
222
333
|
setSelectedEnvironmentId(environmentId);
|
|
223
334
|
}, []);
|
|
@@ -239,9 +350,12 @@ export function useUpdateClientState(): UpdateClientState {
|
|
|
239
350
|
selectedEnvironment,
|
|
240
351
|
customRef,
|
|
241
352
|
originRepositoryUrlOverride,
|
|
353
|
+
automaticConfigurationDraft,
|
|
242
354
|
isAdvancedExpanded,
|
|
243
355
|
isLoading,
|
|
244
356
|
isStartingUpdate,
|
|
357
|
+
isSavingAutomaticConfiguration,
|
|
358
|
+
deletingVersionName,
|
|
245
359
|
errorMessage,
|
|
246
360
|
successMessage,
|
|
247
361
|
isCustomEnvironmentSelected,
|
|
@@ -250,10 +364,16 @@ export function useUpdateClientState(): UpdateClientState {
|
|
|
250
364
|
isCustomRefRelease,
|
|
251
365
|
isCustomRefMissing,
|
|
252
366
|
isOriginRepositoryUrlOverrideChanged,
|
|
367
|
+
isAutomaticConfigurationChanged,
|
|
253
368
|
updateTerminalId,
|
|
254
369
|
updateTerminalEmptyState,
|
|
255
370
|
loadOverview,
|
|
256
371
|
startUpdate,
|
|
372
|
+
deleteInstalledVersion,
|
|
373
|
+
saveAutomaticConfiguration,
|
|
374
|
+
changeAutomaticUpdateEnabled,
|
|
375
|
+
selectAutomaticUpdateEnvironment,
|
|
376
|
+
changeAutomaticUpdateCronExpression,
|
|
257
377
|
selectEnvironment,
|
|
258
378
|
selectCustomRef,
|
|
259
379
|
changeOriginRepositoryUrlOverride: setOriginRepositoryUrlOverride,
|
|
@@ -304,6 +424,76 @@ async function startUpdateJob(requestBody: StartUpdateRequestBody): Promise<Upda
|
|
|
304
424
|
return payload;
|
|
305
425
|
}
|
|
306
426
|
|
|
427
|
+
/**
|
|
428
|
+
* Deletes one old installed Agents Server version through the admin API.
|
|
429
|
+
*
|
|
430
|
+
* @param versionName - Release directory name to delete.
|
|
431
|
+
* @returns Updated overview snapshot returned by the server.
|
|
432
|
+
*
|
|
433
|
+
* @private function of `useUpdateClientState`
|
|
434
|
+
*/
|
|
435
|
+
async function deleteInstalledVersionRequest(versionName: string): Promise<UpdateOverview> {
|
|
436
|
+
const response = await fetch('/api/admin/update/versions', {
|
|
437
|
+
method: 'DELETE',
|
|
438
|
+
headers: {
|
|
439
|
+
'Content-Type': 'application/json',
|
|
440
|
+
},
|
|
441
|
+
body: JSON.stringify({ versionName }),
|
|
442
|
+
});
|
|
443
|
+
const payload = (await response.json()) as UpdateOverview;
|
|
444
|
+
|
|
445
|
+
if (!response.ok) {
|
|
446
|
+
throw new Error(payload.error || 'Failed to delete the installed version.');
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
return payload;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Saves automatic self-update configuration with the prepared API request body.
|
|
454
|
+
*
|
|
455
|
+
* @param draft - Automatic self-update form draft.
|
|
456
|
+
* @returns Updated overview snapshot returned by the server.
|
|
457
|
+
*
|
|
458
|
+
* @private function of `useUpdateClientState`
|
|
459
|
+
*/
|
|
460
|
+
async function saveAutomaticUpdateConfiguration(draft: AutomaticUpdateConfigurationDraft): Promise<UpdateOverview> {
|
|
461
|
+
const response = await fetch('/api/admin/update', {
|
|
462
|
+
method: 'PATCH',
|
|
463
|
+
headers: {
|
|
464
|
+
'Content-Type': 'application/json',
|
|
465
|
+
},
|
|
466
|
+
body: JSON.stringify(createSaveAutomaticUpdateConfigurationRequestBody(draft)),
|
|
467
|
+
});
|
|
468
|
+
const payload = (await response.json()) as UpdateOverview;
|
|
469
|
+
|
|
470
|
+
if (!response.ok) {
|
|
471
|
+
throw new Error(payload.error || 'Failed to save automatic self-update configuration.');
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
return payload;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* Builds the PATCH body for saving automatic self-update configuration.
|
|
479
|
+
*
|
|
480
|
+
* @param draft - Automatic self-update form draft.
|
|
481
|
+
* @returns Request body accepted by `/api/admin/update`.
|
|
482
|
+
*
|
|
483
|
+
* @private function of `useUpdateClientState`
|
|
484
|
+
*/
|
|
485
|
+
function createSaveAutomaticUpdateConfigurationRequestBody(
|
|
486
|
+
draft: AutomaticUpdateConfigurationDraft,
|
|
487
|
+
): SaveAutomaticUpdateConfigurationRequestBody {
|
|
488
|
+
return {
|
|
489
|
+
automaticConfiguration: {
|
|
490
|
+
isEnabled: draft.isEnabled,
|
|
491
|
+
environment: draft.environmentId,
|
|
492
|
+
cronExpression: draft.cronExpression.trim(),
|
|
493
|
+
},
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
|
|
307
497
|
/**
|
|
308
498
|
* Builds the POST body for starting the update without mixing UI state decisions into the network call.
|
|
309
499
|
*
|
|
@@ -328,6 +518,48 @@ function createStartUpdateRequestBody(options: CreateStartUpdateRequestBodyOptio
|
|
|
328
518
|
};
|
|
329
519
|
}
|
|
330
520
|
|
|
521
|
+
/**
|
|
522
|
+
* Creates a form draft from the persisted automatic self-update configuration.
|
|
523
|
+
*
|
|
524
|
+
* @param configuration - Persisted automatic configuration.
|
|
525
|
+
* @returns Form draft.
|
|
526
|
+
*
|
|
527
|
+
* @private function of `useUpdateClientState`
|
|
528
|
+
*/
|
|
529
|
+
function createAutomaticUpdateConfigurationDraft(
|
|
530
|
+
configuration: AutomaticUpdateConfiguration,
|
|
531
|
+
): AutomaticUpdateConfigurationDraft {
|
|
532
|
+
return {
|
|
533
|
+
isEnabled: configuration.isEnabled,
|
|
534
|
+
environmentId: configuration.environment.id,
|
|
535
|
+
cronExpression: configuration.cronExpression,
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
/**
|
|
540
|
+
* Returns whether the automatic self-update draft differs from the persisted configuration.
|
|
541
|
+
*
|
|
542
|
+
* @param draft - Current form draft.
|
|
543
|
+
* @param configuration - Persisted automatic configuration from the overview.
|
|
544
|
+
* @returns `true` when there are unsaved automatic self-update changes.
|
|
545
|
+
*
|
|
546
|
+
* @private function of `useUpdateClientState`
|
|
547
|
+
*/
|
|
548
|
+
function isAutomaticUpdateConfigurationChanged(
|
|
549
|
+
draft: AutomaticUpdateConfigurationDraft,
|
|
550
|
+
configuration: AutomaticUpdateConfiguration | null,
|
|
551
|
+
): boolean {
|
|
552
|
+
if (!configuration) {
|
|
553
|
+
return false;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
return (
|
|
557
|
+
draft.isEnabled !== configuration.isEnabled ||
|
|
558
|
+
draft.environmentId !== configuration.environment.id ||
|
|
559
|
+
draft.cronExpression.trim() !== configuration.cronExpression
|
|
560
|
+
);
|
|
561
|
+
}
|
|
562
|
+
|
|
331
563
|
/**
|
|
332
564
|
* Resolves the success message shown after the update job is accepted by the server.
|
|
333
565
|
*
|
|
@@ -411,7 +643,9 @@ function isOriginRepositoryUrlOverrideChangedForOverview(
|
|
|
411
643
|
* @private function of `useUpdateClientState`
|
|
412
644
|
*/
|
|
413
645
|
function buildUpdateTerminalId(overview: UpdateOverview | null): string {
|
|
414
|
-
return `standalone-vps-update:${
|
|
646
|
+
return `standalone-vps-update:${
|
|
647
|
+
overview?.job.startedAt || overview?.job.finishedAt || overview?.job.status || 'loading'
|
|
648
|
+
}`;
|
|
415
649
|
}
|
|
416
650
|
|
|
417
651
|
/**
|
|
@@ -19,9 +19,9 @@ import { useServerLanguage } from '../../../components/ServerLanguage/ServerLang
|
|
|
19
19
|
import { ChatThreadLoadingSkeleton } from '../../../components/Skeleton/ChatThreadLoadingSkeleton';
|
|
20
20
|
import { useSoundSystem } from '../../../components/SoundSystemProvider/SoundSystemProvider';
|
|
21
21
|
import { fetchCalendarOAuthStatus, type CalendarOAuthStatusResponse } from '../../../utils/calendarOAuthClient';
|
|
22
|
+
import { createAttachmentAwareCitationLabelResolver } from '../../../utils/chat/createAttachmentAwareCitationLabelResolver';
|
|
22
23
|
import { createDefaultChatEffects } from '../../../utils/chat/createDefaultChatEffects';
|
|
23
24
|
import { executeQuickActionButton } from '../../../utils/chat/executeQuickActionButton';
|
|
24
|
-
import { resolveAgentsServerCitationLabel } from '../../../utils/chat/resolveAgentsServerCitationLabel';
|
|
25
25
|
import {
|
|
26
26
|
isChatFeedbackEnabled,
|
|
27
27
|
toChatComponentFeedbackMode,
|
|
@@ -144,6 +144,7 @@ export function AgentChatWrapper(props: AgentChatWrapperProps) {
|
|
|
144
144
|
const sendMessage = useSendMessageToLlmChat();
|
|
145
145
|
const [githubAppStatus, setGithubAppStatus] = useState<GithubAppStatusResponse | null>(null);
|
|
146
146
|
const [calendarOAuthStatus, setCalendarOAuthStatus] = useState<CalendarOAuthStatusResponse | null>(null);
|
|
147
|
+
const [renderedMessages, setRenderedMessages] = useState<ReadonlyArray<ChatMessage>>([]);
|
|
147
148
|
const currentAgentPermanentId = useMemo(() => {
|
|
148
149
|
return typeof (agent as { permanentId?: unknown } | undefined)?.permanentId === 'string'
|
|
149
150
|
? ((agent as { permanentId?: string }).permanentId as string)
|
|
@@ -283,6 +284,19 @@ export function AgentChatWrapper(props: AgentChatWrapperProps) {
|
|
|
283
284
|
t,
|
|
284
285
|
});
|
|
285
286
|
|
|
287
|
+
// Track rendered messages so cited chat attachments resolve to their original filenames.
|
|
288
|
+
const handleChatMessagesChange = useCallback(
|
|
289
|
+
(messages: ReadonlyArray<ChatMessage>) => {
|
|
290
|
+
setRenderedMessages(messages);
|
|
291
|
+
handleMessagesChange(messages);
|
|
292
|
+
},
|
|
293
|
+
[handleMessagesChange],
|
|
294
|
+
);
|
|
295
|
+
const resolveCitationLabel = useMemo(
|
|
296
|
+
() => createAttachmentAwareCitationLabelResolver(renderedMessages),
|
|
297
|
+
[renderedMessages],
|
|
298
|
+
);
|
|
299
|
+
|
|
286
300
|
// Handle errors from chat
|
|
287
301
|
const handleError = useCallback((error: unknown, retry: () => void) => {
|
|
288
302
|
if (error instanceof ClientVersionMismatchError) {
|
|
@@ -439,7 +453,7 @@ export function AgentChatWrapper(props: AgentChatWrapperProps) {
|
|
|
439
453
|
autoExecuteMessage={effectiveAutoExecuteMessage}
|
|
440
454
|
autoExecuteMessageAttachments={effectiveAutoExecuteMessageAttachments}
|
|
441
455
|
persistenceKey={persistenceKey}
|
|
442
|
-
onChange={
|
|
456
|
+
onChange={handleChatMessagesChange}
|
|
443
457
|
onInputTextChange={onInputTextChange}
|
|
444
458
|
onActionButton={executeQuickActionButton}
|
|
445
459
|
sendMessage={sendMessage}
|
|
@@ -459,7 +473,7 @@ export function AgentChatWrapper(props: AgentChatWrapperProps) {
|
|
|
459
473
|
onReset={onStartNewChat}
|
|
460
474
|
resetMode={onStartNewChat ? 'delegate' : undefined}
|
|
461
475
|
teamAgentProfiles={teamAgentProfiles}
|
|
462
|
-
resolveCitationLabel={
|
|
476
|
+
resolveCitationLabel={resolveCitationLabel}
|
|
463
477
|
>
|
|
464
478
|
{allowFileAttachments && !fileUploadAvailability.isUploadAvailable && (
|
|
465
479
|
<FileUploadUnavailableNotice className="mx-4 mt-4" />
|
|
@@ -14,9 +14,9 @@ import { useServerLanguage } from '../../../../components/ServerLanguage/ServerL
|
|
|
14
14
|
import { ChatThreadLoadingSkeleton } from '../../../../components/Skeleton/ChatThreadLoadingSkeleton';
|
|
15
15
|
import { useSoundSystem } from '../../../../components/SoundSystemProvider/SoundSystemProvider';
|
|
16
16
|
import { usePromptbookTheme } from '../../../../components/ThemeMode/usePromptbookTheme';
|
|
17
|
+
import { createAttachmentAwareCitationLabelResolver } from '../../../../utils/chat/createAttachmentAwareCitationLabelResolver';
|
|
17
18
|
import { createDefaultChatEffects } from '../../../../utils/chat/createDefaultChatEffects';
|
|
18
19
|
import { executeQuickActionButton } from '../../../../utils/chat/executeQuickActionButton';
|
|
19
|
-
import { resolveAgentsServerCitationLabel } from '../../../../utils/chat/resolveAgentsServerCitationLabel';
|
|
20
20
|
import { downloadChatPdfFromServer } from '../../../../utils/chatExport/downloadChatPdfFromServer';
|
|
21
21
|
import {
|
|
22
22
|
isChatFeedbackEnabled,
|
|
@@ -217,6 +217,10 @@ export function CanonicalAgentChatSurface({
|
|
|
217
217
|
),
|
|
218
218
|
[activeTimeouts, cancelAction, currentTimestamp, extraActions, isReadOnly, onCancelActiveTimeout],
|
|
219
219
|
);
|
|
220
|
+
const resolveCitationLabel = useMemo(
|
|
221
|
+
() => createAttachmentAwareCitationLabelResolver(state.renderedMessages),
|
|
222
|
+
[state.renderedMessages],
|
|
223
|
+
);
|
|
220
224
|
const shouldRenderLoadingSkeleton = state.initialMessage === undefined && state.renderedMessages.length === 0;
|
|
221
225
|
const chatElement = shouldRenderLoadingSkeleton ? (
|
|
222
226
|
renderCanonicalAgentChatLoadingSkeleton()
|
|
@@ -266,7 +270,7 @@ export function CanonicalAgentChatSurface({
|
|
|
266
270
|
teamAgentProfiles={state.teamAgentProfiles}
|
|
267
271
|
extraActions={extraActionNodes}
|
|
268
272
|
saveFormatHandlers={saveFormatHandlers}
|
|
269
|
-
resolveCitationLabel={
|
|
273
|
+
resolveCitationLabel={resolveCitationLabel}
|
|
270
274
|
theme={promptbookTheme}
|
|
271
275
|
>
|
|
272
276
|
{!isReadOnly && areFileAttachmentsEnabled && !fileUploadAvailability.isUploadAvailable && (
|