@sentry/junior 0.219.0 → 0.220.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/{agent-DFeJ0yVy.js → agent-CJ_-GRPT.js} +19 -19
  2. package/dist/{agent-hooks-CKaIOT4I.js → agent-hooks-DsFlR7gi.js} +8 -8
  3. package/dist/{agent-runner-DifJddqY.js → agent-runner-D82gVT0O.js} +5 -5
  4. package/dist/api/schema.d.ts +30 -0
  5. package/dist/api/schema.js +2 -2
  6. package/dist/api.js +80 -19
  7. package/dist/app.js +31 -158
  8. package/dist/{auth-pause-state-nAyuKldT.js → auth-pause-state-DL5YJXnT.js} +6 -6
  9. package/dist/{briefs-D2iu2JPg.js → briefs-CvXfErSa.js} +4 -4
  10. package/dist/{catalog-runtime-v3x4peOv.js → catalog-runtime-DSEzvNVT.js} +1 -1
  11. package/dist/{checkpoint-Cc7ba7dw.js → checkpoint-DfpPyo-x.js} +7 -7
  12. package/dist/cli/chat.js +13 -13
  13. package/dist/cli/check.js +3 -3
  14. package/dist/cli/main.js +1 -1
  15. package/dist/cli/plugins.js +3 -3
  16. package/dist/cli/snapshot-create.js +3 -3
  17. package/dist/cli/upgrade.js +3 -3
  18. package/dist/{client-DVKLZG01.js → client-pBijNHYx.js} +2 -2
  19. package/dist/{config-BXIOxlCK.js → config-DYi2mx6N.js} +2 -2
  20. package/dist/{conversation-BpqLg4MM.js → conversation-BSRGzJmY.js} +1 -0
  21. package/dist/{conversation-privacy-8-WR4KBo.js → conversation-privacy-TiU3SGZh.js} +1 -1
  22. package/dist/{credential-sync-BOcckr3l.js → credential-sync-hBiu11zS.js} +20 -20
  23. package/dist/{execution-stats-G61-pwq6.js → execution-stats-DAWGg9WH.js} +3 -3
  24. package/dist/{executor-D_aAfzGp.js → executor-t2OCqFgz.js} +1 -1
  25. package/dist/instrumentation.js +2 -2
  26. package/dist/{job-queue-DjgMEeqJ.js → job-queue-Deruj7qS.js} +1 -1
  27. package/dist/{logging-1iHJtqBM.js → logging-wngKXw7u.js} +1 -1
  28. package/dist/nitro.js +3 -3
  29. package/dist/{oauth-callback-server-wwYSbTaU.js → oauth-callback-server-D1jNG0lr.js} +2 -2
  30. package/dist/{pending-auth-B2qOCIx1.js → pending-auth-DJa76b68.js} +2 -2
  31. package/dist/{profile-B4e6XN37.js → profile-Mv2uNsKJ.js} +4 -4
  32. package/dist/{prompt-DAoaq0CT.js → prompt-BkaHwBW0.js} +1 -1
  33. package/dist/{registry-C0DT9wqc.js → registry-6_Zog2YF.js} +1 -1
  34. package/dist/{resolve-DugfbPdI.js → resolve-BI3Dfm9p.js} +2 -2
  35. package/dist/{runner-RE9Lp-M8.js → runner-CzrmejYr.js} +9 -9
  36. package/dist/{sandbox-egress-signals-BqkV7azF.js → sandbox-egress-signals-BcSCyPKx.js} +1 -1
  37. package/dist/{schema-BMG8MJPJ.js → schema-YPJXVcOW.js} +1 -1
  38. package/dist/{short-title-C7tWtQQy.js → short-title-Bs3wWE1M.js} +2 -2
  39. package/dist/{skills-B6OcxCOp.js → skills-DOE_QPVJ.js} +2 -2
  40. package/dist/{spawn-BmZvmNYc.js → spawn-DylJoJnT.js} +2 -2
  41. package/dist/{stats-BtMLD1n8.js → stats--FeHjGJ1.js} +5 -5
  42. package/dist/{task-queue-a2aXjkx2.js → task-queue-CSEo5Ly9.js} +3 -3
  43. package/dist/{task-runner-Bg2trvKT.js → task-runner-BDwZj8OX.js} +8 -8
  44. package/dist/{thread-state-D4zlHEq1.js → thread-state-CpZAVpdG.js} +5 -5
  45. package/dist/{turn-execution-CgCTt4YP.js → turn-execution-AROC0tUZ.js} +3 -3
  46. package/dist/{turn-lifecycle-ClF1kY55.js → turn-lifecycle-CGNjfgbT.js} +1 -1
  47. package/dist/{validation-CGkLLzS9.js → validation-QFwh6qzp.js} +1 -1
  48. package/dist/{version-CZfM8Kly.js → version-FAS9qrpM.js} +1 -1
  49. package/dist/version.js +1 -1
  50. package/dist/{web-authorization-DCSwmiua.js → web-authorization-ZAQcIE4e.js} +1 -1
  51. package/dist/{web-input-CQrFGEv9.js → web-input-C5nhIX0j.js} +4 -4
  52. package/dist/{work-lRFwhKJe.js → work-BNw2Vmxi.js} +9 -9
  53. package/dist/{worker-BV4FekSX.js → worker-9Us77-te.js} +5 -5
  54. package/package.json +4 -4
@@ -1,28 +1,28 @@
1
- import { C as resolveGatewayCredential, S as getGatewayApiKey, _ as findProviderError, b as isProviderRetryError, c as COMPACTION_SUMMARY_PREFIX, d as isCompactionSummaryText, f as renderCurrentInstruction, g as createProviderError, h as ProviderError, i as completeText, l as MODEL_HANDOFF_SUMMARY_PREFIX, m as escapeXml, n as GEN_AI_SERVER_ADDRESS, o as resolveGatewayModel, p as unwrapCurrentInstruction, r as completeObject, s as ACTIVE_TURN_COMPACTION_SUMMARY_PREFIX, t as GEN_AI_PROVIDER_NAME, u as hasCompactedConversationContext, v as getProviderErrorAttributes, x as MISSING_GATEWAY_CREDENTIALS_ERROR } from "./client-DVKLZG01.js";
2
- import { C as withSpan, F as isRecord$2, P as normalizeIdentityEmail, S as withLogContext, _ as setSpanAttributes, a as extractGenAiUsageSummary, b as summarizeMessageText, c as getTracePropagationHeaders, d as logInfo, f as logWarn, h as serializeGenAiAttribute, i as extractGenAiUsageAttributes, l as logError, p as normalizeGenAiFinishReason, s as getLogContextAttributesForSpan, u as logException, v as setSpanStatus, y as setTags } from "./logging-1iHJtqBM.js";
1
+ import { C as resolveGatewayCredential, S as getGatewayApiKey, _ as findProviderError, b as isProviderRetryError, c as COMPACTION_SUMMARY_PREFIX, d as isCompactionSummaryText, f as renderCurrentInstruction, g as createProviderError, h as ProviderError, i as completeText, l as MODEL_HANDOFF_SUMMARY_PREFIX, m as escapeXml, n as GEN_AI_SERVER_ADDRESS, o as resolveGatewayModel, p as unwrapCurrentInstruction, r as completeObject, s as ACTIVE_TURN_COMPACTION_SUMMARY_PREFIX, t as GEN_AI_PROVIDER_NAME, u as hasCompactedConversationContext, v as getProviderErrorAttributes, x as MISSING_GATEWAY_CREDENTIALS_ERROR } from "./client-pBijNHYx.js";
2
+ import { C as withSpan, F as isRecord$2, P as normalizeIdentityEmail, S as withLogContext, _ as setSpanAttributes, a as extractGenAiUsageSummary, b as summarizeMessageText, c as getTracePropagationHeaders, d as logInfo, f as logWarn, h as serializeGenAiAttribute, i as extractGenAiUsageAttributes, l as logError, p as normalizeGenAiFinishReason, s as getLogContextAttributesForSpan, u as logException, v as setSpanStatus, y as setTags } from "./logging-wngKXw7u.js";
3
3
  import { m as startInactiveSpan, v as withActiveSpan } from "./sentry-CgWZM_kV.js";
4
- import { a as toCanonicalInputMessage, c as toGenAiPayloadMetadata, i as runWithConversationPrivacy, l as toGenAiPayloadTraceAttributes, o as toCanonicalOutputMessage, r as resolveConversationPrivacy, s as toGenAiMessagesTraceAttributes, t as canExposeConversationPayload } from "./conversation-privacy-8-WR4KBo.js";
5
- import { h as normalizeSlackEmojiName, n as botConfig } from "./config-BXIOxlCK.js";
4
+ import { a as toCanonicalInputMessage, c as toGenAiPayloadMetadata, i as runWithConversationPrivacy, l as toGenAiPayloadTraceAttributes, o as toCanonicalOutputMessage, r as resolveConversationPrivacy, s as toGenAiMessagesTraceAttributes, t as canExposeConversationPayload } from "./conversation-privacy-TiU3SGZh.js";
5
+ import { h as normalizeSlackEmojiName, n as botConfig } from "./config-DYi2mx6N.js";
6
6
  import { a as modelIdForProfile, c as TURN_REASONING_LEVELS, i as formatModelProfiles, o as modelProfileSchema, r as formatModelProfile, s as profileConfig, t as ModelProfileNotConfiguredError } from "./model-profile-CZmVoGdX.js";
7
7
  import { _ as parseSlackMessageTs, g as parseSlackUserId, h as parseSlackTeamId, i as credentialUserSubjectId, l as isUserActor, m as parseSlackChannelReferenceId, n as credentialContextSchema, p as parseSlackChannelId, t as credentialContextForActor } from "./context-Bplcgypl.js";
8
- import { A as tryWorkspaceRepoCheckoutPath, B as downloadPrivateSlackFile, C as invalidateReadySnapshot, D as SANDBOX_RUNTIME, E as setWorkspaceSnapshotBuild, Gt as getDb, Ht as getConversationEventStore, J as withSlackRetries, K as normalizeSlackConversationId, Kt as getSqlExecutor, M as resolveChannelCapabilities, O as deleteWorkspaceSnapshotBuilders, Q as readActorIdentity, S as WorkspaceValidationError, T as setWorkspaceSnapshot, U as getSlackClient, Ut as getConversationMessageSearchStore, V as getFilePermalink, W as isConversationScopedChannel, Wt as getConversationStore, _ as deleteWorkspace, at as STOP_WATCHING_TOOL_NAME, b as listWorkspaces, bt as createPluginLogger, c as getPluginTools, dt as findMatchingWatches, en as addAgentTurnUsage, ft as listWatches, g as createWorkspace, ht as getDashboardTaskLink, in as hasAgentTurnUsage, it as RESOURCE_WATCH_TOOL_SOURCE, j as workspaceRepoCheckoutPath, k as getWorkspaceSnapshotBuilder, l as getPluginUserPromptContributions, lt as createWatch, mt as getDashboardConversationLink, nt as RESOURCE_SUBSCRIPTION_DEFAULT_TTL_MS, ot as cancelSubscriptions, pt as JUNIOR_THREAD_STATE_TTL_MS, r as createPluginHookRunner, s as getPluginSystemPromptContributions, st as cancelWatch, tt as getSlackToolContext, u as getPlugins, un as parseDestination, ut as deliverWatch, v as getWorkspace, w as loadSnapshotsForProfile, x as updateWorkspace, y as getWorkspaceByName, z as SlackActionError } from "./agent-hooks-CKaIOT4I.js";
8
+ import { A as tryWorkspaceRepoCheckoutPath, B as downloadPrivateSlackFile, C as invalidateReadySnapshot, D as SANDBOX_RUNTIME, E as setWorkspaceSnapshotBuild, Gt as getDb, Ht as getConversationEventStore, J as withSlackRetries, K as normalizeSlackConversationId, Kt as getSqlExecutor, M as resolveChannelCapabilities, O as deleteWorkspaceSnapshotBuilders, Q as readActorIdentity, S as WorkspaceValidationError, T as setWorkspaceSnapshot, U as getSlackClient, Ut as getConversationMessageSearchStore, V as getFilePermalink, W as isConversationScopedChannel, Wt as getConversationStore, _ as deleteWorkspace, at as STOP_WATCHING_TOOL_NAME, b as listWorkspaces, bt as createPluginLogger, c as getPluginTools, dt as findMatchingWatches, en as addAgentTurnUsage, ft as listWatches, g as createWorkspace, ht as getDashboardTaskLink, in as hasAgentTurnUsage, it as RESOURCE_WATCH_TOOL_SOURCE, j as workspaceRepoCheckoutPath, k as getWorkspaceSnapshotBuilder, l as getPluginUserPromptContributions, lt as createWatch, mt as getDashboardConversationLink, nt as RESOURCE_SUBSCRIPTION_DEFAULT_TTL_MS, ot as cancelSubscriptions, pt as JUNIOR_THREAD_STATE_TTL_MS, r as createPluginHookRunner, s as getPluginSystemPromptContributions, st as cancelWatch, tt as getSlackToolContext, u as getPlugins, un as parseDestination, ut as deliverWatch, v as getWorkspace, w as loadSnapshotsForProfile, x as updateWorkspace, y as getWorkspaceByName, z as SlackActionError } from "./agent-hooks-DsFlR7gi.js";
9
9
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
10
- import { D as juniorIdentities, E as juniorConversations, a as juniorSchedulerRuns, d as AGENT_INVOCATION_MAILBOX_STATUSES, g as juniorConversationBriefs, k as juniorArtifacts, w as juniorAttachments, x as juniorConversationAnnotations } from "./executor-D_aAfzGp.js";
11
- import { A as briefLinkSchema, G as sameActorIdentity, H as contextProvenance, M as conversationBriefSchema, P as KNOWN_CONVERSATION_EVENT_TYPES, U as instructionActors, W as instructionProvenanceFor, j as briefOutcomeStatusSchema } from "./conversation-BpqLg4MM.js";
10
+ import { D as juniorIdentities, E as juniorConversations, a as juniorSchedulerRuns, d as AGENT_INVOCATION_MAILBOX_STATUSES, g as juniorConversationBriefs, k as juniorArtifacts, w as juniorAttachments, x as juniorConversationAnnotations } from "./executor-t2OCqFgz.js";
11
+ import { A as briefLinkSchema, G as sameActorIdentity, H as contextProvenance, M as conversationBriefSchema, P as KNOWN_CONVERSATION_EVENT_TYPES, U as instructionActors, W as instructionProvenanceFor, j as briefOutcomeStatusSchema } from "./conversation-BSRGzJmY.js";
12
12
  import { a as listReferenceFiles, c as soulPathCandidates, l as worldPathCandidates } from "./package-discovery-7a9YqLhE.js";
13
- import { a as resolveAuthTokenPlaceholder, c as fetchWithBoundedOAuthErrorBodies, d as CredentialUnavailableError, i as resolvePluginHeaderEnvRefs, l as getOAuthProviderErrorAttributes, o as resolvePluginCommandEnv, s as OAuthProviderError } from "./registry-C0DT9wqc.js";
14
- import { n as pluginCatalogRuntime } from "./catalog-runtime-v3x4peOv.js";
15
- import { a as parseSkillInvocation, n as findSkillByName, r as loadSkillsByName, t as discoverSkills } from "./skills-B6OcxCOp.js";
16
- import { A as TURN_CONTEXT_TAG, C as isContinuablePiBoundary, D as retainRuntimeTurnContext, E as normalizeToolNameFromResult, H as recordAuthorizationRequested, I as loadTurnRoute, K as recordToolExecutionStarted, L as openConversationProjection, N as loadConnectedMcpProviders, O as stripRuntimeTurnContext, P as loadConversationProjection, R as recordAgentsInstructionsUpdated, S as isAssistantMessage, T as isToolResultMessage, U as recordGuardianActionReviewed, W as recordMcpProviderConnected, _ as getPiMessageRole, b as hasRuntimeTurnContext, dt as estimateTextTokens, f as TurnSliceLimitExceededError, ft as getAgentContextCompactionTriggerTokens, g as extractAssistantText, h as isTurnExecutionLimitExceededError, ht as piMessageFromHistoryItem, k as trimTrailingAssistantMessages, mt as historyItemFromPiMessage, n as loadTurnCheckpoint, p as assertTurnToolCallLimit, pt as getAgentContextInputLimitTokens, q as recordTurnRoute, r as saveTurnCheckpoint, t as continuableMessages, v as getTerminalAssistantMessages, w as isToolResultError, y as getUserMessageInstructionText, z as recordAttachmentsDelivered } from "./checkpoint-Cc7ba7dw.js";
17
- import { n as generateShortTitle, r as resolveTaskTitle } from "./short-title-C7tWtQQy.js";
18
- import { A as sleep$1, D as fenceLock, E as acquireActiveLock, F as sandboxSkillDir, I as sandboxSkillFile, L as sandboxSkillPathResolution, M as SANDBOX_REPOS_ROOT, N as SANDBOX_SKILLS_ROOT, P as SANDBOX_WORKSPACE_ROOT, _ as workspaceSnapshotNotReadyUserMessage, a as isAbortError, b as buildNonInteractiveShellScript, c as isSandboxCommandStreamInterruptedError, d as isSnapshottingError, f as throwSandboxOperationError, g as isWorkspaceSnapshotNotReadyError, h as getWorkspaceSnapshotNotReadyError, i as ensureDockerDaemon, j as SANDBOX_DATA_ROOT, k as withLock, l as isSandboxMissingError, m as WorkspaceSnapshotNotReadyError, n as hash, o as isAlreadyExistsError, p as wrapSandboxSetupError, r as isStale, s as isSandboxApiTransientError, t as create, u as isSandboxUnavailableError, v as getVercelSandboxCredentials, w as getStateAdapter, x as runNonInteractiveCommand, y as buildCommandScript } from "./profile-B4e6XN37.js";
19
- import { $ as workspaceSnapshotFinishedEvent, B as createEventAutomation, C as SCHEDULED_AUTOMATION_SYSTEM_ACTOR, D as eventAutomationMatchesDestination, E as eventAutomationListToolResultSchema, F as effectiveTaskOutcomes, Gt as makeStructuredToolOutput, I as moveTaskOutcomes, Jt as ToolInputError, L as resolveTaskOutcomes, M as requireEventAutomationSlackContext, N as requireSupportedEventAutomationTrigger, O as eventAutomationToolResult, P as writableEventAutomation, Q as WORKSPACE_SNAPSHOT_READY_EVENT, R as taskOutcomeInputSchema, T as compactEventAutomation, Ut as injectContinuationToolName, V as deleteEventAutomation, W as getEventAutomation, Wt as juniorToolOutputSchema, X as getEventCatalog, Y as saveEventAutomation, Z as WORKSPACE_SNAPSHOT_FAILED_EVENT, at as normalizeCatalogEventIdentifier, c as parseSlackThreadId, ct as registeredEventTypeSchema, et as workspaceSnapshotWatch, f as createScheduledAutomation, g as listScheduledAutomationsForTeam, i as readLiveAttachment, it as hasPluginEventCatalogEntries, j as registeredEventAutomationTriggerSchema, k as eventAutomationToolResultSchema, lt as registeredResourceTypeSchema, nt as eventNamespaceSchema, ot as pluginSupportsEvent, pt as appendAndEnqueueInboundMessage, q as listEventAutomationsForTeam, rt as hasEventCatalogEntries, s as storeAttachments, st as registeredEventMatchSchema, t as incrementStat, tt as eventGuidance, ut as requireSupportedEventMatch, v as readScheduledAutomation, y as saveScheduledAutomation } from "./stats-BtMLD1n8.js";
20
- import { _ as isTurnInputCommitLostError, c as sanitizeAssistantText, f as CooperativeTurnYieldError, l as NO_REPLY_MARKER, n as canReusePendingAuthLink, o as decideReply, p as TurnInputCommitLostError, s as getAssistantReplyText, t as abandonReplacedPendingAuth, u as isNoReplyMarker } from "./pending-auth-B2qOCIx1.js";
21
- import { C as toolInvocationDestination, S as surfaceFromRun, _ as uploadFilesToConversation, b as assertRunConsistency, h as postSlackMessage, i as formatProviderLabel, m as getSlackMessagePermalink, o as resolveBaseUrl, p as addReactionToMessage, r as deliverOAuthAuthorization, s as startOAuthFlow, v as RetryableDeliveryError, x as isAgentRunFeatureDisabled, y as actorFromRun } from "./agent-runner-DifJddqY.js";
22
- import { r as EVENT_AUTHOR_ID } from "./prompt-DAoaq0CT.js";
23
- import { a as createSandboxSession, c as postinstall, d as getSandboxResources, i as bindSandboxFileSystem, l as setSnapshotSpanAttributes, n as isMissingError, o as stopSession, r as resolve$1, s as dependencies } from "./resolve-DugfbPdI.js";
13
+ import { a as resolveAuthTokenPlaceholder, c as fetchWithBoundedOAuthErrorBodies, d as CredentialUnavailableError, i as resolvePluginHeaderEnvRefs, l as getOAuthProviderErrorAttributes, o as resolvePluginCommandEnv, s as OAuthProviderError } from "./registry-6_Zog2YF.js";
14
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-DSEzvNVT.js";
15
+ import { a as parseSkillInvocation, n as findSkillByName, r as loadSkillsByName, t as discoverSkills } from "./skills-DOE_QPVJ.js";
16
+ import { A as TURN_CONTEXT_TAG, C as isContinuablePiBoundary, D as retainRuntimeTurnContext, E as normalizeToolNameFromResult, H as recordAuthorizationRequested, I as loadTurnRoute, K as recordToolExecutionStarted, L as openConversationProjection, N as loadConnectedMcpProviders, O as stripRuntimeTurnContext, P as loadConversationProjection, R as recordAgentsInstructionsUpdated, S as isAssistantMessage, T as isToolResultMessage, U as recordGuardianActionReviewed, W as recordMcpProviderConnected, _ as getPiMessageRole, b as hasRuntimeTurnContext, dt as estimateTextTokens, f as TurnSliceLimitExceededError, ft as getAgentContextCompactionTriggerTokens, g as extractAssistantText, h as isTurnExecutionLimitExceededError, ht as piMessageFromHistoryItem, k as trimTrailingAssistantMessages, mt as historyItemFromPiMessage, n as loadTurnCheckpoint, p as assertTurnToolCallLimit, pt as getAgentContextInputLimitTokens, q as recordTurnRoute, r as saveTurnCheckpoint, t as continuableMessages, v as getTerminalAssistantMessages, w as isToolResultError, y as getUserMessageInstructionText, z as recordAttachmentsDelivered } from "./checkpoint-DfpPyo-x.js";
17
+ import { n as generateShortTitle, r as resolveTaskTitle } from "./short-title-Bs3wWE1M.js";
18
+ import { A as sleep$1, D as fenceLock, E as acquireActiveLock, F as sandboxSkillDir, I as sandboxSkillFile, L as sandboxSkillPathResolution, M as SANDBOX_REPOS_ROOT, N as SANDBOX_SKILLS_ROOT, P as SANDBOX_WORKSPACE_ROOT, _ as workspaceSnapshotNotReadyUserMessage, a as isAbortError, b as buildNonInteractiveShellScript, c as isSandboxCommandStreamInterruptedError, d as isSnapshottingError, f as throwSandboxOperationError, g as isWorkspaceSnapshotNotReadyError, h as getWorkspaceSnapshotNotReadyError, i as ensureDockerDaemon, j as SANDBOX_DATA_ROOT, k as withLock, l as isSandboxMissingError, m as WorkspaceSnapshotNotReadyError, n as hash, o as isAlreadyExistsError, p as wrapSandboxSetupError, r as isStale, s as isSandboxApiTransientError, t as create, u as isSandboxUnavailableError, v as getVercelSandboxCredentials, w as getStateAdapter, x as runNonInteractiveCommand, y as buildCommandScript } from "./profile-Mv2uNsKJ.js";
19
+ import { $ as workspaceSnapshotFinishedEvent, B as createEventAutomation, C as SCHEDULED_AUTOMATION_SYSTEM_ACTOR, D as eventAutomationMatchesDestination, E as eventAutomationListToolResultSchema, F as effectiveTaskOutcomes, Gt as makeStructuredToolOutput, I as moveTaskOutcomes, Jt as ToolInputError, L as resolveTaskOutcomes, M as requireEventAutomationSlackContext, N as requireSupportedEventAutomationTrigger, O as eventAutomationToolResult, P as writableEventAutomation, Q as WORKSPACE_SNAPSHOT_READY_EVENT, R as taskOutcomeInputSchema, T as compactEventAutomation, Ut as injectContinuationToolName, V as deleteEventAutomation, W as getEventAutomation, Wt as juniorToolOutputSchema, X as getEventCatalog, Y as saveEventAutomation, Z as WORKSPACE_SNAPSHOT_FAILED_EVENT, at as normalizeCatalogEventIdentifier, c as parseSlackThreadId, ct as registeredEventTypeSchema, et as workspaceSnapshotWatch, f as createScheduledAutomation, g as listScheduledAutomationsForTeam, i as readLiveAttachment, it as hasPluginEventCatalogEntries, j as registeredEventAutomationTriggerSchema, k as eventAutomationToolResultSchema, lt as registeredResourceTypeSchema, nt as eventNamespaceSchema, ot as pluginSupportsEvent, pt as appendAndEnqueueInboundMessage, q as listEventAutomationsForTeam, rt as hasEventCatalogEntries, s as storeAttachments, st as registeredEventMatchSchema, t as incrementStat, tt as eventGuidance, ut as requireSupportedEventMatch, v as readScheduledAutomation, y as saveScheduledAutomation } from "./stats--FeHjGJ1.js";
20
+ import { _ as isTurnInputCommitLostError, c as sanitizeAssistantText, f as CooperativeTurnYieldError, l as NO_REPLY_MARKER, n as canReusePendingAuthLink, o as decideReply, p as TurnInputCommitLostError, s as getAssistantReplyText, t as abandonReplacedPendingAuth, u as isNoReplyMarker } from "./pending-auth-DJa76b68.js";
21
+ import { C as toolInvocationDestination, S as surfaceFromRun, _ as uploadFilesToConversation, b as assertRunConsistency, h as postSlackMessage, i as formatProviderLabel, m as getSlackMessagePermalink, o as resolveBaseUrl, p as addReactionToMessage, r as deliverOAuthAuthorization, s as startOAuthFlow, v as RetryableDeliveryError, x as isAgentRunFeatureDisabled, y as actorFromRun } from "./agent-runner-D82gVT0O.js";
22
+ import { r as EVENT_AUTHOR_ID } from "./prompt-BkaHwBW0.js";
23
+ import { a as createSandboxSession, c as postinstall, d as getSandboxResources, i as bindSandboxFileSystem, l as setSnapshotSpanAttributes, n as isMissingError, o as stopSession, r as resolve$1, s as dependencies } from "./resolve-BI3Dfm9p.js";
24
24
  import { t as getVercelConversationWorkQueue } from "./vercel-queue-DIkVcfK4.js";
25
- import { a as getTurnRequestDeadline, n as sendNextWorkspaceSnapshotJob, r as sendWorkspaceSnapshotJob } from "./job-queue-DjgMEeqJ.js";
25
+ import { a as getTurnRequestDeadline, n as sendNextWorkspaceSnapshotJob, r as sendWorkspaceSnapshotJob } from "./job-queue-Deruj7qS.js";
26
26
  import { n as privateTraceResultAttributes } from "./private-trace-result-BLvBjy_e.js";
27
27
  import { streamSimple } from "@earendil-works/pi-ai/compat";
28
28
  import { createGatewayProvider } from "@ai-sdk/gateway";
@@ -1,16 +1,16 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { a as embedTexts, r as completeObject } from "./client-DVKLZG01.js";
3
- import { C as withSpan, P as normalizeIdentityEmail, _ as setSpanAttributes, d as logInfo, f as logWarn, u as logException, v as setSpanStatus } from "./logging-1iHJtqBM.js";
2
+ import { a as embedTexts, r as completeObject } from "./client-pBijNHYx.js";
3
+ import { C as withSpan, P as normalizeIdentityEmail, _ as setSpanAttributes, d as logInfo, f as logWarn, u as logException, v as setSpanStatus } from "./logging-wngKXw7u.js";
4
4
  import { a as getClient$1 } from "./sentry-CgWZM_kV.js";
5
- import { t as canExposeConversationPayload } from "./conversation-privacy-8-WR4KBo.js";
6
- import { a as getChatConfig, n as botConfig, s as getSlackBotToken } from "./config-BXIOxlCK.js";
5
+ import { t as canExposeConversationPayload } from "./conversation-privacy-TiU3SGZh.js";
6
+ import { a as getChatConfig, n as botConfig, s as getSlackBotToken } from "./config-DYi2mx6N.js";
7
7
  import { n as defaultModelId } from "./model-profile-CZmVoGdX.js";
8
8
  import { _ as parseSlackMessageTs, c as isActorUserId, h as parseSlackTeamId, m as parseSlackChannelReferenceId, u as parseActorUserId } from "./context-Bplcgypl.js";
9
9
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
10
- import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, _ as CONVERSATION_METRICS, g as juniorConversationBriefs, h as juniorConversationBindings, i as juniorWorkspaces, m as juniorConversationParticipants, n as juniorSnapshots, r as juniorWorkspaceRepos, t as createJuniorSqlExecutor, v as juniorConversationMetrics, x as juniorConversationAnnotations, y as juniorConversationEvents } from "./executor-D_aAfzGp.js";
11
- import { B as historyReplacementSchema, C as conversationReportEventSchema, I as conversationEventDataSchema, K as usageSchema, M as conversationBriefSchema, N as parseBriefInput, V as newConversationEventSchema, z as decodeStoredConversationEvent } from "./conversation-BpqLg4MM.js";
12
- import { A as sleep$1, P as SANDBOX_WORKSPACE_ROOT, l as isSandboxMissingError, n as hash, v as getVercelSandboxCredentials, w as getStateAdapter, x as runNonInteractiveCommand } from "./profile-B4e6XN37.js";
13
- import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-DAoaq0CT.js";
10
+ import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, _ as CONVERSATION_METRICS, g as juniorConversationBriefs, h as juniorConversationBindings, i as juniorWorkspaces, m as juniorConversationParticipants, n as juniorSnapshots, r as juniorWorkspaceRepos, t as createJuniorSqlExecutor, v as juniorConversationMetrics, x as juniorConversationAnnotations, y as juniorConversationEvents } from "./executor-t2OCqFgz.js";
11
+ import { B as historyReplacementSchema, C as conversationReportEventSchema, I as conversationEventDataSchema, K as usageSchema, M as conversationBriefSchema, N as parseBriefInput, V as newConversationEventSchema, z as decodeStoredConversationEvent } from "./conversation-BSRGzJmY.js";
12
+ import { A as sleep$1, P as SANDBOX_WORKSPACE_ROOT, l as isSandboxMissingError, n as hash, v as getVercelSandboxCredentials, w as getStateAdapter, x as runNonInteractiveCommand } from "./profile-Mv2uNsKJ.js";
13
+ import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-BkaHwBW0.js";
14
14
  import { AsyncLocalStorage } from "node:async_hooks";
15
15
  import { z } from "zod";
16
16
  import { createHash, createHmac, randomUUID, timingSafeEqual } from "node:crypto";
@@ -1,9 +1,9 @@
1
- import { F as isRecord, d as logInfo, f as logWarn } from "./logging-1iHJtqBM.js";
2
- import { h as normalizeSlackEmojiName } from "./config-BXIOxlCK.js";
1
+ import { F as isRecord, d as logInfo, f as logWarn } from "./logging-wngKXw7u.js";
2
+ import { h as normalizeSlackEmojiName } from "./config-DYi2mx6N.js";
3
3
  import { _ as parseSlackMessageTs, g as parseSlackUserId } from "./context-Bplcgypl.js";
4
- import { G as isDmChannel, J as withSlackRetries, K as normalizeSlackConversationId, U as getSlackClient, n as applyPluginFormatMarkdown, un as parseDestination, z as SlackActionError } from "./agent-hooks-CKaIOT4I.js";
5
- import { n as pluginCatalogRuntime } from "./catalog-runtime-v3x4peOv.js";
6
- import { w as getStateAdapter } from "./profile-B4e6XN37.js";
4
+ import { G as isDmChannel, J as withSlackRetries, K as normalizeSlackConversationId, U as getSlackClient, n as applyPluginFormatMarkdown, un as parseDestination, z as SlackActionError } from "./agent-hooks-DsFlR7gi.js";
5
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-DSEzvNVT.js";
6
+ import { w as getStateAdapter } from "./profile-Mv2uNsKJ.js";
7
7
  import { r as isExperimentalFeatureEnabled } from "./experimental-CIXf7Uye.js";
8
8
  import { randomBytes } from "node:crypto";
9
9
  import { actorSchema, sourceSchema } from "@sentry/junior-plugin-api";
@@ -409,6 +409,12 @@ export declare const conversationSummaryReportSchema: z.ZodObject<{
409
409
  slackUserId: z.ZodOptional<z.ZodString>;
410
410
  slackUserName: z.ZodOptional<z.ZodString>;
411
411
  }, z.core.$strict>>;
412
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
413
+ email: z.ZodOptional<z.ZodString>;
414
+ fullName: z.ZodOptional<z.ZodString>;
415
+ slackUserId: z.ZodOptional<z.ZodString>;
416
+ slackUserName: z.ZodOptional<z.ZodString>;
417
+ }, z.core.$strict>>>;
412
418
  archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
413
419
  channel: z.ZodOptional<z.ZodString>;
414
420
  channelName: z.ZodOptional<z.ZodString>;
@@ -973,6 +979,12 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
973
979
  slackUserId: z.ZodOptional<z.ZodString>;
974
980
  slackUserName: z.ZodOptional<z.ZodString>;
975
981
  }, z.core.$strict>>;
982
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
983
+ email: z.ZodOptional<z.ZodString>;
984
+ fullName: z.ZodOptional<z.ZodString>;
985
+ slackUserId: z.ZodOptional<z.ZodString>;
986
+ slackUserName: z.ZodOptional<z.ZodString>;
987
+ }, z.core.$strict>>>;
976
988
  archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
977
989
  channel: z.ZodOptional<z.ZodString>;
978
990
  channelName: z.ZodOptional<z.ZodString>;
@@ -1641,6 +1653,12 @@ export declare const conversationFeedSchema: z.ZodObject<{
1641
1653
  slackUserId: z.ZodOptional<z.ZodString>;
1642
1654
  slackUserName: z.ZodOptional<z.ZodString>;
1643
1655
  }, z.core.$strict>>;
1656
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
1657
+ email: z.ZodOptional<z.ZodString>;
1658
+ fullName: z.ZodOptional<z.ZodString>;
1659
+ slackUserId: z.ZodOptional<z.ZodString>;
1660
+ slackUserName: z.ZodOptional<z.ZodString>;
1661
+ }, z.core.$strict>>>;
1644
1662
  archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1645
1663
  channel: z.ZodOptional<z.ZodString>;
1646
1664
  channelName: z.ZodOptional<z.ZodString>;
@@ -2137,6 +2155,12 @@ export declare const actorProfileReportSchema: z.ZodObject<{
2137
2155
  slackUserId: z.ZodOptional<z.ZodString>;
2138
2156
  slackUserName: z.ZodOptional<z.ZodString>;
2139
2157
  }, z.core.$strict>>;
2158
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
2159
+ email: z.ZodOptional<z.ZodString>;
2160
+ fullName: z.ZodOptional<z.ZodString>;
2161
+ slackUserId: z.ZodOptional<z.ZodString>;
2162
+ slackUserName: z.ZodOptional<z.ZodString>;
2163
+ }, z.core.$strict>>>;
2140
2164
  archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2141
2165
  channel: z.ZodOptional<z.ZodString>;
2142
2166
  channelName: z.ZodOptional<z.ZodString>;
@@ -2448,6 +2472,12 @@ export declare const locationDetailReportSchema: z.ZodObject<{
2448
2472
  slackUserId: z.ZodOptional<z.ZodString>;
2449
2473
  slackUserName: z.ZodOptional<z.ZodString>;
2450
2474
  }, z.core.$strict>>;
2475
+ participants: z.ZodOptional<z.ZodArray<z.ZodObject<{
2476
+ email: z.ZodOptional<z.ZodString>;
2477
+ fullName: z.ZodOptional<z.ZodString>;
2478
+ slackUserId: z.ZodOptional<z.ZodString>;
2479
+ slackUserName: z.ZodOptional<z.ZodString>;
2480
+ }, z.core.$strict>>>;
2451
2481
  archivedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2452
2482
  channel: z.ZodOptional<z.ZodString>;
2453
2483
  channelName: z.ZodOptional<z.ZodString>;
@@ -1,4 +1,4 @@
1
- import { C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, L as conversationTurnFailureCodeSchema, O as createConversationMessageBodySchema, R as conversationTurnFailureReasonSchema, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, l as conversationAuxiliaryCostsSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, s as conversationActivityPreviewSchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, v as conversationPendingAuthorizationSchema, x as conversationPendingMessagesReportSchema, y as conversationPendingMessageDeliverySchema } from "../conversation-BpqLg4MM.js";
1
+ import { C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, L as conversationTurnFailureCodeSchema, O as createConversationMessageBodySchema, R as conversationTurnFailureReasonSchema, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, l as conversationAuxiliaryCostsSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, s as conversationActivityPreviewSchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, v as conversationPendingAuthorizationSchema, x as conversationPendingMessagesReportSchema, y as conversationPendingMessageDeliverySchema } from "../conversation-BSRGzJmY.js";
2
2
  import { a as pluginPackageContentReportSchema, c as runtimeInfoReportSchema, i as pluginPackageContentItemReportSchema, l as skillReportSchema, n as pluginOperationalReportFeedSchema, o as pluginSchema, r as pluginOperationalReportSchema, s as pluginsSchema, t as healthReportSchema, u as skillReportsSchema } from "../reporting-schema-DosTN__Q.js";
3
- import { A as actorProfileReportSchema, B as dailyConversationActivitySchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, E as personalTokenMetadataSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, H as codeChangeSummaryReportSchema, I as locationParamsSchema, K as codeRepositorySummarySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, S as scheduledAutomationSummarySchema, T as personalTokenListSchema, U as codeChangeSummarySchema, V as codeActivityDaySchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, at as apiErrorSchema, b as automationSummarySchema, c as workspaceRepoSchema, d as automationExecutionSchema, f as automationExecutionStatusDaySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, p as automationExecutionStatusSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as automationExecutionListSchema, v as automationRunSchema, w as createdPersonalTokenSchema, x as eventAutomationSummarySchema, y as automationRunWindowsSchema } from "../schema-BMG8MJPJ.js";
3
+ import { A as actorProfileReportSchema, B as dailyConversationActivitySchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, E as personalTokenMetadataSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, H as codeChangeSummaryReportSchema, I as locationParamsSchema, K as codeRepositorySummarySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, S as scheduledAutomationSummarySchema, T as personalTokenListSchema, U as codeChangeSummarySchema, V as codeActivityDaySchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, at as apiErrorSchema, b as automationSummarySchema, c as workspaceRepoSchema, d as automationExecutionSchema, f as automationExecutionStatusDaySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, p as automationExecutionStatusSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as automationExecutionListSchema, v as automationRunSchema, w as createdPersonalTokenSchema, x as eventAutomationSummarySchema, y as automationRunWindowsSchema } from "../schema-YPJXVcOW.js";
4
4
  export { acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationSummarySchema, baselineSnapshotSchema, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositorySummarySchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, eventAutomationSummarySchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, skillReportSchema, skillReportsSchema, statSchema, statsReportSchema, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
package/dist/api.js CHANGED
@@ -1,19 +1,19 @@
1
- import { f as logWarn, u as logException } from "./logging-1iHJtqBM.js";
1
+ import { f as logWarn, u as logException } from "./logging-wngKXw7u.js";
2
2
  import { _ as parseSlackMessageTs, h as parseSlackTeamId, p as parseSlackChannelId } from "./context-Bplcgypl.js";
3
- import { $ as resolveViewerUser, $t as parseSessionSource, Ct as conversationArchivedForEmail, D as SANDBOX_RUNTIME, Dt as conversationNotArchivedForEmail, Et as conversationHasParticipantUser, Ft as listConversationAnnotations, Gt as getDb, It as listConversationAnnotationsById, J as withSlackRetries, Kt as getSqlExecutor, Mt as readConversationEventPage, Nt as buildSentryConversationUrl, Ot as conversationNotArchivedForUser, S as WorkspaceValidationError, St as conversationArchiveTimes, Tt as conversationHasParticipantEmail, U as getSlackClient, Wt as getConversationStore, Z as findUserByEmail, Zt as locationFromRow, _ as deleteWorkspace, an as resolveRootConversationId, b as listWorkspaces, bt as createPluginLogger, et as updateViewerDisplayName, g as createWorkspace, in as hasAgentTurnUsage, j as workspaceRepoCheckoutPath, jt as readLatestConversationBrief, kt as viewerConversationMembership, rn as agentTurnUsageSchema, u as getPlugins, v as getWorkspace, wt as conversationArchivedForUser, x as updateWorkspace, xt as readConversationAccessFromSql } from "./agent-hooks-CKaIOT4I.js";
3
+ import { $ as resolveViewerUser, $t as parseSessionSource, Ct as conversationArchivedForEmail, D as SANDBOX_RUNTIME, Dt as conversationNotArchivedForEmail, Et as conversationHasParticipantUser, Ft as listConversationAnnotations, Gt as getDb, It as listConversationAnnotationsById, J as withSlackRetries, Kt as getSqlExecutor, Mt as readConversationEventPage, Nt as buildSentryConversationUrl, Ot as conversationNotArchivedForUser, S as WorkspaceValidationError, St as conversationArchiveTimes, Tt as conversationHasParticipantEmail, U as getSlackClient, Wt as getConversationStore, Z as findUserByEmail, Zt as locationFromRow, _ as deleteWorkspace, an as resolveRootConversationId, b as listWorkspaces, bt as createPluginLogger, et as updateViewerDisplayName, g as createWorkspace, in as hasAgentTurnUsage, j as workspaceRepoCheckoutPath, jt as readLatestConversationBrief, kt as viewerConversationMembership, rn as agentTurnUsageSchema, u as getPlugins, v as getWorkspace, wt as conversationArchivedForUser, x as updateWorkspace, xt as readConversationAccessFromSql } from "./agent-hooks-DsFlR7gi.js";
4
4
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
5
- import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, b as juniorApiTokens, g as juniorConversationBriefs, m as juniorConversationParticipants, o as juniorSchedulerTasks, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor-D_aAfzGp.js";
6
- import { D as createConversationBodySchema, O as createConversationMessageBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-BpqLg4MM.js";
7
- import { t as fallbackShortTitle } from "./short-title-C7tWtQQy.js";
8
- import { n as hash, t as create } from "./profile-B4e6XN37.js";
9
- import { A as eventAutomationTriggerAvailable, F as effectiveTaskOutcomes, G as listDeletedEventAutomationsCreatedBy, H as eventAutomationBelongsToUser, J as listPublicEventAutomationsForTeams, K as listEventAutomationsCreatedBy, Tt as getConversation, V as deleteEventAutomation, W as getEventAutomation, X as getEventCatalog, _ as parseScheduledAutomationRow, c as parseSlackThreadId, ht as cancelHumanFacingPendingMessages, i as readLiveAttachment, m as listPublicScheduledAutomationsForTeams, n as readStats, p as isListedScheduledAutomation, v as readScheduledAutomation, y as saveScheduledAutomation } from "./stats-BtMLD1n8.js";
10
- import { t as getCachedSnapshot } from "./resolve-DugfbPdI.js";
5
+ import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, b as juniorApiTokens, g as juniorConversationBriefs, m as juniorConversationParticipants, o as juniorSchedulerTasks, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor-t2OCqFgz.js";
6
+ import { D as createConversationBodySchema, O as createConversationMessageBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-BSRGzJmY.js";
7
+ import { t as fallbackShortTitle } from "./short-title-Bs3wWE1M.js";
8
+ import { n as hash, t as create } from "./profile-Mv2uNsKJ.js";
9
+ import { A as eventAutomationTriggerAvailable, F as effectiveTaskOutcomes, G as listDeletedEventAutomationsCreatedBy, H as eventAutomationBelongsToUser, J as listPublicEventAutomationsForTeams, K as listEventAutomationsCreatedBy, Tt as getConversation, V as deleteEventAutomation, W as getEventAutomation, X as getEventCatalog, _ as parseScheduledAutomationRow, c as parseSlackThreadId, ht as cancelHumanFacingPendingMessages, i as readLiveAttachment, m as listPublicScheduledAutomationsForTeams, n as readStats, p as isListedScheduledAutomation, v as readScheduledAutomation, y as saveScheduledAutomation } from "./stats--FeHjGJ1.js";
10
+ import { t as getCachedSnapshot } from "./resolve-BI3Dfm9p.js";
11
11
  import { t as getVercelConversationWorkQueue } from "./vercel-queue-DIkVcfK4.js";
12
12
  import { c as runtimeInfoReportSchema, n as pluginOperationalReportFeedSchema, s as pluginsSchema, t as healthReportSchema, u as skillReportsSchema } from "./reporting-schema-DosTN__Q.js";
13
- import { a as webActorFromEmail, c as formatSlackConversationRedactedLabel, d as resolveSlackConversationContextFromThreadId, f as lookupSlackUser, g as readHealthReport, m as createVercelAttachmentStorage, p as legacyWebMailboxMetadataSchema, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage } from "./web-input-CQrFGEv9.js";
14
- import { a as readAutomationExecutionStatusDays, c as readAutomationExecutions, d as conversationActiveDaysColumn, f as conversationAggregateColumns, i as readAutomationExecutionHours, l as readAutomationRuns, n as readAutomationExecutionByConversationId, o as readAutomationExecutionStatusHours, p as conversationRangeColumns, r as readAutomationExecutionDays, s as readAutomationExecutionSummaries, t as emptyAutomationRunWindows } from "./execution-stats-G61-pwq6.js";
15
- import { r as getWebAuthorization } from "./web-authorization-DCSwmiua.js";
16
- import { $ as sumUtcHoursIntoSixHours, A as actorProfileReportSchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, I as locationParamsSchema, J as HOUR_MS$1, L as activityDays$1, M as personalSpendReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, Q as startOfUtcHour, R as activityHours$1, T as personalTokenListSchema, W as codeOverviewReportSchema, X as fillUtcHours, Y as fillUtcDays, Z as fillUtcSixHours, _ as automationRunListSchema, a as workspaceBodySchema, at as apiErrorSchema, et as trailingUtcDayWindow, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, it as utcHourKey, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, nt as trailingUtcSixHourWindow, o as workspaceListSchema, q as DAY_MS$1, rt as utcDayKey, s as workspaceParamsSchema, tt as trailingUtcHourWindow, u as automationExecutionListSchema, w as createdPersonalTokenSchema, z as activitySixHours$1 } from "./schema-BMG8MJPJ.js";
13
+ import { a as webActorFromEmail, c as formatSlackConversationRedactedLabel, d as resolveSlackConversationContextFromThreadId, f as lookupSlackUser, g as readHealthReport, m as createVercelAttachmentStorage, p as legacyWebMailboxMetadataSchema, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage } from "./web-input-C5nhIX0j.js";
14
+ import { a as readAutomationExecutionStatusDays, c as readAutomationExecutions, d as conversationActiveDaysColumn, f as conversationAggregateColumns, i as readAutomationExecutionHours, l as readAutomationRuns, n as readAutomationExecutionByConversationId, o as readAutomationExecutionStatusHours, p as conversationRangeColumns, r as readAutomationExecutionDays, s as readAutomationExecutionSummaries, t as emptyAutomationRunWindows } from "./execution-stats-DAWGg9WH.js";
15
+ import { r as getWebAuthorization } from "./web-authorization-ZAQcIE4e.js";
16
+ import { $ as sumUtcHoursIntoSixHours, A as actorProfileReportSchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, I as locationParamsSchema, J as HOUR_MS$1, L as activityDays$1, M as personalSpendReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, Q as startOfUtcHour, R as activityHours$1, T as personalTokenListSchema, W as codeOverviewReportSchema, X as fillUtcHours, Y as fillUtcDays, Z as fillUtcSixHours, _ as automationRunListSchema, a as workspaceBodySchema, at as apiErrorSchema, et as trailingUtcDayWindow, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, it as utcHourKey, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, nt as trailingUtcSixHourWindow, o as workspaceListSchema, q as DAY_MS$1, rt as utcDayKey, s as workspaceParamsSchema, tt as trailingUtcHourWindow, u as automationExecutionListSchema, w as createdPersonalTokenSchema, z as activitySixHours$1 } from "./schema-YPJXVcOW.js";
17
17
  import { Hono } from "hono";
18
18
  import path from "node:path";
19
19
  import { z } from "zod";
@@ -902,6 +902,61 @@ async function readConversationActivityPreviews(db, conversationIds) {
902
902
  }]));
903
903
  }
904
904
  //#endregion
905
+ //#region src/api/conversations/participants.ts
906
+ const identityColumns = {
907
+ displayName: juniorIdentities.displayName,
908
+ email: juniorIdentities.email,
909
+ handle: juniorIdentities.handle,
910
+ identityId: juniorIdentities.id,
911
+ provider: juniorIdentities.provider,
912
+ providerSubjectId: juniorIdentities.providerSubjectId,
913
+ userDisplayName: juniorUsers.displayName,
914
+ userEmail: juniorUsers.primaryEmail,
915
+ userId: juniorIdentities.userId
916
+ };
917
+ function participantIdentity(row) {
918
+ const fullName = row.userDisplayName?.trim() || row.displayName?.trim();
919
+ const email = row.email?.trim() || row.userEmail?.trim();
920
+ const slack = row.provider === "slack";
921
+ const participant = {
922
+ ...email ? { email } : void 0,
923
+ ...fullName ? { fullName } : void 0,
924
+ ...slack && row.providerSubjectId ? { slackUserId: row.providerSubjectId } : void 0,
925
+ ...slack && row.handle ? { slackUserName: row.handle } : void 0
926
+ };
927
+ return Object.keys(participant).length > 0 ? participant : void 0;
928
+ }
929
+ /** Read actor identities in first-appearance order for each Conversation. */
930
+ async function readConversationParticipants(db, conversationIds) {
931
+ if (conversationIds.length === 0) return /* @__PURE__ */ new Map();
932
+ const [rootRows, eventRows] = await Promise.all([db.select({
933
+ conversationId: juniorConversations.conversationId,
934
+ ...identityColumns
935
+ }).from(juniorConversations).innerJoin(juniorIdentities, eq(juniorIdentities.id, juniorConversations.actorIdentityId)).leftJoin(juniorUsers, eq(juniorUsers.id, juniorIdentities.userId)).where(inArray(juniorConversations.conversationId, [...conversationIds])), db.selectDistinctOn([juniorConversationEvents.conversationId, juniorConversationEvents.actorIdentityId], {
936
+ conversationId: juniorConversationEvents.conversationId,
937
+ seq: juniorConversationEvents.seq,
938
+ ...identityColumns
939
+ }).from(juniorConversationEvents).innerJoin(juniorIdentities, eq(juniorIdentities.id, juniorConversationEvents.actorIdentityId)).leftJoin(juniorUsers, eq(juniorUsers.id, juniorIdentities.userId)).where(inArray(juniorConversationEvents.conversationId, [...conversationIds])).orderBy(asc(juniorConversationEvents.conversationId), asc(juniorConversationEvents.actorIdentityId), asc(juniorConversationEvents.seq))]);
940
+ const ordered = /* @__PURE__ */ new Map();
941
+ const add = (conversationId, row) => {
942
+ const participant = participantIdentity(row);
943
+ if (!participant) return;
944
+ const group = ordered.get(conversationId) ?? {
945
+ identities: [],
946
+ keys: /* @__PURE__ */ new Set()
947
+ };
948
+ const key = row.userId ? `user:${row.userId}` : `identity:${row.identityId}`;
949
+ if (!group.keys.has(key)) {
950
+ group.keys.add(key);
951
+ group.identities.push(participant);
952
+ }
953
+ ordered.set(conversationId, group);
954
+ };
955
+ for (const row of rootRows) add(row.conversationId, row);
956
+ for (const row of eventRows.sort((left, right) => left.seq - right.seq)) add(row.conversationId, row);
957
+ return new Map([...ordered].map(([conversationId, group]) => [conversationId, group.identities]));
958
+ }
959
+ //#endregion
905
960
  //#region src/api/conversations/list.ts
906
961
  const CONVERSATION_FEED_LIMIT = 50;
907
962
  function conversationFeedMembershipFilter(status, filter) {
@@ -1019,12 +1074,13 @@ async function readConversationFeedFromSql(options = {}) {
1019
1074
  const rows = await conversationRows(db, options.limit ?? CONVERSATION_FEED_LIMIT, query ? "all" : options.status ?? "active", filter, query, filter?.kind === "viewer");
1020
1075
  const conversations = rows.map((row) => conversationFromRow(row));
1021
1076
  const conversationIds = conversations.map((conversation) => conversation.conversationId);
1022
- const [accessByConversation, archiveTimesByConversation, annotationsByConversation, auxiliaryCostsByRoot, metricsByRoot, teamDomainByTeamId, conversationWork, lastUserMessageAtByConversation, activityPreviewByConversation] = await Promise.all([
1077
+ const [accessByConversation, archiveTimesByConversation, annotationsByConversation, auxiliaryCostsByRoot, metricsByRoot, participantsByConversation, teamDomainByTeamId, conversationWork, lastUserMessageAtByConversation, activityPreviewByConversation] = await Promise.all([
1023
1078
  readConversationAccessFromSql(db, conversationIds, options.viewer),
1024
1079
  conversationArchiveTimes(db, conversationIds, filter?.kind === "viewer" ? { userId: filter.userId } : filter?.kind === "actorEmail" ? { email: filter.email } : void 0),
1025
1080
  listConversationAnnotationsById(db, conversationIds),
1026
1081
  readConversationAuxiliaryCostsFromSql(db, conversationIds, { includeDescendants: true }),
1027
1082
  readRootConversationMetricsFromSql(db, conversationIds),
1083
+ readConversationParticipants(db, conversationIds),
1028
1084
  resolveSlackTeamDomains(conversations.flatMap((conversation) => conversation.location?.provider === "slack" ? [conversation.location.teamId] : [])),
1029
1085
  listConversationWork(conversationIds),
1030
1086
  readLastUserMessageAtByConversation(db, conversationIds),
@@ -1056,9 +1112,11 @@ async function readConversationFeedFromSql(options = {}) {
1056
1112
  };
1057
1113
  const annotations = access?.canViewPrivateContent ? annotationsByConversation.get(conversation.conversationId) ?? [] : [];
1058
1114
  const activityPreview = access?.canViewPrivateContent ? activityPreviewByConversation.get(conversation.conversationId) : void 0;
1115
+ const participants = access?.canViewPrivateContent ? participantsByConversation.get(conversation.conversationId) : void 0;
1059
1116
  return {
1060
1117
  ...summary,
1061
1118
  ...work,
1119
+ ...participants && participants.length > 0 ? { participants } : void 0,
1062
1120
  ...activityPreview ? { activityPreview } : void 0,
1063
1121
  ...annotations.length > 0 ? { annotations } : void 0,
1064
1122
  ...sidebarAnnotationsByConversation[conversation.conversationId] ? { sidebarAnnotations: sidebarAnnotationsByConversation[conversation.conversationId] } : void 0,
@@ -1600,6 +1658,7 @@ function projectConversationDetail(args) {
1600
1658
  annotations: canExposePayload ? args.annotations : [],
1601
1659
  ...canExposePayload && args.brief ? { brief: args.brief } : void 0,
1602
1660
  events: args.events,
1661
+ ...canExposePayload && args.participants.length > 0 ? { participants: args.participants } : void 0,
1603
1662
  ...args.previousSeq !== void 0 ? { previousCursor: encodeConversationCursor({
1604
1663
  conversationId,
1605
1664
  seq: args.previousSeq
@@ -1620,7 +1679,7 @@ async function readConversationDetailFromSql(conversationId, options) {
1620
1679
  const archivedAtMs = options.viewer ? await readConversationArchivedAt(options.viewer, conversationId) : void 0;
1621
1680
  const executor = getSqlExecutor();
1622
1681
  const includeDescendantMetrics = record.rootConversationId === conversationId;
1623
- const [accessByConversation, annotations, auxiliaryCostsByConversation, briefVersion, modelUsage, metricsByRoot, sourceTask, teamDomainByTeamId] = await Promise.all([
1682
+ const [accessByConversation, annotations, auxiliaryCostsByConversation, briefVersion, modelUsage, metricsByRoot, participantsByConversation, sourceTask, teamDomainByTeamId] = await Promise.all([
1624
1683
  readConversationAccessFromSql(getDb(), [conversationId], options.viewer),
1625
1684
  listConversationAnnotations(getDb(), conversationId),
1626
1685
  readConversationAuxiliaryCostsFromSql(getDb(), [conversationId], { includeDescendants: includeDescendantMetrics }),
@@ -1630,6 +1689,7 @@ async function readConversationDetailFromSql(conversationId, options) {
1630
1689
  includeDescendants: includeDescendantMetrics
1631
1690
  }) : Promise.resolve([]),
1632
1691
  readRootConversationMetricsFromSql(getDb(), includeDescendantMetrics ? [conversationId] : []),
1692
+ readConversationParticipants(getDb(), [conversationId]),
1633
1693
  readConversationSourceTask({
1634
1694
  conversationId,
1635
1695
  ...options.viewer ? { viewer: options.viewer } : void 0
@@ -1657,6 +1717,7 @@ async function readConversationDetailFromSql(conversationId, options) {
1657
1717
  durationMs: metrics?.durationMs ?? record.durationMs,
1658
1718
  events: page.events,
1659
1719
  modelUsage,
1720
+ participants: participantsByConversation.get(conversationId) ?? [],
1660
1721
  ...sourceTask ? { sourceTask } : void 0,
1661
1722
  teamDomainByTeamId,
1662
1723
  ...page.previousSeq === void 0 ? void 0 : { previousSeq: page.previousSeq },
@@ -3453,7 +3514,7 @@ async function readPeoplePluginReports(args) {
3453
3514
  reports: [],
3454
3515
  source: "plugins"
3455
3516
  });
3456
- const { getPluginProfileReports } = await import("./agent-hooks-CKaIOT4I.js").then((n) => n.t);
3517
+ const { getPluginProfileReports } = await import("./agent-hooks-DsFlR7gi.js").then((n) => n.t);
3457
3518
  return pluginOperationalReportFeedSchema.parse({
3458
3519
  generatedAt: new Date(nowMs).toISOString(),
3459
3520
  reports: await getPluginProfileReports({
@@ -4062,7 +4123,7 @@ function readDescriptionText(home) {
4062
4123
  }
4063
4124
  /** Read discovered skill names for authenticated runtime diagnostics. */
4064
4125
  async function readSkillReports() {
4065
- const { discoverSkills } = await import("./skills-B6OcxCOp.js").then((n) => n.o);
4126
+ const { discoverSkills } = await import("./skills-DOE_QPVJ.js").then((n) => n.o);
4066
4127
  const skills = await discoverSkills();
4067
4128
  return skillReportsSchema.parse(skills.map((skill) => ({
4068
4129
  name: skill.name,
@@ -4071,7 +4132,7 @@ async function readSkillReports() {
4071
4132
  }
4072
4133
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
4073
4134
  async function readPlugins() {
4074
- const { pluginCatalogRuntime } = await import("./catalog-runtime-v3x4peOv.js").then((n) => n.t);
4135
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-DSEzvNVT.js").then((n) => n.t);
4075
4136
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
4076
4137
  configKeys: plugin.manifest.configKeys ?? [],
4077
4138
  description: plugin.manifest.description,
@@ -4083,7 +4144,7 @@ async function readPlugins() {
4083
4144
  async function readRuntimeInfoReport() {
4084
4145
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4085
4146
  import("./package-discovery-7a9YqLhE.js").then((n) => n.r),
4086
- import("./catalog-runtime-v3x4peOv.js").then((n) => n.t),
4147
+ import("./catalog-runtime-DSEzvNVT.js").then((n) => n.t),
4087
4148
  readPlugins(),
4088
4149
  readSkillReports()
4089
4150
  ]);
@@ -4100,7 +4161,7 @@ async function readRuntimeInfoReport() {
4100
4161
  /** Read sanitized operational summaries contributed by plugins. */
4101
4162
  async function readPluginOperationalReportFeed() {
4102
4163
  const nowMs = Date.now();
4103
- const { getPluginOperationalReports } = await import("./agent-hooks-CKaIOT4I.js").then((n) => n.t);
4164
+ const { getPluginOperationalReports } = await import("./agent-hooks-DsFlR7gi.js").then((n) => n.t);
4104
4165
  return pluginOperationalReportFeedSchema.parse({
4105
4166
  source: "plugins",
4106
4167
  generatedAt: new Date(nowMs).toISOString(),