@promptbook/cli 0.114.0-2 → 0.114.0-21
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.
- package/README.md +8 -16
- package/agents/default/developer.book +1 -0
- package/apps/agents-server/README.md +1 -1
- package/apps/agents-server/{USE_TIMEOUT_CHIP_QA.md → TIMEOUT_CHIP_QA.md} +1 -1
- package/apps/agents-server/next.config.ts +39 -0
- package/apps/agents-server/package.json +6 -6
- package/apps/agents-server/scripts/build-agents-server.js +43 -7
- package/apps/agents-server/scripts/build-e2e.js +12 -2
- package/apps/agents-server/scripts/generate-reserved-paths/generate-reserved-paths.ts +30 -16
- package/apps/agents-server/scripts/kill-port.js +163 -0
- package/apps/agents-server/scripts/run-e2e-tests.js +21 -8
- package/apps/agents-server/scripts/run-npm.js +81 -5
- package/apps/agents-server/src/app/admin/_components/AdminFilterFields.tsx +84 -0
- package/apps/agents-server/src/app/admin/_components/AdminMetricCard.tsx +36 -0
- package/apps/agents-server/src/app/admin/_components/AdminTaskManagerTabs.tsx +97 -0
- package/apps/agents-server/src/app/admin/email-server/page.tsx +17 -18
- package/apps/agents-server/src/app/admin/messages/MessageParticipants.tsx +84 -0
- package/apps/agents-server/src/app/admin/messages/MessageStatus.tsx +96 -0
- package/apps/agents-server/src/app/admin/messages/MessagesClient.tsx +29 -33
- package/apps/agents-server/src/app/admin/messages/messageAdminPresentation.ts +289 -0
- package/apps/agents-server/src/app/admin/messages/send-email/SendEmailClient.tsx +193 -63
- package/apps/agents-server/src/app/admin/messages/send-email/actions.ts +25 -28
- package/apps/agents-server/src/app/admin/messages/send-email/emailTesting.ts +153 -0
- package/apps/agents-server/src/app/admin/messages/send-email/emailTestingAccess.ts +30 -0
- package/apps/agents-server/src/app/admin/messages/send-email/page.tsx +18 -5
- package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerClient.tsx +103 -0
- package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerEditDialog.tsx +232 -0
- package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerFiltersCard.tsx +195 -0
- package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerRow.tsx +189 -0
- package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerSummaryMetrics.tsx +60 -0
- package/apps/agents-server/src/app/admin/planned-messages/PlannedMessageManagerTableCard.tsx +147 -0
- package/apps/agents-server/src/app/admin/planned-messages/page.tsx +17 -0
- package/apps/agents-server/src/app/admin/planned-messages/plannedMessageEditForm.ts +186 -0
- package/apps/agents-server/src/app/admin/planned-messages/plannedMessageManagerDialogs.ts +46 -0
- package/apps/agents-server/src/app/admin/planned-messages/plannedMessageManagerPresentation.tsx +188 -0
- package/apps/agents-server/src/app/admin/planned-messages/resolvePlannedMessageSortValue.ts +115 -0
- package/apps/agents-server/src/app/admin/planned-messages/usePlannedMessageManagerData.ts +116 -0
- package/apps/agents-server/src/app/admin/planned-messages/usePlannedMessageManagerState.ts +289 -0
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerClient.tsx +7 -2
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerFiltersCard.tsx +7 -73
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerSummaryMetrics.tsx +5 -30
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerTaskRow.tsx +2 -0
- package/apps/agents-server/src/app/admin/task-manager/[taskId]/TaskManagerTaskDetailClient.tsx +3 -1
- package/apps/agents-server/src/app/admin/task-manager/taskManagerTaskPresentation.tsx +23 -0
- package/apps/agents-server/src/app/agents/[agentName]/AgentChatWrapper.tsx +8 -9
- package/apps/agents-server/src/app/agents/[agentName]/AgentProfileChat.tsx +5 -9
- package/apps/agents-server/src/app/agents/[agentName]/api/book/reference-diagnostics/route.ts +30 -7
- package/apps/agents-server/src/app/agents/[agentName]/api/book/route.ts +9 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/book/test.http +3 -3
- package/apps/agents-server/src/app/agents/[agentName]/api/chat/resolveAgentChatRouteContext.ts +8 -16
- package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/[timeoutId]/route.ts +10 -153
- package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/route.ts +9 -4
- package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/route.ts +3 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/[chatId]/stream/route.ts +2 -0
- package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/resolveUserChatScope.ts +8 -1
- package/apps/agents-server/src/app/agents/[agentName]/api/user-chats/route.ts +15 -7
- package/apps/agents-server/src/app/agents/[agentName]/api/voice/route.ts +4 -9
- package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorMissingReferences.tsx +106 -12
- package/apps/agents-server/src/app/agents/[agentName]/book/BookEditorWrapper.tsx +3 -0
- package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorDiagnostics.ts +12 -0
- package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorSaving.ts +18 -28
- package/apps/agents-server/src/app/agents/[agentName]/book/useBookEditorWrapper.tsx +2 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatHistoryClient.tsx +19 -1
- package/apps/agents-server/src/app/agents/[agentName]/chat/AgentChatSidebarDefault.tsx +17 -5
- package/apps/agents-server/src/app/agents/[agentName]/chat/AgentGoalChatNotice.tsx +23 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/AgentGoalChatPlannedMessages.tsx +226 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatPanel.tsx +6 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/CanonicalAgentChatSurface.tsx +32 -12
- package/apps/agents-server/src/app/agents/[agentName]/chat/ExternalUserChatAdminActions.tsx +51 -3
- package/apps/agents-server/src/app/agents/[agentName]/chat/TeamMemberFrozenChatPrimaryAgentLink.tsx +31 -0
- package/apps/agents-server/src/app/agents/[agentName]/chat/page.tsx +2 -20
- package/apps/agents-server/src/app/agents/[agentName]/chat/useAgentChatSidebarState.ts +26 -2
- package/apps/agents-server/src/app/agents/[agentName]/goal/page.tsx +35 -0
- package/apps/agents-server/src/app/agents/[agentName]/page.tsx +2 -1
- package/apps/agents-server/src/app/agents/[agentName]/projectReferenceActions.ts +61 -0
- package/apps/agents-server/src/app/agents/[agentName]/projectRuntimeActions.ts +97 -0
- package/apps/agents-server/src/app/agents/[agentName]/projects/[projectName]/actions.ts +5 -50
- package/apps/agents-server/src/app/agents/[agentName]/projects/[projectName]/page.tsx +2 -2
- package/apps/agents-server/src/app/api/admin/default-agents/reinstate/route.ts +5 -1
- package/apps/agents-server/src/app/api/admin/dns-records/cloudflare/route.ts +26 -16
- package/apps/agents-server/src/app/api/admin/planned-messages/[timeoutId]/route.ts +80 -0
- package/apps/agents-server/src/app/api/admin/planned-messages/route.ts +19 -0
- package/apps/agents-server/src/app/api/emails/incoming/stalwart/route.ts +9 -2
- package/apps/agents-server/src/app/api/internal/agent-goal-chat-planned-messages/route.ts +201 -0
- package/apps/agents-server/src/app/api/scrape/route.ts +1 -1
- package/apps/agents-server/src/app/layout.tsx +31 -0
- package/apps/agents-server/src/app/superadmin/servers/ServersRegistryTable.tsx +31 -39
- package/apps/agents-server/src/app/system/user-wallet/UserWalletDraft.ts +2 -2
- package/apps/agents-server/src/components/AgentNaming/legacyAgentTextTranslations.cs.yaml +7 -0
- package/apps/agents-server/src/components/AgentProfile/AgentCapabilityChips.tsx +1 -24
- package/apps/agents-server/src/components/AgentProfile/AgentProfile.tsx +10 -3
- package/apps/agents-server/src/components/AgentProjects/AgentProjectIcon.tsx +137 -0
- package/apps/agents-server/src/components/AgentProjects/AgentProjectItem.tsx +26 -10
- package/apps/agents-server/src/components/AgentProjects/resolveLatestCompletedAgentMessageKey.ts +32 -0
- package/apps/agents-server/src/components/AgentProjects/useAgentProjectMarkdownReferences.ts +306 -0
- package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsApiTokenImportStep.tsx +5 -6
- package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsCheckStep.tsx +6 -5
- package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsManualStep.tsx +10 -14
- package/apps/agents-server/src/components/CloudflareDnsWizard/CloudflareDnsWizard.tsx +11 -20
- package/apps/agents-server/src/components/CloudflareDnsWizard/useCloudflareDnsRecordImport.ts +5 -6
- package/apps/agents-server/src/components/DefaultAgents/ReinstateBundledAgentsButton.tsx +7 -0
- package/apps/agents-server/src/components/DefaultAgents/coreAgentsAdminRoute.ts +6 -0
- package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsInstructions.tsx +91 -57
- package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsSectionPanel.tsx +63 -0
- package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsSectionVariantTabs.tsx +67 -0
- package/apps/agents-server/src/components/DnsRecordsInstructions/DnsRecordsTable.tsx +40 -0
- package/apps/agents-server/src/components/Header/Header.tsx +8 -0
- package/apps/agents-server/src/components/Header/HeaderTypes.ts +5 -0
- package/apps/agents-server/src/components/Header/buildActiveAgentViewItems.ts +5 -4
- package/apps/agents-server/src/components/Header/buildHeaderSystemMenuItems.ts +125 -30
- package/apps/agents-server/src/components/Header/createAgentViewLabel.tsx +4 -4
- package/apps/agents-server/src/components/Header/resolveActiveAgentNavigation.ts +2 -2
- package/apps/agents-server/src/components/Header/resolveHeaderSystemActivities.ts +86 -0
- package/apps/agents-server/src/components/Homepage/AgentCard.tsx +0 -3
- package/apps/agents-server/src/components/Homepage/DefaultAgentsStatusNotice.tsx +1 -7
- package/apps/agents-server/src/components/Homepage/useAgentsListImportExportState.ts +22 -10
- package/apps/agents-server/src/components/LayoutWrapper/LayoutWrapper.tsx +8 -0
- package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardState.ts +0 -12
- package/apps/agents-server/src/components/NewAgentDialog/NewAgentWizardUseSetupStep.tsx +0 -58
- package/apps/agents-server/src/components/NewAgentDialog/newAgentWizardPresets.ts +0 -56
- package/apps/agents-server/src/components/WalletRecordDialog/useWalletRecordDialogState.ts +1 -1
- package/apps/agents-server/src/components/_utils/generateMetaTxt.ts +1 -1
- package/apps/agents-server/src/database/migratePrefix.ts +13 -12
- package/apps/agents-server/src/database/migrations/2026-08-0100-agent-goal-chat-source.sql +10 -0
- package/apps/agents-server/src/database/migrations/2026-08-1800-user-chat-timeout-schedule.sql +11 -0
- package/apps/agents-server/src/generated/reservedPaths.ts +42 -42
- package/apps/agents-server/src/instrumentation-node.ts +18 -0
- package/apps/agents-server/src/languages/ServerTranslationKeys.ts +16 -11
- package/apps/agents-server/src/languages/translations/czech.yaml +16 -11
- package/apps/agents-server/src/languages/translations/english.yaml +16 -11
- package/apps/agents-server/src/message-providers/email/smtp/SmtpMessageProvider.ts +1 -1
- package/apps/agents-server/src/message-providers/email/stalwart/StalwartMessageProvider.ts +59 -19
- package/apps/agents-server/src/message-providers/email/stalwart/parseInboundStalwartEmail.ts +17 -2
- package/apps/agents-server/src/tools/$provideOpenAiAgentKitExecutionToolsForServer.ts +0 -191
- package/apps/agents-server/src/tools/$provideOpenAiAssistantExecutionToolsForServer.ts +0 -3
- package/apps/agents-server/src/tools/agentGoalChatTimeoutToolFunctions.ts +249 -0
- package/apps/agents-server/src/tools/agentGoalChatTimeoutTools.ts +147 -0
- package/apps/agents-server/src/tools/createServerChatRuntimeTools.ts +20 -0
- package/apps/agents-server/src/tools/getAllToolFunctionsForServer.ts +2 -0
- package/apps/agents-server/src/tools/run_browser.ts +1 -1
- package/apps/agents-server/src/tools/send_email.ts +3 -3
- package/apps/agents-server/src/utils/adminEntityLookups/loadAgentNamesByPermanentId.ts +45 -0
- package/apps/agents-server/src/utils/adminEntityLookups/loadUsernamesByUserId.ts +36 -0
- package/apps/agents-server/src/utils/adminEntityLookups.ts +2 -0
- package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatConstants.ts +14 -0
- package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatIdentity.ts +28 -0
- package/apps/agents-server/src/utils/agentGoalChat/agentGoalChatPlannedMessageActions.ts +583 -0
- package/apps/agents-server/src/utils/agentGoalChat/appendAgentGoalChatNote.ts +43 -0
- package/apps/agents-server/src/utils/agentGoalChat/canAccessAgentGoalChat.ts +14 -0
- package/apps/agents-server/src/utils/agentGoalChat/createAgentGoalChatNoteContent.ts +129 -0
- package/apps/agents-server/src/utils/agentGoalChat/enqueueAgentGoalChatTurn.ts +167 -0
- package/apps/agents-server/src/utils/agentGoalChat/ensureAgentGoalChat.ts +66 -0
- package/apps/agents-server/src/utils/agentGoalChat/prependAgentGoalChatSummarySeed.ts +40 -0
- package/apps/agents-server/src/utils/agentGoalChat/recordAgentGoalChatLifecycleNote.ts +53 -0
- package/apps/agents-server/src/utils/agentGoalChat/resolveAgentGoalChatOwnerUserId.ts +104 -0
- package/apps/agents-server/src/utils/agentGoalChat/resolveEffectiveAgentGoal.ts +29 -0
- package/apps/agents-server/src/utils/agentGoalChat/scheduleAgentGoalChatModifiedNote.ts +85 -0
- package/apps/agents-server/src/utils/agentGoalChat.ts +25 -0
- package/apps/agents-server/src/utils/agentProjects/AgentProjectInfo.ts +10 -1
- package/apps/agents-server/src/utils/agentProjects/AgentProjectReferenceInfo.ts +5 -2
- package/apps/agents-server/src/utils/agentProjects/AgentProjectRuntimeActionResult.ts +14 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectFileNames.ts +21 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectHrefs.ts +20 -11
- package/apps/agents-server/src/utils/agentProjects/agentProjectIdentity.ts +46 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeAutostartScheduler.ts +162 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeDesiredState.ts +252 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeDisplay.ts +6 -3
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeDomains.ts +2 -44
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimePaths.ts +25 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimePm2.ts +4 -3
- package/apps/agents-server/src/utils/agentProjects/agentProjectRuntimeRegistry.ts +77 -24
- package/apps/agents-server/src/utils/agentProjects/agentProjectStateMutationQueue.ts +58 -0
- package/apps/agents-server/src/utils/agentProjects/agentProjectsPaths.ts +15 -5
- package/apps/agents-server/src/utils/agentProjects/createAgentProjectInitials.ts +36 -0
- package/apps/agents-server/src/utils/agentProjects/createAgentProjectMarkdownReferences.ts +124 -19
- package/apps/agents-server/src/utils/agentProjects/createAgentProjectsDnsRecordsSection.ts +113 -0
- package/apps/agents-server/src/utils/agentProjects/createStaticAgentProjectServer.ts +2 -6
- package/apps/agents-server/src/utils/agentProjects/humanizeAgentProjectName.ts +25 -0
- package/apps/agents-server/src/utils/agentProjects/listAgentProjectChatReferences.ts +10 -3
- package/apps/agents-server/src/utils/agentProjects/listAgentProjectNames.ts +35 -0
- package/apps/agents-server/src/utils/agentProjects/listAgentProjects.ts +6 -23
- package/apps/agents-server/src/utils/agentProjects/listAllLocalAgentProjectIdentities.ts +48 -0
- package/apps/agents-server/src/utils/agentProjects/parseAgentProjectIndexHtml.ts +167 -0
- package/apps/agents-server/src/utils/agentProjects/readAgentProjectIndexHtmlProfile.ts +24 -0
- package/apps/agents-server/src/utils/agentProjects/readAgentProjectReadme.ts +3 -53
- package/apps/agents-server/src/utils/agentProjects/readAgentProjectRootTextFile.ts +73 -0
- package/apps/agents-server/src/utils/agentProjects/resolveAgentChatProjectReferences.ts +25 -0
- package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectFaviconRelativePath.ts +108 -0
- package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectInfo.ts +12 -3
- package/apps/agents-server/src/utils/agentProjects/{resolveAgentProjectReadmeProfile.ts → resolveAgentProjectProfile.ts} +33 -33
- package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectPublicUrls.ts +34 -0
- package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectRuntimeEnvironmentFlag.ts +23 -0
- package/apps/agents-server/src/utils/agentProjects/resolveAgentProjectRuntimeStatus.ts +73 -0
- package/apps/agents-server/src/utils/agentProjects/startDefaultAgentProjectRuntimes.ts +110 -0
- package/apps/agents-server/src/utils/agentReferenceResolver/MissingCoreAgentRecovery.ts +19 -0
- package/apps/agents-server/src/utils/agentReferenceResolver/bookScopedAgentReferences.ts +7 -0
- package/apps/agents-server/src/utils/agentReferenceResolver/createAgentInheritanceDiagnostics.ts +457 -0
- package/apps/agents-server/src/utils/agentReferenceResolver/createUnresolvedAgentReferenceDiagnostics.ts +27 -0
- package/apps/agents-server/src/utils/agentReferenceResolver/resolveCoreAgentAwareMissingReferences.ts +156 -0
- package/apps/agents-server/src/utils/bookLanguageDocumentation/createBookLanguageDocumentationPdfResponse.ts +19 -17
- package/apps/agents-server/src/utils/chatMessageChips/createAnsweredMessageChipToolCalls.ts +49 -0
- package/apps/agents-server/src/utils/chatMessageChips/createPlannedMessageChipToolCalls.ts +44 -0
- package/apps/agents-server/src/utils/chatMessageChips/createTouchedExternalSourceChipToolCalls.ts +39 -0
- package/apps/agents-server/src/utils/chatMessageChips/createTouchedProjectChipResult.ts +45 -0
- package/apps/agents-server/src/utils/chatMessageChips/createTouchedProjectChipToolCalls.ts +109 -0
- package/apps/agents-server/src/utils/chatTasksAdmin.ts +9 -0
- package/apps/agents-server/src/utils/createAgentWithDefaultVisibility.ts +8 -0
- package/apps/agents-server/src/utils/cronExpression/CronExpression.ts +63 -0
- package/apps/agents-server/src/utils/cronExpression/normalizeCronExpression.ts +34 -0
- package/apps/agents-server/src/utils/cronExpression/normalizeCronExpressionWhitespace.ts +11 -0
- package/apps/agents-server/src/utils/cronExpression/parseCronExpression.ts +41 -0
- package/apps/agents-server/src/utils/cronExpression/parseCronExpressionField.ts +140 -0
- package/apps/agents-server/src/utils/cronExpression/resolveNextCronRun.ts +100 -0
- package/apps/agents-server/src/utils/cronExpression/throwInvalidCronExpressionField.ts +20 -0
- package/apps/agents-server/src/utils/cronExpression.ts +10 -0
- package/apps/agents-server/src/utils/dnsRecords/DnsRecordInstruction.ts +20 -0
- package/apps/agents-server/src/utils/dnsRecords/DnsRecordsSection.ts +77 -0
- package/apps/agents-server/src/utils/dnsRecords/createServerDnsRecordsSections.ts +58 -0
- package/apps/agents-server/src/utils/dnsRecords/createServerDomainDnsRecordsSection.ts +48 -0
- package/apps/agents-server/src/utils/dnsRecords/dnsRecordGroups.ts +52 -0
- package/apps/agents-server/src/utils/dnsRecords/resolveDnsRecordBatchPlan.ts +47 -1
- package/apps/agents-server/src/utils/email/agentEmailAddress.ts +14 -0
- package/apps/agents-server/src/utils/email/sendEmailThroughStalwart.ts +2 -1
- package/apps/agents-server/src/utils/explicitFromCommitment.ts +130 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/adminChatTaskSqlQuery.ts +41 -36
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/loadAdminChatTaskFallbackData.ts +3 -77
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskFallbackRows.ts +3 -0
- package/apps/agents-server/src/utils/getAdminChatTasksResponse/getAdminChatTasks/mapAdminChatTaskSqlRows.ts +2 -0
- package/apps/agents-server/src/utils/handleChatCompletion/createHandleChatCompletionPromptContext.ts +3 -2
- package/apps/agents-server/src/utils/handleChatCompletion/resolveHandleChatCompletionRuntime.ts +4 -12
- package/apps/agents-server/src/utils/localChatRunner/applyLocalAgentPlannedMessageCommands.ts +261 -0
- package/apps/agents-server/src/utils/localChatRunner/parseLocalTeamConversations.ts +281 -0
- package/apps/agents-server/src/utils/localChatRunner/persistLocalTeamConversations.ts +71 -0
- package/apps/agents-server/src/utils/localChatRunner/prepareLocalAgentPlannedMessagesSidecar.ts +74 -0
- package/apps/agents-server/src/utils/localChatRunner/prepareLocalTeamConversationWorkspace.ts +233 -0
- package/apps/agents-server/src/utils/localChatRunner/processLocalUserChatJob.ts +154 -27
- package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentBooks.ts +5 -12
- package/apps/agents-server/src/utils/manGoOnboarding/manGoOnboardingAgentRuntime.ts +2 -2
- package/apps/agents-server/src/utils/managementApi/managementApiSchemas.ts +2 -2
- package/apps/agents-server/src/utils/messages/parseUseEmailSmtpCredential.ts +1 -1
- package/apps/agents-server/src/utils/plannedMessageManager/cancelManagedPlannedMessage.ts +35 -0
- package/apps/agents-server/src/utils/plannedMessageManager/collectPlannedMessageAgentOptions.ts +56 -0
- package/apps/agents-server/src/utils/plannedMessageManager/createPlannedMessageManagerCounters.ts +104 -0
- package/apps/agents-server/src/utils/plannedMessageManager/filterPlannedMessages.ts +191 -0
- package/apps/agents-server/src/utils/plannedMessageManager/getPlannedMessageManagerResponse.ts +55 -0
- package/apps/agents-server/src/utils/plannedMessageManager/isPlannedMessageStillPlanned.ts +18 -0
- package/apps/agents-server/src/utils/plannedMessageManager/loadPlannedMessageManagerRecord.ts +32 -0
- package/apps/agents-server/src/utils/plannedMessageManager/mapPlannedMessageManagerRecord.ts +73 -0
- package/apps/agents-server/src/utils/plannedMessageManager/parsePlannedMessageManagerUpdateRequest.ts +76 -0
- package/apps/agents-server/src/utils/plannedMessageManager/resolvePlannedMessageEndReason.ts +59 -0
- package/apps/agents-server/src/utils/plannedMessageManager/resolvePlannedMessageLifecycle.ts +99 -0
- package/apps/agents-server/src/utils/plannedMessageManager/resolvePlannedMessageRecurrenceKind.ts +40 -0
- package/apps/agents-server/src/utils/plannedMessageManager/updateManagedPlannedMessage.ts +121 -0
- package/apps/agents-server/src/utils/plannedMessagesAdmin.ts +200 -0
- package/apps/agents-server/src/utils/resolveInheritedAgentSource.ts +114 -95
- package/apps/agents-server/src/utils/resolveUseEmailSmtpCredential.ts +1 -1
- package/apps/agents-server/src/utils/serverManagement/createManagedServer/insertManagedServerRegistryRow.ts +2 -2
- package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerCoreAgents.ts +7 -6
- package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerDefaultAgents.ts +5 -4
- package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerMetadata.ts +3 -2
- package/apps/agents-server/src/utils/serverManagement/createManagedServer/seedServerUsers.ts +3 -2
- package/apps/agents-server/src/utils/serverManagement/deleteManagedServer.ts +2 -2
- package/apps/agents-server/src/utils/stalwart/createEmailDnsRecordsSection.ts +53 -0
- package/apps/agents-server/src/utils/useEmailSmtpWalletConstants.ts +5 -5
- package/apps/agents-server/src/utils/userChat/UserChatRecord.ts +13 -0
- package/apps/agents-server/src/utils/userChat/UserChatSource.ts +14 -0
- package/apps/agents-server/src/utils/userChat/appendQueuedUserChatTurn.ts +9 -2
- package/apps/agents-server/src/utils/userChat/createRunUserChatJobExecutionContext.ts +7 -17
- package/apps/agents-server/src/utils/userChat/createUserChatSummary.ts +10 -2
- package/apps/agents-server/src/utils/userChat/finalizeUserChatJob.ts +3 -2
- package/apps/agents-server/src/utils/userChat/getUserChat.ts +16 -1
- package/apps/agents-server/src/utils/userChat/getUserChatForJobRunner.ts +31 -0
- package/apps/agents-server/src/utils/userChat/listUserChats.ts +113 -110
- package/apps/agents-server/src/utils/userChat/persistFrozenUserChat.ts +21 -6
- package/apps/agents-server/src/utils/userChat/persistUserChatJobTerminalState.ts +5 -0
- package/apps/agents-server/src/utils/userChat/resolveUserChatWorkerInternalToken.ts +5 -4
- package/apps/agents-server/src/utils/userChat/runImmediateUserChatAnswer.ts +2 -6
- package/apps/agents-server/src/utils/userChat/runUserChatJob.ts +2 -6
- package/apps/agents-server/src/utils/userChat/teamMemberUserChatContext.ts +63 -0
- package/apps/agents-server/src/utils/userChat/userChatJobRunReport.ts +30 -0
- package/apps/agents-server/src/utils/userChat/userChatMessageLifecycle.ts +6 -1
- package/apps/agents-server/src/utils/userChat.ts +5 -1
- package/apps/agents-server/src/utils/userChatClient/cancelAgentUserTimeout.ts +2 -2
- package/apps/agents-server/src/utils/userChatClient/fetchAgentUserTimeouts.ts +2 -2
- package/apps/agents-server/src/utils/userChatClient.ts +13 -31
- package/apps/agents-server/src/utils/userChatTimeout/UserChatTimeoutRecord.ts +47 -3
- package/apps/agents-server/src/utils/userChatTimeout/agentScopedTimeoutBulkActions.ts +11 -17
- package/apps/agents-server/src/utils/userChatTimeout/createTimeoutWakeUpMessage.ts +38 -6
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/PlannedMessageSchedule.ts +52 -0
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/hasPlannedMessageRecurrence.ts +13 -0
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/isPlannedMessageScheduleFinished.ts +30 -0
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/normalizePlannedMessageScheduleValues.ts +62 -0
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/parsePlannedMessageSchedule.ts +202 -0
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule/resolvePlannedMessageDueAt.ts +121 -0
- package/apps/agents-server/src/utils/userChatTimeout/plannedMessageSchedule.ts +12 -0
- package/apps/agents-server/src/utils/userChatTimeout/setAgentScopedUserChatTimeoutPausedState.ts +66 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/claimNextDueUserChatTimeout.ts +28 -25
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/createUserChatTimeout.ts +76 -5
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/getAgentScopedUserChatTimeout.ts +8 -4
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/listAgentUserChatTimeouts.ts +4 -1
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/listAllUserChatTimeouts.ts +37 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/mapUserChatTimeoutRow.ts +9 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/recoverExpiredRunningUserChatTimeouts.ts +3 -2
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/repeatFiredUserChatTimeout.ts +84 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore/updateAgentScopedUserChatTimeout.ts +39 -6
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutStore.ts +2 -0
- package/apps/agents-server/src/utils/userChatTimeout/userChatTimeoutWorker.ts +220 -57
- package/apps/agents-server/src/utils/userChatTimeout.ts +16 -0
- package/apps/agents-server/src/utils/userWallet/UserWalletRecord.ts +1 -1
- package/apps/agents-server/src/utils/userWallet/resolveUseEmailSmtpCredentialFromWallet.ts +1 -1
- package/apps/agents-server/src/utils/vpsSelfUpdate/deleteVpsSelfUpdateInstalledVersion.ts +2 -1
- package/apps/agents-server/src/utils/vpsSelfUpdate/isVpsSelfUpdateJobRunning.ts +16 -0
- package/apps/agents-server/src/utils/vpsSelfUpdate/startVpsSelfUpdate.ts +2 -1
- package/apps/agents-server/src/utils/vpsSelfUpdate/vpsSelfUpdateCron.ts +23 -316
- package/apps/agents-server/src/utils/vpsSelfUpdate.ts +1 -0
- package/apps/agents-server/tests/e2e/support/AgentManagementApi.ts +3 -3
- package/esm/index.es.js +10579 -10176
- package/esm/index.es.js.map +1 -1
- package/esm/scripts/run-agent-messages/git/commitAgentProjectChanges.d.ts +15 -0
- package/esm/scripts/run-agent-messages/git/commitAnsweredMessageProjectChanges.d.ts +24 -0
- package/esm/scripts/run-agent-messages/git/ensureAgentProjectGitRepository.d.ts +20 -0
- package/esm/scripts/run-agent-messages/git/readAgentProjectCommitChange.d.ts +11 -0
- package/esm/scripts/run-agent-messages/git/runAgentProjectGitCommand.d.ts +29 -0
- package/esm/scripts/run-agent-messages/messages/buildAgentGoalChatPromptSection.d.ts +26 -0
- package/esm/scripts/run-agent-messages/messages/buildAgentMessagePrompt.d.ts +12 -1
- package/esm/scripts/run-agent-messages/messages/buildAgentProjectsPromptSection.d.ts +2 -14
- package/esm/scripts/run-agent-messages/messages/buildAgentTeamPromptSection.d.ts +12 -0
- package/esm/scripts/run-agent-messages/messages/finalizeAgentTeamConversationWorkspace.d.ts +16 -0
- package/esm/scripts/run-agent-messages/messages/listAgentProjectDirectoryNames.d.ts +7 -0
- package/esm/scripts/run-agent-messages/messages/loadAgentPlannedMessagesSidecar.d.ts +10 -0
- package/esm/scripts/run-agent-messages/messages/loadAgentTeamConversationWorkspace.d.ts +6 -0
- package/esm/scripts/run-agent-messages/messages/resolveAnsweredMessageTouches.d.ts +29 -0
- package/esm/scripts/run-codex-prompts/common/CoderRunControlFeedback.d.ts +54 -0
- package/esm/scripts/run-codex-prompts/common/applyCoderRunControlKey.d.ts +14 -0
- package/esm/scripts/run-codex-prompts/common/buildCoderRunControlKeyBadge.d.ts +7 -0
- package/esm/scripts/run-codex-prompts/common/createCoderRunStepTracker.d.ts +48 -0
- package/esm/scripts/run-codex-prompts/common/formatCoderRunControlFeedback.d.ts +13 -0
- package/esm/scripts/run-codex-prompts/common/listenForCoderRunControls.d.ts +17 -0
- package/esm/scripts/run-codex-prompts/common/normalizeLineEndingsInChangedFiles.d.ts +2 -3
- package/esm/scripts/run-codex-prompts/common/runGoScript/$spawnLoggedBashScript.d.ts +25 -0
- package/esm/scripts/run-codex-prompts/common/runGoScript/$terminateLoggedBashProcessTree.d.ts +11 -0
- package/esm/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +11 -0
- package/esm/scripts/run-codex-prompts/common/waitForPause.d.ts +0 -8
- package/esm/scripts/run-codex-prompts/common/waitForSkippableWorldTimeDeadline.d.ts +15 -0
- package/esm/scripts/run-codex-prompts/git/coderCommitScope.d.ts +31 -0
- package/esm/scripts/run-codex-prompts/git/coderGitSync.d.ts +56 -0
- package/esm/scripts/run-codex-prompts/git/commitChanges.d.ts +12 -3
- package/esm/scripts/run-codex-prompts/git/workingTreeChanges.d.ts +40 -0
- package/esm/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
- package/esm/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
- package/esm/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
- package/esm/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
- package/esm/scripts/run-codex-prompts/ping/pingCoderHarnessPeriodically.d.ts +22 -0
- package/esm/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
- package/esm/scripts/run-codex-prompts/prompts/buildPromptLabel.d.ts +6 -0
- package/esm/scripts/run-codex-prompts/prompts/buildPromptStatusDetails.d.ts +50 -0
- package/esm/scripts/run-codex-prompts/prompts/formatCoderRunSteps.d.ts +6 -3
- package/esm/scripts/run-codex-prompts/prompts/isPromptSectionUnfinished.d.ts +8 -0
- package/esm/scripts/run-codex-prompts/prompts/listPromptsByStatus.d.ts +7 -0
- package/esm/scripts/run-codex-prompts/prompts/markPromptDone.d.ts +15 -4
- package/esm/scripts/run-codex-prompts/prompts/markPromptFailed.d.ts +34 -1
- package/esm/scripts/run-codex-prompts/prompts/markPromptInProgress.d.ts +27 -0
- package/esm/scripts/run-codex-prompts/prompts/promptRunnerAttribution.d.ts +24 -0
- package/esm/scripts/run-codex-prompts/prompts/resolveInterruptedPrompt.d.ts +9 -0
- package/esm/scripts/run-codex-prompts/prompts/resolvePromptStatusLine.d.ts +19 -0
- package/esm/scripts/run-codex-prompts/prompts/writePromptStatusLine.d.ts +9 -0
- package/esm/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +1 -1
- package/esm/scripts/run-codex-prompts/server/coderServerHtml.d.ts +1 -1
- package/esm/scripts/run-codex-prompts/server/updatePromptSection.d.ts +1 -1
- package/esm/scripts/run-codex-prompts/testing/runPromptWithTestFeedback.d.ts +6 -0
- package/esm/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +15 -1
- package/esm/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +5 -5
- package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +6 -1
- package/esm/scripts/run-codex-prompts/ui/buildCoderRunUiTerminalFrameUpdate.d.ts +27 -0
- package/esm/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +11 -0
- package/esm/scripts/verify-prompts/$orderPromptFiles.d.ts +9 -0
- package/esm/scripts/verify-prompts/VerifyPromptsOrder.d.ts +26 -0
- package/esm/scripts/verify-prompts/verify-prompts.d.ts +8 -2
- package/esm/src/_packages/components.index.d.ts +4 -0
- package/esm/src/_packages/types.index.d.ts +4 -0
- package/esm/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
- package/esm/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
- package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
- package/esm/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +5 -0
- package/esm/src/book-2.0/agent-source/ParsedUnknownCommitment.d.ts +26 -0
- package/esm/src/book-2.0/agent-source/getBookCommitmentLineType.d.ts +19 -0
- package/esm/src/book-3.0/AgentMessageRunReport.d.ts +46 -0
- package/esm/src/book-3.0/AgentPlannedMessagesSidecar.d.ts +127 -0
- package/esm/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
- package/esm/src/book-3.0/createAgentMessageSidecarBaseName.d.ts +13 -0
- package/esm/src/book-3.0/describeAgentPlannedMessageSchedule.d.ts +31 -0
- package/esm/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +1 -9
- package/esm/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.d.ts +28 -0
- package/esm/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.d.ts +28 -0
- package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
- package/esm/src/book-components/Chat/Chat/renderAgentProjectDiff.d.ts +13 -0
- package/esm/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.d.ts +16 -0
- package/esm/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
- package/esm/src/book-components/Chat/utils/agentProjectToolCall.d.ts +85 -0
- package/esm/src/book-components/Chat/utils/externalSourceToolCall.d.ts +38 -0
- package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +68 -3
- package/esm/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +30 -0
- package/esm/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
- package/esm/src/cli/cli-commands/coder/GitChangesMode.d.ts +28 -0
- package/esm/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
- package/esm/src/cli/cli-commands/coder/generate-boilerplates.d.ts +4 -3
- package/esm/src/cli/cli-commands/coder/ping.d.ts +2 -5
- package/esm/src/cli/cli-commands/coder/verify.d.ts +1 -1
- package/esm/src/cli/cli-commands/coder/waitOptions.d.ts +12 -0
- package/esm/src/cli/cli-commands/coder.d.ts +1 -1
- package/esm/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
- package/esm/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +3 -3
- package/esm/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +3 -3
- package/esm/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +3 -2
- package/esm/src/cli/cli-commands/common/harnessUpdateCliOptions.d.ts +29 -0
- package/{umd/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts → esm/src/cli/cli-commands/common/npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
- package/esm/src/cli/cli-commands/common/{harness/$resolveLatestHarnessVersion.d.ts → npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
- package/esm/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
- package/esm/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
- package/esm/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
- package/esm/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +9 -2
- package/esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
- package/esm/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
- package/esm/src/cli/common/loadPromptsModule.d.ts +16 -0
- package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +15 -0
- package/{umd/src/commitments/COMPONENT/COMPONENT.d.ts → esm/src/commitments/META_FULLNAME/META_FULLNAME.d.ts} +8 -5
- package/esm/src/commitments/META_ID/META_ID.d.ts +32 -0
- package/esm/src/commitments/index.d.ts +4 -12
- package/esm/src/executables/platforms/locateAppOnWindows.d.ts +1 -1
- package/esm/src/llm-providers/agent/Agent.d.ts +1 -1
- package/esm/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
- package/esm/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
- package/esm/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
- package/esm/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
- package/esm/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
- package/esm/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
- package/esm/src/utils/agent-message-runtime/AgentMessageProjectChange.d.ts +76 -0
- package/esm/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.d.ts +45 -0
- package/esm/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.d.ts +62 -0
- package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
- package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.d.ts +18 -0
- package/esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.d.ts +19 -0
- package/esm/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
- package/esm/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
- package/esm/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
- package/esm/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
- package/esm/src/utils/misc/debounce.d.ts +4 -2
- package/esm/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/_packages/components.index.ts +4 -0
- package/src/_packages/components.readme.md +1 -1
- package/src/_packages/types.index.ts +4 -0
- package/src/avatars/renderAvatarVisualTerminalText.ts +249 -0
- package/src/avatars/types/AvatarVisualDefinition.ts +60 -0
- package/src/avatars/visuals/asciiOctopusAvatarVisual.ts +144 -22
- package/src/book-2.0/agent-source/AgentBasicInformation.ts +3 -9
- package/src/book-2.0/agent-source/AgentSourceParseResult.ts +6 -0
- package/src/book-2.0/agent-source/ParsedUnknownCommitment.ts +29 -0
- package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/augmentAgentModelRequirementsFromSource.ts +38 -1
- package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments/filterCommitmentsForAgentModelRequirements.ts +0 -23
- package/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.ts +0 -2
- package/src/book-2.0/agent-source/getBookCommitmentLineType.ts +36 -0
- package/src/book-2.0/agent-source/parseAgentSource/applyMetaCommitment.ts +16 -31
- package/src/book-2.0/agent-source/parseAgentSource/createCapabilitiesFromCommitment.ts +0 -35
- package/src/book-2.0/agent-source/parseAgentSourceWithCommitments.ts +128 -61
- package/src/book-2.0/agent-source/string_book.ts +1 -1
- package/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.ts +0 -25
- package/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.ts +6 -14
- package/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.ts +13 -33
- package/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.ts +12 -32
- package/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.ts +1 -4
- package/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.ts +4 -17
- package/src/book-3.0/AgentMessageRunReport.ts +135 -0
- package/src/book-3.0/AgentPlannedMessagesSidecar.ts +284 -0
- package/src/book-3.0/AgentTeamConversationWorkspace.ts +170 -0
- package/src/book-3.0/LiteAgent.ts +11 -9
- package/src/book-3.0/createAgentMessageSidecarBaseName.ts +20 -0
- package/src/book-3.0/describeAgentPlannedMessageSchedule.ts +94 -0
- package/src/book-components/BookEditor/BookEditorMonaco.tsx +8 -1
- package/src/book-components/BookEditor/BookEditorMonacoTokenization.ts +3 -1
- package/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.ts +3 -11
- package/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.ts +71 -0
- package/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.ts +50 -0
- package/src/book-components/BookEditor/useBookEditorMonacoLanguage.ts +1 -1
- package/src/book-components/BookEditor/useBookEditorMonacoStyles.ts +56 -55
- package/src/book-components/Chat/Chat/Chat.module.css +172 -27
- package/src/book-components/Chat/Chat/ChatMessageMap.tsx +7 -4
- package/src/book-components/Chat/Chat/ChatProps.tsx +3 -2
- package/src/book-components/Chat/Chat/renderAgentProjectDiff.tsx +85 -0
- package/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.tsx +206 -0
- package/src/book-components/Chat/Chat/renderToolCallDetails.tsx +9 -12
- package/src/book-components/Chat/MarkdownContent/MarkdownContent.module.css +85 -17
- package/src/book-components/Chat/MarkdownContent/MarkdownContent.tsx +115 -2
- package/src/book-components/Chat/save/react/exports/chat-preview-2025-10-13 (1).jsx +95 -5
- package/src/book-components/Chat/utils/$provideServerDomWindow.ts +77 -0
- package/src/book-components/Chat/utils/agentProjectToolCall.ts +151 -0
- package/src/book-components/Chat/utils/externalSourceToolCall.ts +65 -0
- package/src/book-components/Chat/utils/getToolCallChipletInfo.ts +64 -0
- package/src/book-components/Chat/utils/renderMarkdown.ts +660 -119
- package/src/book-components/Chat/utils/timeoutToolCallPresentation.ts +34 -3
- package/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.ts +14 -0
- package/src/cli/cli-commands/agents-server/buildAgentsServer/ensureAgentsServerBuild.ts +1 -0
- package/src/cli/cli-commands/agents-server/startAgentsServer/createLocalAgentRunOptions.ts +1 -1
- package/src/cli/cli-commands/coder/GitChangesMode.ts +35 -0
- package/src/cli/cli-commands/coder/add.ts +40 -12
- package/src/cli/cli-commands/coder/boilerplateCount.ts +139 -0
- package/src/cli/cli-commands/coder/boilerplateTemplates.ts +3 -15
- package/src/cli/cli-commands/coder/generate-boilerplates.ts +81 -47
- package/src/cli/cli-commands/coder/getDefaultCoderPackageJsonScripts.ts +7 -4
- package/src/cli/cli-commands/coder/init.ts +40 -4
- package/src/cli/cli-commands/coder/ping.ts +58 -44
- package/src/cli/cli-commands/coder/run.ts +23 -4
- package/src/cli/cli-commands/coder/server.ts +12 -3
- package/src/cli/cli-commands/coder/verify.ts +55 -16
- package/src/cli/cli-commands/coder/waitOptions.ts +33 -0
- package/src/cli/cli-commands/coder.ts +3 -3
- package/src/cli/cli-commands/common/coderGitSyncCliOptions.ts +82 -0
- package/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.ts +9 -2
- package/src/cli/cli-commands/common/harness/$checkHarnessInstallation.ts +24 -8
- package/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.ts +6 -3
- package/src/cli/cli-commands/common/harness/$resolveInstalledHarnessVersion.ts +2 -2
- package/src/cli/cli-commands/common/harness/HarnessInstallationStatus.ts +3 -2
- package/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.ts +2 -1
- package/src/cli/cli-commands/common/harnessUpdateCliOptions.ts +46 -0
- package/src/cli/cli-commands/common/{harness/$askForHarnessInstallationApproval.ts → npm/$askForNpmPackageInstallationApproval.ts} +3 -3
- package/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.ts +49 -0
- package/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.ts +28 -0
- package/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.ts +25 -0
- package/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.ts +165 -0
- package/src/cli/cli-commands/common/projectInitialization.ts +10 -1
- package/src/cli/cli-commands/common/promptRunnerCliOptions.ts +22 -4
- package/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.ts +69 -0
- package/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.ts +117 -0
- package/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.ts +259 -0
- package/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.ts +55 -0
- package/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.ts +76 -0
- package/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.ts +32 -0
- package/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.ts +13 -0
- package/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.ts +45 -0
- package/src/cli/cli-commands/run/prepareRunCommandResources.ts +2 -1
- package/src/cli/cli-commands/run/resolveRunInputParameters.ts +2 -1
- package/src/cli/cli-commands/runInteractiveChatbot.ts +2 -1
- package/src/cli/common/$provideLlmToolsForCli.ts +2 -1
- package/src/cli/common/loadPromptsModule.ts +13 -0
- package/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.ts +47 -3
- package/src/commands/FORMAT/formatCommandParser.ts +4 -2
- package/src/commitments/ACTION/ACTION.ts +3 -3
- package/src/commitments/FROM/FROM.ts +13 -0
- package/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.ts +1 -1
- package/src/commitments/META_FULLNAME/META_FULLNAME.ts +70 -0
- package/src/commitments/META_ID/META_ID.ts +78 -0
- package/src/commitments/_common/getAllCommitmentsToolFunctionsForNode.ts +1 -49
- package/src/commitments/index.ts +6 -24
- package/src/conversion/archive/loadArchive.ts +2 -1
- package/src/conversion/archive/loadJsZipModule.ts +10 -0
- package/src/conversion/archive/saveArchive.ts +2 -1
- package/src/executables/platforms/locateAppOnWindows.ts +12 -9
- package/src/llm-providers/agent/Agent.ts +1 -1
- package/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.ts +13 -1
- package/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.ts +13 -1
- package/src/llm-providers/openai/OpenAiAgentKitExecutionTools.ts +6 -2
- package/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.ts +9 -7
- package/src/llm-providers/openai/OpenAiAssistantExecutionTools.ts +1 -1
- package/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.ts +1 -1
- package/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.ts +1 -1
- package/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.ts +1 -1
- package/src/llm-providers/openai/OpenAiCompatibleRequestManager.ts +12 -1
- package/src/llm-providers/openai/utils/buildToolInvocationScript.ts +21 -18
- package/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.ts +1 -1
- package/src/llm-providers/openai/utils/loadOpenAiAgentsModule.ts +11 -0
- package/src/llm-providers/openai/utils/uploadFilesToOpenAi.ts +1 -1
- package/src/other/templates/getTemplatesPipelineCollection.ts +843 -772
- package/src/remote-server/createRemoteClient.ts +12 -1
- package/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.ts +8 -9
- package/src/scrapers/website/WebsiteScraper.ts +22 -2
- package/src/utils/agent-message-runtime/AgentMessageProjectChange.ts +183 -0
- package/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.ts +80 -0
- package/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.ts +108 -0
- package/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.ts +78 -75
- package/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.ts +341 -0
- package/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.ts +147 -0
- package/src/utils/agents/terminalAgentAvatarVisual.ts +31 -3
- package/src/utils/ascii-art/convertImageDataToAsciiArt.ts +9 -109
- package/src/utils/ascii-art/createAnsiColorCode.ts +132 -0
- package/src/utils/misc/createLazyModuleLoader.ts +27 -0
- package/src/utils/misc/debounce.ts +26 -5
- package/src/utils/random/$generateBookBoilerplate.ts +1 -1
- package/src/version.ts +2 -2
- package/src/versions.txt +17 -0
- package/umd/index.umd.js +8545 -8136
- package/umd/index.umd.js.map +1 -1
- package/umd/scripts/run-agent-messages/git/commitAgentProjectChanges.d.ts +15 -0
- package/umd/scripts/run-agent-messages/git/commitAnsweredMessageProjectChanges.d.ts +24 -0
- package/umd/scripts/run-agent-messages/git/ensureAgentProjectGitRepository.d.ts +20 -0
- package/umd/scripts/run-agent-messages/git/readAgentProjectCommitChange.d.ts +11 -0
- package/umd/scripts/run-agent-messages/git/runAgentProjectGitCommand.d.ts +29 -0
- package/umd/scripts/run-agent-messages/messages/buildAgentGoalChatPromptSection.d.ts +26 -0
- package/umd/scripts/run-agent-messages/messages/buildAgentMessagePrompt.d.ts +12 -1
- package/umd/scripts/run-agent-messages/messages/buildAgentProjectsPromptSection.d.ts +2 -14
- package/umd/scripts/run-agent-messages/messages/buildAgentTeamPromptSection.d.ts +12 -0
- package/umd/scripts/run-agent-messages/messages/finalizeAgentTeamConversationWorkspace.d.ts +16 -0
- package/umd/scripts/run-agent-messages/messages/listAgentProjectDirectoryNames.d.ts +7 -0
- package/umd/scripts/run-agent-messages/messages/loadAgentPlannedMessagesSidecar.d.ts +10 -0
- package/umd/scripts/run-agent-messages/messages/loadAgentTeamConversationWorkspace.d.ts +6 -0
- package/umd/scripts/run-agent-messages/messages/resolveAnsweredMessageTouches.d.ts +29 -0
- package/umd/scripts/run-codex-prompts/common/CoderRunControlFeedback.d.ts +54 -0
- package/umd/scripts/run-codex-prompts/common/applyCoderRunControlKey.d.ts +14 -0
- package/umd/scripts/run-codex-prompts/common/buildCoderRunControlKeyBadge.d.ts +7 -0
- package/umd/scripts/run-codex-prompts/common/createCoderRunStepTracker.d.ts +48 -0
- package/umd/scripts/run-codex-prompts/common/formatCoderRunControlFeedback.d.ts +13 -0
- package/umd/scripts/run-codex-prompts/common/listenForCoderRunControls.d.ts +17 -0
- package/umd/scripts/run-codex-prompts/common/normalizeLineEndingsInChangedFiles.d.ts +2 -3
- package/umd/scripts/run-codex-prompts/common/runGoScript/$spawnLoggedBashScript.d.ts +25 -0
- package/umd/scripts/run-codex-prompts/common/runGoScript/$terminateLoggedBashProcessTree.d.ts +11 -0
- package/umd/scripts/run-codex-prompts/common/runGoScript/scriptExecutionLog.d.ts +11 -0
- package/umd/scripts/run-codex-prompts/common/waitForPause.d.ts +0 -8
- package/umd/scripts/run-codex-prompts/common/waitForSkippableWorldTimeDeadline.d.ts +15 -0
- package/umd/scripts/run-codex-prompts/git/coderCommitScope.d.ts +31 -0
- package/umd/scripts/run-codex-prompts/git/coderGitSync.d.ts +56 -0
- package/umd/scripts/run-codex-prompts/git/commitChanges.d.ts +12 -3
- package/umd/scripts/run-codex-prompts/git/workingTreeChanges.d.ts +40 -0
- package/umd/scripts/run-codex-prompts/main/resolvePromptRunner.d.ts +8 -1
- package/umd/scripts/run-codex-prompts/ping/buildCoderPingPrompt.d.ts +20 -0
- package/umd/scripts/run-codex-prompts/ping/extractCoderPingAnswer.d.ts +9 -0
- package/umd/scripts/run-codex-prompts/ping/pingCoderHarness.d.ts +23 -0
- package/umd/scripts/run-codex-prompts/ping/pingCoderHarnessPeriodically.d.ts +22 -0
- package/umd/scripts/run-codex-prompts/ping/printCoderPingResult.d.ts +5 -0
- package/umd/scripts/run-codex-prompts/prompts/buildPromptLabel.d.ts +6 -0
- package/umd/scripts/run-codex-prompts/prompts/buildPromptStatusDetails.d.ts +50 -0
- package/umd/scripts/run-codex-prompts/prompts/formatCoderRunSteps.d.ts +6 -3
- package/umd/scripts/run-codex-prompts/prompts/isPromptSectionUnfinished.d.ts +8 -0
- package/umd/scripts/run-codex-prompts/prompts/listPromptsByStatus.d.ts +7 -0
- package/umd/scripts/run-codex-prompts/prompts/markPromptDone.d.ts +15 -4
- package/umd/scripts/run-codex-prompts/prompts/markPromptFailed.d.ts +34 -1
- package/umd/scripts/run-codex-prompts/prompts/markPromptInProgress.d.ts +27 -0
- package/umd/scripts/run-codex-prompts/prompts/promptRunnerAttribution.d.ts +24 -0
- package/umd/scripts/run-codex-prompts/prompts/resolveInterruptedPrompt.d.ts +9 -0
- package/umd/scripts/run-codex-prompts/prompts/resolvePromptStatusLine.d.ts +19 -0
- package/umd/scripts/run-codex-prompts/prompts/writePromptStatusLine.d.ts +9 -0
- package/umd/scripts/run-codex-prompts/server/buildCoderServerPromptResponse.d.ts +1 -1
- package/umd/scripts/run-codex-prompts/server/coderServerHtml.d.ts +1 -1
- package/umd/scripts/run-codex-prompts/server/updatePromptSection.d.ts +1 -1
- package/umd/scripts/run-codex-prompts/testing/runPromptWithTestFeedback.d.ts +6 -0
- package/umd/scripts/run-codex-prompts/ui/CoderRunUiState.d.ts +15 -1
- package/umd/scripts/run-codex-prompts/ui/buildCoderRunAgentVisual.d.ts +5 -5
- package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiFrame.d.ts +6 -1
- package/umd/scripts/run-codex-prompts/ui/buildCoderRunUiTerminalFrameUpdate.d.ts +27 -0
- package/umd/scripts/run-codex-prompts/ui/buildRunUiFrameShared.d.ts +11 -0
- package/umd/scripts/verify-prompts/$orderPromptFiles.d.ts +9 -0
- package/umd/scripts/verify-prompts/VerifyPromptsOrder.d.ts +26 -0
- package/umd/scripts/verify-prompts/verify-prompts.d.ts +8 -2
- package/umd/src/_packages/components.index.d.ts +4 -0
- package/umd/src/_packages/types.index.d.ts +4 -0
- package/umd/src/avatars/renderAvatarVisualTerminalText.d.ts +80 -0
- package/umd/src/avatars/types/AvatarVisualDefinition.d.ts +54 -0
- package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +3 -3
- package/umd/src/book-2.0/agent-source/AgentSourceParseResult.d.ts +5 -0
- package/umd/src/book-2.0/agent-source/ParsedUnknownCommitment.d.ts +26 -0
- package/umd/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.unknown.test.d.ts +1 -0
- package/umd/src/book-2.0/agent-source/getBookCommitmentLineType.d.ts +19 -0
- package/umd/src/book-2.0/agent-source/parseAgentSourceWithCommitments.unknown.test.d.ts +1 -0
- package/umd/src/book-3.0/AgentMessageRunReport.d.ts +46 -0
- package/umd/src/book-3.0/AgentPlannedMessagesSidecar.d.ts +127 -0
- package/umd/src/book-3.0/AgentPlannedMessagesSidecar.test.d.ts +1 -0
- package/umd/src/book-3.0/AgentTeamConversationWorkspace.d.ts +85 -0
- package/umd/src/book-3.0/createAgentMessageSidecarBaseName.d.ts +13 -0
- package/umd/src/book-3.0/describeAgentPlannedMessageSchedule.d.ts +31 -0
- package/umd/src/book-components/BookEditor/createDeprecatedCommitmentDiagnostics.browser.d.ts +1 -9
- package/umd/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.d.ts +28 -0
- package/umd/src/book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.test.d.ts +1 -0
- package/umd/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.d.ts +28 -0
- package/umd/src/book-components/BookEditor/createUnknownCommitmentDiagnostics.test.d.ts +1 -0
- package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +3 -2
- package/umd/src/book-components/Chat/Chat/renderAgentProjectDiff.d.ts +13 -0
- package/umd/src/book-components/Chat/Chat/renderAgentProjectToolCallDetails.d.ts +16 -0
- package/umd/src/book-components/Chat/utils/$provideServerDomWindow.d.ts +11 -0
- package/umd/src/book-components/Chat/utils/agentProjectToolCall.d.ts +85 -0
- package/umd/src/book-components/Chat/utils/agentProjectToolCall.test.d.ts +1 -0
- package/umd/src/book-components/Chat/utils/externalSourceToolCall.d.ts +38 -0
- package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +68 -3
- package/umd/src/book-components/Chat/utils/timeoutToolCallPresentation.d.ts +30 -0
- package/umd/src/cli/cli-commands/agents-server/buildAgentsServer/createAgentsServerRuntimeEnvironment.d.ts +7 -0
- package/umd/src/cli/cli-commands/coder/GitChangesMode.d.ts +28 -0
- package/umd/src/cli/cli-commands/coder/boilerplateCount.d.ts +52 -0
- package/umd/src/cli/cli-commands/coder/boilerplateCount.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/coder/generate-boilerplates.d.ts +4 -3
- package/umd/src/cli/cli-commands/coder/generate-boilerplates.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/coder/ping.d.ts +2 -5
- package/umd/src/cli/cli-commands/coder/verify.d.ts +1 -1
- package/umd/src/cli/cli-commands/coder/waitOptions.d.ts +12 -0
- package/umd/src/cli/cli-commands/coder.d.ts +1 -1
- package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.d.ts +34 -0
- package/umd/src/cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +3 -3
- package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +3 -3
- package/umd/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +3 -2
- package/umd/src/cli/cli-commands/common/harnessUpdateCliOptions.d.ts +29 -0
- package/umd/src/cli/cli-commands/common/harnessUpdateCliOptions.test.d.ts +1 -0
- package/{esm/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts → umd/src/cli/cli-commands/common/npm/$askForNpmPackageInstallationApproval.d.ts} +2 -2
- package/umd/src/cli/cli-commands/common/{harness/$resolveLatestHarnessVersion.d.ts → npm/$resolveLatestNpmPackageVersion.d.ts} +2 -3
- package/umd/src/cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.d.ts +12 -0
- package/umd/src/cli/cli-commands/common/npm/buildNpmPackageInstallCommand.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.d.ts +12 -0
- package/umd/src/cli/cli-commands/common/npm/extractNpmPackageVersionFromOutput.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.d.ts +12 -0
- package/umd/src/cli/cli-commands/common/npm/isNpmPackageVersionOutdated.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptRunnerCliOptions.d.ts +9 -2
- package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.d.ts +9 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.d.ts +14 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$ensurePromptbookCliInstallations.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.d.ts +12 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.d.ts +10 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/$updatePromptbookCliInstallation.test.d.ts +1 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallation.d.ts +66 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/PromptbookCliInstallationStatus.d.ts +26 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/buildPromptbookCliInstallCommand.d.ts +7 -0
- package/umd/src/cli/cli-commands/common/promptbook-cli/formatPromptbookCliInstallationWarning.d.ts +7 -0
- package/umd/src/cli/common/loadPromptsModule.d.ts +16 -0
- package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/AgentCollectionInSupabase.d.ts +15 -0
- package/{esm/src/commitments/COMPONENT/COMPONENT.d.ts → umd/src/commitments/META_FULLNAME/META_FULLNAME.d.ts} +8 -5
- package/umd/src/commitments/META_ID/META_ID.d.ts +32 -0
- package/umd/src/commitments/index.d.ts +4 -12
- package/umd/src/executables/platforms/locateAppOnWindows.d.ts +1 -1
- package/umd/src/executables/platforms/locateAppOnWindows.test.d.ts +1 -0
- package/umd/src/llm-providers/agent/Agent.d.ts +1 -1
- package/umd/src/llm-providers/anthropic-claude/AnthropicClaudeExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/azure-openai/AzureOpenAiExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionTools.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAgentKitExecutionToolsToolBuilder.d.ts +2 -2
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsStreamRunner.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiAssistantExecutionToolsToolRunner.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiCompatibleNonChatPromptCaller.d.ts +1 -1
- package/umd/src/llm-providers/openai/OpenAiCompatibleRequestManager.d.ts +1 -1
- package/umd/src/llm-providers/openai/utils/callOpenAiCompatibleChatModel.d.ts +1 -1
- package/umd/src/llm-providers/openai/utils/loadOpenAiAgentsModule.d.ts +203 -0
- package/umd/src/llm-providers/openai/utils/uploadFilesToOpenAi.d.ts +1 -1
- package/umd/src/{commitments/USE_BROWSER → scrapers/_common/utils}/fetchUrlContent.d.ts +2 -3
- package/umd/src/utils/agent-message-runtime/AgentMessageProjectChange.d.ts +76 -0
- package/umd/src/utils/agent-message-runtime/AgentMessageTouchedExternalSource.d.ts +45 -0
- package/umd/src/utils/agent-message-runtime/parseAgentMessageRuntimeLogEvents.d.ts +62 -0
- package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +3 -3
- package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.d.ts +18 -0
- package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.test.d.ts +1 -0
- package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.d.ts +19 -0
- package/umd/src/utils/agent-message-runtime/resolveAgentMessageTouchedProjectNames.test.d.ts +1 -0
- package/umd/src/utils/agents/terminalAgentAvatarVisual.d.ts +5 -2
- package/umd/src/utils/ascii-art/convertImageDataToAsciiArt.d.ts +6 -0
- package/umd/src/utils/ascii-art/createAnsiColorCode.d.ts +46 -0
- package/umd/src/utils/misc/createLazyModuleLoader.d.ts +14 -0
- package/umd/src/utils/misc/debounce.d.ts +4 -2
- package/umd/src/utils/misc/debounce.test.d.ts +1 -0
- package/umd/src/utils/random/$generateBookBoilerplate.test.d.ts +1 -0
- package/umd/src/version.d.ts +1 -1
- package/apps/agents-server/scripts/ignore-kill-eperm.js +0 -31
- package/apps/agents-server/src/app/admin/task-manager/TaskManagerScopeTabs.tsx +0 -74
- package/apps/agents-server/src/app/agents/[agentName]/api/timeouts/actions/route.ts +0 -103
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsClient.tsx +0 -43
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsEditDialog.tsx +0 -98
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsFiltersCard.tsx +0 -75
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsHeader.tsx +0 -53
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsSummaryMetrics.tsx +0 -70
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableCard.tsx +0 -58
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/AgentTimeoutsTableRow.tsx +0 -242
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/loading.tsx +0 -15
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/page.tsx +0 -28
- package/apps/agents-server/src/app/agents/[agentName]/timeouts/useAgentTimeoutsClientState.ts +0 -769
- package/apps/agents-server/src/components/AgentProjectDnsInstructions/AgentProjectDnsInstructions.tsx +0 -182
- package/apps/agents-server/src/tools/configureTimeoutToolRuntimeAdapterForServer.ts +0 -381
- package/apps/agents-server/src/utils/emails/extractUseEmailConfigurationFromAgentSource.ts +0 -42
- package/apps/agents-server/src/utils/userChatClient/runAgentUserTimeoutBulkAction.ts +0 -24
- package/apps/agents-server/src/utils/userChatClient/updateAgentUserTimeout.ts +0 -25
- package/esm/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
- package/esm/scripts/run-codex-prompts/prompts/replacePromptTodoStatusLine.d.ts +0 -7
- package/esm/scripts/run-codex-prompts/ui/buildCoderRunOctopusVisual.d.ts +0 -13
- package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
- package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
- package/esm/src/commitments/MEMORY/MEMORY.d.ts +0 -48
- package/esm/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
- package/esm/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
- package/esm/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
- package/esm/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
- package/esm/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
- package/esm/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
- package/esm/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/esm/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
- package/esm/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
- package/esm/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
- package/esm/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
- package/esm/src/commitments/META/META.d.ts +0 -65
- package/esm/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
- package/esm/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
- package/esm/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
- package/esm/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
- package/esm/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
- package/esm/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
- package/esm/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
- package/esm/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
- package/esm/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
- package/esm/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
- package/esm/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
- package/esm/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
- package/esm/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
- package/esm/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
- package/esm/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
- package/esm/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
- package/esm/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
- package/esm/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
- package/esm/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
- package/esm/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
- package/esm/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/esm/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
- package/esm/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
- package/esm/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
- package/esm/src/commitments/WALLET/WALLET.d.ts +0 -21
- package/esm/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
- package/esm/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
- package/esm/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
- package/esm/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
- package/esm/src/commitments/WALLET/createWalletTools.d.ts +0 -7
- package/esm/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
- package/esm/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
- package/esm/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
- package/esm/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
- package/esm/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
- package/esm/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
- package/esm/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
- package/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.ts +0 -34
- package/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.ts +0 -28
- package/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.ts +0 -39
- package/src/commitments/COMPONENT/COMPONENT.ts +0 -70
- package/src/commitments/MEMORY/MEMORY.ts +0 -94
- package/src/commitments/MEMORY/MemoryToolNames.ts +0 -13
- package/src/commitments/MEMORY/MemoryToolRuntimeAdapter.ts +0 -180
- package/src/commitments/MEMORY/createMemorySystemMessage.ts +0 -27
- package/src/commitments/MEMORY/createMemoryToolFunctions.ts +0 -134
- package/src/commitments/MEMORY/createMemoryTools.ts +0 -115
- package/src/commitments/MEMORY/getMemoryCommitmentDocumentation.ts +0 -47
- package/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.ts +0 -104
- package/src/commitments/MEMORY/getMemoryToolTitles.ts +0 -16
- package/src/commitments/MEMORY/parseMemoryToolArgs.ts +0 -126
- package/src/commitments/MEMORY/resolveMemoryRuntimeContext.ts +0 -23
- package/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.ts +0 -26
- package/src/commitments/META/META.ts +0 -168
- package/src/commitments/USE/TODO.txt +0 -1
- package/src/commitments/USE/aggregateUseCommitmentSystemMessages.ts +0 -219
- package/src/commitments/USE_BROWSER/TODO.txt +0 -1
- package/src/commitments/USE_BROWSER/USE_BROWSER.ts +0 -257
- package/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.ts +0 -45
- package/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.ts +0 -83
- package/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.ts +0 -146
- package/src/commitments/USE_EMAIL/USE_EMAIL.ts +0 -201
- package/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.ts +0 -75
- package/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.ts +0 -44
- package/src/commitments/USE_EMAIL/sendEmailViaBrowser.ts +0 -47
- package/src/commitments/USE_SEARCH_ENGINE/TODO.txt +0 -1
- package/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.ts +0 -171
- package/src/commitments/USE_SPAWN/USE_SPAWN.ts +0 -150
- package/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.ts +0 -42
- package/src/commitments/USE_SPAWN/spawnAgentViaBrowser.ts +0 -50
- package/src/commitments/USE_TIME/USE_TIME.ts +0 -177
- package/src/commitments/USE_TIMEOUT/TimeoutToolNames.ts +0 -13
- package/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.ts +0 -255
- package/src/commitments/USE_TIMEOUT/USE_TIMEOUT.ts +0 -117
- package/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.ts +0 -22
- package/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.ts +0 -361
- package/src/commitments/USE_TIMEOUT/createTimeoutTools.ts +0 -127
- package/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.ts +0 -67
- package/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.ts +0 -460
- package/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.ts +0 -36
- package/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.ts +0 -26
- package/src/commitments/WALLET/WALLET.ts +0 -71
- package/src/commitments/WALLET/WalletToolNames.ts +0 -14
- package/src/commitments/WALLET/WalletToolRuntimeAdapter.ts +0 -180
- package/src/commitments/WALLET/createWalletSystemMessage.ts +0 -22
- package/src/commitments/WALLET/createWalletToolFunctions.ts +0 -145
- package/src/commitments/WALLET/createWalletTools.ts +0 -129
- package/src/commitments/WALLET/getWalletCommitmentDocumentation.ts +0 -14
- package/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.ts +0 -64
- package/src/commitments/WALLET/getWalletToolTitles.ts +0 -17
- package/src/commitments/WALLET/parseWalletToolArgs.ts +0 -231
- package/src/commitments/WALLET/resolveWalletRuntimeContext.ts +0 -23
- package/src/commitments/WALLET/setWalletToolRuntimeAdapter.ts +0 -26
- package/src/commitments/_common/createSerpSearchToolFunction.ts +0 -46
- package/umd/scripts/run-agent-chat/runCoderPing.d.ts +0 -48
- package/umd/scripts/run-codex-prompts/prompts/replacePromptTodoStatusLine.d.ts +0 -7
- package/umd/scripts/run-codex-prompts/ui/buildCoderRunOctopusVisual.d.ts +0 -13
- package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +0 -11
- package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +0 -9
- package/umd/src/commitments/MEMORY/MEMORY.d.ts +0 -48
- package/umd/src/commitments/MEMORY/MemoryToolNames.d.ts +0 -11
- package/umd/src/commitments/MEMORY/MemoryToolRuntimeAdapter.d.ts +0 -149
- package/umd/src/commitments/MEMORY/createMemorySystemMessage.d.ts +0 -6
- package/umd/src/commitments/MEMORY/createMemoryToolFunctions.d.ts +0 -8
- package/umd/src/commitments/MEMORY/createMemoryTools.d.ts +0 -14
- package/umd/src/commitments/MEMORY/getMemoryCommitmentDocumentation.d.ts +0 -6
- package/umd/src/commitments/MEMORY/getMemoryToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/umd/src/commitments/MEMORY/getMemoryToolTitles.d.ts +0 -7
- package/umd/src/commitments/MEMORY/parseMemoryToolArgs.d.ts +0 -61
- package/umd/src/commitments/MEMORY/resolveMemoryRuntimeContext.d.ts +0 -8
- package/umd/src/commitments/MEMORY/setMemoryToolRuntimeAdapter.d.ts +0 -13
- package/umd/src/commitments/META/META.d.ts +0 -65
- package/umd/src/commitments/USE/aggregateUseCommitmentSystemMessages.d.ts +0 -32
- package/umd/src/commitments/USE_BROWSER/USE_BROWSER.d.ts +0 -58
- package/umd/src/commitments/USE_BROWSER/fetchUrlContentViaBrowser.d.ts +0 -13
- package/umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.d.ts +0 -10
- package/umd/src/commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.d.ts +0 -47
- package/umd/src/commitments/USE_EMAIL/USE_EMAIL.d.ts +0 -38
- package/umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.d.ts +0 -21
- package/umd/src/commitments/USE_EMAIL/resolveSendEmailToolForNode.d.ts +0 -11
- package/umd/src/commitments/USE_EMAIL/sendEmailViaBrowser.d.ts +0 -13
- package/umd/src/commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.d.ts +0 -46
- package/umd/src/commitments/USE_SPAWN/USE_SPAWN.d.ts +0 -38
- package/umd/src/commitments/USE_SPAWN/resolveSpawnAgentToolForNode.d.ts +0 -9
- package/umd/src/commitments/USE_SPAWN/spawnAgentViaBrowser.d.ts +0 -12
- package/umd/src/commitments/USE_TIME/USE_TIME.d.ts +0 -43
- package/umd/src/commitments/USE_TIMEOUT/TimeoutToolNames.d.ts +0 -11
- package/umd/src/commitments/USE_TIMEOUT/TimeoutToolRuntimeAdapter.d.ts +0 -212
- package/umd/src/commitments/USE_TIMEOUT/USE_TIMEOUT.d.ts +0 -38
- package/umd/src/commitments/USE_TIMEOUT/createTimeoutSystemMessage.d.ts +0 -6
- package/umd/src/commitments/USE_TIMEOUT/createTimeoutToolFunctions.d.ts +0 -8
- package/umd/src/commitments/USE_TIMEOUT/createTimeoutTools.d.ts +0 -7
- package/umd/src/commitments/USE_TIMEOUT/getTimeoutToolRuntimeAdapterOrDisabledResult.d.ts +0 -17
- package/umd/src/commitments/USE_TIMEOUT/parseTimeoutToolArgs.d.ts +0 -78
- package/umd/src/commitments/USE_TIMEOUT/resolveTimeoutRuntimeContext.d.ts +0 -8
- package/umd/src/commitments/USE_TIMEOUT/setTimeoutToolRuntimeAdapter.d.ts +0 -13
- package/umd/src/commitments/WALLET/WALLET.d.ts +0 -21
- package/umd/src/commitments/WALLET/WalletToolNames.d.ts +0 -12
- package/umd/src/commitments/WALLET/WalletToolRuntimeAdapter.d.ts +0 -163
- package/umd/src/commitments/WALLET/createWalletSystemMessage.d.ts +0 -6
- package/umd/src/commitments/WALLET/createWalletToolFunctions.d.ts +0 -8
- package/umd/src/commitments/WALLET/createWalletTools.d.ts +0 -7
- package/umd/src/commitments/WALLET/getWalletCommitmentDocumentation.d.ts +0 -6
- package/umd/src/commitments/WALLET/getWalletToolRuntimeAdapterOrDisabledResult.d.ts +0 -16
- package/umd/src/commitments/WALLET/getWalletToolTitles.d.ts +0 -7
- package/umd/src/commitments/WALLET/parseWalletToolArgs.d.ts +0 -51
- package/umd/src/commitments/WALLET/resolveWalletRuntimeContext.d.ts +0 -8
- package/umd/src/commitments/WALLET/setWalletToolRuntimeAdapter.d.ts +0 -13
- package/umd/src/commitments/_common/createSerpSearchToolFunction.d.ts +0 -12
- /package/esm/src/{book-2.0/agent-source/createAgentModelRequirements.useCommitmentAggregation.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
- /package/esm/src/{cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
- /package/esm/src/{cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts → book-2.0/agent-source/createAgentModelRequirementsWithCommitments.unknown.test.d.ts} +0 -0
- /package/esm/src/{commitments/MEMORY/MEMORY.test.d.ts → book-2.0/agent-source/parseAgentSourceWithCommitments.unknown.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_BROWSER/USE_BROWSER.test.d.ts → book-3.0/AgentPlannedMessagesSidecar.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → book-components/BookEditor/createDuplicateFromCommitmentDiagnostics.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_DEEPSEARCH/USE_DEEPSEARCH.test.d.ts → book-components/BookEditor/createUnknownCommitmentDiagnostics.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_EMAIL/USE_EMAIL.test.d.ts → book-components/Chat/utils/agentProjectToolCall.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → cli/cli-commands/coder/boilerplateCount.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_SEARCH_ENGINE/USE_SEARCH_ENGINE.test.d.ts → cli/cli-commands/coder/generate-boilerplates.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_SPAWN/USE_SPAWN.test.d.ts → cli/cli-commands/common/coderGitSyncCliOptions.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_TIME/USE_TIME.test.d.ts → cli/cli-commands/common/harness/$checkHarnessInstallation.test.d.ts} +0 -0
- /package/esm/src/{commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts → cli/cli-commands/common/harnessUpdateCliOptions.test.d.ts} +0 -0
- /package/esm/src/{commitments/WALLET/WALLET.test.d.ts → cli/cli-commands/common/npm/$resolveLatestNpmPackageVersion.test.d.ts} +0 -0
- /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
- /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
- /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
- /package/{umd/src/commitments/MEMORY/MEMORY.test.d.ts → esm/src/cli/cli-commands/common/promptbook-cli/$checkPromptbookCliInstallations.test.d.ts} +0 -0
- /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
- /package/{umd/src/commitments/USE_BROWSER/resolveRunBrowserToolForNode.test.d.ts → esm/src/cli/cli-commands/common/promptbook-cli/$resolvePromptbookCliInstallations.test.d.ts} +0 -0
- /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
- /package/esm/src/commitments/{META → META_DESCRIPTION}/META_DESCRIPTION.d.ts +0 -0
- /package/{umd/src/commitments/USE_EMAIL/USE_EMAIL.test.d.ts → esm/src/executables/platforms/locateAppOnWindows.test.d.ts} +0 -0
- /package/{umd/src/commitments/USE_EMAIL/parseUseEmailCommitmentContent.test.d.ts → esm/src/utils/agent-message-runtime/resolveAgentMessageTouchedExternalSources.test.d.ts} +0 -0
- /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
- /package/{umd/src/commitments/USE_SPAWN/USE_SPAWN.test.d.ts → esm/src/utils/misc/debounce.test.d.ts} +0 -0
- /package/{umd/src/commitments/USE_TIME/USE_TIME.test.d.ts → esm/src/utils/random/$generateBookBoilerplate.test.d.ts} +0 -0
- /package/umd/src/{commitments/USE_TIMEOUT/USE_TIMEOUT.test.d.ts → avatars/renderAvatarVisualTerminalText.test.d.ts} +0 -0
- /package/umd/src/{commitments/WALLET/WALLET.test.d.ts → book-2.0/agent-source/createAgentModelRequirements.commitmentAggregation.test.d.ts} +0 -0
- /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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
283
|
-
|
|
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
|
-
*
|
|
430
|
+
* Optional URL prefixes which also identify this reference in the authored markdown.
|
|
354
431
|
*
|
|
355
|
-
*
|
|
356
|
-
*
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
898
|
-
|
|
899
|
-
|
|
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
|
-
|
|
1067
|
+
referenceByKey.set(normalizedReference, reference);
|
|
1068
|
+
}
|
|
903
1069
|
}
|
|
904
1070
|
|
|
905
1071
|
return referenceByKey;
|
|
906
1072
|
}
|
|
907
1073
|
|
|
908
1074
|
/**
|
|
909
|
-
*
|
|
1075
|
+
* One display-name alias and the inline reference it renders.
|
|
910
1076
|
*
|
|
911
|
-
* @
|
|
912
|
-
|
|
913
|
-
|
|
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
|
|
918
|
-
|
|
919
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
* @
|
|
931
|
-
|
|
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
|
-
|
|
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
|
|
1252
|
+
return decodeURIComponent(value);
|
|
938
1253
|
} catch {
|
|
939
|
-
return
|
|
1254
|
+
return value;
|
|
940
1255
|
}
|
|
941
1256
|
}
|
|
942
1257
|
|
|
943
1258
|
/**
|
|
944
|
-
*
|
|
1259
|
+
* Normalizes one URL path so that encoding, casing and trailing slashes do not break matching.
|
|
945
1260
|
*
|
|
946
|
-
*
|
|
947
|
-
*
|
|
1261
|
+
* @param path - Raw path including an optional query and hash.
|
|
1262
|
+
* @returns Comparable path.
|
|
948
1263
|
*
|
|
949
|
-
* @
|
|
950
|
-
|
|
951
|
-
|
|
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
|
|
956
|
-
const
|
|
1280
|
+
function createComparableUrlParts(url: string): ComparableUrlParts | null {
|
|
1281
|
+
const trimmedUrl = url
|
|
1282
|
+
.trim()
|
|
1283
|
+
.replace(/^<([\s\S]*)>$/, '$1')
|
|
1284
|
+
.trim();
|
|
957
1285
|
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
return false;
|
|
962
|
-
}
|
|
1286
|
+
if (trimmedUrl === '') {
|
|
1287
|
+
return null;
|
|
1288
|
+
}
|
|
963
1289
|
|
|
964
|
-
|
|
965
|
-
|
|
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
|
-
|
|
969
|
-
|
|
1298
|
+
if (!trimmedUrl.startsWith('/')) {
|
|
1299
|
+
return null;
|
|
1300
|
+
}
|
|
970
1301
|
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
);
|
|
976
|
-
});
|
|
1302
|
+
return {
|
|
1303
|
+
host: '',
|
|
1304
|
+
path: normalizeUrlPathForComparison(trimmedUrl),
|
|
1305
|
+
};
|
|
977
1306
|
}
|
|
978
1307
|
|
|
979
1308
|
/**
|
|
980
|
-
*
|
|
1309
|
+
* Returns whether one URL points into one reference source prefix.
|
|
981
1310
|
*
|
|
982
|
-
* @param
|
|
983
|
-
* @param
|
|
984
|
-
* @returns
|
|
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
|
|
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
|
-
|
|
992
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
1083
|
-
|
|
1084
|
-
|
|
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
|
-
|
|
1088
|
-
|
|
1089
|
-
(match, rawReference: string) => {
|
|
1090
|
-
const reference = referenceByKey.get(normalizeMarkdownInlineReferenceKey(rawReference));
|
|
1625
|
+
return placeholder;
|
|
1626
|
+
};
|
|
1091
1627
|
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
);
|
|
1628
|
+
const hrefMatchers = createMarkdownInlineReferenceHrefMatchers(references);
|
|
1629
|
+
let referencedMarkdown = replaceMarkdownInlineReferenceTokens(markdown, references, createPlaceholder);
|
|
1095
1630
|
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
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
|
-
|
|
1104
|
-
|
|
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
|
-
|
|
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
|
|
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);
|