@sentry/junior 0.236.0 → 0.237.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-Da_H0jHv.js → agent-hooks-otHGbhBx.js} +18 -7
  2. package/dist/{agent-runner-uP7QRc4c.js → agent-runner-DMAsnPb9.js} +121 -21
  3. package/dist/api/schema.js +2 -2
  4. package/dist/api.js +19 -19
  5. package/dist/app.js +21 -21
  6. package/dist/{automation-B9Kc1gcf.js → automation-CrQGQ2MT.js} +3 -2
  7. package/dist/{briefs-DrjBPQFy.js → briefs-DDA1ugXk.js} +2 -2
  8. package/dist/{catalog-runtime-C7339Cfm.js → catalog-runtime-DlXuhrmk.js} +1 -1
  9. package/dist/{checkpoint-DaD7_Gsb.js → checkpoint-BlIIiHG5.js} +5 -5
  10. package/dist/cli/chat.js +13 -13
  11. package/dist/cli/check.js +3 -3
  12. package/dist/cli/main.js +1 -1
  13. package/dist/cli/plugins.js +3 -3
  14. package/dist/cli/snapshot-create.js +3 -3
  15. package/dist/cli/upgrade.js +3 -3
  16. package/dist/{client-Ch9Hg9NU.js → client-CPMbTmJU.js} +2 -2
  17. package/dist/{config-JR9wke1W.js → config-CxpPG6nR.js} +2 -2
  18. package/dist/{conversation-privacy-au02dyZK.js → conversation-privacy-Dbkdvozu.js} +1 -1
  19. package/dist/{credential-sync-BWTA3LnL.js → credential-sync-D9yGg3q5.js} +13 -13
  20. package/dist/{executor-BW9XWgUQ.js → executor-BNxfDS1V.js} +3 -2
  21. package/dist/{images-BdG7zcNf.js → images-D6Y3FJDQ.js} +2 -2
  22. package/dist/instrumentation.js +2 -2
  23. package/dist/{job-queue-BqXd0ZPV.js → job-queue-Dq5_zt_l.js} +1 -1
  24. package/dist/{logging-B4sKwmCG.js → logging-rB_ngE_R.js} +1 -1
  25. package/dist/nitro.js +3 -3
  26. package/dist/{oauth-authorization-BjRN99dc.js → oauth-authorization-5T1S1v_1.js} +1 -1
  27. package/dist/{oauth-callback-server-B_1p98Mb.js → oauth-callback-server-Csw7RssK.js} +2 -2
  28. package/dist/{pending-auth-WqF4Gh8Z.js → pending-auth-moCA2mTc.js} +1 -1
  29. package/dist/{profile-BamYnmhO.js → profile-D6apIG2N.js} +4 -4
  30. package/dist/{registry-CXNv9fDX.js → registry-zfTzTHe6.js} +1 -1
  31. package/dist/{resolve-C9ETkt4T.js → resolve-sJtTzuBO.js} +2 -2
  32. package/dist/{runner-DnBGVRnW.js → runner-DkCk8cbc.js} +8 -8
  33. package/dist/{sandbox-egress-signals-DwJ7Boi_.js → sandbox-egress-signals-tSQ8OEcw.js} +1 -1
  34. package/dist/{schema-CJiqDc5r.js → schema-C5bgOpRg.js} +1 -1
  35. package/dist/{skills-Dd8O9Aav.js → skills-BVpr_Gnv.js} +2 -2
  36. package/dist/{spawn-DFdRspSD.js → spawn-CJhmyE4E.js} +2 -2
  37. package/dist/{task-queue-DGQEOk1A.js → task-queue-BAiZ7_CF.js} +3 -3
  38. package/dist/{task-runner-C5XCIDSF.js → task-runner-Bh8XONXT.js} +8 -8
  39. package/dist/{thread-state-D3E29wZk.js → thread-state-BnQln4jO.js} +5 -5
  40. package/dist/{turn-failure-response-TDoj0aZz.js → turn-failure-response-Ba7_kItn.js} +7 -7
  41. package/dist/{turn-lifecycle-DOnU45p7.js → turn-lifecycle-D6CTbkb9.js} +1 -1
  42. package/dist/{turn-session-routing-DbpZZoin.js → turn-session-routing-DNevs9H7.js} +1 -1
  43. package/dist/{validation-B9lMbisx.js → validation-BNPhuAvt.js} +2 -3
  44. package/dist/{version-CWkIGcLU.js → version-EQ4MWuUJ.js} +1 -1
  45. package/dist/version.js +1 -1
  46. package/dist/{web-authorization-PPaoj2ns.js → web-authorization-DDt4FZld.js} +6 -6
  47. package/dist/{web-input-CfNxXtHm.js → web-input-C56ivZuH.js} +22 -90
  48. package/dist/{work-DNaoFrEe.js → work-DJ7hb9Ul.js} +7 -7
  49. package/dist/{worker-xeJLxYwm.js → worker-DiiV8Lba.js} +5 -5
  50. package/migrations/0047_user_timezone.sql +1 -0
  51. package/migrations/meta/0047_snapshot.json +3713 -0
  52. package/migrations/meta/_journal.json +7 -0
  53. package/package.json +4 -4
@@ -1,30 +1,30 @@
1
- import { An as postSlackMessage, At as appendAndEnqueueExclusiveInboundMessage, Bn as shouldEmitDevAgentTrace, C as isExperimentalFeatureEnabled, Cn as escapeSlackMrkdwnText, D as renderBlockText, E as renderAttachmentText, En as normalizeSlackStatusText, Et as getEventCatalog, F as resolveSlackChannelIdFromThreadId, Fn as buildSteeringPiMessage, I as getConversationInfo, In as RetryableDeliveryError, J as withScheduledAutomationLock, K as saveScheduledAutomationInLock, L as listThreadReplies, M as parseSlackThreadId, N as readSlackRawMessageContext, On as truncateStatusText, Ot as pluginEventCatalog, P as resolveSlackChannelIdFromMessage, Pn as createUserTokenStore, Q as effectiveTaskOutcomes, Tn as normalizeSlackReplyMarkdown, Tt as isEventMailboxMetadata, U as parseScheduledAutomationRow, W as readScheduledAutomation, Wt as getConversationWorkState, Z as eventAutomationTriggerAvailable, at as listDeletedEventAutomationsCreatedBy, cn as maybePostAutomatedTurnLimitNotice, ft as sameDefinitionValue, h as latestProgressStatus, i as createContextCompactor, it as getEventAutomation, j as storeAttachment, jn as removeReactionFromMessage, jt as appendAndEnqueueInboundMessage, kn as addReactionToMessage, ln as recordFinishedTurnForAutomatedLimit, lt as automationDefinition, m as PluginCredentialFailureError, nt as eventAutomationBelongsToUser, ot as parseEventAutomationRow, r as executeAgentRun, t as createAgentRunner, tt as deleteEventAutomation, ut as listAutomationVersions, wn as formatSlackLink, wt as EVENT_WAIT_MS, zn as AuthorizationFlowDisabledError } from "./agent-runner-uP7QRc4c.js";
2
- import { f as escapeXml, i as completeText, r as completeObject, v as isProviderRetryError } from "./client-Ch9Hg9NU.js";
3
- import { C as withLogContext, I as isRecord, L as toOptionalNumber, R as toOptionalString, _ as setSentryUser, b as setTags, d as logException, f as logInfo, n as createChatSdkLogger, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, u as logError, v as setSpanAttributes, w as withSpan } from "./logging-B4sKwmCG.js";
4
- import { c as getSlackClientSecret, i as getChatConfig, l as getSlackSigningSecret, n as botConfig, o as getSlackBotToken, s as getSlackClientId, v as normalizeSlackEmojiName } from "./config-JR9wke1W.js";
1
+ import { $ as effectiveTaskOutcomes, An as addReactionToMessage, Bn as AuthorizationFlowDisabledError, C as isExperimentalFeatureEnabled, D as renderBlockText, Dn as normalizeSlackStatusText, Dt as getEventCatalog, E as renderAttachmentText, En as normalizeSlackReplyMarkdown, Et as isEventMailboxMetadata, F as resolveSlackChannelIdFromThreadId, Fn as createUserTokenStore, G as readScheduledAutomation, Gt as getConversationWorkState, I as getConversationInfo, In as buildSteeringPiMessage, L as listThreadReplies, Ln as RetryableDeliveryError, M as parseSlackThreadId, Mn as removeReactionFromMessage, Mt as appendAndEnqueueInboundMessage, N as readSlackRawMessageContext, P as resolveSlackChannelIdFromMessage, Q as eventAutomationTriggerAvailable, Tn as formatSlackLink, Tt as EVENT_WAIT_MS, Vn as shouldEmitDevAgentTrace, W as parseScheduledAutomationRow, Y as withScheduledAutomationLock, at as getEventAutomation, dt as listAutomationVersions, h as latestProgressStatus, i as createContextCompactor, j as storeAttachment, jn as postSlackMessage, jt as appendAndEnqueueExclusiveInboundMessage, kn as truncateStatusText, kt as pluginEventCatalog, ln as maybePostAutomatedTurnLimitNotice, m as PluginCredentialFailureError, nt as deleteEventAutomation, ot as listDeletedEventAutomationsCreatedBy, pt as sameDefinitionValue, q as saveScheduledAutomationInLock, r as executeAgentRun, rt as eventAutomationBelongsToUser, st as parseEventAutomationRow, t as createAgentRunner, un as recordFinishedTurnForAutomatedLimit, ut as automationDefinition, wn as escapeSlackMrkdwnText, z as lookupSlackUser } from "./agent-runner-DMAsnPb9.js";
2
+ import { f as escapeXml, i as completeText, r as completeObject, v as isProviderRetryError } from "./client-CPMbTmJU.js";
3
+ import { C as withLogContext, I as isRecord, L as toOptionalNumber, R as toOptionalString, _ as setSentryUser, b as setTags, d as logException, f as logInfo, n as createChatSdkLogger, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, u as logError, v as setSpanAttributes, w as withSpan } from "./logging-rB_ngE_R.js";
4
+ import { c as getSlackClientSecret, i as getChatConfig, l as getSlackSigningSecret, n as botConfig, o as getSlackBotToken, s as getSlackClientId, v as normalizeSlackEmojiName } from "./config-CxpPG6nR.js";
5
5
  import { o as modelIdForProfile, r as defaultModelId } from "./model-profile-BwU8mqwD.js";
6
6
  import { a as createActor, b as parseSlackMessageTs, c as isActorUserId, l as isUserActor, o as createSlackActor, p as parseSlackChannelId, s as createSlackResumeActor, t as credentialContextForActor, u as parseActorUserId } from "./context-0Et9iVSB.js";
7
- import { B as SlackActionError, Bt as readAttachmentVisionSummary, J as runWithSlackInstallationToken, K as isDmChannel, Lt as buildSentryConversationUrl, Qt as getConversationEventStore, Rt as getSlackFileId, U as getHeaderString, V as downloadPrivateSlackFile, Vt as recordSlackAttachment, W as getSlackClient, _t as getDashboardConversationLink, bn as requireSlackDestination, en as getConversationStore, gt as JUNIOR_THREAD_STATE_TTL_MS, nn as getSqlExecutor, o as getPluginSlackConversationLink, q as normalizeSlackConversationId, st as cancelSubscriptions, tn as getDb, vn as createSlackDestination, vt as getDashboardObjectIconLink } from "./agent-hooks-Da_H0jHv.js";
7
+ import { B as SlackActionError, Bt as readAttachmentVisionSummary, J as runWithSlackInstallationToken, K as isDmChannel, Lt as buildSentryConversationUrl, Qt as getConversationEventStore, Rt as getSlackFileId, Sn as requireSlackDestination, U as getHeaderString, V as downloadPrivateSlackFile, Vt as recordSlackAttachment, W as getSlackClient, _t as getDashboardConversationLink, bn as createSlackDestination, en as getConversationStore, gt as JUNIOR_THREAD_STATE_TTL_MS, nn as getSqlExecutor, o as getPluginSlackConversationLink, q as normalizeSlackConversationId, st as cancelSubscriptions, tn as getDb, vt as getDashboardObjectIconLink } from "./agent-hooks-otHGbhBx.js";
8
8
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
9
- import { O as juniorIdentities, c as juniorAutomationExecutions, k as juniorUsers, o as juniorSchedulerTasks, u as juniorEventAutomations } from "./executor-BW9XWgUQ.js";
9
+ import { O as juniorIdentities, c as juniorAutomationExecutions, k as juniorUsers, o as juniorSchedulerTasks, u as juniorEventAutomations } from "./executor-BNxfDS1V.js";
10
10
  import { F as isVisionImageMediaType, N as readMessageAttachments, it as instructionProvenanceFor } from "./conversation-9Fxa1Zbq.js";
11
- import { $ as resolveConversationTitle, A as commitAcceptedReply, G as recordSubscribedReplyRoute, N as loadConversationProjection, O as trimTrailingAssistantMessages, P as loadProjection, Q as persistConversationMessageSummaries, V as recordAuthorizationCompleted, X as persistConversationMessages, Y as hydrateConversationMessages, a as completeTurnRecord, at as createConversationMemoryService, c as listTurnSummaries, ct as isHumanConversationMessage, dt as recordDeliveredAssistantMessage, ft as turnHasReply, i as abandonTurnRecord, it as buildConversationContext, j as commitMessages, l as recordTurnSummary, lt as markConversationMessage, mt as estimateTextTokens, n as loadTurnCheckpoint, o as failTurnRecord, ot as estimateConversationContextTokens, p as buildTurnErrorResponse, pt as upsertConversationMessage, r as saveTurnCheckpoint, rt as appendThreadContextMessages, s as getTurnRecord, st as getConversationMessageSlackTs, tt as fallbackShortTitle, u as persistWithRetry, ut as normalizeConversationText } from "./checkpoint-DaD7_Gsb.js";
12
- import { E as acquireActiveLock, O as withLock, T as MUTATION_LOCK_TTL_MS, w as getStateAdapter } from "./profile-BamYnmhO.js";
13
- import { a as isPendingAuthLatestRequest, o as buildDeterministicAssistantMessageId, r as clearPendingAuth, s as buildDeterministicTurnId } from "./pending-auth-WqF4Gh8Z.js";
14
- 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-BjRN99dc.js";
11
+ import { $ as resolveConversationTitle, A as commitAcceptedReply, G as recordSubscribedReplyRoute, N as loadConversationProjection, O as trimTrailingAssistantMessages, P as loadProjection, Q as persistConversationMessageSummaries, V as recordAuthorizationCompleted, X as persistConversationMessages, Y as hydrateConversationMessages, a as completeTurnRecord, at as createConversationMemoryService, c as listTurnSummaries, ct as isHumanConversationMessage, dt as recordDeliveredAssistantMessage, ft as turnHasReply, i as abandonTurnRecord, it as buildConversationContext, j as commitMessages, l as recordTurnSummary, lt as markConversationMessage, mt as estimateTextTokens, n as loadTurnCheckpoint, o as failTurnRecord, ot as estimateConversationContextTokens, p as buildTurnErrorResponse, pt as upsertConversationMessage, r as saveTurnCheckpoint, rt as appendThreadContextMessages, s as getTurnRecord, st as getConversationMessageSlackTs, tt as fallbackShortTitle, u as persistWithRetry, ut as normalizeConversationText } from "./checkpoint-BlIIiHG5.js";
12
+ import { E as acquireActiveLock, O as withLock, T as MUTATION_LOCK_TTL_MS, w as getStateAdapter } from "./profile-D6apIG2N.js";
13
+ import { a as isPendingAuthLatestRequest, o as buildDeterministicAssistantMessageId, r as clearPendingAuth, s as buildDeterministicTurnId } from "./pending-auth-moCA2mTc.js";
14
+ 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-5T1S1v_1.js";
15
15
  import { a as EVENT_SYSTEM_ACTOR, i as EVENT_MESSAGE_AUTHOR, o as isEventConversationMessage } from "./prompt-Ctwy6hSI.js";
16
- import { a as getVercelConversationWorkQueue, f as getTurnRequestDeadline } from "./job-queue-BqXd0ZPV.js";
17
- import { l as automationListQuerySchema } from "./automation-B9Kc1gcf.js";
16
+ import { a as getVercelConversationWorkQueue, f as getTurnRequestDeadline } from "./job-queue-Dq5_zt_l.js";
17
+ import { l as automationListQuerySchema } from "./automation-CrQGQ2MT.js";
18
18
  import { c as sumUtcHoursIntoSixHours, m as healthReportSchema, t as webMessageId } from "./web-message-id-xPI_EFSC.js";
19
- import { C as readAutomationExecutionStatusDays, D as readAutomationRuns, E as readAutomationExecutions, S as readAutomationExecutionHours, T as readAutomationExecutionSummaries, _ as markDispatchFailed, a as confirmDispatchMailboxAppend, b as readAutomationExecutionByConversationId, c as getDispatchInputMessageId, f as isTerminalDispatchStatus, g as markDispatchCompleted, h as markDispatchBlocked, i as claimDispatchMailboxAppend, l as getDispatchRecord, m as markDispatchAwaitingResume, n as scheduleSessionCompletedPluginTasks, s as getDispatchConversationId, t as processPluginTask, u as getDispatchTurnId, v as markDispatchRunning, w as readAutomationExecutionStatusHours, x as readAutomationExecutionDays, y as emptyAutomationRunWindows } from "./task-runner-C5XCIDSF.js";
20
- import { i as resolveAgentInvocationId, o as AgentRunError, s as executeTurn, t as createAgentInvocationWorker } from "./work-DNaoFrEe.js";
21
- import { n as getTurnLifecycle, t as ConversationTurnLifecycleService } from "./turn-lifecycle-DOnU45p7.js";
22
- 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-D3E29wZk.js";
23
- import { a as getPausedTurnRequest, c as getTurnAuthorization, i as createPausedTurns, n as deleteWebAuthorization, s as wakePausedTurn, t as createWebAuthorization } from "./web-authorization-PPaoj2ns.js";
24
- import { n as resolveTurnSessionRouting } from "./turn-session-routing-DbpZZoin.js";
25
- import { t as bindSpawnAgent } from "./spawn-DFdRspSD.js";
26
- 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-TDoj0aZz.js";
27
- import { r as storeInputImages } from "./images-BdG7zcNf.js";
19
+ import { C as readAutomationExecutionStatusDays, D as readAutomationRuns, E as readAutomationExecutions, S as readAutomationExecutionHours, T as readAutomationExecutionSummaries, _ as markDispatchFailed, a as confirmDispatchMailboxAppend, b as readAutomationExecutionByConversationId, c as getDispatchInputMessageId, f as isTerminalDispatchStatus, g as markDispatchCompleted, h as markDispatchBlocked, i as claimDispatchMailboxAppend, l as getDispatchRecord, m as markDispatchAwaitingResume, n as scheduleSessionCompletedPluginTasks, s as getDispatchConversationId, t as processPluginTask, u as getDispatchTurnId, v as markDispatchRunning, w as readAutomationExecutionStatusHours, x as readAutomationExecutionDays, y as emptyAutomationRunWindows } from "./task-runner-Bh8XONXT.js";
20
+ import { i as resolveAgentInvocationId, o as AgentRunError, s as executeTurn, t as createAgentInvocationWorker } from "./work-DJ7hb9Ul.js";
21
+ import { n as getTurnLifecycle, t as ConversationTurnLifecycleService } from "./turn-lifecycle-D6CTbkb9.js";
22
+ 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-BnQln4jO.js";
23
+ import { a as getPausedTurnRequest, c as getTurnAuthorization, i as createPausedTurns, n as deleteWebAuthorization, s as wakePausedTurn, t as createWebAuthorization } from "./web-authorization-DDt4FZld.js";
24
+ import { n as resolveTurnSessionRouting } from "./turn-session-routing-DNevs9H7.js";
25
+ import { t as bindSpawnAgent } from "./spawn-CJhmyE4E.js";
26
+ 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-Ba7_kItn.js";
27
+ import { r as storeInputImages } from "./images-D6Y3FJDQ.js";
28
28
  import { z } from "zod";
29
29
  import { createHash } from "node:crypto";
30
30
  import { and, asc, count, desc, eq, exists, inArray, ne, or, sql } from "drizzle-orm";
@@ -2210,74 +2210,6 @@ async function runWithSlackInstallation(args) {
2210
2210
  }, () => runWithSlackInstallationToken(tokenContext.token, args.task));
2211
2211
  }
2212
2212
  //#endregion
2213
- //#region src/chat/slack/user.ts
2214
- const slackUserInfoSchema = z.object({
2215
- ok: z.literal(true),
2216
- user: z.object({
2217
- name: z.string().nullish(),
2218
- profile: z.object({
2219
- email: z.string().nullish(),
2220
- real_name: z.string().nullish()
2221
- }).optional()
2222
- })
2223
- });
2224
- const USER_CACHE_TTL_MS = 3e5;
2225
- const userCache = /* @__PURE__ */ new Map();
2226
- function userCacheKey(teamId, userId) {
2227
- return `${teamId}:${userId}`;
2228
- }
2229
- function readFromCache(teamId, userId) {
2230
- const hit = userCache.get(userCacheKey(teamId, userId));
2231
- if (!hit) return null;
2232
- if (hit.expiresAt < Date.now()) {
2233
- userCache.delete(userCacheKey(teamId, userId));
2234
- return null;
2235
- }
2236
- return hit.value;
2237
- }
2238
- function writeToCache(teamId, userId, value) {
2239
- userCache.set(userCacheKey(teamId, userId), {
2240
- value,
2241
- expiresAt: Date.now() + USER_CACHE_TTL_MS
2242
- });
2243
- }
2244
- /** Fetch Slack user profile info with in-memory TTL cache to avoid repeated API calls. */
2245
- async function lookupSlackUser(teamId, userId) {
2246
- if (!teamId || !userId) return null;
2247
- const cached = readFromCache(teamId, userId);
2248
- if (cached) return cached;
2249
- const token = getSlackBotToken();
2250
- if (!token) return null;
2251
- try {
2252
- const response = await fetch(`https://slack.com/api/users.info?user=${encodeURIComponent(userId)}`, { headers: { authorization: `Bearer ${token}` } });
2253
- if (!response.ok) {
2254
- logWarn("slack.user.lookup.failed", {
2255
- "enduser.id": userId,
2256
- "app.slack.team_id": teamId,
2257
- "http.response.status_code": response.status
2258
- });
2259
- return null;
2260
- }
2261
- const parsed = slackUserInfoSchema.safeParse(await response.json());
2262
- if (!parsed.success) return null;
2263
- const payload = parsed.data;
2264
- const result = {
2265
- userName: payload.user.name?.trim() || void 0,
2266
- fullName: payload.user.profile?.real_name?.trim() || void 0,
2267
- email: payload.user.profile?.email?.trim() || void 0
2268
- };
2269
- writeToCache(teamId, userId, result);
2270
- return result;
2271
- } catch (error) {
2272
- logWarn("slack.user.lookup.failed", {
2273
- "enduser.id": userId,
2274
- "app.slack.team_id": teamId,
2275
- "exception.message": error instanceof Error ? error.message : String(error)
2276
- });
2277
- return null;
2278
- }
2279
- }
2280
- //#endregion
2281
2213
  //#region src/chat/task-execution/slack-work.ts
2282
2214
  const slackConversationRouteSchema = z.enum(["mention", "subscribed"]);
2283
2215
  function hasSteeringOverride(text) {
@@ -7914,4 +7846,4 @@ async function appendAndEnqueueWebMessage(input, options) {
7914
7846
  };
7915
7847
  }
7916
7848
  //#endregion
7917
- export { withNormalizedThreadId as A, enqueueAgentDispatch as B, clearSlackPendingReactions as C, isSlackMessageStopped as D, verifySlackSignature as E, parseContent as F, readHealthReport as H, getThreadStopDecision as I, renderSlackObjectCard as L, legacyWebMailboxMetadataSchema as M, THREAD_OPTOUT_ACK as N, stopSlackThread as O, startProcessingReaction as P, createVercelAttachmentStorage as R, buildSlackInboundMessage as S, runWithSlackInstallation as T, GET as V, readViewerAutomationSummary as _, recordWebConversationActivity as a, resolveViewerTaskCandidate as b, createProductionSlackWebhookServices as c, resolveSlackConversationContextFromThreadId as d, ViewerTaskNotFoundError as f, readViewerAutomationRuns as g, readViewerAutomationExecutions as h, createConversationId as i, getAuthPausedConversationTurnId as j, normalizeIncomingSlackThreadId as k, getProductionSlackAdapter as l, readConversationSourceTask as m, conversationTurnIdForMessage as n, webActorFromEmail as o, deleteViewerTask as p, createAndEnqueueConversation as r, createProductionConversationWorkOptions as s, appendAndEnqueueWebMessage as t, formatSlackConversationRedactedLabel as u, readViewerAutomationVersions as v, lookupSlackUser as w, recordSkippedConversationMessage as x, readViewerAutomations as y, AGENT_DISPATCH_MAX_AGE_MS as z };
7849
+ export { getAuthPausedConversationTurnId as A, GET as B, clearSlackPendingReactions as C, stopSlackThread as D, isSlackMessageStopped as E, getThreadStopDecision as F, renderSlackObjectCard as I, createVercelAttachmentStorage as L, THREAD_OPTOUT_ACK as M, startProcessingReaction as N, normalizeIncomingSlackThreadId as O, parseContent as P, AGENT_DISPATCH_MAX_AGE_MS as R, buildSlackInboundMessage as S, verifySlackSignature as T, readHealthReport as V, readViewerAutomationSummary as _, recordWebConversationActivity as a, resolveViewerTaskCandidate as b, createProductionSlackWebhookServices as c, resolveSlackConversationContextFromThreadId as d, ViewerTaskNotFoundError as f, readViewerAutomationRuns as g, readViewerAutomationExecutions as h, createConversationId as i, legacyWebMailboxMetadataSchema as j, withNormalizedThreadId as k, getProductionSlackAdapter as l, readConversationSourceTask as m, conversationTurnIdForMessage as n, webActorFromEmail as o, deleteViewerTask as p, createAndEnqueueConversation as r, createProductionConversationWorkOptions as s, appendAndEnqueueWebMessage as t, formatSlackConversationRedactedLabel as u, readViewerAutomationVersions as v, runWithSlackInstallation as w, recordSkippedConversationMessage as x, readViewerAutomations as y, enqueueAgentDispatch as z };
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { _t as agentInvocationSchema, bt as AgentInvocationLimitError, gt as agentBindingSchema, jt as appendAndEnqueueInboundMessage, m as PluginCredentialFailureError, n as runAgentWithTimeout, vt as createAgentInvocationSchema, yt as AgentInvocationBusyError, zn as AuthorizationFlowDisabledError } from "./agent-runner-uP7QRc4c.js";
3
- import { Qt as getConversationEventStore, en as getConversationStore, nn as getSqlExecutor } from "./agent-hooks-Da_H0jHv.js";
4
- import { m as juniorAgentInvocations, p as juniorAgentBindings } from "./executor-BW9XWgUQ.js";
5
- import { L as openConversationProjection, _ as getTerminalAssistantMessages, o as failTurnRecord, r as saveTurnCheckpoint, s as getTurnRecord } from "./checkpoint-DaD7_Gsb.js";
6
- import { d as getConversationTurnBoundaryError, l as TurnInputCommitLostError, p as isTurnInputCommitLostError, r as getAssistantReplyText } from "./oauth-authorization-BjRN99dc.js";
7
- import { t as ConversationTurnLifecycleService } from "./turn-lifecycle-DOnU45p7.js";
8
- import { n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState } from "./thread-state-D3E29wZk.js";
2
+ import { Bn as AuthorizationFlowDisabledError, Mt as appendAndEnqueueInboundMessage, _t as agentBindingSchema, bt as AgentInvocationBusyError, m as PluginCredentialFailureError, n as runAgentWithTimeout, vt as agentInvocationSchema, xt as AgentInvocationLimitError, yt as createAgentInvocationSchema } from "./agent-runner-DMAsnPb9.js";
3
+ import { Qt as getConversationEventStore, en as getConversationStore, nn as getSqlExecutor } from "./agent-hooks-otHGbhBx.js";
4
+ import { m as juniorAgentInvocations, p as juniorAgentBindings } from "./executor-BNxfDS1V.js";
5
+ import { L as openConversationProjection, _ as getTerminalAssistantMessages, o as failTurnRecord, r as saveTurnCheckpoint, s as getTurnRecord } from "./checkpoint-BlIIiHG5.js";
6
+ import { d as getConversationTurnBoundaryError, l as TurnInputCommitLostError, p as isTurnInputCommitLostError, r as getAssistantReplyText } from "./oauth-authorization-5T1S1v_1.js";
7
+ import { t as ConversationTurnLifecycleService } from "./turn-lifecycle-D6CTbkb9.js";
8
+ import { n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState } from "./thread-state-BnQln4jO.js";
9
9
  import { z } from "zod";
10
10
  import { createHash } from "node:crypto";
11
11
  import { and, asc, count, eq, inArray } from "drizzle-orm";
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { $t as startConversationWork, Bt as deadLetterAttempt, Ft as clearConsumedConversationWake, Ht as ensureConversationWake, Jt as recordConversationRetry, Lt as completeConversationStop, Mt as beginConversationResume, Pt as checkInConversationWork, Rt as completeConversationWork, Vt as drainConversationMailbox, Wt as getConversationWorkState, Yt as releaseConversationWork, Zt as requestAnotherSlice, an as isFinalAttempt, kt as ackMessages, on as isInvalidConversationRecordError, qt as recordAttemptFailure, rn as hasConversationStop, zt as countPendingConversationMessages } from "./agent-runner-uP7QRc4c.js";
3
- import { v as isProviderRetryError } from "./client-Ch9Hg9NU.js";
4
- import { C as withLogContext, d as logException, f as logInfo, p as logWarn } from "./logging-B4sKwmCG.js";
5
- import { i as getChatConfig } from "./config-JR9wke1W.js";
6
- import { f as getTurnRequestDeadline, m as ConversationQueueMessageRejectedError } from "./job-queue-BqXd0ZPV.js";
2
+ import { At as ackMessages, Bt as countPendingConversationMessages, Ft as checkInConversationWork, Gt as getConversationWorkState, Ht as drainConversationMailbox, It as clearConsumedConversationWake, Jt as recordAttemptFailure, Nt as beginConversationResume, Qt as requestAnotherSlice, Rt as completeConversationStop, Ut as ensureConversationWake, Vt as deadLetterAttempt, Xt as releaseConversationWork, Yt as recordConversationRetry, en as startConversationWork, in as hasConversationStop, on as isFinalAttempt, sn as isInvalidConversationRecordError, zt as completeConversationWork } from "./agent-runner-DMAsnPb9.js";
3
+ import { v as isProviderRetryError } from "./client-CPMbTmJU.js";
4
+ import { C as withLogContext, d as logException, f as logInfo, p as logWarn } from "./logging-rB_ngE_R.js";
5
+ import { i as getChatConfig } from "./config-CxpPG6nR.js";
6
+ import { f as getTurnRequestDeadline, m as ConversationQueueMessageRejectedError } from "./job-queue-Dq5_zt_l.js";
7
7
  //#region src/chat/task-execution/worker.ts
8
8
  var worker_exports = /* @__PURE__ */ __exportAll({
9
9
  CONVERSATION_WORK_DEFER_DELAY_MS: () => CONVERSATION_WORK_DEFER_DELAY_MS,
@@ -0,0 +1 @@
1
+ ALTER TABLE "junior_users" ADD COLUMN "timezone" text;