@promptbook/cli 0.113.0-1 → 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 (716) 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 +62 -18
  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/check/route.ts +20 -5
  49. package/apps/agents-server/src/app/api/page-preview/input/route.ts +161 -0
  50. package/apps/agents-server/src/app/api/page-preview/screenshot/route.ts +21 -13
  51. package/apps/agents-server/src/app/api/page-preview/stream/route.ts +81 -0
  52. package/apps/agents-server/src/app/layout.tsx +39 -25
  53. package/apps/agents-server/src/app/system/utilities/mocked-chats/cloneMockedChatPreset.ts +17 -0
  54. package/apps/agents-server/src/app/system/utilities/mocked-chats/confirmDeleteMockedChat.ts +16 -0
  55. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDraftWithUpdatedMessage.ts +81 -0
  56. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDraftWithUpdatedParticipant.ts +146 -0
  57. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDraftWithUpdatedSettings.ts +19 -0
  58. package/apps/agents-server/src/app/system/utilities/mocked-chats/createDuplicatedDraft.ts +66 -0
  59. package/apps/agents-server/src/app/system/utilities/mocked-chats/findMockedChatById.ts +51 -0
  60. package/apps/agents-server/src/app/system/utilities/mocked-chats/persistMockedChats.ts +51 -0
  61. package/apps/agents-server/src/app/system/utilities/mocked-chats/useMockedChatsEditorState.ts +16 -426
  62. package/apps/agents-server/src/components/AgentAvatar/AgentAvatar.tsx +1 -1
  63. package/apps/agents-server/src/components/AgentAvatar/DefaultAgentAvatarVisualProvider.tsx +1 -1
  64. package/apps/agents-server/src/components/CronJobConfiguration/CronJobConfiguration.tsx +834 -0
  65. package/apps/agents-server/src/components/Header/Header.tsx +16 -3
  66. package/apps/agents-server/src/components/Header/HeaderDesktopTopMenuNavigation.tsx +22 -2
  67. package/apps/agents-server/src/components/Header/HeaderHomepageLink.tsx +1 -1
  68. package/apps/agents-server/src/components/Header/HeaderMobileDrawer.tsx +22 -2
  69. package/apps/agents-server/src/components/Header/HeaderTypes.ts +12 -1
  70. package/apps/agents-server/src/components/Header/buildAgentMenuStructure.tsx +6 -4
  71. package/apps/agents-server/src/components/Header/buildDocumentationDropdownItems.tsx +198 -3
  72. package/apps/agents-server/src/components/Header/buildHeaderMenuItems.ts +6 -0
  73. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +182 -16
  74. package/apps/agents-server/src/components/Homepage/buildFreeGraphBoxLayout.ts +446 -0
  75. package/apps/agents-server/src/components/Homepage/buildGraphLayoutNodes.ts +415 -157
  76. package/apps/agents-server/src/components/Homepage/useAgentsGraphCanvasState.ts +2 -1
  77. package/apps/agents-server/src/components/Homepage/useAgentsListState.ts +1 -1
  78. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +21 -5
  79. package/apps/agents-server/src/constants/defaultAgentAvatarVisual.ts +4 -3
  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/runDatabaseMigrations.ts +9 -1
  84. package/apps/agents-server/src/database/sqlite/$provideLocalSqliteSupabase.ts +3 -1541
  85. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/LocalSqliteQueryBuilder.ts +623 -0
  86. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/LocalSqliteSupabaseClient.ts +64 -0
  87. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/ensureTable.ts +93 -0
  88. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteFilters.ts +202 -0
  89. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteMutationPayload.ts +131 -0
  90. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteRowOperations.ts +102 -0
  91. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteSql.ts +59 -0
  92. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteTableSchema.ts +329 -0
  93. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteTypes.ts +84 -0
  94. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/localSqliteValueCodec.ts +63 -0
  95. package/apps/agents-server/src/database/sqlite/localSqliteSupabase/normalizeSqliteError.ts +22 -0
  96. package/apps/agents-server/src/instrumentation-node.ts +15 -0
  97. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +1 -0
  98. package/apps/agents-server/src/languages/translations/czech.yaml +1 -0
  99. package/apps/agents-server/src/languages/translations/english.yaml +1 -0
  100. package/apps/agents-server/src/search/createDefaultServerSearchProviders/loadLocalOrganizationSearchDataset.ts +12 -1
  101. package/apps/agents-server/src/tools/send_email.ts +1 -2
  102. package/apps/agents-server/src/{components/Homepage → utils/agentOrganization}/hiddenFolders.ts +49 -29
  103. package/apps/agents-server/src/utils/agentOrganization/loadAgentOrganizationState.ts +13 -1
  104. package/apps/agents-server/src/utils/backup/createServerBackupZipStream.ts +7 -1382
  105. package/apps/agents-server/src/utils/backup/serverBackup/appendAgentBackupEntriesToZip.ts +27 -0
  106. package/apps/agents-server/src/utils/backup/serverBackup/appendConversationBackupEntriesToZip.ts +140 -0
  107. package/apps/agents-server/src/utils/backup/serverBackup/appendFileBackupEntriesToZip.ts +147 -0
  108. package/apps/agents-server/src/utils/backup/serverBackup/appendMessageBackupEntriesToZip.ts +65 -0
  109. package/apps/agents-server/src/utils/backup/serverBackup/appendMetadataBackupEntriesToZip.ts +39 -0
  110. package/apps/agents-server/src/utils/backup/serverBackup/appendSectionEntriesToZip.ts +92 -0
  111. package/apps/agents-server/src/utils/backup/serverBackup/appendUserBackupEntriesToZip.ts +80 -0
  112. package/apps/agents-server/src/utils/backup/serverBackup/createRedactedWalletBackupRecord.ts +34 -0
  113. package/apps/agents-server/src/utils/backup/serverBackup/createServerBackupManifest.ts +82 -0
  114. package/apps/agents-server/src/utils/backup/serverBackup/downloadBackupBinaryContent.ts +39 -0
  115. package/apps/agents-server/src/utils/backup/serverBackup/resolveFeedbackThreadMessages.ts +53 -0
  116. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupAttachments.ts +151 -0
  117. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupContext.ts +167 -0
  118. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupFilenames.ts +161 -0
  119. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupPreviews.ts +97 -0
  120. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupRowUtilities.ts +158 -0
  121. package/apps/agents-server/src/utils/backup/serverBackup/serverBackupTypes.ts +59 -0
  122. package/apps/agents-server/src/utils/chat/createAttachmentAwareCitationLabelResolver.ts +147 -0
  123. package/apps/agents-server/src/utils/chatTasksAdmin.ts +3 -2
  124. package/apps/agents-server/src/utils/createLocalAgentSourceImporter.ts +159 -0
  125. package/apps/agents-server/src/utils/createMissingImportedAgentFallback.ts +60 -0
  126. package/apps/agents-server/src/utils/createPagePreviewBrowserStream.ts +179 -0
  127. package/apps/agents-server/src/utils/customDomainRouting.ts +157 -12
  128. package/apps/agents-server/src/utils/externalChatRunner/processExternalUserChatJob.ts +12 -6
  129. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/GetAdminChatTasksData.ts +12 -0
  130. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +264 -0
  131. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlValues.ts +35 -0
  132. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskTimeUtilities.ts +30 -0
  133. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/compareAdminChatTasks.ts +135 -0
  134. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/createAdminChatTaskCounters.ts +29 -0
  135. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/filterAdminChatTasks.ts +78 -0
  136. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaClientSql.ts +62 -0
  137. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/getAdminChatTasksViaSupabaseQuery.ts +29 -0
  138. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +193 -0
  139. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +99 -0
  140. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +94 -0
  141. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks.ts +4 -947
  142. package/apps/agents-server/src/utils/getAdminChatTasksResponse/mapVpsSelfUpdateJobToAdminChatTask.ts +18 -5
  143. package/apps/agents-server/src/utils/getAdminChatTasksResponse.ts +103 -41
  144. package/apps/agents-server/src/utils/importAgentWithFallback.ts +1 -58
  145. package/apps/agents-server/src/utils/localAgentRouteReferences.ts +167 -0
  146. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +21 -6
  147. package/apps/agents-server/src/utils/managementApi/managementApiAgents.ts +17 -3
  148. package/apps/agents-server/src/utils/messages/sendMessage.ts +5 -3
  149. package/apps/agents-server/src/utils/pagePreviewBrowserSessions.ts +246 -0
  150. package/apps/agents-server/src/utils/resolveAgentStateFromSource.ts +7 -1
  151. package/apps/agents-server/src/utils/resolveInheritedAgentSource.ts +54 -5
  152. package/apps/agents-server/src/utils/resolveServerAgentContext.ts +12 -1
  153. package/apps/agents-server/src/utils/resolveStoredAgentState.ts +2 -1
  154. package/apps/agents-server/src/utils/resourceMonitor/formatResourceMonitorValue.ts +50 -0
  155. package/apps/agents-server/src/utils/resourceMonitor/readCpuResourceUsage.ts +75 -0
  156. package/apps/agents-server/src/utils/resourceMonitor/readDiskResourceUsage.ts +42 -0
  157. package/apps/agents-server/src/utils/resourceMonitor/readMemoryResourceUsage.ts +28 -0
  158. package/apps/agents-server/src/utils/resourceMonitor/readNetworkResourceUsage.ts +271 -0
  159. package/apps/agents-server/src/utils/resourceMonitor/readServerResourceMonitorSnapshot.ts +47 -0
  160. package/apps/agents-server/src/utils/resourceMonitor/resolveServerResourceWarningStatus.ts +72 -0
  161. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorConstants.ts +29 -0
  162. package/apps/agents-server/src/utils/resourceMonitor/resourceMonitorTypes.ts +155 -0
  163. package/apps/agents-server/src/utils/resourceMonitor/waitForResourceMonitorSample.ts +11 -0
  164. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethSamlClient.ts +35 -0
  165. package/apps/agents-server/src/utils/shibbolethAuthentication/createShibbolethServiceProviderMetadataXml.ts +25 -0
  166. package/apps/agents-server/src/utils/shibbolethAuthentication/extractShibbolethProfileAttributes.ts +173 -0
  167. package/apps/agents-server/src/utils/shibbolethAuthentication/fetchIdentityProviderMetadataXml.ts +21 -0
  168. package/apps/agents-server/src/utils/shibbolethAuthentication/findOrCreateShibbolethUser.ts +323 -0
  169. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethAuthenticationAttemptTableName.ts +13 -0
  170. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethRequestDetails.ts +19 -0
  171. package/apps/agents-server/src/utils/shibbolethAuthentication/getShibbolethUserIdentityTableName.ts +13 -0
  172. package/apps/agents-server/src/utils/shibbolethAuthentication/parseIdentityProviderMetadataXml.ts +110 -0
  173. package/apps/agents-server/src/utils/shibbolethAuthentication/recordShibbolethAuthenticationAttempt.ts +57 -0
  174. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethAuthenticationConfiguration.ts +78 -0
  175. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethPublicRequestUrl.ts +101 -0
  176. package/apps/agents-server/src/utils/shibbolethAuthentication/resolveShibbolethServiceProviderUrls.ts +63 -0
  177. package/apps/agents-server/src/utils/shibbolethAuthentication/sanitizeShibbolethRelayState.ts +17 -0
  178. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationConstants.ts +62 -0
  179. package/apps/agents-server/src/utils/shibbolethAuthentication/shibbolethAuthenticationTypes.ts +105 -0
  180. package/apps/agents-server/src/utils/shibbolethAuthentication.ts +25 -957
  181. package/apps/agents-server/src/utils/speech-to-text/SpeechToTextFailoverRecognition/SpeechToTextFailoverRecognitionProviderRuntime.ts +0 -1
  182. package/apps/agents-server/src/utils/speech-to-text/SpeechToTextFailoverRecognition.ts +34 -2
  183. package/apps/agents-server/src/utils/taskTerminal/resolveAdminTaskTerminalSession.ts +512 -0
  184. package/apps/agents-server/src/utils/taskTerminal/runWithTaskTerminalCapture.ts +134 -0
  185. package/apps/agents-server/src/utils/taskTerminal/taskTerminalLog.ts +360 -0
  186. package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +16 -0
  187. package/apps/agents-server/src/utils/userChat/userChatMessageLifecycle.ts +39 -9
  188. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateUserChatTimeoutTerminalState.ts +3 -0
  189. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +4 -1
  190. package/apps/agents-server/src/utils/vpsConfiguration.ts +4 -0
  191. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +81 -0
  192. package/apps/agents-server/src/utils/vpsSelfUpdate/listVpsSelfUpdateCandidateCommits.ts +217 -0
  193. package/apps/agents-server/src/utils/vpsSelfUpdate/readPersistedVpsSelfUpdateJob.ts +310 -0
  194. package/apps/agents-server/src/utils/vpsSelfUpdate/readVpsSelfUpdateOverview.ts +178 -0
  195. package/apps/agents-server/src/utils/vpsSelfUpdate/resolveVpsSelfUpdateJobForOverview.ts +42 -0
  196. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +201 -0
  197. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateAutomaticConfiguration.ts +152 -0
  198. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateConfiguration.ts +81 -0
  199. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +357 -0
  200. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateEnvironment.ts +120 -0
  201. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateInstalledVersions.ts +162 -0
  202. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobConstants.ts +15 -0
  203. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobHistory.ts +387 -0
  204. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateJobIdentity.ts +26 -0
  205. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateOriginRepository.ts +90 -0
  206. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateRepository.ts +286 -0
  207. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateScheduler.ts +191 -0
  208. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateStateFiles.ts +197 -0
  209. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateTypes.ts +452 -0
  210. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +66 -1547
  211. package/apps/agents-server/tests/e2e/support/ChatHistoryNavigationSupport.ts +5 -0
  212. package/esm/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  213. package/esm/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  214. package/esm/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  215. package/esm/index.es.js +28592 -27063
  216. package/esm/index.es.js.map +1 -1
  217. package/esm/scripts/find-refactor-candidates/find-refactor-candidates.d.ts +7 -0
  218. package/esm/scripts/find-refactor-candidates/selectMostImportantRefactorCandidates.d.ts +12 -0
  219. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  220. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  221. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  222. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  223. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  224. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  225. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  226. package/esm/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  227. package/esm/scripts/run-codex-prompts/common/buildCoderRunProgressSnapshot.d.ts +1 -1
  228. package/esm/scripts/run-codex-prompts/common/cliProgressDisplay.d.ts +2 -1
  229. package/esm/scripts/run-codex-prompts/common/resolveCoderAgent.d.ts +20 -0
  230. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  231. package/esm/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  232. package/esm/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  233. package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +8 -1
  234. package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +54 -0
  235. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +10 -0
  236. package/esm/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  237. package/esm/src/_packages/types.index.d.ts +2 -2
  238. package/esm/src/avatars/renderAvatarVisualAsciiArt.d.ts +98 -0
  239. package/esm/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  240. package/esm/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  241. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  242. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  243. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  244. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  245. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  246. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  247. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  248. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  249. package/esm/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  250. package/esm/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  251. package/esm/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  252. package/esm/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  253. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  254. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  255. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  256. package/esm/src/book-components/Chat/Chat/CitationIframePreview.d.ts +1 -1
  257. package/esm/src/book-components/Chat/Chat/CitationIframePreview.test.d.ts +2 -0
  258. package/esm/src/book-components/Chat/Chat/insertDictationChunk.d.ts +1 -1
  259. package/esm/src/book-components/Chat/Chat/insertDictationChunk.test.d.ts +1 -0
  260. package/esm/src/book-components/Chat/Chat/learnDictationDictionary.test.d.ts +1 -0
  261. package/esm/src/book-components/Chat/Chat/refineFinalDictationChunk.test.d.ts +1 -0
  262. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  263. package/esm/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  264. package/esm/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  265. package/esm/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  266. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  267. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  268. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  269. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  270. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  271. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  272. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  273. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  274. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  275. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  276. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  277. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  278. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  279. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  280. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  281. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  282. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  283. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  284. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  285. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  286. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  287. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  288. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  289. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  290. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  291. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  292. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  293. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  294. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  295. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  296. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  297. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  298. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  299. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  300. package/esm/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  301. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  302. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  303. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  304. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  305. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  306. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  307. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  308. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  309. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  310. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  311. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  312. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  313. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  314. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  315. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  316. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  317. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  318. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  319. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  320. package/esm/src/cli/cli-commands/common/createPositiveIntegerOptionParser.d.ts +10 -0
  321. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  322. package/esm/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  323. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  324. package/esm/src/commitments/META/META.d.ts +2 -2
  325. package/esm/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  326. package/esm/src/commitments/index.d.ts +1 -1
  327. package/esm/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  328. package/esm/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  329. package/esm/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  330. package/esm/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  331. package/esm/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  332. package/esm/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  333. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  334. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  335. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  336. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  337. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  338. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  339. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  340. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  341. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  342. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  343. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  344. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  345. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  346. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  347. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  348. package/esm/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  349. package/esm/src/utils/agent-message-runtime/agentMessageRuntimePaths.d.ts +24 -0
  350. package/esm/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  351. package/esm/src/utils/ascii-art/$detectTerminalAnsiColorDepth.d.ts +15 -0
  352. package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +80 -0
  353. package/esm/src/utils/color/Color.d.ts +1 -1
  354. package/esm/src/version.d.ts +1 -1
  355. package/package.json +1 -1
  356. package/src/_packages/types.index.ts +2 -2
  357. package/src/avatars/Avatar.tsx +2 -13
  358. package/src/avatars/avatarAnimationScheduler.ts +2 -1
  359. package/src/avatars/renderAvatarVisual.ts +2 -13
  360. package/src/avatars/renderAvatarVisualAsciiArt.ts +257 -0
  361. package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +1 -6
  362. package/src/avatars/visuals/avatarVisualRegistry.ts +1 -1
  363. package/src/avatars/visuals/minecraft2AvatarVisual.ts +1 -2
  364. package/src/avatars/visuals/octopus2AvatarVisual.ts +1 -5
  365. package/src/avatars/visuals/octopus3AvatarVisual.ts +1 -8
  366. package/src/avatars/visuals/octopus3d2AvatarVisual.ts +4 -13
  367. package/src/avatars/visuals/octopus3d3AvatarVisual.ts +10 -15
  368. package/src/avatars/visuals/octopus3d4AvatarVisual.ts +18 -31
  369. package/src/avatars/visuals/octopus3dAvatarVisual.ts +3 -3
  370. package/src/avatars/visuals/octopus3dAvatarVisualShared.ts +2 -7
  371. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +2 -1
  372. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +3 -5
  373. package/src/book-3.0/CliAgent.ts +1 -7
  374. package/src/book-3.0/LiteAgent.ts +5 -5
  375. package/src/book-components/AvatarProfile/AvatarProfile/AvatarProfile.tsx +1 -4
  376. package/src/book-components/BookEditor/BookEditor.tsx +2 -2
  377. package/src/book-components/BookEditor/BookEditorAboutPromptbookInformation.tsx +3 -2
  378. package/src/book-components/BookEditor/BookEditorActionbar.tsx +1 -1
  379. package/src/book-components/BookEditor/BookEditorMonaco.tsx +2 -2
  380. package/src/book-components/BookEditor/BookEditorMonacoUploadPanel.tsx +1 -1
  381. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  382. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +1 -1
  383. package/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.ts +147 -0
  384. package/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.ts +10 -0
  385. package/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.ts +209 -0
  386. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.ts +164 -0
  387. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.ts +121 -0
  388. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.ts +81 -0
  389. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.ts +360 -0
  390. package/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.ts +47 -0
  391. package/src/book-components/BookEditor/useBookEditorMonacoUploads.ts +10 -1067
  392. package/src/book-components/Chat/Chat/Chat.module.css +199 -12
  393. package/src/book-components/Chat/Chat/Chat.tsx +16 -1
  394. package/src/book-components/Chat/Chat/ChatCitationModal.tsx +2 -2
  395. package/src/book-components/Chat/Chat/ChatImageAttachmentModal.tsx +108 -0
  396. package/src/book-components/Chat/Chat/ChatInputArea.tsx +43 -27
  397. package/src/book-components/Chat/Chat/ChatMessageAttachments.tsx +212 -0
  398. package/src/book-components/Chat/Chat/ChatMessageItem.tsx +32 -18
  399. package/src/book-components/Chat/Chat/ChatMessageList.tsx +3 -0
  400. package/src/book-components/Chat/Chat/ChatProps.tsx +9 -0
  401. package/src/book-components/Chat/Chat/CitationIframePreview.tsx +108 -156
  402. package/src/book-components/Chat/Chat/createProgressCardChecklistMarkdown.ts +1 -8
  403. package/src/book-components/Chat/Chat/insertDictationChunk.ts +3 -3
  404. package/src/book-components/Chat/Chat/learnDictationDictionary.ts +1 -1
  405. package/src/book-components/Chat/Chat/renderTimeoutToolCallDetails.tsx +1 -5
  406. package/src/book-components/Chat/Chat/useChatInputAreaComposer.ts +59 -7
  407. package/src/book-components/Chat/Chat/useChatInputAreaDictation.ts +140 -33
  408. package/src/book-components/Chat/Chat/useChatToolCallModalState.ts +1 -4
  409. package/src/book-components/Chat/hooks/useChatRatings.ts +1 -1
  410. package/src/book-components/Chat/save/html/htmlSaveFormatDefinition.ts +2 -3
  411. package/src/book-components/Chat/save/markdown/mdSaveFormatDefinition.ts +2 -2
  412. package/src/book-components/Chat/save/pdf/buildChatPdf.ts +1 -1
  413. package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +1 -5
  414. package/src/book-components/Chat/utils/isVisibleChatToolCall.ts +2 -1
  415. package/src/book-components/Chat/utils/parseMessageButtons.ts +27 -2
  416. package/src/cli/cli-commands/about.ts +1 -1
  417. package/src/cli/cli-commands/agent/agentCliOptions.ts +2 -5
  418. package/src/cli/cli-commands/agent-folder/agentProjectPaths.ts +6 -12
  419. package/src/cli/cli-commands/agent-folder/init.ts +3 -8
  420. package/src/cli/cli-commands/agent-folder/initializeAgentProjectConfiguration.ts +2 -11
  421. package/src/cli/cli-commands/agent-folder/printAgentInitializationSummary.ts +2 -9
  422. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.ts +6 -0
  423. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.ts +6 -0
  424. package/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.ts +6 -0
  425. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.ts +11 -0
  426. package/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.ts +9 -0
  427. package/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.ts +6 -0
  428. package/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.ts +19 -0
  429. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.ts +71 -0
  430. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +69 -0
  431. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +59 -0
  432. package/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.ts +23 -0
  433. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.ts +20 -0
  434. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.ts +17 -0
  435. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.ts +27 -0
  436. package/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.ts +21 -0
  437. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.ts +22 -0
  438. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.ts +30 -0
  439. package/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.ts +41 -0
  440. package/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.ts +14 -0
  441. package/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.ts +10 -0
  442. package/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.ts +10 -0
  443. package/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.ts +31 -0
  444. package/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.ts +35 -0
  445. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.ts +33 -0
  446. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.ts +30 -0
  447. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.ts +19 -0
  448. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.ts +21 -0
  449. package/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.ts +19 -0
  450. package/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.ts +184 -0
  451. package/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.ts +48 -0
  452. package/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.ts +179 -0
  453. package/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.ts +28 -0
  454. package/src/cli/cli-commands/agents-server/buildAgentsServer.ts +22 -1043
  455. package/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.ts +2 -1
  456. package/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.ts +2 -1
  457. package/src/cli/cli-commands/agents-server/run.ts +2 -5
  458. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.ts +67 -0
  459. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.ts +43 -0
  460. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.ts +44 -0
  461. package/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.ts +59 -0
  462. package/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.ts +9 -0
  463. package/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.ts +14 -0
  464. package/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.ts +26 -0
  465. package/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.ts +15 -0
  466. package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +29 -0
  467. package/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.ts +32 -0
  468. package/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.ts +18 -0
  469. package/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.ts +81 -0
  470. package/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.ts +52 -0
  471. package/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.ts +17 -0
  472. package/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.ts +97 -0
  473. package/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.ts +132 -0
  474. package/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.ts +14 -0
  475. package/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.ts +132 -0
  476. package/src/cli/cli-commands/agents-server/startAgentsServer.ts +24 -797
  477. package/src/cli/cli-commands/agents-server.ts +2 -6
  478. package/src/cli/cli-commands/coder/agentCodingFile.ts +1 -7
  479. package/src/cli/cli-commands/coder/boilerplateTemplates.ts +14 -21
  480. package/src/cli/cli-commands/coder/find-refactor-candidates.ts +9 -2
  481. package/src/cli/cli-commands/coder/generate-boilerplates.ts +2 -6
  482. package/src/cli/cli-commands/coder/initializeCoderProjectConfiguration.ts +2 -10
  483. package/src/cli/cli-commands/coder/run.ts +3 -27
  484. package/src/cli/cli-commands/coder/server.ts +4 -2
  485. package/src/cli/cli-commands/common/createPositiveIntegerOptionParser.ts +31 -0
  486. package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +3 -8
  487. package/src/cli/cli-commands/make.ts +1 -1
  488. package/src/cli/cli-commands/run/runCommandAction.ts +1 -1
  489. package/src/cli/promptbookCli.ts +28 -3
  490. package/src/collection/agent-collection/CreateAgentInput.ts +2 -5
  491. package/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.ts +1 -1
  492. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +1 -10
  493. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +1 -10
  494. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +1 -6
  495. package/src/commitments/META/META.ts +4 -4
  496. package/src/commitments/META_AVATAR/META_AVATAR.ts +16 -10
  497. package/src/commitments/TEAM/TEAM.ts +5 -5
  498. package/src/commitments/USE_CALENDAR/createUseCalendarToolFunctions.ts +1 -4
  499. package/src/commitments/USE_PROJECT/createUseProjectToolFunctions.ts +2 -10
  500. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +1 -11
  501. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +1 -6
  502. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +1 -6
  503. package/src/commitments/WALLET/createWalletToolFunctions.ts +2 -11
  504. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +1 -6
  505. package/src/commitments/WALLET/parseWalletToolArgs.ts +1 -10
  506. package/src/commitments/index.ts +1 -0
  507. package/src/conversion/parsePipeline/applyPipelineHead.ts +1 -1
  508. package/src/conversion/parsePipeline/createUniqueSectionNameResolver.ts +1 -1
  509. package/src/conversion/parsePipeline/processPipelineSection.ts +1 -1
  510. package/src/conversion/validation/validatePipeline/createPipelineValidationContext.ts +43 -0
  511. package/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.ts +72 -0
  512. package/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.ts +220 -0
  513. package/src/conversion/validation/validatePipeline/validatePipelineMetadata.ts +66 -0
  514. package/src/conversion/validation/validatePipeline/validatePipelineParameters.ts +136 -0
  515. package/src/conversion/validation/validatePipeline/validatePipelineTasks.ts +243 -0
  516. package/src/conversion/validation/validatePipeline.ts +7 -750
  517. package/src/execution/LlmExecutionTools.ts +1 -6
  518. package/src/execution/createPipelineExecutor/getReservedParametersForTask.ts +1 -5
  519. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.ts +51 -0
  520. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.ts +30 -0
  521. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.ts +62 -0
  522. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.ts +10 -0
  523. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.ts +75 -0
  524. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.ts +101 -0
  525. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.ts +24 -0
  526. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.ts +17 -0
  527. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.ts +15 -0
  528. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.ts +19 -0
  529. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.ts +44 -0
  530. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.ts +21 -0
  531. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.ts +97 -0
  532. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.ts +17 -0
  533. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.ts +30 -0
  534. package/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.ts +32 -0
  535. package/src/llm-providers/_common/register/$registeredLlmToolsMessage.ts +5 -568
  536. package/src/llm-providers/_common/utils/count-total-usage/limitTotalUsage.ts +1 -6
  537. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +2 -2
  538. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  539. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +2 -2
  540. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  541. package/src/llm-providers/openai/OpenAiCompatibleExecutionTools.ts +2 -7
  542. package/src/llm-providers/openai/utils/OpenAiCompatibleChatPromptBuilder.ts +1 -1
  543. package/src/llm-providers/openai/utils/OpenAiCompatibleChatToolCaller.ts +2 -2
  544. package/src/llm-providers/openai/utils/OpenAiCompatibleUnsupportedParameterRetrier.ts +1 -5
  545. package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +1 -6
  546. package/src/other/templates/getTemplatesPipelineCollection.ts +871 -769
  547. package/src/remote-server/startRemoteServer/registerExecutionRoutes.ts +1 -1
  548. package/src/remote-server/startRemoteServer/registerServerIndexRoute.ts +1 -1
  549. package/src/scrapers/_common/utils/makeKnowledgeSourceHandler.ts +1 -6
  550. package/src/speech-recognition/OpenAiSpeechRecognition.ts +1 -6
  551. package/src/transpilers/_common/prepareSdkTranspilerContext.ts +1 -4
  552. package/src/types/Prompt.ts +1 -7
  553. package/src/types/string_host.ts +1 -9
  554. package/src/types/string_pipeline_url.ts +1 -4
  555. package/src/utils/agent-message-runtime/agentMessageRuntimePaths.ts +66 -0
  556. package/src/utils/agents/resolveAgentAvatarImageUrl.ts +2 -2
  557. package/src/utils/ascii-art/$detectTerminalAnsiColorDepth.ts +45 -0
  558. package/src/utils/ascii-art/convertImageDataToAsciiArt.ts +396 -0
  559. package/src/utils/color/Color.ts +2 -2
  560. package/src/utils/markdown/parseMarkdownSection.ts +1 -5
  561. package/src/utils/random/$randomFullnameWithColor.ts +1 -6
  562. package/src/version.ts +2 -2
  563. package/src/versions.txt +6 -0
  564. package/umd/apps/agents-server/src/database/migratePrefix.d.ts +19 -0
  565. package/umd/apps/agents-server/src/database/runDatabaseMigrations.d.ts +4 -0
  566. package/umd/book/scripts/import-markdown/increaseHeadings.d.ts +8 -0
  567. package/umd/index.umd.js +28594 -27065
  568. package/umd/index.umd.js.map +1 -1
  569. package/umd/scripts/find-refactor-candidates/find-refactor-candidates.d.ts +7 -0
  570. package/umd/scripts/find-refactor-candidates/selectMostImportantRefactorCandidates.d.ts +12 -0
  571. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentAutoPuller.d.ts +27 -0
  572. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentGithubSynchronizer.d.ts +26 -0
  573. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/MultipleAgentRunUiPresenter.d.ts +66 -0
  574. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/RunMultipleAgentMessageTaskScheduler.d.ts +67 -0
  575. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/formatProjectPath.d.ts +6 -0
  576. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/loadLocalAgentRunnerProjectSummaries.d.ts +11 -0
  577. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages/wait.d.ts +6 -0
  578. package/umd/scripts/run-agent-messages/main/runMultipleAgentMessages.d.ts +1 -1
  579. package/umd/scripts/run-codex-prompts/common/buildCoderRunProgressSnapshot.d.ts +1 -1
  580. package/umd/scripts/run-codex-prompts/common/cliProgressDisplay.d.ts +2 -1
  581. package/umd/scripts/run-codex-prompts/common/resolveCoderAgent.d.ts +20 -0
  582. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeRunner.d.ts +4 -0
  583. package/umd/scripts/run-codex-prompts/runners/claude-code/ClaudeCodeSessionResurrection.d.ts +37 -0
  584. package/umd/scripts/run-codex-prompts/runners/claude-code/parseClaudeCodeOutputEvents.d.ts +47 -0
  585. package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +8 -1
  586. package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +54 -0
  587. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +10 -0
  588. package/umd/scripts/run-codex-prompts/ui/coderRunUiRefresh.d.ts +2 -2
  589. package/umd/src/_packages/types.index.d.ts +2 -2
  590. package/umd/src/avatars/renderAvatarVisualAsciiArt.d.ts +98 -0
  591. package/umd/src/avatars/visuals/octopus3dAvatarVisualShared.d.ts +1 -1
  592. package/umd/src/book-components/BookEditor/BookEditorMonacoUploadPanel.d.ts +1 -1
  593. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/bookEditorMonacoUploadTypes.d.ts +120 -0
  594. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/clearScheduledTimer.d.ts +6 -0
  595. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/enqueueFilesForUpload.d.ts +26 -0
  596. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync.d.ts +23 -0
  597. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState.d.ts +21 -0
  598. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue.d.ts +12 -0
  599. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue.d.ts +27 -0
  600. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads/useCompletedUploadsAutoClear.d.ts +12 -0
  601. package/umd/src/book-components/BookEditor/useBookEditorMonacoUploads.d.ts +5 -58
  602. package/umd/src/book-components/Chat/Chat/ChatImageAttachmentModal.d.ts +25 -0
  603. package/umd/src/book-components/Chat/Chat/ChatInputArea.d.ts +3 -0
  604. package/umd/src/book-components/Chat/Chat/ChatMessageAttachments.d.ts +27 -0
  605. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +1 -1
  606. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +1 -0
  607. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +8 -0
  608. package/umd/src/book-components/Chat/Chat/CitationIframePreview.d.ts +1 -1
  609. package/umd/src/book-components/Chat/Chat/CitationIframePreview.test.d.ts +2 -0
  610. package/umd/src/book-components/Chat/Chat/insertDictationChunk.d.ts +1 -1
  611. package/umd/src/book-components/Chat/Chat/insertDictationChunk.test.d.ts +1 -0
  612. package/umd/src/book-components/Chat/Chat/learnDictationDictionary.test.d.ts +1 -0
  613. package/umd/src/book-components/Chat/Chat/refineFinalDictationChunk.test.d.ts +1 -0
  614. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.d.ts +12 -0
  615. package/umd/src/book-components/Chat/Chat/useChatInputAreaComposer.draftMessage.test.d.ts +2 -0
  616. package/umd/src/book-components/Chat/utils/isVisibleChatToolCall.d.ts +1 -1
  617. package/umd/src/book-components/Chat/utils/parseMessageButtons.d.ts +16 -2
  618. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_FILENAME.d.ts +6 -0
  619. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_BUILD_CACHE_VERSION.d.ts +6 -0
  620. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AGENTS_SERVER_NEXT_BUILD_ID_FILENAME.d.ts +6 -0
  621. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCache.d.ts +10 -0
  622. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/AgentsServerBuildCacheOptions.d.ts +10 -0
  623. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/NODE_MODULES_DIRECTORY_NAME.d.ts +6 -0
  624. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/PreparedAgentsServerRuntime.d.ts +18 -0
  625. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerBuildSourceFingerprint.d.ts +6 -0
  626. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +28 -0
  627. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.d.ts +19 -0
  628. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/getAgentsServerBuildInputRelativePaths.d.ts +11 -0
  629. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPath.d.ts +6 -0
  630. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerAppPathMaterialized.d.ts +6 -0
  631. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildCacheCurrent.d.ts +7 -0
  632. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isAgentsServerBuildInputTestFile.d.ts +6 -0
  633. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputDirectoryName.d.ts +6 -0
  634. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerBuildInputPath.d.ts +6 -0
  635. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isExcludedAgentsServerRuntimeSourcePath.d.ts +6 -0
  636. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isFile.d.ts +6 -0
  637. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/isPathInsideNodeModules.d.ts +6 -0
  638. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/normalizeAgentsServerBuildInputPath.d.ts +6 -0
  639. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/prepareAgentsServerRuntime.d.ts +9 -0
  640. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/readAgentsServerBuildCache.d.ts +8 -0
  641. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerAppPath.d.ts +6 -0
  642. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildAppPath.d.ts +9 -0
  643. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveAgentsServerBuildOutputPath.d.ts +7 -0
  644. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNextCliPath.d.ts +6 -0
  645. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/resolveNodeModulesPath.d.ts +6 -0
  646. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/runNextBuild.d.ts +12 -0
  647. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/shouldCopyAgentsServerRuntimePath.d.ts +6 -0
  648. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/synchronizeMaterializedAgentsServerRuntime.d.ts +11 -0
  649. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/writeAgentsServerBuildCache.d.ts +7 -0
  650. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer.d.ts +8 -109
  651. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerEnvFile.d.ts +1 -1
  652. package/umd/src/cli/cli-commands/agents-server/ensureAgentsServerGitignoreFile.d.ts +1 -1
  653. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +16 -0
  654. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerLogStreams.d.ts +30 -0
  655. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerRuntimePaths.d.ts +19 -0
  656. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerSupervisorState.d.ts +37 -0
  657. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/LocalAgentRunnerLimits.d.ts +9 -0
  658. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +13 -0
  659. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/StartAgentsServerOptions.d.ts +24 -0
  660. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createInternalRouteErrorMessage.d.ts +6 -0
  661. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.d.ts +9 -0
  662. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +13 -0
  663. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/loadAgentsServerProjectEnvironment.d.ts +6 -0
  664. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/prepareAgentsServerLaunch.d.ts +18 -0
  665. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/readInternalRouteErrorDetails.d.ts +6 -0
  666. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/resolveAgentsServerChildHostname.d.ts +7 -0
  667. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +20 -0
  668. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +15 -0
  669. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/stopChildProcess.d.ts +8 -0
  670. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/waitForLocalAgentRunnerLimits.d.ts +16 -0
  671. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +3 -30
  672. package/umd/src/cli/cli-commands/common/createPositiveIntegerOptionParser.d.ts +10 -0
  673. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +1 -1
  674. package/umd/src/collection/agent-collection/CreateAgentInput.d.ts +1 -1
  675. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/prepareAgentSourceForPersistence.d.ts +1 -1
  676. package/umd/src/commitments/META/META.d.ts +2 -2
  677. package/umd/src/commitments/META_AVATAR/META_AVATAR.d.ts +9 -4
  678. package/umd/src/commitments/index.d.ts +1 -1
  679. package/umd/src/conversion/validation/validatePipeline/createPipelineValidationContext.d.ts +16 -0
  680. package/umd/src/conversion/validation/validatePipeline/validatePipelineCollectionsStructure.d.ts +7 -0
  681. package/umd/src/conversion/validation/validatePipeline/validatePipelineDependencyResolution.d.ts +7 -0
  682. package/umd/src/conversion/validation/validatePipeline/validatePipelineMetadata.d.ts +7 -0
  683. package/umd/src/conversion/validation/validatePipeline/validatePipelineParameters.d.ts +7 -0
  684. package/umd/src/conversion/validation/validatePipeline/validatePipelineTasks.d.ts +7 -0
  685. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/RegisteredLlmToolsMessageContext.d.ts +46 -0
  686. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/USED_ENV_FILENAME.d.ts +11 -0
  687. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolConfigurationStatusMessage.d.ts +7 -0
  688. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolEntryKey.d.ts +7 -0
  689. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolInstallationStatusMessage.d.ts +7 -0
  690. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolStatus.d.ts +14 -0
  691. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/createRegisteredLlmToolsMessageContext.d.ts +7 -0
  692. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getAvailableRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  693. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/getRegisteredLlmToolRegisters.d.ts +7 -0
  694. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/hasRegisteredLlmToolEntry.d.ts +7 -0
  695. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolEntries.d.ts +9 -0
  696. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/listRegisteredLlmToolStatuses.d.ts +7 -0
  697. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderAvailableRegisteredLlmTools.d.ts +7 -0
  698. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderNoRegisteredLlmToolsMessage.d.ts +7 -0
  699. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRegisteredLlmToolsMessage.d.ts +8 -0
  700. package/umd/src/llm-providers/_common/register/$registeredLlmToolsMessage/renderRelevantRegisteredLlmToolsEnvironmentVariables.d.ts +7 -0
  701. package/umd/src/utils/agent-message-runtime/agentMessageRuntimePaths.d.ts +24 -0
  702. package/umd/src/utils/agents/resolveAgentAvatarImageUrl.d.ts +2 -2
  703. package/umd/src/utils/ascii-art/$detectTerminalAnsiColorDepth.d.ts +15 -0
  704. package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +80 -0
  705. package/umd/src/utils/color/Color.d.ts +1 -1
  706. package/umd/src/version.d.ts +1 -1
  707. package/apps/agents-server/src/app/api/page-preview/interact/route.ts +0 -179
  708. package/apps/agents-server/src/app/api/page-preview/live/route.ts +0 -67
  709. package/apps/agents-server/src/utils/pagePreview/livePagePreviewSessions.ts +0 -365
  710. package/apps/agents-server/src/utils/pagePreview/resolvePagePreviewRequestUrl.ts +0 -74
  711. package/apps/agents-server/src/utils/userChat/createUserChatRunnerProgressCard.ts +0 -57
  712. package/esm/scripts/run-codex-prompts/common/resolveAgentSystemMessage.d.ts +0 -6
  713. package/esm/src/book-components/Chat/utils/livePagePreviewConstants.d.ts +0 -12
  714. package/src/book-components/Chat/utils/livePagePreviewConstants.ts +0 -17
  715. package/umd/scripts/run-codex-prompts/common/resolveAgentSystemMessage.d.ts +0 -6
  716. package/umd/src/book-components/Chat/utils/livePagePreviewConstants.d.ts +0 -12
@@ -1,128 +1,20 @@
1
1
  import type { editor } from 'monaco-editor';
2
- import { type MutableRefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
- import type { Promisable } from 'type-fest';
4
- import { BookEditable } from '../../book-2.0/agent-source/BookEditable';
5
- import type { string_book } from '../../book-2.0/agent-source/string_book';
6
- import { DEFAULT_MAX_CONCURRENT_UPLOADS } from './BookEditorBrowserConfig';
7
- import { BookEditorMonacoConstants } from './BookEditorMonacoConstants';
8
- import { BookEditorMonacoFormatting } from './BookEditorMonacoFormatting';
2
+ import { useCallback, useEffect, useMemo, useRef } from 'react';
3
+ import type { BookEditorMonacoOnFileUpload } from './useBookEditorMonacoUploads/bookEditorMonacoUploadTypes';
4
+ import { enqueueFilesForUpload } from './useBookEditorMonacoUploads/enqueueFilesForUpload';
5
+ import { useBookEditorMonacoUploadEditorSync } from './useBookEditorMonacoUploads/useBookEditorMonacoUploadEditorSync';
6
+ import { useBookEditorMonacoUploadItemsState } from './useBookEditorMonacoUploads/useBookEditorMonacoUploadItemsState';
7
+ import { useBookEditorMonacoUploadProgressQueue } from './useBookEditorMonacoUploads/useBookEditorMonacoUploadProgressQueue';
8
+ import { useBookEditorMonacoUploadQueue } from './useBookEditorMonacoUploads/useBookEditorMonacoUploadQueue';
9
+ import { useCompletedUploadsAutoClear } from './useBookEditorMonacoUploads/useCompletedUploadsAutoClear';
10
+
11
+ export type { UploadItem, UploadStats } from './useBookEditorMonacoUploads/bookEditorMonacoUploadTypes';
9
12
 
10
13
  /**
11
14
  * Type describing monaco editor.
12
15
  */
13
16
  type MonacoEditor = typeof import('monaco-editor');
14
17
 
15
- /**
16
- * Type describing upload status.
17
- */
18
- type UploadStatus = 'queued' | 'uploading' | 'paused' | 'completed' | 'failed';
19
-
20
- /**
21
- * Type describing upload item.
22
- */
23
- export type UploadItem = {
24
- readonly id: string;
25
- readonly fileName: string;
26
- readonly fileSize: number;
27
- readonly status: UploadStatus;
28
- readonly progress: number;
29
- readonly loadedBytes: number;
30
- readonly totalBytes: number;
31
- readonly startedAt: number | null;
32
- readonly completedAt: number | null;
33
- readonly errorMessage?: string;
34
- };
35
-
36
- /**
37
- * Type describing upload progress update.
38
- */
39
- type UploadProgressUpdate = {
40
- readonly progress: number;
41
- readonly loadedBytes: number;
42
- readonly totalBytes: number;
43
- };
44
-
45
- /**
46
- * Type describing upload replacement.
47
- */
48
- type UploadReplacement = {
49
- readonly uploadId: string;
50
- readonly decorationId: string;
51
- readonly replacementText: string;
52
- };
53
-
54
- /**
55
- * Type describing placeholder entry inserted into Monaco while the file uploads.
56
- */
57
- type UploadPlaceholderEntry = {
58
- readonly id: string;
59
- readonly file: File;
60
- readonly placeholder: string;
61
- };
62
-
63
- /**
64
- * Type describing how upload placeholders should be inserted into the Monaco model.
65
- */
66
- type UploadPlaceholderInsertPlan = {
67
- readonly insertLine: number;
68
- readonly insertColumn: number;
69
- readonly insertStartOffset: number;
70
- readonly prefixLength: number;
71
- readonly textToInsert: string;
72
- };
73
-
74
- /**
75
- * Type describing upload stats.
76
- */
77
- export type UploadStats = {
78
- readonly totalFiles: number;
79
- readonly queuedFiles: number;
80
- readonly uploadingFiles: number;
81
- readonly pausedFiles: number;
82
- readonly failedFiles: number;
83
- readonly completedFiles: number;
84
- readonly totalBytes: number;
85
- readonly uploadedBytes: number;
86
- readonly progress: number;
87
- readonly elapsedMs: number;
88
- readonly speedBytesPerSecond: number;
89
- };
90
-
91
- /**
92
- * Type describing book editor monaco upload progress callback.
93
- */
94
- type BookEditorMonacoUploadProgressCallback = (
95
- progress: number,
96
- stats?: {
97
- loadedBytes: number;
98
- totalBytes: number;
99
- },
100
- ) => void;
101
-
102
- /**
103
- * Options for book editor monaco upload.
104
- */
105
- type BookEditorMonacoUploadOptions = {
106
- readonly onProgress?: BookEditorMonacoUploadProgressCallback;
107
- readonly abortSignal?: AbortSignal;
108
- };
109
-
110
- /**
111
- * Type describing book editor monaco on file upload.
112
- */
113
- type BookEditorMonacoOnFileUpload = (
114
- file: File,
115
- options?: BookEditorMonacoUploadOptions | BookEditorMonacoUploadProgressCallback,
116
- ) => Promisable<string>;
117
-
118
- /**
119
- * Type describing callback-shaped upload options passed to `onFileUpload`.
120
- */
121
- type UploadRequestOptions = BookEditorMonacoUploadProgressCallback & {
122
- onProgress?: BookEditorMonacoUploadProgressCallback;
123
- abortSignal?: AbortSignal;
124
- };
125
-
126
18
  /**
127
19
  * Props for use book editor monaco uploads.
128
20
  */
@@ -132,955 +24,6 @@ type UseBookEditorMonacoUploadsProps = {
132
24
  readonly onFileUpload?: BookEditorMonacoOnFileUpload;
133
25
  };
134
26
 
135
- /**
136
- * Setter-like updater used by upload state helpers.
137
- */
138
- type SetUploadItems = (updater: (items: UploadItem[]) => UploadItem[]) => void;
139
-
140
- /**
141
- * Single-upload updater used by upload state helpers.
142
- */
143
- type UpdateUploadItem = (uploadId: string, createNextUploadItem: (uploadItem: UploadItem) => UploadItem) => void;
144
-
145
- /**
146
- * Mutable upload items reference shared across upload helpers.
147
- */
148
- type UploadItemsRef = MutableRefObject<UploadItem[]>;
149
-
150
- /**
151
- * Mutable upload file registry reference shared across upload helpers.
152
- */
153
- type UploadFilesRef = MutableRefObject<Map<string, File>>;
154
-
155
- /**
156
- * Mutable Monaco decoration registry reference shared across upload helpers.
157
- */
158
- type UploadDecorationIdsRef = MutableRefObject<Map<string, string>>;
159
-
160
- /**
161
- * Delay before clearing completed uploads from UI.
162
- *
163
- * @private function of BookEditorMonaco
164
- */
165
- const COMPLETED_UPLOADS_CLEAR_DELAY_MS = 1500;
166
-
167
- /**
168
- * Generates deterministic ids for uploads that support server preloading.
169
- *
170
- * @private function of BookEditorMonaco
171
- */
172
- const createUploadId = (() => {
173
- let sequence = 0;
174
- return () => {
175
- if (typeof crypto !== 'undefined' && 'randomUUID' in crypto) {
176
- return crypto.randomUUID();
177
- }
178
-
179
- sequence += 1;
180
- return `upload-${Date.now()}-${sequence}`;
181
- };
182
- })();
183
-
184
- /**
185
- * Recognizes abort signals that should pause but not mark uploads as failed.
186
- *
187
- * @private function of BookEditorMonaco
188
- */
189
- const isAbortError = (error: unknown) => {
190
- if (!error) {
191
- return false;
192
- }
193
-
194
- if (typeof error === 'object' && 'name' in error) {
195
- return (error as { name?: string }).name === 'AbortError';
196
- }
197
-
198
- const message = error instanceof Error ? error.message : String(error);
199
- return message.toLowerCase().includes('abort');
200
- };
201
-
202
- /**
203
- * Updates one upload item while leaving every other item untouched.
204
- *
205
- * @private function of BookEditorMonaco
206
- */
207
- function replaceUploadItemById(
208
- uploadItems: ReadonlyArray<UploadItem>,
209
- uploadId: string,
210
- updateUploadItem: (uploadItem: UploadItem) => UploadItem,
211
- ): Array<UploadItem> {
212
- return uploadItems.map((uploadItem) => (uploadItem.id === uploadId ? updateUploadItem(uploadItem) : uploadItem));
213
- }
214
-
215
- /**
216
- * Applies debounced progress updates gathered between renders.
217
- *
218
- * @private function of BookEditorMonaco
219
- */
220
- function applyProgressUpdates(
221
- uploadItems: ReadonlyArray<UploadItem>,
222
- progressUpdates: ReadonlyMap<string, UploadProgressUpdate>,
223
- ): Array<UploadItem> {
224
- return uploadItems.map((uploadItem) => {
225
- const progressUpdate = progressUpdates.get(uploadItem.id);
226
- if (!progressUpdate) {
227
- return uploadItem;
228
- }
229
-
230
- return {
231
- ...uploadItem,
232
- progress: progressUpdate.progress,
233
- loadedBytes: progressUpdate.loadedBytes,
234
- totalBytes: progressUpdate.totalBytes,
235
- };
236
- });
237
- }
238
-
239
- /**
240
- * Creates placeholder entries for files that are about to be uploaded.
241
- *
242
- * @private function of BookEditorMonaco
243
- */
244
- function createUploadPlaceholderEntries(files: ReadonlyArray<File>): Array<UploadPlaceholderEntry> {
245
- return files.map((file) => ({
246
- id: createUploadId(),
247
- file,
248
- placeholder: BookEditorMonacoFormatting.getUploadPlaceholderText(file.name),
249
- }));
250
- }
251
-
252
- /**
253
- * Resolves the Monaco insertion point for new upload placeholders.
254
- *
255
- * @private function of BookEditorMonaco
256
- */
257
- function createUploadPlaceholderInsertPlan(
258
- model: editor.ITextModel,
259
- monaco: MonacoEditor,
260
- placeholders: ReadonlyArray<UploadPlaceholderEntry>,
261
- ): UploadPlaceholderInsertPlan {
262
- const currentValue = model.getValue() as string_book;
263
- const bookEditable = new BookEditable(currentValue);
264
- const closedLineIndex = bookEditable.findLastCommitmentLineIndex('CLOSED');
265
- const isInsertingBeforeClosed = closedLineIndex !== null;
266
- const insertLine = isInsertingBeforeClosed ? closedLineIndex + 1 : model.getLineCount();
267
- const insertColumn = isInsertingBeforeClosed ? 1 : model.getLineMaxColumn(insertLine);
268
- const shouldAddLeadingLineBreak = !isInsertingBeforeClosed && Boolean(currentValue);
269
- const prefix = shouldAddLeadingLineBreak ? '\n' : '';
270
- const placeholderBlock = placeholders.map(({ placeholder }) => `${placeholder}\n`).join('');
271
- const textToInsert = `${prefix}${placeholderBlock}`;
272
- const insertStartOffset = model.getOffsetAt(new monaco.Position(insertLine, insertColumn));
273
-
274
- return {
275
- insertLine,
276
- insertColumn,
277
- insertStartOffset,
278
- prefixLength: prefix.length,
279
- textToInsert,
280
- };
281
- }
282
-
283
- /**
284
- * Creates Monaco decorations tracking the placeholder ranges for later replacement.
285
- *
286
- * @private function of BookEditorMonaco
287
- */
288
- function createUploadPlaceholderDecorations(
289
- model: editor.ITextModel,
290
- monaco: MonacoEditor,
291
- placeholders: ReadonlyArray<UploadPlaceholderEntry>,
292
- insertStartOffset: number,
293
- prefixLength: number,
294
- ): Array<editor.IModelDeltaDecoration> {
295
- let runningOffset = prefixLength;
296
-
297
- return placeholders.map((placeholder) => {
298
- const startOffset = insertStartOffset + runningOffset;
299
- const endOffset = startOffset + placeholder.placeholder.length;
300
- const startPosition = model.getPositionAt(startOffset);
301
- const endPosition = model.getPositionAt(endOffset);
302
-
303
- runningOffset += placeholder.placeholder.length + 1;
304
-
305
- return {
306
- range: new monaco.Range(
307
- startPosition.lineNumber,
308
- startPosition.column,
309
- endPosition.lineNumber,
310
- endPosition.column,
311
- ),
312
- options: {
313
- stickiness: monaco.editor.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
314
- },
315
- };
316
- });
317
- }
318
-
319
- /**
320
- * Creates queued upload items matching newly inserted placeholders.
321
- *
322
- * @private function of BookEditorMonaco
323
- */
324
- function createQueuedUploadItems(placeholders: ReadonlyArray<UploadPlaceholderEntry>): Array<UploadItem> {
325
- return placeholders.map(({ id, file }) => ({
326
- id,
327
- fileName: file.name,
328
- fileSize: file.size,
329
- status: 'queued',
330
- progress: 0,
331
- loadedBytes: 0,
332
- totalBytes: file.size,
333
- startedAt: null,
334
- completedAt: null,
335
- }));
336
- }
337
-
338
- /**
339
- * Normalizes progress payloads so uploads can work with callbacks that omit byte stats.
340
- *
341
- * @private function of BookEditorMonaco
342
- */
343
- function createUploadProgressUpdate(
344
- fileSize: number,
345
- progress: number,
346
- stats?: {
347
- loadedBytes: number;
348
- totalBytes: number;
349
- },
350
- ): UploadProgressUpdate {
351
- const loadedBytes = stats?.loadedBytes ?? Math.round(Math.min(1, progress) * (fileSize || 0));
352
- const totalBytes = stats?.totalBytes ?? (fileSize || loadedBytes);
353
-
354
- return {
355
- progress,
356
- loadedBytes,
357
- totalBytes,
358
- };
359
- }
360
-
361
- /**
362
- * Type describing the callback used to enqueue debounced progress updates.
363
- */
364
- type QueueProgressUpdate = (uploadId: string, progress: number, loadedBytes: number, totalBytes: number) => void;
365
-
366
- /**
367
- * Creates the callback-shaped upload options object expected by legacy callers.
368
- *
369
- * @private function of BookEditorMonaco
370
- */
371
- function createUploadRequestOptions(
372
- file: File,
373
- uploadId: string,
374
- abortSignal: AbortSignal,
375
- queueProgressUpdate: QueueProgressUpdate,
376
- ): UploadRequestOptions {
377
- const uploadRequestOptions = ((progress, stats) => {
378
- const progressUpdate = createUploadProgressUpdate(file.size, progress, stats);
379
- queueProgressUpdate(uploadId, progressUpdate.progress, progressUpdate.loadedBytes, progressUpdate.totalBytes);
380
- }) as UploadRequestOptions;
381
-
382
- uploadRequestOptions.onProgress = uploadRequestOptions;
383
- uploadRequestOptions.abortSignal = abortSignal;
384
-
385
- return uploadRequestOptions;
386
- }
387
-
388
- /**
389
- * Extracts the user-facing error message for a failed upload.
390
- *
391
- * @private function of BookEditorMonaco
392
- */
393
- function getUploadErrorMessage(error: unknown): string {
394
- return error instanceof Error ? error.message : 'Upload failed';
395
- }
396
-
397
- /**
398
- * Checks whether an upload item is currently eligible to start.
399
- *
400
- * @private function of BookEditorMonaco
401
- */
402
- function isUploadStartable(uploadItem: UploadItem | undefined): uploadItem is UploadItem {
403
- return Boolean(uploadItem && uploadItem.status !== 'uploading' && uploadItem.status !== 'completed');
404
- }
405
-
406
- /**
407
- * Selects queued uploads that can start immediately based on remaining capacity.
408
- *
409
- * @private function of BookEditorMonaco
410
- */
411
- function getQueuedUploadIds(uploadItems: ReadonlyArray<UploadItem>, availableSlots: number): Array<string> {
412
- if (availableSlots <= 0) {
413
- return [];
414
- }
415
-
416
- return uploadItems
417
- .filter((uploadItem) => uploadItem.status === 'queued')
418
- .slice(0, availableSlots)
419
- .map(({ id }) => id);
420
- }
421
-
422
- /**
423
- * Clears an optional scheduled timer when it exists.
424
- *
425
- * @private function of BookEditorMonaco
426
- */
427
- function clearScheduledTimer(timerId: number | null): void {
428
- if (timerId !== null) {
429
- clearTimeout(timerId);
430
- }
431
- }
432
-
433
- /**
434
- * Aggregates upload status, throughput and elapsed time for the upload panel.
435
- *
436
- * @private function of BookEditorMonaco
437
- */
438
- function createUploadStats(uploadItems: ReadonlyArray<UploadItem>): UploadStats {
439
- let queuedFiles = 0;
440
- let uploadingFiles = 0;
441
- let pausedFiles = 0;
442
- let failedFiles = 0;
443
- let completedFiles = 0;
444
- let totalBytes = 0;
445
- let uploadedBytes = 0;
446
- let startedAt = Number.POSITIVE_INFINITY;
447
-
448
- for (const uploadItem of uploadItems) {
449
- switch (uploadItem.status) {
450
- case 'queued':
451
- queuedFiles += 1;
452
- break;
453
- case 'uploading':
454
- uploadingFiles += 1;
455
- break;
456
- case 'paused':
457
- pausedFiles += 1;
458
- break;
459
- case 'failed':
460
- failedFiles += 1;
461
- break;
462
- case 'completed':
463
- completedFiles += 1;
464
- break;
465
- }
466
-
467
- totalBytes += uploadItem.totalBytes;
468
-
469
- const normalizedTotalBytes = uploadItem.totalBytes || 0;
470
- const normalizedLoadedBytes =
471
- normalizedTotalBytes > 0 ? Math.min(uploadItem.loadedBytes, normalizedTotalBytes) : uploadItem.loadedBytes;
472
- uploadedBytes += normalizedLoadedBytes;
473
-
474
- if (uploadItem.startedAt) {
475
- startedAt = Math.min(startedAt, uploadItem.startedAt);
476
- }
477
- }
478
-
479
- const totalFiles = uploadItems.length;
480
- const progress = totalBytes > 0 ? uploadedBytes / totalBytes : 0;
481
- const elapsedMs = Number.isFinite(startedAt) ? Math.max(0, Date.now() - startedAt) : 0;
482
- const speedBytesPerSecond = elapsedMs > 0 ? uploadedBytes / (elapsedMs / 1000) : 0;
483
-
484
- return {
485
- totalFiles,
486
- queuedFiles,
487
- uploadingFiles,
488
- pausedFiles,
489
- failedFiles,
490
- completedFiles,
491
- totalBytes,
492
- uploadedBytes,
493
- progress,
494
- elapsedMs,
495
- speedBytesPerSecond,
496
- };
497
- }
498
-
499
- /**
500
- * Internal upload item state shared by Monaco upload helpers.
501
- *
502
- * @private function of BookEditorMonaco
503
- */
504
- function useBookEditorMonacoUploadItemsState() {
505
- const [uploadItems, setUploadItemsState] = useState<UploadItem[]>([]);
506
- const uploadItemsRef = useRef<UploadItem[]>([]);
507
-
508
- const setUploadItems = useCallback<SetUploadItems>((updater) => {
509
- const next = updater(uploadItemsRef.current);
510
- uploadItemsRef.current = next;
511
- setUploadItemsState(next);
512
- }, []);
513
-
514
- const updateUploadItem = useCallback<UpdateUploadItem>(
515
- (uploadId, createNextUploadItem) => {
516
- setUploadItems((currentUploadItems) =>
517
- replaceUploadItemById(currentUploadItems, uploadId, createNextUploadItem),
518
- );
519
- },
520
- [setUploadItems],
521
- );
522
-
523
- const uploadStats = useMemo<UploadStats>(() => createUploadStats(uploadItems), [uploadItems]);
524
- const activeUploadItems = useMemo(
525
- () => uploadItems.filter((uploadItem) => uploadItem.status !== 'completed'),
526
- [uploadItems],
527
- );
528
-
529
- return {
530
- uploadItems,
531
- uploadItemsRef,
532
- setUploadItems,
533
- updateUploadItem,
534
- uploadStats,
535
- activeUploadItems,
536
- };
537
- }
538
-
539
- /**
540
- * Debounces upload progress updates before they hit React state.
541
- *
542
- * @private function of BookEditorMonaco
543
- */
544
- function useBookEditorMonacoUploadProgressQueue({ setUploadItems }: { readonly setUploadItems: SetUploadItems }) {
545
- const progressUpdateTimerRef = useRef<number | null>(null);
546
- const pendingProgressUpdatesRef = useRef<Map<string, UploadProgressUpdate>>(new Map());
547
-
548
- const flushProgressUpdates = useCallback(() => {
549
- progressUpdateTimerRef.current = null;
550
-
551
- const progressUpdates = pendingProgressUpdatesRef.current;
552
- pendingProgressUpdatesRef.current = new Map();
553
-
554
- setUploadItems((currentUploadItems) => applyProgressUpdates(currentUploadItems, progressUpdates));
555
- }, [setUploadItems]);
556
-
557
- const queueProgressUpdate = useCallback(
558
- (uploadId: string, progress: number, loadedBytes: number, totalBytes: number) => {
559
- pendingProgressUpdatesRef.current.set(uploadId, {
560
- progress,
561
- loadedBytes,
562
- totalBytes,
563
- });
564
-
565
- if (progressUpdateTimerRef.current !== null) {
566
- return;
567
- }
568
-
569
- progressUpdateTimerRef.current = window.setTimeout(() => {
570
- flushProgressUpdates();
571
- }, BookEditorMonacoConstants.UPLOAD_PROGRESS_DEBOUNCE_MS);
572
- },
573
- [flushProgressUpdates],
574
- );
575
-
576
- const clearProgressQueue = useCallback(() => {
577
- clearScheduledTimer(progressUpdateTimerRef.current);
578
- progressUpdateTimerRef.current = null;
579
- pendingProgressUpdatesRef.current = new Map();
580
- }, []);
581
-
582
- return {
583
- queueProgressUpdate,
584
- clearProgressQueue,
585
- };
586
- }
587
-
588
- /**
589
- * Props for Monaco placeholder and replacement synchronization.
590
- */
591
- type UseBookEditorMonacoUploadEditorSyncProps = {
592
- readonly editor: editor.IStandaloneCodeEditor | null;
593
- readonly uploadFilesRef: UploadFilesRef;
594
- readonly uploadDecorationIdsRef: UploadDecorationIdsRef;
595
- };
596
-
597
- /**
598
- * Manages Monaco placeholder insertion and later replacement with uploaded URLs.
599
- *
600
- * @private function of BookEditorMonaco
601
- */
602
- function useBookEditorMonacoUploadEditorSync({
603
- editor,
604
- uploadFilesRef,
605
- uploadDecorationIdsRef,
606
- }: UseBookEditorMonacoUploadEditorSyncProps) {
607
- const editorUpdateTimerRef = useRef<number | null>(null);
608
- const pendingReplacementsRef = useRef<UploadReplacement[]>([]);
609
-
610
- const flushEditorReplacements = useCallback(() => {
611
- if (!editor) {
612
- return;
613
- }
614
-
615
- const model = editor.getModel();
616
- if (!model) {
617
- return;
618
- }
619
-
620
- const replacements = pendingReplacementsRef.current;
621
- pendingReplacementsRef.current = [];
622
-
623
- const edits: editor.IIdentifiedSingleEditOperation[] = [];
624
- const decorationsToRemove: string[] = [];
625
-
626
- for (const replacement of replacements) {
627
- const range = model.getDecorationRange(replacement.decorationId);
628
- if (!range) {
629
- uploadDecorationIdsRef.current.delete(replacement.uploadId);
630
- continue;
631
- }
632
-
633
- edits.push({
634
- range,
635
- text: replacement.replacementText,
636
- forceMoveMarkers: true,
637
- });
638
- decorationsToRemove.push(replacement.decorationId);
639
- uploadDecorationIdsRef.current.delete(replacement.uploadId);
640
- }
641
-
642
- if (edits.length > 0) {
643
- editor.executeEdits('upload-replacements', edits);
644
- }
645
-
646
- if (decorationsToRemove.length > 0) {
647
- editor.deltaDecorations(decorationsToRemove, []);
648
- }
649
- }, [editor]);
650
-
651
- const registerUploadPlaceholderResources = useCallback(
652
- (placeholders: ReadonlyArray<UploadPlaceholderEntry>, decorationIds: ReadonlyArray<string>) => {
653
- placeholders.forEach((placeholder, index) => {
654
- uploadFilesRef.current.set(placeholder.id, placeholder.file);
655
-
656
- const decorationId = decorationIds[index];
657
- if (decorationId) {
658
- uploadDecorationIdsRef.current.set(placeholder.id, decorationId);
659
- }
660
- });
661
- },
662
- [],
663
- );
664
-
665
- const queueEditorReplacement = useCallback(
666
- (uploadId: string, replacementText: string) => {
667
- const hasQueuedReplacement = queueEditorReplacementItem(
668
- uploadId,
669
- replacementText,
670
- uploadDecorationIdsRef,
671
- pendingReplacementsRef,
672
- );
673
- if (!hasQueuedReplacement) {
674
- return;
675
- }
676
-
677
- if (editorUpdateTimerRef.current !== null) {
678
- return;
679
- }
680
-
681
- editorUpdateTimerRef.current = window.setTimeout(() => {
682
- editorUpdateTimerRef.current = null;
683
- flushEditorReplacements();
684
- }, BookEditorMonacoConstants.UPLOAD_EDIT_DEBOUNCE_MS);
685
- },
686
- [flushEditorReplacements, uploadDecorationIdsRef],
687
- );
688
-
689
- const clearEditorSync = useCallback(() => {
690
- clearScheduledTimer(editorUpdateTimerRef.current);
691
- editorUpdateTimerRef.current = null;
692
- pendingReplacementsRef.current = [];
693
- }, []);
694
-
695
- return {
696
- registerUploadPlaceholderResources,
697
- queueEditorReplacement,
698
- clearEditorSync,
699
- };
700
- }
701
-
702
- /**
703
- * Enqueues replacement text for one upload placeholder.
704
- *
705
- * @private function of BookEditorMonaco
706
- */
707
- function queueEditorReplacementItem(
708
- uploadId: string,
709
- replacementText: string,
710
- uploadDecorationIdsRef: UploadDecorationIdsRef,
711
- pendingReplacementsRef: MutableRefObject<UploadReplacement[]>,
712
- ): boolean {
713
- const decorationId = uploadDecorationIdsRef.current.get(uploadId);
714
- if (!decorationId) {
715
- return false;
716
- }
717
-
718
- const pendingIndex = pendingReplacementsRef.current.findIndex((item) => item.uploadId === uploadId);
719
- const nextReplacement: UploadReplacement = {
720
- uploadId,
721
- decorationId,
722
- replacementText,
723
- };
724
-
725
- if (pendingIndex >= 0) {
726
- pendingReplacementsRef.current[pendingIndex] = nextReplacement;
727
- } else {
728
- pendingReplacementsRef.current.push(nextReplacement);
729
- }
730
-
731
- return true;
732
- }
733
-
734
- /**
735
- * Props for Monaco placeholder insertion.
736
- */
737
- type EnqueueFilesForUploadProps = {
738
- readonly editor: editor.IStandaloneCodeEditor | null;
739
- readonly monaco: MonacoEditor | null;
740
- readonly registerUploadPlaceholderResources: (
741
- placeholders: ReadonlyArray<UploadPlaceholderEntry>,
742
- decorationIds: ReadonlyArray<string>,
743
- ) => void;
744
- readonly setUploadItems: SetUploadItems;
745
- };
746
-
747
- /**
748
- * Inserts Monaco placeholders and queues matching upload items.
749
- *
750
- * @private function of BookEditorMonaco
751
- */
752
- function enqueueFilesForUpload({
753
- editor,
754
- monaco,
755
- registerUploadPlaceholderResources,
756
- setUploadItems,
757
- }: EnqueueFilesForUploadProps): (files: ReadonlyArray<File>) => boolean {
758
- return (files) => {
759
- if (!editor || !monaco) {
760
- return false;
761
- }
762
-
763
- const model = editor.getModel();
764
- if (!model) {
765
- return false;
766
- }
767
-
768
- const placeholders = createUploadPlaceholderEntries(files);
769
- const insertPlan = createUploadPlaceholderInsertPlan(model, monaco, placeholders);
770
-
771
- editor.executeEdits('upload-placeholders', [
772
- {
773
- range: new monaco.Range(
774
- insertPlan.insertLine,
775
- insertPlan.insertColumn,
776
- insertPlan.insertLine,
777
- insertPlan.insertColumn,
778
- ),
779
- text: insertPlan.textToInsert,
780
- forceMoveMarkers: true,
781
- },
782
- ]);
783
-
784
- const placeholderDecorations = createUploadPlaceholderDecorations(
785
- model,
786
- monaco,
787
- placeholders,
788
- insertPlan.insertStartOffset,
789
- insertPlan.prefixLength,
790
- );
791
- const decorationIds = editor.deltaDecorations([], placeholderDecorations);
792
-
793
- registerUploadPlaceholderResources(placeholders, decorationIds);
794
- setUploadItems((currentUploadItems) => [...currentUploadItems, ...createQueuedUploadItems(placeholders)]);
795
-
796
- return true;
797
- };
798
- }
799
-
800
- /**
801
- * Props for upload queue processing and pause/resume handling.
802
- */
803
- type UseBookEditorMonacoUploadQueueProps = {
804
- readonly onFileUpload?: BookEditorMonacoOnFileUpload;
805
- readonly uploadItemsRef: UploadItemsRef;
806
- readonly uploadFilesRef: UploadFilesRef;
807
- readonly queueProgressUpdate: QueueProgressUpdate;
808
- readonly queueEditorReplacement: (uploadId: string, replacementText: string) => void;
809
- readonly setUploadItems: SetUploadItems;
810
- readonly updateUploadItem: UpdateUploadItem;
811
- };
812
-
813
- /**
814
- * Manages upload concurrency, retries, pausing and completion side effects.
815
- *
816
- * @private function of BookEditorMonaco
817
- */
818
- function useBookEditorMonacoUploadQueue({
819
- onFileUpload,
820
- uploadItemsRef,
821
- uploadFilesRef,
822
- queueProgressUpdate,
823
- queueEditorReplacement,
824
- setUploadItems,
825
- updateUploadItem,
826
- }: UseBookEditorMonacoUploadQueueProps) {
827
- const uploadControllersRef = useRef<Map<string, AbortController>>(new Map());
828
- const uploadQueueTimerRef = useRef<number | null>(null);
829
- const processUploadQueueRef = useRef<() => void>(() => undefined);
830
-
831
- const queueUploadProcessing = useCallback(() => {
832
- if (uploadQueueTimerRef.current !== null) {
833
- return;
834
- }
835
-
836
- uploadQueueTimerRef.current = window.setTimeout(() => {
837
- uploadQueueTimerRef.current = null;
838
- processUploadQueueRef.current();
839
- }, 0);
840
- }, []);
841
-
842
- const markUploadAsUploading = useCallback(
843
- (uploadId: string) => {
844
- updateUploadItem(uploadId, (uploadItem) => ({
845
- ...uploadItem,
846
- status: 'uploading',
847
- startedAt: uploadItem.startedAt ?? Date.now(),
848
- errorMessage: undefined,
849
- }));
850
- },
851
- [updateUploadItem],
852
- );
853
-
854
- const markUploadAsPaused = useCallback(
855
- (uploadId: string) => {
856
- updateUploadItem(uploadId, (uploadItem) => ({
857
- ...uploadItem,
858
- status: 'paused',
859
- errorMessage: undefined,
860
- }));
861
- },
862
- [updateUploadItem],
863
- );
864
-
865
- const markUploadAsFailed = useCallback(
866
- (uploadId: string, errorMessage: string) => {
867
- updateUploadItem(uploadId, (uploadItem) => ({
868
- ...uploadItem,
869
- status: 'failed',
870
- errorMessage,
871
- }));
872
- },
873
- [updateUploadItem],
874
- );
875
-
876
- const markUploadAsCompleted = useCallback(
877
- (uploadId: string, fileSize: number) => {
878
- updateUploadItem(uploadId, (uploadItem) => ({
879
- ...uploadItem,
880
- status: 'completed',
881
- progress: 1,
882
- loadedBytes: uploadItem.totalBytes || fileSize,
883
- completedAt: Date.now(),
884
- }));
885
- },
886
- [updateUploadItem],
887
- );
888
-
889
- const resetUploadForRetry = useCallback(
890
- (uploadId: string) => {
891
- updateUploadItem(uploadId, (uploadItem) => ({
892
- ...uploadItem,
893
- status: 'queued',
894
- progress: 0,
895
- loadedBytes: 0,
896
- startedAt: null,
897
- completedAt: null,
898
- errorMessage: undefined,
899
- }));
900
- },
901
- [updateUploadItem],
902
- );
903
-
904
- const pauseQueuedUpload = useCallback(
905
- (uploadId: string) => {
906
- setUploadItems((currentUploadItems) =>
907
- replaceUploadItemById(currentUploadItems, uploadId, (uploadItem) =>
908
- uploadItem.status === 'queued'
909
- ? {
910
- ...uploadItem,
911
- status: 'paused',
912
- }
913
- : uploadItem,
914
- ),
915
- );
916
- },
917
- [setUploadItems],
918
- );
919
-
920
- const completeUpload = useCallback(
921
- (uploadId: string, file: File, url: string) => {
922
- queueProgressUpdate(uploadId, 1, file.size, file.size);
923
- queueEditorReplacement(uploadId, `KNOWLEDGE ${url}`);
924
- markUploadAsCompleted(uploadId, file.size);
925
- },
926
- [markUploadAsCompleted, queueEditorReplacement, queueProgressUpdate],
927
- );
928
-
929
- const failUpload = useCallback(
930
- (uploadId: string, file: File, error: unknown) => {
931
- console.error(`File upload failed for ${file.name}:`, error);
932
- queueEditorReplacement(uploadId, `KNOWLEDGE ❌ Failed to upload ${file.name}`);
933
- markUploadAsFailed(uploadId, getUploadErrorMessage(error));
934
- },
935
- [markUploadAsFailed, queueEditorReplacement],
936
- );
937
-
938
- const startUpload = useCallback(
939
- async (uploadId: string) => {
940
- if (!onFileUpload) {
941
- return;
942
- }
943
-
944
- const file = uploadFilesRef.current.get(uploadId);
945
- if (!file) {
946
- return;
947
- }
948
-
949
- const uploadItem = uploadItemsRef.current.find((currentUploadItem) => currentUploadItem.id === uploadId);
950
- if (!isUploadStartable(uploadItem)) {
951
- return;
952
- }
953
-
954
- const controller = new AbortController();
955
- uploadControllersRef.current.set(uploadId, controller);
956
- markUploadAsUploading(uploadId);
957
-
958
- try {
959
- const uploadRequestOptions = createUploadRequestOptions(
960
- file,
961
- uploadId,
962
- controller.signal,
963
- queueProgressUpdate,
964
- );
965
- const url = await onFileUpload(file, uploadRequestOptions);
966
-
967
- completeUpload(uploadId, file, url);
968
- } catch (error) {
969
- if (isAbortError(error)) {
970
- markUploadAsPaused(uploadId);
971
- } else {
972
- failUpload(uploadId, file, error);
973
- }
974
- } finally {
975
- uploadControllersRef.current.delete(uploadId);
976
- queueUploadProcessing();
977
- }
978
- },
979
- [
980
- completeUpload,
981
- failUpload,
982
- markUploadAsPaused,
983
- markUploadAsUploading,
984
- onFileUpload,
985
- queueProgressUpdate,
986
- queueUploadProcessing,
987
- uploadFilesRef,
988
- uploadItemsRef,
989
- ],
990
- );
991
-
992
- const processUploadQueue = useCallback(() => {
993
- if (!onFileUpload) {
994
- return;
995
- }
996
-
997
- const currentUploadItems = uploadItemsRef.current;
998
- const activeUploadCount = currentUploadItems.filter((uploadItem) => uploadItem.status === 'uploading').length;
999
- const availableSlots = Math.max(0, DEFAULT_MAX_CONCURRENT_UPLOADS - activeUploadCount);
1000
- const queuedUploadIds = getQueuedUploadIds(currentUploadItems, availableSlots);
1001
-
1002
- queuedUploadIds.forEach((queuedUploadId) => {
1003
- void startUpload(queuedUploadId);
1004
- });
1005
- }, [onFileUpload, startUpload, uploadItemsRef]);
1006
-
1007
- processUploadQueueRef.current = processUploadQueue;
1008
-
1009
- const pauseUpload = useCallback(
1010
- (uploadId: string) => {
1011
- pauseQueuedUpload(uploadId);
1012
- uploadControllersRef.current.get(uploadId)?.abort();
1013
- },
1014
- [pauseQueuedUpload],
1015
- );
1016
-
1017
- const resumeUpload = useCallback(
1018
- (uploadId: string) => {
1019
- resetUploadForRetry(uploadId);
1020
- queueUploadProcessing();
1021
- },
1022
- [queueUploadProcessing, resetUploadForRetry],
1023
- );
1024
-
1025
- const clearUploadQueue = useCallback(() => {
1026
- clearScheduledTimer(uploadQueueTimerRef.current);
1027
- uploadQueueTimerRef.current = null;
1028
-
1029
- for (const controller of uploadControllersRef.current.values()) {
1030
- controller.abort();
1031
- }
1032
-
1033
- uploadControllersRef.current.clear();
1034
- }, []);
1035
-
1036
- useEffect(() => clearUploadQueue, [clearUploadQueue]);
1037
-
1038
- return {
1039
- pauseUpload,
1040
- resumeUpload,
1041
- queueUploadProcessing,
1042
- clearUploadQueue,
1043
- };
1044
- }
1045
-
1046
- /**
1047
- * Clears upload UI state shortly after all uploads finish.
1048
- *
1049
- * @private function of BookEditorMonaco
1050
- */
1051
- function useCompletedUploadsAutoClear({
1052
- uploadItems,
1053
- uploadFilesRef,
1054
- uploadDecorationIdsRef,
1055
- setUploadItems,
1056
- }: {
1057
- readonly uploadItems: ReadonlyArray<UploadItem>;
1058
- readonly uploadFilesRef: UploadFilesRef;
1059
- readonly uploadDecorationIdsRef: UploadDecorationIdsRef;
1060
- readonly setUploadItems: SetUploadItems;
1061
- }) {
1062
- useEffect(() => {
1063
- if (uploadItems.length === 0) {
1064
- return;
1065
- }
1066
-
1067
- const hasActiveUploads = uploadItems.some((item) => item.status !== 'completed');
1068
- if (hasActiveUploads) {
1069
- return;
1070
- }
1071
-
1072
- const timer = window.setTimeout(() => {
1073
- uploadFilesRef.current.clear();
1074
- uploadDecorationIdsRef.current.clear();
1075
- setUploadItems(() => []);
1076
- }, COMPLETED_UPLOADS_CLEAR_DELAY_MS);
1077
-
1078
- return () => {
1079
- clearTimeout(timer);
1080
- };
1081
- }, [setUploadItems, uploadDecorationIdsRef, uploadFilesRef, uploadItems]);
1082
- }
1083
-
1084
27
  /**
1085
28
  * Handles file uploads and placeholder rendering inside `BookEditorMonaco`.
1086
29
  *