@promptbook/cli 0.114.0-2 → 0.114.0-20

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 (984) hide show
  1. package/README.md +8 -16
  2. package/agents/default/developer.book +1 -0
  3. package/apps/agents-server/README.md +1 -1
  4. package/apps/agents-server/{USE_TIMEOUT_CHIP_QA.md → TIMEOUT_CHIP_QA.md} +1 -1
  5. package/apps/agents-server/next.config.ts +39 -0
  6. package/apps/agents-server/package.json +6 -6
  7. package/apps/agents-server/scripts/build-agents-server.js +43 -7
  8. package/apps/agents-server/scripts/build-e2e.js +12 -2
  9. package/apps/agents-server/scripts/generate-reserved-paths/generate-reserved-paths.ts +30 -16
  10. package/apps/agents-server/scripts/kill-port.js +163 -0
  11. package/apps/agents-server/scripts/run-e2e-tests.js +21 -8
  12. package/apps/agents-server/scripts/run-npm.js +81 -5
  13. package/apps/agents-server/src/app/admin/_components/AdminFilterFields.tsx +84 -0
  14. package/apps/agents-server/src/app/admin/_components/AdminMetricCard.tsx +36 -0
  15. package/apps/agents-server/src/app/admin/_components/AdminTaskManagerTabs.tsx +97 -0
  16. package/apps/agents-server/src/app/admin/email-server/page.tsx +17 -18
  17. package/apps/agents-server/src/app/admin/messages/MessageParticipants.tsx +84 -0
  18. package/apps/agents-server/src/app/admin/messages/MessageStatus.tsx +96 -0
  19. package/apps/agents-server/src/app/admin/messages/MessagesClient.tsx +29 -33
  20. package/apps/agents-server/src/app/admin/messages/messageAdminPresentation.ts +289 -0
  21. package/apps/agents-server/src/app/admin/messages/send-email/SendEmailClient.tsx +193 -63
  22. package/apps/agents-server/src/app/admin/messages/send-email/actions.ts +25 -28
  23. package/apps/agents-server/src/app/admin/messages/send-email/emailTesting.ts +153 -0
  24. package/apps/agents-server/src/app/admin/messages/send-email/emailTestingAccess.ts +30 -0
  25. package/apps/agents-server/src/app/admin/messages/send-email/page.tsx +18 -5
  26. package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerClient.tsx +103 -0
  27. package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerEditDialog.tsx +232 -0
  28. package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerFiltersCard.tsx +195 -0
  29. package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerRow.tsx +189 -0
  30. package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerSummaryMetrics.tsx +60 -0
  31. package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerTableCard.tsx +147 -0
  32. package/apps/agents-server/src/app/admin/planned-messages/page.tsx +17 -0
  33. package/apps/agents-server/src/app/admin/planned-messages/plannedMessageEditForm.ts +186 -0
  34. package/apps/agents-server/src/app/admin/planned-messages/plannedMessageManagerDialogs.ts +46 -0
  35. package/apps/agents-server/src/app/admin/planned-messages/plannedMessageManagerPresentation.tsx +188 -0
  36. package/apps/agents-server/src/app/admin/planned-messages/resolvePlannedMessageSortValue.ts +115 -0
  37. package/apps/agents-server/src/app/admin/planned-messages/usePlannedMessageManagerData.ts +116 -0
  38. package/apps/agents-server/src/app/admin/planned-messages/usePlannedMessageManagerState.ts +289 -0
  39. package/apps/agents-server/src/app/admin/task-manager/TaskManagerClient.tsx +7 -2
  40. package/apps/agents-server/src/app/admin/task-manager/TaskManagerFiltersCard.tsx +7 -73
  41. package/apps/agents-server/src/app/admin/task-manager/TaskManagerSummaryMetrics.tsx +5 -30
  42. package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +2 -0
  43. package/apps/agents-server/src/app/admin/task-manager/[taskId]/TaskManagerTaskDetailClient.tsx +3 -1
  44. package/apps/agents-server/src/app/admin/task-manager/taskManagerTaskPresentation.tsx +23 -0
  45. package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +8 -9
  46. package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +5 -9
  47. package/apps/agents-server/src/app/agents/[agentName]/api/book/reference-diagnostics/route.ts +30 -7
  48. package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +9 -0
  49. package/apps/agents-server/src/app/agents/[agentName]/api/book/test.http +3 -3
  50. package/apps/agents-server/src/app/agents/[agentName]/api/chat/resolveAgentChatRouteContext.ts +8 -16
  51. package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/[timeoutId]/route.ts +10 -153
  52. package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/route.ts +9 -4
  53. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/route.ts +3 -0
  54. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/stream/route.ts +2 -0
  55. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/resolveUserChatScope.ts +8 -1
  56. package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/route.ts +15 -7
  57. package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +4 -9
  58. package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorMissingReferences.tsx +106 -12
  59. package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorWrapper.tsx +3 -0
  60. package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorDiagnostics.ts +12 -0
  61. package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorSaving.ts +18 -28
  62. package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorWrapper.tsx +2 -0
  63. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatHistoryClient.tsx +19 -1
  64. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatSidebarDefault.tsx +17 -5
  65. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentGoalChatNotice.tsx +23 -0
  66. package/apps/agents-server/src/app/agents/[agentName]/chat/AgentGoalChatPlannedMessages.tsx +226 -0
  67. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatPanel.tsx +6 -0
  68. package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +32 -12
  69. package/apps/agents-server/src/app/agents/[agentName]/chat/ExternalUserChatAdminActions.tsx +51 -3
  70. package/apps/agents-server/src/app/agents/[agentName]/chat/TeamMemberFrozenChatPrimaryAgentLink.tsx +31 -0
  71. package/apps/agents-server/src/app/agents/[agentName]/chat/page.tsx +2 -20
  72. package/apps/agents-server/src/app/agents/[agentName]/chat/useAgentChatSidebarState.ts +26 -2
  73. package/apps/agents-server/src/app/agents/[agentName]/goal/page.tsx +35 -0
  74. package/apps/agents-server/src/app/agents/[agentName]/page.tsx +2 -1
  75. package/apps/agents-server/src/app/agents/[agentName]/projectReferenceActions.ts +61 -0
  76. package/apps/agents-server/src/app/agents/[agentName]/projectRuntimeActions.ts +97 -0
  77. package/apps/agents-server/src/app/agents/[agentName]/projects/[projectName]/actions.ts +5 -50
  78. package/apps/agents-server/src/app/agents/[agentName]/projects/[projectName]/page.tsx +2 -2
  79. package/apps/agents-server/src/app/api/admin/default-agents/reinstate/route.ts +5 -1
  80. package/apps/agents-server/src/app/api/admin/dns-records/cloudflare/route.ts +26 -16
  81. package/apps/agents-server/src/app/api/admin/planned-messages/[timeoutId]/route.ts +80 -0
  82. package/apps/agents-server/src/app/api/admin/planned-messages/route.ts +19 -0
  83. package/apps/agents-server/src/app/api/emails/incoming/stalwart/route.ts +9 -2
  84. package/apps/agents-server/src/app/api/internal/agent-goal-chat-planned-messages/route.ts +201 -0
  85. package/apps/agents-server/src/app/api/scrape/route.ts +1 -1
  86. package/apps/agents-server/src/app/layout.tsx +31 -0
  87. package/apps/agents-server/src/app/superadmin/servers/ServersRegistryTable.tsx +31 -39
  88. package/apps/agents-server/src/app/system/user-wallet/UserWalletDraft.ts +2 -2
  89. package/apps/agents-server/src/components/AgentNaming/legacyAgentTextTranslations.cs.yaml +7 -0
  90. package/apps/agents-server/src/components/AgentProfile/AgentCapabilityChips.tsx +1 -24
  91. package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +10 -3
  92. package/apps/agents-server/src/components/AgentProjects/AgentProjectIcon.tsx +137 -0
  93. package/apps/agents-server/src/components/AgentProjects/AgentProjectItem.tsx +26 -10
  94. package/apps/agents-server/src/components/AgentProjects/resolveLatestCompletedAgentMessageKey.ts +32 -0
  95. package/apps/agents-server/src/components/AgentProjects/useAgentProjectMarkdownReferences.ts +306 -0
  96. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsApiTokenImportStep.tsx +5 -6
  97. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsCheckStep.tsx +6 -5
  98. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsManualStep.tsx +10 -14
  99. package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsWizard.tsx +11 -20
  100. package/apps/agents-server/src/components/CloudflareDnsWizard/useCloudflareDnsRecordImport.ts +5 -6
  101. package/apps/agents-server/src/components/DefaultAgents/ReinstateBundledAgentsButton.tsx +7 -0
  102. package/apps/agents-server/src/components/DefaultAgents/coreAgentsAdminRoute.ts +6 -0
  103. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsInstructions.tsx +91 -57
  104. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsSectionPanel.tsx +63 -0
  105. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsSectionVariantTabs.tsx +67 -0
  106. package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsTable.tsx +40 -0
  107. package/apps/agents-server/src/components/Header/Header.tsx +8 -0
  108. package/apps/agents-server/src/components/Header/HeaderTypes.ts +5 -0
  109. package/apps/agents-server/src/components/Header/buildActiveAgentViewItems.ts +5 -4
  110. package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +125 -30
  111. package/apps/agents-server/src/components/Header/createAgentViewLabel.tsx +4 -4
  112. package/apps/agents-server/src/components/Header/resolveActiveAgentNavigation.ts +2 -2
  113. package/apps/agents-server/src/components/Header/resolveHeaderSystemActivities.ts +86 -0
  114. package/apps/agents-server/src/components/Homepage/AgentCard.tsx +0 -3
  115. package/apps/agents-server/src/components/Homepage/DefaultAgentsStatusNotice.tsx +1 -7
  116. package/apps/agents-server/src/components/Homepage/useAgentsListImportExportState.ts +22 -10
  117. package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +8 -0
  118. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardState.ts +0 -12
  119. package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardUseSetupStep.tsx +0 -58
  120. package/apps/agents-server/src/components/NewAgentDialog/newAgentWizardPresets.ts +0 -56
  121. package/apps/agents-server/src/components/WalletRecordDialog/useWalletRecordDialogState.ts +1 -1
  122. package/apps/agents-server/src/components/_utils/generateMetaTxt.ts +1 -1
  123. package/apps/agents-server/src/database/migratePrefix.ts +13 -12
  124. package/apps/agents-server/src/database/migrations/2026-08-0100-agent-goal-chat-source.sql +10 -0
  125. package/apps/agents-server/src/database/migrations/2026-08-1800-user-chat-timeout-schedule.sql +11 -0
  126. package/apps/agents-server/src/generated/reservedPaths.ts +42 -42
  127. package/apps/agents-server/src/instrumentation-node.ts +18 -0
  128. package/apps/agents-server/src/languages/ServerTranslationKeys.ts +16 -11
  129. package/apps/agents-server/src/languages/translations/czech.yaml +16 -11
  130. package/apps/agents-server/src/languages/translations/english.yaml +16 -11
  131. package/apps/agents-server/src/message-providers/email/smtp/SmtpMessageProvider.ts +1 -1
  132. package/apps/agents-server/src/message-providers/email/stalwart/StalwartMessageProvider.ts +59 -19
  133. package/apps/agents-server/src/message-providers/email/stalwart/parseInboundStalwartEmail.ts +17 -2
  134. package/apps/agents-server/src/tools/$provideOpenAiAgentKitExecutionToolsForServer.ts +0 -191
  135. package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +0 -3
  136. package/apps/agents-server/src/tools/agentGoalChatTimeoutToolFunctions.ts +249 -0
  137. package/apps/agents-server/src/tools/agentGoalChatTimeoutTools.ts +147 -0
  138. package/apps/agents-server/src/tools/createServerChatRuntimeTools.ts +20 -0
  139. package/apps/agents-server/src/tools/getAllToolFunctionsForServer.ts +2 -0
  140. package/apps/agents-server/src/tools/run_browser.ts +1 -1
  141. package/apps/agents-server/src/tools/send_email.ts +3 -3
  142. package/apps/agents-server/src/utils/adminEntityLookups/loadAgentNamesByPermanentId.ts +45 -0
  143. package/apps/agents-server/src/utils/adminEntityLookups/loadUsernamesByUserId.ts +36 -0
  144. package/apps/agents-server/src/utils/adminEntityLookups.ts +2 -0
  145. package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatConstants.ts +14 -0
  146. package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatIdentity.ts +28 -0
  147. package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatPlannedMessageActions.ts +583 -0
  148. package/apps/agents-server/src/utils/agentGoalChat/appendAgentGoalChatNote.ts +43 -0
  149. package/apps/agents-server/src/utils/agentGoalChat/canAccessAgentGoalChat.ts +14 -0
  150. package/apps/agents-server/src/utils/agentGoalChat/createAgentGoalChatNoteContent.ts +129 -0
  151. package/apps/agents-server/src/utils/agentGoalChat/enqueueAgentGoalChatTurn.ts +167 -0
  152. package/apps/agents-server/src/utils/agentGoalChat/ensureAgentGoalChat.ts +66 -0
  153. package/apps/agents-server/src/utils/agentGoalChat/prependAgentGoalChatSummarySeed.ts +40 -0
  154. package/apps/agents-server/src/utils/agentGoalChat/recordAgentGoalChatLifecycleNote.ts +53 -0
  155. package/apps/agents-server/src/utils/agentGoalChat/resolveAgentGoalChatOwnerUserId.ts +104 -0
  156. package/apps/agents-server/src/utils/agentGoalChat/resolveEffectiveAgentGoal.ts +29 -0
  157. package/apps/agents-server/src/utils/agentGoalChat/scheduleAgentGoalChatModifiedNote.ts +85 -0
  158. package/apps/agents-server/src/utils/agentGoalChat.ts +25 -0
  159. package/apps/agents-server/src/utils/agentProjects/AgentProjectInfo.ts +10 -1
  160. package/apps/agents-server/src/utils/agentProjects/AgentProjectReferenceInfo.ts +5 -2
  161. package/apps/agents-server/src/utils/agentProjects/AgentProjectRuntimeActionResult.ts +14 -0
  162. package/apps/agents-server/src/utils/agentProjects/agentProjectFileNames.ts +21 -0
  163. package/apps/agents-server/src/utils/agentProjects/agentProjectHrefs.ts +20 -11
  164. package/apps/agents-server/src/utils/agentProjects/agentProjectIdentity.ts +46 -0
  165. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeAutostartScheduler.ts +162 -0
  166. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeDesiredState.ts +252 -0
  167. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeDisplay.ts +6 -3
  168. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeDomains.ts +2 -44
  169. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimePaths.ts +25 -0
  170. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimePm2.ts +4 -3
  171. package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeRegistry.ts +77 -24
  172. package/apps/agents-server/src/utils/agentProjects/agentProjectStateMutationQueue.ts +58 -0
  173. package/apps/agents-server/src/utils/agentProjects/agentProjectsPaths.ts +15 -5
  174. package/apps/agents-server/src/utils/agentProjects/createAgentProjectInitials.ts +36 -0
  175. package/apps/agents-server/src/utils/agentProjects/createAgentProjectMarkdownReferences.ts +124 -19
  176. package/apps/agents-server/src/utils/agentProjects/createAgentProjectsDnsRecordsSection.ts +113 -0
  177. package/apps/agents-server/src/utils/agentProjects/createStaticAgentProjectServer.ts +2 -6
  178. package/apps/agents-server/src/utils/agentProjects/humanizeAgentProjectName.ts +25 -0
  179. package/apps/agents-server/src/utils/agentProjects/listAgentProjectChatReferences.ts +10 -3
  180. package/apps/agents-server/src/utils/agentProjects/listAgentProjectNames.ts +35 -0
  181. package/apps/agents-server/src/utils/agentProjects/listAgentProjects.ts +6 -23
  182. package/apps/agents-server/src/utils/agentProjects/listAllLocalAgentProjectIdentities.ts +48 -0
  183. package/apps/agents-server/src/utils/agentProjects/parseAgentProjectIndexHtml.ts +167 -0
  184. package/apps/agents-server/src/utils/agentProjects/readAgentProjectIndexHtmlProfile.ts +24 -0
  185. package/apps/agents-server/src/utils/agentProjects/readAgentProjectReadme.ts +3 -53
  186. package/apps/agents-server/src/utils/agentProjects/readAgentProjectRootTextFile.ts +73 -0
  187. package/apps/agents-server/src/utils/agentProjects/resolveAgentChatProjectReferences.ts +25 -0
  188. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectFaviconRelativePath.ts +108 -0
  189. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectInfo.ts +12 -3
  190. package/apps/agents-server/src/utils/agentProjects/{resolveAgentProjectReadmeProfile.ts → resolveAgentProjectProfile.ts} +33 -33
  191. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectPublicUrls.ts +34 -0
  192. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectRuntimeEnvironmentFlag.ts +23 -0
  193. package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectRuntimeStatus.ts +73 -0
  194. package/apps/agents-server/src/utils/agentProjects/startDefaultAgentProjectRuntimes.ts +110 -0
  195. package/apps/agents-server/src/utils/agentReferenceResolver/MissingCoreAgentRecovery.ts +19 -0
  196. package/apps/agents-server/src/utils/agentReferenceResolver/bookScopedAgentReferences.ts +7 -0
  197. package/apps/agents-server/src/utils/agentReferenceResolver/createAgentInheritanceDiagnostics.ts +457 -0
  198. package/apps/agents-server/src/utils/agentReferenceResolver/createUnresolvedAgentReferenceDiagnostics.ts +27 -0
  199. package/apps/agents-server/src/utils/agentReferenceResolver/resolveCoreAgentAwareMissingReferences.ts +156 -0
  200. package/apps/agents-server/src/utils/bookLanguageDocumentation/createBookLanguageDocumentationPdfResponse.ts +19 -17
  201. package/apps/agents-server/src/utils/chatMessageChips/createAnsweredMessageChipToolCalls.ts +49 -0
  202. package/apps/agents-server/src/utils/chatMessageChips/createPlannedMessageChipToolCalls.ts +44 -0
  203. package/apps/agents-server/src/utils/chatMessageChips/createTouchedExternalSourceChipToolCalls.ts +39 -0
  204. package/apps/agents-server/src/utils/chatMessageChips/createTouchedProjectChipResult.ts +45 -0
  205. package/apps/agents-server/src/utils/chatMessageChips/createTouchedProjectChipToolCalls.ts +109 -0
  206. package/apps/agents-server/src/utils/chatTasksAdmin.ts +9 -0
  207. package/apps/agents-server/src/utils/createAgentWithDefaultVisibility.ts +8 -0
  208. package/apps/agents-server/src/utils/cronExpression/CronExpression.ts +63 -0
  209. package/apps/agents-server/src/utils/cronExpression/normalizeCronExpression.ts +34 -0
  210. package/apps/agents-server/src/utils/cronExpression/normalizeCronExpressionWhitespace.ts +11 -0
  211. package/apps/agents-server/src/utils/cronExpression/parseCronExpression.ts +41 -0
  212. package/apps/agents-server/src/utils/cronExpression/parseCronExpressionField.ts +140 -0
  213. package/apps/agents-server/src/utils/cronExpression/resolveNextCronRun.ts +100 -0
  214. package/apps/agents-server/src/utils/cronExpression/throwInvalidCronExpressionField.ts +20 -0
  215. package/apps/agents-server/src/utils/cronExpression.ts +10 -0
  216. package/apps/agents-server/src/utils/dnsRecords/DnsRecordInstruction.ts +20 -0
  217. package/apps/agents-server/src/utils/dnsRecords/DnsRecordsSection.ts +77 -0
  218. package/apps/agents-server/src/utils/dnsRecords/createServerDnsRecordsSections.ts +58 -0
  219. package/apps/agents-server/src/utils/dnsRecords/createServerDomainDnsRecordsSection.ts +48 -0
  220. package/apps/agents-server/src/utils/dnsRecords/dnsRecordGroups.ts +52 -0
  221. package/apps/agents-server/src/utils/dnsRecords/resolveDnsRecordBatchPlan.ts +47 -1
  222. package/apps/agents-server/src/utils/email/agentEmailAddress.ts +14 -0
  223. package/apps/agents-server/src/utils/email/sendEmailThroughStalwart.ts +2 -1
  224. package/apps/agents-server/src/utils/explicitFromCommitment.ts +130 -0
  225. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +41 -36
  226. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +3 -77
  227. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +3 -0
  228. package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +2 -0
  229. package/apps/agents-server/src/utils/handleChatCompletion/createHandleChatCompletionPromptContext.ts +3 -2
  230. package/apps/agents-server/src/utils/handleChatCompletion/resolveHandleChatCompletionRuntime.ts +4 -12
  231. package/apps/agents-server/src/utils/localChatRunner/applyLocalAgentPlannedMessageCommands.ts +261 -0
  232. package/apps/agents-server/src/utils/localChatRunner/parseLocalTeamConversations.ts +281 -0
  233. package/apps/agents-server/src/utils/localChatRunner/persistLocalTeamConversations.ts +71 -0
  234. package/apps/agents-server/src/utils/localChatRunner/prepareLocalAgentPlannedMessagesSidecar.ts +74 -0
  235. package/apps/agents-server/src/utils/localChatRunner/prepareLocalTeamConversationWorkspace.ts +233 -0
  236. package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +154 -27
  237. package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentBooks.ts +5 -12
  238. package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentRuntime.ts +2 -2
  239. package/apps/agents-server/src/utils/managementApi/managementApiSchemas.ts +2 -2
  240. package/apps/agents-server/src/utils/messages/parseUseEmailSmtpCredential.ts +1 -1
  241. package/apps/agents-server/src/utils/plannedMessageManager/cancelManagedPlannedMessage.ts +35 -0
  242. package/apps/agents-server/src/utils/plannedMessageManager/collectPlannedMessageAgentOptions.ts +56 -0
  243. package/apps/agents-server/src/utils/plannedMessageManager/createPlannedMessageManagerCounters.ts +104 -0
  244. package/apps/agents-server/src/utils/plannedMessageManager/filterPlannedMessages.ts +191 -0
  245. package/apps/agents-server/src/utils/plannedMessageManager/getPlannedMessageManagerResponse.ts +55 -0
  246. package/apps/agents-server/src/utils/plannedMessageManager/isPlannedMessageStillPlanned.ts +18 -0
  247. package/apps/agents-server/src/utils/plannedMessageManager/loadPlannedMessageManagerRecord.ts +32 -0
  248. package/apps/agents-server/src/utils/plannedMessageManager/mapPlannedMessageManagerRecord.ts +73 -0
  249. package/apps/agents-server/src/utils/plannedMessageManager/parsePlannedMessageManagerUpdateRequest.ts +76 -0
  250. package/apps/agents-server/src/utils/plannedMessageManager/resolvePlannedMessageEndReason.ts +59 -0
  251. package/apps/agents-server/src/utils/plannedMessageManager/resolvePlannedMessageLifecycle.ts +99 -0
  252. package/apps/agents-server/src/utils/plannedMessageManager/resolvePlannedMessageRecurrenceKind.ts +40 -0
  253. package/apps/agents-server/src/utils/plannedMessageManager/updateManagedPlannedMessage.ts +121 -0
  254. package/apps/agents-server/src/utils/plannedMessagesAdmin.ts +200 -0
  255. package/apps/agents-server/src/utils/resolveInheritedAgentSource.ts +114 -95
  256. package/apps/agents-server/src/utils/resolveUseEmailSmtpCredential.ts +1 -1
  257. package/apps/agents-server/src/utils/serverManagement/createManagedServer/insertManagedServerRegistryRow.ts +2 -2
  258. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerCoreAgents.ts +7 -6
  259. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerDefaultAgents.ts +5 -4
  260. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerMetadata.ts +3 -2
  261. package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerUsers.ts +3 -2
  262. package/apps/agents-server/src/utils/serverManagement/deleteManagedServer.ts +2 -2
  263. package/apps/agents-server/src/utils/stalwart/createEmailDnsRecordsSection.ts +53 -0
  264. package/apps/agents-server/src/utils/useEmailSmtpWalletConstants.ts +5 -5
  265. package/apps/agents-server/src/utils/userChat/UserChatRecord.ts +13 -0
  266. package/apps/agents-server/src/utils/userChat/UserChatSource.ts +14 -0
  267. package/apps/agents-server/src/utils/userChat/appendQueuedUserChatTurn.ts +9 -2
  268. package/apps/agents-server/src/utils/userChat/createRunUserChatJobExecutionContext.ts +7 -17
  269. package/apps/agents-server/src/utils/userChat/createUserChatSummary.ts +10 -2
  270. package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +3 -2
  271. package/apps/agents-server/src/utils/userChat/getUserChat.ts +16 -1
  272. package/apps/agents-server/src/utils/userChat/getUserChatForJobRunner.ts +31 -0
  273. package/apps/agents-server/src/utils/userChat/listUserChats.ts +113 -110
  274. package/apps/agents-server/src/utils/userChat/persistFrozenUserChat.ts +21 -6
  275. package/apps/agents-server/src/utils/userChat/persistUserChatJobTerminalState.ts +5 -0
  276. package/apps/agents-server/src/utils/userChat/resolveUserChatWorkerInternalToken.ts +5 -4
  277. package/apps/agents-server/src/utils/userChat/runImmediateUserChatAnswer.ts +2 -6
  278. package/apps/agents-server/src/utils/userChat/runUserChatJob.ts +2 -6
  279. package/apps/agents-server/src/utils/userChat/teamMemberUserChatContext.ts +63 -0
  280. package/apps/agents-server/src/utils/userChat/userChatJobRunReport.ts +30 -0
  281. package/apps/agents-server/src/utils/userChat/userChatMessageLifecycle.ts +6 -1
  282. package/apps/agents-server/src/utils/userChat.ts +5 -1
  283. package/apps/agents-server/src/utils/userChatClient/cancelAgentUserTimeout.ts +2 -2
  284. package/apps/agents-server/src/utils/userChatClient/fetchAgentUserTimeouts.ts +2 -2
  285. package/apps/agents-server/src/utils/userChatClient.ts +13 -31
  286. package/apps/agents-server/src/utils/userChatTimeout/UserChatTimeoutRecord.ts +47 -3
  287. package/apps/agents-server/src/utils/userChatTimeout/agentScopedTimeoutBulkActions.ts +11 -17
  288. package/apps/agents-server/src/utils/userChatTimeout/createTimeoutWakeUpMessage.ts +38 -6
  289. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/PlannedMessageSchedule.ts +52 -0
  290. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/hasPlannedMessageRecurrence.ts +13 -0
  291. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/isPlannedMessageScheduleFinished.ts +30 -0
  292. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/normalizePlannedMessageScheduleValues.ts +62 -0
  293. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/parsePlannedMessageSchedule.ts +202 -0
  294. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/resolvePlannedMessageDueAt.ts +121 -0
  295. package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule.ts +12 -0
  296. package/apps/agents-server/src/utils/userChatTimeout/setAgentScopedUserChatTimeoutPausedState.ts +66 -0
  297. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/claimNextDueUserChatTimeout.ts +28 -25
  298. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/createUserChatTimeout.ts +76 -5
  299. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/getAgentScopedUserChatTimeout.ts +8 -4
  300. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/listAgentUserChatTimeouts.ts +4 -1
  301. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/listAllUserChatTimeouts.ts +37 -0
  302. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/mapUserChatTimeoutRow.ts +9 -0
  303. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/recoverExpiredRunningUserChatTimeouts.ts +3 -2
  304. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/repeatFiredUserChatTimeout.ts +84 -0
  305. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateAgentScopedUserChatTimeout.ts +39 -6
  306. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore.ts +2 -0
  307. package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +220 -57
  308. package/apps/agents-server/src/utils/userChatTimeout.ts +16 -0
  309. package/apps/agents-server/src/utils/userWallet/UserWalletRecord.ts +1 -1
  310. package/apps/agents-server/src/utils/userWallet/resolveUseEmailSmtpCredentialFromWallet.ts +1 -1
  311. package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +2 -1
  312. package/apps/agents-server/src/utils/vpsSelfUpdate/isVpsSelfUpdateJobRunning.ts +16 -0
  313. package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +2 -1
  314. package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +23 -316
  315. package/apps/agents-server/src/utils/vpsSelfUpdate.ts +1 -0
  316. package/apps/agents-server/tests/e2e/support/AgentManagementApi.ts +3 -3
  317. package/esm/index.es.js +10579 -10176
  318. package/esm/index.es.js.map +1 -1
  319. package/esm/scripts/run-agent-messages/git/commitAgentProjectChanges.d.ts +15 -0
  320. package/esm/scripts/run-agent-messages/git/commitAnsweredMessageProjectChanges.d.ts +24 -0
  321. package/esm/scripts/run-agent-messages/git/ensureAgentProjectGitRepository.d.ts +20 -0
  322. package/esm/scripts/run-agent-messages/git/readAgentProjectCommitChange.d.ts +11 -0
  323. package/esm/scripts/run-agent-messages/git/runAgentProjectGitCommand.d.ts +29 -0
  324. package/esm/scripts/run-agent-messages/messages/buildAgentGoalChatPromptSection.d.ts +26 -0
  325. package/esm/scripts/run-agent-messages/messages/buildAgentMessagePrompt.d.ts +12 -1
  326. package/esm/scripts/run-agent-messages/messages/buildAgentProjectsPromptSection.d.ts +2 -14
  327. package/esm/scripts/run-agent-messages/messages/buildAgentTeamPromptSection.d.ts +12 -0
  328. package/esm/scripts/run-agent-messages/messages/finalizeAgentTeamConversationWorkspace.d.ts +16 -0
  329. package/esm/scripts/run-agent-messages/messages/listAgentProjectDirectoryNames.d.ts +7 -0
  330. package/esm/scripts/run-agent-messages/messages/loadAgentPlannedMessagesSidecar.d.ts +10 -0
  331. package/esm/scripts/run-agent-messages/messages/loadAgentTeamConversationWorkspace.d.ts +6 -0
  332. package/esm/scripts/run-agent-messages/messages/resolveAnsweredMessageTouches.d.ts +29 -0
  333. package/esm/scripts/run-codex-prompts/common/CoderRunControlFeedback.d.ts +54 -0
  334. package/esm/scripts/run-codex-prompts/common/applyCoderRunControlKey.d.ts +14 -0
  335. package/esm/scripts/run-codex-prompts/common/buildCoderRunControlKeyBadge.d.ts +7 -0
  336. package/esm/scripts/run-codex-prompts/common/createCoderRunStepTracker.d.ts +48 -0
  337. package/esm/scripts/run-codex-prompts/common/formatCoderRunControlFeedback.d.ts +13 -0
  338. package/esm/scripts/run-codex-prompts/common/listenForCoderRunControls.d.ts +17 -0
  339. package/esm/scripts/run-codex-prompts/common/normalizeLineEndingsInChangedFiles.d.ts +2 -3
  340. package/esm/scripts/run-codex-prompts/common/runGoScript/$spawnLoggedBashScript.d.ts +25 -0
  341. package/esm/scripts/run-codex-prompts/common/runGoScript/$terminateLoggedBashProcessTree.d.ts +11 -0
  342. package/esm/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +11 -0
  343. package/esm/scripts/run-codex-prompts/common/waitForPause.d.ts +0 -8
  344. package/esm/scripts/run-codex-prompts/common/waitForSkippableWorldTimeDeadline.d.ts +15 -0
  345. package/esm/scripts/run-codex-prompts/git/coderCommitScope.d.ts +31 -0
  346. package/esm/scripts/run-codex-prompts/git/coderGitSync.d.ts +56 -0
  347. package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +12 -3
  348. package/esm/scripts/run-codex-prompts/git/workingTreeChanges.d.ts +40 -0
  349. package/esm/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  350. package/esm/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  351. package/esm/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  352. package/esm/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  353. package/esm/scripts/run-codex-prompts/ping/pingCoderHarnessPeriodically.d.ts +22 -0
  354. package/esm/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  355. package/esm/scripts/run-codex-prompts/prompts/buildPromptLabel.d.ts +6 -0
  356. package/esm/scripts/run-codex-prompts/prompts/buildPromptStatusDetails.d.ts +50 -0
  357. package/esm/scripts/run-codex-prompts/prompts/formatCoderRunSteps.d.ts +6 -3
  358. package/esm/scripts/run-codex-prompts/prompts/isPromptSectionUnfinished.d.ts +8 -0
  359. package/esm/scripts/run-codex-prompts/prompts/listPromptsByStatus.d.ts +7 -0
  360. package/esm/scripts/run-codex-prompts/prompts/markPromptDone.d.ts +15 -4
  361. package/esm/scripts/run-codex-prompts/prompts/markPromptFailed.d.ts +34 -1
  362. package/esm/scripts/run-codex-prompts/prompts/markPromptInProgress.d.ts +27 -0
  363. package/esm/scripts/run-codex-prompts/prompts/promptRunnerAttribution.d.ts +24 -0
  364. package/esm/scripts/run-codex-prompts/prompts/resolveInterruptedPrompt.d.ts +9 -0
  365. package/esm/scripts/run-codex-prompts/prompts/resolvePromptStatusLine.d.ts +19 -0
  366. package/esm/scripts/run-codex-prompts/prompts/writePromptStatusLine.d.ts +9 -0
  367. package/esm/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +1 -1
  368. package/esm/scripts/run-codex-prompts/server/coderServerHtml.d.ts +1 -1
  369. package/esm/scripts/run-codex-prompts/server/updatePromptSection.d.ts +1 -1
  370. package/esm/scripts/run-codex-prompts/testing/runPromptWithTestFeedback.d.ts +6 -0
  371. package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +15 -1
  372. package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +5 -5
  373. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +6 -1
  374. package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiTerminalFrameUpdate.d.ts +27 -0
  375. package/esm/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +11 -0
  376. package/esm/scripts/verify-prompts/$orderPromptFiles.d.ts +9 -0
  377. package/esm/scripts/verify-prompts/VerifyPromptsOrder.d.ts +26 -0
  378. package/esm/scripts/verify-prompts/verify-prompts.d.ts +8 -2
  379. package/esm/src/_packages/components.index.d.ts +4 -0
  380. package/esm/src/_packages/types.index.d.ts +4 -0
  381. package/esm/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
  382. package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
  383. package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  384. package/esm/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +5 -0
  385. package/esm/src/book-2.0/agent-source/ParsedUnknownCommitment.d.ts +26 -0
  386. package/esm/src/book-2.0/agent-source/getBookCommitmentLineType.d.ts +19 -0
  387. package/esm/src/book-3.0/AgentMessageRunReport.d.ts +46 -0
  388. package/esm/src/book-3.0/AgentPlannedMessagesSidecar.d.ts +127 -0
  389. package/esm/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
  390. package/esm/src/book-3.0/createAgentMessageSidecarBaseName.d.ts +13 -0
  391. package/esm/src/book-3.0/describeAgentPlannedMessageSchedule.d.ts +31 -0
  392. package/esm/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +1 -9
  393. package/esm/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.d.ts +28 -0
  394. package/esm/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.d.ts +28 -0
  395. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
  396. package/esm/src/book-components/Chat/Chat/renderAgentProjectDiff.d.ts +13 -0
  397. package/esm/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.d.ts +16 -0
  398. package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  399. package/esm/src/book-components/Chat/utils/agentProjectToolCall.d.ts +85 -0
  400. package/esm/src/book-components/Chat/utils/externalSourceToolCall.d.ts +38 -0
  401. package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +68 -3
  402. package/esm/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +30 -0
  403. package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  404. package/esm/src/cli/cli-commands/coder/GitChangesMode.d.ts +28 -0
  405. package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  406. package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +4 -3
  407. package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
  408. package/esm/src/cli/cli-commands/coder/verify.d.ts +1 -1
  409. package/esm/src/cli/cli-commands/coder/waitOptions.d.ts +12 -0
  410. package/esm/src/cli/cli-commands/coder.d.ts +1 -1
  411. package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  412. package/esm/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +3 -3
  413. package/esm/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +3 -3
  414. package/esm/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +3 -2
  415. package/esm/src/cli/cli-commands/common/harnessUpdateCliOptions.d.ts +29 -0
  416. package/{umd/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts → esm/src/cli/cli-commands/common/npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
  417. package/esm/src/cli/cli-commands/common/{harness/$resolveLatestHarnessVersion.d.ts → npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
  418. package/esm/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
  419. package/esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
  420. package/esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
  421. package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +9 -2
  422. package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
  423. package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
  424. package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
  425. package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
  426. package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
  427. package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
  428. package/esm/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
  429. package/esm/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
  430. package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
  431. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +15 -0
  432. package/{umd/src/commitments/COMPONENT/COMPONENT.d.ts → esm/src/commitments/META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  433. package/esm/src/commitments/META_ID/META_ID.d.ts +32 -0
  434. package/esm/src/commitments/index.d.ts +4 -12
  435. package/esm/src/executables/platforms/locateAppOnWindows.d.ts +1 -1
  436. package/esm/src/llm-providers/agent/Agent.d.ts +1 -1
  437. package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  438. package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  439. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  440. package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  441. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  442. package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  443. package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  444. package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  445. package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  446. package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  447. package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  448. package/esm/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  449. package/esm/src/utils/agent-message-runtime/AgentMessageProjectChange.d.ts +76 -0
  450. package/esm/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.d.ts +45 -0
  451. package/esm/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.d.ts +62 -0
  452. package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
  453. package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.d.ts +18 -0
  454. package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.d.ts +19 -0
  455. package/esm/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
  456. package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
  457. package/esm/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
  458. package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  459. package/esm/src/utils/misc/debounce.d.ts +4 -2
  460. package/esm/src/version.d.ts +1 -1
  461. package/package.json +1 -1
  462. package/src/_packages/components.index.ts +4 -0
  463. package/src/_packages/components.readme.md +1 -1
  464. package/src/_packages/types.index.ts +4 -0
  465. package/src/avatars/renderAvatarVisualTerminalText.ts +249 -0
  466. package/src/avatars/types/AvatarVisualDefinition.ts +60 -0
  467. package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +144 -22
  468. package/src/book-2.0/agent-source/AgentBasicInformation.ts +3 -9
  469. package/src/book-2.0/agent-source/AgentSourceParseResult.ts +6 -0
  470. package/src/book-2.0/agent-source/ParsedUnknownCommitment.ts +29 -0
  471. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/augmentAgentModelRequirementsFromSource.ts +38 -1
  472. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/filterCommitmentsForAgentModelRequirements.ts +0 -23
  473. package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.ts +0 -2
  474. package/src/book-2.0/agent-source/getBookCommitmentLineType.ts +36 -0
  475. package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +16 -31
  476. package/src/book-2.0/agent-source/parseAgentSource/createCapabilitiesFromCommitment.ts +0 -35
  477. package/src/book-2.0/agent-source/parseAgentSourceWithCommitments.ts +128 -61
  478. package/src/book-2.0/agent-source/string_book.ts +1 -1
  479. package/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.ts +0 -25
  480. package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +6 -14
  481. package/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.ts +13 -33
  482. package/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.ts +12 -32
  483. package/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.ts +1 -4
  484. package/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.ts +4 -17
  485. package/src/book-3.0/AgentMessageRunReport.ts +135 -0
  486. package/src/book-3.0/AgentPlannedMessagesSidecar.ts +284 -0
  487. package/src/book-3.0/AgentTeamConversationWorkspace.ts +170 -0
  488. package/src/book-3.0/LiteAgent.ts +11 -9
  489. package/src/book-3.0/createAgentMessageSidecarBaseName.ts +20 -0
  490. package/src/book-3.0/describeAgentPlannedMessageSchedule.ts +94 -0
  491. package/src/book-components/BookEditor/BookEditorMonaco.tsx +8 -1
  492. package/src/book-components/BookEditor/BookEditorMonacoTokenization.ts +3 -1
  493. package/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.ts +3 -11
  494. package/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.ts +71 -0
  495. package/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.ts +50 -0
  496. package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
  497. package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +56 -55
  498. package/src/book-components/Chat/Chat/Chat.module.css +172 -27
  499. package/src/book-components/Chat/Chat/ChatMessageMap.tsx +7 -4
  500. package/src/book-components/Chat/Chat/ChatProps.tsx +3 -2
  501. package/src/book-components/Chat/Chat/renderAgentProjectDiff.tsx +85 -0
  502. package/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.tsx +206 -0
  503. package/src/book-components/Chat/Chat/renderToolCallDetails.tsx +9 -12
  504. package/src/book-components/Chat/MarkdownContent/MarkdownContent.module.css +85 -17
  505. package/src/book-components/Chat/MarkdownContent/MarkdownContent.tsx +115 -2
  506. package/src/book-components/Chat/save/react/exports/chat-preview-2025-10-13 (1).jsx +95 -5
  507. package/src/book-components/Chat/utils/$provideServerDomWindow.ts +77 -0
  508. package/src/book-components/Chat/utils/agentProjectToolCall.ts +151 -0
  509. package/src/book-components/Chat/utils/externalSourceToolCall.ts +65 -0
  510. package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +64 -0
  511. package/src/book-components/Chat/utils/renderMarkdown.ts +660 -119
  512. package/src/book-components/Chat/utils/timeoutToolCallPresentation.ts +34 -3
  513. package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +14 -0
  514. package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +1 -0
  515. package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +1 -1
  516. package/src/cli/cli-commands/coder/GitChangesMode.ts +35 -0
  517. package/src/cli/cli-commands/coder/add.ts +40 -12
  518. package/src/cli/cli-commands/coder/boilerplateCount.ts +139 -0
  519. package/src/cli/cli-commands/coder/boilerplateTemplates.ts +3 -15
  520. package/src/cli/cli-commands/coder/generate-boilerplates.ts +81 -47
  521. package/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.ts +7 -4
  522. package/src/cli/cli-commands/coder/init.ts +40 -4
  523. package/src/cli/cli-commands/coder/ping.ts +58 -44
  524. package/src/cli/cli-commands/coder/run.ts +23 -4
  525. package/src/cli/cli-commands/coder/server.ts +12 -3
  526. package/src/cli/cli-commands/coder/verify.ts +55 -16
  527. package/src/cli/cli-commands/coder/waitOptions.ts +33 -0
  528. package/src/cli/cli-commands/coder.ts +3 -3
  529. package/src/cli/cli-commands/common/coderGitSyncCliOptions.ts +82 -0
  530. package/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.ts +9 -2
  531. package/src/cli/cli-commands/common/harness/$checkHarnessInstallation.ts +24 -8
  532. package/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.ts +6 -3
  533. package/src/cli/cli-commands/common/harness/$resolveInstalledHarnessVersion.ts +2 -2
  534. package/src/cli/cli-commands/common/harness/HarnessInstallationStatus.ts +3 -2
  535. package/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.ts +2 -1
  536. package/src/cli/cli-commands/common/harnessUpdateCliOptions.ts +46 -0
  537. package/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.ts → npm/$askForNpmPackageInstallationApproval.ts} +3 -3
  538. package/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.ts +49 -0
  539. package/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.ts +28 -0
  540. package/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.ts +25 -0
  541. package/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.ts +165 -0
  542. package/src/cli/cli-commands/common/projectInitialization.ts +10 -1
  543. package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +22 -4
  544. package/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.ts +69 -0
  545. package/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.ts +117 -0
  546. package/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.ts +259 -0
  547. package/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.ts +55 -0
  548. package/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.ts +76 -0
  549. package/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.ts +32 -0
  550. package/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.ts +13 -0
  551. package/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.ts +45 -0
  552. package/src/cli/cli-commands/run/prepareRunCommandResources.ts +2 -1
  553. package/src/cli/cli-commands/run/resolveRunInputParameters.ts +2 -1
  554. package/src/cli/cli-commands/runInteractiveChatbot.ts +2 -1
  555. package/src/cli/common/$provideLlmToolsForCli.ts +2 -1
  556. package/src/cli/common/loadPromptsModule.ts +13 -0
  557. package/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.ts +47 -3
  558. package/src/commands/FORMAT/formatCommandParser.ts +4 -2
  559. package/src/commitments/ACTION/ACTION.ts +3 -3
  560. package/src/commitments/FROM/FROM.ts +13 -0
  561. package/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.ts +1 -1
  562. package/src/commitments/META_FULLNAME/META_FULLNAME.ts +70 -0
  563. package/src/commitments/META_ID/META_ID.ts +78 -0
  564. package/src/commitments/_common/getAllCommitmentsToolFunctionsForNode.ts +1 -49
  565. package/src/commitments/index.ts +6 -24
  566. package/src/conversion/archive/loadArchive.ts +2 -1
  567. package/src/conversion/archive/loadJsZipModule.ts +10 -0
  568. package/src/conversion/archive/saveArchive.ts +2 -1
  569. package/src/executables/platforms/locateAppOnWindows.ts +12 -9
  570. package/src/llm-providers/agent/Agent.ts +1 -1
  571. package/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.ts +13 -1
  572. package/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.ts +13 -1
  573. package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +6 -2
  574. package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +9 -7
  575. package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
  576. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +1 -1
  577. package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
  578. package/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.ts +1 -1
  579. package/src/llm-providers/openai/OpenAiCompatibleRequestManager.ts +12 -1
  580. package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +21 -18
  581. package/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.ts +1 -1
  582. package/src/llm-providers/openai/utils/loadOpenAiAgentsModule.ts +11 -0
  583. package/src/llm-providers/openai/utils/uploadFilesToOpenAi.ts +1 -1
  584. package/src/other/templates/getTemplatesPipelineCollection.ts +743 -889
  585. package/src/remote-server/createRemoteClient.ts +12 -1
  586. package/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.ts +8 -9
  587. package/src/scrapers/website/WebsiteScraper.ts +22 -2
  588. package/src/utils/agent-message-runtime/AgentMessageProjectChange.ts +183 -0
  589. package/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.ts +80 -0
  590. package/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.ts +108 -0
  591. package/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.ts +78 -75
  592. package/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.ts +341 -0
  593. package/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.ts +147 -0
  594. package/src/utils/agents/terminalAgentAvatarVisual.ts +31 -3
  595. package/src/utils/ascii-art/convertImageDataToAsciiArt.ts +9 -109
  596. package/src/utils/ascii-art/createAnsiColorCode.ts +132 -0
  597. package/src/utils/misc/createLazyModuleLoader.ts +27 -0
  598. package/src/utils/misc/debounce.ts +26 -5
  599. package/src/utils/random/$generateBookBoilerplate.ts +1 -1
  600. package/src/version.ts +2 -2
  601. package/src/versions.txt +16 -0
  602. package/umd/index.umd.js +8545 -8136
  603. package/umd/index.umd.js.map +1 -1
  604. package/umd/scripts/run-agent-messages/git/commitAgentProjectChanges.d.ts +15 -0
  605. package/umd/scripts/run-agent-messages/git/commitAnsweredMessageProjectChanges.d.ts +24 -0
  606. package/umd/scripts/run-agent-messages/git/ensureAgentProjectGitRepository.d.ts +20 -0
  607. package/umd/scripts/run-agent-messages/git/readAgentProjectCommitChange.d.ts +11 -0
  608. package/umd/scripts/run-agent-messages/git/runAgentProjectGitCommand.d.ts +29 -0
  609. package/umd/scripts/run-agent-messages/messages/buildAgentGoalChatPromptSection.d.ts +26 -0
  610. package/umd/scripts/run-agent-messages/messages/buildAgentMessagePrompt.d.ts +12 -1
  611. package/umd/scripts/run-agent-messages/messages/buildAgentProjectsPromptSection.d.ts +2 -14
  612. package/umd/scripts/run-agent-messages/messages/buildAgentTeamPromptSection.d.ts +12 -0
  613. package/umd/scripts/run-agent-messages/messages/finalizeAgentTeamConversationWorkspace.d.ts +16 -0
  614. package/umd/scripts/run-agent-messages/messages/listAgentProjectDirectoryNames.d.ts +7 -0
  615. package/umd/scripts/run-agent-messages/messages/loadAgentPlannedMessagesSidecar.d.ts +10 -0
  616. package/umd/scripts/run-agent-messages/messages/loadAgentTeamConversationWorkspace.d.ts +6 -0
  617. package/umd/scripts/run-agent-messages/messages/resolveAnsweredMessageTouches.d.ts +29 -0
  618. package/umd/scripts/run-codex-prompts/common/CoderRunControlFeedback.d.ts +54 -0
  619. package/umd/scripts/run-codex-prompts/common/applyCoderRunControlKey.d.ts +14 -0
  620. package/umd/scripts/run-codex-prompts/common/buildCoderRunControlKeyBadge.d.ts +7 -0
  621. package/umd/scripts/run-codex-prompts/common/createCoderRunStepTracker.d.ts +48 -0
  622. package/umd/scripts/run-codex-prompts/common/formatCoderRunControlFeedback.d.ts +13 -0
  623. package/umd/scripts/run-codex-prompts/common/listenForCoderRunControls.d.ts +17 -0
  624. package/umd/scripts/run-codex-prompts/common/normalizeLineEndingsInChangedFiles.d.ts +2 -3
  625. package/umd/scripts/run-codex-prompts/common/runGoScript/$spawnLoggedBashScript.d.ts +25 -0
  626. package/umd/scripts/run-codex-prompts/common/runGoScript/$terminateLoggedBashProcessTree.d.ts +11 -0
  627. package/umd/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +11 -0
  628. package/umd/scripts/run-codex-prompts/common/waitForPause.d.ts +0 -8
  629. package/umd/scripts/run-codex-prompts/common/waitForSkippableWorldTimeDeadline.d.ts +15 -0
  630. package/umd/scripts/run-codex-prompts/git/coderCommitScope.d.ts +31 -0
  631. package/umd/scripts/run-codex-prompts/git/coderGitSync.d.ts +56 -0
  632. package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +12 -3
  633. package/umd/scripts/run-codex-prompts/git/workingTreeChanges.d.ts +40 -0
  634. package/umd/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
  635. package/umd/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
  636. package/umd/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
  637. package/umd/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
  638. package/umd/scripts/run-codex-prompts/ping/pingCoderHarnessPeriodically.d.ts +22 -0
  639. package/umd/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
  640. package/umd/scripts/run-codex-prompts/prompts/buildPromptLabel.d.ts +6 -0
  641. package/umd/scripts/run-codex-prompts/prompts/buildPromptStatusDetails.d.ts +50 -0
  642. package/umd/scripts/run-codex-prompts/prompts/formatCoderRunSteps.d.ts +6 -3
  643. package/umd/scripts/run-codex-prompts/prompts/isPromptSectionUnfinished.d.ts +8 -0
  644. package/umd/scripts/run-codex-prompts/prompts/listPromptsByStatus.d.ts +7 -0
  645. package/umd/scripts/run-codex-prompts/prompts/markPromptDone.d.ts +15 -4
  646. package/umd/scripts/run-codex-prompts/prompts/markPromptFailed.d.ts +34 -1
  647. package/umd/scripts/run-codex-prompts/prompts/markPromptInProgress.d.ts +27 -0
  648. package/umd/scripts/run-codex-prompts/prompts/promptRunnerAttribution.d.ts +24 -0
  649. package/umd/scripts/run-codex-prompts/prompts/resolveInterruptedPrompt.d.ts +9 -0
  650. package/umd/scripts/run-codex-prompts/prompts/resolvePromptStatusLine.d.ts +19 -0
  651. package/umd/scripts/run-codex-prompts/prompts/writePromptStatusLine.d.ts +9 -0
  652. package/umd/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +1 -1
  653. package/umd/scripts/run-codex-prompts/server/coderServerHtml.d.ts +1 -1
  654. package/umd/scripts/run-codex-prompts/server/updatePromptSection.d.ts +1 -1
  655. package/umd/scripts/run-codex-prompts/testing/runPromptWithTestFeedback.d.ts +6 -0
  656. package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +15 -1
  657. package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +5 -5
  658. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +6 -1
  659. package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiTerminalFrameUpdate.d.ts +27 -0
  660. package/umd/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +11 -0
  661. package/umd/scripts/verify-prompts/$orderPromptFiles.d.ts +9 -0
  662. package/umd/scripts/verify-prompts/VerifyPromptsOrder.d.ts +26 -0
  663. package/umd/scripts/verify-prompts/verify-prompts.d.ts +8 -2
  664. package/umd/src/_packages/components.index.d.ts +4 -0
  665. package/umd/src/_packages/types.index.d.ts +4 -0
  666. package/umd/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
  667. package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
  668. package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
  669. package/umd/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +5 -0
  670. package/umd/src/book-2.0/agent-source/ParsedUnknownCommitment.d.ts +26 -0
  671. package/umd/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.unknown.test.d.ts +1 -0
  672. package/umd/src/book-2.0/agent-source/getBookCommitmentLineType.d.ts +19 -0
  673. package/umd/src/book-2.0/agent-source/parseAgentSourceWithCommitments.unknown.test.d.ts +1 -0
  674. package/umd/src/book-3.0/AgentMessageRunReport.d.ts +46 -0
  675. package/umd/src/book-3.0/AgentPlannedMessagesSidecar.d.ts +127 -0
  676. package/umd/src/book-3.0/AgentPlannedMessagesSidecar.test.d.ts +1 -0
  677. package/umd/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
  678. package/umd/src/book-3.0/createAgentMessageSidecarBaseName.d.ts +13 -0
  679. package/umd/src/book-3.0/describeAgentPlannedMessageSchedule.d.ts +31 -0
  680. package/umd/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +1 -9
  681. package/umd/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.d.ts +28 -0
  682. package/umd/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.test.d.ts +1 -0
  683. package/umd/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.d.ts +28 -0
  684. package/umd/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.test.d.ts +1 -0
  685. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
  686. package/umd/src/book-components/Chat/Chat/renderAgentProjectDiff.d.ts +13 -0
  687. package/umd/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.d.ts +16 -0
  688. package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
  689. package/umd/src/book-components/Chat/utils/agentProjectToolCall.d.ts +85 -0
  690. package/umd/src/book-components/Chat/utils/agentProjectToolCall.test.d.ts +1 -0
  691. package/umd/src/book-components/Chat/utils/externalSourceToolCall.d.ts +38 -0
  692. package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +68 -3
  693. package/umd/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +30 -0
  694. package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
  695. package/umd/src/cli/cli-commands/coder/GitChangesMode.d.ts +28 -0
  696. package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
  697. package/umd/src/cli/cli-commands/coder/boilerplateCount.test.d.ts +1 -0
  698. package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +4 -3
  699. package/umd/src/cli/cli-commands/coder/generate-boilerplates.test.d.ts +1 -0
  700. package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
  701. package/umd/src/cli/cli-commands/coder/verify.d.ts +1 -1
  702. package/umd/src/cli/cli-commands/coder/waitOptions.d.ts +12 -0
  703. package/umd/src/cli/cli-commands/coder.d.ts +1 -1
  704. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
  705. package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
  706. package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +3 -3
  707. package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.test.d.ts +1 -0
  708. package/umd/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +3 -3
  709. package/umd/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +3 -2
  710. package/umd/src/cli/cli-commands/common/harnessUpdateCliOptions.d.ts +29 -0
  711. package/umd/src/cli/cli-commands/common/harnessUpdateCliOptions.test.d.ts +1 -0
  712. package/{esm/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts → umd/src/cli/cli-commands/common/npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
  713. package/umd/src/cli/cli-commands/common/{harness/$resolveLatestHarnessVersion.d.ts → npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
  714. package/umd/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts +1 -0
  715. package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
  716. package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts +1 -0
  717. package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
  718. package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts +1 -0
  719. package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
  720. package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts +1 -0
  721. package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +9 -2
  722. package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
  723. package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts +1 -0
  724. package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
  725. package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts +1 -0
  726. package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
  727. package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts +1 -0
  728. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
  729. package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts +1 -0
  730. package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
  731. package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
  732. package/umd/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
  733. package/umd/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
  734. package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
  735. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +15 -0
  736. package/{esm/src/commitments/COMPONENT/COMPONENT.d.ts → umd/src/commitments/META_FULLNAME/META_FULLNAME.d.ts} +8 -5
  737. package/umd/src/commitments/META_ID/META_ID.d.ts +32 -0
  738. package/umd/src/commitments/index.d.ts +4 -12
  739. package/umd/src/executables/platforms/locateAppOnWindows.d.ts +1 -1
  740. package/umd/src/executables/platforms/locateAppOnWindows.test.d.ts +1 -0
  741. package/umd/src/llm-providers/agent/Agent.d.ts +1 -1
  742. package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
  743. package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
  744. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
  745. package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
  746. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
  747. package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
  748. package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
  749. package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
  750. package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
  751. package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
  752. package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
  753. package/umd/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
  754. package/umd/src/utils/agent-message-runtime/AgentMessageProjectChange.d.ts +76 -0
  755. package/umd/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.d.ts +45 -0
  756. package/umd/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.d.ts +62 -0
  757. package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
  758. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.d.ts +18 -0
  759. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.test.d.ts +1 -0
  760. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.d.ts +19 -0
  761. package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.test.d.ts +1 -0
  762. package/umd/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
  763. package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
  764. package/umd/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
  765. package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
  766. package/umd/src/utils/misc/debounce.d.ts +4 -2
  767. package/umd/src/utils/misc/debounce.test.d.ts +1 -0
  768. package/umd/src/utils/random/$generateBookBoilerplate.test.d.ts +1 -0
  769. package/umd/src/version.d.ts +1 -1
  770. package/apps/agents-server/scripts/ignore-kill-eperm.js +0 -31
  771. package/apps/agents-server/src/app/admin/task-manager/TaskManagerScopeTabs.tsx +0 -74
  772. package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/actions/route.ts +0 -103
  773. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsClient.tsx +0 -43
  774. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsEditDialog.tsx +0 -98
  775. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsFiltersCard.tsx +0 -75
  776. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsHeader.tsx +0 -53
  777. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsSummaryMetrics.tsx +0 -70
  778. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableCard.tsx +0 -58
  779. package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableRow.tsx +0 -242
  780. package/apps/agents-server/src/app/agents/[agentName]/timeouts/loading.tsx +0 -15
  781. package/apps/agents-server/src/app/agents/[agentName]/timeouts/page.tsx +0 -28
  782. package/apps/agents-server/src/app/agents/[agentName]/timeouts/useAgentTimeoutsClientState.ts +0 -769
  783. package/apps/agents-server/src/components/AgentProjectDnsInstructions/AgentProjectDnsInstructions.tsx +0 -182
  784. package/apps/agents-server/src/tools/configureTimeoutToolRuntimeAdapterForServer.ts +0 -381
  785. package/apps/agents-server/src/utils/emails/extractUseEmailConfigurationFromAgentSource.ts +0 -42
  786. package/apps/agents-server/src/utils/userChatClient/runAgentUserTimeoutBulkAction.ts +0 -24
  787. package/apps/agents-server/src/utils/userChatClient/updateAgentUserTimeout.ts +0 -25
  788. package/esm/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
  789. package/esm/scripts/run-codex-prompts/prompts/replacePromptTodoStatusLine.d.ts +0 -7
  790. package/esm/scripts/run-codex-prompts/ui/buildCoderRunOctopusVisual.d.ts +0 -13
  791. package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
  792. package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
  793. package/esm/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  794. package/esm/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  795. package/esm/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  796. package/esm/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  797. package/esm/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  798. package/esm/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  799. package/esm/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  800. package/esm/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  801. package/esm/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  802. package/esm/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  803. package/esm/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  804. package/esm/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  805. package/esm/src/commitments/META/META.d.ts +0 -65
  806. package/esm/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  807. package/esm/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  808. package/esm/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  809. package/esm/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  810. package/esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  811. package/esm/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  812. package/esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  813. package/esm/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  814. package/esm/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  815. package/esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  816. package/esm/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  817. package/esm/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  818. package/esm/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  819. package/esm/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  820. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  821. package/esm/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  822. package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  823. package/esm/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  824. package/esm/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  825. package/esm/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  826. package/esm/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  827. package/esm/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  828. package/esm/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  829. package/esm/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  830. package/esm/src/commitments/WALLET/WALLET.d.ts +0 -21
  831. package/esm/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  832. package/esm/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  833. package/esm/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  834. package/esm/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  835. package/esm/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  836. package/esm/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  837. package/esm/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  838. package/esm/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  839. package/esm/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  840. package/esm/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  841. package/esm/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  842. package/esm/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  843. package/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.ts +0 -34
  844. package/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.ts +0 -28
  845. package/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.ts +0 -39
  846. package/src/commitments/COMPONENT/COMPONENT.ts +0 -70
  847. package/src/commitments/MEMORY/MEMORY.ts +0 -94
  848. package/src/commitments/MEMORY/MemoryToolNames.ts +0 -13
  849. package/src/commitments/MEMORY/MemoryToolRuntimeAdapter.ts +0 -180
  850. package/src/commitments/MEMORY/createMemorySystemMessage.ts +0 -27
  851. package/src/commitments/MEMORY/createMemoryToolFunctions.ts +0 -134
  852. package/src/commitments/MEMORY/createMemoryTools.ts +0 -115
  853. package/src/commitments/MEMORY/getMemoryCommitmentDocumentation.ts +0 -47
  854. package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +0 -104
  855. package/src/commitments/MEMORY/getMemoryToolTitles.ts +0 -16
  856. package/src/commitments/MEMORY/parseMemoryToolArgs.ts +0 -126
  857. package/src/commitments/MEMORY/resolveMemoryRuntimeContext.ts +0 -23
  858. package/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.ts +0 -26
  859. package/src/commitments/META/META.ts +0 -168
  860. package/src/commitments/USE/TODO.txt +0 -1
  861. package/src/commitments/USE/aggregateUseCommitmentSystemMessages.ts +0 -219
  862. package/src/commitments/USE_BROWSER/TODO.txt +0 -1
  863. package/src/commitments/USE_BROWSER/USE_BROWSER.ts +0 -257
  864. package/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.ts +0 -45
  865. package/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.ts +0 -83
  866. package/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.ts +0 -146
  867. package/src/commitments/USE_EMAIL/USE_EMAIL.ts +0 -201
  868. package/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.ts +0 -75
  869. package/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.ts +0 -44
  870. package/src/commitments/USE_EMAIL/sendEmailViaBrowser.ts +0 -47
  871. package/src/commitments/USE_SEARCH_ENGINE/TODO.txt +0 -1
  872. package/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.ts +0 -171
  873. package/src/commitments/USE_SPAWN/USE_SPAWN.ts +0 -150
  874. package/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.ts +0 -42
  875. package/src/commitments/USE_SPAWN/spawnAgentViaBrowser.ts +0 -50
  876. package/src/commitments/USE_TIME/USE_TIME.ts +0 -177
  877. package/src/commitments/USE_TIMEOUT/TimeoutToolNames.ts +0 -13
  878. package/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.ts +0 -255
  879. package/src/commitments/USE_TIMEOUT/USE_TIMEOUT.ts +0 -117
  880. package/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.ts +0 -22
  881. package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +0 -361
  882. package/src/commitments/USE_TIMEOUT/createTimeoutTools.ts +0 -127
  883. package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +0 -67
  884. package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +0 -460
  885. package/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.ts +0 -36
  886. package/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.ts +0 -26
  887. package/src/commitments/WALLET/WALLET.ts +0 -71
  888. package/src/commitments/WALLET/WalletToolNames.ts +0 -14
  889. package/src/commitments/WALLET/WalletToolRuntimeAdapter.ts +0 -180
  890. package/src/commitments/WALLET/createWalletSystemMessage.ts +0 -22
  891. package/src/commitments/WALLET/createWalletToolFunctions.ts +0 -145
  892. package/src/commitments/WALLET/createWalletTools.ts +0 -129
  893. package/src/commitments/WALLET/getWalletCommitmentDocumentation.ts +0 -14
  894. package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +0 -64
  895. package/src/commitments/WALLET/getWalletToolTitles.ts +0 -17
  896. package/src/commitments/WALLET/parseWalletToolArgs.ts +0 -231
  897. package/src/commitments/WALLET/resolveWalletRuntimeContext.ts +0 -23
  898. package/src/commitments/WALLET/setWalletToolRuntimeAdapter.ts +0 -26
  899. package/src/commitments/_common/createSerpSearchToolFunction.ts +0 -46
  900. package/umd/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
  901. package/umd/scripts/run-codex-prompts/prompts/replacePromptTodoStatusLine.d.ts +0 -7
  902. package/umd/scripts/run-codex-prompts/ui/buildCoderRunOctopusVisual.d.ts +0 -13
  903. package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
  904. package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
  905. package/umd/src/commitments/MEMORY/MEMORY.d.ts +0 -48
  906. package/umd/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
  907. package/umd/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
  908. package/umd/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
  909. package/umd/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
  910. package/umd/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
  911. package/umd/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
  912. package/umd/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  913. package/umd/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
  914. package/umd/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
  915. package/umd/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
  916. package/umd/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
  917. package/umd/src/commitments/META/META.d.ts +0 -65
  918. package/umd/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
  919. package/umd/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
  920. package/umd/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
  921. package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
  922. package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
  923. package/umd/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
  924. package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
  925. package/umd/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
  926. package/umd/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
  927. package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
  928. package/umd/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
  929. package/umd/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
  930. package/umd/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
  931. package/umd/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
  932. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
  933. package/umd/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
  934. package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
  935. package/umd/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
  936. package/umd/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
  937. package/umd/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
  938. package/umd/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
  939. package/umd/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
  940. package/umd/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
  941. package/umd/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
  942. package/umd/src/commitments/WALLET/WALLET.d.ts +0 -21
  943. package/umd/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
  944. package/umd/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
  945. package/umd/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
  946. package/umd/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
  947. package/umd/src/commitments/WALLET/createWalletTools.d.ts +0 -7
  948. package/umd/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
  949. package/umd/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
  950. package/umd/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
  951. package/umd/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
  952. package/umd/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
  953. package/umd/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
  954. package/umd/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
  955. /package/esm/src/{book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
  956. /package/esm/src/{cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  957. /package/esm/src/{cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → book-2.0/agent-source/createAgentModelRequirementsWithCommitments.unknown.test.d.ts} +0 -0
  958. /package/esm/src/{commitments/MEMORY/MEMORY.test.d.ts → book-2.0/agent-source/parseAgentSourceWithCommitments.unknown.test.d.ts} +0 -0
  959. /package/esm/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → book-3.0/AgentPlannedMessagesSidecar.test.d.ts} +0 -0
  960. /package/esm/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.test.d.ts} +0 -0
  961. /package/esm/src/{commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → book-components/BookEditor/createUnknownCommitmentDiagnostics.test.d.ts} +0 -0
  962. /package/esm/src/{commitments/USE_EMAIL/USE_EMAIL.test.d.ts → book-components/Chat/utils/agentProjectToolCall.test.d.ts} +0 -0
  963. /package/esm/src/{commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
  964. /package/esm/src/{commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
  965. /package/esm/src/{commitments/USE_SPAWN/USE_SPAWN.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
  966. /package/esm/src/{commitments/USE_TIME/USE_TIME.test.d.ts → cli/cli-commands/common/harness/$checkHarnessInstallation.test.d.ts} +0 -0
  967. /package/esm/src/{commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts → cli/cli-commands/common/harnessUpdateCliOptions.test.d.ts} +0 -0
  968. /package/esm/src/{commitments/WALLET/WALLET.test.d.ts → cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts} +0 -0
  969. /package/{umd/src/book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts → esm/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts} +0 -0
  970. /package/{umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts} +0 -0
  971. /package/{umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts} +0 -0
  972. /package/{umd/src/commitments/MEMORY/MEMORY.test.d.ts → esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts} +0 -0
  973. /package/{umd/src/commitments/USE_BROWSER/USE_BROWSER.test.d.ts → esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts} +0 -0
  974. /package/{umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts} +0 -0
  975. /package/{umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts} +0 -0
  976. /package/esm/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
  977. /package/{umd/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts → esm/src/executables/platforms/locateAppOnWindows.test.d.ts} +0 -0
  978. /package/{umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.test.d.ts} +0 -0
  979. /package/{umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.test.d.ts} +0 -0
  980. /package/{umd/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts → esm/src/utils/misc/debounce.test.d.ts} +0 -0
  981. /package/{umd/src/commitments/USE_TIME/USE_TIME.test.d.ts → esm/src/utils/random/$generateBookBoilerplate.test.d.ts} +0 -0
  982. /package/umd/src/{commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
  983. /package/umd/src/{commitments/WALLET/WALLET.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
  984. /package/umd/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
@@ -9,6 +9,7 @@ import type { Converter as ShowdownConverter } from 'showdown';
9
9
  import showdown from 'showdown';
10
10
  import type { string_html, string_markdown } from '../../../types/string_markdown';
11
11
  import { TODO_USE } from '../../../utils/organization/TODO_USE';
12
+ import { $provideServerDomWindow } from './$provideServerDomWindow';
12
13
  import { createCitationMarkerRegex, parseCitationMarker } from './parseCitationMarker';
13
14
 
14
15
  /**
@@ -42,6 +43,7 @@ const MARKDOWN_SANITIZER_ALLOWED_TAGS = [
42
43
  'b',
43
44
  'blockquote',
44
45
  'br',
46
+ 'button',
45
47
  'code',
46
48
  'del',
47
49
  'details',
@@ -155,6 +157,28 @@ const MARKDOWN_SANITIZER_ALLOWED_PROTOCOLS = new Set(['http', 'https', 'mailto',
155
157
  */
156
158
  const INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE = 'data-promptbook-inline-reference-menu-option';
157
159
 
160
+ /**
161
+ * Attribute marking a client action generated for an inline-reference menu.
162
+ *
163
+ * @private utility shared with `MarkdownContent`
164
+ */
165
+ export const MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE = 'data-promptbook-inline-reference-menu-action';
166
+
167
+ /**
168
+ * Attribute identifying the inline reference which owns a client menu action.
169
+ *
170
+ * @private utility shared with `MarkdownContent`
171
+ */
172
+ export const MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE =
173
+ 'data-promptbook-inline-reference-menu-action-reference';
174
+
175
+ /**
176
+ * Attribute marking a favicon rendered inside an inline-reference chip.
177
+ *
178
+ * @private utility shared with `MarkdownContent`
179
+ */
180
+ export const MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE = 'data-promptbook-inline-reference-icon';
181
+
158
182
  /**
159
183
  * Internal `data-*` attributes that Promptbook injects into rendered markdown and must survive sanitization.
160
184
  *
@@ -164,6 +188,9 @@ const MARKDOWN_SANITIZER_ALLOWED_DATA_ATTRIBUTES = new Set([
164
188
  'data-citation-footnote',
165
189
  'data-chat-progress-marker',
166
190
  INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE,
191
+ MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE,
192
+ MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE,
193
+ MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE,
167
194
  ]);
168
195
 
169
196
  /**
@@ -218,13 +245,6 @@ let browserMarkdownSanitizer: DomPurifyInstance | null = null;
218
245
  */
219
246
  let serverMarkdownSanitizer: DomPurifyInstance | null = null;
220
247
 
221
- /**
222
- * Shared JSDOM window backing the server-side DOMPurify instance.
223
- *
224
- * @private utility of `renderMarkdown`
225
- */
226
- let serverMarkdownSanitizerWindow: DomPurifyWindowLike | null = null;
227
-
228
248
  /**
229
249
  * Pattern matching CODE FENCE.
230
250
  */
@@ -273,14 +293,63 @@ const DETAILS_PLACEHOLDER_WRAPPED_REGEX = new RegExp(`<p>\\s*(${DETAILS_PLACEHOL
273
293
  const INLINE_REFERENCE_REGEX = /\[\[([^\]\r\n]+?)\]\]/g;
274
294
 
275
295
  /**
276
- * Pattern matching ordinary markdown links that can be promoted to inline reference chips.
296
+ * Prefix for INLINE REFERENCE PLACEHOLDER.
297
+ *
298
+ * @private utility of `renderMarkdown`
299
+ */
300
+ const INLINE_REFERENCE_PLACEHOLDER_PREFIX = '@@PROMPTBOOK_INLINE_REFERENCE_PLACEHOLDER__';
301
+
302
+ /**
303
+ * Pattern matching INLINE REFERENCE PLACEHOLDER.
277
304
  *
278
- * Images are intentionally captured separately and left unchanged by the replacement helper.
305
+ * @private utility of `renderMarkdown`
306
+ */
307
+ const INLINE_REFERENCE_PLACEHOLDER_REGEX = new RegExp(`${INLINE_REFERENCE_PLACEHOLDER_PREFIX}(\\d+)__`, 'g');
308
+
309
+ /**
310
+ * Prefix for markdown text-segment placeholders used while resolving plain-text inline-reference aliases.
279
311
  *
280
312
  * @private utility of `renderMarkdown`
281
313
  */
282
- const MARKDOWN_INLINE_REFERENCE_LINK_REGEX =
283
- /(!?)\[([^\]\r\n]*)\]\(\s*(<[^>\r\n]+>|[^)\s]+)(?:\s+(?:"[^"\r\n]*"|'[^'\r\n]*'|\([^)]*\)))?\s*\)/g;
314
+ const MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_PREFIX = '@@PROMPTBOOK_MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER__';
315
+
316
+ /**
317
+ * Pattern matching markdown text-segment placeholders.
318
+ *
319
+ * @private utility of `renderMarkdown`
320
+ */
321
+ const MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_REGEX = new RegExp(
322
+ `${MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_PREFIX}(\\d+)__`,
323
+ 'g',
324
+ );
325
+
326
+ /**
327
+ * Pattern matching markdown links and images together with their raw target.
328
+ *
329
+ * @private utility of `renderMarkdown`
330
+ */
331
+ const MARKDOWN_LINK_REGEX = /(!?)\[([^\]\r\n]*)\]\(\s*(<[^>\r\n]*>|[^()\s]+)(?:\s+(?:"[^"]*"|'[^']*'))?\s*\)/g;
332
+
333
+ /**
334
+ * Pattern matching bare `http(s)` URLs written directly into markdown text.
335
+ *
336
+ * @private utility of `renderMarkdown`
337
+ */
338
+ const BARE_URL_REGEX = /(^|\s)(https?:\/\/[^\s<>()[\]"']+)/g;
339
+
340
+ /**
341
+ * Sentence punctuation which trails a bare URL instead of belonging to it.
342
+ *
343
+ * @private utility of `renderMarkdown`
344
+ */
345
+ const BARE_URL_TRAILING_PUNCTUATION_REGEX = /[.,;:!?]+$/;
346
+
347
+ /**
348
+ * Pattern splitting one URL into its scheme, host and remaining part.
349
+ *
350
+ * @private utility of `renderMarkdown`
351
+ */
352
+ const ABSOLUTE_URL_REGEX = /^[a-z][a-z0-9+.-]*:\/\/([^/?#]*)(.*)$/i;
284
353
 
285
354
  /**
286
355
  * Markdown patterns that are strong enough to identify content as markdown.
@@ -339,6 +408,14 @@ export type MarkdownInlineReference = {
339
408
  */
340
409
  readonly reference: string;
341
410
 
411
+ /**
412
+ * Optional text aliases which should render as this reference when an agent mentions them in markdown.
413
+ *
414
+ * They are also accepted inside a `[[reference]]` token. This lets application code use a stable
415
+ * technical reference while recognizing a human-facing name in older messages.
416
+ */
417
+ readonly sourceTextAliases?: ReadonlyArray<string>;
418
+
342
419
  /**
343
420
  * Human-readable label rendered inside the link chip.
344
421
  */
@@ -350,10 +427,12 @@ export type MarkdownInlineReference = {
350
427
  readonly href: string;
351
428
 
352
429
  /**
353
- * Markdown link destination prefixes that should render as this reference as well.
430
+ * Optional URL prefixes which also identify this reference in the authored markdown.
354
431
  *
355
- * This supports legacy links such as an Agents Server project file URL while keeping
356
- * `reference` as the canonical `[[project]]` token.
432
+ * A markdown link or a bare URL pointing to one of these prefixes is rendered as the same chip
433
+ * as the `[[reference]]` token. Both absolute URLs (for example `https://project.example.com`)
434
+ * and application paths (for example `/agents/agent/projects/website`) are supported; a path
435
+ * prefix matches on any host so that both relative and absolute links are recognized.
357
436
  */
358
437
  readonly sourceHrefPrefixes?: ReadonlyArray<string>;
359
438
 
@@ -362,12 +441,34 @@ export type MarkdownInlineReference = {
362
441
  */
363
442
  readonly title?: string;
364
443
 
444
+ /**
445
+ * Optional favicon and text fallback rendered before the reference label.
446
+ */
447
+ readonly icon?: MarkdownInlineReferenceIcon;
448
+
365
449
  /**
366
450
  * Optional expandable menu shown when the reference chip is clicked.
367
451
  */
368
452
  readonly menu?: MarkdownInlineReferenceMenu;
369
453
  };
370
454
 
455
+ /**
456
+ * Visual identity rendered inside one markdown inline-reference chip.
457
+ *
458
+ * @public exported from `@promptbook/components`
459
+ */
460
+ export type MarkdownInlineReferenceIcon = {
461
+ /**
462
+ * Optional image URL. The fallback remains visible when the image is unavailable.
463
+ */
464
+ readonly src?: string | null;
465
+
466
+ /**
467
+ * Short text rendered when the image is missing or broken.
468
+ */
469
+ readonly fallbackText: string;
470
+ };
471
+
371
472
  /**
372
473
  * Status displayed alongside an expandable markdown inline reference.
373
474
  *
@@ -405,6 +506,28 @@ export type MarkdownInlineReferenceMenuOption = {
405
506
  * Optional hover text for the option.
406
507
  */
407
508
  readonly title?: string;
509
+
510
+ /**
511
+ * Optional client action rendered as a button instead of a link.
512
+ */
513
+ readonly action?: MarkdownInlineReferenceMenuAction;
514
+ };
515
+
516
+ /**
517
+ * Client-side action exposed by an expandable markdown inline-reference menu.
518
+ *
519
+ * @public exported from `@promptbook/components`
520
+ */
521
+ export type MarkdownInlineReferenceMenuAction = {
522
+ /**
523
+ * Stable identifier unique within the owning reference menu.
524
+ */
525
+ readonly id: string;
526
+
527
+ /**
528
+ * Callback invoked when the menu button is selected.
529
+ */
530
+ readonly onSelect: () => void | Promise<void>;
408
531
  };
409
532
 
410
533
  /**
@@ -432,6 +555,14 @@ type MaskedCodeSegmentsResult = {
432
555
  restore: (value: string_markdown) => string_markdown;
433
556
  };
434
557
 
558
+ /**
559
+ * Result of temporarily masked markdown links, images and bare URLs.
560
+ */
561
+ type MaskedMarkdownLinkAndUrlSegmentsResult = {
562
+ masked: string_markdown;
563
+ restore: (value: string_markdown) => string_markdown;
564
+ };
565
+
435
566
  /**
436
567
  * Result of masked details blocks.
437
568
  */
@@ -546,21 +677,6 @@ function createMarkdownSanitizer(sanitizerWindow: DomPurifyWindowLike): DomPurif
546
677
  return markdownSanitizer;
547
678
  }
548
679
 
549
- /**
550
- * Lazily creates the JSDOM window used by server-side markdown sanitization.
551
- *
552
- * @private utility of `renderMarkdown`
553
- */
554
- function getServerMarkdownSanitizerWindow(): DomPurifyWindowLike {
555
- if (!serverMarkdownSanitizerWindow) {
556
- // eslint-disable-next-line @typescript-eslint/no-var-requires
557
- const { JSDOM } = require('jsdom') as typeof import('jsdom');
558
- serverMarkdownSanitizerWindow = new JSDOM('').window as unknown as DomPurifyWindowLike;
559
- }
560
-
561
- return serverMarkdownSanitizerWindow;
562
- }
563
-
564
680
  /**
565
681
  * Returns the shared DOMPurify instance appropriate for the current runtime.
566
682
  *
@@ -573,7 +689,7 @@ function getMarkdownSanitizer(): DomPurifyInstance {
573
689
  return browserMarkdownSanitizer;
574
690
  }
575
691
 
576
- serverMarkdownSanitizer ??= createMarkdownSanitizer(getServerMarkdownSanitizerWindow());
692
+ serverMarkdownSanitizer ??= createMarkdownSanitizer($provideServerDomWindow());
577
693
 
578
694
  return serverMarkdownSanitizer;
579
695
  }
@@ -717,12 +833,11 @@ const CHAT_MARKDOWN_CONVERTER = createChatMarkdownConverter();
717
833
  * outer `<details>` and optional `<summary>` markup untouched.
718
834
  *
719
835
  * @param detailsBlock - Raw `<details>...</details>` HTML captured from markdown.
720
- * @param options - Markdown rendering options to reuse for the details body.
721
836
  * @returns `<details>` HTML whose body has been converted from markdown to HTML.
722
837
  *
723
838
  * @private utility of `renderMarkdown`
724
839
  */
725
- function renderDetailsBlock(detailsBlock: string, options?: RenderMarkdownOptions): string_html {
840
+ function renderDetailsBlock(detailsBlock: string): string_html {
726
841
  const openTagMatch = detailsBlock.match(/^<details\b[^>]*>/i);
727
842
  const closeTagMatch = detailsBlock.match(/<\/details\s*>$/i);
728
843
 
@@ -736,7 +851,7 @@ function renderDetailsBlock(detailsBlock: string, options?: RenderMarkdownOption
736
851
  const summaryMatch = innerContent.match(/^(\s*<summary\b[^>]*>[\s\S]*?<\/summary\s*>)([\s\S]*)$/i);
737
852
  const summaryHtml = summaryMatch?.[1] ?? '';
738
853
  const bodyMarkdown = (summaryMatch?.[2] ?? innerContent) as string_markdown;
739
- const renderedBody = renderMarkdown(bodyMarkdown, options);
854
+ const renderedBody = renderMarkdown(bodyMarkdown);
740
855
 
741
856
  return `${openTag}${summaryHtml}${renderedBody}${closeTag}` as string_html;
742
857
  }
@@ -775,23 +890,60 @@ function maskMarkdownCodeSegments(markdown: string_markdown): MaskedCodeSegments
775
890
  };
776
891
  }
777
892
 
893
+ /**
894
+ * Masks markdown links, images and bare URLs while plain-text reference aliases are resolved.
895
+ *
896
+ * A matching display name inside an unrelated link label must keep that original link instead of
897
+ * producing a nested chip inside its anchor.
898
+ *
899
+ * @param markdown - Markdown without code segments.
900
+ * @returns Masked markdown and a restore helper.
901
+ *
902
+ * @private utility of `renderMarkdown`
903
+ */
904
+ function maskMarkdownLinksAndBareUrls(markdown: string_markdown): MaskedMarkdownLinkAndUrlSegmentsResult {
905
+ const segments: string[] = [];
906
+ const addPlaceholder = (segment: string): string => {
907
+ const placeholder = `${MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_PREFIX}${segments.length}__`;
908
+ segments.push(segment);
909
+ return placeholder;
910
+ };
911
+
912
+ MARKDOWN_LINK_REGEX.lastIndex = 0;
913
+ let masked = markdown.replace(MARKDOWN_LINK_REGEX, (match) => addPlaceholder(match)) as string_markdown;
914
+
915
+ BARE_URL_REGEX.lastIndex = 0;
916
+ masked = masked.replace(BARE_URL_REGEX, (_match, leadingWhitespace: string, rawUrl: string) => {
917
+ return `${leadingWhitespace}${addPlaceholder(rawUrl)}`;
918
+ }) as string_markdown;
919
+
920
+ return {
921
+ masked,
922
+ restore(value: string_markdown): string_markdown {
923
+ return value.replace(
924
+ MARKDOWN_REFERENCE_TEXT_MASK_PLACEHOLDER_REGEX,
925
+ (_match, index) => segments[Number(index)] ?? '',
926
+ );
927
+ },
928
+ };
929
+ }
930
+
778
931
  /**
779
932
  * Masks `<details>...</details>` blocks in the markdown source so that Showdown never
780
933
  * processes their content.
781
934
  *
782
935
  * @param markdown - Markdown text that may contain raw HTML `<details>` blocks.
783
- * @param options - Markdown rendering options to reuse for the details body.
784
936
  * @returns Masked markdown and a restore helper that returns `string_html`.
785
937
  *
786
938
  * @private utility of `renderMarkdown`
787
939
  */
788
- function maskDetailsBlocks(markdown: string_markdown, options?: RenderMarkdownOptions): MaskedDetailsBlocksResult {
940
+ function maskDetailsBlocks(markdown: string_markdown): MaskedDetailsBlocksResult {
789
941
  const blocks: string_html[] = [];
790
942
 
791
943
  DETAILS_BLOCK_REGEX.lastIndex = 0;
792
944
  const masked = markdown.replace(DETAILS_BLOCK_REGEX, (match) => {
793
945
  const placeholder = `${DETAILS_PLACEHOLDER_PREFIX}${blocks.length}__`;
794
- blocks.push(renderDetailsBlock(match, options));
946
+ blocks.push(renderDetailsBlock(match));
795
947
  return placeholder;
796
948
  }) as string_markdown;
797
949
 
@@ -880,6 +1032,18 @@ function normalizeMarkdownInlineReferenceKey(value: string): string {
880
1032
  return value.trim().toLowerCase();
881
1033
  }
882
1034
 
1035
+ /**
1036
+ * Lists all token keys which can identify one inline reference.
1037
+ *
1038
+ * @param reference - Inline reference with its stable key and optional display-name aliases.
1039
+ * @returns Keys recognized inside `[[...]]` tokens.
1040
+ *
1041
+ * @private utility of `renderMarkdown`
1042
+ */
1043
+ function listMarkdownInlineReferenceKeys(reference: MarkdownInlineReference): ReadonlyArray<string> {
1044
+ return [reference.reference, ...(reference.sourceTextAliases || [])];
1045
+ }
1046
+
883
1047
  /**
884
1048
  * Builds a lookup of inline markdown references keyed by the authored `[[reference]]` text.
885
1049
  *
@@ -894,102 +1058,322 @@ function createMarkdownInlineReferenceByKey(
894
1058
  const referenceByKey = new Map<string, MarkdownInlineReference>();
895
1059
 
896
1060
  for (const reference of references) {
897
- const normalizedReference = normalizeMarkdownInlineReferenceKey(reference.reference);
898
- if (!normalizedReference || referenceByKey.has(normalizedReference)) {
899
- continue;
900
- }
1061
+ for (const referenceKey of listMarkdownInlineReferenceKeys(reference)) {
1062
+ const normalizedReference = normalizeMarkdownInlineReferenceKey(referenceKey);
1063
+ if (!normalizedReference || referenceByKey.has(normalizedReference)) {
1064
+ continue;
1065
+ }
901
1066
 
902
- referenceByKey.set(normalizedReference, reference);
1067
+ referenceByKey.set(normalizedReference, reference);
1068
+ }
903
1069
  }
904
1070
 
905
1071
  return referenceByKey;
906
1072
  }
907
1073
 
908
1074
  /**
909
- * Returns whether a href starts with a configured source href prefix.
1075
+ * One display-name alias and the inline reference it renders.
910
1076
  *
911
- * @param href - Markdown link destination.
912
- * @param sourceHrefPrefix - Configured source href prefix.
913
- * @returns Whether the href belongs to the source prefix.
1077
+ * @private utility of `renderMarkdown`
1078
+ */
1079
+ type MarkdownInlineReferenceTextMatcher = {
1080
+ /**
1081
+ * Reference rendered for the alias.
1082
+ */
1083
+ readonly reference: MarkdownInlineReference;
1084
+
1085
+ /**
1086
+ * Human-readable source text recognized in markdown.
1087
+ */
1088
+ readonly sourceTextAlias: string;
1089
+ };
1090
+
1091
+ /**
1092
+ * Escapes text before embedding it into a regular expression.
1093
+ *
1094
+ * @param value - Literal text to match.
1095
+ * @returns Regular-expression-safe text.
914
1096
  *
915
1097
  * @private utility of `renderMarkdown`
916
1098
  */
917
- function doesHrefStartWithSourceHrefPrefix(href: string, sourceHrefPrefix: string): boolean {
918
- if (href === sourceHrefPrefix) {
919
- return true;
1099
+ function escapeRegularExpression(value: string): string {
1100
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1101
+ }
1102
+
1103
+ /**
1104
+ * Creates non-ambiguous display-name matchers for inline references.
1105
+ *
1106
+ * Longer aliases are matched first so a project named `Prague Map` wins over a project named `Map`.
1107
+ * An alias shared by more than one reference is deliberately ignored instead of linking to an arbitrary project.
1108
+ *
1109
+ * @param references - References available to this markdown render.
1110
+ * @returns Plain-text matchers ordered from longest to shortest alias.
1111
+ *
1112
+ * @private utility of `renderMarkdown`
1113
+ */
1114
+ function createMarkdownInlineReferenceTextMatchers(
1115
+ references: ReadonlyArray<MarkdownInlineReference>,
1116
+ ): ReadonlyArray<MarkdownInlineReferenceTextMatcher> {
1117
+ const matcherByNormalizedAlias = new Map<string, MarkdownInlineReferenceTextMatcher | null>();
1118
+
1119
+ for (const reference of references) {
1120
+ for (const sourceTextAliasCandidate of reference.sourceTextAliases || []) {
1121
+ const sourceTextAlias = sourceTextAliasCandidate.trim();
1122
+ const normalizedAlias = normalizeMarkdownInlineReferenceKey(sourceTextAlias);
1123
+ if (!normalizedAlias) {
1124
+ continue;
1125
+ }
1126
+
1127
+ const existingMatcher = matcherByNormalizedAlias.get(normalizedAlias);
1128
+ if (existingMatcher === undefined) {
1129
+ matcherByNormalizedAlias.set(normalizedAlias, { reference, sourceTextAlias });
1130
+ } else if (existingMatcher !== null && existingMatcher.reference !== reference) {
1131
+ matcherByNormalizedAlias.set(normalizedAlias, null);
1132
+ }
1133
+ }
920
1134
  }
921
1135
 
922
- const normalizedSourceHrefPrefix = sourceHrefPrefix.endsWith('/') ? sourceHrefPrefix : `${sourceHrefPrefix}/`;
1136
+ return Array.from(matcherByNormalizedAlias.values())
1137
+ .filter((matcher): matcher is MarkdownInlineReferenceTextMatcher => matcher !== null)
1138
+ .sort(
1139
+ (firstMatcher, secondMatcher) =>
1140
+ secondMatcher.sourceTextAlias.length - firstMatcher.sourceTextAlias.length ||
1141
+ firstMatcher.sourceTextAlias.localeCompare(secondMatcher.sourceTextAlias),
1142
+ );
1143
+ }
1144
+
1145
+ /**
1146
+ * Creates a regular expression matching one plain-text alias with optional bold markdown around it.
1147
+ *
1148
+ * @param sourceTextAlias - Literal display name to match.
1149
+ * @param isMarkdownFormattingMatched - Whether matching `**alias**` and `__alias__` form.
1150
+ * @returns Unicode-aware whole-text regular expression.
1151
+ *
1152
+ * @private utility of `renderMarkdown`
1153
+ */
1154
+ function createMarkdownInlineReferenceTextAliasRegex(
1155
+ sourceTextAlias: string,
1156
+ isMarkdownFormattingMatched: boolean,
1157
+ ): RegExp {
1158
+ const escapedAlias = escapeRegularExpression(sourceTextAlias);
1159
+ const boundaryCharacterClass = '\\p{L}\\p{N}_-';
1160
+ const boundaryPattern = `[^${boundaryCharacterClass}]`;
1161
+ const aliasPattern = isMarkdownFormattingMatched ? `(?:\\*\\*|__)${escapedAlias}(?:\\*\\*|__)` : escapedAlias;
1162
+
1163
+ return new RegExp(`(^|${boundaryPattern})${aliasPattern}(?=$|${boundaryPattern})`, 'giu');
1164
+ }
923
1165
 
924
- return href.startsWith(normalizedSourceHrefPrefix);
1166
+ /**
1167
+ * Replaces known project display names in agent markdown with inline-reference placeholders.
1168
+ *
1169
+ * Bold aliases are replaced first so an older message such as `**Prague Murders Map**` becomes one
1170
+ * chip rather than a chip nested inside formatting markup.
1171
+ *
1172
+ * @param markdown - Markdown with code and links already masked.
1173
+ * @param matchers - Non-ambiguous display-name aliases available to this render.
1174
+ * @param createPlaceholder - Renders a matched reference into a placeholder.
1175
+ * @returns Markdown containing inline-reference placeholders.
1176
+ *
1177
+ * @private utility of `renderMarkdown`
1178
+ */
1179
+ function replaceMarkdownInlineReferenceTextAliases(
1180
+ markdown: string_markdown,
1181
+ matchers: ReadonlyArray<MarkdownInlineReferenceTextMatcher>,
1182
+ createPlaceholder: CreateMarkdownInlineReferencePlaceholder,
1183
+ ): string_markdown {
1184
+ let referencedMarkdown = markdown;
1185
+
1186
+ for (const matcher of matchers) {
1187
+ for (const isMarkdownFormattingMatched of [true, false]) {
1188
+ const aliasRegex = createMarkdownInlineReferenceTextAliasRegex(
1189
+ matcher.sourceTextAlias,
1190
+ isMarkdownFormattingMatched,
1191
+ );
1192
+ referencedMarkdown = referencedMarkdown.replace(aliasRegex, (_match, leadingBoundary: string) => {
1193
+ return `${leadingBoundary || ''}${createPlaceholder(matcher.reference)}`;
1194
+ }) as string_markdown;
1195
+ }
1196
+ }
1197
+
1198
+ return referencedMarkdown;
925
1199
  }
926
1200
 
927
1201
  /**
928
- * Returns a comparable path for an absolute href when the configured source prefix is relative.
1202
+ * Comparable parts of one URL used to recognize inline references written as links or bare URLs.
1203
+ *
1204
+ * @private utility of `renderMarkdown`
1205
+ */
1206
+ type ComparableUrlParts = {
1207
+ /**
1208
+ * Lowercase host of an absolute URL, or an empty string for a host-independent application path.
1209
+ */
1210
+ readonly host: string;
1211
+
1212
+ /**
1213
+ * Lowercase decoded path without query, hash and trailing slashes.
1214
+ */
1215
+ readonly path: string;
1216
+ };
1217
+
1218
+ /**
1219
+ * One inline reference together with its comparable source URL prefixes.
929
1220
  *
930
- * @param href - Href to normalize.
931
- * @returns Absolute URL pathname or the original href when it is relative/invalid.
1221
+ * @private utility of `renderMarkdown`
1222
+ */
1223
+ type MarkdownInlineReferenceHrefMatcher = {
1224
+ /**
1225
+ * Reference rendered when one of its source prefixes matches.
1226
+ */
1227
+ readonly reference: MarkdownInlineReference;
1228
+
1229
+ /**
1230
+ * Comparable form of the reference source URL prefixes.
1231
+ */
1232
+ readonly sourceHrefPrefixes: ReadonlyArray<ComparableUrlParts>;
1233
+ };
1234
+
1235
+ /**
1236
+ * Renders one matched reference and returns the placeholder standing for it.
932
1237
  *
933
1238
  * @private utility of `renderMarkdown`
934
1239
  */
935
- function resolveAbsoluteHrefPath(href: string): string {
1240
+ type CreateMarkdownInlineReferencePlaceholder = (reference: MarkdownInlineReference) => string;
1241
+
1242
+ /**
1243
+ * Decodes percent-encoded characters without failing on malformed input.
1244
+ *
1245
+ * @param value - Raw URL part.
1246
+ * @returns Decoded value, or the original value when it cannot be decoded.
1247
+ *
1248
+ * @private utility of `renderMarkdown`
1249
+ */
1250
+ function decodeUrlPartSafely(value: string): string {
936
1251
  try {
937
- return new URL(href).pathname;
1252
+ return decodeURIComponent(value);
938
1253
  } catch {
939
- return href;
1254
+ return value;
940
1255
  }
941
1256
  }
942
1257
 
943
1258
  /**
944
- * Returns whether one markdown link destination belongs to one inline reference.
1259
+ * Normalizes one URL path so that encoding, casing and trailing slashes do not break matching.
945
1260
  *
946
- * Relative project paths also match absolute URLs on the current server, which keeps
947
- * server-generated relative links and model-generated absolute links consistent.
1261
+ * @param path - Raw path including an optional query and hash.
1262
+ * @returns Comparable path.
948
1263
  *
949
- * @param reference - Candidate inline reference.
950
- * @param href - Markdown link destination.
951
- * @returns Whether the href should render as the reference chip.
1264
+ * @private utility of `renderMarkdown`
1265
+ */
1266
+ function normalizeUrlPathForComparison(path: string): string {
1267
+ const pathWithoutQuery = path.split(/[?#]/, 1)[0] || '';
1268
+
1269
+ return decodeUrlPartSafely(pathWithoutQuery).toLowerCase().replace(/\/+$/, '');
1270
+ }
1271
+
1272
+ /**
1273
+ * Splits one absolute URL or application path into its comparable parts.
1274
+ *
1275
+ * @param url - Raw link target written in markdown.
1276
+ * @returns Comparable URL parts, or `null` when the value cannot address a reference.
952
1277
  *
953
1278
  * @private utility of `renderMarkdown`
954
1279
  */
955
- function doesMarkdownInlineReferenceMatchHref(reference: MarkdownInlineReference, href: string): boolean {
956
- const normalizedHref = href.trim();
1280
+ function createComparableUrlParts(url: string): ComparableUrlParts | null {
1281
+ const trimmedUrl = url
1282
+ .trim()
1283
+ .replace(/^<([\s\S]*)>$/, '$1')
1284
+ .trim();
957
1285
 
958
- return (reference.sourceHrefPrefixes || []).some((sourceHrefPrefix) => {
959
- const normalizedSourceHrefPrefix = sourceHrefPrefix.trim();
960
- if (!normalizedSourceHrefPrefix) {
961
- return false;
962
- }
1286
+ if (trimmedUrl === '') {
1287
+ return null;
1288
+ }
963
1289
 
964
- if (doesHrefStartWithSourceHrefPrefix(normalizedHref, normalizedSourceHrefPrefix)) {
965
- return true;
966
- }
1290
+ const absoluteUrlMatch = trimmedUrl.match(ABSOLUTE_URL_REGEX);
1291
+ if (absoluteUrlMatch) {
1292
+ return {
1293
+ host: absoluteUrlMatch[1]!.toLowerCase(),
1294
+ path: normalizeUrlPathForComparison(absoluteUrlMatch[2] || ''),
1295
+ };
1296
+ }
967
1297
 
968
- const isRelativeSourceHrefPrefix = !/^[a-z][a-z0-9+.-]*:/i.test(normalizedSourceHrefPrefix);
969
- const isAbsoluteHref = /^[a-z][a-z0-9+.-]*:/i.test(normalizedHref);
1298
+ if (!trimmedUrl.startsWith('/')) {
1299
+ return null;
1300
+ }
970
1301
 
971
- return (
972
- isRelativeSourceHrefPrefix &&
973
- isAbsoluteHref &&
974
- doesHrefStartWithSourceHrefPrefix(resolveAbsoluteHrefPath(normalizedHref), normalizedSourceHrefPrefix)
975
- );
976
- });
1302
+ return {
1303
+ host: '',
1304
+ path: normalizeUrlPathForComparison(trimmedUrl),
1305
+ };
977
1306
  }
978
1307
 
979
1308
  /**
980
- * Finds the inline reference represented by a markdown link destination.
1309
+ * Returns whether one URL points into one reference source prefix.
981
1310
  *
982
- * @param references - Inline references available to the markdown renderer.
983
- * @param href - Markdown link destination.
984
- * @returns Matching reference or `undefined` when the href is unrelated.
1311
+ * @param url - Comparable parts of the link target written in markdown.
1312
+ * @param prefix - Comparable parts of one reference source prefix.
1313
+ * @returns `true` when the URL belongs to the reference.
985
1314
  *
986
1315
  * @private utility of `renderMarkdown`
987
1316
  */
988
- function findMarkdownInlineReferenceByHref(
1317
+ function isUrlWithinReferencePrefix(url: ComparableUrlParts, prefix: ComparableUrlParts): boolean {
1318
+ if (prefix.host !== '' && prefix.host !== url.host) {
1319
+ return false;
1320
+ }
1321
+
1322
+ if (prefix.path === '') {
1323
+ // Note: A prefix without a path covers the whole host, a prefix without both would cover everything
1324
+ return prefix.host !== '';
1325
+ }
1326
+
1327
+ return url.path === prefix.path || url.path.startsWith(`${prefix.path}/`);
1328
+ }
1329
+
1330
+ /**
1331
+ * Builds matchers for references which can also be written as a markdown link or a bare URL.
1332
+ *
1333
+ * @param references - References available to this markdown render.
1334
+ * @returns Matchers of references declaring at least one usable source prefix.
1335
+ *
1336
+ * @private utility of `renderMarkdown`
1337
+ */
1338
+ function createMarkdownInlineReferenceHrefMatchers(
989
1339
  references: ReadonlyArray<MarkdownInlineReference>,
1340
+ ): ReadonlyArray<MarkdownInlineReferenceHrefMatcher> {
1341
+ return references
1342
+ .map((reference) => ({
1343
+ reference,
1344
+ sourceHrefPrefixes: (reference.sourceHrefPrefixes || [])
1345
+ .map((sourceHrefPrefix) => createComparableUrlParts(sourceHrefPrefix))
1346
+ .filter((sourceHrefPrefix): sourceHrefPrefix is ComparableUrlParts => sourceHrefPrefix !== null),
1347
+ }))
1348
+ .filter((matcher) => matcher.sourceHrefPrefixes.length !== 0);
1349
+ }
1350
+
1351
+ /**
1352
+ * Finds the reference which owns one link target.
1353
+ *
1354
+ * @param href - Raw link target written in markdown.
1355
+ * @param matchers - Reference matchers of this markdown render.
1356
+ * @returns Matching reference or `null`.
1357
+ *
1358
+ * @private utility of `renderMarkdown`
1359
+ */
1360
+ function findMarkdownInlineReferenceForHref(
990
1361
  href: string,
991
- ): MarkdownInlineReference | undefined {
992
- return references.find((reference) => doesMarkdownInlineReferenceMatchHref(reference, href));
1362
+ matchers: ReadonlyArray<MarkdownInlineReferenceHrefMatcher>,
1363
+ ): MarkdownInlineReference | null {
1364
+ const urlParts = createComparableUrlParts(href);
1365
+
1366
+ if (urlParts === null) {
1367
+ return null;
1368
+ }
1369
+
1370
+ const matcher = matchers.find((candidateMatcher) =>
1371
+ candidateMatcher.sourceHrefPrefixes.some((sourceHrefPrefix) =>
1372
+ isUrlWithinReferencePrefix(urlParts, sourceHrefPrefix),
1373
+ ),
1374
+ );
1375
+
1376
+ return matcher?.reference || null;
993
1377
  }
994
1378
 
995
1379
  /**
@@ -1006,12 +1390,50 @@ function renderMarkdownInlineReferenceHtml(reference: MarkdownInlineReference, c
1006
1390
  return renderMarkdownInlineReferenceMenuHtml(reference, className);
1007
1391
  }
1008
1392
 
1009
- const escapedClassName = escapeHtml(className);
1393
+ const escapedClassName = escapeHtml(createMarkdownInlineReferenceClassName(reference, className));
1010
1394
  const escapedHref = escapeHtml(reference.href);
1011
1395
  const escapedLabel = escapeHtml(reference.label);
1012
1396
  const escapedTitle = escapeHtml(reference.title || reference.label);
1397
+ const iconHtml = renderMarkdownInlineReferenceIconHtml(reference.icon);
1398
+
1399
+ return `<a class="${escapedClassName}" href="${escapedHref}" title="${escapedTitle}">${iconHtml}<span>${escapedLabel}</span></a>`;
1400
+ }
1401
+
1402
+ /**
1403
+ * Adds the icon marker class only to references which provide icon metadata.
1404
+ *
1405
+ * @param reference - Inline reference being rendered.
1406
+ * @param className - Base chip class name.
1407
+ * @returns Complete class name for the rendered chip.
1408
+ *
1409
+ * @private utility of `renderMarkdown`
1410
+ */
1411
+ function createMarkdownInlineReferenceClassName(reference: MarkdownInlineReference, className: string): string {
1412
+ return reference.icon ? `${className} inlineReferenceChip--with-icon` : className;
1413
+ }
1013
1414
 
1014
- return `<a class="${escapedClassName}" href="${escapedHref}" title="${escapedTitle}">${escapedLabel}</a>`;
1415
+ /**
1416
+ * Renders one inline-reference favicon with a text fallback.
1417
+ *
1418
+ * @param icon - Optional icon metadata.
1419
+ * @returns Safe icon markup, or an empty string when no icon is configured.
1420
+ *
1421
+ * @private utility of `renderMarkdown`
1422
+ */
1423
+ function renderMarkdownInlineReferenceIconHtml(icon: MarkdownInlineReferenceIcon | undefined): string {
1424
+ if (!icon) {
1425
+ return '';
1426
+ }
1427
+
1428
+ const escapedFallbackText = escapeHtml(icon.fallbackText);
1429
+ const fallbackHtml = `<span class="inlineReferenceIconFallback">${escapedFallbackText}</span>`;
1430
+
1431
+ if (!icon.src) {
1432
+ return `<span class="inlineReferenceIcon" aria-hidden="true">${fallbackHtml}</span>`;
1433
+ }
1434
+
1435
+ const escapedSrc = escapeHtml(icon.src);
1436
+ return `<span class="inlineReferenceIcon" aria-hidden="true">${fallbackHtml}<img ${MARKDOWN_INLINE_REFERENCE_ICON_ATTRIBUTE} src="${escapedSrc}" alt=""></span>`;
1015
1437
  }
1016
1438
 
1017
1439
  /**
@@ -1030,30 +1452,44 @@ function renderMarkdownInlineReferenceMenuHtml(reference: MarkdownInlineReferenc
1030
1452
  return renderMarkdownInlineReferenceHtml({ ...reference, menu: undefined }, className);
1031
1453
  }
1032
1454
 
1033
- const escapedClassName = escapeHtml(className);
1455
+ const escapedClassName = escapeHtml(createMarkdownInlineReferenceClassName(reference, className));
1034
1456
  const escapedLabel = escapeHtml(reference.label);
1035
1457
  const escapedTitle = escapeHtml(reference.title || reference.label);
1036
1458
  const escapedStatusLabel = escapeHtml(menu.status.label);
1037
1459
  const statusClassName = menu.status.isActive
1038
1460
  ? 'inlineReferenceMenuStatus inlineReferenceMenuStatus--active'
1039
- : 'inlineReferenceMenuStatus';
1040
- const optionsHtml = menu.options.map((option) => renderMarkdownInlineReferenceMenuOptionHtml(option)).join('');
1461
+ : 'inlineReferenceMenuStatus inlineReferenceMenuStatus--inactive';
1462
+ const iconHtml = renderMarkdownInlineReferenceIconHtml(reference.icon);
1463
+ const optionsHtml = menu.options
1464
+ .map((option) => renderMarkdownInlineReferenceMenuOptionHtml(reference, option))
1465
+ .join('');
1041
1466
 
1042
- return `<details class="${escapedClassName}" title="${escapedTitle}"><summary><span>${escapedLabel}</span><span class="${statusClassName}" title="${escapedStatusLabel}"></span></summary><div><span class="${statusClassName}">${escapedStatusLabel}</span>${optionsHtml}</div></details>`;
1467
+ return `<details class="${escapedClassName}" title="${escapedTitle}"><summary>${iconHtml}<span>${escapedLabel}</span><span class="${statusClassName}" title="${escapedStatusLabel}"></span></summary><div><span class="${statusClassName}">${escapedStatusLabel}</span>${optionsHtml}</div></details>`;
1043
1468
  }
1044
1469
 
1045
1470
  /**
1046
1471
  * Renders one option in an expandable markdown inline reference menu.
1047
1472
  *
1473
+ * @param reference - Inline reference which owns the option.
1048
1474
  * @param option - Menu option definition.
1049
1475
  * @returns HTML anchor or disabled label markup.
1050
1476
  *
1051
1477
  * @private utility of `renderMarkdown`
1052
1478
  */
1053
- function renderMarkdownInlineReferenceMenuOptionHtml(option: MarkdownInlineReferenceMenuOption): string {
1479
+ function renderMarkdownInlineReferenceMenuOptionHtml(
1480
+ reference: MarkdownInlineReference,
1481
+ option: MarkdownInlineReferenceMenuOption,
1482
+ ): string {
1054
1483
  const escapedLabel = escapeHtml(option.label);
1055
1484
  const escapedTitle = escapeHtml(option.title || option.label);
1056
1485
 
1486
+ if (option.action) {
1487
+ const escapedActionId = escapeHtml(option.action.id);
1488
+ const escapedReference = escapeHtml(reference.reference);
1489
+
1490
+ return `<button type="button" ${MARKDOWN_INLINE_REFERENCE_MENU_ACTION_ATTRIBUTE}="${escapedActionId}" ${MARKDOWN_INLINE_REFERENCE_MENU_ACTION_REFERENCE_ATTRIBUTE}="${escapedReference}" class="inlineReferenceMenuOption" title="${escapedTitle}">${escapedLabel}</button>`;
1491
+ }
1492
+
1057
1493
  if (option.href === null) {
1058
1494
  return `<span class="inlineReferenceMenuOption inlineReferenceMenuOption--disabled" title="${escapedTitle}">${escapedLabel}</span>`;
1059
1495
  }
@@ -1063,11 +1499,113 @@ function renderMarkdownInlineReferenceMenuOptionHtml(option: MarkdownInlineRefer
1063
1499
  }
1064
1500
 
1065
1501
  /**
1066
- * Replaces known `[[reference]]` tokens with link chips while leaving unknown tokens unchanged.
1502
+ * Replaces known `[[reference]]` tokens with chip placeholders while leaving unknown tokens unchanged.
1503
+ *
1504
+ * @param markdown - Markdown content after code masking.
1505
+ * @param references - References available to this markdown render.
1506
+ * @param createPlaceholder - Renders one matched reference into a placeholder.
1507
+ * @returns Markdown with known reference tokens replaced by placeholders.
1508
+ *
1509
+ * @private utility of `renderMarkdown`
1510
+ */
1511
+ function replaceMarkdownInlineReferenceTokens(
1512
+ markdown: string_markdown,
1513
+ references: ReadonlyArray<MarkdownInlineReference>,
1514
+ createPlaceholder: CreateMarkdownInlineReferencePlaceholder,
1515
+ ): string_markdown {
1516
+ const referenceByKey = createMarkdownInlineReferenceByKey(references);
1517
+
1518
+ if (referenceByKey.size === 0) {
1519
+ return markdown;
1520
+ }
1521
+
1522
+ return markdown.replace(INLINE_REFERENCE_REGEX, (match, rawReference: string) => {
1523
+ const reference = referenceByKey.get(normalizeMarkdownInlineReferenceKey(rawReference));
1524
+
1525
+ return reference ? createPlaceholder(reference) : match;
1526
+ }) as string_markdown;
1527
+ }
1528
+
1529
+ /**
1530
+ * Replaces markdown links pointing to a known reference with chip placeholders.
1531
+ *
1532
+ * Images keep their original markdown so that pictures served by a reference stay visible.
1533
+ *
1534
+ * @param markdown - Markdown content after code masking.
1535
+ * @param matchers - Reference matchers of this markdown render.
1536
+ * @param createPlaceholder - Renders one matched reference into a placeholder.
1537
+ * @returns Markdown with known reference links replaced by placeholders.
1538
+ *
1539
+ * @private utility of `renderMarkdown`
1540
+ */
1541
+ function replaceMarkdownInlineReferenceLinks(
1542
+ markdown: string_markdown,
1543
+ matchers: ReadonlyArray<MarkdownInlineReferenceHrefMatcher>,
1544
+ createPlaceholder: CreateMarkdownInlineReferencePlaceholder,
1545
+ ): string_markdown {
1546
+ return markdown.replace(MARKDOWN_LINK_REGEX, (match, imageMarker: string, _label: string, rawHref: string) => {
1547
+ if (imageMarker !== '') {
1548
+ return match;
1549
+ }
1550
+
1551
+ const reference = findMarkdownInlineReferenceForHref(rawHref, matchers);
1552
+
1553
+ return reference ? createPlaceholder(reference) : match;
1554
+ }) as string_markdown;
1555
+ }
1556
+
1557
+ /**
1558
+ * Replaces bare URLs of known references with chip placeholders.
1559
+ *
1560
+ * @param markdown - Markdown content after reference links were replaced.
1561
+ * @param matchers - Reference matchers of this markdown render.
1562
+ * @param createPlaceholder - Renders one matched reference into a placeholder.
1563
+ * @returns Markdown with known reference URLs replaced by placeholders.
1564
+ *
1565
+ * @private utility of `renderMarkdown`
1566
+ */
1567
+ function replaceMarkdownInlineReferenceBareUrls(
1568
+ markdown: string_markdown,
1569
+ matchers: ReadonlyArray<MarkdownInlineReferenceHrefMatcher>,
1570
+ createPlaceholder: CreateMarkdownInlineReferencePlaceholder,
1571
+ ): string_markdown {
1572
+ return markdown.replace(BARE_URL_REGEX, (match, leadingWhitespace: string, rawUrl: string) => {
1573
+ const trailingPunctuation = rawUrl.match(BARE_URL_TRAILING_PUNCTUATION_REGEX)?.[0] || '';
1574
+ const url = rawUrl.slice(0, rawUrl.length - trailingPunctuation.length);
1575
+ const reference = findMarkdownInlineReferenceForHref(url, matchers);
1576
+
1577
+ return reference ? `${leadingWhitespace}${createPlaceholder(reference)}${trailingPunctuation}` : match;
1578
+ }) as string_markdown;
1579
+ }
1580
+
1581
+ /**
1582
+ * Restores chips which replaced references during the reference passes.
1583
+ *
1584
+ * @param markdown - Markdown containing reference placeholders.
1585
+ * @param renderedChips - Chip HTML indexed by placeholder number.
1586
+ * @returns Markdown with inline references rendered as HTML chips.
1587
+ *
1588
+ * @private utility of `renderMarkdown`
1589
+ */
1590
+ function restoreMarkdownInlineReferenceChips(
1591
+ markdown: string_markdown,
1592
+ renderedChips: ReadonlyArray<string>,
1593
+ ): string_markdown {
1594
+ return markdown.replace(
1595
+ INLINE_REFERENCE_PLACEHOLDER_REGEX,
1596
+ (_match, index) => renderedChips[Number(index)] ?? '',
1597
+ ) as string_markdown;
1598
+ }
1599
+
1600
+ /**
1601
+ * Replaces known `[[reference]]` tokens, reference links and bare reference URLs with link chips.
1602
+ *
1603
+ * Every matched reference is first replaced by a placeholder so that the rendered chip HTML is
1604
+ * never processed again by a later pass.
1067
1605
  *
1068
1606
  * @param markdown - Markdown content after code masking.
1069
1607
  * @param options - Markdown render options.
1070
- * @returns Markdown with known inline references rendered as HTML anchors.
1608
+ * @returns Markdown with known inline references rendered as HTML chips.
1071
1609
  *
1072
1610
  * @private utility of `renderMarkdown`
1073
1611
  */
@@ -1079,33 +1617,36 @@ function applyMarkdownInlineReferences(markdown: string_markdown, options?: Rend
1079
1617
  return markdown;
1080
1618
  }
1081
1619
 
1082
- const referenceByKey = createMarkdownInlineReferenceByKey(references);
1083
- if (referenceByKey.size === 0) {
1084
- return markdown;
1085
- }
1620
+ const renderedChips: Array<string> = [];
1621
+ const createPlaceholder: CreateMarkdownInlineReferencePlaceholder = (reference) => {
1622
+ const placeholder = `${INLINE_REFERENCE_PLACEHOLDER_PREFIX}${renderedChips.length}__`;
1623
+ renderedChips.push(renderMarkdownInlineReferenceHtml(reference, className));
1086
1624
 
1087
- const markdownWithInlineReferenceTokens = markdown.replace(
1088
- INLINE_REFERENCE_REGEX,
1089
- (match, rawReference: string) => {
1090
- const reference = referenceByKey.get(normalizeMarkdownInlineReferenceKey(rawReference));
1625
+ return placeholder;
1626
+ };
1091
1627
 
1092
- return reference ? renderMarkdownInlineReferenceHtml(reference, className) : match;
1093
- },
1094
- );
1628
+ const hrefMatchers = createMarkdownInlineReferenceHrefMatchers(references);
1629
+ let referencedMarkdown = replaceMarkdownInlineReferenceTokens(markdown, references, createPlaceholder);
1095
1630
 
1096
- return markdownWithInlineReferenceTokens.replace(
1097
- MARKDOWN_INLINE_REFERENCE_LINK_REGEX,
1098
- (match, imageMarker: string, _linkLabel: string, rawHref: string) => {
1099
- if (imageMarker) {
1100
- return match;
1101
- }
1631
+ if (hrefMatchers.length !== 0) {
1632
+ referencedMarkdown = replaceMarkdownInlineReferenceLinks(referencedMarkdown, hrefMatchers, createPlaceholder);
1633
+ referencedMarkdown = replaceMarkdownInlineReferenceBareUrls(
1634
+ referencedMarkdown,
1635
+ hrefMatchers,
1636
+ createPlaceholder,
1637
+ );
1638
+ }
1102
1639
 
1103
- const href = rawHref.replace(/^<|>$/g, '');
1104
- const reference = findMarkdownInlineReferenceByHref(references, href);
1640
+ const textMatchers = createMarkdownInlineReferenceTextMatchers(references);
1641
+ if (textMatchers.length !== 0) {
1642
+ const { masked: markdownWithMaskedLinksAndUrls, restore: restoreLinksAndUrls } =
1643
+ maskMarkdownLinksAndBareUrls(referencedMarkdown);
1644
+ referencedMarkdown = restoreLinksAndUrls(
1645
+ replaceMarkdownInlineReferenceTextAliases(markdownWithMaskedLinksAndUrls, textMatchers, createPlaceholder),
1646
+ );
1647
+ }
1105
1648
 
1106
- return reference ? renderMarkdownInlineReferenceHtml(reference, className) : match;
1107
- },
1108
- ) as string_markdown;
1649
+ return restoreMarkdownInlineReferenceChips(referencedMarkdown, renderedChips);
1109
1650
  }
1110
1651
 
1111
1652
  /**
@@ -1150,7 +1691,7 @@ export function renderMarkdown(markdown: string_markdown, options?: RenderMarkdo
1150
1691
 
1151
1692
  try {
1152
1693
  const normalizedMarkdown = normalizeMarkdownSublists(markdown);
1153
- const { masked: maskedMarkdown, restore: restoreDetails } = maskDetailsBlocks(normalizedMarkdown, options);
1694
+ const { masked: maskedMarkdown, restore: restoreDetails } = maskDetailsBlocks(normalizedMarkdown);
1154
1695
  const { masked: codeMaskedMarkdown, restore: restoreCode } = maskMarkdownCodeSegments(maskedMarkdown);
1155
1696
  const referencedMarkdown = applyMarkdownInlineReferences(codeMaskedMarkdown, options);
1156
1697
  const inlineReferenceMarkdown = restoreCode(referencedMarkdown);