@sentry/junior 0.248.0 → 0.250.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 (59) hide show
  1. package/dist/{admin-BlHz8fGl.js → admin-DMKyXi83.js} +1 -1
  2. package/dist/{agent-hooks-DWCHBPYw.js → agent-hooks-CtZuJPTU.js} +26 -11
  3. package/dist/{agent-runner-CnlFtbzb.js → agent-runner-CNiTpIpb.js} +745 -423
  4. package/dist/api/schema.d.ts +33 -0
  5. package/dist/api/schema.js +4 -4
  6. package/dist/api.js +56 -24
  7. package/dist/app.js +36 -44
  8. package/dist/{assistant-reply-BxCi7V4v.js → assistant-reply-K5r1pcgJ.js} +1 -1
  9. package/dist/{briefs-CdkIl79U.js → briefs-8xyS3oeV.js} +4 -4
  10. package/dist/{catalog-runtime-CTBsdSam.js → catalog-runtime-BQ3g3OX_.js} +1 -1
  11. package/dist/cli/chat.js +15 -15
  12. package/dist/cli/check.js +3 -3
  13. package/dist/cli/main.js +2 -2
  14. package/dist/cli/plugins.js +4 -4
  15. package/dist/cli/snapshot-create.js +3 -3
  16. package/dist/cli/upgrade.js +3 -3
  17. package/dist/{client-CWQtbizj.js → client-Q27hki0Y.js} +2 -2
  18. package/dist/{config-aitDvTQm.js → config-Cb--Qs-g.js} +2 -2
  19. package/dist/{web-authorization-rDLlKIS0.js → connections-DZ70JeSN.js} +85 -8
  20. package/dist/{conversation-Cjo9tHGm.js → conversation-NutPJ8S8.js} +1 -1
  21. package/dist/{conversation-privacy-BsqXHVBz.js → conversation-privacy-BIDN1sW3.js} +1 -1
  22. package/dist/{credential-sync-DqZF735a.js → credential-sync-CyAN-Gos.js} +18 -23
  23. package/dist/{executor-oIZAkQZb.js → executor-D8y7v95s.js} +2 -2
  24. package/dist/{history-Nte1oVed.js → history-9pO1Zd4Y.js} +7 -1
  25. package/dist/{images-Dzh3RBXY.js → images-BkGhqKIK.js} +3 -3
  26. package/dist/instrumentation.js +2 -2
  27. package/dist/{job-queue-DyA2AEnY.js → job-queue-uGq6Grnt.js} +1 -1
  28. package/dist/{logging-OpC2jwiV.js → logging-C22RdmU8.js} +1 -1
  29. package/dist/{message-EyMrVXEf.js → message-D0RPetp-.js} +3 -3
  30. package/dist/nitro.js +3 -3
  31. package/dist/{oauth-callback-server-ClDv9Z5Y.js → oauth-callback-server-DF_Odkvh.js} +2 -2
  32. package/dist/{pending-auth-D_nf121N.js → pending-auth-Bg3A1-pE.js} +2 -2
  33. package/dist/{profile-Dfg76pvk.js → profile-DK9umvav.js} +4 -4
  34. package/dist/{prompt-C7bRJ2vg.js → prompt-kYP1FAX_.js} +1 -1
  35. package/dist/{registry-fpIZHoqE.js → registry-BvsLuoLK.js} +1 -1
  36. package/dist/{resolve-LMCZhQVg.js → resolve-C9btOXju.js} +2 -2
  37. package/dist/{result-C1ZCRPLx.js → result-CcdQ2iau.js} +8 -8
  38. package/dist/{runner-DNZMviFH.js → runner-Bem4DUHN.js} +10 -10
  39. package/dist/{sandbox-egress-signals-Dcc-mwkl.js → sandbox-egress-signals-Bl-4cF7E.js} +1 -1
  40. package/dist/{schema-BRZsYL5-.js → schema-DELmAdjR.js} +18 -2
  41. package/dist/{session-stop-dyvsZDB0.js → session-stop-DteRDRCi.js} +17 -14
  42. package/dist/{skills-BgGiQt5Y.js → skills-CVwSL6Gc.js} +2 -2
  43. package/dist/{spawn-CpqxMPWE.js → spawn-CA0YYtzr.js} +2 -2
  44. package/dist/{store-OMQAFrJG.js → store-Dw3eBN9S.js} +6 -6
  45. package/dist/{task-queue-SWsXPSp-.js → task-queue-C7cyjcVj.js} +3 -3
  46. package/dist/{task-runner-BOxv7shv.js → task-runner-BbSyWmOq.js} +11 -11
  47. package/dist/{tasks-DREdnhVP.js → tasks-B8nH3ND_.js} +10 -10
  48. package/dist/{thread-state-BoNCtSwk.js → thread-state-BTOLzCM-.js} +6 -6
  49. package/dist/{turn-failure-response-C6jrCPjc.js → turn-failure-response-BwNfO8Xt.js} +8 -8
  50. package/dist/{turn-lifecycle-cQFsZFOU.js → turn-lifecycle-DSN0xGW7.js} +1 -1
  51. package/dist/{turn-session-routing-Ba12fwXz.js → turn-session-routing-BRKYIn6n.js} +1 -1
  52. package/dist/{validation-Dmfh2cTj.js → validation-CBkyzKCP.js} +1 -1
  53. package/dist/{version-ByV7nGOn.js → version-CkwwLVLb.js} +1 -1
  54. package/dist/version.js +1 -1
  55. package/dist/{viewer-CX41TWYr.js → viewer-DdzigZQh.js} +4 -4
  56. package/dist/{web-input-Bn9HHZEo.js → web-input-BjdnnpuN.js} +29 -29
  57. package/dist/{work-CvFoEpRT.js → work-qQEjtmlv.js} +29 -13
  58. package/dist/{worker-CI5B63vk.js → worker-C-CSZMy_.js} +5 -5
  59. package/package.json +4 -4
@@ -3509,6 +3509,39 @@ export declare const apiErrorSchema: z.ZodObject<{
3509
3509
  }, z.core.$strict>;
3510
3510
  type ApiError = z.infer<typeof apiErrorSchema>;
3511
3511
  //#endregion
3512
+ //#region src/api/schema/connection.d.ts
3513
+ export declare const connectionSchema: z.ZodObject<{
3514
+ provider: z.ZodString;
3515
+ displayName: z.ZodString;
3516
+ description: z.ZodString;
3517
+ account: z.ZodOptional<z.ZodObject<{
3518
+ label: z.ZodString;
3519
+ url: z.ZodOptional<z.ZodString>;
3520
+ }, z.core.$strict>>;
3521
+ connected: z.ZodBoolean;
3522
+ }, z.core.$strict>;
3523
+ export declare const connectionListSchema: z.ZodObject<{
3524
+ connections: z.ZodArray<z.ZodObject<{
3525
+ provider: z.ZodString;
3526
+ displayName: z.ZodString;
3527
+ description: z.ZodString;
3528
+ account: z.ZodOptional<z.ZodObject<{
3529
+ label: z.ZodString;
3530
+ url: z.ZodOptional<z.ZodString>;
3531
+ }, z.core.$strict>>;
3532
+ connected: z.ZodBoolean;
3533
+ }, z.core.$strict>>;
3534
+ }, z.core.$strict>;
3535
+ export declare const connectionParamsSchema: z.ZodObject<{
3536
+ provider: z.ZodString;
3537
+ }, z.core.$strict>;
3538
+ export declare const startConnectionResponseSchema: z.ZodObject<{
3539
+ authorizationUrl: z.ZodString;
3540
+ }, z.core.$strict>;
3541
+ export declare const disconnectConnectionResponseSchema: z.ZodObject<{
3542
+ disconnected: z.ZodLiteral<true>;
3543
+ }, z.core.$strict>;
3544
+ //#endregion
3512
3545
  //#region src/api/schema/personal-token.d.ts
3513
3546
  export declare const personalTokenMetadataSchema: z.ZodObject<{
3514
3547
  id: z.ZodString;
@@ -1,6 +1,6 @@
1
- import { a as conversationTurnFailureReasonSchema, i as conversationTurnFailureCodeSchema } from "../history-Nte1oVed.js";
2
- import { A as forkConversationBodySchema, C as conversationReportEventSchema, E as conversationSummaryReportSchema, I as INPUT_IMAGE_TYPES, K as messageCardText, M as conversationChildAgentTotalsSchema, N as MAX_INPUT_IMAGES, O as createConversationBodySchema, P as MAX_INPUT_IMAGE_BYTES, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, Y 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 forkConversationResponseSchema, k as createConversationMessageBodySchema, 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-Cjo9tHGm.js";
1
+ import { a as conversationTurnFailureReasonSchema, i as conversationTurnFailureCodeSchema } from "../history-9pO1Zd4Y.js";
2
+ import { A as forkConversationBodySchema, C as conversationReportEventSchema, E as conversationSummaryReportSchema, I as INPUT_IMAGE_TYPES, K as messageCardText, M as conversationChildAgentTotalsSchema, N as MAX_INPUT_IMAGES, O as createConversationBodySchema, P as MAX_INPUT_IMAGE_BYTES, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, Y 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 forkConversationResponseSchema, k as createConversationMessageBodySchema, 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-NutPJ8S8.js";
3
3
  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-gznOMaQ2.js";
4
4
  import { C as skillReportsSchema, S as skillReportSchema, _ as pluginPackageContentItemReportSchema, b as pluginsSchema, g as pluginOperationalReportSchema, h as pluginOperationalReportFeedSchema, m as healthReportSchema, t as webMessageId, v as pluginPackageContentReportSchema, x as runtimeInfoReportSchema, y as pluginSchema } from "../web-message-id-xPI_EFSC.js";
5
- import { A as codeChangeSummarySchema, C as locationParamsSchema, D as dailyConversationActivitySchema, F as codeRepositorySummarySchema, I as conversationChildAgentSchema, L as conversationChildAgentsReportSchema, M as codePersonReportSchema, N as codeRepositoryParamsSchema, O as codeActivityDaySchema, P as codeRepositoryReportSchema, R as stopConversationTurnResponseSchema, S as locationDirectoryReportSchema, _ as actorProfileReportSchema, a as workspaceBodySchema, b as locationActivityDayReportSchema, c as workspaceRepoSchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as codeOverviewReportSchema, k as codeChangeSummaryReportSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, p as personalTokenMetadataSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, x as locationDetailReportSchema, y as personalSpendReportSchema, z as apiErrorSchema } from "../schema-BRZsYL5-.js";
6
- export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, 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, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositoryParamsSchema, codeRepositoryReportSchema, codeRepositorySummarySchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationChildAgentSchema, conversationChildAgentTotalsSchema, conversationChildAgentsReportSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, skillReportSchema, skillReportsSchema, statSchema, statsReportSchema, stopConversationTurnResponseSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
5
+ import { A as connectionSchema, B as codeRepositorySummarySchema, C as locationParamsSchema, D as dailyConversationActivitySchema, F as codeChangeSummarySchema, H as conversationChildAgentsReportSchema, I as codeOverviewReportSchema, L as codePersonReportSchema, M as startConnectionResponseSchema, N as codeActivityDaySchema, O as connectionListSchema, P as codeChangeSummaryReportSchema, R as codeRepositoryParamsSchema, S as locationDirectoryReportSchema, U as stopConversationTurnResponseSchema, V as conversationChildAgentSchema, W as apiErrorSchema, _ as actorProfileReportSchema, a as workspaceBodySchema, b as locationActivityDayReportSchema, c as workspaceRepoSchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as disconnectConnectionResponseSchema, k as connectionParamsSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, p as personalTokenMetadataSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, x as locationDetailReportSchema, y as personalSpendReportSchema, z as codeRepositoryReportSchema } from "../schema-DELmAdjR.js";
6
+ export { INPUT_IMAGE_TYPES, MAX_INPUT_IMAGES, MAX_INPUT_IMAGE_BYTES, 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, 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, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, disconnectConnectionResponseSchema, eventAutomationSummarySchema, forkConversationBodySchema, forkConversationResponseSchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, resolveMessageCards, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, skillReportSchema, skillReportsSchema, startConnectionResponseSchema, statSchema, statsReportSchema, stopConversationTurnResponseSchema, webMessageId, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
package/dist/api.js CHANGED
@@ -1,27 +1,27 @@
1
- import { K as listChildAgents, L as editEventAutomation, O as parseSlackThreadId, P as editScheduledAutomation, R as AutomationEditError, T as readLiveAttachment, V as resolveTaskOutcomes, g as readStats, ot as getChildAgentLabel, z as eventAutomationTriggerAvailable } from "./agent-runner-CnlFtbzb.js";
2
- import { d as logException, p as logWarn } from "./logging-OpC2jwiV.js";
1
+ import { Ft as createUserTokenStore, K as listChildAgents, L as editEventAutomation, O as parseSlackThreadId, P as editScheduledAutomation, R as AutomationEditError, T as readLiveAttachment, V as resolveTaskOutcomes, g as readStats, ot as getChildAgentLabel, z as eventAutomationTriggerAvailable } from "./agent-runner-CNiTpIpb.js";
2
+ import { d as logException, f as logInfo, p as logWarn } from "./logging-C22RdmU8.js";
3
3
  import { d as parseSlackTeamId, g as parseSlackMessageTs, l as parseSlackChannelId } from "./actor-BTtLaeWy.js";
4
- import { E as resolveRootConversationId, T as hasAgentTurnUsage, _ as locationFromRow, b as parseSessionSource, c as getConversationEventStore, d as getDb, f as getSqlExecutor, i as resolveViewerUser, m as withConversationEventLock, o as updateViewerDisplayName, t as findUserByEmail, u as getConversationStore, w as agentTurnUsageSchema, x as addAgentTurnUsage } from "./viewer-CX41TWYr.js";
4
+ import { E as resolveRootConversationId, T as hasAgentTurnUsage, _ as locationFromRow, b as parseSessionSource, c as getConversationEventStore, d as getDb, f as getSqlExecutor, i as resolveViewerUser, m as withConversationEventLock, o as updateViewerDisplayName, t as findUserByEmail, u as getConversationStore, w as agentTurnUsageSchema, x as addAgentTurnUsage } from "./viewer-DdzigZQh.js";
5
5
  import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, o as conversationReadColumns, s as juniorConversations } from "./agent-invocations-D_YoNnAn.js";
6
- import { _ as juniorConversationEvents, b as juniorCodeChanges, f as juniorConversationParticipants, g as juniorConversationMetrics, m as juniorConversationBriefs, v as juniorApiTokens, x as juniorCodeRepositories } from "./executor-oIZAkQZb.js";
7
- import { u as contextProvenance } from "./history-Nte1oVed.js";
8
- import { A as requireAutomationRevision, D as sameDefinitionValue, E as readAutomationVersion, O as AutomationConflictError, a as readScheduledAutomation, b as saveEventAutomation, g as getEventAutomation, jt as loadTurnProjection, k as automationRevision, m as eventAutomationBelongsToUser, mn as piMessageFromHistoryItem, o as saveScheduledAutomation, w as automationDefinition, x as setEventAutomationStatus } from "./tasks-DREdnhVP.js";
9
- import { C as WorkspaceValidationError, Ct as readConversationEventPage, It as lookupSlackUser, Kt as withSlackRetries, M as workspaceRepoCheckoutPath, Mt as listConversationAnnotations, Nt as listConversationAnnotationsById, O as SANDBOX_RUNTIME, S as updateWorkspace, St as readLatestConversationBrief, Vt as getSlackClient, _ as deleteWorkspace, _t as conversationHasParticipantUser, b as listWorkspaces, bt as viewerConversationMembership, dt as createPluginLogger, ft as readConversationAccessFromSql, g as createWorkspace, gt as conversationHasParticipantEmail, ht as conversationArchivedForUser, mt as conversationArchivedForEmail, pt as conversationArchiveTimes, u as getPlugins, v as getWorkspace, vt as conversationNotArchivedForEmail, wt as buildSentryConversationUrl, x as listWorkspacesByRepository, yt as conversationNotArchivedForUser } from "./agent-hooks-DWCHBPYw.js";
10
- import { A as forkConversationBodySchema, F as readMessageAttachments, I as INPUT_IMAGE_TYPES, O as createConversationBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as forkConversationResponseSchema, k as createConversationMessageBodySchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-Cjo9tHGm.js";
11
- import { n as hash, t as create } from "./profile-Dfg76pvk.js";
12
- import { l as getEventCatalog, v as automationEventCatalog } from "./session-stop-dyvsZDB0.js";
6
+ import { _ as juniorConversationEvents, b as juniorCodeChanges, f as juniorConversationParticipants, g as juniorConversationMetrics, m as juniorConversationBriefs, v as juniorApiTokens, x as juniorCodeRepositories } from "./executor-D8y7v95s.js";
7
+ import { d as contextProvenance } from "./history-9pO1Zd4Y.js";
8
+ import { A as requireAutomationRevision, D as sameDefinitionValue, E as readAutomationVersion, O as AutomationConflictError, a as readScheduledAutomation, b as saveEventAutomation, g as getEventAutomation, jt as loadTurnProjection, k as automationRevision, m as eventAutomationBelongsToUser, mn as piMessageFromHistoryItem, o as saveScheduledAutomation, w as automationDefinition, x as setEventAutomationStatus } from "./tasks-B8nH3ND_.js";
9
+ import { C as WorkspaceValidationError, Ct as readConversationEventPage, It as lookupSlackUser, Kt as withSlackRetries, M as workspaceRepoCheckoutPath, Mt as listConversationAnnotations, Nt as listConversationAnnotationsById, O as SANDBOX_RUNTIME, S as updateWorkspace, St as readLatestConversationBrief, Vt as getSlackClient, _ as deleteWorkspace, _t as conversationHasParticipantUser, b as listWorkspaces, bt as viewerConversationMembership, dt as createPluginLogger, ft as readConversationAccessFromSql, g as createWorkspace, gt as conversationHasParticipantEmail, ht as conversationArchivedForUser, mt as conversationArchivedForEmail, pt as conversationArchiveTimes, u as getPlugins, v as getWorkspace, vt as conversationNotArchivedForEmail, wt as buildSentryConversationUrl, x as listWorkspacesByRepository, yt as conversationNotArchivedForUser } from "./agent-hooks-CtZuJPTU.js";
10
+ import { A as forkConversationBodySchema, F as readMessageAttachments, I as INPUT_IMAGE_TYPES, O as createConversationBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, j as forkConversationResponseSchema, k as createConversationMessageBodySchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-NutPJ8S8.js";
11
+ import { n as hash, t as create } from "./profile-DK9umvav.js";
12
+ import { l as getEventCatalog, v as automationEventCatalog } from "./session-stop-DteRDRCi.js";
13
13
  import { t as getFirstRunAtMs } from "./cadence-D00SCzT1.js";
14
- import { t as getCachedSnapshot } from "./resolve-LMCZhQVg.js";
15
- import { a as getVercelConversationWorkQueue } from "./job-queue-DyA2AEnY.js";
16
- import { a as cancelHumanFacingPendingMessages, h as getConversation } from "./store-OMQAFrJG.js";
14
+ import { t as getCachedSnapshot } from "./resolve-C9btOXju.js";
15
+ import { a as getVercelConversationWorkQueue } from "./job-queue-uGq6Grnt.js";
16
+ import { a as cancelHumanFacingPendingMessages, h as getConversation } from "./store-Dw3eBN9S.js";
17
17
  import { M as compileScheduleIntent, P as weekdaySchema, _ as automationSummarySchema, b as automationVersionListSchema, c as automationLifecycleSchema, d as automationParamsSchema, f as automationRunListSchema, g as automationSchedulePreviewSchema, h as automationScheduleIntentSchema, i as automationExecutionListSchema, j as ScheduleIntentError, 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-gznOMaQ2.js";
18
18
  import { C as skillReportsSchema, a as fillUtcHours, b as pluginsSchema, c as sumUtcHoursIntoSixHours, d as trailingUtcSixHourWindow, f as utcDayKey, h as pluginOperationalReportFeedSchema, i as fillUtcDays, l as trailingUtcDayWindow, m as healthReportSchema, n as DAY_MS$1, o as fillUtcSixHours, p as utcHourKey, r as HOUR_MS$1, s as startOfUtcHour, u as trailingUtcHourWindow, x as runtimeInfoReportSchema } from "./web-message-id-xPI_EFSC.js";
19
- import { B as readHealthReport, I as createVercelAttachmentStorage, _ as readViewerAutomationRuns, a as recordWebConversationActivity, b as readViewerAutomations, d as resolveSlackConversationContextFromThreadId, g as readViewerAutomationExecutions, h as readConversationSourceTask, i as createConversationId, j as stopConversationTurn, l as getProductionSlackAdapter, m as deleteViewerTask, o as webActorFromEmail, p as ViewerTaskNotFoundError, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, u as formatSlackConversationRedactedLabel, v as readViewerAutomationSummary, w as clearSlackPendingReactions, x as resolveViewerTaskCandidate, y as readViewerAutomationVersions } from "./web-input-Bn9HHZEo.js";
20
- import { A as conversationActiveDaysColumn, M as conversationRangeColumns, j as conversationAggregateColumns } from "./task-runner-BOxv7shv.js";
21
- import { d as legacyWebMailboxMetadataSchema } from "./result-C1ZCRPLx.js";
22
- import { r as getWebAuthorization } from "./web-authorization-rDLlKIS0.js";
23
- import { t as decodeInputImages } from "./images-Dzh3RBXY.js";
24
- import { C as locationParamsSchema, E as activitySixHours$1, L as conversationChildAgentsReportSchema, M as codePersonReportSchema, N as codeRepositoryParamsSchema, P as codeRepositoryReportSchema, R as stopConversationTurnResponseSchema, S as locationDirectoryReportSchema, T as activityHours$1, _ as actorProfileReportSchema, a as workspaceBodySchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as codeOverviewReportSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, s as workspaceParamsSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, w as activityDays$1, x as locationDetailReportSchema, y as personalSpendReportSchema, z as apiErrorSchema } from "./schema-BRZsYL5-.js";
19
+ import { B as readHealthReport, I as createVercelAttachmentStorage, _ as readViewerAutomationRuns, a as recordWebConversationActivity, b as readViewerAutomations, d as resolveSlackConversationContextFromThreadId, g as readViewerAutomationExecutions, h as readConversationSourceTask, i as createConversationId, j as stopConversationTurn, l as getProductionSlackAdapter, m as deleteViewerTask, o as webActorFromEmail, p as ViewerTaskNotFoundError, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, u as formatSlackConversationRedactedLabel, v as readViewerAutomationSummary, w as clearSlackPendingReactions, x as resolveViewerTaskCandidate, y as readViewerAutomationVersions } from "./web-input-BjdnnpuN.js";
20
+ import { A as conversationActiveDaysColumn, M as conversationRangeColumns, j as conversationAggregateColumns } from "./task-runner-BbSyWmOq.js";
21
+ import { d as legacyWebMailboxMetadataSchema } from "./result-CcdQ2iau.js";
22
+ import { a as startConnection, l as getWebAuthorization, n as isConnectableProvider, r as listConnections, t as disconnectConnection } from "./connections-DZ70JeSN.js";
23
+ import { t as decodeInputImages } from "./images-BkGhqKIK.js";
24
+ import { C as locationParamsSchema, E as activitySixHours$1, H as conversationChildAgentsReportSchema, I as codeOverviewReportSchema, L as codePersonReportSchema, M as startConnectionResponseSchema, O as connectionListSchema, R as codeRepositoryParamsSchema, S as locationDirectoryReportSchema, T as activityHours$1, U as stopConversationTurnResponseSchema, W as apiErrorSchema, _ as actorProfileReportSchema, a as workspaceBodySchema, d as createdPersonalTokenSchema, f as personalTokenListSchema, g as actorDirectoryReportSchema, h as revokePersonalTokenResponseSchema, i as deleteWorkspaceResponseSchema, j as disconnectConnectionResponseSchema, k as connectionParamsSchema, l as workspaceSchema, m as personalTokenParamsSchema, n as statsReportSchema, o as workspaceListSchema, s as workspaceParamsSchema, u as createPersonalTokenBodySchema, v as personParamsSchema, w as activityDays$1, x as locationDetailReportSchema, y as personalSpendReportSchema, z as codeRepositoryReportSchema } from "./schema-DELmAdjR.js";
25
25
  import { Hono } from "hono";
26
26
  import path from "node:path";
27
27
  import { z } from "zod";
@@ -2832,6 +2832,37 @@ function createCodeRoutes() {
2832
2832
  return app;
2833
2833
  }
2834
2834
  //#endregion
2835
+ //#region src/api/connections/routes.ts
2836
+ /**
2837
+ * Create authenticated routes that list, connect, and disconnect the viewer's
2838
+ * plugin accounts. Connections belong to the viewer's web actor, which is the
2839
+ * credential subject for the viewer's web Conversations.
2840
+ */
2841
+ function createConnectionRoutes() {
2842
+ const app = new Hono();
2843
+ app.get("/", requireViewer, async (context) => {
2844
+ const actor = webActorFromEmail(context.get("viewer").email);
2845
+ return jsonResponse(connectionListSchema, { connections: await listConnections(actor.userId, createUserTokenStore()) });
2846
+ });
2847
+ app.post("/:provider", requireViewer, validateRequest("param", connectionParamsSchema, "Invalid provider."), async (context) => {
2848
+ const { provider } = context.req.valid("param");
2849
+ if (!isConnectableProvider(provider)) throwApiError(404, "Connection not found.");
2850
+ const viewer = context.get("viewer");
2851
+ const result = await startConnection(provider, webActorFromEmail(viewer.email, { ...viewer.displayName ? { fullName: viewer.displayName } : void 0 }));
2852
+ if (!result.ok) throwApiError(503, result.error);
2853
+ return jsonResponse(startConnectionResponseSchema, { authorizationUrl: result.authorizationUrl });
2854
+ });
2855
+ app.delete("/:provider", requireViewer, validateRequest("param", connectionParamsSchema, "Invalid provider."), async (context) => {
2856
+ const { provider } = context.req.valid("param");
2857
+ if (!isConnectableProvider(provider)) throwApiError(404, "Connection not found.");
2858
+ const actor = webActorFromEmail(context.get("viewer").email);
2859
+ await disconnectConnection(actor.userId, provider, createUserTokenStore());
2860
+ logInfo("dashboard.credential.unlinked", { "app.credential.provider": provider });
2861
+ return jsonResponse(disconnectConnectionResponseSchema, { disconnected: true });
2862
+ });
2863
+ return app;
2864
+ }
2865
+ //#endregion
2835
2866
  //#region src/api/conversations/reporting.ts
2836
2867
  /** Return the dashboard label for a conversation surface. */
2837
2868
  function surfaceLabel(surface) {
@@ -3581,7 +3612,7 @@ async function readPeoplePluginReports(args) {
3581
3612
  reports: [],
3582
3613
  source: "plugins"
3583
3614
  });
3584
- const { getPluginProfileReports } = await import("./agent-hooks-DWCHBPYw.js").then((n) => n.t);
3615
+ const { getPluginProfileReports } = await import("./agent-hooks-CtZuJPTU.js").then((n) => n.t);
3585
3616
  return pluginOperationalReportFeedSchema.parse({
3586
3617
  generatedAt: new Date(nowMs).toISOString(),
3587
3618
  reports: await getPluginProfileReports({
@@ -4549,7 +4580,7 @@ function readDescriptionText(home) {
4549
4580
  }
4550
4581
  /** Read discovered skill names for authenticated runtime diagnostics. */
4551
4582
  async function readSkillReports() {
4552
- const { discoverSkills } = await import("./skills-BgGiQt5Y.js").then((n) => n.o);
4583
+ const { discoverSkills } = await import("./skills-CVwSL6Gc.js").then((n) => n.o);
4553
4584
  const skills = await discoverSkills();
4554
4585
  return skillReportsSchema.parse(skills.map((skill) => ({
4555
4586
  name: skill.name,
@@ -4558,7 +4589,7 @@ async function readSkillReports() {
4558
4589
  }
4559
4590
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
4560
4591
  async function readPlugins() {
4561
- const { pluginCatalogRuntime } = await import("./catalog-runtime-CTBsdSam.js").then((n) => n.t);
4592
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-BQ3g3OX_.js").then((n) => n.t);
4562
4593
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
4563
4594
  configKeys: plugin.manifest.configKeys ?? [],
4564
4595
  description: plugin.manifest.description,
@@ -4570,7 +4601,7 @@ async function readPlugins() {
4570
4601
  async function readRuntimeInfoReport() {
4571
4602
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4572
4603
  import("./package-discovery-BVvSnQBB.js").then((n) => n.r),
4573
- import("./catalog-runtime-CTBsdSam.js").then((n) => n.t),
4604
+ import("./catalog-runtime-BQ3g3OX_.js").then((n) => n.t),
4574
4605
  readPlugins(),
4575
4606
  readSkillReports()
4576
4607
  ]);
@@ -4587,7 +4618,7 @@ async function readRuntimeInfoReport() {
4587
4618
  /** Read sanitized operational summaries contributed by plugins. */
4588
4619
  async function readPluginOperationalReportFeed() {
4589
4620
  const nowMs = Date.now();
4590
- const { getPluginOperationalReports } = await import("./agent-hooks-DWCHBPYw.js").then((n) => n.t);
4621
+ const { getPluginOperationalReports } = await import("./agent-hooks-CtZuJPTU.js").then((n) => n.t);
4591
4622
  return pluginOperationalReportFeedSchema.parse({
4592
4623
  source: "plugins",
4593
4624
  generatedAt: new Date(nowMs).toISOString(),
@@ -4610,6 +4641,7 @@ function createJuniorApi(options = {}) {
4610
4641
  queue: options.conversationWorkQueue ?? getVercelConversationWorkQueue()
4611
4642
  }));
4612
4643
  app.route("/api/code", createCodeRoutes());
4644
+ app.route("/api/connections", createConnectionRoutes());
4613
4645
  app.route("/api/personal-tokens", createPersonalTokenRoutes());
4614
4646
  app.route("/api/people", createPeopleRoutes());
4615
4647
  app.route("/api/locations", createLocationRoutes());
package/dist/app.js CHANGED
@@ -1,37 +1,38 @@
1
- import { B as effectiveTaskOutcomes, Ct as normalizeSandboxEgressTracePropagationDomains, Dt as consumeSandboxEgressAuthRequiredSignal, E as requestAttachmentDeletion, Et as clearSandboxEgressSignals, F as logScheduledAutomationRunSkipped, Ft as createUserTokenStore, Gt as setConfigDefaults, I as scheduledAutomationRunAttributes, O as parseSlackThreadId, Ot as consumeSandboxEgressPermissionDeniedSignal, Pt as startOAuthFlow, St as resolveSandboxEgressProviderForHost, Tt as SANDBOX_EGRESS_PROXY_PATH, U as stopConversationSession, W as recordSubagentEnded, Wt as getConfigDefaults, b as unpublishedArtifactHeaders, bt as processWorkspaceSnapshotJob, c as deleteMcpAuthSessionsForUserProvider, i as executeCredentialedEgressRequest, jt as formatProviderLabel, kt as parseSandboxEgressCredentialToken, l as deleteMcpServerSessionId, lt as listPendingAgentInvocationMailboxAppends, n as executeAgentRun, t as createAgentRunner, u as deleteMcpStoredOAuthCredentials, ut as listPendingAgentInvocationResults, v as publicArtifactHeaders, w as collectAttachmentGarbage, wt as shouldPropagateSandboxEgressTrace, x as lookupSlackUserProfile, xt as ingestEvent, y as readPublicArtifact } from "./agent-runner-CnlFtbzb.js";
2
- import { C as withLogContext, O as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, S as withContext, d as logException, f as logInfo, j as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, p as logWarn, r as createRequestContext, v as setSpanAttributes, w as withSpan, y as setSpanStatus } from "./logging-OpC2jwiV.js";
1
+ import { B as effectiveTaskOutcomes, Ct as normalizeSandboxEgressTracePropagationDomains, Dt as consumeSandboxEgressAuthRequiredSignal, E as requestAttachmentDeletion, Et as clearSandboxEgressSignals, F as logScheduledAutomationRunSkipped, Ft as createUserTokenStore, Gt as setConfigDefaults, I as scheduledAutomationRunAttributes, O as parseSlackThreadId, Ot as consumeSandboxEgressPermissionDeniedSignal, Pt as startOAuthFlow, St as resolveSandboxEgressProviderForHost, Tt as SANDBOX_EGRESS_PROXY_PATH, U as stopConversationSession, W as recordSubagentEnded, Wt as getConfigDefaults, b as unpublishedArtifactHeaders, bt as processWorkspaceSnapshotJob, i as executeCredentialedEgressRequest, jt as formatProviderLabel, kt as parseSandboxEgressCredentialToken, lt as listPendingAgentInvocationMailboxAppends, n as executeAgentRun, t as createAgentRunner, ut as listPendingAgentInvocationResults, v as publicArtifactHeaders, w as collectAttachmentGarbage, wt as shouldPropagateSandboxEgressTrace, x as lookupSlackUserProfile, xt as ingestEvent, y as readPublicArtifact } from "./agent-runner-CNiTpIpb.js";
2
+ import { C as withLogContext, O as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, S as withContext, d as logException, f as logInfo, j as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, p as logWarn, r as createRequestContext, v as setSpanAttributes, w as withSpan, y as setSpanStatus } from "./logging-C22RdmU8.js";
3
3
  import { n as captureMessage, r as continueTrace } from "./sentry-CgWZM_kV.js";
4
- import { t as JUNIOR_VERSION } from "./version-ByV7nGOn.js";
5
- 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-aitDvTQm.js";
4
+ import { t as JUNIOR_VERSION } from "./version-CkwwLVLb.js";
5
+ 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-Cb--Qs-g.js";
6
6
  import { _ as slackMessageTsSchema, d as parseSlackTeamId, f as parseSlackUserId, h as slackUserIdSchema, m as slackTeamIdSchema, o as parseActorUserId, p as slackChannelIdSchema } from "./actor-BTtLaeWy.js";
7
- import { D as deleteProviderIdentityForSlackUser, c as getConversationEventStore, d as getDb, f as getSqlExecutor, g as withConversationMutationLock, m as withConversationEventLock, r as readActorIdentity, u as getConversationStore } from "./viewer-CX41TWYr.js";
7
+ import { c as getConversationEventStore, d as getDb, f as getSqlExecutor, g as withConversationMutationLock, m as withConversationEventLock, r as readActorIdentity, u as getConversationStore } from "./viewer-DdzigZQh.js";
8
8
  import { a as juniorAgentInvocations, d as juniorDestinations, i as juniorAgentBindings, s as juniorConversations } from "./agent-invocations-D_YoNnAn.js";
9
- import { _ as juniorConversationEvents, a as juniorSchedulerRuns, m as juniorConversationBriefs, o as juniorSchedulerTasks } from "./executor-oIZAkQZb.js";
10
- import { n as pluginCatalogRuntime } from "./catalog-runtime-CTBsdSam.js";
11
- import { C as eventAutomationRunLimitReason, F as slackMention, G as slackExternalRefIdSchema, S as admitEventAutomationRun, W as slackEntitySchema, Wt as appendConversationMessages, Xt as settleConversationTitleWork, a as readScheduledAutomation, c as scheduledRunId, d as collectEventAutomationMatchKeys, h as findMatchingEventAutomations, l as withScheduledAutomationLock, n as listScheduledAutomations, qt as projectConversationMessages, r as listScheduledAutomationsForTeam, s as saveScheduledAutomationInLock, u as blockEventAutomation } from "./tasks-DREdnhVP.js";
12
- import { $ as verifyEventAutomationCredentialSubject, Jt as runWithWorkspaceTeamId, Mt as listConversationAnnotations, Q as bindSlackDirectCredentialSubject, U as collectEventMatchKeys, Ut as isDmChannel, Vt as getSlackClient, X as bindEventAutomationCredentialSubject, Y as takeDueTimerWatches, Z as bindScheduledAutomationCredentialSubject, a as getPluginRoutes, ct as createPluginState, d as setPlugins, dt as createPluginLogger, et as verifyScheduledAutomationCredentialSubject, f as validatePlugins, ft as readConversationAccessFromSql, h as setBriefsConfig, i as getPluginApiRoutes, it as getDashboardConversationLink, kt as resolveRootVisibility, ot as getDashboardTaskLink, q as findMatchingWatches, qt as getWorkspaceTeamId, st as setDashboardConversationLinkOptions, tt as verifySlackDirectCredentialSubject, u as getPlugins } from "./agent-hooks-DWCHBPYw.js";
13
- import { W as annotationCard } from "./conversation-Cjo9tHGm.js";
14
- import { O as withLock$1, w as getStateAdapter } from "./profile-Dfg76pvk.js";
15
- import { c as getThreadStopDecision } from "./pending-auth-D_nf121N.js";
16
- import { O as renderTaskInput, f as slackChannelMessageEvent, l as getEventCatalog, p as slackChannelMessageReplyThreadTs, u as SLACK_EVENT_NAMESPACE, y as eventGuidance } from "./session-stop-dyvsZDB0.js";
9
+ import { _ as juniorConversationEvents, a as juniorSchedulerRuns, m as juniorConversationBriefs, o as juniorSchedulerTasks } from "./executor-D8y7v95s.js";
10
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-BQ3g3OX_.js";
11
+ import { C as eventAutomationRunLimitReason, F as slackMention, G as slackExternalRefIdSchema, S as admitEventAutomationRun, W as slackEntitySchema, Wt as appendConversationMessages, Xt as settleConversationTitleWork, a as readScheduledAutomation, c as scheduledRunId, d as collectEventAutomationMatchKeys, h as findMatchingEventAutomations, l as withScheduledAutomationLock, n as listScheduledAutomations, qt as projectConversationMessages, r as listScheduledAutomationsForTeam, s as saveScheduledAutomationInLock, u as blockEventAutomation } from "./tasks-B8nH3ND_.js";
12
+ import { $ as verifyEventAutomationCredentialSubject, Jt as runWithWorkspaceTeamId, Mt as listConversationAnnotations, Q as bindSlackDirectCredentialSubject, U as collectEventMatchKeys, Ut as isDmChannel, Vt as getSlackClient, X as bindEventAutomationCredentialSubject, Y as takeDueTimerWatches, Z as bindScheduledAutomationCredentialSubject, a as getPluginRoutes, ct as createPluginState, d as setPlugins, dt as createPluginLogger, et as verifyScheduledAutomationCredentialSubject, f as validatePlugins, ft as readConversationAccessFromSql, h as setBriefsConfig, i as getPluginApiRoutes, it as getDashboardConversationLink, kt as resolveRootVisibility, ot as getDashboardTaskLink, q as findMatchingWatches, qt as getWorkspaceTeamId, st as setDashboardConversationLinkOptions, tt as verifySlackDirectCredentialSubject, u as getPlugins } from "./agent-hooks-CtZuJPTU.js";
13
+ import { W as annotationCard } from "./conversation-NutPJ8S8.js";
14
+ import { O as withLock$1, w as getStateAdapter } from "./profile-DK9umvav.js";
15
+ import { c as getThreadStopDecision } from "./pending-auth-Bg3A1-pE.js";
16
+ import { O as renderTaskInput, f as slackChannelMessageEvent, l as getEventCatalog, p as slackChannelMessageReplyThreadTs, u as SLACK_EVENT_NAMESPACE, y as eventGuidance } from "./session-stop-DteRDRCi.js";
17
17
  import { n as getNextRunAtMs } from "./cadence-D00SCzT1.js";
18
- import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-LMCZhQVg.js";
19
- import { a as getVercelConversationWorkQueue, 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-DyA2AEnY.js";
20
- import { A as hasRunnableConversationWork$1, M as isInvalidConversationRecordError, O as CONVERSATION_WORK_STALE_ENQUEUE_MS, S as removeActiveConversation, _ as hasRunnableConversationWork, c as clearExpiredConversationLease, g as getConversationWorkState, h as getConversation, m as ensureConversationWake, r as appendAndEnqueueInboundMessage, v as listActiveConversationIds } from "./store-OMQAFrJG.js";
18
+ import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-C9btOXju.js";
19
+ import { a as getVercelConversationWorkQueue, 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-uGq6Grnt.js";
20
+ import { A as hasRunnableConversationWork$1, M as isInvalidConversationRecordError, O as CONVERSATION_WORK_STALE_ENQUEUE_MS, S as removeActiveConversation, _ as hasRunnableConversationWork, c as clearExpiredConversationLease, g as getConversationWorkState, h as getConversation, m as ensureConversationWake, r as appendAndEnqueueInboundMessage, v as listActiveConversationIds } from "./store-Dw3eBN9S.js";
21
21
  import { D as scheduledRunSchema } from "./automation-gznOMaQ2.js";
22
22
  import { i as setExperimentalFeatures, n as getExperimentalFeatures, r as isExperimentalFeatureEnabled } from "./experimental-Qn9rKLgx.js";
23
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-Dmfh2cTj.js";
23
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-CBkyzKCP.js";
24
24
  import { a as pluginRuntimeRegistrationsFromPluginSet, n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "./plugins-egKWjgue.js";
25
- import { A as withNormalizedThreadId, C as buildSlackInboundMessage, D as isSlackMessageStopped, E as verifySlackSignature, F as renderSlackObjectCard, I as createVercelAttachmentStorage, M as THREAD_OPTOUT_ACK, N as startProcessingReaction, O as stopSlackThread, P as parseContent, R as enqueueAgentDispatch, S as recordSkippedConversationMessage, T as runWithSlackInstallation, a as recordWebConversationActivity, c as createProductionSlackWebhookServices, f as createSlackWebApiStatusSender, j as stopConversationTurn, k as normalizeIncomingSlackThreadId, l as getProductionSlackAdapter, n as conversationTurnIdForMessage, o as webActorFromEmail, s as createProductionConversationWorkOptions, t as appendAndEnqueueWebMessage, v as readViewerAutomationSummary, w as clearSlackPendingReactions, z as GET$3 } from "./web-input-Bn9HHZEo.js";
26
- import { _ as markDispatchFailed, a as confirmDispatchMailboxAppend, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, k as recordAutomationExecution, l as getDispatchRecord, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId, t as processPluginTask, y as notifyAutomationBlocked } from "./task-runner-BOxv7shv.js";
27
- import { o as getAuthPausedConversationTurnId, t as enqueueAgentInvocationResult } from "./result-C1ZCRPLx.js";
28
- import { r as enqueueAgentInvocation } from "./work-CvFoEpRT.js";
29
- import { s as coerceThreadConversationState } from "./thread-state-BoNCtSwk.js";
30
- import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-DqZF735a.js";
31
- import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-SWsXPSp-.js";
32
- import { t as processConversationWork } from "./worker-CI5B63vk.js";
33
- import { t as bindMessageAgent } from "./message-EyMrVXEf.js";
34
- import { t as bindSpawnAgent } from "./spawn-CpqxMPWE.js";
25
+ import { A as withNormalizedThreadId, C as buildSlackInboundMessage, D as isSlackMessageStopped, E as verifySlackSignature, F as renderSlackObjectCard, I as createVercelAttachmentStorage, M as THREAD_OPTOUT_ACK, N as startProcessingReaction, O as stopSlackThread, P as parseContent, R as enqueueAgentDispatch, S as recordSkippedConversationMessage, T as runWithSlackInstallation, a as recordWebConversationActivity, c as createProductionSlackWebhookServices, f as createSlackWebApiStatusSender, j as stopConversationTurn, k as normalizeIncomingSlackThreadId, l as getProductionSlackAdapter, n as conversationTurnIdForMessage, o as webActorFromEmail, s as createProductionConversationWorkOptions, t as appendAndEnqueueWebMessage, v as readViewerAutomationSummary, w as clearSlackPendingReactions, z as GET$3 } from "./web-input-BjdnnpuN.js";
26
+ import { _ as markDispatchFailed, a as confirmDispatchMailboxAppend, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, k as recordAutomationExecution, l as getDispatchRecord, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId, t as processPluginTask, y as notifyAutomationBlocked } from "./task-runner-BbSyWmOq.js";
27
+ import { o as getAuthPausedConversationTurnId, t as enqueueAgentInvocationResult } from "./result-CcdQ2iau.js";
28
+ import { r as enqueueAgentInvocation } from "./work-qQEjtmlv.js";
29
+ import { s as coerceThreadConversationState } from "./thread-state-BTOLzCM-.js";
30
+ import { o as unlinkProvider } from "./connections-DZ70JeSN.js";
31
+ import { a as GET$4, i as publishAppHomeView, r as GET$5, t as receiveLocalOAuthCredential } from "./credential-sync-CyAN-Gos.js";
32
+ import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-C7cyjcVj.js";
33
+ import { t as processConversationWork } from "./worker-C-CSZMy_.js";
34
+ import { t as bindMessageAgent } from "./message-D0RPetp-.js";
35
+ import { t as bindSpawnAgent } from "./spawn-CA0YYtzr.js";
35
36
  import { createRequire } from "node:module";
36
37
  import { Hono } from "hono";
37
38
  import { z } from "zod";
@@ -2190,19 +2191,6 @@ function slackMessageAttributes(body) {
2190
2191
  };
2191
2192
  }
2192
2193
  //#endregion
2193
- //#region src/chat/credentials/unlink-provider.ts
2194
- /** Remove one provider connection and its exact stored account identity. */
2195
- async function unlinkProvider(userId, provider, userTokenStore, slackTeamId) {
2196
- const tokens = await userTokenStore.get(userId, provider);
2197
- if (tokens?.account && slackTeamId) await deleteProviderIdentityForSlackUser(getSqlExecutor(), slackTeamId, userId, provider, tokens.account.id);
2198
- await Promise.all([
2199
- userTokenStore.delete(userId, provider),
2200
- deleteMcpStoredOAuthCredentials(userId, provider),
2201
- deleteMcpServerSessionId(userId, provider),
2202
- deleteMcpAuthSessionsForUserProvider(userId, provider)
2203
- ]);
2204
- }
2205
- //#endregion
2206
2194
  //#region src/chat/ingress/slash-command.ts
2207
2195
  async function postEphemeral(event, text) {
2208
2196
  await event.channel.postEphemeral(event.userId, text, { fallbackToDM: false });
@@ -3124,11 +3112,12 @@ async function publicArtifactGET(args) {
3124
3112
  //#endregion
3125
3113
  //#region src/chat/events/workspace.ts
3126
3114
  /**
3127
- * Resolve the single-bot Slack team id for event-automation indexing.
3115
+ * Resolve the single-bot Slack team id for event-automation indexing and
3116
+ * Event people mentions.
3128
3117
  *
3129
- * Watches do not use this. Event automations still key by destination team
3130
- * until that store is conversation-owned. Event delivery itself is
3131
- * not gated on Slack.
3118
+ * Watch matching does not use this. Event automations still key by
3119
+ * destination team until that store is conversation-owned. Event delivery
3120
+ * itself is not gated on Slack.
3132
3121
  */
3133
3122
  function createEventTeamIdResolver() {
3134
3123
  let pending;
@@ -3185,6 +3174,7 @@ function createEventAppPublisher(args) {
3185
3174
  const eventAutomationTeamId = await resolveEventAutomationTeamId();
3186
3175
  await Promise.all([ingestEvent(event, {
3187
3176
  queue,
3177
+ slackTeamId: eventAutomationTeamId,
3188
3178
  state: work.state
3189
3179
  }), eventAutomationTeamId ? ingestEventAutomations(event, {
3190
3180
  queue,
@@ -5050,6 +5040,8 @@ function dashboardHostRoutePaths(dashboard, authenticatedRoutes = []) {
5050
5040
  "/api/skills",
5051
5041
  "/api/code",
5052
5042
  "/api/code/*",
5043
+ "/api/connections",
5044
+ "/api/connections/*",
5053
5045
  "/api/stats",
5054
5046
  "/api/conversations",
5055
5047
  "/api/conversations/*",
@@ -1,4 +1,4 @@
1
- import { lt as extractAssistantText } from "./tasks-DREdnhVP.js";
1
+ import { lt as extractAssistantText } from "./tasks-B8nH3ND_.js";
2
2
  //#region src/chat/no-reply.ts
3
3
  const NO_REPLY_MARKER = "[[NO_REPLY]]";
4
4
  /**
@@ -1,7 +1,7 @@
1
- import { r as completeObject } from "./client-CWQtbizj.js";
1
+ import { r as completeObject } from "./client-Q27hki0Y.js";
2
2
  import { r as defaultModelId } from "./model-profile-BwU8mqwD.js";
3
- import { U as parseBriefInput, d as conversationDetailReportSchema, p as conversationEventPageSchema, z as briefCodeChangeSchema } from "./conversation-Cjo9tHGm.js";
4
- import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-C7bRJ2vg.js";
3
+ import { U as parseBriefInput, d as conversationDetailReportSchema, p as conversationEventPageSchema, z as briefCodeChangeSchema } from "./conversation-NutPJ8S8.js";
4
+ import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-kYP1FAX_.js";
5
5
  import { CLI_USAGE } from "./cli/run.js";
6
6
  import path from "node:path";
7
7
  import { z } from "zod";
@@ -269,7 +269,7 @@ async function parseRunOptions(argv) {
269
269
  * `DATABASE_URL` at import, and `briefs pull` must work with only a token.
270
270
  */
271
271
  async function configuredDefaultModelId() {
272
- const { botConfig } = await import("./config-aitDvTQm.js").then((n) => n.r);
272
+ const { botConfig } = await import("./config-Cb--Qs-g.js").then((n) => n.r);
273
273
  return defaultModelId(botConfig);
274
274
  }
275
275
  function apiUrl(baseUrl, pathname) {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { t as createPluginCatalogRuntime } from "./registry-fpIZHoqE.js";
2
+ import { t as createPluginCatalogRuntime } from "./registry-BvsLuoLK.js";
3
3
  //#region src/chat/plugins/catalog-runtime.ts
4
4
  var catalog_runtime_exports = /* @__PURE__ */ __exportAll({ pluginCatalogRuntime: () => pluginCatalogRuntime });
5
5
  const pluginCatalogRuntime = createPluginCatalogRuntime();
package/dist/cli/chat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as executeAgentRun, t as createAgentRunner } from "../agent-runner-CnlFtbzb.js";
1
+ import { n as executeAgentRun, t as createAgentRunner } from "../agent-runner-CNiTpIpb.js";
2
2
  import { t as loadAppPluginSet } from "../plugin-module-CVvEUSMH.js";
3
3
  import path from "node:path";
4
4
  import { createHash, randomUUID } from "node:crypto";
@@ -100,10 +100,10 @@ async function loadLocalPluginSet() {
100
100
  async function configureLocalChatPlugins(pluginSet) {
101
101
  const [pluginsModule, agentHooksModule, catalogRuntimeModule, validationModule, databaseModule] = await Promise.all([
102
102
  import("../plugins-egKWjgue.js").then((n) => n.o),
103
- import("../agent-hooks-DWCHBPYw.js").then((n) => n.t),
104
- import("../catalog-runtime-CTBsdSam.js").then((n) => n.t),
105
- import("../validation-Dmfh2cTj.js").then((n) => n.r),
106
- import("../viewer-CX41TWYr.js").then((n) => n.s)
103
+ import("../agent-hooks-CtZuJPTU.js").then((n) => n.t),
104
+ import("../catalog-runtime-BQ3g3OX_.js").then((n) => n.t),
105
+ import("../validation-CBkyzKCP.js").then((n) => n.r),
106
+ import("../viewer-DdzigZQh.js").then((n) => n.s)
107
107
  ]);
108
108
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
109
109
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -155,19 +155,19 @@ async function prepareLocalChatRun(io, pluginSet) {
155
155
  await configureLocalChatPlugins(pluginSet);
156
156
  const { setExperimentalFeatures } = await import("../experimental-Qn9rKLgx.js").then((n) => n.t);
157
157
  setExperimentalFeatures({ subagents: true });
158
- const { setBriefsConfig } = await import("../agent-hooks-DWCHBPYw.js").then((n) => n.m);
158
+ const { setBriefsConfig } = await import("../agent-hooks-CtZuJPTU.js").then((n) => n.m);
159
159
  setBriefsConfig({ enabled: true });
160
- const { runLocalAgentTurn } = await import("../runner-DNZMviFH.js");
161
- const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-ClDv9Z5Y.js");
160
+ const { runLocalAgentTurn } = await import("../runner-Bem4DUHN.js");
161
+ const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-DF_Odkvh.js");
162
162
  const { createLocalOAuthState } = await import("../oauth-relay-CdCnu80W.js").then((n) => n.t);
163
- const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-Dcc-mwkl.js");
164
- const { bindSpawnAgent } = await import("../spawn-CpqxMPWE.js").then((n) => n.n);
165
- const { bindMessageAgent } = await import("../message-EyMrVXEf.js").then((n) => n.n);
166
- const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-CvFoEpRT.js").then((n) => n.a);
167
- const { startAgentInvocationsForChildInput } = await import("../result-C1ZCRPLx.js").then((n) => n.r);
168
- const { skipInputBeforeConversationStop } = await import("../session-stop-dyvsZDB0.js").then((n) => n.r);
163
+ const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-Bl-4cF7E.js");
164
+ const { bindSpawnAgent } = await import("../spawn-CA0YYtzr.js").then((n) => n.n);
165
+ const { bindMessageAgent } = await import("../message-D0RPetp-.js").then((n) => n.n);
166
+ const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-qQEjtmlv.js").then((n) => n.a);
167
+ const { startAgentInvocationsForChildInput } = await import("../result-CcdQ2iau.js").then((n) => n.r);
168
+ const { skipInputBeforeConversationStop } = await import("../session-stop-DteRDRCi.js").then((n) => n.r);
169
169
  const { createLocalConversationWork } = await import("../conversation-work-C6y3T5Hx.js");
170
- const { processConversationWork } = await import("../worker-CI5B63vk.js").then((n) => n.n);
170
+ const { processConversationWork } = await import("../worker-C-CSZMy_.js").then((n) => n.n);
171
171
  let agentRunner;
172
172
  const localConversationWork = createLocalConversationWork(async (message) => {
173
173
  if (!agentRunner) throw new Error("Local agent runner is not ready");
package/dist/cli/check.js CHANGED
@@ -1,6 +1,6 @@
1
- import { D as JUNIOR_HEARTBEAT_ROUTE, M as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, T as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-OpC2jwiV.js";
2
- import { _ as parsePluginManifest, g as parseInlinePluginManifest } from "../registry-fpIZHoqE.js";
3
- import { i as parseSkillFile } from "../skills-BgGiQt5Y.js";
1
+ import { D as JUNIOR_HEARTBEAT_ROUTE, M as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, T as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-C22RdmU8.js";
2
+ import { _ as parsePluginManifest, g as parseInlinePluginManifest } from "../registry-BvsLuoLK.js";
3
+ import { i as parseSkillFile } from "../skills-CVwSL6Gc.js";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs/promises";
6
6
  import { pathToFileURL } from "node:url";
package/dist/cli/main.js CHANGED
@@ -25,10 +25,10 @@ async function runChat(argv, pluginSet) {
25
25
  return await (await import("./chat.js")).runChat(argv, void 0, { pluginSet });
26
26
  }
27
27
  async function runAdmin(argv) {
28
- return await (await import("../admin-BlHz8fGl.js")).runAdmin(argv);
28
+ return await (await import("../admin-DMKyXi83.js")).runAdmin(argv);
29
29
  }
30
30
  async function runBriefs(argv) {
31
- return await (await import("../briefs-CdkIl79U.js")).runBriefs(argv);
31
+ return await (await import("../briefs-8xyS3oeV.js")).runBriefs(argv);
32
32
  }
33
33
  function topLevelCommand(argv) {
34
34
  return (argv[0] === "--" ? argv.slice(1) : argv)[0];
@@ -1,7 +1,7 @@
1
- import { d as getDb } from "../viewer-CX41TWYr.js";
2
- import { n as pluginCatalogRuntime } from "../catalog-runtime-CTBsdSam.js";
3
- import { d as setPlugins, dt as createPluginLogger, f as validatePlugins } from "../agent-hooks-DWCHBPYw.js";
4
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-Dmfh2cTj.js";
1
+ import { d as getDb } from "../viewer-DdzigZQh.js";
2
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-BQ3g3OX_.js";
3
+ import { d as setPlugins, dt as createPluginLogger, f as validatePlugins } from "../agent-hooks-CtZuJPTU.js";
4
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-CBkyzKCP.js";
5
5
  import { a as pluginRuntimeRegistrationsFromPluginSet, i as pluginCliRegistrationsFromPluginSet, r as pluginCatalogConfigFromPluginSet } from "../plugins-egKWjgue.js";
6
6
  import { t as loadAppPluginSet } from "../plugin-module-CVvEUSMH.js";
7
7
  import { stderr, stdout } from "node:process";
@@ -1,6 +1,6 @@
1
- import { n as pluginCatalogRuntime } from "../catalog-runtime-CTBsdSam.js";
2
- import { S as disconnectStateAdapter, t as create } from "../profile-Dfg76pvk.js";
3
- import { r as resolve } from "../resolve-LMCZhQVg.js";
1
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-BQ3g3OX_.js";
2
+ import { S as disconnectStateAdapter, t as create } from "../profile-DK9umvav.js";
3
+ import { r as resolve } from "../resolve-C9btOXju.js";
4
4
  //#region src/cli/snapshot-create.ts
5
5
  const DEFAULT_RUNTIME = "node22";
6
6
  const DEFAULT_TIMEOUT_MS = 6e5;
@@ -1,6 +1,6 @@
1
- import { i as getChatConfig } from "../config-aitDvTQm.js";
2
- import { t as createJuniorSqlExecutor } from "../executor-oIZAkQZb.js";
3
- import { t as createPluginCatalogRuntime } from "../registry-fpIZHoqE.js";
1
+ import { i as getChatConfig } from "../config-Cb--Qs-g.js";
2
+ import { t as createJuniorSqlExecutor } from "../executor-D8y7v95s.js";
3
+ import { t as createPluginCatalogRuntime } from "../registry-BvsLuoLK.js";
4
4
  import { n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "../plugins-egKWjgue.js";
5
5
  import { t as loadAppPluginSet } from "../plugin-module-CVvEUSMH.js";
6
6
  import { basename, dirname, join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
- import { d as logException, g as serializeGenAiAttribute, i as extractGenAiUsageAttributes, m as normalizeGenAiFinishReason, p as logWarn, w as withSpan } from "./logging-OpC2jwiV.js";
2
- import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-BsqXHVBz.js";
1
+ import { d as logException, g as serializeGenAiAttribute, i as extractGenAiUsageAttributes, m as normalizeGenAiFinishReason, p as logWarn, w as withSpan } from "./logging-C22RdmU8.js";
2
+ import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-BIDN1sW3.js";
3
3
  import { calculateCost, completeSimple, getEnvApiKey, getModels, registerApiProvider } from "@earendil-works/pi-ai/compat";
4
4
  import { stream as streamAnthropic, streamSimple as streamSimpleAnthropic } from "@earendil-works/pi-ai/api/anthropic-messages";
5
5
  import { createGatewayProvider } from "@ai-sdk/gateway";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { S as toOptionalTrimmed, o as resolveGatewayModel } from "./client-CWQtbizj.js";
3
- import { p as logWarn } from "./logging-OpC2jwiV.js";
2
+ import { S as toOptionalTrimmed, o as resolveGatewayModel } from "./client-Q27hki0Y.js";
3
+ import { p as logWarn } from "./logging-C22RdmU8.js";
4
4
  import { l as TURN_REASONING_LEVELS, s as modelProfileSchema, t as DEFAULT_MODEL_PROFILES, u as parseTurnReasoningLevel } from "./model-profile-BwU8mqwD.js";
5
5
  //#region src/chat/slack/emoji.ts
6
6
  const SLACK_EMOJI_NAME_RE = /^(?:[a-z0-9_+-]+)(?:::(?:skin-tone-[2-6]))?$/;