@promptbook/cli 0.113.0-0 → 0.113.0-10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (710) hide show
  1. package/README.md +1 -17
  2. package/agents/default/developer.book +3 -0
  3. package/apps/agents-server/next.config.ts +6 -3
  4. package/apps/agents-server/src/app/admin/resource-monitor/page.tsx +456 -0
  5. package/apps/agents-server/src/app/admin/task-manager/TaskManagerClient.tsx +17 -5
  6. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskLogActions.tsx +150 -0
  7. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +69 -20
  8. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskTerminalDialog.tsx +125 -0
  9. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTasksCard.tsx +8 -6
  10. package/apps/agents-server/src/app/admin/task-manager/page.tsx +3 -2
  11. package/apps/agents-server/src/app/admin/update/AdvancedOriginRepositoryPanel.tsx +81 -0
  12. package/apps/agents-server/src/app/admin/update/AutomaticSelfUpdateConfigurationCard.tsx +90 -0
  13. package/apps/agents-server/src/app/admin/update/CurrentDeploymentCard.tsx +162 -0
  14. package/apps/agents-server/src/app/admin/update/CustomCommitPicker.tsx +10 -10
  15. package/apps/agents-server/src/app/admin/update/InstalledVersionsCard.tsx +112 -0
  16. package/apps/agents-server/src/app/admin/update/PendingCommitsCard.tsx +87 -0
  17. package/apps/agents-server/src/app/admin/update/TargetEnvironmentCard.tsx +331 -0
  18. package/apps/agents-server/src/app/admin/update/UpdateClient.tsx +35 -878
  19. package/apps/agents-server/src/app/admin/update/UpdateDatabaseMigrationsPanel.tsx +305 -0
  20. package/apps/agents-server/src/app/admin/update/UpdateJobCard.tsx +350 -0
  21. package/apps/agents-server/src/app/admin/update/UpdateOverview.ts +142 -0
  22. package/apps/agents-server/src/app/admin/update/buildDeploymentTimeBehindLabel.ts +29 -0
  23. package/apps/agents-server/src/app/admin/update/formatHumanReadableTimestamp.ts +18 -0
  24. package/apps/agents-server/src/app/admin/update/getUpdateJobFailureMessage.ts +13 -0
  25. package/apps/agents-server/src/app/admin/update/getUpdateJobSuccessMessage.ts +13 -0
  26. package/apps/agents-server/src/app/admin/update/updatePageCardClassName.ts +6 -0
  27. package/apps/agents-server/src/app/admin/update/useUpdateClientState.ts +675 -0
  28. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +17 -3
  29. package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +13 -1
  30. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +6 -2
  31. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/AgentCodePageClient.tsx +14 -559
  32. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/AgentCodePageHeader.tsx +84 -0
  33. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/AgentCodePageSection.tsx +52 -0
  34. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/GeneratedCodePreview.tsx +138 -0
  35. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/GeneratedHarnessSection.tsx +98 -0
  36. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/SourceBookSection.tsx +66 -0
  37. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/TranspiledCodeErrorBanner.tsx +30 -0
  38. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/TranspiledCodeExportWarningBanner.tsx +62 -0
  39. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/Transpiler.ts +9 -0
  40. package/apps/agents-server/src/app/agents/[agentName]/export-as-transpiled-code/useAgentCodeExportState.ts +478 -0
  41. package/apps/agents-server/src/app/api/admin/chat-tasks/[taskId]/terminal/route.ts +52 -0
  42. package/apps/agents-server/src/app/api/admin/update/route.ts +55 -8
  43. package/apps/agents-server/src/app/api/admin/update/versions/route.ts +34 -0
  44. package/apps/agents-server/src/app/api/auth/shibboleth/acs/route.ts +4 -2
  45. package/apps/agents-server/src/app/api/auth/shibboleth/login/route.ts +3 -1
  46. package/apps/agents-server/src/app/api/auth/shibboleth/metadata/route.ts +5 -2
  47. package/apps/agents-server/src/app/api/auth/shibboleth/status/route.ts +5 -2
  48. package/apps/agents-server/src/app/api/page-preview/input/route.ts +161 -0
  49. package/apps/agents-server/src/app/api/page-preview/stream/route.ts +81 -0
  50. package/apps/agents-server/src/app/layout.tsx +39 -25
  51. package/apps/agents-server/src/app/system/utilities/mocked-chats/cloneMockedChatPreset.ts +17 -0
  52. package/apps/agents-server/src/app/system/utilities/mocked-chats/confirmDeleteMockedChat.ts +16 -0
  53. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDraftWithUpdatedMessage.ts +81 -0
  54. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDraftWithUpdatedParticipant.ts +146 -0
  55. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDraftWithUpdatedSettings.ts +19 -0
  56. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDuplicatedDraft.ts +66 -0
  57. package/apps/agents-server/src/app/system/utilities/mocked-chats/findMockedChatById.ts +51 -0
  58. package/apps/agents-server/src/app/system/utilities/mocked-chats/persistMockedChats.ts +51 -0
  59. package/apps/agents-server/src/app/system/utilities/mocked-chats/useMockedChatsEditorState.ts +16 -426
  60. package/apps/agents-server/src/components/AgentAvatar/AgentAvatar.tsx +1 -1
  61. package/apps/agents-server/src/components/AgentAvatar/DefaultAgentAvatarVisualProvider.tsx +1 -1
  62. package/apps/agents-server/src/components/CronJobConfiguration/CronJobConfiguration.tsx +834 -0
  63. package/apps/agents-server/src/components/Header/Header.tsx +16 -3
  64. package/apps/agents-server/src/components/Header/HeaderDesktopTopMenuNavigation.tsx +22 -2
  65. package/apps/agents-server/src/components/Header/HeaderHomepageLink.tsx +1 -1
  66. package/apps/agents-server/src/components/Header/HeaderMobileDrawer.tsx +22 -2
  67. package/apps/agents-server/src/components/Header/HeaderTypes.ts +12 -1
  68. package/apps/agents-server/src/components/Header/buildAgentMenuStructure.tsx +6 -4
  69. package/apps/agents-server/src/components/Header/buildDocumentationDropdownItems.tsx +198 -3
  70. package/apps/agents-server/src/components/Header/buildHeaderMenuItems.ts +6 -0
  71. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +182 -16
  72. package/apps/agents-server/src/components/Homepage/buildFreeGraphBoxLayout.ts +446 -0
  73. package/apps/agents-server/src/components/Homepage/buildGraphLayoutNodes.ts +415 -157
  74. package/apps/agents-server/src/components/Homepage/useAgentsGraphCanvasState.ts +2 -1
  75. package/apps/agents-server/src/components/Homepage/useAgentsListState.ts +1 -1
  76. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +21 -5
  77. package/apps/agents-server/src/constants/chatVisualMode.ts +1 -1
  78. package/apps/agents-server/src/constants/defaultAgentAvatarVisual.ts +4 -3
  79. package/apps/agents-server/src/constants/themeMode.ts +1 -1
  80. package/apps/agents-server/src/database/metadataDefaults.ts +1 -1
  81. package/apps/agents-server/src/database/migrate.ts +25 -1
  82. package/apps/agents-server/src/database/migratePrefix.ts +24 -0
  83. package/apps/agents-server/src/database/migrations/2026-05-2600-default-theme.sql +2 -2
  84. package/apps/agents-server/src/database/runDatabaseMigrations.ts +9 -1
  85. package/apps/agents-server/src/database/sqlite/$provideLocalSqliteSupabase.ts +3 -1541
  86. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/LocalSqliteQueryBuilder.ts +623 -0
  87. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/LocalSqliteSupabaseClient.ts +64 -0
  88. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/ensureTable.ts +93 -0
  89. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteFilters.ts +202 -0
  90. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteMutationPayload.ts +131 -0
  91. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteRowOperations.ts +102 -0
  92. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteSql.ts +59 -0
  93. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteTableSchema.ts +329 -0
  94. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteTypes.ts +84 -0
  95. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteValueCodec.ts +63 -0
  96. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/normalizeSqliteError.ts +22 -0
  97. package/apps/agents-server/src/instrumentation-node.ts +15 -0
  98. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +1 -0
  99. package/apps/agents-server/src/languages/translations/czech.yaml +1 -0
  100. package/apps/agents-server/src/languages/translations/english.yaml +1 -0
  101. package/apps/agents-server/src/search/createDefaultServerSearchProviders/loadLocalOrganizationSearchDataset.ts +12 -1
  102. package/apps/agents-server/src/tools/send_email.ts +1 -2
  103. package/apps/agents-server/src/{components/Homepage → utils/agentOrganization}/hiddenFolders.ts +49 -29
  104. package/apps/agents-server/src/utils/agentOrganization/loadAgentOrganizationState.ts +13 -1
  105. package/apps/agents-server/src/utils/backup/createServerBackupZipStream.ts +7 -1382
  106. package/apps/agents-server/src/utils/backup/serverBackup/appendAgentBackupEntriesToZip.ts +27 -0
  107. package/apps/agents-server/src/utils/backup/serverBackup/appendConversationBackupEntriesToZip.ts +140 -0
  108. package/apps/agents-server/src/utils/backup/serverBackup/appendFileBackupEntriesToZip.ts +147 -0
  109. package/apps/agents-server/src/utils/backup/serverBackup/appendMessageBackupEntriesToZip.ts +65 -0
  110. package/apps/agents-server/src/utils/backup/serverBackup/appendMetadataBackupEntriesToZip.ts +39 -0
  111. package/apps/agents-server/src/utils/backup/serverBackup/appendSectionEntriesToZip.ts +92 -0
  112. package/apps/agents-server/src/utils/backup/serverBackup/appendUserBackupEntriesToZip.ts +80 -0
  113. package/apps/agents-server/src/utils/backup/serverBackup/createRedactedWalletBackupRecord.ts +34 -0
  114. package/apps/agents-server/src/utils/backup/serverBackup/createServerBackupManifest.ts +82 -0
  115. package/apps/agents-server/src/utils/backup/serverBackup/downloadBackupBinaryContent.ts +39 -0
  116. package/apps/agents-server/src/utils/backup/serverBackup/resolveFeedbackThreadMessages.ts +53 -0
  117. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupAttachments.ts +151 -0
  118. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupContext.ts +167 -0
  119. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupFilenames.ts +161 -0
  120. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupPreviews.ts +97 -0
  121. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupRowUtilities.ts +158 -0
  122. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupTypes.ts +59 -0
  123. package/apps/agents-server/src/utils/chat/createAttachmentAwareCitationLabelResolver.ts +147 -0
  124. package/apps/agents-server/src/utils/chatTasksAdmin.ts +4 -1
  125. package/apps/agents-server/src/utils/createLocalAgentSourceImporter.ts +159 -0
  126. package/apps/agents-server/src/utils/createMissingImportedAgentFallback.ts +60 -0
  127. package/apps/agents-server/src/utils/createPagePreviewBrowserStream.ts +179 -0
  128. package/apps/agents-server/src/utils/customDomainRouting.ts +157 -12
  129. package/apps/agents-server/src/utils/externalChatRunner/processExternalUserChatJob.ts +12 -6
  130. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/GetAdminChatTasksData.ts +12 -0
  131. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +264 -0
  132. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlValues.ts +35 -0
  133. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskTimeUtilities.ts +30 -0
  134. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/compareAdminChatTasks.ts +135 -0
  135. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/createAdminChatTaskCounters.ts +29 -0
  136. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/filterAdminChatTasks.ts +78 -0
  137. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaClientSql.ts +62 -0
  138. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaSupabaseQuery.ts +29 -0
  139. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +193 -0
  140. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +99 -0
  141. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +94 -0
  142. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks.ts +4 -947
  143. package/apps/agents-server/src/utils/getAdminChatTasksResponse/mapVpsSelfUpdateJobToAdminChatTask.ts +97 -0
  144. package/apps/agents-server/src/utils/getAdminChatTasksResponse.ts +258 -6
  145. package/apps/agents-server/src/utils/importAgentWithFallback.ts +1 -58
  146. package/apps/agents-server/src/utils/localAgentRouteReferences.ts +167 -0
  147. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +21 -6
  148. package/apps/agents-server/src/utils/managementApi/managementApiAgents.ts +17 -3
  149. package/apps/agents-server/src/utils/messages/sendMessage.ts +5 -3
  150. package/apps/agents-server/src/utils/pagePreviewBrowserSessions.ts +246 -0
  151. package/apps/agents-server/src/utils/resolveAgentStateFromSource.ts +7 -1
  152. package/apps/agents-server/src/utils/resolveInheritedAgentSource.ts +54 -5
  153. package/apps/agents-server/src/utils/resolveServerAgentContext.ts +12 -1
  154. package/apps/agents-server/src/utils/resolveStoredAgentState.ts +2 -1
  155. package/apps/agents-server/src/utils/resourceMonitor/formatResourceMonitorValue.ts +50 -0
  156. package/apps/agents-server/src/utils/resourceMonitor/readCpuResourceUsage.ts +75 -0
  157. package/apps/agents-server/src/utils/resourceMonitor/readDiskResourceUsage.ts +42 -0
  158. package/apps/agents-server/src/utils/resourceMonitor/readMemoryResourceUsage.ts +28 -0
  159. package/apps/agents-server/src/utils/resourceMonitor/readNetworkResourceUsage.ts +271 -0
  160. package/apps/agents-server/src/utils/resourceMonitor/readServerResourceMonitorSnapshot.ts +47 -0
  161. package/apps/agents-server/src/utils/resourceMonitor/resolveServerResourceWarningStatus.ts +72 -0
  162. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorConstants.ts +29 -0
  163. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorTypes.ts +155 -0
  164. package/apps/agents-server/src/utils/resourceMonitor/waitForResourceMonitorSample.ts +11 -0
  165. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethSamlClient.ts +35 -0
  166. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethServiceProviderMetadataXml.ts +25 -0
  167. package/apps/agents-server/src/utils/shibbolethAuthentication/extractShibbolethProfileAttributes.ts +173 -0
  168. package/apps/agents-server/src/utils/shibbolethAuthentication/fetchIdentityProviderMetadataXml.ts +21 -0
  169. package/apps/agents-server/src/utils/shibbolethAuthentication/findOrCreateShibbolethUser.ts +323 -0
  170. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethAuthenticationAttemptTableName.ts +13 -0
  171. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethRequestDetails.ts +19 -0
  172. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethUserIdentityTableName.ts +13 -0
  173. package/apps/agents-server/src/utils/shibbolethAuthentication/parseIdentityProviderMetadataXml.ts +110 -0
  174. package/apps/agents-server/src/utils/shibbolethAuthentication/recordShibbolethAuthenticationAttempt.ts +57 -0
  175. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethAuthenticationConfiguration.ts +78 -0
  176. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethPublicRequestUrl.ts +101 -0
  177. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethServiceProviderUrls.ts +63 -0
  178. package/apps/agents-server/src/utils/shibbolethAuthentication/sanitizeShibbolethRelayState.ts +17 -0
  179. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationConstants.ts +62 -0
  180. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationTypes.ts +105 -0
  181. package/apps/agents-server/src/utils/shibbolethAuthentication.ts +25 -957
  182. package/apps/agents-server/src/utils/speech-to-text/SpeechToTextFailoverRecognition/SpeechToTextFailoverRecognitionProviderRuntime.ts +0 -1
  183. package/apps/agents-server/src/utils/speech-to-text/SpeechToTextFailoverRecognition.ts +34 -2
  184. package/apps/agents-server/src/utils/taskTerminal/resolveAdminTaskTerminalSession.ts +512 -0
  185. package/apps/agents-server/src/utils/taskTerminal/runWithTaskTerminalCapture.ts +134 -0
  186. package/apps/agents-server/src/utils/taskTerminal/taskTerminalLog.ts +360 -0
  187. package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +16 -0
  188. package/apps/agents-server/src/utils/userChat/userChatMessageLifecycle.ts +39 -9
  189. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateUserChatTimeoutTerminalState.ts +3 -0
  190. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +4 -1
  191. package/apps/agents-server/src/utils/vpsConfiguration.ts +4 -0
  192. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +81 -0
  193. package/apps/agents-server/src/utils/vpsSelfUpdate/listVpsSelfUpdateCandidateCommits.ts +217 -0
  194. package/apps/agents-server/src/utils/vpsSelfUpdate/readPersistedVpsSelfUpdateJob.ts +310 -0
  195. package/apps/agents-server/src/utils/vpsSelfUpdate/readVpsSelfUpdateOverview.ts +178 -0
  196. package/apps/agents-server/src/utils/vpsSelfUpdate/resolveVpsSelfUpdateJobForOverview.ts +42 -0
  197. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +201 -0
  198. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateAutomaticConfiguration.ts +152 -0
  199. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateConfiguration.ts +81 -0
  200. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +357 -0
  201. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateEnvironment.ts +120 -0
  202. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateInstalledVersions.ts +162 -0
  203. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobConstants.ts +15 -0
  204. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobHistory.ts +387 -0
  205. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobIdentity.ts +26 -0
  206. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateOriginRepository.ts +90 -0
  207. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateRepository.ts +286 -0
  208. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateScheduler.ts +191 -0
  209. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateStateFiles.ts +197 -0
  210. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateTypes.ts +452 -0
  211. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +66 -1535
  212. package/apps/agents-server/tests/e2e/support/ChatHistoryNavigationSupport.ts +5 -0
  213. package/esm/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  214. package/esm/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  215. package/esm/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  216. package/esm/index.es.js +28592 -27063
  217. package/esm/index.es.js.map +1 -1
  218. package/esm/scripts/find-refactor-candidates/find-refactor-candidates.d.ts +7 -0
  219. package/esm/scripts/find-refactor-candidates/selectMostImportantRefactorCandidates.d.ts +12 -0
  220. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  221. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  222. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  223. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  224. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  225. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  226. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  227. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  228. package/esm/scripts/run-codex-prompts/common/buildCoderRunProgressSnapshot.d.ts +1 -1
  229. package/esm/scripts/run-codex-prompts/common/cliProgressDisplay.d.ts +2 -1
  230. package/esm/scripts/run-codex-prompts/common/resolveCoderAgent.d.ts +20 -0
  231. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  232. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  233. package/esm/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  234. package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +8 -1
  235. package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +54 -0
  236. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +10 -0
  237. package/esm/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  238. package/esm/src/_packages/types.index.d.ts +2 -2
  239. package/esm/src/avatars/renderAvatarVisualAsciiArt.d.ts +98 -0
  240. package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  241. package/esm/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  242. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  243. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  244. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  245. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  246. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  247. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  248. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  249. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  250. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  251. package/esm/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  252. package/esm/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  253. package/esm/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  254. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  255. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  256. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  257. package/esm/src/book-components/Chat/Chat/CitationIframePreview.d.ts +2 -2
  258. package/esm/src/book-components/Chat/Chat/CitationIframePreview.test.d.ts +2 -0
  259. package/esm/src/book-components/Chat/Chat/insertDictationChunk.d.ts +1 -1
  260. package/esm/src/book-components/Chat/Chat/insertDictationChunk.test.d.ts +1 -0
  261. package/esm/src/book-components/Chat/Chat/learnDictationDictionary.test.d.ts +1 -0
  262. package/esm/src/book-components/Chat/Chat/refineFinalDictationChunk.test.d.ts +1 -0
  263. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  264. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  265. package/esm/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  266. package/esm/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  267. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  268. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  269. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  270. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  271. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  272. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  273. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  274. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  275. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  276. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  277. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  278. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  279. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  280. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  281. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  282. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  283. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  284. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  285. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  286. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  287. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  288. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  289. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  290. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  291. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  292. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  293. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  294. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  295. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  296. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  297. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  298. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  299. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  300. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  301. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  302. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  303. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  304. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  305. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  306. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  307. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  308. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  309. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  310. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  311. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  312. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  313. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  314. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  315. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  316. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  317. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  318. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  319. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  320. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  321. package/esm/src/cli/cli-commands/common/createPositiveIntegerOptionParser.d.ts +10 -0
  322. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  323. package/esm/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  324. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  325. package/esm/src/commitments/META/META.d.ts +2 -2
  326. package/esm/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  327. package/esm/src/commitments/index.d.ts +1 -1
  328. package/esm/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  329. package/esm/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  330. package/esm/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  331. package/esm/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  332. package/esm/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  333. package/esm/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  334. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  335. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  336. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  337. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  338. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  339. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  340. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  341. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  342. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  343. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  344. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  345. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  346. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  347. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  348. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  349. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  350. package/esm/src/utils/agent-message-runtime/agentMessageRuntimePaths.d.ts +24 -0
  351. package/esm/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  352. package/esm/src/utils/ascii-art/$detectTerminalAnsiColorDepth.d.ts +15 -0
  353. package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +80 -0
  354. package/esm/src/utils/color/Color.d.ts +1 -1
  355. package/esm/src/version.d.ts +1 -1
  356. package/package.json +1 -1
  357. package/src/_packages/types.index.ts +2 -2
  358. package/src/avatars/Avatar.tsx +2 -13
  359. package/src/avatars/avatarAnimationScheduler.ts +2 -1
  360. package/src/avatars/renderAvatarVisual.ts +2 -13
  361. package/src/avatars/renderAvatarVisualAsciiArt.ts +257 -0
  362. package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +1 -6
  363. package/src/avatars/visuals/avatarVisualRegistry.ts +1 -1
  364. package/src/avatars/visuals/minecraft2AvatarVisual.ts +1 -2
  365. package/src/avatars/visuals/octopus2AvatarVisual.ts +1 -5
  366. package/src/avatars/visuals/octopus3AvatarVisual.ts +1 -8
  367. package/src/avatars/visuals/octopus3d2AvatarVisual.ts +4 -13
  368. package/src/avatars/visuals/octopus3d3AvatarVisual.ts +10 -15
  369. package/src/avatars/visuals/octopus3d4AvatarVisual.ts +18 -31
  370. package/src/avatars/visuals/octopus3dAvatarVisual.ts +3 -3
  371. package/src/avatars/visuals/octopus3dAvatarVisualShared.ts +2 -7
  372. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +2 -1
  373. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +3 -5
  374. package/src/book-3.0/CliAgent.ts +1 -7
  375. package/src/book-3.0/LiteAgent.ts +5 -5
  376. package/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.tsx +1 -4
  377. package/src/book-components/BookEditor/BookEditor.tsx +2 -2
  378. package/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.tsx +3 -2
  379. package/src/book-components/BookEditor/BookEditorActionbar.tsx +1 -1
  380. package/src/book-components/BookEditor/BookEditorMonaco.tsx +2 -2
  381. package/src/book-components/BookEditor/BookEditorMonacoUploadPanel.tsx +1 -1
  382. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  383. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +1 -1
  384. package/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.ts +147 -0
  385. package/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.ts +10 -0
  386. package/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.ts +209 -0
  387. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.ts +164 -0
  388. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.ts +121 -0
  389. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.ts +81 -0
  390. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.ts +360 -0
  391. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.ts +47 -0
  392. package/src/book-components/BookEditor/useBookEditorMonacoUploads.ts +10 -1067
  393. package/src/book-components/Chat/Chat/Chat.module.css +196 -0
  394. package/src/book-components/Chat/Chat/Chat.tsx +16 -1
  395. package/src/book-components/Chat/Chat/ChatCitationModal.tsx +2 -2
  396. package/src/book-components/Chat/Chat/ChatImageAttachmentModal.tsx +108 -0
  397. package/src/book-components/Chat/Chat/ChatInputArea.tsx +43 -27
  398. package/src/book-components/Chat/Chat/ChatMessageAttachments.tsx +212 -0
  399. package/src/book-components/Chat/Chat/ChatMessageItem.tsx +32 -18
  400. package/src/book-components/Chat/Chat/ChatMessageList.tsx +3 -0
  401. package/src/book-components/Chat/Chat/ChatProps.tsx +9 -0
  402. package/src/book-components/Chat/Chat/CitationIframePreview.tsx +138 -11
  403. package/src/book-components/Chat/Chat/createProgressCardChecklistMarkdown.ts +1 -8
  404. package/src/book-components/Chat/Chat/insertDictationChunk.ts +3 -3
  405. package/src/book-components/Chat/Chat/learnDictationDictionary.ts +1 -1
  406. package/src/book-components/Chat/Chat/renderTimeoutToolCallDetails.tsx +1 -5
  407. package/src/book-components/Chat/Chat/useChatInputAreaComposer.ts +59 -7
  408. package/src/book-components/Chat/Chat/useChatInputAreaDictation.ts +140 -33
  409. package/src/book-components/Chat/Chat/useChatToolCallModalState.ts +1 -4
  410. package/src/book-components/Chat/hooks/useChatRatings.ts +1 -1
  411. package/src/book-components/Chat/save/html/htmlSaveFormatDefinition.ts +2 -3
  412. package/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.ts +2 -2
  413. package/src/book-components/Chat/save/pdf/buildChatPdf.ts +1 -1
  414. package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +1 -5
  415. package/src/book-components/Chat/utils/isVisibleChatToolCall.ts +2 -1
  416. package/src/book-components/Chat/utils/parseMessageButtons.ts +27 -2
  417. package/src/cli/cli-commands/about.ts +1 -1
  418. package/src/cli/cli-commands/agent/agentCliOptions.ts +2 -5
  419. package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +6 -12
  420. package/src/cli/cli-commands/agent-folder/init.ts +3 -8
  421. package/src/cli/cli-commands/agent-folder/initializeAgentProjectConfiguration.ts +2 -11
  422. package/src/cli/cli-commands/agent-folder/printAgentInitializationSummary.ts +2 -9
  423. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.ts +6 -0
  424. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.ts +6 -0
  425. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.ts +6 -0
  426. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.ts +11 -0
  427. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.ts +9 -0
  428. package/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.ts +6 -0
  429. package/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.ts +19 -0
  430. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.ts +71 -0
  431. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +69 -0
  432. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +59 -0
  433. package/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.ts +23 -0
  434. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.ts +20 -0
  435. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.ts +17 -0
  436. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.ts +27 -0
  437. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.ts +21 -0
  438. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.ts +22 -0
  439. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.ts +30 -0
  440. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.ts +41 -0
  441. package/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.ts +14 -0
  442. package/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.ts +10 -0
  443. package/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.ts +10 -0
  444. package/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.ts +31 -0
  445. package/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.ts +35 -0
  446. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.ts +33 -0
  447. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.ts +30 -0
  448. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.ts +19 -0
  449. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.ts +21 -0
  450. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.ts +19 -0
  451. package/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.ts +184 -0
  452. package/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.ts +48 -0
  453. package/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.ts +179 -0
  454. package/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.ts +28 -0
  455. package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +22 -1043
  456. package/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.ts +2 -1
  457. package/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.ts +2 -1
  458. package/src/cli/cli-commands/agents-server/run.ts +2 -5
  459. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.ts +67 -0
  460. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.ts +43 -0
  461. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.ts +44 -0
  462. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.ts +59 -0
  463. package/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.ts +9 -0
  464. package/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.ts +14 -0
  465. package/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.ts +26 -0
  466. package/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.ts +15 -0
  467. package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +29 -0
  468. package/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.ts +32 -0
  469. package/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.ts +18 -0
  470. package/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.ts +81 -0
  471. package/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.ts +52 -0
  472. package/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.ts +17 -0
  473. package/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.ts +97 -0
  474. package/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.ts +132 -0
  475. package/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.ts +14 -0
  476. package/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.ts +132 -0
  477. package/src/cli/cli-commands/agents-server/startAgentsServer.ts +24 -797
  478. package/src/cli/cli-commands/agents-server.ts +2 -6
  479. package/src/cli/cli-commands/coder/agentCodingFile.ts +1 -7
  480. package/src/cli/cli-commands/coder/boilerplateTemplates.ts +14 -21
  481. package/src/cli/cli-commands/coder/find-refactor-candidates.ts +9 -2
  482. package/src/cli/cli-commands/coder/generate-boilerplates.ts +2 -6
  483. package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +2 -10
  484. package/src/cli/cli-commands/coder/run.ts +3 -27
  485. package/src/cli/cli-commands/coder/server.ts +4 -2
  486. package/src/cli/cli-commands/common/createPositiveIntegerOptionParser.ts +31 -0
  487. package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +3 -8
  488. package/src/cli/cli-commands/make.ts +1 -1
  489. package/src/cli/cli-commands/run/runCommandAction.ts +1 -1
  490. package/src/cli/promptbookCli.ts +28 -3
  491. package/src/collection/agent-collection/CreateAgentInput.ts +2 -5
  492. package/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.ts +1 -1
  493. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +1 -10
  494. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +1 -10
  495. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +1 -6
  496. package/src/commitments/META/META.ts +4 -4
  497. package/src/commitments/META_AVATAR/META_AVATAR.ts +16 -10
  498. package/src/commitments/TEAM/TEAM.ts +5 -5
  499. package/src/commitments/USE_CALENDAR/createUseCalendarToolFunctions.ts +1 -4
  500. package/src/commitments/USE_PROJECT/createUseProjectToolFunctions.ts +2 -10
  501. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +1 -11
  502. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +1 -6
  503. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +1 -6
  504. package/src/commitments/WALLET/createWalletToolFunctions.ts +2 -11
  505. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +1 -6
  506. package/src/commitments/WALLET/parseWalletToolArgs.ts +1 -10
  507. package/src/commitments/index.ts +1 -0
  508. package/src/conversion/parsePipeline/applyPipelineHead.ts +1 -1
  509. package/src/conversion/parsePipeline/createUniqueSectionNameResolver.ts +1 -1
  510. package/src/conversion/parsePipeline/processPipelineSection.ts +1 -1
  511. package/src/conversion/validation/validatePipeline/createPipelineValidationContext.ts +43 -0
  512. package/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.ts +72 -0
  513. package/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.ts +220 -0
  514. package/src/conversion/validation/validatePipeline/validatePipelineMetadata.ts +66 -0
  515. package/src/conversion/validation/validatePipeline/validatePipelineParameters.ts +136 -0
  516. package/src/conversion/validation/validatePipeline/validatePipelineTasks.ts +243 -0
  517. package/src/conversion/validation/validatePipeline.ts +7 -750
  518. package/src/execution/LlmExecutionTools.ts +1 -6
  519. package/src/execution/createPipelineExecutor/getReservedParametersForTask.ts +1 -5
  520. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.ts +51 -0
  521. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.ts +30 -0
  522. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.ts +62 -0
  523. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.ts +10 -0
  524. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.ts +75 -0
  525. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.ts +101 -0
  526. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.ts +24 -0
  527. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.ts +17 -0
  528. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.ts +15 -0
  529. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.ts +19 -0
  530. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.ts +44 -0
  531. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.ts +21 -0
  532. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.ts +97 -0
  533. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.ts +17 -0
  534. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.ts +30 -0
  535. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.ts +32 -0
  536. package/src/llm-providers/_common/register/$registeredLlmToolsMessage.ts +5 -568
  537. package/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.ts +1 -6
  538. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +2 -2
  539. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  540. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +2 -2
  541. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  542. package/src/llm-providers/openai/OpenAiCompatibleExecutionTools.ts +2 -7
  543. package/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.ts +1 -1
  544. package/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.ts +2 -2
  545. package/src/llm-providers/openai/utils/OpenAiCompatibleUnsupportedParameterRetrier.ts +1 -5
  546. package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +1 -6
  547. package/src/other/templates/getTemplatesPipelineCollection.ts +889 -773
  548. package/src/remote-server/startRemoteServer/registerExecutionRoutes.ts +1 -1
  549. package/src/remote-server/startRemoteServer/registerServerIndexRoute.ts +1 -1
  550. package/src/scrapers/_common/utils/makeKnowledgeSourceHandler.ts +1 -6
  551. package/src/speech-recognition/OpenAiSpeechRecognition.ts +1 -6
  552. package/src/transpilers/_common/prepareSdkTranspilerContext.ts +1 -4
  553. package/src/types/Prompt.ts +1 -7
  554. package/src/types/string_host.ts +1 -9
  555. package/src/types/string_pipeline_url.ts +1 -4
  556. package/src/utils/agent-message-runtime/agentMessageRuntimePaths.ts +66 -0
  557. package/src/utils/agents/resolveAgentAvatarImageUrl.ts +2 -2
  558. package/src/utils/ascii-art/$detectTerminalAnsiColorDepth.ts +45 -0
  559. package/src/utils/ascii-art/convertImageDataToAsciiArt.ts +396 -0
  560. package/src/utils/color/Color.ts +2 -2
  561. package/src/utils/markdown/parseMarkdownSection.ts +1 -5
  562. package/src/utils/random/$randomFullnameWithColor.ts +1 -6
  563. package/src/version.ts +2 -2
  564. package/src/versions.txt +7 -0
  565. package/umd/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  566. package/umd/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  567. package/umd/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  568. package/umd/index.umd.js +28594 -27065
  569. package/umd/index.umd.js.map +1 -1
  570. package/umd/scripts/find-refactor-candidates/find-refactor-candidates.d.ts +7 -0
  571. package/umd/scripts/find-refactor-candidates/selectMostImportantRefactorCandidates.d.ts +12 -0
  572. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  573. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  574. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  575. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  576. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  577. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  578. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  579. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  580. package/umd/scripts/run-codex-prompts/common/buildCoderRunProgressSnapshot.d.ts +1 -1
  581. package/umd/scripts/run-codex-prompts/common/cliProgressDisplay.d.ts +2 -1
  582. package/umd/scripts/run-codex-prompts/common/resolveCoderAgent.d.ts +20 -0
  583. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  584. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  585. package/umd/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  586. package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +8 -1
  587. package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +54 -0
  588. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +10 -0
  589. package/umd/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  590. package/umd/src/_packages/types.index.d.ts +2 -2
  591. package/umd/src/avatars/renderAvatarVisualAsciiArt.d.ts +98 -0
  592. package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  593. package/umd/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  594. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  595. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  596. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  597. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  598. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  599. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  600. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  601. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  602. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  603. package/umd/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  604. package/umd/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  605. package/umd/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  606. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  607. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  608. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  609. package/umd/src/book-components/Chat/Chat/CitationIframePreview.d.ts +2 -2
  610. package/umd/src/book-components/Chat/Chat/CitationIframePreview.test.d.ts +2 -0
  611. package/umd/src/book-components/Chat/Chat/insertDictationChunk.d.ts +1 -1
  612. package/umd/src/book-components/Chat/Chat/insertDictationChunk.test.d.ts +1 -0
  613. package/umd/src/book-components/Chat/Chat/learnDictationDictionary.test.d.ts +1 -0
  614. package/umd/src/book-components/Chat/Chat/refineFinalDictationChunk.test.d.ts +1 -0
  615. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  616. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  617. package/umd/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  618. package/umd/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  619. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  620. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  621. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  622. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  623. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  624. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  625. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  626. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  627. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  628. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  629. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  630. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  631. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  632. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  633. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  634. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  635. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  636. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  637. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  638. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  639. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  640. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  641. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  642. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  643. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  644. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  645. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  646. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  647. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  648. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  649. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  650. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  651. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  652. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  653. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  654. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  655. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  656. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  657. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  658. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  659. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  660. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  661. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  662. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  663. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  664. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  665. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  666. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  667. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  668. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  669. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  670. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  671. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  672. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  673. package/umd/src/cli/cli-commands/common/createPositiveIntegerOptionParser.d.ts +10 -0
  674. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  675. package/umd/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  676. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  677. package/umd/src/commitments/META/META.d.ts +2 -2
  678. package/umd/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  679. package/umd/src/commitments/index.d.ts +1 -1
  680. package/umd/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  681. package/umd/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  682. package/umd/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  683. package/umd/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  684. package/umd/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  685. package/umd/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  686. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  687. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  688. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  689. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  690. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  691. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  692. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  693. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  694. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  695. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  696. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  697. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  698. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  699. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  700. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  701. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  702. package/umd/src/utils/agent-message-runtime/agentMessageRuntimePaths.d.ts +24 -0
  703. package/umd/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  704. package/umd/src/utils/ascii-art/$detectTerminalAnsiColorDepth.d.ts +15 -0
  705. package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +80 -0
  706. package/umd/src/utils/color/Color.d.ts +1 -1
  707. package/umd/src/version.d.ts +1 -1
  708. package/apps/agents-server/src/utils/userChat/createUserChatRunnerProgressCard.ts +0 -57
  709. package/esm/scripts/run-codex-prompts/common/resolveAgentSystemMessage.d.ts +0 -6
  710. package/umd/scripts/run-codex-prompts/common/resolveAgentSystemMessage.d.ts +0 -6
@@ -172,7 +172,6 @@ export class SpeechToTextFailoverRecognitionProviderRuntime {
172
172
  }
173
173
  }
174
174
 
175
- this.options.onForceIdleStop();
176
175
  return false;
177
176
  }
178
177
 
@@ -302,13 +302,45 @@ export class SpeechToTextFailoverRecognition implements SpeechRecognition {
302
302
  * Handles stall watchdog restart/failover escalation.
303
303
  */
304
304
  private handleStallDetected(): void {
305
+ void this.handleStallDetectedAsync();
306
+ }
307
+
308
+ /**
309
+ * Handles stall watchdog restart/failover escalation.
310
+ */
311
+ private async handleStallDetectedAsync(): Promise<void> {
312
+ const providerId = this.providerRuntime.currentProviderId;
313
+
305
314
  if (!this.providerRuntime.hasRestartedCurrentProvider) {
306
315
  this.providerRuntime.markCurrentProviderRestarted();
307
- void this.providerRuntime.restartCurrentProvider('stall-detected');
316
+ this.telemetryReporter.emit({
317
+ type: 'provider-restart',
318
+ providerId,
319
+ elapsedMs: Date.now() - this.sessionStartedAtMs,
320
+ detail: 'stall-detected',
321
+ });
322
+
323
+ const restartSucceeded = await this.providerRuntime.restartCurrentProvider('stall-detected');
324
+ if (restartSucceeded) {
325
+ return;
326
+ }
327
+ }
328
+
329
+ const failoverSucceeded = await this.providerRuntime.failoverToNextProvider('stall-after-restart');
330
+ if (failoverSucceeded) {
308
331
  return;
309
332
  }
310
333
 
311
- void this.providerRuntime.failoverToNextProvider('stall-after-restart');
334
+ this._state = 'ERROR';
335
+ this.emit({
336
+ type: 'ERROR',
337
+ message: 'Speech recognition stalled while audio was detected. No fallback speech-to-text provider was available.',
338
+ code: 'unknown',
339
+ providerId,
340
+ canRetry: true,
341
+ canOpenBrowserSettings: false,
342
+ });
343
+ this.forceIdleStop();
312
344
  }
313
345
 
314
346
  /**
@@ -0,0 +1,512 @@
1
+ import { readFile } from 'fs/promises';
2
+ import { join } from 'path';
3
+ import { spaceTrim } from 'spacetrim';
4
+ import { buildAgentMessageRuntimeLogPathFromFileName } from '../../../../../src/utils/agent-message-runtime/agentMessageRuntimePaths';
5
+ import { getUserChatJobById } from '../userChat/getUserChatJobById';
6
+ import { getUserChatTimeoutById } from '../userChatTimeout/userChatTimeoutStore/getUserChatTimeoutById';
7
+ import { VPS_SELF_UPDATE_ADMIN_CHAT_TASK_ID } from '../getAdminChatTasksResponse/mapVpsSelfUpdateJobToAdminChatTask';
8
+ import { getLocalUserChatJobMetadata } from '../localChatRunner/LocalUserChatJobMetadata';
9
+ import { resolveLocalAgentRootPath } from '../localChatRunner/ensureLocalAgentFolder';
10
+ import { listPagePreviewBrowserAdminTasks } from '../pagePreviewBrowserSessions';
11
+ import {
12
+ readVpsSelfUpdateJobSnapshot,
13
+ readVpsSelfUpdateJobTaskSnapshots,
14
+ readVpsSelfUpdateLogFileContent,
15
+ } from '../vpsSelfUpdate';
16
+ import type { VpsSelfUpdateJobSnapshot } from '../vpsSelfUpdate';
17
+ import { resolveVpsSelfUpdateJobIdentity } from '../vpsSelfUpdate/vpsSelfUpdateJobIdentity';
18
+ import {
19
+ getTaskTerminalLogSnapshot,
20
+ subscribeToTaskTerminalLog,
21
+ type TaskTerminalLogSnapshot,
22
+ type TaskTerminalLogSubscriber,
23
+ } from './taskTerminalLog';
24
+
25
+ /**
26
+ * Prefix used by synthetic standalone VPS self-update task ids.
27
+ */
28
+ const VPS_SELF_UPDATE_TASK_ID_PREFIX = `${VPS_SELF_UPDATE_ADMIN_CHAT_TASK_ID}:`;
29
+
30
+ /**
31
+ * Prefix used by ephemeral browser-preview task ids.
32
+ */
33
+ const PAGE_PREVIEW_TASK_ID_PREFIX = 'page-preview-';
34
+
35
+ /**
36
+ * How often a task-owned terminal log file is polled while streaming.
37
+ */
38
+ const TASK_TERMINAL_LOG_FILE_POLL_INTERVAL_MS = 2_000;
39
+
40
+ /**
41
+ * Terminal subscribe function compatible with the shared admin terminal SSE helper.
42
+ */
43
+ type AdminTaskTerminalSubscribe = (taskId: string, subscriber: TaskTerminalLogSubscriber) => (() => void) | null;
44
+
45
+ /**
46
+ * Resolved terminal view of one admin task.
47
+ */
48
+ export type AdminTaskTerminalResolution = {
49
+ /**
50
+ * Browser-safe terminal session snapshot for the task.
51
+ */
52
+ readonly session: TaskTerminalLogSnapshot;
53
+
54
+ /**
55
+ * Live event subscription used by the SSE stream.
56
+ */
57
+ readonly subscribe: AdminTaskTerminalSubscribe;
58
+ };
59
+
60
+ /**
61
+ * Resolves the read-only terminal session of one admin task-manager task.
62
+ *
63
+ * Durable chat jobs, chat timeouts, and browser previews use the in-memory task terminal
64
+ * log captured while the task is processed in this server process. Standalone VPS
65
+ * self-update tasks are backed by the persisted installer log file instead, because the
66
+ * updater runs as a detached process that survives server restarts.
67
+ *
68
+ * @param taskId - Task identifier used by the admin task manager.
69
+ * @returns Terminal resolution or `null` when the task does not exist.
70
+ */
71
+ export async function resolveAdminTaskTerminalSession(taskId: string): Promise<AdminTaskTerminalResolution | null> {
72
+ if (taskId.startsWith(VPS_SELF_UPDATE_TASK_ID_PREFIX)) {
73
+ return await resolveVpsSelfUpdateTaskTerminalSession(taskId);
74
+ }
75
+
76
+ if (taskId.startsWith(PAGE_PREVIEW_TASK_ID_PREFIX)) {
77
+ return resolvePagePreviewTaskTerminalSession(taskId);
78
+ }
79
+
80
+ return await resolveDurableTaskTerminalSession(taskId);
81
+ }
82
+
83
+ /**
84
+ * Resolves the terminal session of one durable chat job or chat timeout.
85
+ *
86
+ * @param taskId - Durable job or timeout identifier.
87
+ * @returns Terminal resolution or `null` when no durable task exists for the id.
88
+ */
89
+ async function resolveDurableTaskTerminalSession(taskId: string): Promise<AdminTaskTerminalResolution | null> {
90
+ const job = await getUserChatJobById(taskId);
91
+ const timeout = job ? null : await getUserChatTimeoutById(taskId);
92
+ const task = job || timeout;
93
+
94
+ if (!task) {
95
+ return null;
96
+ }
97
+
98
+ const isRunning = task.status === 'QUEUED' || task.status === 'RUNNING';
99
+
100
+ if (job) {
101
+ const localRunnerMetadata = getLocalUserChatJobMetadata(job);
102
+
103
+ if (localRunnerMetadata) {
104
+ return await resolveLocalUserChatJobTerminalSession({
105
+ taskId,
106
+ isRunning,
107
+ startedAt: task.startedAt || task.queuedAt || task.createdAt,
108
+ finishedAt: task.completedAt,
109
+ exitCode: resolveFinishedTaskExitCode(task.status),
110
+ agentDirectoryName: localRunnerMetadata.agentDirectoryName,
111
+ fileName: localRunnerMetadata.fileName,
112
+ });
113
+ }
114
+ }
115
+
116
+ return {
117
+ session: createInMemoryTaskTerminalSession({
118
+ taskId,
119
+ isRunning,
120
+ startedAt: task.startedAt || task.queuedAt || task.createdAt,
121
+ finishedAt: task.completedAt,
122
+ exitCode: resolveFinishedTaskExitCode(task.status),
123
+ }),
124
+ subscribe: subscribeToTaskTerminalLog,
125
+ };
126
+ }
127
+
128
+ /**
129
+ * Resolves the terminal session backed by the local coding-harness runtime log file.
130
+ *
131
+ * @param options - Durable job lifecycle fields and local runner metadata.
132
+ * @returns Terminal resolution backed by the per-job harness log file.
133
+ */
134
+ async function resolveLocalUserChatJobTerminalSession(options: {
135
+ readonly taskId: string;
136
+ readonly isRunning: boolean;
137
+ readonly startedAt: string;
138
+ readonly finishedAt: string | null;
139
+ readonly exitCode: number | null;
140
+ readonly agentDirectoryName: string;
141
+ readonly fileName: string;
142
+ }): Promise<AdminTaskTerminalResolution> {
143
+ const runtimeLogPath = resolveLocalUserChatJobRuntimeLogPath({
144
+ agentDirectoryName: options.agentDirectoryName,
145
+ fileName: options.fileName,
146
+ });
147
+ const terminalLogSnapshot = getTaskTerminalLogSnapshot(options.taskId);
148
+ const output = (await readOptionalTextFile(runtimeLogPath)) || terminalLogSnapshot?.output || '';
149
+ const session: TaskTerminalLogSnapshot = {
150
+ id: options.taskId,
151
+ isRunning: options.isRunning,
152
+ output,
153
+ startedAt: options.startedAt,
154
+ finishedAt: options.finishedAt,
155
+ exitCode: options.exitCode,
156
+ signal: null,
157
+ };
158
+
159
+ return {
160
+ session,
161
+ subscribe: createPolledTaskTerminalLogFileSubscribe({
162
+ session,
163
+ readOutput: () => readOptionalTextFile(runtimeLogPath),
164
+ resolveExitSnapshot: (knownOutput) => resolveDurableTaskExitSnapshot(options.taskId, session, knownOutput),
165
+ }),
166
+ };
167
+ }
168
+
169
+ /**
170
+ * Resolves the terminal session of one ephemeral browser-preview stream.
171
+ *
172
+ * @param taskId - Browser-preview session identifier.
173
+ * @returns Terminal resolution or `null` when the preview neither runs nor left a retained log.
174
+ */
175
+ function resolvePagePreviewTaskTerminalSession(taskId: string): AdminTaskTerminalResolution | null {
176
+ const activePreviewTask = listPagePreviewBrowserAdminTasks().find((task) => task.id === taskId) || null;
177
+ const terminalLogSnapshot = getTaskTerminalLogSnapshot(taskId);
178
+
179
+ if (!activePreviewTask && !terminalLogSnapshot) {
180
+ return null;
181
+ }
182
+
183
+ return {
184
+ session: createInMemoryTaskTerminalSession({
185
+ taskId,
186
+ isRunning: activePreviewTask !== null,
187
+ startedAt: activePreviewTask?.startedAt || terminalLogSnapshot?.startedAt || new Date().toISOString(),
188
+ finishedAt: activePreviewTask ? null : terminalLogSnapshot?.finishedAt || null,
189
+ exitCode: activePreviewTask ? null : terminalLogSnapshot?.exitCode ?? null,
190
+ }),
191
+ subscribe: subscribeToTaskTerminalLog,
192
+ };
193
+ }
194
+
195
+ /**
196
+ * Builds one terminal session backed by the in-memory task terminal log.
197
+ *
198
+ * The task lifecycle fields come from the authoritative task record while the buffered
199
+ * output comes from the console capture of this server process.
200
+ *
201
+ * @param options - Authoritative task lifecycle fields.
202
+ * @returns Browser-safe terminal session snapshot.
203
+ */
204
+ function createInMemoryTaskTerminalSession(options: {
205
+ readonly taskId: string;
206
+ readonly isRunning: boolean;
207
+ readonly startedAt: string;
208
+ readonly finishedAt: string | null;
209
+ readonly exitCode: number | null;
210
+ }): TaskTerminalLogSnapshot {
211
+ const terminalLogSnapshot = getTaskTerminalLogSnapshot(options.taskId);
212
+
213
+ return {
214
+ id: options.taskId,
215
+ isRunning: options.isRunning,
216
+ output: terminalLogSnapshot?.output || '',
217
+ startedAt: options.startedAt,
218
+ finishedAt: options.finishedAt,
219
+ exitCode: options.exitCode,
220
+ signal: null,
221
+ };
222
+ }
223
+
224
+ /**
225
+ * Builds the runtime log path created by the foreground local coding harness.
226
+ *
227
+ * @param options - Local runner folder and queued message filename.
228
+ * @returns Absolute path to the live harness runtime log file.
229
+ */
230
+ function resolveLocalUserChatJobRuntimeLogPath(options: {
231
+ readonly agentDirectoryName: string;
232
+ readonly fileName: string;
233
+ }): string {
234
+ return buildAgentMessageRuntimeLogPathFromFileName(
235
+ join(resolveLocalAgentRootPath(), options.agentDirectoryName),
236
+ options.fileName,
237
+ );
238
+ }
239
+
240
+ /**
241
+ * Resolves a durable chat-task exit snapshot while a file-backed terminal stream is open.
242
+ *
243
+ * @param taskId - Durable chat job identifier.
244
+ * @param session - Initial terminal session snapshot.
245
+ * @param knownOutput - Latest terminal output already sent to the browser.
246
+ * @returns Exit snapshot or `null` while the job is still active.
247
+ */
248
+ async function resolveDurableTaskExitSnapshot(
249
+ taskId: string,
250
+ session: TaskTerminalLogSnapshot,
251
+ knownOutput: string,
252
+ ): Promise<TaskTerminalLogSnapshot | null> {
253
+ const latestJob = await getUserChatJobById(taskId);
254
+
255
+ if (!latestJob) {
256
+ return {
257
+ ...session,
258
+ isRunning: false,
259
+ output: knownOutput,
260
+ finishedAt: new Date().toISOString(),
261
+ exitCode: 1,
262
+ };
263
+ }
264
+
265
+ if (latestJob.status === 'QUEUED' || latestJob.status === 'RUNNING') {
266
+ return null;
267
+ }
268
+
269
+ return {
270
+ ...session,
271
+ isRunning: false,
272
+ output: knownOutput,
273
+ finishedAt: latestJob.completedAt || new Date().toISOString(),
274
+ exitCode: resolveFinishedTaskExitCode(latestJob.status) ?? 1,
275
+ };
276
+ }
277
+
278
+ /**
279
+ * Maps one finished durable-task status to the synthetic terminal exit code.
280
+ *
281
+ * @param status - Durable task status.
282
+ * @returns `0` on success, `1` on failure or cancellation, `null` while unfinished.
283
+ */
284
+ function resolveFinishedTaskExitCode(status: string): number | null {
285
+ if (status === 'COMPLETED') {
286
+ return 0;
287
+ }
288
+
289
+ if (status === 'FAILED' || status === 'CANCELLED') {
290
+ return 1;
291
+ }
292
+
293
+ return null;
294
+ }
295
+
296
+ /**
297
+ * Resolves the terminal session of one standalone VPS self-update task.
298
+ *
299
+ * @param taskId - Synthetic `vps-self-update:<identity>` task identifier.
300
+ * @returns Terminal resolution or `null` when no matching self-update run is known.
301
+ */
302
+ async function resolveVpsSelfUpdateTaskTerminalSession(taskId: string): Promise<AdminTaskTerminalResolution | null> {
303
+ const jobIdentity = taskId.slice(VPS_SELF_UPDATE_TASK_ID_PREFIX.length);
304
+ const jobSnapshots = await readVpsSelfUpdateJobTaskSnapshots();
305
+ const job = jobSnapshots.find((candidate) => resolveVpsSelfUpdateJobIdentity(candidate) === jobIdentity) || null;
306
+
307
+ if (!job) {
308
+ return null;
309
+ }
310
+
311
+ const latestJob = await readVpsSelfUpdateJobSnapshot();
312
+ const isLatestJob = resolveVpsSelfUpdateJobIdentity(latestJob) === jobIdentity;
313
+ const output = isLatestJob
314
+ ? (await readVpsSelfUpdateLogFileContent()) || ''
315
+ : createArchivedVpsSelfUpdateLogPlaceholder(job);
316
+ const isRunning = isLatestJob && job.status === 'running';
317
+
318
+ const session: TaskTerminalLogSnapshot = {
319
+ id: taskId,
320
+ isRunning,
321
+ output,
322
+ startedAt: job.startedAt || new Date().toISOString(),
323
+ finishedAt: job.finishedAt,
324
+ exitCode: resolveVpsSelfUpdateExitCode(job.status),
325
+ signal: null,
326
+ };
327
+
328
+ return {
329
+ session,
330
+ subscribe: createPolledTaskTerminalLogFileSubscribe({
331
+ session,
332
+ readOutput: async () => {
333
+ const latestJobSnapshot = await readVpsSelfUpdateJobSnapshot();
334
+ const isStillLatestJob = resolveVpsSelfUpdateJobIdentity(latestJobSnapshot) === jobIdentity;
335
+
336
+ return isStillLatestJob ? (await readVpsSelfUpdateLogFileContent()) || '' : null;
337
+ },
338
+ resolveExitSnapshot: async (knownOutput) => {
339
+ const latestJobSnapshot = await readVpsSelfUpdateJobSnapshot();
340
+ const isStillLatestJob = resolveVpsSelfUpdateJobIdentity(latestJobSnapshot) === jobIdentity;
341
+
342
+ if (isStillLatestJob && latestJobSnapshot.status === 'running') {
343
+ return null;
344
+ }
345
+
346
+ return {
347
+ ...session,
348
+ isRunning: false,
349
+ output: knownOutput,
350
+ finishedAt: latestJobSnapshot.finishedAt || new Date().toISOString(),
351
+ exitCode: resolveVpsSelfUpdateExitCode(latestJobSnapshot.status) ?? 1,
352
+ };
353
+ },
354
+ }),
355
+ };
356
+ }
357
+
358
+ /**
359
+ * Explains why an archived self-update run has no full installer log anymore.
360
+ *
361
+ * @param job - Archived self-update job snapshot.
362
+ * @returns Placeholder terminal text.
363
+ */
364
+ function createArchivedVpsSelfUpdateLogPlaceholder(job: VpsSelfUpdateJobSnapshot): string {
365
+ return (
366
+ spaceTrim(`
367
+ The full installer log of this self-update run is no longer available.
368
+ Only the log of the most recent self-update run is kept on disk${
369
+ job.logFilePath ? ` at ${job.logFilePath}` : ''
370
+ }.
371
+ `) + '\n'
372
+ );
373
+ }
374
+
375
+ /**
376
+ * Maps one self-update status to the synthetic terminal exit code.
377
+ *
378
+ * @param status - Persisted self-update status.
379
+ * @returns `0` on success, `1` on failure, `null` while running.
380
+ */
381
+ function resolveVpsSelfUpdateExitCode(status: VpsSelfUpdateJobSnapshot['status']): number | null {
382
+ if (status === 'succeeded') {
383
+ return 0;
384
+ }
385
+
386
+ if (status === 'failed') {
387
+ return 1;
388
+ }
389
+
390
+ return null;
391
+ }
392
+
393
+ /**
394
+ * Creates a subscribe function that live-tails a task-owned terminal log file.
395
+ *
396
+ * @param options - Initial session snapshot, file reader, and lifecycle resolver.
397
+ * @returns Subscribe function compatible with the shared admin terminal SSE helper.
398
+ */
399
+ function createPolledTaskTerminalLogFileSubscribe(options: {
400
+ readonly session: TaskTerminalLogSnapshot;
401
+ readonly readOutput: () => Promise<string | null>;
402
+ readonly resolveExitSnapshot: (knownOutput: string) => Promise<TaskTerminalLogSnapshot | null>;
403
+ }): AdminTaskTerminalSubscribe {
404
+ return (_taskId, subscriber) => {
405
+ let knownOutput = options.session.output;
406
+ let isStopped = false;
407
+ let isPollInFlight = false;
408
+
409
+ const pollInterval = setInterval(async () => {
410
+ if (isStopped || isPollInFlight) {
411
+ return;
412
+ }
413
+
414
+ isPollInFlight = true;
415
+ try {
416
+ const output = await options.readOutput();
417
+
418
+ if (isStopped) {
419
+ return;
420
+ }
421
+
422
+ if (output !== null) {
423
+ const outputChunk = resolveAppendedTaskTerminalLogFileChunk(knownOutput, output);
424
+
425
+ if (outputChunk !== null) {
426
+ subscriber.onOutput({
427
+ type: 'output',
428
+ chunk: outputChunk,
429
+ });
430
+ }
431
+
432
+ knownOutput = output;
433
+ }
434
+
435
+ const exitSnapshot = await options.resolveExitSnapshot(knownOutput);
436
+
437
+ if (isStopped || !exitSnapshot) {
438
+ return;
439
+ }
440
+
441
+ isStopped = true;
442
+ clearInterval(pollInterval);
443
+ subscriber.onExit({
444
+ type: 'exit',
445
+ snapshot: exitSnapshot,
446
+ });
447
+ } catch {
448
+ // Note: Ignore transient log-file read failures and retry on the next poll
449
+ } finally {
450
+ isPollInFlight = false;
451
+ }
452
+ }, TASK_TERMINAL_LOG_FILE_POLL_INTERVAL_MS);
453
+ pollInterval.unref?.();
454
+
455
+ return () => {
456
+ isStopped = true;
457
+ clearInterval(pollInterval);
458
+ };
459
+ };
460
+ }
461
+
462
+ /**
463
+ * Resolves the output chunk appended since the last file poll.
464
+ *
465
+ * @param knownOutput - Output already sent to the browser.
466
+ * @param nextOutput - Latest complete log file content.
467
+ * @returns Appended chunk, full replacement content after truncation, or `null` when unchanged.
468
+ */
469
+ function resolveAppendedTaskTerminalLogFileChunk(knownOutput: string, nextOutput: string): string | null {
470
+ if (nextOutput === knownOutput) {
471
+ return null;
472
+ }
473
+
474
+ if (nextOutput.startsWith(knownOutput)) {
475
+ return nextOutput.slice(knownOutput.length);
476
+ }
477
+
478
+ return nextOutput;
479
+ }
480
+
481
+ /**
482
+ * Reads one optional terminal log file.
483
+ *
484
+ * @param filePath - Absolute log file path.
485
+ * @returns File content or `null` when the log file does not exist yet.
486
+ */
487
+ async function readOptionalTextFile(filePath: string): Promise<string | null> {
488
+ try {
489
+ return await readFile(filePath, 'utf-8');
490
+ } catch (error) {
491
+ if (isFileNotFoundError(error)) {
492
+ return null;
493
+ }
494
+
495
+ throw error;
496
+ }
497
+ }
498
+
499
+ /**
500
+ * Returns true when one filesystem error indicates a missing path.
501
+ *
502
+ * @param error - Unknown filesystem error.
503
+ * @returns Whether the error means the file path is absent.
504
+ */
505
+ function isFileNotFoundError(error: unknown): boolean {
506
+ return Boolean(
507
+ error &&
508
+ typeof error === 'object' &&
509
+ 'code' in error &&
510
+ ((error as { code?: string }).code === 'ENOENT' || (error as { code?: string }).code === 'ENOTDIR'),
511
+ );
512
+ }
@@ -0,0 +1,134 @@
1
+ import { AsyncLocalStorage } from 'async_hooks';
2
+ import { format } from 'util';
3
+ import { appendTaskTerminalLogLine } from './taskTerminalLog';
4
+
5
+ /**
6
+ * Console methods mirrored into task terminal logs.
7
+ */
8
+ const CAPTURED_CONSOLE_LEVELS = ['debug', 'log', 'info', 'warn', 'error'] as const;
9
+
10
+ /**
11
+ * One console level mirrored into task terminal logs.
12
+ */
13
+ type CapturedConsoleLevel = (typeof CAPTURED_CONSOLE_LEVELS)[number];
14
+
15
+ /**
16
+ * ANSI color prefix applied per console level so the xterm view resembles a real CLI.
17
+ */
18
+ const CAPTURED_CONSOLE_LEVEL_ANSI_COLOR_MAP: Record<CapturedConsoleLevel, string> = {
19
+ debug: '\x1b[2m',
20
+ log: '',
21
+ info: '\x1b[36m',
22
+ warn: '\x1b[33m',
23
+ error: '\x1b[31m',
24
+ };
25
+
26
+ /**
27
+ * ANSI style reset appended after each captured console line.
28
+ */
29
+ const ANSI_STYLE_RESET = '\x1b[0m';
30
+
31
+ /**
32
+ * Async context carried while one task is being processed.
33
+ */
34
+ type TaskTerminalCaptureContext = {
35
+ readonly taskId: string;
36
+ };
37
+
38
+ /**
39
+ * Shared mutable capture state reused across requests in the server process.
40
+ */
41
+ type TaskTerminalCaptureState = {
42
+ readonly asyncLocalStorage: AsyncLocalStorage<TaskTerminalCaptureContext>;
43
+ isConsolePatched: boolean;
44
+ };
45
+
46
+ /**
47
+ * Runs one task-processing callback while mirroring its console output into the task terminal log.
48
+ *
49
+ * All `console.*` calls made anywhere in the async call tree of `callback` are still written to
50
+ * the real server console and are additionally appended to the in-memory terminal log of the
51
+ * given task, so the admin task manager can show a task-scoped CLI view in real time.
52
+ *
53
+ * @param taskId - Task identifier used by the admin task manager.
54
+ * @param callback - Task-processing work to run inside the capture context.
55
+ * @returns Result of the callback.
56
+ */
57
+ export async function runWithTaskTerminalCapture<TResult>(
58
+ taskId: string,
59
+ callback: () => Promise<TResult> | TResult,
60
+ ): Promise<TResult> {
61
+ const state = getTaskTerminalCaptureState();
62
+ ensureTaskCaptureConsolePatched(state);
63
+
64
+ return await state.asyncLocalStorage.run({ taskId }, async () => await callback());
65
+ }
66
+
67
+ /**
68
+ * Returns the mutable singleton state for task console capturing.
69
+ *
70
+ * @returns Shared capture state.
71
+ */
72
+ function getTaskTerminalCaptureState(): TaskTerminalCaptureState {
73
+ const globalState = globalThis as typeof globalThis & {
74
+ __promptbookTaskTerminalCaptureState?: TaskTerminalCaptureState;
75
+ };
76
+
77
+ if (!globalState.__promptbookTaskTerminalCaptureState) {
78
+ globalState.__promptbookTaskTerminalCaptureState = {
79
+ asyncLocalStorage: new AsyncLocalStorage<TaskTerminalCaptureContext>(),
80
+ isConsolePatched: false,
81
+ };
82
+ }
83
+
84
+ return globalState.__promptbookTaskTerminalCaptureState;
85
+ }
86
+
87
+ /**
88
+ * Patches the global console once so calls inside a capture context are mirrored per task.
89
+ *
90
+ * The original console behavior is always preserved; mirroring failures are swallowed so a
91
+ * terminal-log problem can never break task processing itself.
92
+ *
93
+ * @param state - Shared capture state.
94
+ */
95
+ function ensureTaskCaptureConsolePatched(state: TaskTerminalCaptureState): void {
96
+ if (state.isConsolePatched) {
97
+ return;
98
+ }
99
+
100
+ state.isConsolePatched = true;
101
+
102
+ for (const level of CAPTURED_CONSOLE_LEVELS) {
103
+ const originalConsoleMethod = console[level].bind(console);
104
+
105
+ console[level] = (...consoleArguments: Array<unknown>) => {
106
+ originalConsoleMethod(...consoleArguments);
107
+
108
+ const captureContext = state.asyncLocalStorage.getStore();
109
+ if (!captureContext) {
110
+ return;
111
+ }
112
+
113
+ try {
114
+ appendTaskTerminalLogLine(captureContext.taskId, formatCapturedConsoleLine(level, consoleArguments));
115
+ } catch {
116
+ // Note: Never let terminal-log mirroring break the actual task processing
117
+ }
118
+ };
119
+ }
120
+ }
121
+
122
+ /**
123
+ * Formats one captured console call as an ANSI-colored terminal line body.
124
+ *
125
+ * @param level - Captured console level.
126
+ * @param consoleArguments - Raw console call arguments.
127
+ * @returns Line content without timestamp and trailing newline.
128
+ */
129
+ function formatCapturedConsoleLine(level: CapturedConsoleLevel, consoleArguments: Array<unknown>): string {
130
+ const levelColor = CAPTURED_CONSOLE_LEVEL_ANSI_COLOR_MAP[level];
131
+ const formattedMessage = format(...consoleArguments);
132
+
133
+ return `${levelColor}${formattedMessage}${ANSI_STYLE_RESET}`;
134
+ }