@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
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import type { ServerBackupSectionDefinition } from '../serverBackupSections';
|
|
3
|
+
import { loadBackupTableFilePayload, type ServerBackupContext } from './serverBackupContext';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Writes the legacy table-backed agent export while keeping the books tree unchanged.
|
|
7
|
+
*
|
|
8
|
+
* @param zip - ZIP archive being assembled.
|
|
9
|
+
* @param sectionRootPath - Root path for the agents section.
|
|
10
|
+
* @param sectionDefinition - Agents section definition.
|
|
11
|
+
* @param context - Shared backup context.
|
|
12
|
+
*
|
|
13
|
+
* @private function of `createServerBackupZipStream`
|
|
14
|
+
*/
|
|
15
|
+
export async function appendAgentBackupEntriesToZip(
|
|
16
|
+
zip: JSZip,
|
|
17
|
+
sectionRootPath: string,
|
|
18
|
+
sectionDefinition: ServerBackupSectionDefinition,
|
|
19
|
+
context: ServerBackupContext,
|
|
20
|
+
): Promise<void> {
|
|
21
|
+
const tableKeys = sectionDefinition.tables || [];
|
|
22
|
+
|
|
23
|
+
for (const tableKey of tableKeys) {
|
|
24
|
+
const tablePayload = await loadBackupTableFilePayload(context.supabase, tableKey);
|
|
25
|
+
zip.file(`${sectionRootPath}/${tableKey}.json`, `${JSON.stringify(tablePayload, null, 2)}\n`);
|
|
26
|
+
}
|
|
27
|
+
}
|
package/apps/agents-server/src/utils/backup/serverBackup/appendConversationBackupEntriesToZip.ts
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import { resolveFeedbackThreadMessages } from './resolveFeedbackThreadMessages';
|
|
3
|
+
import {
|
|
4
|
+
loadAgentRows,
|
|
5
|
+
loadChatFeedbackRows,
|
|
6
|
+
loadUserChatRows,
|
|
7
|
+
loadUserRows,
|
|
8
|
+
type ServerBackupContext,
|
|
9
|
+
} from './serverBackupContext';
|
|
10
|
+
import {
|
|
11
|
+
createBackupStem,
|
|
12
|
+
createJsonMetadataFilename,
|
|
13
|
+
createUniqueBackupFilename,
|
|
14
|
+
ensureJsonFilename,
|
|
15
|
+
} from './serverBackupFilenames';
|
|
16
|
+
import { createAgentPreviewByName, createAgentPreviewByPermanentId, createUserPreviewById } from './serverBackupPreviews';
|
|
17
|
+
import { normalizeOptionalText, resolveSerializableArray } from './serverBackupRowUtilities';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Writes one JSON chat export per conversation and per feedback thread.
|
|
21
|
+
*
|
|
22
|
+
* @param zip - ZIP archive being assembled.
|
|
23
|
+
* @param sectionRootPath - Root path for the conversations section.
|
|
24
|
+
* @param context - Shared backup context.
|
|
25
|
+
*
|
|
26
|
+
* @private function of `createServerBackupZipStream`
|
|
27
|
+
*/
|
|
28
|
+
export async function appendConversationBackupEntriesToZip(
|
|
29
|
+
zip: JSZip,
|
|
30
|
+
sectionRootPath: string,
|
|
31
|
+
context: ServerBackupContext,
|
|
32
|
+
): Promise<void> {
|
|
33
|
+
const [userChats, users, agents, feedbackRows] = await Promise.all([
|
|
34
|
+
loadUserChatRows(context),
|
|
35
|
+
loadUserRows(context),
|
|
36
|
+
loadAgentRows(context),
|
|
37
|
+
loadChatFeedbackRows(context),
|
|
38
|
+
]);
|
|
39
|
+
|
|
40
|
+
const chatsRootPath = `${sectionRootPath}/chats`;
|
|
41
|
+
const feedbackRootPath = `${sectionRootPath}/feedback`;
|
|
42
|
+
const usedChatFilenames = new Set<string>();
|
|
43
|
+
const usedFeedbackFilenames = new Set<string>();
|
|
44
|
+
const userPreviewById = createUserPreviewById(users);
|
|
45
|
+
const agentPreviewByPermanentId = createAgentPreviewByPermanentId(agents);
|
|
46
|
+
const agentPreviewByName = createAgentPreviewByName(agents);
|
|
47
|
+
|
|
48
|
+
zip.folder(chatsRootPath);
|
|
49
|
+
zip.folder(feedbackRootPath);
|
|
50
|
+
|
|
51
|
+
for (const chat of userChats) {
|
|
52
|
+
const userPreview = userPreviewById.get(chat.userId) || null;
|
|
53
|
+
const agentPreview = agentPreviewByPermanentId.get(chat.agentPermanentId) || {
|
|
54
|
+
id: 0,
|
|
55
|
+
agentName: chat.agentPermanentId,
|
|
56
|
+
permanentId: chat.agentPermanentId,
|
|
57
|
+
};
|
|
58
|
+
const chatMessages = resolveSerializableArray(chat.messages);
|
|
59
|
+
const preferredFilename = ensureJsonFilename(
|
|
60
|
+
createBackupStem(
|
|
61
|
+
[userPreview?.username, agentPreview.agentName, normalizeOptionalText(chat.title), 'conversation'],
|
|
62
|
+
`chat-${chat.id}`,
|
|
63
|
+
),
|
|
64
|
+
);
|
|
65
|
+
const filename = createUniqueBackupFilename(
|
|
66
|
+
usedChatFilenames,
|
|
67
|
+
preferredFilename,
|
|
68
|
+
`chat-${chat.id}`,
|
|
69
|
+
);
|
|
70
|
+
const metadataFilename = createJsonMetadataFilename(filename);
|
|
71
|
+
|
|
72
|
+
zip.file(`${chatsRootPath}/${filename}`, `${JSON.stringify(chatMessages, null, 2)}\n`);
|
|
73
|
+
zip.file(
|
|
74
|
+
`${chatsRootPath}/${metadataFilename}`,
|
|
75
|
+
`${JSON.stringify(
|
|
76
|
+
{
|
|
77
|
+
kind: 'user-chat',
|
|
78
|
+
chatId: chat.id,
|
|
79
|
+
title: chat.title,
|
|
80
|
+
createdAt: chat.createdAt,
|
|
81
|
+
updatedAt: chat.updatedAt,
|
|
82
|
+
lastMessageAt: chat.lastMessageAt,
|
|
83
|
+
source: chat.source,
|
|
84
|
+
draftMessage: chat.draftMessage,
|
|
85
|
+
messageCount: chatMessages.length,
|
|
86
|
+
user: userPreview,
|
|
87
|
+
agent: agentPreview,
|
|
88
|
+
},
|
|
89
|
+
null,
|
|
90
|
+
2,
|
|
91
|
+
)}\n`,
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
for (const feedback of feedbackRows) {
|
|
96
|
+
const { messages, rawChatThreadText } = resolveFeedbackThreadMessages(feedback.chatThread);
|
|
97
|
+
const agentPreview = agentPreviewByName.get(feedback.agentName) || {
|
|
98
|
+
id: 0,
|
|
99
|
+
agentName: feedback.agentName,
|
|
100
|
+
permanentId: null,
|
|
101
|
+
};
|
|
102
|
+
const preferredFilename = ensureJsonFilename(
|
|
103
|
+
createBackupStem(
|
|
104
|
+
[feedback.agentName, normalizeOptionalText(feedback.textRating), `feedback ${feedback.id}`],
|
|
105
|
+
`feedback-${feedback.id}`,
|
|
106
|
+
),
|
|
107
|
+
);
|
|
108
|
+
const filename = createUniqueBackupFilename(
|
|
109
|
+
usedFeedbackFilenames,
|
|
110
|
+
preferredFilename,
|
|
111
|
+
`feedback-${feedback.id}`,
|
|
112
|
+
);
|
|
113
|
+
const metadataFilename = createJsonMetadataFilename(filename);
|
|
114
|
+
|
|
115
|
+
zip.file(`${feedbackRootPath}/${filename}`, `${JSON.stringify(messages, null, 2)}\n`);
|
|
116
|
+
zip.file(
|
|
117
|
+
`${feedbackRootPath}/${metadataFilename}`,
|
|
118
|
+
`${JSON.stringify(
|
|
119
|
+
{
|
|
120
|
+
kind: 'chat-feedback',
|
|
121
|
+
feedbackId: feedback.id,
|
|
122
|
+
createdAt: feedback.createdAt,
|
|
123
|
+
agent: agentPreview,
|
|
124
|
+
rating: feedback.rating,
|
|
125
|
+
textRating: feedback.textRating,
|
|
126
|
+
userNote: feedback.userNote,
|
|
127
|
+
expectedAnswer: feedback.expectedAnswer,
|
|
128
|
+
promptbookEngineVersion: feedback.promptbookEngineVersion,
|
|
129
|
+
url: feedback.url,
|
|
130
|
+
language: feedback.language,
|
|
131
|
+
platform: feedback.platform,
|
|
132
|
+
messageCount: messages.length,
|
|
133
|
+
...(rawChatThreadText ? { rawChatThreadText } : {}),
|
|
134
|
+
},
|
|
135
|
+
null,
|
|
136
|
+
2,
|
|
137
|
+
)}\n`,
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import { downloadBackupBinaryContent } from './downloadBackupBinaryContent';
|
|
3
|
+
import {
|
|
4
|
+
createAttachmentReferencesByUrl,
|
|
5
|
+
resolveAttachmentReferencesForUrls,
|
|
6
|
+
} from './serverBackupAttachments';
|
|
7
|
+
import {
|
|
8
|
+
loadAgentRows,
|
|
9
|
+
loadChatFeedbackRows,
|
|
10
|
+
loadTableRows,
|
|
11
|
+
loadUserChatRows,
|
|
12
|
+
loadUserRows,
|
|
13
|
+
type ServerBackupContext,
|
|
14
|
+
} from './serverBackupContext';
|
|
15
|
+
import {
|
|
16
|
+
createBinaryMetadataFilename,
|
|
17
|
+
createUniqueBackupFilename,
|
|
18
|
+
resolveBinaryBackupFilename,
|
|
19
|
+
resolvePathBasename,
|
|
20
|
+
} from './serverBackupFilenames';
|
|
21
|
+
import {
|
|
22
|
+
createAgentPreviewById,
|
|
23
|
+
createAgentPreviewByName,
|
|
24
|
+
createAgentPreviewByPermanentId,
|
|
25
|
+
createUserPreviewById,
|
|
26
|
+
} from './serverBackupPreviews';
|
|
27
|
+
import { deduplicateSerializableObjects, normalizeOptionalText } from './serverBackupRowUtilities';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Writes uploaded files and generated images together with sidecar restore metadata.
|
|
31
|
+
*
|
|
32
|
+
* @param zip - ZIP archive being assembled.
|
|
33
|
+
* @param sectionRootPath - Root path for the files section.
|
|
34
|
+
* @param context - Shared backup context.
|
|
35
|
+
*
|
|
36
|
+
* @private function of `createServerBackupZipStream`
|
|
37
|
+
*/
|
|
38
|
+
export async function appendFileBackupEntriesToZip(
|
|
39
|
+
zip: JSZip,
|
|
40
|
+
sectionRootPath: string,
|
|
41
|
+
context: ServerBackupContext,
|
|
42
|
+
): Promise<void> {
|
|
43
|
+
const [fileRows, imageRows, users, agents, userChats, feedbackRows] = await Promise.all([
|
|
44
|
+
loadTableRows(context.supabase, 'File'),
|
|
45
|
+
loadTableRows(context.supabase, 'Image'),
|
|
46
|
+
loadUserRows(context),
|
|
47
|
+
loadAgentRows(context),
|
|
48
|
+
loadUserChatRows(context),
|
|
49
|
+
loadChatFeedbackRows(context),
|
|
50
|
+
]);
|
|
51
|
+
const uploadsRootPath = `${sectionRootPath}/uploads`;
|
|
52
|
+
const imagesRootPath = `${sectionRootPath}/images`;
|
|
53
|
+
const usedUploadFilenames = new Set<string>();
|
|
54
|
+
const usedImageFilenames = new Set<string>();
|
|
55
|
+
const userPreviewById = createUserPreviewById(users);
|
|
56
|
+
const agentPreviewById = createAgentPreviewById(agents);
|
|
57
|
+
const agentPreviewByPermanentId = createAgentPreviewByPermanentId(agents);
|
|
58
|
+
const agentPreviewByName = createAgentPreviewByName(agents);
|
|
59
|
+
const attachmentReferencesByUrl = createAttachmentReferencesByUrl({
|
|
60
|
+
userChats,
|
|
61
|
+
feedbackRows,
|
|
62
|
+
userPreviewById,
|
|
63
|
+
agentPreviewByPermanentId,
|
|
64
|
+
agentPreviewByName,
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
zip.folder(uploadsRootPath);
|
|
68
|
+
zip.folder(imagesRootPath);
|
|
69
|
+
|
|
70
|
+
for (const fileRow of fileRows) {
|
|
71
|
+
const contentUrl = normalizeOptionalText(fileRow.storageUrl) || normalizeOptionalText(fileRow.shortUrl);
|
|
72
|
+
const filename = createUniqueBackupFilename(
|
|
73
|
+
usedUploadFilenames,
|
|
74
|
+
resolveBinaryBackupFilename(fileRow.fileName, contentUrl, `file-${fileRow.id}`),
|
|
75
|
+
`file-${fileRow.id}`,
|
|
76
|
+
);
|
|
77
|
+
const downloadResult = await downloadBackupBinaryContent(contentUrl);
|
|
78
|
+
const attachedToMessages = deduplicateSerializableObjects(
|
|
79
|
+
resolveAttachmentReferencesForUrls(
|
|
80
|
+
attachmentReferencesByUrl,
|
|
81
|
+
[fileRow.storageUrl, fileRow.shortUrl],
|
|
82
|
+
),
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
if (downloadResult.content) {
|
|
86
|
+
zip.file(`${uploadsRootPath}/${filename}`, downloadResult.content);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
zip.file(
|
|
90
|
+
`${uploadsRootPath}/${createBinaryMetadataFilename(filename)}`,
|
|
91
|
+
`${JSON.stringify(
|
|
92
|
+
{
|
|
93
|
+
kind: 'uploaded-file',
|
|
94
|
+
id: fileRow.id,
|
|
95
|
+
createdAt: fileRow.createdAt,
|
|
96
|
+
originalFileName: resolvePathBasename(fileRow.fileName, `file-${fileRow.id}`),
|
|
97
|
+
fileType: fileRow.fileType,
|
|
98
|
+
fileSize: fileRow.fileSize,
|
|
99
|
+
purpose: fileRow.purpose,
|
|
100
|
+
status: fileRow.status,
|
|
101
|
+
uploadedBy: typeof fileRow.userId === 'number' ? userPreviewById.get(fileRow.userId) || null : null,
|
|
102
|
+
agent: typeof fileRow.agentId === 'number' ? agentPreviewById.get(fileRow.agentId) || null : null,
|
|
103
|
+
attachedToMessages,
|
|
104
|
+
contentUrl,
|
|
105
|
+
contentIncluded: Boolean(downloadResult.content),
|
|
106
|
+
...(downloadResult.error ? { contentDownloadError: downloadResult.error } : {}),
|
|
107
|
+
},
|
|
108
|
+
null,
|
|
109
|
+
2,
|
|
110
|
+
)}\n`,
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
for (const imageRow of imageRows) {
|
|
115
|
+
const filename = createUniqueBackupFilename(
|
|
116
|
+
usedImageFilenames,
|
|
117
|
+
resolveBinaryBackupFilename(imageRow.filename, imageRow.cdnUrl, `image-${imageRow.id}`),
|
|
118
|
+
`image-${imageRow.id}`,
|
|
119
|
+
);
|
|
120
|
+
const downloadResult = await downloadBackupBinaryContent(imageRow.cdnUrl);
|
|
121
|
+
|
|
122
|
+
if (downloadResult.content) {
|
|
123
|
+
zip.file(`${imagesRootPath}/${filename}`, downloadResult.content);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
zip.file(
|
|
127
|
+
`${imagesRootPath}/${createBinaryMetadataFilename(filename)}`,
|
|
128
|
+
`${JSON.stringify(
|
|
129
|
+
{
|
|
130
|
+
kind: 'generated-image',
|
|
131
|
+
id: imageRow.id,
|
|
132
|
+
createdAt: imageRow.createdAt,
|
|
133
|
+
updatedAt: imageRow.updatedAt,
|
|
134
|
+
filename: imageRow.filename,
|
|
135
|
+
prompt: imageRow.prompt,
|
|
136
|
+
purpose: imageRow.purpose,
|
|
137
|
+
agent: typeof imageRow.agentId === 'number' ? agentPreviewById.get(imageRow.agentId) || null : null,
|
|
138
|
+
contentUrl: imageRow.cdnUrl,
|
|
139
|
+
contentIncluded: Boolean(downloadResult.content),
|
|
140
|
+
...(downloadResult.error ? { contentDownloadError: downloadResult.error } : {}),
|
|
141
|
+
},
|
|
142
|
+
null,
|
|
143
|
+
2,
|
|
144
|
+
)}\n`,
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import { loadTableRows, type ServerBackupContext } from './serverBackupContext';
|
|
3
|
+
import { createBackupStem, createUniqueBackupFilename, ensureJsonFilename } from './serverBackupFilenames';
|
|
4
|
+
import { groupRowsBy } from './serverBackupRowUtilities';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Writes one JSON file per system message with delivery history.
|
|
8
|
+
*
|
|
9
|
+
* @param zip - ZIP archive being assembled.
|
|
10
|
+
* @param sectionRootPath - Root path for the messages section.
|
|
11
|
+
* @param context - Shared backup context.
|
|
12
|
+
*
|
|
13
|
+
* @private function of `createServerBackupZipStream`
|
|
14
|
+
*/
|
|
15
|
+
export async function appendMessageBackupEntriesToZip(
|
|
16
|
+
zip: JSZip,
|
|
17
|
+
sectionRootPath: string,
|
|
18
|
+
context: ServerBackupContext,
|
|
19
|
+
): Promise<void> {
|
|
20
|
+
const [messageRows, sendAttemptRows] = await Promise.all([
|
|
21
|
+
loadTableRows(context.supabase, 'Message'),
|
|
22
|
+
loadTableRows(context.supabase, 'MessageSendAttempt'),
|
|
23
|
+
]);
|
|
24
|
+
const usedMessageFilenames = new Set<string>();
|
|
25
|
+
const sendAttemptsByMessageId = groupRowsBy(sendAttemptRows, (row) => row.messageId);
|
|
26
|
+
|
|
27
|
+
for (const messageRow of messageRows) {
|
|
28
|
+
const filename = createUniqueBackupFilename(
|
|
29
|
+
usedMessageFilenames,
|
|
30
|
+
ensureJsonFilename(
|
|
31
|
+
createBackupStem(
|
|
32
|
+
[messageRow.channel, messageRow.direction, messageRow.createdAt],
|
|
33
|
+
`message-${messageRow.id}`,
|
|
34
|
+
),
|
|
35
|
+
),
|
|
36
|
+
`message-${messageRow.id}`,
|
|
37
|
+
);
|
|
38
|
+
const sendAttempts = sendAttemptsByMessageId.get(messageRow.id) || [];
|
|
39
|
+
|
|
40
|
+
zip.file(
|
|
41
|
+
`${sectionRootPath}/${filename}`,
|
|
42
|
+
`${JSON.stringify(
|
|
43
|
+
{
|
|
44
|
+
id: messageRow.id,
|
|
45
|
+
createdAt: messageRow.createdAt,
|
|
46
|
+
channel: messageRow.channel,
|
|
47
|
+
direction: messageRow.direction,
|
|
48
|
+
sender: messageRow.sender,
|
|
49
|
+
recipients: messageRow.recipients,
|
|
50
|
+
content: messageRow.content,
|
|
51
|
+
threadId: messageRow.threadId,
|
|
52
|
+
metadata: messageRow.metadata,
|
|
53
|
+
sendAttempts: sendAttempts.map((row) => ({
|
|
54
|
+
id: row.id,
|
|
55
|
+
createdAt: row.createdAt,
|
|
56
|
+
providerName: row.providerName,
|
|
57
|
+
isSuccessful: row.isSuccessful,
|
|
58
|
+
})),
|
|
59
|
+
},
|
|
60
|
+
null,
|
|
61
|
+
2,
|
|
62
|
+
)}\n`,
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import { loadTableRows, type ServerBackupContext } from './serverBackupContext';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Filename used for the flattened metadata and limits export.
|
|
6
|
+
*
|
|
7
|
+
* @private constant of `createServerBackupZipStream`
|
|
8
|
+
*/
|
|
9
|
+
const METADATA_AND_LIMITS_FILENAME = 'metadata-and-limits.json';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Writes the flattened metadata and limits file.
|
|
13
|
+
*
|
|
14
|
+
* @param zip - ZIP archive being assembled.
|
|
15
|
+
* @param sectionRootPath - Root path for the metadata section.
|
|
16
|
+
* @param context - Shared backup context.
|
|
17
|
+
*
|
|
18
|
+
* @private function of `createServerBackupZipStream`
|
|
19
|
+
*/
|
|
20
|
+
export async function appendMetadataBackupEntriesToZip(
|
|
21
|
+
zip: JSZip,
|
|
22
|
+
sectionRootPath: string,
|
|
23
|
+
context: ServerBackupContext,
|
|
24
|
+
): Promise<void> {
|
|
25
|
+
const [metadataRows, serverLimitRows] = await Promise.all([
|
|
26
|
+
loadTableRows(context.supabase, 'Metadata'),
|
|
27
|
+
loadTableRows(context.supabase, 'ServerLimit'),
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
const keyValueEntries = [
|
|
31
|
+
...metadataRows.map((row) => [row.key, row.value] as const),
|
|
32
|
+
...serverLimitRows.map((row) => [row.key, row.value] as const),
|
|
33
|
+
].sort(([leftKey], [rightKey]) => leftKey.localeCompare(rightKey));
|
|
34
|
+
|
|
35
|
+
zip.file(
|
|
36
|
+
`${sectionRootPath}/${METADATA_AND_LIMITS_FILENAME}`,
|
|
37
|
+
`${JSON.stringify(Object.fromEntries(keyValueEntries), null, 2)}\n`,
|
|
38
|
+
);
|
|
39
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import type { ServerBackupSectionDefinition } from '../serverBackupSections';
|
|
3
|
+
import { appendAgentBackupEntriesToZip } from './appendAgentBackupEntriesToZip';
|
|
4
|
+
import { appendConversationBackupEntriesToZip } from './appendConversationBackupEntriesToZip';
|
|
5
|
+
import { appendFileBackupEntriesToZip } from './appendFileBackupEntriesToZip';
|
|
6
|
+
import { appendMessageBackupEntriesToZip } from './appendMessageBackupEntriesToZip';
|
|
7
|
+
import { appendMetadataBackupEntriesToZip } from './appendMetadataBackupEntriesToZip';
|
|
8
|
+
import { appendUserBackupEntriesToZip } from './appendUserBackupEntriesToZip';
|
|
9
|
+
import type { ServerBackupContext } from './serverBackupContext';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Filename used when a requested section intentionally exports no data.
|
|
13
|
+
*
|
|
14
|
+
* @private constant of `createServerBackupZipStream`
|
|
15
|
+
*/
|
|
16
|
+
const EXCLUDED_SECTION_FILENAME = 'excluded.json';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Appends one selected section into the ZIP archive.
|
|
20
|
+
*
|
|
21
|
+
* @param options - Section append options.
|
|
22
|
+
*
|
|
23
|
+
* @private function of `createServerBackupZipStream`
|
|
24
|
+
*/
|
|
25
|
+
export async function appendSectionEntriesToZip(options: {
|
|
26
|
+
zip: JSZip;
|
|
27
|
+
backupRootFolderName: string;
|
|
28
|
+
sectionDefinition: ServerBackupSectionDefinition;
|
|
29
|
+
context: ServerBackupContext;
|
|
30
|
+
}): Promise<void> {
|
|
31
|
+
const { zip, backupRootFolderName, sectionDefinition, context } = options;
|
|
32
|
+
const sectionRootPath = `${backupRootFolderName}/data/${sectionDefinition.directoryName}`;
|
|
33
|
+
zip.folder(sectionRootPath);
|
|
34
|
+
|
|
35
|
+
switch (sectionDefinition.key) {
|
|
36
|
+
case 'metadata':
|
|
37
|
+
await appendMetadataBackupEntriesToZip(zip, sectionRootPath, context);
|
|
38
|
+
return;
|
|
39
|
+
case 'agents':
|
|
40
|
+
await appendAgentBackupEntriesToZip(zip, sectionRootPath, sectionDefinition, context);
|
|
41
|
+
return;
|
|
42
|
+
case 'conversations':
|
|
43
|
+
await appendConversationBackupEntriesToZip(zip, sectionRootPath, context);
|
|
44
|
+
return;
|
|
45
|
+
case 'users':
|
|
46
|
+
await appendUserBackupEntriesToZip(zip, sectionRootPath, context);
|
|
47
|
+
return;
|
|
48
|
+
case 'files':
|
|
49
|
+
await appendFileBackupEntriesToZip(zip, sectionRootPath, context);
|
|
50
|
+
return;
|
|
51
|
+
case 'messages':
|
|
52
|
+
await appendMessageBackupEntriesToZip(zip, sectionRootPath, context);
|
|
53
|
+
return;
|
|
54
|
+
case 'security':
|
|
55
|
+
case 'caches':
|
|
56
|
+
appendExcludedSectionNoteToZip(zip, sectionRootPath, sectionDefinition);
|
|
57
|
+
return;
|
|
58
|
+
default: {
|
|
59
|
+
const exhaustiveSectionKey: never = sectionDefinition.key;
|
|
60
|
+
throw new Error(`Unsupported backup section ${String(exhaustiveSectionKey)}.`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Writes the explanatory note for a section that is intentionally excluded from the archive.
|
|
67
|
+
*
|
|
68
|
+
* @param zip - ZIP archive being assembled.
|
|
69
|
+
* @param sectionRootPath - Root path for the excluded section.
|
|
70
|
+
* @param sectionDefinition - Excluded section definition.
|
|
71
|
+
*
|
|
72
|
+
* @private function of `createServerBackupZipStream`
|
|
73
|
+
*/
|
|
74
|
+
function appendExcludedSectionNoteToZip(
|
|
75
|
+
zip: JSZip,
|
|
76
|
+
sectionRootPath: string,
|
|
77
|
+
sectionDefinition: ServerBackupSectionDefinition,
|
|
78
|
+
): void {
|
|
79
|
+
zip.file(
|
|
80
|
+
`${sectionRootPath}/${EXCLUDED_SECTION_FILENAME}`,
|
|
81
|
+
`${JSON.stringify(
|
|
82
|
+
{
|
|
83
|
+
key: sectionDefinition.key,
|
|
84
|
+
label: sectionDefinition.label,
|
|
85
|
+
included: false,
|
|
86
|
+
reason: sectionDefinition.description,
|
|
87
|
+
},
|
|
88
|
+
null,
|
|
89
|
+
2,
|
|
90
|
+
)}\n`,
|
|
91
|
+
);
|
|
92
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import JSZip from 'jszip';
|
|
2
|
+
import { createRedactedWalletBackupRecord } from './createRedactedWalletBackupRecord';
|
|
3
|
+
import { loadAgentRows, loadTableRows, loadUserRows, type ServerBackupContext } from './serverBackupContext';
|
|
4
|
+
import { createBackupStem, createUniqueBackupFilename, ensureJsonFilename } from './serverBackupFilenames';
|
|
5
|
+
import { createAgentPreviewByPermanentId } from './serverBackupPreviews';
|
|
6
|
+
import { groupRowsBy } from './serverBackupRowUtilities';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Writes one JSON file per user with related memories, structured data, and redacted wallet entries.
|
|
10
|
+
*
|
|
11
|
+
* @param zip - ZIP archive being assembled.
|
|
12
|
+
* @param sectionRootPath - Root path for the users section.
|
|
13
|
+
* @param context - Shared backup context.
|
|
14
|
+
*
|
|
15
|
+
* @private function of `createServerBackupZipStream`
|
|
16
|
+
*/
|
|
17
|
+
export async function appendUserBackupEntriesToZip(
|
|
18
|
+
zip: JSZip,
|
|
19
|
+
sectionRootPath: string,
|
|
20
|
+
context: ServerBackupContext,
|
|
21
|
+
): Promise<void> {
|
|
22
|
+
const [users, agents, memoryRows, userDataRows, walletRows] = await Promise.all([
|
|
23
|
+
loadUserRows(context),
|
|
24
|
+
loadAgentRows(context),
|
|
25
|
+
loadTableRows(context.supabase, 'UserMemory'),
|
|
26
|
+
loadTableRows(context.supabase, 'UserData'),
|
|
27
|
+
loadTableRows(context.supabase, 'Wallet'),
|
|
28
|
+
]);
|
|
29
|
+
const usedUserFilenames = new Set<string>();
|
|
30
|
+
const agentPreviewByPermanentId = createAgentPreviewByPermanentId(agents);
|
|
31
|
+
const memoryRowsByUserId = groupRowsBy(memoryRows, (row) => row.userId);
|
|
32
|
+
const userDataRowsByUserId = groupRowsBy(userDataRows, (row) => row.userId);
|
|
33
|
+
const walletRowsByUserId = groupRowsBy(walletRows, (row) => row.userId);
|
|
34
|
+
|
|
35
|
+
for (const user of users) {
|
|
36
|
+
const filename = createUniqueBackupFilename(
|
|
37
|
+
usedUserFilenames,
|
|
38
|
+
ensureJsonFilename(createBackupStem([user.username], `user-${user.id}`)),
|
|
39
|
+
`user-${user.id}`,
|
|
40
|
+
);
|
|
41
|
+
const userMemoryRows = memoryRowsByUserId.get(user.id) || [];
|
|
42
|
+
const scopedUserDataRows = userDataRowsByUserId.get(user.id) || [];
|
|
43
|
+
const scopedWalletRows = walletRowsByUserId.get(user.id) || [];
|
|
44
|
+
|
|
45
|
+
zip.file(
|
|
46
|
+
`${sectionRootPath}/${filename}`,
|
|
47
|
+
`${JSON.stringify(
|
|
48
|
+
{
|
|
49
|
+
user: {
|
|
50
|
+
id: user.id,
|
|
51
|
+
createdAt: user.createdAt,
|
|
52
|
+
updatedAt: user.updatedAt,
|
|
53
|
+
username: user.username,
|
|
54
|
+
isAdmin: user.isAdmin,
|
|
55
|
+
profileImageUrl: user.profileImageUrl,
|
|
56
|
+
},
|
|
57
|
+
memories: userMemoryRows.map((row) => ({
|
|
58
|
+
id: row.id,
|
|
59
|
+
createdAt: row.createdAt,
|
|
60
|
+
updatedAt: row.updatedAt,
|
|
61
|
+
content: row.content,
|
|
62
|
+
isGlobal: row.isGlobal,
|
|
63
|
+
deletedAt: row.deletedAt,
|
|
64
|
+
agent: row.agentPermanentId ? agentPreviewByPermanentId.get(row.agentPermanentId) || null : null,
|
|
65
|
+
})),
|
|
66
|
+
data: scopedUserDataRows.map((row) => ({
|
|
67
|
+
id: row.id,
|
|
68
|
+
createdAt: row.createdAt,
|
|
69
|
+
updatedAt: row.updatedAt,
|
|
70
|
+
key: row.key,
|
|
71
|
+
value: row.value,
|
|
72
|
+
})),
|
|
73
|
+
wallet: scopedWalletRows.map((row) => createRedactedWalletBackupRecord(row, agentPreviewByPermanentId)),
|
|
74
|
+
},
|
|
75
|
+
null,
|
|
76
|
+
2,
|
|
77
|
+
)}\n`,
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { normalizeOptionalText } from './serverBackupRowUtilities';
|
|
2
|
+
import type { BackupAgentPreview, WalletRow } from './serverBackupTypes';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Creates the redacted wallet representation written into per-user backups.
|
|
6
|
+
*
|
|
7
|
+
* @param walletRow - Persisted wallet row.
|
|
8
|
+
* @param agentPreviewByPermanentId - Agent preview lookup for scoped records.
|
|
9
|
+
* @returns Redacted wallet record safe for backup export.
|
|
10
|
+
*
|
|
11
|
+
* @private function of `createServerBackupZipStream`
|
|
12
|
+
*/
|
|
13
|
+
export function createRedactedWalletBackupRecord(
|
|
14
|
+
walletRow: WalletRow,
|
|
15
|
+
agentPreviewByPermanentId: ReadonlyMap<string, BackupAgentPreview>,
|
|
16
|
+
): Record<string, unknown> {
|
|
17
|
+
return {
|
|
18
|
+
id: walletRow.id,
|
|
19
|
+
createdAt: walletRow.createdAt,
|
|
20
|
+
updatedAt: walletRow.updatedAt,
|
|
21
|
+
isUserScoped: walletRow.isUserScoped,
|
|
22
|
+
isGlobal: walletRow.isGlobal,
|
|
23
|
+
deletedAt: walletRow.deletedAt,
|
|
24
|
+
recordType: walletRow.recordType,
|
|
25
|
+
service: walletRow.service,
|
|
26
|
+
key: walletRow.key,
|
|
27
|
+
jsonSchema: walletRow.jsonSchema,
|
|
28
|
+
username: walletRow.username,
|
|
29
|
+
agent: walletRow.agentPermanentId ? agentPreviewByPermanentId.get(walletRow.agentPermanentId) || null : null,
|
|
30
|
+
hasPassword: Boolean(normalizeOptionalText(walletRow.password)),
|
|
31
|
+
hasSecret: Boolean(normalizeOptionalText(walletRow.secret)),
|
|
32
|
+
hasCookies: Boolean(normalizeOptionalText(walletRow.cookies)),
|
|
33
|
+
};
|
|
34
|
+
}
|