@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,179 +0,0 @@
1
- import { serializeError } from '@promptbook-local/utils';
2
- import type { NextRequest } from 'next/server';
3
- import { NextResponse } from 'next/server';
4
- import { assertsError } from '../../../../../../../src/errors/assertsError';
5
- import { getCurrentUser } from '../../../../utils/getCurrentUser';
6
- import {
7
- applyLivePagePreviewInteraction,
8
- isLivePagePreviewSessionId,
9
- type LivePagePreviewInteraction,
10
- } from '../../../../utils/pagePreview/livePagePreviewSessions';
11
-
12
- /**
13
- * Maximum wheel delta accepted from one live-preview UI event.
14
- */
15
- const MAX_LIVE_PAGE_PREVIEW_WHEEL_DELTA = 4_000;
16
-
17
- /**
18
- * Maximum keyboard key name length accepted from one live-preview UI event.
19
- */
20
- const MAX_LIVE_PAGE_PREVIEW_KEY_LENGTH = 40;
21
-
22
- /**
23
- * Parsed live-preview interaction request body.
24
- */
25
- type ParsedLivePagePreviewInteractionRequest = {
26
- readonly sessionId: string;
27
- readonly interaction: LivePagePreviewInteraction;
28
- };
29
-
30
- /**
31
- * Constant for dynamic route rendering.
32
- */
33
- export const dynamic = 'force-dynamic';
34
-
35
- /**
36
- * Applies one UI interaction to an active live browser preview.
37
- *
38
- * Requires authentication because interaction targets are opened by the authenticated preview route.
39
- */
40
- export async function POST(request: NextRequest): Promise<NextResponse> {
41
- const currentUser = await getCurrentUser();
42
- if (!currentUser) {
43
- return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
44
- }
45
-
46
- const parsedRequest = await parseLivePagePreviewInteractionRequest(request);
47
- if (!parsedRequest) {
48
- return NextResponse.json({ error: 'Invalid live preview interaction request.' }, { status: 400 });
49
- }
50
-
51
- try {
52
- const isApplied = await applyLivePagePreviewInteraction(parsedRequest);
53
- if (!isApplied) {
54
- return NextResponse.json({ error: 'Live preview session not found.' }, { status: 404 });
55
- }
56
-
57
- return NextResponse.json({ ok: true });
58
- } catch (error) {
59
- assertsError(error);
60
- console.error('Error applying live page preview interaction:', error);
61
- return NextResponse.json({ error: serializeError(error) }, { status: 500 });
62
- }
63
- }
64
-
65
- /**
66
- * Parses and validates a live-preview interaction request.
67
- *
68
- * @param request - Incoming interaction request.
69
- * @returns Parsed request or null when the payload is invalid.
70
- */
71
- async function parseLivePagePreviewInteractionRequest(
72
- request: NextRequest,
73
- ): Promise<ParsedLivePagePreviewInteractionRequest | null> {
74
- let body: unknown;
75
-
76
- try {
77
- body = await request.json();
78
- } catch {
79
- return null;
80
- }
81
-
82
- if (!isRecord(body)) {
83
- return null;
84
- }
85
-
86
- const sessionId = typeof body.sessionId === 'string' ? body.sessionId : null;
87
- if (!sessionId || !isLivePagePreviewSessionId(sessionId)) {
88
- return null;
89
- }
90
-
91
- const interaction = parseLivePagePreviewInteraction(body);
92
- if (!interaction) {
93
- return null;
94
- }
95
-
96
- return {
97
- sessionId,
98
- interaction,
99
- };
100
- }
101
-
102
- /**
103
- * Parses one normalized live-preview interaction from an object payload.
104
- *
105
- * @param body - Request body record.
106
- * @returns Interaction payload or null when invalid.
107
- */
108
- function parseLivePagePreviewInteraction(body: Record<string, unknown>): LivePagePreviewInteraction | null {
109
- if (body.type === 'click') {
110
- const x = readFiniteNumber(body.x);
111
- const y = readFiniteNumber(body.y);
112
-
113
- if (x === null || y === null) {
114
- return null;
115
- }
116
-
117
- return { type: 'click', x, y };
118
- }
119
-
120
- if (body.type === 'wheel') {
121
- const deltaX = readFiniteNumber(body.deltaX);
122
- const deltaY = readFiniteNumber(body.deltaY);
123
-
124
- if (deltaX === null || deltaY === null) {
125
- return null;
126
- }
127
-
128
- return {
129
- type: 'wheel',
130
- deltaX: clampWheelDelta(deltaX),
131
- deltaY: clampWheelDelta(deltaY),
132
- };
133
- }
134
-
135
- if (body.type === 'keyDown') {
136
- const key = typeof body.key === 'string' ? body.key : null;
137
- if (!key || key.length > MAX_LIVE_PAGE_PREVIEW_KEY_LENGTH) {
138
- return null;
139
- }
140
-
141
- return { type: 'keyDown', key };
142
- }
143
-
144
- return null;
145
- }
146
-
147
- /**
148
- * Checks whether a value is a plain object record.
149
- *
150
- * @param value - Candidate value.
151
- * @returns True when the value can be read as a JSON object.
152
- */
153
- function isRecord(value: unknown): value is Record<string, unknown> {
154
- return typeof value === 'object' && value !== null && !Array.isArray(value);
155
- }
156
-
157
- /**
158
- * Reads one finite number from a JSON value.
159
- *
160
- * @param value - Candidate JSON value.
161
- * @returns Number or null when invalid.
162
- */
163
- function readFiniteNumber(value: unknown): number | null {
164
- if (typeof value !== 'number' || !Number.isFinite(value)) {
165
- return null;
166
- }
167
-
168
- return value;
169
- }
170
-
171
- /**
172
- * Clamps one wheel delta to a bounded value.
173
- *
174
- * @param value - Raw wheel delta.
175
- * @returns Delta safe to forward to Playwright.
176
- */
177
- function clampWheelDelta(value: number): number {
178
- return Math.min(Math.max(value, -MAX_LIVE_PAGE_PREVIEW_WHEEL_DELTA), MAX_LIVE_PAGE_PREVIEW_WHEEL_DELTA);
179
- }
@@ -1,67 +0,0 @@
1
- import { serializeError } from '@promptbook-local/utils';
2
- import type { NextRequest } from 'next/server';
3
- import { NextResponse } from 'next/server';
4
- import { assertsError } from '../../../../../../../src/errors/assertsError';
5
- import {
6
- createLivePagePreviewStream,
7
- getOrCreateLivePagePreviewSession,
8
- isLivePagePreviewSessionId,
9
- LIVE_PAGE_PREVIEW_STREAM_CONTENT_TYPE,
10
- } from '../../../../utils/pagePreview/livePagePreviewSessions';
11
- import { resolvePagePreviewRequestUrl } from '../../../../utils/pagePreview/resolvePagePreviewRequestUrl';
12
-
13
- /**
14
- * Query parameter containing the browser-side live preview session id.
15
- */
16
- const LIVE_PAGE_PREVIEW_SESSION_ID_QUERY_PARAMETER = 'sessionId';
17
-
18
- /**
19
- * Constant for dynamic route rendering.
20
- */
21
- export const dynamic = 'force-dynamic';
22
-
23
- /**
24
- * Streams a live browser preview for a knowledge source URL.
25
- *
26
- * Query parameters:
27
- * - `url` — fully-qualified HTTP(S) URL to preview
28
- * - `sessionId` — client-generated id used for forwarding interactions
29
- *
30
- * Requires authentication to prevent unauthenticated SSRF abuse.
31
- */
32
- export async function GET(request: NextRequest): Promise<NextResponse> {
33
- const requestUrlResolution = await resolvePagePreviewRequestUrl(request);
34
- if (requestUrlResolution.errorResponse !== null) {
35
- return requestUrlResolution.errorResponse;
36
- }
37
-
38
- const sessionId = request.nextUrl.searchParams.get(LIVE_PAGE_PREVIEW_SESSION_ID_QUERY_PARAMETER);
39
- if (!sessionId || !isLivePagePreviewSessionId(sessionId)) {
40
- return NextResponse.json({ error: 'Missing or invalid live preview session id.' }, { status: 400 });
41
- }
42
-
43
- try {
44
- const page = await getOrCreateLivePagePreviewSession({
45
- sessionId,
46
- url: requestUrlResolution.url,
47
- signal: request.signal,
48
- });
49
- const stream = createLivePagePreviewStream({
50
- sessionId,
51
- page,
52
- signal: request.signal,
53
- });
54
-
55
- return new NextResponse(stream, {
56
- headers: {
57
- 'Content-Type': LIVE_PAGE_PREVIEW_STREAM_CONTENT_TYPE,
58
- 'Cache-Control': 'no-cache, no-store, max-age=0',
59
- Connection: 'keep-alive',
60
- },
61
- });
62
- } catch (error) {
63
- assertsError(error);
64
- console.error('Error streaming live page preview:', error);
65
- return NextResponse.json({ error: serializeError(error) }, { status: 500 });
66
- }
67
- }
@@ -1,365 +0,0 @@
1
- import type { Page } from 'playwright';
2
- import { spaceTrim } from 'spacetrim';
3
- import {
4
- LIVE_PAGE_PREVIEW_VIEWPORT_HEIGHT,
5
- LIVE_PAGE_PREVIEW_VIEWPORT_WIDTH,
6
- } from '../../../../../src/book-components/Chat/utils/livePagePreviewConstants';
7
- import { KnowledgeScrapeError } from '../../../../../src/errors/KnowledgeScrapeError';
8
- import { $provideBrowserForServer } from '../../tools/$provideBrowserForServer';
9
-
10
- /**
11
- * Pattern for live-preview session identifiers created by the browser client.
12
- */
13
- const LIVE_PAGE_PREVIEW_SESSION_ID_PATTERN = /^[a-zA-Z0-9_-]{1,128}$/;
14
-
15
- /**
16
- * Navigation timeout for opening a live knowledge preview page.
17
- */
18
- const LIVE_PAGE_PREVIEW_NAVIGATION_TIMEOUT_MS = 30_000;
19
-
20
- /**
21
- * Playwright action timeout for live-preview interactions.
22
- */
23
- const LIVE_PAGE_PREVIEW_ACTION_TIMEOUT_MS = 5_000;
24
-
25
- /**
26
- * Idle session lifetime before a stale live-preview page is closed.
27
- */
28
- const LIVE_PAGE_PREVIEW_SESSION_IDLE_TIMEOUT_MS = 60_000;
29
-
30
- /**
31
- * Multipart response boundary used by the live-preview image stream.
32
- */
33
- const LIVE_PAGE_PREVIEW_STREAM_BOUNDARY = 'page-preview-frame';
34
-
35
- /**
36
- * Delay between live-preview browser frames.
37
- */
38
- const LIVE_PAGE_PREVIEW_FRAME_INTERVAL_MS = 500;
39
-
40
- /**
41
- * JPEG quality for live-preview browser frames.
42
- */
43
- const LIVE_PAGE_PREVIEW_JPEG_QUALITY = 65;
44
-
45
- /**
46
- * Browser page stored for a live knowledge preview session.
47
- */
48
- type LivePagePreviewSession = {
49
- readonly page: Page;
50
- readonly url: string;
51
- lastAccessedAt: number;
52
- };
53
-
54
- /**
55
- * Pointer interaction sent from the live preview image to the browser page.
56
- */
57
- type LivePagePreviewClickInteraction = {
58
- readonly type: 'click';
59
- readonly x: number;
60
- readonly y: number;
61
- };
62
-
63
- /**
64
- * Wheel interaction sent from the live preview image to the browser page.
65
- */
66
- type LivePagePreviewWheelInteraction = {
67
- readonly type: 'wheel';
68
- readonly deltaX: number;
69
- readonly deltaY: number;
70
- };
71
-
72
- /**
73
- * Keyboard interaction sent from the live preview image to the browser page.
74
- */
75
- type LivePagePreviewKeyDownInteraction = {
76
- readonly type: 'keyDown';
77
- readonly key: string;
78
- };
79
-
80
- /**
81
- * Supported interaction payload for a live knowledge preview session.
82
- */
83
- export type LivePagePreviewInteraction =
84
- | LivePagePreviewClickInteraction
85
- | LivePagePreviewWheelInteraction
86
- | LivePagePreviewKeyDownInteraction;
87
-
88
- /**
89
- * Active browser pages for live knowledge previews.
90
- */
91
- const LIVE_PAGE_PREVIEW_SESSIONS = new Map<string, LivePagePreviewSession>();
92
-
93
- /**
94
- * Content type for the live-preview multipart image stream.
95
- */
96
- export const LIVE_PAGE_PREVIEW_STREAM_CONTENT_TYPE = `multipart/x-mixed-replace; boundary=${LIVE_PAGE_PREVIEW_STREAM_BOUNDARY}`;
97
-
98
- /**
99
- * Checks whether a live-preview session identifier is safe to use as a map key.
100
- *
101
- * @param sessionId - Candidate session identifier.
102
- * @returns True when the value is a valid live-preview session id.
103
- */
104
- export function isLivePagePreviewSessionId(sessionId: string): boolean {
105
- return LIVE_PAGE_PREVIEW_SESSION_ID_PATTERN.test(sessionId);
106
- }
107
-
108
- /**
109
- * Opens or reuses the browser page for one live knowledge preview.
110
- *
111
- * @param options - Session, target URL, and request cancellation signal.
112
- * @returns Playwright page backing the live preview.
113
- */
114
- export async function getOrCreateLivePagePreviewSession(options: {
115
- readonly sessionId: string;
116
- readonly url: string;
117
- readonly signal: AbortSignal;
118
- }): Promise<Page> {
119
- pruneExpiredLivePagePreviewSessions();
120
-
121
- const existingSession = LIVE_PAGE_PREVIEW_SESSIONS.get(options.sessionId);
122
- if (existingSession && existingSession.url === options.url && !existingSession.page.isClosed()) {
123
- existingSession.lastAccessedAt = Date.now();
124
- return existingSession.page;
125
- }
126
-
127
- if (existingSession) {
128
- await closeLivePagePreviewSession(options.sessionId);
129
- }
130
-
131
- const browserContext = await $provideBrowserForServer({
132
- signal: options.signal,
133
- sessionId: options.sessionId,
134
- });
135
- const page = await browserContext.newPage();
136
-
137
- try {
138
- page.setDefaultNavigationTimeout(LIVE_PAGE_PREVIEW_NAVIGATION_TIMEOUT_MS);
139
- page.setDefaultTimeout(LIVE_PAGE_PREVIEW_ACTION_TIMEOUT_MS);
140
- await page.setViewportSize({
141
- width: LIVE_PAGE_PREVIEW_VIEWPORT_WIDTH,
142
- height: LIVE_PAGE_PREVIEW_VIEWPORT_HEIGHT,
143
- });
144
- await page.goto(options.url, {
145
- waitUntil: 'domcontentloaded',
146
- timeout: LIVE_PAGE_PREVIEW_NAVIGATION_TIMEOUT_MS,
147
- });
148
- } catch {
149
- await closeLivePagePreviewPage(page);
150
- throw new KnowledgeScrapeError(
151
- spaceTrim(`
152
- Failed to open live knowledge preview for \`${options.url}\`.
153
-
154
- The browser session could not navigate to the requested source.
155
- `),
156
- );
157
- }
158
-
159
- LIVE_PAGE_PREVIEW_SESSIONS.set(options.sessionId, {
160
- page,
161
- url: options.url,
162
- lastAccessedAt: Date.now(),
163
- });
164
-
165
- return page;
166
- }
167
-
168
- /**
169
- * Closes one live knowledge preview session if it exists.
170
- *
171
- * @param sessionId - Live-preview session identifier.
172
- */
173
- export async function closeLivePagePreviewSession(sessionId: string): Promise<void> {
174
- const existingSession = LIVE_PAGE_PREVIEW_SESSIONS.get(sessionId);
175
- if (!existingSession) {
176
- return;
177
- }
178
-
179
- LIVE_PAGE_PREVIEW_SESSIONS.delete(sessionId);
180
- await closeLivePagePreviewPage(existingSession.page);
181
- }
182
-
183
- /**
184
- * Creates an MJPEG stream from an active live-preview browser page.
185
- *
186
- * @param options - Session identifier, browser page, and request cancellation signal.
187
- * @returns Readable stream that emits JPEG browser frames until the client disconnects.
188
- */
189
- export function createLivePagePreviewStream(options: {
190
- readonly sessionId: string;
191
- readonly page: Page;
192
- readonly signal: AbortSignal;
193
- }): ReadableStream<Uint8Array> {
194
- const encoder = new TextEncoder();
195
- let isStreamClosed = false;
196
- let isSessionClosed = false;
197
-
198
- const closeSessionOnce = async (): Promise<void> => {
199
- if (isSessionClosed) {
200
- return;
201
- }
202
-
203
- isSessionClosed = true;
204
- await closeLivePagePreviewSession(options.sessionId);
205
- };
206
-
207
- return new ReadableStream<Uint8Array>({
208
- async start(controller) {
209
- const handleAbort = (): void => {
210
- isStreamClosed = true;
211
- void closeSessionOnce();
212
- };
213
-
214
- options.signal.addEventListener('abort', handleAbort, { once: true });
215
-
216
- try {
217
- while (!isStreamClosed && !options.signal.aborted && !options.page.isClosed()) {
218
- const buffer = await options.page.screenshot({
219
- type: 'jpeg',
220
- quality: LIVE_PAGE_PREVIEW_JPEG_QUALITY,
221
- });
222
-
223
- if (isStreamClosed || options.signal.aborted || options.page.isClosed()) {
224
- break;
225
- }
226
-
227
- const header = [
228
- '',
229
- `--${LIVE_PAGE_PREVIEW_STREAM_BOUNDARY}`,
230
- 'Content-Type: image/jpeg',
231
- `Content-Length: ${buffer.length}`,
232
- '',
233
- '',
234
- ].join('\r\n');
235
-
236
- controller.enqueue(encoder.encode(header));
237
- controller.enqueue(buffer);
238
-
239
- await waitForLivePagePreviewFrame(options.signal);
240
- }
241
- } catch (error) {
242
- if (!isStreamClosed && !options.signal.aborted) {
243
- console.error('Error streaming live page preview:', error);
244
- }
245
- } finally {
246
- isStreamClosed = true;
247
- options.signal.removeEventListener('abort', handleAbort);
248
- await closeSessionOnce();
249
-
250
- try {
251
- controller.close();
252
- } catch {
253
- // The client can disconnect before the server closes the stream.
254
- }
255
- }
256
- },
257
- async cancel() {
258
- isStreamClosed = true;
259
- await closeSessionOnce();
260
- },
261
- });
262
- }
263
-
264
- /**
265
- * Applies one browser interaction to an active live preview session.
266
- *
267
- * @param options - Session identifier and normalized interaction.
268
- * @returns True when the interaction was applied to an active session.
269
- */
270
- export async function applyLivePagePreviewInteraction(options: {
271
- readonly sessionId: string;
272
- readonly interaction: LivePagePreviewInteraction;
273
- }): Promise<boolean> {
274
- const session = LIVE_PAGE_PREVIEW_SESSIONS.get(options.sessionId);
275
- if (!session || session.page.isClosed()) {
276
- LIVE_PAGE_PREVIEW_SESSIONS.delete(options.sessionId);
277
- return false;
278
- }
279
-
280
- session.lastAccessedAt = Date.now();
281
-
282
- switch (options.interaction.type) {
283
- case 'click':
284
- await session.page.mouse.click(
285
- clampLivePagePreviewCoordinate(options.interaction.x, LIVE_PAGE_PREVIEW_VIEWPORT_WIDTH),
286
- clampLivePagePreviewCoordinate(options.interaction.y, LIVE_PAGE_PREVIEW_VIEWPORT_HEIGHT),
287
- );
288
- return true;
289
-
290
- case 'wheel':
291
- await session.page.mouse.wheel(options.interaction.deltaX, options.interaction.deltaY);
292
- return true;
293
-
294
- case 'keyDown':
295
- await session.page.keyboard.press(options.interaction.key);
296
- return true;
297
- }
298
- }
299
-
300
- /**
301
- * Removes stale live-preview sessions left behind by disconnected clients.
302
- */
303
- function pruneExpiredLivePagePreviewSessions(): void {
304
- const now = Date.now();
305
- for (const [sessionId, session] of LIVE_PAGE_PREVIEW_SESSIONS) {
306
- const isExpired = now - session.lastAccessedAt > LIVE_PAGE_PREVIEW_SESSION_IDLE_TIMEOUT_MS;
307
- if (isExpired || session.page.isClosed()) {
308
- LIVE_PAGE_PREVIEW_SESSIONS.delete(sessionId);
309
- void closeLivePagePreviewPage(session.page);
310
- }
311
- }
312
- }
313
-
314
- /**
315
- * Waits between streamed browser frames, resolving early when the request is aborted.
316
- *
317
- * @param signal - Request cancellation signal.
318
- */
319
- async function waitForLivePagePreviewFrame(signal: AbortSignal): Promise<void> {
320
- if (signal.aborted) {
321
- return;
322
- }
323
-
324
- await new Promise<void>((resolve) => {
325
- const timeout = setTimeout(() => {
326
- signal.removeEventListener('abort', handleAbort);
327
- resolve();
328
- }, LIVE_PAGE_PREVIEW_FRAME_INTERVAL_MS);
329
-
330
- function handleAbort(): void {
331
- clearTimeout(timeout);
332
- resolve();
333
- }
334
-
335
- signal.addEventListener('abort', handleAbort, { once: true });
336
- });
337
- }
338
-
339
- /**
340
- * Closes a Playwright page while ignoring cleanup errors.
341
- *
342
- * @param page - Browser page to close.
343
- */
344
- async function closeLivePagePreviewPage(page: Page): Promise<void> {
345
- if (page.isClosed()) {
346
- return;
347
- }
348
-
349
- await page.close().catch(() => undefined);
350
- }
351
-
352
- /**
353
- * Clamps a pointer coordinate to the configured live-preview viewport.
354
- *
355
- * @param value - Raw coordinate from the web UI.
356
- * @param maximum - Maximum coordinate value for one axis.
357
- * @returns Coordinate safe to pass into Playwright.
358
- */
359
- function clampLivePagePreviewCoordinate(value: number, maximum: number): number {
360
- if (!Number.isFinite(value)) {
361
- return 0;
362
- }
363
-
364
- return Math.min(Math.max(value, 0), maximum);
365
- }
@@ -1,74 +0,0 @@
1
- import type { NextRequest } from 'next/server';
2
- import { NextResponse } from 'next/server';
3
- import { assertsError } from '../../../../../src/errors/assertsError';
4
- import { assertSafeUrl } from '../assertSafeUrl';
5
- import { getCurrentUser } from '../getCurrentUser';
6
-
7
- /**
8
- * Query parameter used by page-preview API endpoints.
9
- */
10
- const PAGE_PREVIEW_URL_QUERY_PARAMETER = 'url';
11
-
12
- /**
13
- * Successful page-preview request URL resolution.
14
- */
15
- type PagePreviewRequestUrlSuccess = {
16
- readonly url: string;
17
- readonly errorResponse: null;
18
- };
19
-
20
- /**
21
- * Failed page-preview request URL resolution.
22
- */
23
- type PagePreviewRequestUrlFailure = {
24
- readonly url: null;
25
- readonly errorResponse: NextResponse;
26
- };
27
-
28
- /**
29
- * Result of authenticating and validating a page-preview request URL.
30
- */
31
- export type PagePreviewRequestUrlResolution = PagePreviewRequestUrlSuccess | PagePreviewRequestUrlFailure;
32
-
33
- /**
34
- * Authenticates a page-preview request and validates its target URL against SSRF-sensitive destinations.
35
- *
36
- * @param request - Incoming Next.js request.
37
- * @returns Valid target URL or a ready-made error response.
38
- */
39
- export async function resolvePagePreviewRequestUrl(request: NextRequest): Promise<PagePreviewRequestUrlResolution> {
40
- const currentUser = await getCurrentUser();
41
- if (!currentUser) {
42
- return {
43
- url: null,
44
- errorResponse: NextResponse.json({ error: 'Unauthorized' }, { status: 401 }),
45
- };
46
- }
47
-
48
- const url = request.nextUrl.searchParams.get(PAGE_PREVIEW_URL_QUERY_PARAMETER);
49
-
50
- if (!url) {
51
- return {
52
- url: null,
53
- errorResponse: NextResponse.json(
54
- { error: `Missing required query parameter: ${PAGE_PREVIEW_URL_QUERY_PARAMETER}` },
55
- { status: 400 },
56
- ),
57
- };
58
- }
59
-
60
- try {
61
- assertSafeUrl(url);
62
- } catch (error) {
63
- assertsError(error);
64
- return {
65
- url: null,
66
- errorResponse: NextResponse.json({ error: error.message }, { status: 400 }),
67
- };
68
- }
69
-
70
- return {
71
- url,
72
- errorResponse: null,
73
- };
74
- }