@promptbook/cli 0.113.0-8 → 0.113.0-9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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 +692 -774
- 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 +1 -0
- 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,271 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
|
|
4
|
+
import { DEFAULT_NETWORK_SAMPLE_DURATION_MS } from './resourceMonitorConstants';
|
|
5
|
+
import { waitForResourceMonitorSample } from './waitForResourceMonitorSample';
|
|
6
|
+
import type { NetworkInterfaceResourceUsage, NetworkResourceUsage } from './resourceMonitorTypes';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Linux network counter source.
|
|
10
|
+
*/
|
|
11
|
+
const LINUX_NETWORK_COUNTERS_PATH = '/proc/net/dev';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Loopback interface omitted from host traffic totals.
|
|
15
|
+
*/
|
|
16
|
+
const LOOPBACK_NETWORK_INTERFACE_NAME = 'lo';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Field index containing transmitted bytes in `/proc/net/dev`.
|
|
20
|
+
*/
|
|
21
|
+
const TRANSMITTED_BYTES_FIELD_INDEX = 8;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Raw traffic counters read from the operating system.
|
|
25
|
+
*/
|
|
26
|
+
type NetworkTrafficCounter = {
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly receivedBytes: number;
|
|
29
|
+
readonly transmittedBytes: number;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Result of reading traffic counters from the host.
|
|
34
|
+
*/
|
|
35
|
+
type NetworkTrafficCounterReadResult = {
|
|
36
|
+
readonly counters: ReadonlyArray<NetworkTrafficCounter> | null;
|
|
37
|
+
readonly errorMessage: string | null;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Reads network usage with current traffic rates when host counters are available.
|
|
42
|
+
*
|
|
43
|
+
* @param sampleDurationMs - Sampling duration used for byte-per-second rates.
|
|
44
|
+
* @returns Network usage snapshot.
|
|
45
|
+
*/
|
|
46
|
+
export async function readNetworkResourceUsage(
|
|
47
|
+
sampleDurationMs: number = DEFAULT_NETWORK_SAMPLE_DURATION_MS,
|
|
48
|
+
): Promise<NetworkResourceUsage> {
|
|
49
|
+
const interfaceSummary = readNetworkInterfaceSummary();
|
|
50
|
+
const firstRead = await readLinuxNetworkTrafficCounters();
|
|
51
|
+
|
|
52
|
+
if (!firstRead.counters) {
|
|
53
|
+
return createUnavailableNetworkResourceUsage(interfaceSummary, firstRead.errorMessage);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const isRateSampled = sampleDurationMs > 0;
|
|
57
|
+
if (!isRateSampled) {
|
|
58
|
+
return createAvailableNetworkResourceUsage({
|
|
59
|
+
interfaceSummary,
|
|
60
|
+
counters: firstRead.counters,
|
|
61
|
+
previousCounters: null,
|
|
62
|
+
elapsedSeconds: null,
|
|
63
|
+
errorMessage: null,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const startedAtNanoseconds = process.hrtime.bigint();
|
|
68
|
+
await waitForResourceMonitorSample(sampleDurationMs);
|
|
69
|
+
const secondRead = await readLinuxNetworkTrafficCounters();
|
|
70
|
+
const elapsedSeconds = Number(process.hrtime.bigint() - startedAtNanoseconds) / 1_000_000_000;
|
|
71
|
+
|
|
72
|
+
if (!secondRead.counters) {
|
|
73
|
+
return createAvailableNetworkResourceUsage({
|
|
74
|
+
interfaceSummary,
|
|
75
|
+
counters: firstRead.counters,
|
|
76
|
+
previousCounters: null,
|
|
77
|
+
elapsedSeconds: null,
|
|
78
|
+
errorMessage: secondRead.errorMessage,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return createAvailableNetworkResourceUsage({
|
|
83
|
+
interfaceSummary,
|
|
84
|
+
counters: secondRead.counters,
|
|
85
|
+
previousCounters: firstRead.counters,
|
|
86
|
+
elapsedSeconds: Number.isFinite(elapsedSeconds) && elapsedSeconds > 0 ? elapsedSeconds : null,
|
|
87
|
+
errorMessage: null,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Reads interface and address counts from Node.js network metadata.
|
|
93
|
+
*
|
|
94
|
+
* @returns Network interface summary.
|
|
95
|
+
*/
|
|
96
|
+
function readNetworkInterfaceSummary(): Pick<NetworkResourceUsage, 'networkInterfaceCount' | 'networkAddressCount'> {
|
|
97
|
+
const networkInterfaces = os.networkInterfaces();
|
|
98
|
+
const interfaceNames = Object.keys(networkInterfaces);
|
|
99
|
+
const networkAddressCount = Object.values(networkInterfaces).reduce(
|
|
100
|
+
(count, addresses) => count + (addresses?.length ?? 0),
|
|
101
|
+
0,
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
return {
|
|
105
|
+
networkInterfaceCount: interfaceNames.length,
|
|
106
|
+
networkAddressCount,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Reads Linux traffic counters.
|
|
112
|
+
*
|
|
113
|
+
* @returns Traffic counters or an unavailable result.
|
|
114
|
+
*/
|
|
115
|
+
async function readLinuxNetworkTrafficCounters(): Promise<NetworkTrafficCounterReadResult> {
|
|
116
|
+
if (process.platform !== 'linux') {
|
|
117
|
+
return {
|
|
118
|
+
counters: null,
|
|
119
|
+
errorMessage: 'Traffic counters are available only on Linux hosts.',
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
try {
|
|
124
|
+
const content = await readFile(LINUX_NETWORK_COUNTERS_PATH, 'utf8');
|
|
125
|
+
return {
|
|
126
|
+
counters: parseLinuxNetworkTrafficCounters(content),
|
|
127
|
+
errorMessage: null,
|
|
128
|
+
};
|
|
129
|
+
} catch (error) {
|
|
130
|
+
return {
|
|
131
|
+
counters: null,
|
|
132
|
+
errorMessage: error instanceof Error ? error.message : 'Traffic counters are not available.',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Parses `/proc/net/dev` content into traffic counters.
|
|
139
|
+
*
|
|
140
|
+
* @param content - Raw `/proc/net/dev` file content.
|
|
141
|
+
* @returns Parsed non-loopback traffic counters.
|
|
142
|
+
*/
|
|
143
|
+
function parseLinuxNetworkTrafficCounters(content: string): ReadonlyArray<NetworkTrafficCounter> {
|
|
144
|
+
return content
|
|
145
|
+
.split('\n')
|
|
146
|
+
.slice(2)
|
|
147
|
+
.map(parseLinuxNetworkTrafficCounterLine)
|
|
148
|
+
.filter((counter): counter is NetworkTrafficCounter => counter !== null);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Parses one `/proc/net/dev` interface line.
|
|
153
|
+
*
|
|
154
|
+
* @param line - Raw interface line.
|
|
155
|
+
* @returns Traffic counter or `null` for unsupported lines.
|
|
156
|
+
*/
|
|
157
|
+
function parseLinuxNetworkTrafficCounterLine(line: string): NetworkTrafficCounter | null {
|
|
158
|
+
const separatorIndex = line.indexOf(':');
|
|
159
|
+
if (separatorIndex === -1) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
const name = line.slice(0, separatorIndex).trim();
|
|
164
|
+
if (!name || name === LOOPBACK_NETWORK_INTERFACE_NAME) {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const fields = line
|
|
169
|
+
.slice(separatorIndex + 1)
|
|
170
|
+
.trim()
|
|
171
|
+
.split(/\s+/);
|
|
172
|
+
const receivedBytes = Number(fields[0]);
|
|
173
|
+
const transmittedBytes = Number(fields[TRANSMITTED_BYTES_FIELD_INDEX]);
|
|
174
|
+
const isCounterValid = Number.isFinite(receivedBytes) && Number.isFinite(transmittedBytes);
|
|
175
|
+
|
|
176
|
+
if (!isCounterValid) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
return {
|
|
181
|
+
name,
|
|
182
|
+
receivedBytes,
|
|
183
|
+
transmittedBytes,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Creates an unavailable network usage snapshot.
|
|
189
|
+
*
|
|
190
|
+
* @param interfaceSummary - Interface/address counts.
|
|
191
|
+
* @param errorMessage - Reason traffic counters are unavailable.
|
|
192
|
+
* @returns Network usage snapshot.
|
|
193
|
+
*/
|
|
194
|
+
function createUnavailableNetworkResourceUsage(
|
|
195
|
+
interfaceSummary: Pick<NetworkResourceUsage, 'networkInterfaceCount' | 'networkAddressCount'>,
|
|
196
|
+
errorMessage: string | null,
|
|
197
|
+
): NetworkResourceUsage {
|
|
198
|
+
return {
|
|
199
|
+
isTrafficAvailable: false,
|
|
200
|
+
interfaces: [],
|
|
201
|
+
totalReceivedBytes: null,
|
|
202
|
+
totalTransmittedBytes: null,
|
|
203
|
+
totalReceivedBytesPerSecond: null,
|
|
204
|
+
totalTransmittedBytesPerSecond: null,
|
|
205
|
+
networkInterfaceCount: interfaceSummary.networkInterfaceCount,
|
|
206
|
+
networkAddressCount: interfaceSummary.networkAddressCount,
|
|
207
|
+
errorMessage,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Creates an available network usage snapshot.
|
|
213
|
+
*
|
|
214
|
+
* @param options - Counter and sampling options.
|
|
215
|
+
* @returns Network usage snapshot.
|
|
216
|
+
*/
|
|
217
|
+
function createAvailableNetworkResourceUsage(options: {
|
|
218
|
+
readonly interfaceSummary: Pick<NetworkResourceUsage, 'networkInterfaceCount' | 'networkAddressCount'>;
|
|
219
|
+
readonly counters: ReadonlyArray<NetworkTrafficCounter>;
|
|
220
|
+
readonly previousCounters: ReadonlyArray<NetworkTrafficCounter> | null;
|
|
221
|
+
readonly elapsedSeconds: number | null;
|
|
222
|
+
readonly errorMessage: string | null;
|
|
223
|
+
}): NetworkResourceUsage {
|
|
224
|
+
const previousCounterByName = new Map(options.previousCounters?.map((counter) => [counter.name, counter]) ?? []);
|
|
225
|
+
const interfaces = options.counters.map((counter): NetworkInterfaceResourceUsage => {
|
|
226
|
+
const previousCounter = previousCounterByName.get(counter.name);
|
|
227
|
+
const receivedBytesPerSecond =
|
|
228
|
+
previousCounter && options.elapsedSeconds
|
|
229
|
+
? Math.max(counter.receivedBytes - previousCounter.receivedBytes, 0) / options.elapsedSeconds
|
|
230
|
+
: null;
|
|
231
|
+
const transmittedBytesPerSecond =
|
|
232
|
+
previousCounter && options.elapsedSeconds
|
|
233
|
+
? Math.max(counter.transmittedBytes - previousCounter.transmittedBytes, 0) / options.elapsedSeconds
|
|
234
|
+
: null;
|
|
235
|
+
|
|
236
|
+
return {
|
|
237
|
+
name: counter.name,
|
|
238
|
+
receivedBytes: counter.receivedBytes,
|
|
239
|
+
transmittedBytes: counter.transmittedBytes,
|
|
240
|
+
receivedBytesPerSecond,
|
|
241
|
+
transmittedBytesPerSecond,
|
|
242
|
+
};
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
return {
|
|
246
|
+
isTrafficAvailable: true,
|
|
247
|
+
interfaces,
|
|
248
|
+
totalReceivedBytes: interfaces.reduce((sum, item) => sum + item.receivedBytes, 0),
|
|
249
|
+
totalTransmittedBytes: interfaces.reduce((sum, item) => sum + item.transmittedBytes, 0),
|
|
250
|
+
totalReceivedBytesPerSecond: sumNullableRates(interfaces.map((item) => item.receivedBytesPerSecond)),
|
|
251
|
+
totalTransmittedBytesPerSecond: sumNullableRates(interfaces.map((item) => item.transmittedBytesPerSecond)),
|
|
252
|
+
networkInterfaceCount: options.interfaceSummary.networkInterfaceCount,
|
|
253
|
+
networkAddressCount: options.interfaceSummary.networkAddressCount,
|
|
254
|
+
errorMessage: options.errorMessage,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Sums rates while preserving `null` when no rate was available.
|
|
260
|
+
*
|
|
261
|
+
* @param rates - Nullable rates.
|
|
262
|
+
* @returns Sum or `null`.
|
|
263
|
+
*/
|
|
264
|
+
function sumNullableRates(rates: ReadonlyArray<number | null>): number | null {
|
|
265
|
+
const availableRates = rates.filter((rate): rate is number => rate !== null);
|
|
266
|
+
if (availableRates.length === 0) {
|
|
267
|
+
return null;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
return availableRates.reduce((sum, rate) => sum + rate, 0);
|
|
271
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { cache } from 'react';
|
|
2
|
+
|
|
3
|
+
import { readCpuResourceUsage } from './readCpuResourceUsage';
|
|
4
|
+
import { readDiskResourceUsage } from './readDiskResourceUsage';
|
|
5
|
+
import { readMemoryResourceUsage } from './readMemoryResourceUsage';
|
|
6
|
+
import { readNetworkResourceUsage } from './readNetworkResourceUsage';
|
|
7
|
+
import { resolveServerResourceWarningStatus } from './resolveServerResourceWarningStatus';
|
|
8
|
+
import type { ServerResourceMonitorSnapshot, ServerResourceWarningStatus } from './resourceMonitorTypes';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Reads a full resource monitor snapshot for the admin page.
|
|
12
|
+
*
|
|
13
|
+
* @returns Full resource monitor snapshot.
|
|
14
|
+
*/
|
|
15
|
+
export const readServerResourceMonitorSnapshot = cache(async (): Promise<ServerResourceMonitorSnapshot> => {
|
|
16
|
+
const [cpu, disk, network] = await Promise.all([
|
|
17
|
+
readCpuResourceUsage({ isProcessUsageSampled: true }),
|
|
18
|
+
readDiskResourceUsage(),
|
|
19
|
+
readNetworkResourceUsage(),
|
|
20
|
+
]);
|
|
21
|
+
const memory = readMemoryResourceUsage();
|
|
22
|
+
const warningStatus = resolveServerResourceWarningStatus({ cpu, memory, disk });
|
|
23
|
+
|
|
24
|
+
return {
|
|
25
|
+
measuredAt: new Date().toISOString(),
|
|
26
|
+
cpu,
|
|
27
|
+
memory,
|
|
28
|
+
disk,
|
|
29
|
+
network,
|
|
30
|
+
warningStatus,
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Reads the lightweight warning status used by the header menu.
|
|
36
|
+
*
|
|
37
|
+
* @returns Current resource warning status.
|
|
38
|
+
*/
|
|
39
|
+
export const readServerResourceWarningStatus = cache(async (): Promise<ServerResourceWarningStatus> => {
|
|
40
|
+
const [cpu, disk] = await Promise.all([
|
|
41
|
+
readCpuResourceUsage({ isProcessUsageSampled: false }),
|
|
42
|
+
readDiskResourceUsage(),
|
|
43
|
+
]);
|
|
44
|
+
const memory = readMemoryResourceUsage();
|
|
45
|
+
|
|
46
|
+
return resolveServerResourceWarningStatus({ cpu, memory, disk });
|
|
47
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CPU_LOAD_WARNING_RATIO,
|
|
3
|
+
DISK_AVAILABLE_WARNING_BYTES,
|
|
4
|
+
DISK_AVAILABLE_WARNING_RATIO,
|
|
5
|
+
MEMORY_AVAILABLE_WARNING_RATIO,
|
|
6
|
+
} from './resourceMonitorConstants';
|
|
7
|
+
import { formatResourceBytes, formatResourcePercentage } from './formatResourceMonitorValue';
|
|
8
|
+
import type {
|
|
9
|
+
CpuResourceUsage,
|
|
10
|
+
DiskResourceUsage,
|
|
11
|
+
MemoryResourceUsage,
|
|
12
|
+
ServerResourceWarningIssue,
|
|
13
|
+
ServerResourceWarningStatus,
|
|
14
|
+
} from './resourceMonitorTypes';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Inputs required to resolve resource warning status.
|
|
18
|
+
*/
|
|
19
|
+
type ResolveServerResourceWarningStatusOptions = {
|
|
20
|
+
readonly cpu: CpuResourceUsage;
|
|
21
|
+
readonly memory: MemoryResourceUsage;
|
|
22
|
+
readonly disk: DiskResourceUsage;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Resolves whether the server is low on operational resources.
|
|
27
|
+
*
|
|
28
|
+
* @param options - Current resource usage.
|
|
29
|
+
* @returns Warning status for the header and monitor page.
|
|
30
|
+
*/
|
|
31
|
+
export function resolveServerResourceWarningStatus({
|
|
32
|
+
cpu,
|
|
33
|
+
memory,
|
|
34
|
+
disk,
|
|
35
|
+
}: ResolveServerResourceWarningStatusOptions): ServerResourceWarningStatus {
|
|
36
|
+
const issues: ServerResourceWarningIssue[] = [];
|
|
37
|
+
|
|
38
|
+
if (cpu.loadRatio !== null && cpu.loadRatio >= CPU_LOAD_WARNING_RATIO) {
|
|
39
|
+
issues.push({
|
|
40
|
+
resource: 'cpu',
|
|
41
|
+
message: `CPU load is ${formatResourcePercentage(cpu.loadRatio)} of ${cpu.coreCount} logical cores.`,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (memory.availableRatio <= MEMORY_AVAILABLE_WARNING_RATIO) {
|
|
46
|
+
issues.push({
|
|
47
|
+
resource: 'memory',
|
|
48
|
+
message: `Free memory is ${formatResourcePercentage(memory.availableRatio)} (${formatResourceBytes(
|
|
49
|
+
memory.freeBytes,
|
|
50
|
+
)}) of ${formatResourceBytes(memory.totalBytes)}.`,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (
|
|
55
|
+
disk.availableBytes !== null &&
|
|
56
|
+
disk.availableRatio !== null &&
|
|
57
|
+
(disk.availableRatio <= DISK_AVAILABLE_WARNING_RATIO || disk.availableBytes <= DISK_AVAILABLE_WARNING_BYTES)
|
|
58
|
+
) {
|
|
59
|
+
issues.push({
|
|
60
|
+
resource: 'disk',
|
|
61
|
+
message: `Available disk space is ${formatResourcePercentage(disk.availableRatio)} (${formatResourceBytes(
|
|
62
|
+
disk.availableBytes,
|
|
63
|
+
)}) on ${disk.inspectedPath}.`,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
isWarningShown: issues.length > 0,
|
|
69
|
+
issues,
|
|
70
|
+
warningMessages: issues.map((issue) => issue.message),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CPU load ratio that triggers a resource pressure warning.
|
|
3
|
+
*/
|
|
4
|
+
export const CPU_LOAD_WARNING_RATIO = 0.9;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Free memory ratio that triggers a resource pressure warning.
|
|
8
|
+
*/
|
|
9
|
+
export const MEMORY_AVAILABLE_WARNING_RATIO = 0.1;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Available disk ratio that triggers a resource pressure warning.
|
|
13
|
+
*/
|
|
14
|
+
export const DISK_AVAILABLE_WARNING_RATIO = 0.1;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Available disk byte floor that triggers a resource pressure warning.
|
|
18
|
+
*/
|
|
19
|
+
export const DISK_AVAILABLE_WARNING_BYTES = 1024 * 1024 * 1024;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Default CPU sample duration for process usage.
|
|
23
|
+
*/
|
|
24
|
+
export const DEFAULT_PROCESS_CPU_SAMPLE_DURATION_MS = 250;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Default network sample duration for rate calculation.
|
|
28
|
+
*/
|
|
29
|
+
export const DEFAULT_NETWORK_SAMPLE_DURATION_MS = 250;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource key tracked by the server resource monitor.
|
|
3
|
+
*/
|
|
4
|
+
export type ResourceMonitorResource = 'cpu' | 'memory' | 'disk';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* One warning issue detected by the resource monitor.
|
|
8
|
+
*/
|
|
9
|
+
export type ServerResourceWarningIssue = {
|
|
10
|
+
/**
|
|
11
|
+
* Resource that crossed a warning threshold.
|
|
12
|
+
*/
|
|
13
|
+
readonly resource: ResourceMonitorResource;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Human-readable warning message.
|
|
17
|
+
*/
|
|
18
|
+
readonly message: string;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Lightweight resource status safe to pass into client navigation.
|
|
23
|
+
*/
|
|
24
|
+
export type ServerResourceWarningStatus = {
|
|
25
|
+
/**
|
|
26
|
+
* Whether any monitored resource is currently under pressure.
|
|
27
|
+
*/
|
|
28
|
+
readonly isWarningShown: boolean;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Individual resource pressure issues.
|
|
32
|
+
*/
|
|
33
|
+
readonly issues: ReadonlyArray<ServerResourceWarningIssue>;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Human-readable warning messages.
|
|
37
|
+
*/
|
|
38
|
+
readonly warningMessages: ReadonlyArray<string>;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Default empty resource warning status.
|
|
43
|
+
*/
|
|
44
|
+
export const RESOURCE_MONITOR_OK_WARNING_STATUS: ServerResourceWarningStatus = {
|
|
45
|
+
isWarningShown: false,
|
|
46
|
+
issues: [],
|
|
47
|
+
warningMessages: [],
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* CPU usage snapshot.
|
|
52
|
+
*/
|
|
53
|
+
export type CpuResourceUsage = {
|
|
54
|
+
/**
|
|
55
|
+
* Number of logical CPU cores visible to Node.js.
|
|
56
|
+
*/
|
|
57
|
+
readonly coreCount: number;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* One-minute system load average, or `null` when the platform does not expose it.
|
|
61
|
+
*/
|
|
62
|
+
readonly averageLoadOneMinute: number | null;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Five-minute system load average, or `null` when the platform does not expose it.
|
|
66
|
+
*/
|
|
67
|
+
readonly averageLoadFiveMinutes: number | null;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Fifteen-minute system load average, or `null` when the platform does not expose it.
|
|
71
|
+
*/
|
|
72
|
+
readonly averageLoadFifteenMinutes: number | null;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* One-minute load divided by logical CPU cores.
|
|
76
|
+
*/
|
|
77
|
+
readonly loadRatio: number | null;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Current Node.js process CPU ratio sampled over a short interval.
|
|
81
|
+
*/
|
|
82
|
+
readonly processUsageRatio: number | null;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Memory usage snapshot.
|
|
87
|
+
*/
|
|
88
|
+
export type MemoryResourceUsage = {
|
|
89
|
+
readonly totalBytes: number;
|
|
90
|
+
readonly freeBytes: number;
|
|
91
|
+
readonly usedBytes: number;
|
|
92
|
+
readonly usedRatio: number;
|
|
93
|
+
readonly availableRatio: number;
|
|
94
|
+
readonly processRssBytes: number;
|
|
95
|
+
readonly processHeapUsedBytes: number;
|
|
96
|
+
readonly processHeapTotalBytes: number;
|
|
97
|
+
readonly processExternalBytes: number;
|
|
98
|
+
readonly processArrayBuffersBytes: number;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Disk usage snapshot for the filesystem that hosts the server process.
|
|
103
|
+
*/
|
|
104
|
+
export type DiskResourceUsage = {
|
|
105
|
+
readonly inspectedPath: string;
|
|
106
|
+
readonly totalBytes: number | null;
|
|
107
|
+
readonly freeBytes: number | null;
|
|
108
|
+
readonly availableBytes: number | null;
|
|
109
|
+
readonly usedBytes: number | null;
|
|
110
|
+
readonly usedRatio: number | null;
|
|
111
|
+
readonly availableRatio: number | null;
|
|
112
|
+
readonly errorMessage: string | null;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Network traffic snapshot for one interface.
|
|
117
|
+
*/
|
|
118
|
+
export type NetworkInterfaceResourceUsage = {
|
|
119
|
+
readonly name: string;
|
|
120
|
+
readonly receivedBytes: number;
|
|
121
|
+
readonly transmittedBytes: number;
|
|
122
|
+
readonly receivedBytesPerSecond: number | null;
|
|
123
|
+
readonly transmittedBytesPerSecond: number | null;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Network traffic summary.
|
|
128
|
+
*/
|
|
129
|
+
export type NetworkResourceUsage = {
|
|
130
|
+
/**
|
|
131
|
+
* Whether traffic counters are available on this host.
|
|
132
|
+
*/
|
|
133
|
+
readonly isTrafficAvailable: boolean;
|
|
134
|
+
|
|
135
|
+
readonly interfaces: ReadonlyArray<NetworkInterfaceResourceUsage>;
|
|
136
|
+
readonly totalReceivedBytes: number | null;
|
|
137
|
+
readonly totalTransmittedBytes: number | null;
|
|
138
|
+
readonly totalReceivedBytesPerSecond: number | null;
|
|
139
|
+
readonly totalTransmittedBytesPerSecond: number | null;
|
|
140
|
+
readonly networkInterfaceCount: number;
|
|
141
|
+
readonly networkAddressCount: number;
|
|
142
|
+
readonly errorMessage: string | null;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Full resource monitor snapshot rendered by `/admin/resource-monitor`.
|
|
147
|
+
*/
|
|
148
|
+
export type ServerResourceMonitorSnapshot = {
|
|
149
|
+
readonly measuredAt: string;
|
|
150
|
+
readonly cpu: CpuResourceUsage;
|
|
151
|
+
readonly memory: MemoryResourceUsage;
|
|
152
|
+
readonly disk: DiskResourceUsage;
|
|
153
|
+
readonly network: NetworkResourceUsage;
|
|
154
|
+
readonly warningStatus: ServerResourceWarningStatus;
|
|
155
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waits for a short sampling interval between resource counter reads.
|
|
3
|
+
*
|
|
4
|
+
* @param durationMs - Sampling duration in milliseconds.
|
|
5
|
+
* @returns Promise resolved after the duration elapses.
|
|
6
|
+
*/
|
|
7
|
+
export function waitForResourceMonitorSample(durationMs: number): Promise<void> {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
setTimeout(resolve, Math.max(0, durationMs));
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { SAML, ValidateInResponseTo } from '@node-saml/node-saml';
|
|
2
|
+
import {
|
|
3
|
+
SHIBBOLETH_ACCEPTED_CLOCK_SKEW_MS,
|
|
4
|
+
SHIBBOLETH_PERSISTENT_NAME_ID_FORMAT,
|
|
5
|
+
} from './shibbolethAuthenticationConstants';
|
|
6
|
+
import type { ShibbolethAuthenticationConfiguration } from './shibbolethAuthenticationTypes';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates a Node-SAML client for the resolved Shibboleth configuration.
|
|
10
|
+
*
|
|
11
|
+
* @param configuration - Resolved Shibboleth configuration with parsed IdP metadata.
|
|
12
|
+
* @returns Configured Node-SAML client.
|
|
13
|
+
*
|
|
14
|
+
* @private function of `shibbolethAuthentication`
|
|
15
|
+
*/
|
|
16
|
+
export function createShibbolethSamlClient(configuration: ShibbolethAuthenticationConfiguration): SAML {
|
|
17
|
+
if (!configuration.identityProviderMetadata) {
|
|
18
|
+
throw new Error('Shibboleth Identity Provider metadata is not loaded.');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return new SAML({
|
|
22
|
+
callbackUrl: configuration.serviceProviderUrls.assertionConsumerServiceUrl,
|
|
23
|
+
entryPoint: configuration.identityProviderMetadata.singleSignOnServiceUrl,
|
|
24
|
+
issuer: configuration.serviceProviderUrls.entityId,
|
|
25
|
+
audience: configuration.serviceProviderUrls.entityId,
|
|
26
|
+
idpCert: [...configuration.identityProviderMetadata.signingCertificates],
|
|
27
|
+
identifierFormat: SHIBBOLETH_PERSISTENT_NAME_ID_FORMAT,
|
|
28
|
+
wantAssertionsSigned: true,
|
|
29
|
+
wantAuthnResponseSigned: false,
|
|
30
|
+
acceptedClockSkewMs: SHIBBOLETH_ACCEPTED_CLOCK_SKEW_MS,
|
|
31
|
+
validateInResponseTo: ValidateInResponseTo.never,
|
|
32
|
+
disableRequestedAuthnContext: true,
|
|
33
|
+
signatureAlgorithm: 'sha256',
|
|
34
|
+
});
|
|
35
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { generateServiceProviderMetadata } from '@node-saml/node-saml';
|
|
2
|
+
import { SHIBBOLETH_AUTHENTICATION_METADATA_KEYS } from '@/src/constants/shibbolethAuth';
|
|
3
|
+
import { getMetadataMap } from '@/src/database/getMetadata';
|
|
4
|
+
import { SHIBBOLETH_PERSISTENT_NAME_ID_FORMAT } from './shibbolethAuthenticationConstants';
|
|
5
|
+
import { resolveShibbolethServiceProviderUrls } from './resolveShibbolethServiceProviderUrls';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Creates Service Provider metadata XML for the current Agents Server deployment.
|
|
9
|
+
*
|
|
10
|
+
* @param requestUrl - URL of the current metadata route request.
|
|
11
|
+
* @returns Service Provider metadata XML suitable for the Shibboleth IdP admin.
|
|
12
|
+
*
|
|
13
|
+
* @private function of `shibbolethAuthentication`
|
|
14
|
+
*/
|
|
15
|
+
export async function createShibbolethServiceProviderMetadataXml(requestUrl: string): Promise<string> {
|
|
16
|
+
const metadata = await getMetadataMap(SHIBBOLETH_AUTHENTICATION_METADATA_KEYS);
|
|
17
|
+
const serviceProviderUrls = resolveShibbolethServiceProviderUrls(requestUrl, metadata);
|
|
18
|
+
|
|
19
|
+
return generateServiceProviderMetadata({
|
|
20
|
+
issuer: serviceProviderUrls.entityId,
|
|
21
|
+
callbackUrl: serviceProviderUrls.assertionConsumerServiceUrl,
|
|
22
|
+
identifierFormat: SHIBBOLETH_PERSISTENT_NAME_ID_FORMAT,
|
|
23
|
+
wantAssertionsSigned: true,
|
|
24
|
+
});
|
|
25
|
+
}
|