@promptbook/cli 0.113.0-1 → 0.113.0-11

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