@sentry/junior 0.224.0 → 0.225.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 (53) hide show
  1. package/dist/{agent-hooks-DNLBwmsh.js → agent-hooks-CRuRcOg9.js} +9 -9
  2. package/dist/{agent-runner-9g6TQk9y.js → agent-runner-Cad1RtWn.js} +237 -140
  3. package/dist/api/schema.js +2 -2
  4. package/dist/api.js +16 -16
  5. package/dist/app.js +78 -59
  6. package/dist/{briefs-CjXnGKzZ.js → briefs-BtnkPWT5.js} +5 -5
  7. package/dist/{catalog-runtime-CVZ9TEuK.js → catalog-runtime-pv4grNNb.js} +1 -1
  8. package/dist/{checkpoint-Ceck_fLO.js → checkpoint-6fkAdB3g.js} +7 -7
  9. package/dist/cli/chat.js +13 -13
  10. package/dist/cli/check.js +3 -3
  11. package/dist/cli/main.js +1 -1
  12. package/dist/cli/plugins.js +3 -3
  13. package/dist/cli/snapshot-create.js +3 -3
  14. package/dist/cli/upgrade.js +3 -3
  15. package/dist/{client-B27ufhzl.js → client-ihmkx60d.js} +2 -2
  16. package/dist/{config-BAhl7-RC.js → config-DMg679BW.js} +11 -13
  17. package/dist/{conversation-1HUoZr2l.js → conversation-Bygi39Xj.js} +1 -1
  18. package/dist/{conversation-privacy-C-4JQzKD.js → conversation-privacy-ZYy05Y3q.js} +1 -1
  19. package/dist/{credential-sync-BXHIxbtS.js → credential-sync-DCB2SwnQ.js} +14 -14
  20. package/dist/{execution-stats-DikPOxJ1.js → execution-stats-CR9CYpyj.js} +3 -3
  21. package/dist/{executor-BG2Armby.js → executor-B9R4cHte.js} +1 -1
  22. package/dist/instrumentation.js +2 -2
  23. package/dist/{job-queue-D4oAVrL9.js → job-queue-D2SiTrnt.js} +1 -1
  24. package/dist/{logging-iY0ssa2q.js → logging-CcTvYQ8A.js} +2 -2
  25. package/dist/{model-profile-CZmVoGdX.js → model-profile-BwU8mqwD.js} +14 -1
  26. package/dist/nitro.js +3 -3
  27. package/dist/{oauth-authorization-BIijVS2N.js → oauth-authorization-BS4vPJmu.js} +1 -1
  28. package/dist/{oauth-callback-server-DPkK3kzi.js → oauth-callback-server-DnlQsGBJ.js} +2 -2
  29. package/dist/{profile-6KWhg_-U.js → profile-CV97YuiL.js} +4 -4
  30. package/dist/{prompt-90miy8VV.js → prompt-CL8zxsmm.js} +1 -1
  31. package/dist/{registry-Ctgdjt-W.js → registry-C8I4IejN.js} +3 -3
  32. package/dist/{resolve-CB45ZukQ.js → resolve-DXVAzYa3.js} +2 -2
  33. package/dist/{runner-BwKCqoF3.js → runner-Die1RJ_z.js} +9 -9
  34. package/dist/{sandbox-egress-signals-Cmy8ODat.js → sandbox-egress-signals-BZepyVh1.js} +1 -1
  35. package/dist/{schema-RpbW5Od2.js → schema-BE4uso4i.js} +1 -1
  36. package/dist/{short-title-xEkZwkcV.js → short-title-3wYH3ipl.js} +11 -5
  37. package/dist/{skills-c2bMDVRS.js → skills-DUcDEgDI.js} +2 -2
  38. package/dist/{spawn-Cg6lyjE7.js → spawn-o15i3tJu.js} +2 -2
  39. package/dist/{stats-DP9zl3Jg.js → stats-DawHjcTw.js} +6 -6
  40. package/dist/{task-queue-SL4uLfBB.js → task-queue-D3PLY59C.js} +3 -3
  41. package/dist/{task-runner-fntmnqzx.js → task-runner-BMl2aM2v.js} +8 -8
  42. package/dist/{thread-state-Wfr0GdKS.js → thread-state-CAR6gdAm.js} +5 -5
  43. package/dist/{turn-failure-response-DLjSEm-R.js → turn-failure-response-CZyoUMkD.js} +9 -9
  44. package/dist/{turn-lifecycle-5_jvLqRz.js → turn-lifecycle-DPDHKi2U.js} +1 -1
  45. package/dist/{turn-session-routing-CQaysLoe.js → turn-session-routing-Jkmmxpp-.js} +1 -1
  46. package/dist/{validation-CnZkCN7o.js → validation-BcGGxOa6.js} +1 -1
  47. package/dist/{version-C6lA-h_o.js → version-DYcuOFQb.js} +1 -1
  48. package/dist/version.js +1 -1
  49. package/dist/{web-authorization-Bbx999_q.js → web-authorization-B09B8A8R.js} +1 -1
  50. package/dist/{web-input-BoE1xE-K.js → web-input-CGE58TpK.js} +7 -7
  51. package/dist/{work-4Nhz9mVv.js → work-Bm90pR9P.js} +8 -8
  52. package/dist/{worker-CdWPsNL2.js → worker-BvHr6JhE.js} +5 -5
  53. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import { C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, H as conversationTurnFailureCodeSchema, M as messageCardText, O as createConversationMessageBodySchema, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, U as conversationTurnFailureReasonSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, l as conversationAuxiliaryCostsSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, s as conversationActivityPreviewSchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, v as conversationPendingAuthorizationSchema, x as conversationPendingMessagesReportSchema, y as conversationPendingMessageDeliverySchema } from "../conversation-1HUoZr2l.js";
1
+ import { C as conversationReportEventSchema, D as createConversationBodySchema, E as conversationSummaryReportSchema, H as conversationTurnFailureCodeSchema, M as messageCardText, O as createConversationMessageBodySchema, S as conversationReportEventDataSchema, T as conversationStatsReportSchema, U as conversationTurnFailureReasonSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, b as conversationPendingMessageSchema, d as conversationDetailReportSchema, f as conversationEventHistorySchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, l as conversationAuxiliaryCostsSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, s as conversationActivityPreviewSchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, v as conversationPendingAuthorizationSchema, x as conversationPendingMessagesReportSchema, y as conversationPendingMessageDeliverySchema } from "../conversation-Bygi39Xj.js";
2
2
  import { S as skillReportsSchema, _ as pluginPackageContentReportSchema, b as runtimeInfoReportSchema, g as pluginPackageContentItemReportSchema, h as pluginOperationalReportSchema, m as pluginOperationalReportFeedSchema, p as healthReportSchema, v as pluginSchema, x as skillReportSchema, y as pluginsSchema } from "../reporting-window-DbUqng0P.js";
3
- import { A as actorProfileReportSchema, B as dailyConversationActivitySchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, E as personalTokenMetadataSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, H as codeChangeSummaryReportSchema, I as locationParamsSchema, K as codeRepositorySummarySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, S as scheduledAutomationSummarySchema, T as personalTokenListSchema, U as codeChangeSummarySchema, V as codeActivityDaySchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, b as automationSummarySchema, c as workspaceRepoSchema, d as automationExecutionSchema, f as automationExecutionStatusDaySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, p as automationExecutionStatusSchema, q as apiErrorSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as automationExecutionListSchema, v as automationRunSchema, w as createdPersonalTokenSchema, x as eventAutomationSummarySchema, y as automationRunWindowsSchema } from "../schema-RpbW5Od2.js";
3
+ import { A as actorProfileReportSchema, B as dailyConversationActivitySchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, E as personalTokenMetadataSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, H as codeChangeSummaryReportSchema, I as locationParamsSchema, K as codeRepositorySummarySchema, M as personalSpendReportSchema, N as locationActivityDayReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, S as scheduledAutomationSummarySchema, T as personalTokenListSchema, U as codeChangeSummarySchema, V as codeActivityDaySchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, b as automationSummarySchema, c as workspaceRepoSchema, d as automationExecutionSchema, f as automationExecutionStatusDaySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, p as automationExecutionStatusSchema, q as apiErrorSchema, r as baselineSnapshotSchema, s as workspaceParamsSchema, t as statSchema, u as automationExecutionListSchema, v as automationRunSchema, w as createdPersonalTokenSchema, x as eventAutomationSummarySchema, y as automationRunWindowsSchema } from "../schema-BE4uso4i.js";
4
4
  export { acceptedConversationMessageSchema, actorDirectoryReportSchema, actorProfileReportSchema, apiErrorSchema, archiveConversationBodySchema, archiveConversationResponseSchema, automationExecutionListSchema, automationExecutionSchema, automationExecutionStatusDaySchema, automationExecutionStatusSchema, automationListQuerySchema, automationListSchema, automationParamsSchema, automationRunListSchema, automationRunSchema, automationRunWindowsSchema, automationSummarySchema, baselineSnapshotSchema, cancelConversationPendingMessagesBodySchema, cancelConversationPendingMessagesResponseSchema, codeActivityDaySchema, codeChangeSummaryReportSchema, codeChangeSummarySchema, codeOverviewReportSchema, codePersonReportSchema, codeRepositorySummarySchema, conversationActivityPreviewSchema, conversationAuxiliaryCostsSchema, conversationDetailQuerySchema, conversationDetailReportSchema, conversationEventHistorySchema, conversationEventPageSchema, conversationEventsQuerySchema, conversationFeedQuerySchema, conversationFeedSchema, conversationParamsSchema, conversationPendingAuthorizationSchema, conversationPendingMessageDeliverySchema, conversationPendingMessageSchema, conversationPendingMessagesReportSchema, conversationReportEventDataSchema, conversationReportEventSchema, conversationStatsReportSchema, conversationSummaryReportSchema, conversationTurnFailureCodeSchema, conversationTurnFailureReasonSchema, createConversationBodySchema, createConversationMessageBodySchema, createPersonalTokenBodySchema, createdPersonalTokenSchema, dailyConversationActivitySchema, deleteWorkspaceResponseSchema, eventAutomationSummarySchema, healthReportSchema, locationActivityDayReportSchema, locationDetailReportSchema, locationDirectoryReportSchema, locationParamsSchema, messageCardText, personParamsSchema, personalSpendReportSchema, personalTokenListSchema, personalTokenMetadataSchema, personalTokenParamsSchema, pluginOperationalReportFeedSchema, pluginOperationalReportSchema, pluginPackageContentItemReportSchema, pluginPackageContentReportSchema, pluginSchema, pluginsSchema, revokePersonalTokenResponseSchema, runtimeInfoReportSchema, scheduledAutomationSummarySchema, skillReportSchema, skillReportsSchema, statSchema, statsReportSchema, workspaceBodySchema, workspaceListSchema, workspaceParamsSchema, workspaceRepoSchema, workspaceSchema };
package/dist/api.js CHANGED
@@ -1,18 +1,18 @@
1
- import { f as logWarn, u as logException } from "./logging-iY0ssa2q.js";
1
+ import { d as logException, p as logWarn } from "./logging-CcTvYQ8A.js";
2
2
  import { _ as parseSlackMessageTs, h as parseSlackTeamId, p as parseSlackChannelId } from "./context-Bplcgypl.js";
3
- import { $ as resolveViewerUser, $t as locationFromRow, Ct as conversationArchivedForEmail, D as SANDBOX_RUNTIME, Dt as conversationNotArchivedForEmail, Et as conversationHasParticipantUser, J as withSlackRetries, Jt as getSqlExecutor, Kt as getConversationStore, Lt as listConversationAnnotations, Mt as readConversationEventPage, Nt as buildSentryConversationUrl, Ot as conversationNotArchivedForUser, Rt as listConversationAnnotationsById, S as WorkspaceValidationError, St as conversationArchiveTimes, Tt as conversationHasParticipantEmail, U as getSlackClient, Z as findUserByEmail, _ as deleteWorkspace, an as agentTurnUsageSchema, b as listWorkspaces, bt as createPluginLogger, et as updateViewerDisplayName, g as createWorkspace, j as workspaceRepoCheckoutPath, jt as readLatestConversationBrief, kt as viewerConversationMembership, on as hasAgentTurnUsage, qt as getDb, sn as resolveRootConversationId, tn as parseSessionSource, u as getPlugins, v as getWorkspace, wt as conversationArchivedForUser, x as updateWorkspace, xt as readConversationAccessFromSql } from "./agent-hooks-DNLBwmsh.js";
3
+ import { $ as resolveViewerUser, $t as locationFromRow, Ct as conversationArchivedForEmail, D as SANDBOX_RUNTIME, Dt as conversationNotArchivedForEmail, Et as conversationHasParticipantUser, J as withSlackRetries, Jt as getSqlExecutor, Kt as getConversationStore, Lt as listConversationAnnotations, Mt as readConversationEventPage, Nt as buildSentryConversationUrl, Ot as conversationNotArchivedForUser, Rt as listConversationAnnotationsById, S as WorkspaceValidationError, St as conversationArchiveTimes, Tt as conversationHasParticipantEmail, U as getSlackClient, Z as findUserByEmail, _ as deleteWorkspace, an as agentTurnUsageSchema, b as listWorkspaces, bt as createPluginLogger, et as updateViewerDisplayName, g as createWorkspace, j as workspaceRepoCheckoutPath, jt as readLatestConversationBrief, kt as viewerConversationMembership, on as hasAgentTurnUsage, qt as getDb, sn as resolveRootConversationId, tn as parseSessionSource, u as getPlugins, v as getWorkspace, wt as conversationArchivedForUser, x as updateWorkspace, xt as readConversationAccessFromSql } from "./agent-hooks-CRuRcOg9.js";
4
4
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
5
- import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, b as juniorApiTokens, g as juniorConversationBriefs, m as juniorConversationParticipants, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor-BG2Armby.js";
6
- import { D as createConversationBodySchema, O as createConversationMessageBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-1HUoZr2l.js";
7
- import { n as hash, t as create } from "./profile-6KWhg_-U.js";
8
- import { Tt as getConversation, c as parseSlackThreadId, ht as cancelHumanFacingPendingMessages, i as readLiveAttachment, n as readStats } from "./stats-DP9zl3Jg.js";
9
- import { t as getCachedSnapshot } from "./resolve-CB45ZukQ.js";
5
+ import { C as juniorCodeRepositories, D as juniorIdentities, E as juniorConversations, O as juniorUsers, S as juniorCodeChanges, T as conversationReadColumns, b as juniorApiTokens, g as juniorConversationBriefs, m as juniorConversationParticipants, v as juniorConversationMetrics, y as juniorConversationEvents } from "./executor-B9R4cHte.js";
6
+ import { D as createConversationBodySchema, O as createConversationMessageBodySchema, T as conversationStatsReportSchema, _ as conversationParamsSchema, a as cancelConversationPendingMessagesBodySchema, c as conversationAttachmentParamsSchema, d as conversationDetailReportSchema, g as conversationFeedSchema, h as conversationFeedQuerySchema, i as archiveConversationResponseSchema, m as conversationEventsQuerySchema, o as cancelConversationPendingMessagesResponseSchema, p as conversationEventPageSchema, r as archiveConversationBodySchema, t as acceptedConversationMessageSchema, u as conversationDetailQuerySchema, x as conversationPendingMessagesReportSchema } from "./conversation-Bygi39Xj.js";
7
+ import { n as hash, t as create } from "./profile-CV97YuiL.js";
8
+ import { Tt as getConversation, c as parseSlackThreadId, ht as cancelHumanFacingPendingMessages, i as readLiveAttachment, n as readStats } from "./stats-DawHjcTw.js";
9
+ import { t as getCachedSnapshot } from "./resolve-DXVAzYa3.js";
10
10
  import { t as getVercelConversationWorkQueue } from "./vercel-queue-DIkVcfK4.js";
11
11
  import { S as skillReportsSchema, a as fillUtcSixHours, b as runtimeInfoReportSchema, c as trailingUtcDayWindow, d as utcDayKey, f as utcHourKey, i as fillUtcHours, l as trailingUtcHourWindow, m as pluginOperationalReportFeedSchema, n as HOUR_MS$1, o as startOfUtcHour, p as healthReportSchema, r as fillUtcDays, s as sumUtcHoursIntoSixHours, t as DAY_MS$1, u as trailingUtcSixHourWindow, y as pluginsSchema } from "./reporting-window-DbUqng0P.js";
12
- import { C as readHealthReport, a as webActorFromEmail, b as legacyWebMailboxMetadataSchema, c as formatSlackConversationRedactedLabel, d as resolveSlackConversationContextFromThreadId, f as ViewerTaskNotFoundError, g as readViewerAutomationRuns, h as readViewerAutomationExecutions, m as readConversationSourceTask, p as deleteViewerTask, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, v as readViewerAutomations, x as createVercelAttachmentStorage, y as lookupSlackUser } from "./web-input-BoE1xE-K.js";
13
- import { d as conversationActiveDaysColumn, f as conversationAggregateColumns, p as conversationRangeColumns } from "./execution-stats-DikPOxJ1.js";
14
- import { r as getWebAuthorization } from "./web-authorization-Bbx999_q.js";
15
- import { A as actorProfileReportSchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, I as locationParamsSchema, L as activityDays$1, M as personalSpendReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, R as activityHours$1, T as personalTokenListSchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, q as apiErrorSchema, s as workspaceParamsSchema, u as automationExecutionListSchema, w as createdPersonalTokenSchema, z as activitySixHours$1 } from "./schema-RpbW5Od2.js";
12
+ import { C as readHealthReport, a as webActorFromEmail, b as legacyWebMailboxMetadataSchema, c as formatSlackConversationRedactedLabel, d as resolveSlackConversationContextFromThreadId, f as ViewerTaskNotFoundError, g as readViewerAutomationRuns, h as readViewerAutomationExecutions, m as readConversationSourceTask, p as deleteViewerTask, r as createAndEnqueueConversation, t as appendAndEnqueueWebMessage, v as readViewerAutomations, x as createVercelAttachmentStorage, y as lookupSlackUser } from "./web-input-CGE58TpK.js";
13
+ import { d as conversationActiveDaysColumn, f as conversationAggregateColumns, p as conversationRangeColumns } from "./execution-stats-CR9CYpyj.js";
14
+ import { r as getWebAuthorization } from "./web-authorization-B09B8A8R.js";
15
+ import { A as actorProfileReportSchema, C as createPersonalTokenBodySchema, D as personalTokenParamsSchema, F as locationDirectoryReportSchema, G as codePersonReportSchema, I as locationParamsSchema, L as activityDays$1, M as personalSpendReportSchema, O as revokePersonalTokenResponseSchema, P as locationDetailReportSchema, R as activityHours$1, T as personalTokenListSchema, W as codeOverviewReportSchema, _ as automationRunListSchema, a as workspaceBodySchema, g as automationParamsSchema, h as automationListSchema, i as deleteWorkspaceResponseSchema, j as personParamsSchema, k as actorDirectoryReportSchema, l as workspaceSchema, m as automationListQuerySchema, n as statsReportSchema, o as workspaceListSchema, q as apiErrorSchema, s as workspaceParamsSchema, u as automationExecutionListSchema, w as createdPersonalTokenSchema, z as activitySixHours$1 } from "./schema-BE4uso4i.js";
16
16
  import { Hono } from "hono";
17
17
  import path from "node:path";
18
18
  import { z } from "zod";
@@ -3017,7 +3017,7 @@ async function readPeoplePluginReports(args) {
3017
3017
  reports: [],
3018
3018
  source: "plugins"
3019
3019
  });
3020
- const { getPluginProfileReports } = await import("./agent-hooks-DNLBwmsh.js").then((n) => n.t);
3020
+ const { getPluginProfileReports } = await import("./agent-hooks-CRuRcOg9.js").then((n) => n.t);
3021
3021
  return pluginOperationalReportFeedSchema.parse({
3022
3022
  generatedAt: new Date(nowMs).toISOString(),
3023
3023
  reports: await getPluginProfileReports({
@@ -3626,7 +3626,7 @@ function readDescriptionText(home) {
3626
3626
  }
3627
3627
  /** Read discovered skill names for authenticated runtime diagnostics. */
3628
3628
  async function readSkillReports() {
3629
- const { discoverSkills } = await import("./skills-c2bMDVRS.js").then((n) => n.o);
3629
+ const { discoverSkills } = await import("./skills-DUcDEgDI.js").then((n) => n.o);
3630
3630
  const skills = await discoverSkills();
3631
3631
  return skillReportsSchema.parse(skills.map((skill) => ({
3632
3632
  name: skill.name,
@@ -3635,7 +3635,7 @@ async function readSkillReports() {
3635
3635
  }
3636
3636
  /** Read safe configured plugin metadata for authenticated runtime diagnostics. */
3637
3637
  async function readPlugins() {
3638
- const { pluginCatalogRuntime } = await import("./catalog-runtime-CVZ9TEuK.js").then((n) => n.t);
3638
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-pv4grNNb.js").then((n) => n.t);
3639
3639
  return pluginsSchema.parse(pluginCatalogRuntime.getProviders().map((plugin) => ({
3640
3640
  configKeys: plugin.manifest.configKeys ?? [],
3641
3641
  description: plugin.manifest.description,
@@ -3647,7 +3647,7 @@ async function readPlugins() {
3647
3647
  async function readRuntimeInfoReport() {
3648
3648
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
3649
3649
  import("./package-discovery-7a9YqLhE.js").then((n) => n.r),
3650
- import("./catalog-runtime-CVZ9TEuK.js").then((n) => n.t),
3650
+ import("./catalog-runtime-pv4grNNb.js").then((n) => n.t),
3651
3651
  readPlugins(),
3652
3652
  readSkillReports()
3653
3653
  ]);
@@ -3664,7 +3664,7 @@ async function readRuntimeInfoReport() {
3664
3664
  /** Read sanitized operational summaries contributed by plugins. */
3665
3665
  async function readPluginOperationalReportFeed() {
3666
3666
  const nowMs = Date.now();
3667
- const { getPluginOperationalReports } = await import("./agent-hooks-DNLBwmsh.js").then((n) => n.t);
3667
+ const { getPluginOperationalReports } = await import("./agent-hooks-CRuRcOg9.js").then((n) => n.t);
3668
3668
  return pluginOperationalReportFeedSchema.parse({
3669
3669
  source: "plugins",
3670
3670
  generatedAt: new Date(nowMs).toISOString(),
package/dist/app.js CHANGED
@@ -1,39 +1,39 @@
1
- import { $ as clearSandboxEgressSignals, A as renderAttachmentText, Ct as shouldEmitDevAgentTrace, E as unpublishedArtifactHeaders, F as getNextRunAtMs, G as isEventMailboxMetadata, H as processWorkspaceSnapshotJob, J as recordFinishedTurnForAutomatedLimit, K as renderTaskInput, M as listThreadReplies, N as logScheduledAutomationRunSkipped, O as readAttachmentVisionSummary, P as scheduledAutomationRunAttributes, Q as SANDBOX_EGRESS_PROXY_PATH, S as latestProgressStatus, St as AuthorizationFlowDisabledError, T as readPublicArtifact, Tt as setConfigDefaults, U as ingestEvent, W as EVENT_WAIT_MS, X as normalizeSandboxEgressTracePropagationDomains, Y as resolveSandboxEgressProviderForHost, Z as shouldPropagateSandboxEgressTrace, _t as buildSteeringPiMessage, a as isExperimentalFeatureEnabled, c as createContextCompactor, ct as escapeSlackMrkdwnText, dt as normalizeSlackStatusText, et as consumeSandboxEgressAuthRequiredSignal, f as deleteMcpAuthSessionsForUserProvider, ft as truncateStatusText, gt as createUserTokenStore, ht as removeReactionFromMessage, i as getExperimentalFeatures, it as formatProviderLabel, j as renderBlockText, k as recordSlackAttachment, l as executeCredentialedEgressRequest, lt as formatSlackLink, m as deleteMcpStoredOAuthCredentials, mt as postSlackMessage, nt as parseSandboxEgressCredentialToken, o as setExperimentalFeatures, p as deleteMcpServerSessionId, pt as addReactionToMessage, q as maybePostAutomatedTurnLimitNotice, s as executeAgentRun, st as startOAuthFlow, t as createAgentRunner, tt as consumeSandboxEgressPermissionDeniedSignal, ut as normalizeSlackReplyMarkdown, v as PluginCredentialFailureError, vt as isVisionImageMediaType, w as publicArtifactHeaders, wt as getConfigDefaults, x as isPendingAuthLatestRequest, y as clearPendingAuth, yt as RetryableDeliveryError } from "./agent-runner-9g6TQk9y.js";
2
- import { b as isProviderRetryError, i as completeText, m as escapeXml, r as completeObject } from "./client-B27ufhzl.js";
3
- import { A as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, C as withSpan, D as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, F as isRecord$1, I as toOptionalNumber, L as toOptionalString, S as withLogContext, _ as setSpanAttributes, d as logInfo, f as logWarn, g as setSentryUser, l as logError, n as createChatSdkLogger, o as getActiveTraceId, r as createRequestContext, t as buildTurnFailureResponse, u as logException, v as setSpanStatus, x as withContext, y as setTags } from "./logging-iY0ssa2q.js";
1
+ import { $ as clearSandboxEgressSignals, A as renderAttachmentText, Dt as setConfigDefaults, E as unpublishedArtifactHeaders, Et as getConfigDefaults, F as getNextRunAtMs, G as isEventMailboxMetadata, H as processWorkspaceSnapshotJob, J as recordFinishedTurnForAutomatedLimit, K as renderTaskInput, M as listThreadReplies, N as logScheduledAutomationRunSkipped, O as readAttachmentVisionSummary, P as scheduledAutomationRunAttributes, Q as SANDBOX_EGRESS_PROXY_PATH, S as latestProgressStatus, T as readPublicArtifact, Tt as shouldEmitDevAgentTrace, U as ingestEvent, W as EVENT_WAIT_MS, X as normalizeSandboxEgressTracePropagationDomains, Y as resolveSandboxEgressProviderForHost, Z as shouldPropagateSandboxEgressTrace, _t as slackExternalRefIdSchema, a as isExperimentalFeatureEnabled, bt as isVisionImageMediaType, c as createContextCompactor, ct as escapeSlackMrkdwnText, dt as normalizeSlackStatusText, et as consumeSandboxEgressAuthRequiredSignal, f as deleteMcpAuthSessionsForUserProvider, ft as truncateStatusText, gt as slackEntitySchema, ht as removeReactionFromMessage, i as getExperimentalFeatures, it as formatProviderLabel, j as renderBlockText, k as recordSlackAttachment, l as executeCredentialedEgressRequest, lt as formatSlackLink, m as deleteMcpStoredOAuthCredentials, mt as postSlackMessage, nt as parseSandboxEgressCredentialToken, o as setExperimentalFeatures, p as deleteMcpServerSessionId, pt as addReactionToMessage, q as maybePostAutomatedTurnLimitNotice, s as executeAgentRun, st as startOAuthFlow, t as createAgentRunner, tt as consumeSandboxEgressPermissionDeniedSignal, ut as normalizeSlackReplyMarkdown, v as PluginCredentialFailureError, vt as createUserTokenStore, w as publicArtifactHeaders, wt as AuthorizationFlowDisabledError, x as isPendingAuthLatestRequest, xt as RetryableDeliveryError, y as clearPendingAuth, yt as buildSteeringPiMessage } from "./agent-runner-Cad1RtWn.js";
2
+ import { b as isProviderRetryError, i as completeText, m as escapeXml, r as completeObject } from "./client-ihmkx60d.js";
3
+ import { C as withLogContext, I as isRecord$1, L as toOptionalNumber, O as JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE, R as toOptionalString, S as withContext, _ as setSentryUser, b as setTags, d as logException, f as logInfo, j as JUNIOR_WORKSPACE_SNAPSHOT_JOB_CALLBACK_ROUTE, n as createChatSdkLogger, o as getActiveTraceId, p as logWarn, r as createRequestContext, t as buildTurnFailureResponse, u as logError, v as setSpanAttributes, w as withSpan, y as setSpanStatus } from "./logging-CcTvYQ8A.js";
4
4
  import { r as continueTrace } from "./sentry-CgWZM_kV.js";
5
- import { t as JUNIOR_VERSION } from "./version-C6lA-h_o.js";
6
- import { a as getChatConfig, c as getSlackClientId, d as getSlackSigningSecret, f as setBotModelConfig, h as normalizeSlackEmojiName, i as configureFunctionMaxDurationSeconds, l as getSlackClientSecret, m as setSlackReactionConfig, n as botConfig, p as setProfiles, s as getSlackBotToken, u as getSlackReactionConfig } from "./config-BAhl7-RC.js";
7
- import { a as modelIdForProfile, n as defaultModelId } from "./model-profile-CZmVoGdX.js";
5
+ import { t as JUNIOR_VERSION } from "./version-DYcuOFQb.js";
6
+ import { a as getChatConfig, c as getSlackClientId, d as getSlackSigningSecret, f as setBotModelConfig, h as normalizeSlackEmojiName, i as configureFunctionMaxDurationSeconds, l as getSlackClientSecret, m as setSlackReactionConfig, n as botConfig, p as setProfiles, s as getSlackBotToken, u as getSlackReactionConfig } from "./config-DMg679BW.js";
7
+ import { o as modelIdForProfile, r as defaultModelId } from "./model-profile-BwU8mqwD.js";
8
8
  import { _ as parseSlackMessageTs, a as createActor, c as isActorUserId, l as isUserActor, o as createSlackActor, p as parseSlackChannelId, s as createSlackResumeActor, t as credentialContextForActor, u as parseActorUserId } from "./context-Bplcgypl.js";
9
- import { B as downloadPrivateSlackFile, F as bindSlackDirectCredentialSubject, G as isDmChannel, H as getHeaderString, I as verifyEventAutomationCredentialSubject, Jt as getSqlExecutor, K as normalizeSlackConversationId, Kt as getConversationStore, L as verifyScheduledAutomationCredentialSubject, Lt as listConversationAnnotations, N as bindEventAutomationCredentialSubject, Nt as buildSentryConversationUrl, P as bindScheduledAutomationCredentialSubject, Pt as resolveRootVisibility, Q as readActorIdentity, Qt as withConversationMutationLock, R as verifySlackDirectCredentialSubject, U as getSlackClient, Wt as getConversationEventStore, X as runWithWorkspaceTeamId, Xt as withConversationEventLock, Y as getWorkspaceTeamId, _t as createPluginState, a as getPluginRoutes, bt as createPluginLogger, cn as deleteProviderIdentityForSlackUser, ct as collectEventMatchKeys, d as setPlugins, dn as createSlackDestination, dt as findMatchingWatches, f as validatePlugins, gt as setDashboardConversationLinkOptions, h as setBriefsConfig, ht as getDashboardTaskLink, i as getPluginApiRoutes, mt as getDashboardConversationLink, o as getPluginSlackConversationLink, ot as cancelSubscriptions, pn as requireSlackDestination, pt as JUNIOR_THREAD_STATE_TTL_MS, q as runWithSlackInstallationToken, qt as getDb, u as getPlugins, xt as readConversationAccessFromSql, z as SlackActionError } from "./agent-hooks-DNLBwmsh.js";
9
+ import { B as downloadPrivateSlackFile, F as bindSlackDirectCredentialSubject, G as isDmChannel, H as getHeaderString, I as verifyEventAutomationCredentialSubject, Jt as getSqlExecutor, K as normalizeSlackConversationId, Kt as getConversationStore, L as verifyScheduledAutomationCredentialSubject, Lt as listConversationAnnotations, N as bindEventAutomationCredentialSubject, Nt as buildSentryConversationUrl, P as bindScheduledAutomationCredentialSubject, Pt as resolveRootVisibility, Q as readActorIdentity, Qt as withConversationMutationLock, R as verifySlackDirectCredentialSubject, U as getSlackClient, Wt as getConversationEventStore, X as runWithWorkspaceTeamId, Xt as withConversationEventLock, Y as getWorkspaceTeamId, _t as createPluginState, a as getPluginRoutes, bt as createPluginLogger, cn as deleteProviderIdentityForSlackUser, ct as collectEventMatchKeys, d as setPlugins, dn as createSlackDestination, dt as findMatchingWatches, f as validatePlugins, gt as setDashboardConversationLinkOptions, h as setBriefsConfig, ht as getDashboardTaskLink, i as getPluginApiRoutes, mt as getDashboardConversationLink, o as getPluginSlackConversationLink, ot as cancelSubscriptions, pn as requireSlackDestination, pt as JUNIOR_THREAD_STATE_TTL_MS, q as runWithSlackInstallationToken, qt as getDb, u as getPlugins, xt as readConversationAccessFromSql, z as SlackActionError } from "./agent-hooks-CRuRcOg9.js";
10
10
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
11
- import { E as juniorConversations, a as juniorSchedulerRuns, f as juniorAgentBindings, g as juniorConversationBriefs, o as juniorSchedulerTasks, p as juniorAgentInvocations, y as juniorConversationEvents } from "./executor-BG2Armby.js";
12
- import { Y as instructionProvenanceFor, k as annotationCard } from "./conversation-1HUoZr2l.js";
13
- import { n as pluginCatalogRuntime } from "./catalog-runtime-CVZ9TEuK.js";
14
- import { $ as appendThreadContextMessages, A as commitAcceptedReply, B as recordAuthorizationCompleted, J as hydrateConversationMessages, N as loadConversationProjection, O as trimTrailingAssistantMessages, P as loadProjection, Q as resolveConversationTitle, W as recordSubscribedReplyRoute, X as projectConversationMessages, Y as persistConversationMessages, Z as persistConversationMessageSummaries, a as completeTurnRecord, at as markConversationMessage, c as listTurnSummaries, ct as turnHasReply, et as buildConversationContext, i as abandonTurnRecord, it as isHumanConversationMessage, j as commitMessages, l as recordTurnSummary, lt as upsertConversationMessage, n as loadTurnCheckpoint, nt as estimateConversationContextTokens, o as failTurnRecord, ot as normalizeConversationText, p as buildTurnErrorResponse, q as appendConversationMessages, r as saveTurnCheckpoint, rt as getConversationMessageSlackTs, s as getTurnRecord, st as recordDeliveredAssistantMessage, tt as createConversationMemoryService, u as persistWithRetry, ut as estimateTextTokens } from "./checkpoint-Ceck_fLO.js";
15
- import { E as acquireActiveLock, O as withLock$1, T as MUTATION_LOCK_TTL_MS$1, w as getStateAdapter } from "./profile-6KWhg_-U.js";
16
- import { Bt as hasRunnableConversationWork$1, Dt as hasRunnableConversationWork, Et as getConversationWorkState, F as effectiveTaskOutcomes, Ht as isInvalidConversationRecordError, It as stopConversationWork, Kt as buildDeterministicAssistantMessageId, Mt as removeActiveConversation, Ot as listActiveConversationIds, Pt as requestConversationWork, Rt as CONVERSATION_WORK_STALE_ENQUEUE_MS, S as withScheduledAutomationLock, Tt as getConversation, U as findMatchingEventAutomations, X as getEventCatalog, a as requestAttachmentDeletion, b as saveScheduledAutomationInLock, c as parseSlackThreadId, d as resolveSlackChannelIdFromThreadId, g as listScheduledAutomationsForTeam, h as listScheduledAutomations, l as readSlackRawMessageContext, o as storeAttachment, pt as appendAndEnqueueInboundMessage, qt as buildDeterministicTurnId, r as collectAttachmentGarbage, tt as eventGuidance, u as resolveSlackChannelIdFromMessage, v as readScheduledAutomation, vt as clearExpiredConversationLease, w as scheduledRunSchema, wt as ensureConversationWake, x as scheduledRunId, z as collectEventAutomationMatchKeys } from "./stats-DP9zl3Jg.js";
17
- import { _ as markTurnFailed, c as CooperativeTurnYieldError, d as getConversationTurnBoundaryError, f as isCooperativeTurnYieldError, g as markTurnCompleted, h as markTurnClosed, l as TurnInputCommitLostError, m as isTurnInputDeferredError, p as isTurnInputCommitLostError, r as getAssistantReplyText, s as ConversationTurnBoundaryError, u as TurnInputDeferredError, v as startActiveTurn } from "./oauth-authorization-BIijVS2N.js";
18
- import { a as EVENT_SYSTEM_ACTOR, i as EVENT_MESSAGE_AUTHOR, o as isEventConversationMessage } from "./prompt-90miy8VV.js";
19
- import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-CB45ZukQ.js";
11
+ import { E as juniorConversations, a as juniorSchedulerRuns, f as juniorAgentBindings, g as juniorConversationBriefs, o as juniorSchedulerTasks, p as juniorAgentInvocations, y as juniorConversationEvents } from "./executor-B9R4cHte.js";
12
+ import { Y as instructionProvenanceFor, k as annotationCard } from "./conversation-Bygi39Xj.js";
13
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-pv4grNNb.js";
14
+ import { $ as appendThreadContextMessages, A as commitAcceptedReply, B as recordAuthorizationCompleted, J as hydrateConversationMessages, N as loadConversationProjection, O as trimTrailingAssistantMessages, P as loadProjection, Q as resolveConversationTitle, W as recordSubscribedReplyRoute, X as projectConversationMessages, Y as persistConversationMessages, Z as persistConversationMessageSummaries, a as completeTurnRecord, at as markConversationMessage, c as listTurnSummaries, ct as turnHasReply, et as buildConversationContext, i as abandonTurnRecord, it as isHumanConversationMessage, j as commitMessages, l as recordTurnSummary, lt as upsertConversationMessage, n as loadTurnCheckpoint, nt as estimateConversationContextTokens, o as failTurnRecord, ot as normalizeConversationText, p as buildTurnErrorResponse, q as appendConversationMessages, r as saveTurnCheckpoint, rt as getConversationMessageSlackTs, s as getTurnRecord, st as recordDeliveredAssistantMessage, tt as createConversationMemoryService, u as persistWithRetry, ut as estimateTextTokens } from "./checkpoint-6fkAdB3g.js";
15
+ import { E as acquireActiveLock, O as withLock$1, T as MUTATION_LOCK_TTL_MS$1, w as getStateAdapter } from "./profile-CV97YuiL.js";
16
+ import { Bt as hasRunnableConversationWork$1, Dt as hasRunnableConversationWork, Et as getConversationWorkState, F as effectiveTaskOutcomes, Ht as isInvalidConversationRecordError, It as stopConversationWork, Kt as buildDeterministicAssistantMessageId, Mt as removeActiveConversation, Ot as listActiveConversationIds, Pt as requestConversationWork, Rt as CONVERSATION_WORK_STALE_ENQUEUE_MS, S as withScheduledAutomationLock, Tt as getConversation, U as findMatchingEventAutomations, X as getEventCatalog, a as requestAttachmentDeletion, b as saveScheduledAutomationInLock, c as parseSlackThreadId, d as resolveSlackChannelIdFromThreadId, g as listScheduledAutomationsForTeam, h as listScheduledAutomations, l as readSlackRawMessageContext, o as storeAttachment, pt as appendAndEnqueueInboundMessage, qt as buildDeterministicTurnId, r as collectAttachmentGarbage, tt as eventGuidance, u as resolveSlackChannelIdFromMessage, v as readScheduledAutomation, vt as clearExpiredConversationLease, w as scheduledRunSchema, wt as ensureConversationWake, x as scheduledRunId, z as collectEventAutomationMatchKeys } from "./stats-DawHjcTw.js";
17
+ import { _ as markTurnFailed, c as CooperativeTurnYieldError, d as getConversationTurnBoundaryError, f as isCooperativeTurnYieldError, g as markTurnCompleted, h as markTurnClosed, l as TurnInputCommitLostError, m as isTurnInputDeferredError, p as isTurnInputCommitLostError, r as getAssistantReplyText, s as ConversationTurnBoundaryError, u as TurnInputDeferredError, v as startActiveTurn } from "./oauth-authorization-BS4vPJmu.js";
18
+ import { a as EVENT_SYSTEM_ACTOR, i as EVENT_MESSAGE_AUTHOR, o as isEventConversationMessage } from "./prompt-CL8zxsmm.js";
19
+ import { f as setSandboxResourceConfig, u as getSandboxResourceConfig } from "./resolve-DXVAzYa3.js";
20
20
  import { l as conversationQueueMessageSchema, n as resolveConversationWorkQueueTopic, r as verifyConversationQueueMessage, t as getVercelConversationWorkQueue, u as isConversationQueueMessageRejectedError } from "./vercel-queue-DIkVcfK4.js";
21
- import { a as getTurnRequestDeadline, i as verifyWorkspaceSnapshotJobMessage, t as WORKSPACE_SNAPSHOT_JOB_QUEUE_TOPIC } from "./job-queue-D4oAVrL9.js";
22
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-CnZkCN7o.js";
21
+ import { a as getTurnRequestDeadline, i as verifyWorkspaceSnapshotJobMessage, t as WORKSPACE_SNAPSHOT_JOB_QUEUE_TOPIC } from "./job-queue-D2SiTrnt.js";
22
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "./validation-BcGGxOa6.js";
23
23
  import { a as pluginRuntimeRegistrationsFromPluginSet, n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "./plugins-egKWjgue.js";
24
- import { S as GET$3, _ as readViewerAutomationSummary, a as webActorFromEmail, b as legacyWebMailboxMetadataSchema, i as recordWebConversationActivity, l as resolveSlackChannelTypeFromMessage, n as conversationTurnIdForMessage, o as resolveConversationDestination, s as conversationVisibilityFromSlackChannelType, t as appendAndEnqueueWebMessage, u as resolveSlackConversationContext, x as createVercelAttachmentStorage, y as lookupSlackUser } from "./web-input-BoE1xE-K.js";
25
- import { u as recordAutomationExecution } from "./execution-stats-DikPOxJ1.js";
26
- import { _ as markDispatchFailed, a as confirmDispatchMailboxAppend, c as getDispatchInputMessageId, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, g as markDispatchCompleted, h as markDispatchBlocked, i as claimDispatchMailboxAppend, l as getDispatchRecord, m as markDispatchAwaitingResume, n as scheduleSessionCompletedPluginTasks, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId, t as processPluginTask, u as getDispatchTurnId, v as markDispatchRunning } from "./task-runner-fntmnqzx.js";
27
- import { c as listPendingAgentInvocationMailboxAppends, i as resolveAgentInvocationId, o as AgentRunError, r as enqueueAgentInvocation, s as executeTurn, t as createAgentInvocationWorker } from "./work-4Nhz9mVv.js";
28
- import { n as getTurnLifecycle, t as ConversationTurnLifecycleService } from "./turn-lifecycle-5_jvLqRz.js";
29
- import { a as persistThreadState, c as configValueSchema, i as persistThreadRuntimeState, n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState, s as coerceThreadConversationState, t as getLocationConfigurationService } from "./thread-state-Wfr0GdKS.js";
30
- import { a as GET$4, c as wakePausedTurn, i as publishAppHomeView, l as getTurnAuthorization, o as createPausedTurns, r as GET$5, s as getPausedTurnRequest, t as receiveLocalOAuthCredential } from "./credential-sync-BXHIxbtS.js";
31
- import { n as resolveTurnSessionRouting } from "./turn-session-routing-CQaysLoe.js";
32
- import { n as deleteWebAuthorization, t as createWebAuthorization } from "./web-authorization-Bbx999_q.js";
33
- import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-SL4uLfBB.js";
34
- import { t as processConversationWork } from "./worker-CdWPsNL2.js";
35
- import { t as bindSpawnAgent } from "./spawn-Cg6lyjE7.js";
36
- import { a as persistAuthPauseTurnState, c as getTurnUserSlackMessageTs, d as loadPendingMessageCards, i as completeAuthPauseTurn, l as buildDeliveredTurnStatePatch, n as getAgentTurnDiagnosticsAttributes, o as getTurnUserMessage, r as requireTurnFailureEventId, s as getTurnUserReplyAttachmentContext, t as finalizeFailedTurnReplyWithEvent, u as getInterruptionMarker } from "./turn-failure-response-DLjSEm-R.js";
24
+ import { S as GET$3, _ as readViewerAutomationSummary, a as webActorFromEmail, b as legacyWebMailboxMetadataSchema, i as recordWebConversationActivity, l as resolveSlackChannelTypeFromMessage, n as conversationTurnIdForMessage, o as resolveConversationDestination, s as conversationVisibilityFromSlackChannelType, t as appendAndEnqueueWebMessage, u as resolveSlackConversationContext, x as createVercelAttachmentStorage, y as lookupSlackUser } from "./web-input-CGE58TpK.js";
25
+ import { u as recordAutomationExecution } from "./execution-stats-CR9CYpyj.js";
26
+ import { _ as markDispatchFailed, a as confirmDispatchMailboxAppend, c as getDispatchInputMessageId, d as getPluginDispatchProjection, f as isTerminalDispatchStatus, g as markDispatchCompleted, h as markDispatchBlocked, i as claimDispatchMailboxAppend, l as getDispatchRecord, m as markDispatchAwaitingResume, n as scheduleSessionCompletedPluginTasks, o as createOrGetDispatch, p as listPendingDispatchMailboxAppends, s as getDispatchConversationId, t as processPluginTask, u as getDispatchTurnId, v as markDispatchRunning } from "./task-runner-BMl2aM2v.js";
27
+ import { c as listPendingAgentInvocationMailboxAppends, i as resolveAgentInvocationId, o as AgentRunError, r as enqueueAgentInvocation, s as executeTurn, t as createAgentInvocationWorker } from "./work-Bm90pR9P.js";
28
+ import { n as getTurnLifecycle, t as ConversationTurnLifecycleService } from "./turn-lifecycle-DPDHKi2U.js";
29
+ import { a as persistThreadState, c as configValueSchema, i as persistThreadRuntimeState, n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState, s as coerceThreadConversationState, t as getLocationConfigurationService } from "./thread-state-CAR6gdAm.js";
30
+ import { a as GET$4, c as wakePausedTurn, i as publishAppHomeView, l as getTurnAuthorization, o as createPausedTurns, r as GET$5, s as getPausedTurnRequest, t as receiveLocalOAuthCredential } from "./credential-sync-DCB2SwnQ.js";
31
+ import { n as resolveTurnSessionRouting } from "./turn-session-routing-Jkmmxpp-.js";
32
+ import { n as deleteWebAuthorization, t as createWebAuthorization } from "./web-authorization-B09B8A8R.js";
33
+ import { a as registerVercelPluginTaskDevConsumer, n as createVercelPluginTaskCallback, s as queueCallback } from "./task-queue-D3PLY59C.js";
34
+ import { t as processConversationWork } from "./worker-BvHr6JhE.js";
35
+ import { t as bindSpawnAgent } from "./spawn-o15i3tJu.js";
36
+ import { a as persistAuthPauseTurnState, c as getTurnUserSlackMessageTs, d as loadPendingMessageCards, i as completeAuthPauseTurn, l as buildDeliveredTurnStatePatch, n as getAgentTurnDiagnosticsAttributes, o as getTurnUserMessage, r as requireTurnFailureEventId, s as getTurnUserReplyAttachmentContext, t as finalizeFailedTurnReplyWithEvent, u as getInterruptionMarker } from "./turn-failure-response-CZyoUMkD.js";
37
37
  import { createRequire } from "node:module";
38
38
  import { pathToFileURL } from "node:url";
39
39
  import { Hono } from "hono";
@@ -1990,34 +1990,43 @@ function renderSlackObjectCard(card, conversationId) {
1990
1990
  text
1991
1991
  };
1992
1992
  const task = card.objectType === "task";
1993
+ const attributes = {
1994
+ title: { text: title },
1995
+ display_id: card.label,
1996
+ display_type: card.objectType === "code_change" ? "Pull request" : task ? "Issue" : "Item",
1997
+ product_name: card.plugin
1998
+ };
1993
1999
  return {
1994
2000
  text,
1995
2001
  entity: {
1996
- entity_type: task ? "slack#/entities/task" : "slack#/entities/item",
2002
+ ...task ? {
2003
+ entity_type: "slack#/entities/task",
2004
+ entity_payload: {
2005
+ attributes,
2006
+ fields: card.status ? { status: { value: card.status } } : void 0,
2007
+ custom_fields: []
2008
+ }
2009
+ } : {
2010
+ entity_type: "slack#/entities/item",
2011
+ entity_payload: {
2012
+ attributes,
2013
+ custom_fields: card.status ? [{
2014
+ key: "status",
2015
+ label: "Status",
2016
+ type: "string",
2017
+ value: card.status
2018
+ }] : []
2019
+ }
2020
+ },
1997
2021
  external_ref: {
1998
- id: JSON.stringify([
2022
+ id: Buffer.from(JSON.stringify([
1999
2023
  conversationId,
2000
2024
  card.plugin,
2001
2025
  card.key
2002
- ]),
2026
+ ]), "utf8").toString("base64url"),
2003
2027
  type: "annotation"
2004
2028
  },
2005
- url: card.url,
2006
- entity_payload: {
2007
- attributes: {
2008
- title: { text: title },
2009
- display_id: card.label,
2010
- display_type: card.objectType === "code_change" ? "Pull request" : task ? "Issue" : "Item",
2011
- product_name: card.plugin
2012
- },
2013
- fields: task && card.status ? { status: { value: card.status } } : void 0,
2014
- custom_fields: !task && card.status ? [{
2015
- key: "status",
2016
- label: "Status",
2017
- type: "string",
2018
- value: card.status
2019
- }] : []
2020
- }
2029
+ url: card.url
2021
2030
  }
2022
2031
  };
2023
2032
  }
@@ -2028,7 +2037,7 @@ const eventSchema$1 = z.object({
2028
2037
  user: z.string().min(1),
2029
2038
  external_ref: z.object({
2030
2039
  type: z.literal("annotation"),
2031
- id: z.string().max(4096)
2040
+ id: slackExternalRefIdSchema.max(4096)
2032
2041
  })
2033
2042
  });
2034
2043
  const refSchema = z.tuple([
@@ -2052,7 +2061,7 @@ async function presentSlackAnnotationDetails(event, teamId) {
2052
2061
  }
2053
2062
  let value;
2054
2063
  try {
2055
- value = JSON.parse(parsed.data.external_ref.id);
2064
+ value = JSON.parse(Buffer.from(parsed.data.external_ref.id, "base64url").toString("utf8"));
2056
2065
  } catch {
2057
2066
  await missing();
2058
2067
  return;
@@ -2097,7 +2106,7 @@ async function presentSlackAnnotationDetails(event, teamId) {
2097
2106
  }
2098
2107
  await client.entity.presentDetails({
2099
2108
  trigger_id: parsed.data.trigger_id,
2100
- metadata: entity
2109
+ metadata: slackEntitySchema.parse(entity)
2101
2110
  });
2102
2111
  }
2103
2112
  //#endregion
@@ -2210,10 +2219,11 @@ function isBareStop(rawText, text) {
2210
2219
  });
2211
2220
  }
2212
2221
  /**
2213
- * Return a stop decision for one message body.
2222
+ * Return a stop decision only when the message is not addressed to another party.
2214
2223
  * Deferred batches must call this on each body, not on joined text.
2215
2224
  */
2216
2225
  function getThreadStopDecision(args) {
2226
+ if (getSubscribedReplyPreflightDecision(args)) return;
2217
2227
  const text = args.text.trim();
2218
2228
  const rawText = args.rawText.trim();
2219
2229
  if (hasBangStop(rawText, text)) return {
@@ -2376,8 +2386,10 @@ async function decideSubscribedThreadReply(args) {
2376
2386
  const text = args.input.text.trim();
2377
2387
  const rawText = args.input.rawText.trim();
2378
2388
  const stopDecision = getThreadStopDecision({
2389
+ botUserName: args.botUserName,
2379
2390
  rawText,
2380
- text
2391
+ text,
2392
+ isExplicitMention: args.input.isExplicitMention
2381
2393
  });
2382
2394
  if (stopDecision) return stopDecision;
2383
2395
  const preflightDecision = getSubscribedReplyPreflightDecision({
@@ -3254,9 +3266,14 @@ function createSlackTurnRuntime(deps) {
3254
3266
  });
3255
3267
  const combinedText = combineTurnText(queuedMessages, currentText);
3256
3268
  const turnIsExplicitMention = Boolean(message.isMention) || queuedMessages.some((queued) => queued.explicitMention);
3257
- const stopDecision = [...queuedMessages, currentText].map((entry) => getThreadStopDecision({
3269
+ const stopDecision = [...queuedMessages, {
3270
+ ...currentText,
3271
+ explicitMention: Boolean(message.isMention)
3272
+ }].map((entry) => getThreadStopDecision({
3273
+ botUserName: deps.assistantUserName,
3258
3274
  rawText: entry.rawText,
3259
- text: entry.userText
3275
+ text: entry.userText,
3276
+ isExplicitMention: entry.explicitMention
3260
3277
  })).find((decision) => decision?.shouldUnsubscribe);
3261
3278
  if (stopDecision) {
3262
3279
  const decision = {
@@ -5056,7 +5073,7 @@ async function presentSlackAutomationDetails(event, teamId) {
5056
5073
  }
5057
5074
  await client.entity.presentDetails({
5058
5075
  trigger_id: triggerId,
5059
- metadata: entity
5076
+ metadata: slackEntitySchema.parse(entity)
5060
5077
  });
5061
5078
  }
5062
5079
  //#endregion
@@ -5249,8 +5266,10 @@ async function routeParsedMessage(args) {
5249
5266
  const route = isDirectMessage || isMention ? "mention" : isSubscribed ? "subscribed" : void 0;
5250
5267
  if (!route) return;
5251
5268
  const stopDecision = getThreadStopDecision({
5269
+ botUserName: botConfig.userName,
5252
5270
  rawText: args.event.text ?? "",
5253
- text: args.event.text ?? ""
5271
+ text: args.event.text ?? "",
5272
+ isExplicitMention: isMention
5254
5273
  });
5255
5274
  if (stopDecision) {
5256
5275
  await handleSlackThreadStop({
@@ -1,7 +1,7 @@
1
- import { r as completeObject } from "./client-B27ufhzl.js";
2
- import { n as defaultModelId } from "./model-profile-CZmVoGdX.js";
3
- import { P as briefCodeChangeSchema, R as parseBriefInput, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-1HUoZr2l.js";
4
- import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-90miy8VV.js";
1
+ import { r as completeObject } from "./client-ihmkx60d.js";
2
+ import { r as defaultModelId } from "./model-profile-BwU8mqwD.js";
3
+ import { P as briefCodeChangeSchema, R as parseBriefInput, d as conversationDetailReportSchema, p as conversationEventPageSchema } from "./conversation-Bygi39Xj.js";
4
+ import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-CL8zxsmm.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-BAhl7-RC.js").then((n) => n.r);
272
+ const { botConfig } = await import("./config-DMg679BW.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-Ctgdjt-W.js";
2
+ import { t as createPluginCatalogRuntime } from "./registry-C8I4IejN.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();
@@ -1,11 +1,11 @@
1
- import { i as completeText, m as escapeXml, o as resolveGatewayModel, p as unwrapCurrentInstruction } from "./client-B27ufhzl.js";
2
- import { _ as setSpanAttributes, f as logWarn, o as getActiveTraceId, t as buildTurnFailureResponse, u as logException } from "./logging-iY0ssa2q.js";
3
- import { n as botConfig } from "./config-BAhl7-RC.js";
1
+ import { i as completeText, m as escapeXml, o as resolveGatewayModel, p as unwrapCurrentInstruction } from "./client-ihmkx60d.js";
2
+ import { d as logException, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, v as setSpanAttributes } from "./logging-CcTvYQ8A.js";
3
+ import { n as botConfig } from "./config-DMg679BW.js";
4
4
  import { _ as parseSlackMessageTs, f as toStoredSlackActor } from "./context-Bplcgypl.js";
5
- import { Bt as agentsInstructionsUpdatedEvent, Ht as authenticationUnlinkedEvent, Jt as getSqlExecutor, Kt as getConversationStore, Vt as authenticationLinkedEvent, Wt as getConversationEventStore, Xt as withConversationEventLock, Yt as createSqlConversationEventStore, Zt as sanitizePostgresJson, en as bindProviderConversation, nn as addAgentTurnUsage, zt as JUNIOR_NATIVE_EVENT_NAMESPACE } from "./agent-hooks-DNLBwmsh.js";
6
- import { B as agentHistoryItemSchema, J as instructionActors, Y as instructionProvenanceFor, q as contextProvenance } from "./conversation-1HUoZr2l.js";
7
- import { n as generateShortTitle, t as fallbackShortTitle } from "./short-title-xEkZwkcV.js";
8
- import { D as fenceLock, O as withLock, T as MUTATION_LOCK_TTL_MS, k as sleep, w as getStateAdapter } from "./profile-6KWhg_-U.js";
5
+ import { Bt as agentsInstructionsUpdatedEvent, Ht as authenticationUnlinkedEvent, Jt as getSqlExecutor, Kt as getConversationStore, Vt as authenticationLinkedEvent, Wt as getConversationEventStore, Xt as withConversationEventLock, Yt as createSqlConversationEventStore, Zt as sanitizePostgresJson, en as bindProviderConversation, nn as addAgentTurnUsage, zt as JUNIOR_NATIVE_EVENT_NAMESPACE } from "./agent-hooks-CRuRcOg9.js";
6
+ import { B as agentHistoryItemSchema, J as instructionActors, Y as instructionProvenanceFor, q as contextProvenance } from "./conversation-Bygi39Xj.js";
7
+ import { n as generateShortTitle, t as fallbackShortTitle } from "./short-title-3wYH3ipl.js";
8
+ import { D as fenceLock, O as withLock, T as MUTATION_LOCK_TTL_MS, k as sleep, w as getStateAdapter } from "./profile-CV97YuiL.js";
9
9
  import { isDeepStrictEqual } from "node:util";
10
10
  import { z } from "zod";
11
11
  import { createHash } from "node:crypto";
package/dist/cli/chat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { s as executeAgentRun, t as createAgentRunner } from "../agent-runner-9g6TQk9y.js";
1
+ import { s as executeAgentRun, t as createAgentRunner } from "../agent-runner-Cad1RtWn.js";
2
2
  import { t as loadAppPluginSet } from "../plugin-module-BKGOXca2.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-DNLBwmsh.js").then((n) => n.t),
104
- import("../catalog-runtime-CVZ9TEuK.js").then((n) => n.t),
105
- import("../validation-CnZkCN7o.js").then((n) => n.r),
106
- import("../agent-hooks-DNLBwmsh.js").then((n) => n.Ut)
103
+ import("../agent-hooks-CRuRcOg9.js").then((n) => n.t),
104
+ import("../catalog-runtime-pv4grNNb.js").then((n) => n.t),
105
+ import("../validation-BcGGxOa6.js").then((n) => n.r),
106
+ import("../agent-hooks-CRuRcOg9.js").then((n) => n.Ut)
107
107
  ]);
108
108
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
109
109
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -153,18 +153,18 @@ function localDevServerUrl() {
153
153
  async function prepareLocalChatRun(io, pluginSet) {
154
154
  defaultStateAdapterForLocalChat();
155
155
  await configureLocalChatPlugins(pluginSet);
156
- const { setExperimentalFeatures } = await import("../agent-runner-9g6TQk9y.js").then((n) => n.r);
156
+ const { setExperimentalFeatures } = await import("../agent-runner-Cad1RtWn.js").then((n) => n.r);
157
157
  setExperimentalFeatures({ subagents: true });
158
- const { setBriefsConfig } = await import("../agent-hooks-DNLBwmsh.js").then((n) => n.m);
158
+ const { setBriefsConfig } = await import("../agent-hooks-CRuRcOg9.js").then((n) => n.m);
159
159
  setBriefsConfig({ enabled: true });
160
- const { runLocalAgentTurn } = await import("../runner-BwKCqoF3.js");
161
- const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-DPkK3kzi.js");
160
+ const { runLocalAgentTurn } = await import("../runner-Die1RJ_z.js");
161
+ const { startLocalOAuthCallbackServer } = await import("../oauth-callback-server-DnlQsGBJ.js");
162
162
  const { createLocalOAuthState } = await import("../oauth-relay-CdCnu80W.js").then((n) => n.t);
163
- const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-Cmy8ODat.js");
164
- const { bindSpawnAgent } = await import("../spawn-Cg6lyjE7.js").then((n) => n.n);
165
- const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-4Nhz9mVv.js").then((n) => n.a);
163
+ const { createLocalSandboxEgressSignalTransport } = await import("../sandbox-egress-signals-BZepyVh1.js");
164
+ const { bindSpawnAgent } = await import("../spawn-o15i3tJu.js").then((n) => n.n);
165
+ const { createAgentInvocationWorker, routeAgentInvocationWork } = await import("../work-Bm90pR9P.js").then((n) => n.a);
166
166
  const { createLocalConversationWork } = await import("../conversation-work-C6y3T5Hx.js");
167
- const { processConversationWork } = await import("../worker-CdWPsNL2.js").then((n) => n.n);
167
+ const { processConversationWork } = await import("../worker-BvHr6JhE.js").then((n) => n.n);
168
168
  let agentRunner;
169
169
  const localConversationWork = createLocalConversationWork(async (message) => {
170
170
  if (!agentRunner) throw new Error("Local agent runner is not ready");
package/dist/cli/check.js CHANGED
@@ -1,6 +1,6 @@
1
- import { E as JUNIOR_HEARTBEAT_ROUTE, j as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, w as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-iY0ssa2q.js";
2
- import { f as parseInlinePluginManifest, p as parsePluginManifest } from "../registry-Ctgdjt-W.js";
3
- import { i as parseSkillFile } from "../skills-c2bMDVRS.js";
1
+ import { D as JUNIOR_HEARTBEAT_ROUTE, M as LEGACY_JUNIOR_CONVERSATION_WORK_FUNCTION, T as JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE } from "../logging-CcTvYQ8A.js";
2
+ import { f as parseInlinePluginManifest, p as parsePluginManifest } from "../registry-C8I4IejN.js";
3
+ import { i as parseSkillFile } from "../skills-DUcDEgDI.js";
4
4
  import { pathToFileURL } from "node:url";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
package/dist/cli/main.js CHANGED
@@ -25,7 +25,7 @@ async function runChat(argv, pluginSet) {
25
25
  return await (await import("./chat.js")).runChat(argv, void 0, { pluginSet });
26
26
  }
27
27
  async function runBriefs(argv) {
28
- return await (await import("../briefs-CjXnGKzZ.js")).runBriefs(argv);
28
+ return await (await import("../briefs-BtnkPWT5.js")).runBriefs(argv);
29
29
  }
30
30
  function topLevelCommand(argv) {
31
31
  return (argv[0] === "--" ? argv.slice(1) : argv)[0];
@@ -1,6 +1,6 @@
1
- import { bt as createPluginLogger, d as setPlugins, f as validatePlugins, qt as getDb } from "../agent-hooks-DNLBwmsh.js";
2
- import { n as pluginCatalogRuntime } from "../catalog-runtime-CVZ9TEuK.js";
3
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-CnZkCN7o.js";
1
+ import { bt as createPluginLogger, d as setPlugins, f as validatePlugins, qt as getDb } from "../agent-hooks-CRuRcOg9.js";
2
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-pv4grNNb.js";
3
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-BcGGxOa6.js";
4
4
  import { a as pluginRuntimeRegistrationsFromPluginSet, i as pluginCliRegistrationsFromPluginSet, r as pluginCatalogConfigFromPluginSet } from "../plugins-egKWjgue.js";
5
5
  import { t as loadAppPluginSet } from "../plugin-module-BKGOXca2.js";
6
6
  import { stderr, stdout } from "node:process";
@@ -1,6 +1,6 @@
1
- import { n as pluginCatalogRuntime } from "../catalog-runtime-CVZ9TEuK.js";
2
- import { S as disconnectStateAdapter, t as create } from "../profile-6KWhg_-U.js";
3
- import { r as resolve } from "../resolve-CB45ZukQ.js";
1
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-pv4grNNb.js";
2
+ import { S as disconnectStateAdapter, t as create } from "../profile-CV97YuiL.js";
3
+ import { r as resolve } from "../resolve-DXVAzYa3.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 { a as getChatConfig } from "../config-BAhl7-RC.js";
2
- import { t as createJuniorSqlExecutor } from "../executor-BG2Armby.js";
3
- import { t as createPluginCatalogRuntime } from "../registry-Ctgdjt-W.js";
1
+ import { a as getChatConfig } from "../config-DMg679BW.js";
2
+ import { t as createJuniorSqlExecutor } from "../executor-B9R4cHte.js";
3
+ import { t as createPluginCatalogRuntime } from "../registry-C8I4IejN.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-BKGOXca2.js";
6
6
  import { fileURLToPath } from "node:url";
@@ -1,5 +1,5 @@
1
- import { C as withSpan, f as logWarn, h as serializeGenAiAttribute, i as extractGenAiUsageAttributes, p as normalizeGenAiFinishReason, u as logException } from "./logging-iY0ssa2q.js";
2
- import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-C-4JQzKD.js";
1
+ import { d as logException, g as serializeGenAiAttribute, i as extractGenAiUsageAttributes, m as normalizeGenAiFinishReason, p as logWarn, w as withSpan } from "./logging-CcTvYQ8A.js";
2
+ import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-ZYy05Y3q.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,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { o as resolveGatewayModel, w as toOptionalTrimmed } from "./client-B27ufhzl.js";
3
- import { f as logWarn } from "./logging-iY0ssa2q.js";
4
- import { c as TURN_REASONING_LEVELS, l as parseTurnReasoningLevel, o as modelProfileSchema } from "./model-profile-CZmVoGdX.js";
2
+ import { o as resolveGatewayModel, w as toOptionalTrimmed } from "./client-ihmkx60d.js";
3
+ import { p as logWarn } from "./logging-CcTvYQ8A.js";
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]))?$/;
7
7
  function normalizeSlackEmojiName(value) {
@@ -124,13 +124,14 @@ function parseCrossActorMidRunMode(rawValue) {
124
124
  if (value === "follow_up" || value === "steer") return value;
125
125
  throw new Error("JUNIOR_CROSS_ACTOR_MID_RUN_MODE must be follow_up or steer");
126
126
  }
127
- const DEFAULT_MODEL_ID = "xai/grok-4.5";
127
+ const DEFAULT_MODEL_ID = resolveGatewayModel(DEFAULT_MODEL_PROFILES.standard.modelId).id;
128
128
  const DEFAULT_FAST_MODEL_ID = resolveGatewayModel("openai/gpt-6-luna").id;
129
129
  const DEFAULT_GUARDIAN_MODEL_ID = resolveGatewayModel("openai/gpt-6-luna").id;
130
- const DEFAULT_HANDOFF_MODEL_ID = resolveGatewayModel("anthropic/claude-opus-5.5").id;
130
+ const DEFAULT_HANDOFF_MODEL_ID = resolveGatewayModel(DEFAULT_MODEL_PROFILES.handoff.modelId).id;
131
131
  const DEFAULT_WEB_SEARCH_MODEL_ID = resolveGatewayModel("openai/gpt-6-luna").id;
132
132
  const DEFAULT_EMBEDDING_MODEL_ID = "openai/text-embedding-3-small";
133
133
  const DEFAULT_IMAGE_GENERATION_MODEL_ID = "google/gemini-3-pro-image";
134
+ const DEFAULT_VISION_MODEL_ID = resolveGatewayModel("openai/gpt-5.6-sol").id;
134
135
  function validateGatewayModelId(raw) {
135
136
  const trimmed = toOptionalTrimmed(raw);
136
137
  if (trimmed === void 0) return void 0;
@@ -145,8 +146,6 @@ function requireModelId(configName, raw, validate) {
145
146
  if (!modelId) throw new Error(`${configName} must not be empty`);
146
147
  return modelId;
147
148
  }
148
- const DEFAULT_STANDARD_PROFILE_DESCRIPTION = "Use for default assistant work: lookups, explanations, ordinary tool use, short answers, and light investigation of one source. Avoid for implementation, debugging, multi-file changes, architecture decisions, or research across several systems.";
149
- const DEFAULT_HANDOFF_PROFILE_DESCRIPTION = "Use for coding and difficult multi-step work: implementation, debugging, root-cause analysis, broad refactors, multi-file changes, architecture decisions, and research across several systems. Avoid for simple lookups, short answers, single-file reads, or ordinary tool use that the default profile can finish.";
150
149
  function parseOptionalProfileDescription(rawDescription, configName, profile) {
151
150
  if (rawDescription === void 0) return;
152
151
  if (typeof rawDescription !== "string") throw new Error(`${configName}.${profile}.description must be a string when set`);
@@ -193,13 +192,12 @@ function parseProfileMap(rawProfiles, configName) {
193
192
  function parseProfiles(rawValue, standardModelId, handoffModelId) {
194
193
  const profiles = {
195
194
  standard: {
196
- modelId: standardModelId,
197
- description: DEFAULT_STANDARD_PROFILE_DESCRIPTION
195
+ ...DEFAULT_MODEL_PROFILES.standard,
196
+ modelId: standardModelId
198
197
  },
199
198
  handoff: {
200
- modelId: handoffModelId,
201
- description: DEFAULT_HANDOFF_PROFILE_DESCRIPTION,
202
- reasoningLevel: "high"
199
+ ...DEFAULT_MODEL_PROFILES.handoff,
200
+ modelId: handoffModelId
203
201
  }
204
202
  };
205
203
  const trimmed = toOptionalTrimmed(rawValue);
@@ -252,7 +250,7 @@ function readBotConfig(env, functionMaxDurationSeconds) {
252
250
  imageGenerationModelId: toOptionalTrimmed(env.AI_IMAGE_MODEL) ?? DEFAULT_IMAGE_GENERATION_MODEL_ID,
253
251
  embeddingModelId: validateEmbeddingModelId(env.AI_EMBEDDING_MODEL) ?? DEFAULT_EMBEDDING_MODEL_ID,
254
252
  loadingMessages: parseLoadingMessages(env.JUNIOR_LOADING_MESSAGES),
255
- visionModelId: validateGatewayModelId(env.AI_VISION_MODEL),
253
+ visionModelId: env.AI_VISION_MODEL === void 0 ? DEFAULT_VISION_MODEL_ID : validateGatewayModelId(env.AI_VISION_MODEL),
256
254
  maxSlicesPerTurn: MAX_SLICES_PER_TURN,
257
255
  maxToolCallsPerTurn: MAX_TOOL_CALLS_PER_TURN,
258
256
  maxConsecutiveAutomatedTurns: MAX_CONSECUTIVE_AUTOMATED_TURNS,
@@ -1,4 +1,4 @@
1
- import { c as TURN_REASONING_LEVELS, o as modelProfileSchema } from "./model-profile-CZmVoGdX.js";
1
+ import { l as TURN_REASONING_LEVELS, s as modelProfileSchema } from "./model-profile-BwU8mqwD.js";
2
2
  import { z } from "zod";
3
3
  import { actorSchema, codeChangeStateSchema, conversationAnnotationInputSchema, conversationEventPresentationSchema, conversationSidebarAnnotationSchema, ownedObjectAnnotationSchema } from "@sentry/junior-plugin-api";
4
4
  //#region src/usage-schema.ts