@sentry/junior 0.270.0 → 0.272.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 (75) hide show
  1. package/dist/{actor-CP9K2Idu.js → actor-B4DYygOB.js} +1 -1
  2. package/dist/{adapter-BQNTKVTF.js → adapter-BDYDi1F9.js} +1 -1
  3. package/dist/{admin-CKVEoXa4.js → admin-Dj7EFycG.js} +1 -1
  4. package/dist/{agent-runner-MSQSMFkq.js → agent-runner-Cl6Usx2Y.js} +336 -280
  5. package/dist/api/schema.d.ts +2 -2
  6. package/dist/api/schema.js +5 -5
  7. package/dist/api.d.ts +1 -1
  8. package/dist/api.js +81 -37
  9. package/dist/{app-Bz8t4P8p.d.ts → app-DjZblE2J.d.ts} +8 -2
  10. package/dist/app.d.ts +1 -1
  11. package/dist/app.js +74 -40
  12. package/dist/{interruption-marker-CdblrIQK.js → assistant-reply-DN2w6JL_.js} +2 -8
  13. package/dist/{automation-Dwh_xcqM.js → automation-CV7g5h3A.js} +1 -1
  14. package/dist/{briefs-DNFzFFVx.js → briefs-PysAqnjV.js} +4 -4
  15. package/dist/{catalog-runtime-Bdym_wKy.js → catalog-runtime-BNeCWIaF.js} +1 -1
  16. package/dist/cli/chat.js +14 -14
  17. package/dist/cli/check.js +3 -3
  18. package/dist/cli/main.js +3 -3
  19. package/dist/cli/plugins.js +4 -4
  20. package/dist/cli/snapshot-create.js +4 -4
  21. package/dist/cli/upgrade.d.ts +1 -1
  22. package/dist/cli/upgrade.js +3 -3
  23. package/dist/{client-B2MjENki.js → client-FRphcDWW.js} +2 -2
  24. package/dist/{config-Dm3pWRqY.js → config-BUP9wjiR.js} +3 -3
  25. package/dist/{connections-0BBhiD-p.js → connections-CesHau9u.js} +10 -10
  26. package/dist/{conversation-AhOVzN_k.js → conversation-BtQzLoK8.js} +12 -1
  27. package/dist/{conversation-privacy-C1pJ89rs.js → conversation-privacy-DiGvA9a3.js} +1 -1
  28. package/dist/{credential-sync-BRiWYs6_.js → credential-sync-D2odJC30.js} +15 -15
  29. package/dist/{credentialed-BeBaJMZ_.js → credentialed-CgTulRDH.js} +33 -26
  30. package/dist/{db-BYOuu6v2.d.ts → db-BPLmOwXf.d.ts} +11 -1
  31. package/dist/{executor-BB6eJkD4.js → executor-DGDpyegI.js} +30 -7
  32. package/dist/instrumentation.js +2 -2
  33. package/dist/{job-queue-DiaXoSDg.js → job-queue-CjB97sii.js} +2 -2
  34. package/dist/{list-BTDRxkOg.js → list-JZUP1yog.js} +37 -53
  35. package/dist/{logging-C6EdT6PP.js → logging-CjkDr-jP.js} +1 -1
  36. package/dist/message-D9y8PKA1.js +186 -0
  37. package/dist/nitro.d.ts +1 -1
  38. package/dist/nitro.js +3 -3
  39. package/dist/{oauth-callback-server-CjFFVGqa.js → oauth-callback-server-02Pej6hj.js} +2 -2
  40. package/dist/{prompt-BPSdXYXV.js → prompt-vfceH0c-.js} +1 -1
  41. package/dist/{registry-CndmkP2P.js → registry-7XgwNgQe.js} +2 -2
  42. package/dist/{reporting-window-DRCi1Ls_.js → reporting-window-DgHgwQB3.js} +6 -1
  43. package/dist/{resolve-BkAA1wH7.js → resolve-CuuxNfWG.js} +3 -3
  44. package/dist/{result-9TJTpuYP.js → result-BRhb6iN1.js} +17 -13
  45. package/dist/{runner-BmKLSyJm.js → runner-DaWCofuS.js} +11 -11
  46. package/dist/{sandbox-egress-signals-CjLaogMo.js → sandbox-egress-signals-Bn6FA1UC.js} +1 -1
  47. package/dist/{schema-WayPSHFu.d.ts → schema-CNjAzYOw.d.ts} +28 -5
  48. package/dist/{schema-DNLJ_MzW.js → schema-D5VLF4NT.js} +13 -9
  49. package/dist/{service-account-DlhYl-Mu.js → service-account-D9vrsi8d.js} +3 -3
  50. package/dist/{service-account-D6e9cVmH.js → service-account-H45LIAG2.js} +3 -3
  51. package/dist/{session-stop-MZRgYqYH.js → session-stop-HKl0ECX0.js} +81 -153
  52. package/dist/{skills-BggTR_ue.js → skills-CsiKu3-g.js} +2 -2
  53. package/dist/{spawn-DmtlcAT_.js → spawn-DqjBxqWh.js} +2 -2
  54. package/dist/{store-BeWGgaMA.js → store-CPF2kzbu.js} +3 -3
  55. package/dist/{store-Byarin7b.js → store-DyVKH0QB.js} +47 -30
  56. package/dist/{task-queue-Dt1_ZoI_.js → task-queue-BbQXCcNX.js} +3 -3
  57. package/dist/{task-runner-DyKqAPpm.js → task-runner-ChzW5E7R.js} +7 -7
  58. package/dist/{thread-state-BHBLMvgb.js → thread-state-Ds8JTsX6.js} +5 -5
  59. package/dist/{turn-failure-response-DWXy_0oJ.js → turn-failure-response-DCMvjsA0.js} +15 -10
  60. package/dist/{turn-lifecycle-AiXkVqCB.js → turn-lifecycle-DM_77q33.js} +1 -1
  61. package/dist/{turn-session-routing-B9KLBhaT.js → turn-session-routing-BV_gX7n3.js} +13 -13
  62. package/dist/{validation-BW60Vtx_.js → validation-DcGelbBi.js} +1 -1
  63. package/dist/{version-CivPYmkH.js → version-C48azPKq.js} +1 -1
  64. package/dist/version.js +1 -1
  65. package/dist/{viewer-BTgAfdUg.js → viewer-BCRuO8Wg.js} +26 -10
  66. package/dist/{work-Bjm52fHo.js → work-zxkmbJAp.js} +27 -11
  67. package/dist/{worker-CMbgtHLu.js → worker-CNNxHF1V.js} +6 -6
  68. package/migrations/0071_review_item_turn.sql +1 -0
  69. package/migrations/0072_conversation_read_positions.sql +10 -0
  70. package/migrations/meta/0071_snapshot.json +4003 -0
  71. package/migrations/meta/0072_snapshot.json +4064 -0
  72. package/migrations/meta/_journal.json +14 -0
  73. package/package.json +4 -4
  74. package/dist/message-DsjiWRVg.js +0 -59
  75. package/migrations/AGENTS.md +0 -17
@@ -1,2 +1,2 @@
1
- import { $ as automationExecutionStatusDaySchema, $n as ConversationReportEvent, $r as codePersonReportSchema, $t as LocationSummaryReport, A as StatsReport, An as ConversationStatsReport, Ar as conversationPendingMessageSchema, At as createPersonalTokenBodySchema, B as AutomationRun, Bn as ConversationActivityPreview, Br as steerConversationPendingMessagesResponseSchema, Bt as startServiceAccountSignInResponseSchema, C as pluginPackageContentReportSchema, Ci as INPUT_IMAGE_TYPES, Cn as ConversationChildAgentsReport, Cr as conversationEventPageSchema, Ct as workspaceListSchema, D as skillReportSchema, Dn as stopConversationTurnResponseSchema, Dr as conversationParamsSchema, Dt as USER_CUSTOMIZATION_MAX_CHARS, E as runtimeInfoReportSchema, En as StopConversationTurnResponse, Er as conversationFeedSchema, Et as workspaceSchema, F as AutomationExecutionDay, Fn as ActorIdentity, Fr as createConversationBodySchema, Ft as revokePersonalTokenResponseSchema, G as AutomationUpdate, Gn as ConversationEventHistory, Gr as CodeOverviewReport, Gt as startConnectionResponseSchema, H as AutomationRunWindows, Hn as ConversationAuxiliaryCosts, Hr as conversationTurnFailureReasonSchema, Ht as connectionParamsSchema, I as AutomationExecutionList, In as ArchiveConversationBody, Ir as createConversationMessageBodySchema, It as disconnectServiceAccountResponseSchema, J as automationEditErrorSchema, Jn as ConversationModelUsage, Jr as CodeRepositorySummary, Jt as LocationActivityDayReport, K as AutomationVersionList, Kn as ConversationEventPage, Kr as CodePersonReport, Kt as ApiError, L as AutomationExecutionStatusDay, Ln as ArchiveConversationResponse, Lr as forkConversationBodySchema, Lt as serviceAccountListSchema, M as statsReportSchema, Mn as GuardianStats, Mr as conversationReportEventDataSchema, Mt as personalTokenListSchema, N as AutomationEdit, Nn as conversationStatsReportSchema, Nr as conversationReportEventSchema, Nt as personalTokenMetadataSchema, O as skillReportsSchema, On as ConversationMetricDay, Or as conversationPendingAuthorizationSchema, Ot as userCustomizationSchema, P as AutomationExecution, Pn as AcceptedConversationMessage, Pr as conversationSummaryReportSchema, Pt as personalTokenParamsSchema, Q as automationExecutionSchema, Qn as ConversationPendingMessagesReport, Qr as codeOverviewReportSchema, Qt as LocationParams, R as AutomationList, Rn as CancelConversationPendingMessagesBody, Rr as forkConversationResponseSchema, Rt as serviceAccountParamsSchema, S as pluginPackageContentItemReportSchema, Si as MessageAttachment, Sn as ConversationChildAgent, Sr as conversationEventHistorySchema, St as workspaceBodySchema, T as pluginsSchema, Tn as conversationChildAgentsReportSchema, Tr as conversationFeedQuerySchema, Tt as workspaceRepoSchema, U as AutomationScheduleIntent, Un as ConversationCost, Ur as CodeActivityDay, Ut as connectionSchema, V as AutomationRunList, Vn as ConversationAgentTreeNode, Vr as conversationTurnFailureCodeSchema, Vt as connectionListSchema, W as AutomationSummary, Wn as ConversationDetailReport, Wr as CodeChangeSummaryReport, Wt as disconnectConnectionResponseSchema, X as automationEventCatalogSchema, Xn as ConversationPendingMessage, Xr as codeChangeSummaryReportSchema, Xt as LocationDetailReport, Y as automationEditSchema, Yn as ConversationParams, Yr as codeActivityDaySchema, Yt as LocationActorSummaryReport, Z as automationExecutionListSchema, Zn as ConversationPendingMessageDelivery, Zr as codeChangeSummarySchema, Zt as LocationDirectoryReport, _ as SkillReport, _i as normalizeUserInputAnswer, _n as personalSpendReportSchema, _r as cancelConversationPendingMessagesResponseSchema, _t as BaselineSnapshotReport, a as reviewItemCountSchema, ai as DailyConversationActivity, an as ActorDirectoryReport, ar as ConversationSurface, at as automationRunSchema, b as pluginOperationalReportFeedSchema, bi as MAX_INPUT_IMAGES, bn as conversationWatchSchema, br as conversationDetailQuerySchema, bt as baselineSnapshotSchema, c as reviewItemWaitingConversationsSchema, ci as messageCardText, cn as ActorSummaryReport, cr as ConversationUsage, ct as automationSchedulePreviewSchema, d as PluginOperationalReport, di as USER_INPUT_NOTE, dn as PeopleActivityDayReport, dr as SteerConversationPendingMessagesBody, dt as automationVersionActivateSchema, ei as codeRepositoryParamsSchema, en as locationActivityDayReportSchema, er as ConversationReportEventData, et as automationExecutionStatusSchema, f as PluginOperationalReportFeed, fi as UserInputAnswer, fn as PersonParams, fr as SteerConversationPendingMessagesResponse, ft as automationVersionListSchema, g as RuntimeInfoReport, gi as isEmptyUserInputAnswer, gn as personParamsSchema, gr as cancelConversationPendingMessagesBodySchema, gt as scheduledAutomationSummarySchema, h as Plugins, hi as buttonUserInputField, hn as actorProfileReportSchema, hr as archiveConversationResponseSchema, ht as eventAutomationSummarySchema, i as reviewItemActionSchema, ii as conversationChildAgentTotalsSchema, in as ActorActivityDayReport, ir as ConversationSummaryReport, it as automationRunListSchema, j as statSchema, jn as GuardianMetricDay, jr as conversationPendingMessagesReportSchema, jt as createdPersonalTokenSchema, k as StatReport, kn as ConversationStatsItem, kr as conversationPendingMessageDeliverySchema, kt as PersonalTokenMetadata, l as HealthReport, li as resolveMessageCards, ln as ActorTotalsReport, lr as CreateConversationBody, lt as automationSummarySchema, m as PluginPackageContentReport, mi as UserInputRequest, mn as actorDirectoryReportSchema, mr as archiveConversationBodySchema, mt as automationVersionSchema, n as ReviewItemActionBody, ni as codeRepositorySummarySchema, nn as locationDirectoryReportSchema, nr as ConversationReportStatus, nt as automationListSchema, o as reviewItemListSchema, oi as dailyConversationActivitySchema, on as ActorDirectoryWindows, or as ConversationTurnFailureCode, ot as automationRunWindowsSchema, p as PluginPackageContentItemReport, pi as UserInputField, pn as PersonalSpendReport, pr as acceptedConversationMessageSchema, pt as automationVersionParamsSchema, q as ListedAutomationVersion, qn as ConversationFeed, qr as CodeRepositoryReport, qt as apiErrorSchema, r as ReviewItemPayload, ri as ConversationChildAgentTotals, rn as locationParamsSchema, rr as ConversationSourceTask, rt as automationParamsSchema, s as reviewItemSchema, si as MessageCard, sn as ActorProfileReport, sr as ConversationTurnFailureReason, st as automationScheduleIntentSchema, t as OwnedObjectAnnotation, ti as codeRepositoryReportSchema, tn as locationDetailReportSchema, tr as ConversationReportMessageEvent, tt as automationListQuerySchema, u as Plugin, ui as AutomationCard, un as ActorWindowMetrics, ur as CreateConversationMessageBody, ut as automationUpdateSchema, v as SkillReports, vi as webMessageId, vn as ConversationWatch, vr as conversationActivityPreviewSchema, vt as WorkspaceListReport, w as pluginSchema, wn as conversationChildAgentSchema, wr as conversationEventsQuerySchema, wt as workspaceParamsSchema, x as pluginOperationalReportSchema, xi as MAX_INPUT_IMAGE_BYTES, xn as conversationWatchesReportSchema, xr as conversationDetailReportSchema, xt as deleteWorkspaceResponseSchema, y as healthReportSchema, yi as InputImage, yn as ConversationWatchesReport, yr as conversationAuxiliaryCostsSchema, yt as WorkspaceReport, z as AutomationListQuery, zn as CancelConversationPendingMessagesResponse, zr as steerConversationPendingMessagesBodySchema, zt as serviceAccountSchema } from "../schema-WayPSHFu.js";
2
- export { type AcceptedConversationMessage, type ActorActivityDayReport, type ActorDirectoryReport, type ActorDirectoryWindows, type ActorIdentity, type ActorProfileReport, type ActorSummaryReport, type ActorTotalsReport, type ActorWindowMetrics, type ApiError, type ArchiveConversationBody, type ArchiveConversationResponse, type AutomationCard, type AutomationEdit, type AutomationExecution, type AutomationExecutionDay, type AutomationExecutionList, type AutomationExecutionStatusDay, type AutomationList, type AutomationListQuery, type AutomationRun, type AutomationRunList, type AutomationRunWindows, type AutomationScheduleIntent, type AutomationSummary, type AutomationUpdate, type AutomationVersionList, type BaselineSnapshotReport, type CancelConversationPendingMessagesBody, type CancelConversationPendingMessagesResponse, type CodeActivityDay, type CodeChangeSummaryReport, type CodeOverviewReport, type CodePersonReport, type CodeRepositoryReport, type CodeRepositorySummary, type ConversationActivityPreview, type ConversationAgentTreeNode, type ConversationAuxiliaryCosts, type ConversationChildAgent, type ConversationChildAgentTotals, type ConversationChildAgentsReport, type ConversationCost, type ConversationDetailReport, type ConversationEventHistory, type ConversationEventPage, type ConversationFeed, type ConversationMetricDay, type ConversationModelUsage, type ConversationParams, type ConversationPendingMessage, type ConversationPendingMessageDelivery, type ConversationPendingMessagesReport, type ConversationReportEvent, type ConversationReportEventData, type ConversationReportMessageEvent, type ConversationReportStatus, type ConversationSourceTask, type ConversationStatsItem, type ConversationStatsReport, type ConversationSummaryReport, type ConversationSurface, type ConversationTurnFailureCode, type ConversationTurnFailureReason, type ConversationUsage, type ConversationWatch, type ConversationWatchesReport, type CreateConversationBody, type CreateConversationMessageBody, type DailyConversationActivity, type GuardianMetricDay, type GuardianStats, type HealthReport, INPUT_IMAGE_TYPES, type InputImage, type ListedAutomationVersion, type LocationActivityDayReport, type LocationActorSummaryReport, type LocationDetailReport, type LocationDirectoryReport, type LocationParams, type LocationSummaryReport, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, type MessageAttachment, type MessageCard, type OwnedObjectAnnotation, type PeopleActivityDayReport, type PersonParams, type PersonalSpendReport, type PersonalTokenMetadata, type Plugin, type PluginOperationalReport, type PluginOperationalReportFeed, type PluginPackageContentItemReport, type PluginPackageContentReport, type Plugins, type ReviewItemActionBody, type ReviewItemPayload, type RuntimeInfoReport, type SkillReport, type SkillReports, type StatReport, type StatsReport, type SteerConversationPendingMessagesBody, type SteerConversationPendingMessagesResponse, type StopConversationTurnResponse, USER_CUSTOMIZATION_MAX_CHARS, USER_INPUT_NOTE, type UserInputAnswer, type UserInputField, type UserInputRequest, type WorkspaceListReport, type WorkspaceReport, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationEditErrorSchema, automationEditSchema, automationEventCatalogSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationScheduleIntentSchema, automationSchedulePreviewSchema, automationSummarySchema, automationUpdateSchema, automationVersionActivateSchema, automationVersionListSchema, automationVersionParamsSchema, automationVersionSchema, baselineSnapshotSchema, buttonUserInputField, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, connectionListSchema, connectionParamsSchema, connectionSchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentTotalsSchema, conversationChildAgentsReportSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, conversationWatchSchema, conversationWatchesReportSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, disconnectConnectionResponseSchema, disconnectServiceAccountResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, isEmptyUserInputAnswer, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, normalizeUserInputAnswer, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, reviewItemActionSchema, reviewItemCountSchema, reviewItemListSchema, reviewItemSchema, reviewItemWaitingConversationsSchema, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, serviceAccountListSchema, serviceAccountParamsSchema, serviceAccountSchema, skillReportSchema, skillReportsSchema, startConnectionResponseSchema, startServiceAccountSignInResponseSchema, statSchema, statsReportSchema, steerConversationPendingMessagesBodySchema, steerConversationPendingMessagesResponseSchema, stopConversationTurnResponseSchema, userCustomizationSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
1
+ import { $ as automationExecutionStatusDaySchema, $n as ConversationPendingMessageDelivery, $r as codeChangeSummarySchema, $t as LocationSummaryReport, A as StatsReport, An as ConversationMetricDay, Ar as conversationPendingAuthorizationSchema, At as createPersonalTokenBodySchema, B as AutomationRun, Bn as CancelConversationPendingMessagesBody, Br as forkConversationResponseSchema, Bt as startServiceAccountSignInResponseSchema, C as pluginPackageContentReportSchema, Ci as MAX_INPUT_IMAGE_BYTES, Cn as ConversationChildAgentsReport, Cr as conversationDetailReportSchema, Ct as workspaceListSchema, D as skillReportSchema, Dn as conversationReadPositionSchema, Dr as conversationFeedQuerySchema, Dt as USER_CUSTOMIZATION_MAX_CHARS, E as runtimeInfoReportSchema, En as ConversationReadPosition, Er as conversationEventsQuerySchema, Et as workspaceSchema, F as AutomationExecutionDay, Fn as conversationStatsReportSchema, Fr as conversationReportEventSchema, Ft as revokePersonalTokenResponseSchema, G as AutomationUpdate, Gn as ConversationCost, Gr as CodeActivityDay, Gt as startConnectionResponseSchema, H as AutomationRunWindows, Hn as ConversationActivityPreview, Hr as steerConversationPendingMessagesResponseSchema, Ht as connectionParamsSchema, I as AutomationExecutionList, In as AcceptedConversationMessage, Ir as conversationSummaryReportSchema, It as disconnectServiceAccountResponseSchema, J as automationEditErrorSchema, Jn as ConversationEventPage, Jr as CodePersonReport, Jt as LocationActivityDayReport, K as AutomationVersionList, Kn as ConversationDetailReport, Kr as CodeChangeSummaryReport, Kt as ApiError, L as AutomationExecutionStatusDay, Ln as ActorIdentity, Lr as createConversationBodySchema, Lt as serviceAccountListSchema, M as statsReportSchema, Mn as ConversationStatsReport, Mr as conversationPendingMessageSchema, Mt as personalTokenListSchema, N as AutomationEdit, Nn as GuardianMetricDay, Nr as conversationPendingMessagesReportSchema, Nt as personalTokenMetadataSchema, O as skillReportsSchema, On as StopConversationTurnResponse, Or as conversationFeedSchema, Ot as userCustomizationSchema, P as AutomationExecution, Pn as GuardianStats, Pr as conversationReportEventDataSchema, Pt as personalTokenParamsSchema, Q as automationExecutionSchema, Qn as ConversationPendingMessage, Qr as codeChangeSummaryReportSchema, Qt as LocationParams, R as AutomationList, Rn as ArchiveConversationBody, Rr as createConversationMessageBodySchema, Rt as serviceAccountParamsSchema, S as pluginPackageContentItemReportSchema, Si as MAX_INPUT_IMAGES, Sn as ConversationChildAgent, Sr as conversationDetailQuerySchema, St as workspaceBodySchema, T as pluginsSchema, Ti as INPUT_IMAGE_TYPES, Tn as conversationChildAgentsReportSchema, Tr as conversationEventPageSchema, Tt as workspaceRepoSchema, U as AutomationScheduleIntent, Un as ConversationAgentTreeNode, Ur as conversationTurnFailureCodeSchema, Ut as connectionSchema, V as AutomationRunList, Vn as CancelConversationPendingMessagesResponse, Vr as steerConversationPendingMessagesBodySchema, Vt as connectionListSchema, W as AutomationSummary, Wn as ConversationAuxiliaryCosts, Wr as conversationTurnFailureReasonSchema, Wt as disconnectConnectionResponseSchema, X as automationEventCatalogSchema, Xn as ConversationModelUsage, Xr as CodeRepositorySummary, Xt as LocationDetailReport, Y as automationEditSchema, Yn as ConversationFeed, Yr as CodeRepositoryReport, Yt as LocationActorSummaryReport, Z as automationExecutionListSchema, Zn as ConversationParams, Zr as codeActivityDaySchema, Zt as LocationDirectoryReport, _ as SkillReport, _i as buttonUserInputField, _n as personalSpendReportSchema, _r as archiveConversationResponseSchema, _t as BaselineSnapshotReport, a as reviewItemCountSchema, ai as ConversationChildAgentTotals, an as ActorDirectoryReport, ar as ConversationSourceTask, at as automationRunSchema, b as pluginOperationalReportFeedSchema, bi as webMessageId, bn as conversationWatchSchema, br as conversationActivityPreviewSchema, bt as baselineSnapshotSchema, c as reviewItemWaitingConversationsSchema, ci as dailyConversationActivitySchema, cn as ActorSummaryReport, cr as ConversationTurnFailureCode, ct as automationSchedulePreviewSchema, d as PluginOperationalReport, di as resolveMessageCards, dn as PeopleActivityDayReport, dr as CreateConversationBody, dt as automationVersionActivateSchema, ei as codeOverviewReportSchema, en as locationActivityDayReportSchema, er as ConversationPendingMessagesReport, et as automationExecutionStatusSchema, f as PluginOperationalReportFeed, fi as AutomationCard, fn as PersonParams, fr as CreateConversationMessageBody, ft as automationVersionListSchema, g as RuntimeInfoReport, gi as UserInputRequest, gn as personParamsSchema, gr as archiveConversationBodySchema, gt as scheduledAutomationSummarySchema, h as Plugins, hi as UserInputField, hn as actorProfileReportSchema, hr as acceptedConversationMessageSchema, ht as eventAutomationSummarySchema, i as reviewItemActionSchema, ii as codeRepositorySummarySchema, in as ActorActivityDayReport, ir as ConversationReportStatus, it as automationRunListSchema, j as statSchema, jn as ConversationStatsItem, jr as conversationPendingMessageDeliverySchema, jt as createdPersonalTokenSchema, k as StatReport, kn as stopConversationTurnResponseSchema, kr as conversationParamsSchema, kt as PersonalTokenMetadata, l as HealthReport, li as MessageCard, ln as ActorTotalsReport, lr as ConversationTurnFailureReason, lt as automationSummarySchema, m as PluginPackageContentReport, mi as UserInputAnswer, mn as actorDirectoryReportSchema, mr as SteerConversationPendingMessagesResponse, mt as automationVersionSchema, n as ReviewItemActionBody, ni as codeRepositoryParamsSchema, nn as locationDirectoryReportSchema, nr as ConversationReportEventData, nt as automationListSchema, o as reviewItemListSchema, oi as conversationChildAgentTotalsSchema, on as ActorDirectoryWindows, or as ConversationSummaryReport, ot as automationRunWindowsSchema, p as PluginPackageContentItemReport, pi as USER_INPUT_NOTE, pn as PersonalSpendReport, pr as SteerConversationPendingMessagesBody, pt as automationVersionParamsSchema, q as ListedAutomationVersion, qn as ConversationEventHistory, qr as CodeOverviewReport, qt as apiErrorSchema, r as ReviewItemPayload, ri as codeRepositoryReportSchema, rn as locationParamsSchema, rr as ConversationReportMessageEvent, rt as automationParamsSchema, s as reviewItemSchema, si as DailyConversationActivity, sn as ActorProfileReport, sr as ConversationSurface, st as automationScheduleIntentSchema, t as OwnedObjectAnnotation, ti as codePersonReportSchema, tn as locationDetailReportSchema, tr as ConversationReportEvent, tt as automationListQuerySchema, u as Plugin, ui as messageCardText, un as ActorWindowMetrics, ur as ConversationUsage, ut as automationUpdateSchema, v as SkillReports, vi as isEmptyUserInputAnswer, vn as ConversationWatch, vr as cancelConversationPendingMessagesBodySchema, vt as WorkspaceListReport, w as pluginSchema, wi as MessageAttachment, wn as conversationChildAgentSchema, wr as conversationEventHistorySchema, wt as workspaceParamsSchema, x as pluginOperationalReportSchema, xi as InputImage, xn as conversationWatchesReportSchema, xr as conversationAuxiliaryCostsSchema, xt as deleteWorkspaceResponseSchema, y as healthReportSchema, yi as normalizeUserInputAnswer, yn as ConversationWatchesReport, yr as cancelConversationPendingMessagesResponseSchema, yt as WorkspaceReport, z as AutomationListQuery, zn as ArchiveConversationResponse, zr as forkConversationBodySchema, zt as serviceAccountSchema } from "../schema-CNjAzYOw.js";
2
+ export { type AcceptedConversationMessage, type ActorActivityDayReport, type ActorDirectoryReport, type ActorDirectoryWindows, type ActorIdentity, type ActorProfileReport, type ActorSummaryReport, type ActorTotalsReport, type ActorWindowMetrics, type ApiError, type ArchiveConversationBody, type ArchiveConversationResponse, type AutomationCard, type AutomationEdit, type AutomationExecution, type AutomationExecutionDay, type AutomationExecutionList, type AutomationExecutionStatusDay, type AutomationList, type AutomationListQuery, type AutomationRun, type AutomationRunList, type AutomationRunWindows, type AutomationScheduleIntent, type AutomationSummary, type AutomationUpdate, type AutomationVersionList, type BaselineSnapshotReport, type CancelConversationPendingMessagesBody, type CancelConversationPendingMessagesResponse, type CodeActivityDay, type CodeChangeSummaryReport, type CodeOverviewReport, type CodePersonReport, type CodeRepositoryReport, type CodeRepositorySummary, type ConversationActivityPreview, type ConversationAgentTreeNode, type ConversationAuxiliaryCosts, type ConversationChildAgent, type ConversationChildAgentTotals, type ConversationChildAgentsReport, type ConversationCost, type ConversationDetailReport, type ConversationEventHistory, type ConversationEventPage, type ConversationFeed, type ConversationMetricDay, type ConversationModelUsage, type ConversationParams, type ConversationPendingMessage, type ConversationPendingMessageDelivery, type ConversationPendingMessagesReport, type ConversationReadPosition, type ConversationReportEvent, type ConversationReportEventData, type ConversationReportMessageEvent, type ConversationReportStatus, type ConversationSourceTask, type ConversationStatsItem, type ConversationStatsReport, type ConversationSummaryReport, type ConversationSurface, type ConversationTurnFailureCode, type ConversationTurnFailureReason, type ConversationUsage, type ConversationWatch, type ConversationWatchesReport, type CreateConversationBody, type CreateConversationMessageBody, type DailyConversationActivity, type GuardianMetricDay, type GuardianStats, type HealthReport, INPUT_IMAGE_TYPES, type InputImage, type ListedAutomationVersion, type LocationActivityDayReport, type LocationActorSummaryReport, type LocationDetailReport, type LocationDirectoryReport, type LocationParams, type LocationSummaryReport, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, type MessageAttachment, type MessageCard, type OwnedObjectAnnotation, type PeopleActivityDayReport, type PersonParams, type PersonalSpendReport, type PersonalTokenMetadata, type Plugin, type PluginOperationalReport, type PluginOperationalReportFeed, type PluginPackageContentItemReport, type PluginPackageContentReport, type Plugins, type ReviewItemActionBody, type ReviewItemPayload, type RuntimeInfoReport, type SkillReport, type SkillReports, type StatReport, type StatsReport, type SteerConversationPendingMessagesBody, type SteerConversationPendingMessagesResponse, type StopConversationTurnResponse, USER_CUSTOMIZATION_MAX_CHARS, USER_INPUT_NOTE, type UserInputAnswer, type UserInputField, type UserInputRequest, type WorkspaceListReport, type WorkspaceReport, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationEditErrorSchema, automationEditSchema, automationEventCatalogSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationScheduleIntentSchema, automationSchedulePreviewSchema, automationSummarySchema, automationUpdateSchema, automationVersionActivateSchema, automationVersionListSchema, automationVersionParamsSchema, automationVersionSchema, baselineSnapshotSchema, buttonUserInputField, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, connectionListSchema, connectionParamsSchema, connectionSchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentTotalsSchema, conversationChildAgentsReportSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReadPositionSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, conversationWatchSchema, conversationWatchesReportSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, disconnectConnectionResponseSchema, disconnectServiceAccountResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, isEmptyUserInputAnswer, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, normalizeUserInputAnswer, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, reviewItemActionSchema, reviewItemCountSchema, reviewItemListSchema, reviewItemSchema, reviewItemWaitingConversationsSchema, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, serviceAccountListSchema, serviceAccountParamsSchema, serviceAccountSchema, skillReportSchema, skillReportsSchema, startConnectionResponseSchema, startServiceAccountSignInResponseSchema, statSchema, statsReportSchema, steerConversationPendingMessagesBodySchema, steerConversationPendingMessagesResponseSchema, stopConversationTurnResponseSchema, userCustomizationSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
@@ -1,7 +1,7 @@
1
1
  import { c as conversationTurnFailureReasonSchema, s as conversationTurnFailureCodeSchema, t as INPUT_IMAGE_TYPES } from "../media-U6Tuz6Mi.js";
2
- import { A as createConversationMessageBodySchema, C as conversationReportEventSchema, E as conversationSummaryReportSchema, F as conversationChildAgentTotalsSchema, H as MAX_INPUT_IMAGES, M as forkConversationResponseSchema, N as steerConversationPendingMessagesBodySchema, P as steerConversationPendingMessagesResponseSchema, R as messageCardText, S as conversationReportEventDataSchema, U as MAX_INPUT_IMAGE_BYTES, V as resolveMessageCards, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as forkConversationBodySchema, k as createConversationBodySchema, 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-AhOVzN_k.js";
3
- import { S as userCustomizationSchema, _ as isEmptyUserInputAnswer, b as webMessageId, h as buttonUserInputField, m as USER_INPUT_NOTE, v as normalizeUserInputAnswer, x as USER_CUSTOMIZATION_MAX_CHARS } from "../reporting-window-DRCi1Ls_.js";
4
- import { C as eventAutomationSummarySchema, S as automationVersionSchema, _ as automationSummarySchema, a as automationExecutionSchema, b as automationVersionListSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, l as automationListQuerySchema, m as automationRunWindowsSchema, n as automationEditSchema, o as automationExecutionStatusDaySchema, p as automationRunSchema, r as automationEventCatalogSchema, s as automationExecutionStatusSchema, t as automationEditErrorSchema, u as automationListSchema, v as automationUpdateSchema, w as scheduledAutomationSummarySchema, x as automationVersionParamsSchema, y as automationVersionActivateSchema } from "../automation-Dwh_xcqM.js";
2
+ import { A as createConversationMessageBodySchema, C as conversationReportEventSchema, E as conversationSummaryReportSchema, F as conversationChildAgentTotalsSchema, H as resolveMessageCards, I as conversationReadPositionSchema, M as forkConversationResponseSchema, N as steerConversationPendingMessagesBodySchema, P as steerConversationPendingMessagesResponseSchema, S as conversationReportEventDataSchema, U as MAX_INPUT_IMAGES, W as MAX_INPUT_IMAGE_BYTES, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as forkConversationBodySchema, k as createConversationBodySchema, 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, z as messageCardText } from "../conversation-BtQzLoK8.js";
3
+ import { S as userCustomizationSchema, _ as isEmptyUserInputAnswer, b as webMessageId, h as buttonUserInputField, m as USER_INPUT_NOTE, v as normalizeUserInputAnswer, x as USER_CUSTOMIZATION_MAX_CHARS } from "../reporting-window-DgHgwQB3.js";
4
+ import { C as eventAutomationSummarySchema, S as automationVersionSchema, _ as automationSummarySchema, a as automationExecutionSchema, b as automationVersionListSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, l as automationListQuerySchema, m as automationRunWindowsSchema, n as automationEditSchema, o as automationExecutionStatusDaySchema, p as automationRunSchema, r as automationEventCatalogSchema, s as automationExecutionStatusSchema, t as automationEditErrorSchema, u as automationListSchema, v as automationUpdateSchema, w as scheduledAutomationSummarySchema, x as automationVersionParamsSchema, y as automationVersionActivateSchema } from "../automation-CV7g5h3A.js";
5
5
  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-CZREhYc-.js";
6
- import { $ as codeRepositorySummarySchema, B as dailyConversationActivitySchema, C as createdPersonalTokenSchema, D as revokePersonalTokenResponseSchema, E as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as startConnectionResponseSchema, H as connectionParamsSchema, I as locationParamsSchema, J as codeChangeSummarySchema, K as codeActivityDaySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as actorDirectoryReportSchema, P as locationDetailReportSchema, Q as codeRepositoryReportSchema, S as createPersonalTokenBodySchema, T as personalTokenMetadataSchema, U as connectionSchema, V as connectionListSchema, W as disconnectConnectionResponseSchema, X as codePersonReportSchema, Y as codeOverviewReportSchema, Z as codeRepositoryParamsSchema, _ as disconnectServiceAccountResponseSchema, a as workspaceBodySchema, at as conversationStatsReportSchema, b as serviceAccountSchema, c as workspaceRepoSchema, d as reviewItemCountSchema, et as conversationWatchSchema, g as reviewItemWaitingConversationsSchema, h as reviewItemSchema, i as deleteWorkspaceResponseSchema, it as stopConversationTurnResponseSchema, j as personParamsSchema, k as actorProfileReportSchema, l as workspaceSchema, n as statsReportSchema, nt as conversationChildAgentSchema, o as workspaceListSchema, ot as apiErrorSchema, p as reviewItemListSchema, q as codeChangeSummaryReportSchema, r as baselineSnapshotSchema, rt as conversationChildAgentsReportSchema, s as workspaceParamsSchema, t as statSchema, tt as conversationWatchesReportSchema, u as reviewItemActionSchema, v as serviceAccountListSchema, w as personalTokenListSchema, x as startServiceAccountSignInResponseSchema, y as serviceAccountParamsSchema } from "../schema-DNLJ_MzW.js";
7
- export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, USER_CUSTOMIZATION_MAX_CHARS, USER_INPUT_NOTE, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationEditErrorSchema, automationEditSchema, automationEventCatalogSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationScheduleIntentSchema, automationSchedulePreviewSchema, automationSummarySchema, automationUpdateSchema, automationVersionActivateSchema, automationVersionListSchema, automationVersionParamsSchema, automationVersionSchema, baselineSnapshotSchema, buttonUserInputField, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, connectionListSchema, connectionParamsSchema, connectionSchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentTotalsSchema, conversationChildAgentsReportSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, conversationWatchSchema, conversationWatchesReportSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, disconnectConnectionResponseSchema, disconnectServiceAccountResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, isEmptyUserInputAnswer, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, normalizeUserInputAnswer, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, reviewItemActionSchema, reviewItemCountSchema, reviewItemListSchema, reviewItemSchema, reviewItemWaitingConversationsSchema, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, serviceAccountListSchema, serviceAccountParamsSchema, serviceAccountSchema, skillReportSchema, skillReportsSchema, startConnectionResponseSchema, startServiceAccountSignInResponseSchema, statSchema, statsReportSchema, steerConversationPendingMessagesBodySchema, steerConversationPendingMessagesResponseSchema, stopConversationTurnResponseSchema, userCustomizationSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
6
+ import { $ as codeRepositorySummarySchema, B as dailyConversationActivitySchema, C as createdPersonalTokenSchema, D as revokePersonalTokenResponseSchema, E as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as startConnectionResponseSchema, H as connectionParamsSchema, I as locationParamsSchema, J as codeChangeSummarySchema, K as codeActivityDaySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as actorDirectoryReportSchema, P as locationDetailReportSchema, Q as codeRepositoryReportSchema, S as createPersonalTokenBodySchema, T as personalTokenMetadataSchema, U as connectionSchema, V as connectionListSchema, W as disconnectConnectionResponseSchema, X as codePersonReportSchema, Y as codeOverviewReportSchema, Z as codeRepositoryParamsSchema, _ as disconnectServiceAccountResponseSchema, a as workspaceBodySchema, at as conversationStatsReportSchema, b as serviceAccountSchema, c as workspaceRepoSchema, d as reviewItemCountSchema, et as conversationWatchSchema, g as reviewItemWaitingConversationsSchema, h as reviewItemSchema, i as deleteWorkspaceResponseSchema, it as stopConversationTurnResponseSchema, j as personParamsSchema, k as actorProfileReportSchema, l as workspaceSchema, n as statsReportSchema, nt as conversationChildAgentSchema, o as workspaceListSchema, ot as apiErrorSchema, p as reviewItemListSchema, q as codeChangeSummaryReportSchema, r as baselineSnapshotSchema, rt as conversationChildAgentsReportSchema, s as workspaceParamsSchema, t as statSchema, tt as conversationWatchesReportSchema, u as reviewItemActionSchema, v as serviceAccountListSchema, w as personalTokenListSchema, x as startServiceAccountSignInResponseSchema, y as serviceAccountParamsSchema } from "../schema-D5VLF4NT.js";
7
+ export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, USER_CUSTOMIZATION_MAX_CHARS, USER_INPUT_NOTE, acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationEditErrorSchema, automationEditSchema, automationEventCatalogSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationScheduleIntentSchema, automationSchedulePreviewSchema, automationSummarySchema, automationUpdateSchema, automationVersionActivateSchema, automationVersionListSchema, automationVersionParamsSchema, automationVersionSchema, baselineSnapshotSchema, buttonUserInputField, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, connectionListSchema, connectionParamsSchema, connectionSchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentTotalsSchema, conversationChildAgentsReportSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReadPositionSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, conversationWatchSchema, conversationWatchesReportSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, disconnectConnectionResponseSchema, disconnectServiceAccountResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, isEmptyUserInputAnswer, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, normalizeUserInputAnswer, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, reviewItemActionSchema, reviewItemCountSchema, reviewItemListSchema, reviewItemSchema, reviewItemWaitingConversationsSchema, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, serviceAccountListSchema, serviceAccountParamsSchema, serviceAccountSchema, skillReportSchema, skillReportsSchema, startConnectionResponseSchema, startServiceAccountSignInResponseSchema, statSchema, statsReportSchema, steerConversationPendingMessagesBodySchema, steerConversationPendingMessagesResponseSchema, stopConversationTurnResponseSchema, userCustomizationSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
package/dist/api.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as ConversationWorkQueue } from "./queue-C37RbDVc.js";
2
- import "./db-BYOuu6v2.js";
2
+ import "./db-BPLmOwXf.js";
3
3
  import { Hono } from "hono";
4
4
  import { z } from "zod";
5
5
  import { User } from "@sentry/junior-plugin-api";
package/dist/api.js CHANGED
@@ -1,33 +1,33 @@
1
- import { F as conversationRangeColumns, N as conversationActiveDaysColumn, P as conversationAggregateColumns, Wr as isExperimentalFeatureEnabled, ct as AutomationConflictError, ft as automationEventCatalog, j as readAutomationTitlesByConversationId } from "./turn-session-routing-B9KLBhaT.js";
2
- import { p as escapeXml } from "./client-B2MjENki.js";
3
- import { m as logInfo, p as logException } from "./logging-C6EdT6PP.js";
4
- import { C as getSqlExecutor, E as loadConversationSlackTenantIds, J as resolveRootConversationId, K as agentTurnUsageSchema, S as getDb, c as readViewerAvatarUrl, d as updateViewerDisplayName, l as resolveViewerUser, m as readAvatarImage, q as hasAgentTurnUsage, t as findUserByEmail, x as getConversationStore } from "./viewer-BTgAfdUg.js";
1
+ import { F as conversationRangeColumns, N as conversationActiveDaysColumn, P as conversationAggregateColumns, Wr as isExperimentalFeatureEnabled, ct as AutomationConflictError, ft as automationEventCatalog, j as readAutomationTitlesByConversationId } from "./turn-session-routing-BV_gX7n3.js";
2
+ import { p as escapeXml } from "./client-FRphcDWW.js";
3
+ import { m as logInfo, p as logException } from "./logging-CjkDr-jP.js";
4
+ import { C as getSqlExecutor, E as loadConversationSlackTenantIds, J as resolveRootConversationId, K as agentTurnUsageSchema, S as getDb, c as readViewerAvatarUrl, d as updateViewerDisplayName, l as resolveViewerUser, m as readAvatarImage, q as hasAgentTurnUsage, t as findUserByEmail, x as getConversationStore } from "./viewer-BCRuO8Wg.js";
5
5
  import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, s as juniorConversations } from "./agent-invocations-C1RNOCs8.js";
6
- import { C as juniorCodeRepositories, S as juniorCodeChanges, b as juniorApiTokens, m as juniorConversationParticipants, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor-BB6eJkD4.js";
6
+ import { C as juniorCodeChanges, b as juniorConversationEvents, h as juniorConversationParticipants, m as juniorConversationReadPositions, w as juniorCodeRepositories, x as juniorApiTokens, y as juniorConversationMetrics } from "./executor-DGDpyegI.js";
7
7
  import { t as INPUT_IMAGE_TYPES } from "./media-U6Tuz6Mi.js";
8
- import { n as pluginCatalogRuntime } from "./catalog-runtime-Bdym_wKy.js";
9
- import { $ as listOwnedWatches, B as changeViewerAutomationLifecycle, Dt as readUserCustomization, G as readConversationSourceTask, H as readViewerAutomationEdit, J as readViewerAutomationSummary, K as readViewerAutomationExecutions, Ot as saveUserCustomization, St as conversationSubtreeColumns, U as updateViewerAutomation, V as deleteViewerTask, W as ViewerTaskNotFoundError, X as readViewerAutomations, Y as readViewerAutomationVersions, Z as AutomationEditError, at as createAndEnqueueConversation, ct as webActorFromEmail, ft as readLiveAttachment, m as readStats, nt as acceptsWebMessages, q as readViewerAutomationRuns, rt as appendAndEnqueueWebMessage, ut as decodeInputImages, x as createSlackReviewItemShow, xt as conversationSubtree, yt as listChildAgents, z as activateViewerAutomationVersion } from "./agent-runner-MSQSMFkq.js";
10
- import { $t as workspaceRepoCheckoutPath, Ar as lookupSlackUser, D as listWaitingConversationIds, Er as listConversationAnnotations, F as isOnlyAssignee, G as deleteWorkspace, J as listWorkspaces, K as getWorkspace, M as canActOnReviewItem, O as searchReviewItems, W as createWorkspace, X as updateWorkspace, Y as listWorkspacesByRepository, Z as WorkspaceValidationError, Zt as SANDBOX_RUNTIME, _r as readConversationEventPage, ar as createPluginLogger, gr as readLatestConversationBrief, jr as createPluginCache, n as createUserTokenStore, nt as create, or as readConversationAccessFromSql, p as getPlugins, rt as hash, vr as buildSentryConversationUrl, x as countReviewItemsNeedingUser, z as reviewItemReaderForUser } from "./credentialed-BeBaJMZ_.js";
11
- import { r as getStateAdapter } from "./adapter-BQNTKVTF.js";
12
- import { A as createConversationMessageBodySchema, M as forkConversationResponseSchema, N as steerConversationPendingMessagesBodySchema, P as steerConversationPendingMessagesResponseSchema, W as readMessageAttachments, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as forkConversationBodySchema, k as createConversationBodySchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-AhOVzN_k.js";
13
- import { h as getChildAgentLabel } from "./store-Byarin7b.js";
14
- import { d as getEventCatalog } from "./session-stop-MZRgYqYH.js";
15
- import { S as userCustomizationSchema, a as fillUtcSixHours, b as webMessageId, c as trailingUtcDayWindow, d as utcDayKey, f as utcHourKey, i as fillUtcHours, l as trailingUtcHourWindow, n as HOUR_MS$1, o as startOfUtcHour, r as fillUtcDays, s as sumUtcHoursIntoSixHours, t as DAY_MS$1, u as trailingUtcSixHourWindow } from "./reporting-window-DRCi1Ls_.js";
16
- import { s as getSandboxResources, t as getCachedSnapshot } from "./resolve-BkAA1wH7.js";
17
- import { a as getVercelConversationWorkQueue } from "./job-queue-DiaXoSDg.js";
18
- import { E as steerWebPendingMessages, a as cancelHumanFacingPendingMessages, g as getConversationWorkState, h as getConversation } from "./store-BeWGgaMA.js";
19
- import { n as finishServiceAccountSignIn, o as serviceAccountPlugins, r as getServiceAccountStatus, s as startServiceAccountSignIn, t as disconnectServiceAccount } from "./service-account-D6e9cVmH.js";
20
- import { N as ScheduleIntentError, P as compileScheduleIntent, _ as automationSummarySchema, b as automationVersionListSchema, c as automationLifecycleSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, l as automationListQuerySchema, n as automationEditSchema, r as automationEventCatalogSchema, t as automationEditErrorSchema, u as automationListSchema, v as automationUpdateSchema, x as automationVersionParamsSchema, y as automationVersionActivateSchema } from "./automation-Dwh_xcqM.js";
8
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-BNeCWIaF.js";
9
+ import { $ as AutomationEditError, At as saveUserCustomization, Ct as conversationSubtree, G as updateViewerAutomation, H as changeViewerAutomationLifecycle, J as readViewerAutomationExecutions, K as ViewerTaskNotFoundError, Q as readViewerAutomations, U as deleteViewerTask, V as activateViewerAutomationVersion, W as readViewerAutomationEdit, X as readViewerAutomationSummary, Y as readViewerAutomationRuns, Z as readViewerAutomationVersions, at as appendAndEnqueueWebMessage, ft as decodeInputImages, it as acceptsWebMessages, kt as readUserCustomization, m as readStats, mt as readLiveAttachment, q as readConversationSourceTask, st as createAndEnqueueConversation, tt as listOwnedWatches, ut as webActorFromEmail, wt as conversationSubtreeColumns, x as createSlackReviewItemShow, xt as listChildAgents } from "./agent-runner-Cl6Usx2Y.js";
10
+ import { $t as workspaceRepoCheckoutPath, Ar as lookupSlackUser, D as listWaitingConversationIds, Er as listConversationAnnotations, F as isOnlyAssignee, G as deleteWorkspace, J as listWorkspaces, K as getWorkspace, M as canActOnReviewItem, O as searchReviewItems, W as createWorkspace, X as updateWorkspace, Y as listWorkspacesByRepository, Z as WorkspaceValidationError, Zt as SANDBOX_RUNTIME, _r as readConversationEventPage, ar as createPluginLogger, gr as readLatestConversationBrief, jr as createPluginCache, n as createUserTokenStore, nt as create, or as readConversationAccessFromSql, p as getPlugins, rt as hash, vr as buildSentryConversationUrl, x as countReviewItemsNeedingUser, z as reviewItemReaderForUser } from "./credentialed-CgTulRDH.js";
11
+ import { r as getStateAdapter } from "./adapter-BDYDi1F9.js";
12
+ import { A as createConversationMessageBodySchema, G as readMessageAttachments, I as conversationReadPositionSchema, M as forkConversationResponseSchema, N as steerConversationPendingMessagesBodySchema, P as steerConversationPendingMessagesResponseSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as forkConversationBodySchema, k as createConversationBodySchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-BtQzLoK8.js";
13
+ import { m as getChildAgentLabel } from "./store-DyVKH0QB.js";
14
+ import { d as getEventCatalog } from "./session-stop-HKl0ECX0.js";
15
+ import { S as userCustomizationSchema, a as fillUtcSixHours, b as webMessageId, c as trailingUtcDayWindow, d as utcDayKey, f as utcHourKey, i as fillUtcHours, l as trailingUtcHourWindow, n as HOUR_MS$1, o as startOfUtcHour, r as fillUtcDays, s as sumUtcHoursIntoSixHours, t as DAY_MS$1, u as trailingUtcSixHourWindow } from "./reporting-window-DgHgwQB3.js";
16
+ import { s as getSandboxResources, t as getCachedSnapshot } from "./resolve-CuuxNfWG.js";
17
+ import { a as getVercelConversationWorkQueue } from "./job-queue-CjB97sii.js";
18
+ import { E as steerWebPendingMessages, a as cancelHumanFacingPendingMessages, g as getConversationWorkState, h as getConversation } from "./store-CPF2kzbu.js";
19
+ import { n as finishServiceAccountSignIn, o as serviceAccountPlugins, r as getServiceAccountStatus, s as startServiceAccountSignIn, t as disconnectServiceAccount } from "./service-account-H45LIAG2.js";
20
+ import { N as ScheduleIntentError, P as compileScheduleIntent, _ as automationSummarySchema, b as automationVersionListSchema, c as automationLifecycleSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, l as automationListQuerySchema, n as automationEditSchema, r as automationEventCatalogSchema, t as automationEditErrorSchema, u as automationListSchema, v as automationUpdateSchema, x as automationVersionParamsSchema, y as automationVersionActivateSchema } from "./automation-CV7g5h3A.js";
21
21
  import { c as runtimeInfoReportSchema, n as pluginOperationalReportFeedSchema, s as pluginsSchema, t as healthReportSchema, u as skillReportsSchema } from "./reporting-schema-CZREhYc-.js";
22
- import { B as actOnReviewItem, C as isAllowedSignInEmail, H as readReviewItemForUser, J as readHealthReport, N as stopConversationTurn, O as clearSlackPendingReactions, R as parseContent, V as closeReviewItemsAnsweredByReply, W as getAttachmentStorage, a as resolveMentions, c as readConversationAuxiliaryCostsFromSql, d as notCopiedByFork, f as childAgentTotalsReport, g as resolveSlackTeamDomains, h as conversationSummaryFromStoredConversation, i as attachConversationMentions, l as ConversationForkError, m as conversationEventHistory, n as readConversationRecordFromSql, o as readFirstHumanMessageTexts, p as readConversationTreeMetricsFromSql, r as readConversationParticipants, s as listConversationSidebarAnnotations, t as readConversationFeed, u as forkConversation, y as getProductionSlackAdapter, z as ReviewItemActionError } from "./list-BTDRxkOg.js";
23
- import { d as legacyWebMailboxMetadataSchema } from "./result-9TJTpuYP.js";
24
- import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection, u as htmlCallbackResponse } from "./connections-0BBhiD-p.js";
25
- import { A as avatarParamsSchema, C as createdPersonalTokenSchema, D as revokePersonalTokenResponseSchema, E as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as startConnectionResponseSchema, H as connectionParamsSchema, I as locationParamsSchema, L as activityDays$1, M as personalSpendReportSchema, O as actorDirectoryReportSchema, P as locationDetailReportSchema, Q as codeRepositoryReportSchema, R as activityHours$1, S as createPersonalTokenBodySchema, V as connectionListSchema, W as disconnectConnectionResponseSchema, X as codePersonReportSchema, Y as codeOverviewReportSchema, Z as codeRepositoryParamsSchema, _ as disconnectServiceAccountResponseSchema, a as workspaceBodySchema, at as conversationStatsReportSchema, d as reviewItemCountSchema, f as reviewItemListQuerySchema, g as reviewItemWaitingConversationsSchema, h as reviewItemSchema, i as deleteWorkspaceResponseSchema, it as stopConversationTurnResponseSchema, j as personParamsSchema, k as actorProfileReportSchema, l as workspaceSchema, m as reviewItemParamsSchema, n as statsReportSchema, o as workspaceListSchema, ot as apiErrorSchema, p as reviewItemListSchema, rt as conversationChildAgentsReportSchema, s as workspaceParamsSchema, tt as conversationWatchesReportSchema, u as reviewItemActionSchema, v as serviceAccountListSchema, w as personalTokenListSchema, x as startServiceAccountSignInResponseSchema, y as serviceAccountParamsSchema, z as activitySixHours$1 } from "./schema-DNLJ_MzW.js";
22
+ import { B as actOnReviewItem, C as isAllowedSignInEmail, H as readReviewItemForUser, J as readHealthReport, N as stopConversationTurn, O as clearSlackPendingReactions, R as parseContent, V as closeReviewItemsAnsweredByReply, W as getAttachmentStorage, a as resolveMentions, c as readConversationAuxiliaryCostsFromSql, d as notCopiedByFork, f as childAgentTotalsReport, g as resolveSlackTeamDomains, h as conversationSummaryFromStoredConversation, i as attachConversationMentions, l as ConversationForkError, m as conversationEventHistory, n as readConversationRecordFromSql, o as readFirstHumanMessageTexts, p as readConversationTreeMetricsFromSql, r as readConversationParticipants, s as listConversationSidebarAnnotations, t as readConversationFeed, u as forkConversation, y as getProductionSlackAdapter, z as ReviewItemActionError } from "./list-JZUP1yog.js";
23
+ import { f as legacyWebMailboxMetadataSchema } from "./result-BRhb6iN1.js";
24
+ import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection, u as htmlCallbackResponse } from "./connections-CesHau9u.js";
25
+ import { A as avatarParamsSchema, C as createdPersonalTokenSchema, D as revokePersonalTokenResponseSchema, E as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as startConnectionResponseSchema, H as connectionParamsSchema, I as locationParamsSchema, L as activityDays$1, M as personalSpendReportSchema, O as actorDirectoryReportSchema, P as locationDetailReportSchema, Q as codeRepositoryReportSchema, R as activityHours$1, S as createPersonalTokenBodySchema, V as connectionListSchema, W as disconnectConnectionResponseSchema, X as codePersonReportSchema, Y as codeOverviewReportSchema, Z as codeRepositoryParamsSchema, _ as disconnectServiceAccountResponseSchema, a as workspaceBodySchema, at as conversationStatsReportSchema, d as reviewItemCountSchema, f as reviewItemListQuerySchema, g as reviewItemWaitingConversationsSchema, h as reviewItemSchema, i as deleteWorkspaceResponseSchema, it as stopConversationTurnResponseSchema, j as personParamsSchema, k as actorProfileReportSchema, l as workspaceSchema, m as reviewItemParamsSchema, n as statsReportSchema, o as workspaceListSchema, ot as apiErrorSchema, p as reviewItemListSchema, rt as conversationChildAgentsReportSchema, s as workspaceParamsSchema, tt as conversationWatchesReportSchema, u as reviewItemActionSchema, v as serviceAccountListSchema, w as personalTokenListSchema, x as startServiceAccountSignInResponseSchema, y as serviceAccountParamsSchema, z as activitySixHours$1 } from "./schema-D5VLF4NT.js";
26
26
  import { Hono } from "hono";
27
27
  import path from "node:path";
28
28
  import { z } from "zod";
29
29
  import { createHash, createHmac, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
30
- import { and, asc, desc, eq, gt, gte, isNotNull, isNull, lte, notExists, or, sql } from "drizzle-orm";
30
+ import { and, asc, desc, eq, gt, gte, isNotNull, isNull, lte, max, notExists, or, sql } from "drizzle-orm";
31
31
  import { pluginUserPageContentSchema, pluginUserPageCursorSchema, pluginUserPageFilterSchema, pluginUserPageLinksSchema, pluginUserPageQuerySchema } from "@sentry/junior-plugin-api";
32
32
  import { alias } from "drizzle-orm/pg-core";
33
33
  import { readFileSync } from "node:fs";
@@ -549,6 +549,37 @@ async function readConversationAgentTree(conversationId, viewer) {
549
549
  };
550
550
  }));
551
551
  }
552
+ // src/api/conversations/read-position.ts
553
+ /** Read how far the viewer has read one Conversation, if they have read it. */
554
+ async function readConversationReadPosition(viewer, conversationId) {
555
+ const [row] = await getDb().select({ lastReadSeq: juniorConversationReadPositions.lastReadSeq }).from(juniorConversationReadPositions).where(and(eq(juniorConversationReadPositions.userId, viewer.id), eq(juniorConversationReadPositions.conversationId, conversationId))).limit(1);
556
+ return row;
557
+ }
558
+ /**
559
+ * Move the viewer's read position forward.
560
+ *
561
+ * The stored value never goes back, so devices can report in any order. A
562
+ * value past the last event is cut to the last event, so a bad client cannot
563
+ * hide messages that arrive later.
564
+ */
565
+ async function markConversationRead(viewer, conversationId, body) {
566
+ const db = getDb();
567
+ const [conversation] = await db.select({ lastSeq: max(juniorConversationEvents.seq) }).from(juniorConversations).leftJoin(juniorConversationEvents, eq(juniorConversationEvents.conversationId, juniorConversations.conversationId)).where(eq(juniorConversations.conversationId, conversationId)).groupBy(juniorConversations.conversationId);
568
+ if (!conversation) throwApiError(404, "Conversation not found.");
569
+ const [row] = await db.insert(juniorConversationReadPositions).values({
570
+ conversationId,
571
+ lastReadSeq: Math.min(body.lastReadSeq, conversation.lastSeq ?? 0),
572
+ updatedAt: /* @__PURE__ */ new Date(),
573
+ userId: viewer.id
574
+ }).onConflictDoUpdate({
575
+ target: [juniorConversationReadPositions.userId, juniorConversationReadPositions.conversationId],
576
+ set: {
577
+ lastReadSeq: sql`greatest(${juniorConversationReadPositions.lastReadSeq}, excluded.last_read_seq)`,
578
+ updatedAt: sql`excluded.updated_at`
579
+ }
580
+ }).returning({ lastReadSeq: juniorConversationReadPositions.lastReadSeq });
581
+ return row;
582
+ }
552
583
  // src/api/conversations/detail.ts
553
584
  /** Project stored metadata and a bounded event page into a signed history cursor. */
554
585
  function projectConversationDetail(args) {
@@ -660,11 +691,16 @@ async function readConversationDetail(conversationId, options = {}) {
660
691
  limit: options.limit ?? 500
661
692
  });
662
693
  if (!report) return void 0;
663
- const [forks, agentTree] = await Promise.all([readConversationForks(conversationId, options.viewer), readConversationAgentTree(conversationId, options.viewer)]);
694
+ const [forks, agentTree, readPosition] = await Promise.all([
695
+ readConversationForks(conversationId, options.viewer),
696
+ readConversationAgentTree(conversationId, options.viewer),
697
+ options.viewer ? readConversationReadPosition(options.viewer, conversationId) : void 0
698
+ ]);
664
699
  return conversationDetailReportSchema.parse({
665
700
  ...report,
666
701
  ...forks,
667
- ...agentTree ? { agentTree } : void 0
702
+ ...agentTree ? { agentTree } : void 0,
703
+ ...readPosition ? { readPosition } : void 0
668
704
  });
669
705
  }
670
706
  // src/api/conversations/event-list.ts
@@ -1386,6 +1422,12 @@ function createConversationRoutes(options) {
1386
1422
  const body = context.req.valid("json");
1387
1423
  return jsonResponse(archiveConversationResponseSchema, await archiveConversation(viewer, conversationId, body));
1388
1424
  });
1425
+ app.put("/:conversationId/read-position", requireViewer, validateRequest("param", conversationParamsSchema, "Invalid route parameters."), validateRequest("json", conversationReadPositionSchema, "Invalid request body."), async (context) => {
1426
+ const viewer = context.get("viewer");
1427
+ const { conversationId } = context.req.valid("param");
1428
+ const body = context.req.valid("json");
1429
+ return jsonResponse(conversationReadPositionSchema, await markConversationRead(viewer, conversationId, body));
1430
+ });
1389
1431
  app.get("/:conversationId/events", validateRequest("param", conversationParamsSchema, "Invalid route parameters."), validateRequest("query", conversationEventsQuerySchema, "Invalid query parameters."), async (context) => {
1390
1432
  const { conversationId } = context.req.valid("param");
1391
1433
  const { before, limit } = context.req.valid("query");
@@ -2726,7 +2768,7 @@ async function readPeoplePluginReports(args) {
2726
2768
  reports: [],
2727
2769
  source: "plugins"
2728
2770
  });
2729
- const { getPluginProfileReports } = await import("./credentialed-BeBaJMZ_.js").then((n) => n.a);
2771
+ const { getPluginProfileReports } = await import("./credentialed-CgTulRDH.js").then((n) => n.a);
2730
2772
  return pluginOperationalReportFeedSchema.parse({
2731
2773
  generatedAt: new Date(nowMs).toISOString(),
2732
2774
  reports: await getPluginProfileReports({
@@ -3478,10 +3520,10 @@ function createUserCustomizationRoutes() {
3478
3520
  const ARCHIVED_LIMIT = 50;
3479
3521
  const cursorSchema = z.object({
3480
3522
  conversationId: z.string().min(1).optional(),
3523
+ createdAtMs: z.number().int(),
3481
3524
  id: z.string().min(1),
3482
3525
  query: z.string().min(1).optional(),
3483
- updatedAtMs: z.number().int(),
3484
- version: z.literal(1)
3526
+ version: z.literal(2)
3485
3527
  }).strict();
3486
3528
  /**
3487
3529
  * Encode the last open item of a page as the cursor of the next page. The
@@ -3490,9 +3532,9 @@ const cursorSchema = z.object({
3490
3532
  function encodeCursor(item, filters) {
3491
3533
  return Buffer.from(JSON.stringify({
3492
3534
  ...filters,
3535
+ createdAtMs: item.createdAt.getTime(),
3493
3536
  id: item.id,
3494
- updatedAtMs: item.updatedAt.getTime(),
3495
- version: 1
3537
+ version: 2
3496
3538
  }), "utf8").toString("base64url");
3497
3539
  }
3498
3540
  /** Decode a cursor of the same list, or return undefined. */
@@ -3501,8 +3543,8 @@ function decodeCursor(cursor, filters) {
3501
3543
  const parsed = cursorSchema.parse(JSON.parse(Buffer.from(cursor, "base64url").toString("utf8")));
3502
3544
  if (parsed.conversationId !== filters.conversationId || parsed.query !== filters.query) return;
3503
3545
  return {
3504
- id: parsed.id,
3505
- updatedAt: new Date(parsed.updatedAtMs)
3546
+ createdAt: new Date(parsed.createdAtMs),
3547
+ id: parsed.id
3506
3548
  };
3507
3549
  } catch {
3508
3550
  return;
@@ -3532,6 +3574,7 @@ function reviewItemPayload(item, viewer) {
3532
3574
  updatedAt: item.updatedAt.toISOString(),
3533
3575
  visibility: item.visibility,
3534
3576
  ...item.answer ? { answer: item.answer } : void 0,
3577
+ ...item.addedByTurnId ? { addedByTurnId: item.addedByTurnId } : void 0,
3535
3578
  ...item.automationId ? { automationId: item.automationId } : void 0,
3536
3579
  ...item.closeReason ? { closeReason: item.closeReason } : void 0,
3537
3580
  ...item.closedAt ? { closedAt: item.closedAt.toISOString() } : void 0,
@@ -3561,12 +3604,13 @@ function createReviewItemRoutes(services) {
3561
3604
  const open = await searchReviewItems(db, reader, {
3562
3605
  ...filters,
3563
3606
  limit: query.limit + 1,
3607
+ order: "oldest",
3564
3608
  statuses: ["open"],
3565
3609
  ...after ? { after } : void 0
3566
3610
  });
3567
3611
  const page = open.slice(0, query.limit);
3568
3612
  const last = page.at(-1);
3569
- const archived = filters.query && !after ? await searchReviewItems(db, reader, {
3613
+ const archived = (filters.query || query.include === "archived") && !after ? await searchReviewItems(db, reader, {
3570
3614
  ...filters,
3571
3615
  limit: 51,
3572
3616
  statuses: ["done", "dismissed"]
@@ -3740,7 +3784,7 @@ function readDescriptionText(home) {
3740
3784
  }
3741
3785
  /** Read discovered skill names for authenticated runtime diagnostics. */
3742
3786
  async function readSkillReports() {
3743
- const { discoverSkills } = await import("./skills-BggTR_ue.js").then((n) => n.o);
3787
+ const { discoverSkills } = await import("./skills-CsiKu3-g.js").then((n) => n.o);
3744
3788
  const skills = await discoverSkills();
3745
3789
  return skillReportsSchema.parse(skills.map((skill) => ({
3746
3790
  name: skill.name,
@@ -3749,7 +3793,7 @@ async function readSkillReports() {
3749
3793
  }
3750
3794
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
3751
3795
  async function readPlugins() {
3752
- const { pluginCatalogRuntime } = await import("./catalog-runtime-Bdym_wKy.js").then((n) => n.t);
3796
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-BNeCWIaF.js").then((n) => n.t);
3753
3797
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
3754
3798
  configKeys: plugin.manifest.configKeys ?? [],
3755
3799
  description: plugin.manifest.description,
@@ -3761,7 +3805,7 @@ async function readPlugins() {
3761
3805
  async function readRuntimeInfoReport() {
3762
3806
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
3763
3807
  import("./package-discovery-DJBompdd.js").then((n) => n.r),
3764
- import("./catalog-runtime-Bdym_wKy.js").then((n) => n.t),
3808
+ import("./catalog-runtime-BNeCWIaF.js").then((n) => n.t),
3765
3809
  readPlugins(),
3766
3810
  readSkillReports()
3767
3811
  ]);
@@ -3778,7 +3822,7 @@ async function readRuntimeInfoReport() {
3778
3822
  /** Read sanitized operational summaries contributed by plugins. */
3779
3823
  async function readPluginOperationalReportFeed() {
3780
3824
  const nowMs = Date.now();
3781
- const { getPluginOperationalReports } = await import("./credentialed-BeBaJMZ_.js").then((n) => n.a);
3825
+ const { getPluginOperationalReports } = await import("./credentialed-CgTulRDH.js").then((n) => n.a);
3782
3826
  return pluginOperationalReportFeedSchema.parse({
3783
3827
  source: "plugins",
3784
3828
  generatedAt: new Date(nowMs).toISOString(),
@@ -1,6 +1,6 @@
1
1
  import { n as ConversationWorkQueue, t as ConversationQueueMessage } from "./queue-C37RbDVc.js";
2
- import { t as ConversationStore } from "./db-BYOuu6v2.js";
3
- import "./schema-WayPSHFu.js";
2
+ import { t as ConversationStore } from "./db-BPLmOwXf.js";
3
+ import "./schema-CNjAzYOw.js";
4
4
  import { n as JuniorPluginSet } from "./plugins-B_0Cr0MO.js";
5
5
  import { Hono } from "hono";
6
6
  import "@earendil-works/pi-ai/compat";
@@ -270,6 +270,12 @@ interface JuniorAppOptions extends BotModelConfig {
270
270
  * have no profile email, so `allowedDomains` blocks them otherwise.
271
271
  */
272
272
  allowedBotUserIds?: string[];
273
+ /**
274
+ * Join each public channel created after this is on. Existing channels
275
+ * are not joined. The Slack app must subscribe to `channel_created`.
276
+ * Defaults to `false`.
277
+ */
278
+ autoJoinNewChannels?: boolean;
273
279
  };
274
280
  /** Install-wide provider defaults. Unregistered `provider.key` entries warn at startup. */
275
281
  configDefaults?: Record<string, unknown>;
package/dist/app.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as ModelProfileInput, i as JuniorDashboardOptions, n as JuniorAppOptions, r as createApp, t as JuniorApp } from "./app-Bz8t4P8p.js";
1
+ import { a as ModelProfileInput, i as JuniorDashboardOptions, n as JuniorAppOptions, r as createApp, t as JuniorApp } from "./app-DjZblE2J.js";
2
2
  import { i as defineJuniorPlugins, n as JuniorPluginSet, r as JuniorPluginSetOptions, t as JuniorPluginInput } from "./plugins-B_0Cr0MO.js";
3
3
  import { t as JUNIOR_VERSION } from "./version-Cc2OFd9G.js";
4
4
  export { JUNIOR_VERSION, JuniorApp, JuniorAppOptions, type JuniorDashboardOptions, type JuniorPluginInput, type JuniorPluginSet, type JuniorPluginSetOptions, type ModelProfileInput, createApp, defineJuniorPlugins };
package/dist/app.js CHANGED
@@ -1,39 +1,39 @@
1
- import { B as readScheduledAutomation, G as blockEventAutomation, Gr as setExperimentalFeatures, H as saveScheduledAutomationInLock, Ir as SubscribedReplyReason, Jn as hasRunnableConversationWork, K as collectEventAutomationMatchKeys, M as recordAutomationExecution, Mn as CONVERSATION_WORK_STALE_ENQUEUE_MS, R as listScheduledAutomationsForTeam, S as existingConversationId, U as scheduledRunId, Ur as getExperimentalFeatures, W as withScheduledAutomationLock, Wr as isExperimentalFeatureEnabled, Wt as appendConversationMessages, Xn as isInvalidConversationRecordError, Xr as getConfigDefaults, Xt as settleConversationTitleWork, Y as findMatchingEventAutomations, Zr as setConfigDefaults, a as confirmDispatchMailboxAppend, b as notifyAutomationBlocked, f as getPluginDispatchProjection, ht as eventGuidance, it as automationVersionOf, m as listPendingDispatchMailboxAppends, nt as eventAutomationRunLimitReason, o as createOrGetDispatch, p as isTerminalDispatchStatus, qt as projectConversationMessages, r as buildDispatchId, s as getDispatchConversationId, tt as admitEventAutomationRun, u as getDispatchRecord, v as markDispatchFailed, zr as getThreadStopDecision } from "./turn-session-routing-B9KLBhaT.js";
2
- import { _ as snapshotRuntimeConfig, d as restoreRuntimeConfig, f as setBotModelConfig, g as setSlackReactionConfig, h as setRuntimeLimits, i as getChatConfig, m as setProfiles, n as botConfig, o as getSlackBotToken, p as setCrossActorMidRunMode, u as resetRuntimeConfig } from "./config-Dm3pWRqY.js";
3
- import { A as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, E as withSpan, L as GOOGLE_IDENTITY_PROVIDER, N as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, T as withLogContext, b as setSpanAttributes, h as logWarn, m as logInfo, p as logException, r as createRequestContext, w as withContext, z as normalizeIdentityEmail } from "./logging-C6EdT6PP.js";
1
+ import { B as readScheduledAutomation, G as blockEventAutomation, Gr as setExperimentalFeatures, H as saveScheduledAutomationInLock, Ir as SubscribedReplyReason, Jn as hasRunnableConversationWork, K as collectEventAutomationMatchKeys, M as recordAutomationExecution, Mn as CONVERSATION_WORK_STALE_ENQUEUE_MS, R as listScheduledAutomationsForTeam, S as existingConversationId, U as scheduledRunId, Ur as getExperimentalFeatures, W as withScheduledAutomationLock, Wr as isExperimentalFeatureEnabled, Wt as appendConversationMessages, Xn as isInvalidConversationRecordError, Xr as getConfigDefaults, Xt as settleConversationTitleWork, Y as findMatchingEventAutomations, Zr as setConfigDefaults, a as confirmDispatchMailboxAppend, b as notifyAutomationBlocked, f as getPluginDispatchProjection, ht as eventGuidance, it as automationVersionOf, m as listPendingDispatchMailboxAppends, nt as eventAutomationRunLimitReason, o as createOrGetDispatch, p as isTerminalDispatchStatus, qt as projectConversationMessages, r as buildDispatchId, s as getDispatchConversationId, tt as admitEventAutomationRun, u as getDispatchRecord, v as markDispatchFailed, zr as getThreadStopDecision } from "./turn-session-routing-BV_gX7n3.js";
2
+ import { _ as snapshotRuntimeConfig, d as restoreRuntimeConfig, f as setBotModelConfig, g as setSlackReactionConfig, h as setRuntimeLimits, i as getChatConfig, m as setProfiles, n as botConfig, o as getSlackBotToken, p as setCrossActorMidRunMode, u as resetRuntimeConfig } from "./config-BUP9wjiR.js";
3
+ import { A as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, E as withSpan, L as GOOGLE_IDENTITY_PROVIDER, N as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, T as withLogContext, b as setSpanAttributes, h as logWarn, m as logInfo, p as logException, r as createRequestContext, w as withContext, z as normalizeIdentityEmail } from "./logging-CjkDr-jP.js";
4
4
  import { n as captureMessage } from "./sentry-MDkYAVPV.js";
5
- import { t as JUNIOR_VERSION } from "./version-CivPYmkH.js";
6
- import { f as parseSlackTeamId, g as slackMessageTsSchema, h as slackMessageTsFromMs, m as parseSlackMessageTs, n as createSlackActor, p as parseSlackUserId, s as parseActorUserId, u as parseSlackChannelId } from "./actor-CP9K2Idu.js";
7
- import { C as getSqlExecutor, M as resolveActorIdentityId, O as withConversationMutationLock, R as recordGoogleSignIn, S as getDb, T as withConversationEventLock, _ as closeDb, g as createCache, i as readActorIdentity, l as resolveViewerUser, p as parseAvatarUrl, x as getConversationStore, y as getConversationEventStore } from "./viewer-BTgAfdUg.js";
5
+ import { t as JUNIOR_VERSION } from "./version-C48azPKq.js";
6
+ import { _ as slackMessageTsSchema, f as parseSlackTeamId, g as slackMessageTsFromMs, h as parseSlackMessageTs, m as slackChannelIdSchema, n as createSlackActor, p as parseSlackUserId, s as parseActorUserId, u as parseSlackChannelId } from "./actor-B4DYygOB.js";
7
+ import { C as getSqlExecutor, M as resolveActorIdentityId, O as withConversationMutationLock, R as recordGoogleSignIn, S as getDb, T as withConversationEventLock, _ as closeDb, g as createCache, i as readActorIdentity, l as resolveViewerUser, p as parseAvatarUrl, x as getConversationStore, y as getConversationEventStore } from "./viewer-BCRuO8Wg.js";
8
8
  import { a as juniorAgentInvocations, d as juniorDestinations, i as juniorAgentBindings, s as juniorConversations } from "./agent-invocations-C1RNOCs8.js";
9
- import { c as juniorReviewItems, d as juniorAutomations, g as juniorConversationBriefs, l as juniorAutomationRuns, y as juniorConversationEvents } from "./executor-BB6eJkD4.js";
10
- import { n as pluginCatalogRuntime } from "./catalog-runtime-Bdym_wKy.js";
11
- import { A as verifySlackSignature, C as syncReviewItemSlackCards, Ct as processWorkspaceSnapshotJob, D as parseSlackReviewItemFormTarget, E as parseSlackReviewItemClick, J as readViewerAutomationSummary, L as logScheduledAutomationRunSkipped, O as parseSlackUserInputSubmission, Q as effectiveTaskOutcomes, R as scheduledAutomationRunAttributes, S as readSlackReviewItemCardConversationId, T as buildSlackReviewItemModal, _ as unpublishedArtifactHeaders, _t as recordSubagentEnded, ct as webActorFromEmail, dt as collectAttachmentGarbage, et as deliverReviewItemChange, g as readPublicArtifact, gt as stopConversationSession, h as publicArtifactHeaders, it as conversationTurnIdForMessage, j as parseSlackThreadId, k as runWithSlackInstallation, n as executeAgentRun, pt as requestAttachmentDeletion, rt as appendAndEnqueueWebMessage, st as recordWebConversationActivity, t as createAgentRunner, tt as renderReviewItemMessage, v as lookupSlackUserProfile, wt as ingestEvent, x as createSlackReviewItemShow } from "./agent-runner-MSQSMFkq.js";
12
- import { At as slackEntitySchema, Bn as getDashboardTaskLink, Bt as clearSandboxEgressSignals, Cr as resolveRootVisibility, Dn as getSlackClient, Er as listConversationAnnotations, Fn as runWithWorkspaceTeamId, Ht as consumeSandboxEgressPermissionDeniedSignal, Ln as getDashboardConversationLink, M as canActOnReviewItem, Pn as getWorkspaceTeamId, S as dismissOpenReviewItems, Tt as postSlackEphemeralMessage, Vn as setDashboardConversationLinkOptions, Vt as consumeSandboxEgressAuthRequiredSignal, Wt as parseSandboxEgressCredentialToken, Xt as normalizeSandboxEgressTracePropagationDomains, _n as bindScheduledAutomationCredentialSubject, ar as createPluginLogger, bn as verifyScheduledAutomationCredentialSubject, c as getPluginRoutes, cn as collectEventMatchKeys, ct as proxyVercelSandboxEgressRequest, fn as findMatchingWatches, ft as resolveBaseUrl, gn as bindEventAutomationCredentialSubject, h as validatePlugins, hn as takeDueTimerWatches, jr as createPluginCache, jt as slackExternalRefIdSchema, kn as isDmChannel, m as setPlugins, n as createUserTokenStore, nr as createPluginState, or as readConversationAccessFromSql, p as getPlugins, rr as createPluginEmbedder, s as getPluginApiRoutes, st as isVercelSandboxEgressRequest, v as setBriefsConfig, vn as bindSlackDirectCredentialSubject, vt as slackMention, wt as openSlackModal, xn as verifySlackDirectCredentialSubject, yn as verifyEventAutomationCredentialSubject } from "./credentialed-BeBaJMZ_.js";
9
+ import { _ as juniorConversationBriefs, b as juniorConversationEvents, c as juniorReviewItems, d as juniorAutomations, l as juniorAutomationRuns } from "./executor-DGDpyegI.js";
10
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-BNeCWIaF.js";
11
+ import { A as verifySlackSignature, B as scheduledAutomationRunAttributes, C as syncReviewItemSlackCards, D as parseSlackReviewItemFormTarget, E as parseSlackReviewItemClick, Et as ingestEvent, I as joinPublicChannel, O as parseSlackUserInputSubmission, S as readSlackReviewItemCardConversationId, T as buildSlackReviewItemModal, Tt as processWorkspaceSnapshotJob, X as readViewerAutomationSummary, _ as unpublishedArtifactHeaders, at as appendAndEnqueueWebMessage, et as effectiveTaskOutcomes, g as readPublicArtifact, h as publicArtifactHeaders, ht as requestAttachmentDeletion, j as parseSlackThreadId, k as runWithSlackInstallation, lt as recordWebConversationActivity, n as executeAgentRun, nt as deliverReviewItemChange, ot as conversationTurnIdForMessage, pt as collectAttachmentGarbage, rt as renderReviewItemMessage, t as createAgentRunner, ut as webActorFromEmail, v as lookupSlackUserProfile, vt as stopConversationSession, x as createSlackReviewItemShow, yt as recordSubagentEnded, z as logScheduledAutomationRunSkipped } from "./agent-runner-Cl6Usx2Y.js";
12
+ import { At as slackEntitySchema, Bn as getDashboardTaskLink, Bt as clearSandboxEgressSignals, Cr as resolveRootVisibility, Dn as getSlackClient, Er as listConversationAnnotations, Fn as runWithWorkspaceTeamId, Ht as consumeSandboxEgressPermissionDeniedSignal, Ln as getDashboardConversationLink, M as canActOnReviewItem, Pn as getWorkspaceTeamId, S as dismissOpenReviewItems, Tt as postSlackEphemeralMessage, Vn as setDashboardConversationLinkOptions, Vt as consumeSandboxEgressAuthRequiredSignal, Wt as parseSandboxEgressCredentialToken, Xt as normalizeSandboxEgressTracePropagationDomains, _n as bindScheduledAutomationCredentialSubject, ar as createPluginLogger, bn as verifyScheduledAutomationCredentialSubject, c as getPluginRoutes, cn as collectEventMatchKeys, ct as proxyVercelSandboxEgressRequest, fn as findMatchingWatches, ft as resolveBaseUrl, gn as bindEventAutomationCredentialSubject, h as validatePlugins, hn as takeDueTimerWatches, jr as createPluginCache, jt as slackExternalRefIdSchema, kn as isDmChannel, m as setPlugins, n as createUserTokenStore, nr as createPluginState, or as readConversationAccessFromSql, p as getPlugins, rr as createPluginEmbedder, s as getPluginApiRoutes, st as isVercelSandboxEgressRequest, v as setBriefsConfig, vn as bindSlackDirectCredentialSubject, vt as slackMention, wt as openSlackModal, xn as verifySlackDirectCredentialSubject, yn as verifyEventAutomationCredentialSubject } from "./credentialed-CgTulRDH.js";
13
13
  import { a as withLock, i as fenceLock, n as MUTATION_LOCK_TTL_MS } from "./locks-D-0h111u.js";
14
- import { r as getStateAdapter, t as disconnectStateAdapter } from "./adapter-BQNTKVTF.js";
14
+ import { r as getStateAdapter, t as disconnectStateAdapter } from "./adapter-BDYDi1F9.js";
15
15
  import { n as getNextRunAtMs } from "./cadence-R7Em4RjE.js";
16
- import { D as conversationSurfaceSchema, I as annotationCard, T as conversationReportStatusSchema, h as conversationFeedQuerySchema } from "./conversation-AhOVzN_k.js";
17
- import { b as listPendingAgentInvocationMailboxAppends, x as listPendingAgentInvocationResults } from "./store-Byarin7b.js";
18
- import { E as renderSlackObjectCard, S as renderTaskInput, d as getEventCatalog, f as SLACK_EVENT_NAMESPACE, g as slackChannelMessageRunsAutomation, h as slackChannelMessageReplyThreadTs, m as slackChannelMessageEvent } from "./session-stop-MZRgYqYH.js";
19
- import { h as buttonUserInputField } from "./reporting-window-DRCi1Ls_.js";
20
- import { c as setSandboxResourceConfig, o as getSandboxResourceConfig } from "./resolve-BkAA1wH7.js";
21
- import { a as getVercelConversationWorkQueue, d as getQueueProvider, g as isConversationQueueMessageRejectedError, h as conversationQueueMessageSchema, i as verifyWorkspaceSnapshotJobMessage, o as resolveConversationWorkQueueTopic, s as verifyConversationQueueMessage, t as WORKSPACE_SNAPSHOT_JOB_QUEUE_TOPIC } from "./job-queue-DiaXoSDg.js";
22
- import { S as removeActiveConversation, _ as hasRunnableConversationWork$1, c as clearExpiredConversationLease, g as getConversationWorkState, h as getConversation, m as ensureConversationWake, r as appendAndEnqueueInboundMessage, v as listActiveConversationIds } from "./store-BeWGgaMA.js";
23
- import { M as scheduledRunSchema } from "./automation-Dwh_xcqM.js";
24
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-BW60Vtx_.js";
16
+ import { D as conversationSurfaceSchema, L as annotationCard, T as conversationReportStatusSchema, h as conversationFeedQuerySchema } from "./conversation-BtQzLoK8.js";
17
+ import { b as listPendingAgentInvocationMailboxAppends, x as listPendingAgentInvocationResults } from "./store-DyVKH0QB.js";
18
+ import { C as renderTaskInput, O as renderSlackObjectCard, d as getEventCatalog, f as SLACK_EVENT_NAMESPACE, g as slackChannelMessageRunsAutomation, h as slackChannelMessageReplyThreadTs, m as slackChannelMessageEvent } from "./session-stop-HKl0ECX0.js";
19
+ import { h as buttonUserInputField } from "./reporting-window-DgHgwQB3.js";
20
+ import { c as setSandboxResourceConfig, o as getSandboxResourceConfig } from "./resolve-CuuxNfWG.js";
21
+ import { a as getVercelConversationWorkQueue, d as getQueueProvider, g as isConversationQueueMessageRejectedError, h as conversationQueueMessageSchema, i as verifyWorkspaceSnapshotJobMessage, o as resolveConversationWorkQueueTopic, s as verifyConversationQueueMessage, t as WORKSPACE_SNAPSHOT_JOB_QUEUE_TOPIC } from "./job-queue-CjB97sii.js";
22
+ import { S as removeActiveConversation, _ as hasRunnableConversationWork$1, c as clearExpiredConversationLease, g as getConversationWorkState, h as getConversation, m as ensureConversationWake, r as appendAndEnqueueInboundMessage, v as listActiveConversationIds } from "./store-CPF2kzbu.js";
23
+ import { M as scheduledRunSchema } from "./automation-CV7g5h3A.js";
24
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-DcGelbBi.js";
25
25
  import { a as pluginRuntimeRegistrationsFromPluginSet, n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "./plugins-DOm9Y6qI.js";
26
- import { A as stopSlackThread, B as actOnReviewItem, C as isAllowedSignInEmail, D as buildSlackInboundMessage, E as recordSkippedConversationMessage, F as bindMessageAuthorIdentityId, H as readReviewItemForUser, I as startProcessingReaction, K as enqueueAgentDispatch, L as stripLeadingBotMention, M as withNormalizedThreadId, N as stopConversationTurn, O as clearSlackPendingReactions, P as THREAD_OPTOUT_ACK, R as parseContent, S as isAllowedDomain, T as resolveAllowedDomains, U as reviewItemChange, V as closeReviewItemsAnsweredByReply, W as getAttachmentStorage, _ as createProductionConversationWorkOptions, b as createSlackWebApiStatusSender, j as normalizeIncomingSlackThreadId, k as isSlackMessageStopped, q as GET$3, t as readConversationFeed, v as createProductionSlackWebhookServices, w as readEnvList, x as assertNoLegacyAllowedDomains, y as getProductionSlackAdapter, z as ReviewItemActionError } from "./list-BTDRxkOg.js";
27
- import { n as enqueueAgentInvocationResult, o as getAuthPausedConversationTurnId } from "./result-9TJTpuYP.js";
28
- import { r as enqueueAgentInvocation } from "./work-Bjm52fHo.js";
29
- import { o as coerceThreadConversationState } from "./thread-state-BHBLMvgb.js";
30
- import { o as unlinkProvider } from "./connections-0BBhiD-p.js";
31
- import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-BRiWYs6_.js";
32
- import { a as pluginTaskQueueConsumer, c as queueCallback, n as createVercelPluginTaskCallback, o as registerVercelPluginTaskDevConsumer } from "./task-queue-Dt1_ZoI_.js";
33
- import { t as processConversationWork } from "./worker-CMbgtHLu.js";
34
- import { t as bindMessageAgent } from "./message-DsjiWRVg.js";
35
- import { t as bindSpawnAgent } from "./spawn-DmtlcAT_.js";
36
- import { t as processPluginTask } from "./task-runner-DyKqAPpm.js";
26
+ import { A as stopSlackThread, B as actOnReviewItem, C as isAllowedSignInEmail, D as buildSlackInboundMessage, E as recordSkippedConversationMessage, F as bindMessageAuthorIdentityId, H as readReviewItemForUser, I as startProcessingReaction, K as enqueueAgentDispatch, L as stripLeadingBotMention, M as withNormalizedThreadId, N as stopConversationTurn, O as clearSlackPendingReactions, P as THREAD_OPTOUT_ACK, R as parseContent, S as isAllowedDomain, T as resolveAllowedDomains, U as reviewItemChange, V as closeReviewItemsAnsweredByReply, W as getAttachmentStorage, _ as createProductionConversationWorkOptions, b as createSlackWebApiStatusSender, j as normalizeIncomingSlackThreadId, k as isSlackMessageStopped, q as GET$3, t as readConversationFeed, v as createProductionSlackWebhookServices, w as readEnvList, x as assertNoLegacyAllowedDomains, y as getProductionSlackAdapter, z as ReviewItemActionError } from "./list-JZUP1yog.js";
27
+ import { n as enqueueAgentInvocationResult, o as getAuthPausedConversationTurnId } from "./result-BRhb6iN1.js";
28
+ import { r as enqueueAgentInvocation } from "./work-zxkmbJAp.js";
29
+ import { o as coerceThreadConversationState } from "./thread-state-Ds8JTsX6.js";
30
+ import { o as unlinkProvider } from "./connections-CesHau9u.js";
31
+ import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-D2odJC30.js";
32
+ import { a as pluginTaskQueueConsumer, c as queueCallback, n as createVercelPluginTaskCallback, o as registerVercelPluginTaskDevConsumer } from "./task-queue-BbQXCcNX.js";
33
+ import { t as processConversationWork } from "./worker-CNNxHF1V.js";
34
+ import { t as bindMessageAgent } from "./message-D9y8PKA1.js";
35
+ import { t as bindSpawnAgent } from "./spawn-DqjBxqWh.js";
36
+ import { t as processPluginTask } from "./task-runner-ChzW5E7R.js";
37
37
  import { createRequire } from "node:module";
38
38
  import { Hono } from "hono";
39
39
  import { z } from "zod";
@@ -1924,13 +1924,6 @@ async function handleSlackReviewItemClick(args) {
1924
1924
  services,
1925
1925
  target
1926
1926
  };
1927
- if (click.kind === "done") {
1928
- await act({
1929
- ...common,
1930
- action: "complete"
1931
- });
1932
- return;
1933
- }
1934
1927
  if (click.kind === "dismiss") {
1935
1928
  await act({
1936
1929
  ...common,
@@ -2079,6 +2072,27 @@ async function handleSlackForm(args) {
2079
2072
  })));
2080
2073
  return new Response("", { status: 200 });
2081
2074
  }
2075
+ // src/chat/ingress/slack-channel-created.ts
2076
+ const slackChannelCreatedEnvelopeSchema = z.object({
2077
+ type: z.literal("event_callback"),
2078
+ team_id: z.string().optional(),
2079
+ enterprise_id: z.string().optional(),
2080
+ is_enterprise_install: z.boolean().optional(),
2081
+ event: z.object({
2082
+ type: z.literal("channel_created"),
2083
+ channel: z.looseObject({ id: slackChannelIdSchema })
2084
+ })
2085
+ });
2086
+ /** Join a newly created public channel for the installation that sent it. */
2087
+ async function joinCreatedSlackChannel(args) {
2088
+ await args.state.connect();
2089
+ await runWithWorkspaceTeamId(args.installation.teamId, () => runWithSlackInstallation({
2090
+ adapter: args.adapter,
2091
+ installation: args.installation,
2092
+ state: args.state,
2093
+ task: () => joinPublicChannel(args.channelId)
2094
+ }));
2095
+ }
2082
2096
  // src/chat/ingress/bot-mention.ts
2083
2097
  /**
2084
2098
  * Detect Slack bot @mentions that should activate Junior.
@@ -2975,7 +2989,26 @@ async function handleSlackWebhook(args) {
2975
2989
  waitUntil: args.waitUntil
2976
2990
  });
2977
2991
  }
2978
- const result = slackEventEnvelopeSchema.safeParse(parseJson(body));
2992
+ const json = parseJson(body);
2993
+ const channelCreated = slackChannelCreatedEnvelopeSchema.safeParse(json);
2994
+ if (channelCreated.success) {
2995
+ if (args.services.autoJoinNewChannels) {
2996
+ const channelId = channelCreated.data.event.channel.id;
2997
+ enqueue(args.waitUntil, withLogContext({
2998
+ platform: "slack",
2999
+ destinationName: channelId
3000
+ }, () => joinCreatedSlackChannel({
3001
+ adapter,
3002
+ channelId,
3003
+ installation: installationFromEnvelope(channelCreated.data),
3004
+ state: args.services.state ?? getStateAdapter()
3005
+ }).catch((error) => {
3006
+ logException(error, "slack.channel.auto_join.failed");
3007
+ })));
3008
+ }
3009
+ return new Response("ok", { status: 200 });
3010
+ }
3011
+ const result = slackEventEnvelopeSchema.safeParse(json);
2979
3012
  if (!result.success) return new Response("Invalid JSON", { status: 400 });
2980
3013
  const parsed = result.data;
2981
3014
  if (parsed.type === "url_verification") return Response.json({ challenge: parsed.challenge });
@@ -6691,7 +6724,8 @@ async function createApp(options) {
6691
6724
  services: runtimeServiceOverrides
6692
6725
  }),
6693
6726
  allowedBotUserIds: options?.slack?.allowedBotUserIds ?? [],
6694
- allowedDomains
6727
+ allowedDomains,
6728
+ autoJoinNewChannels: options?.slack?.autoJoinNewChannels === true
6695
6729
  };
6696
6730
  const app = new Hono();
6697
6731
  app.onError((err, c) => {
@@ -1,4 +1,4 @@
1
- import { _r as extractAssistantText } from "./turn-session-routing-B9KLBhaT.js";
1
+ import { _r as extractAssistantText } from "./turn-session-routing-BV_gX7n3.js";
2
2
  // src/chat/no-reply.ts
3
3
  const NO_REPLY_MARKER = "[[NO_REPLY]]";
4
4
  /**
@@ -40,10 +40,4 @@ function getAssistantReplyText(message) {
40
40
  const decision = decideReply(message);
41
41
  return decision.kind === "deliver" ? decision.text : void 0;
42
42
  }
43
- // src/chat/interruption-marker.ts
44
- const INTERRUPTED_MARKER = "\n\n[Response interrupted before completion]";
45
- /** Return the marker added when a visible reply ended mid-execution. */
46
- function getInterruptionMarker() {
47
- return INTERRUPTED_MARKER;
48
- }
49
- export { NO_REPLY_MARKER as a, sanitizeAssistantText as i, decideReply as n, isNoReplyMarker as o, getAssistantReplyText as r, getInterruptionMarker as t };
43
+ export { isNoReplyMarker as a, NO_REPLY_MARKER as i, getAssistantReplyText as n, sanitizeAssistantText as r, decideReply as t };