@sentry/junior 0.148.0 → 0.149.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 (70) hide show
  1. package/dist/{agent-hooks-VAUYT6PD.js → agent-hooks-CWMCXAMT.js} +10 -10
  2. package/dist/api/conversations/aggregate.d.ts +2 -0
  3. package/dist/api/conversations/create.d.ts +1 -1
  4. package/dist/api/conversations/pending-messages.d.ts +15 -0
  5. package/dist/api/people/shared.d.ts +2 -0
  6. package/dist/api/schema/conversation.d.ts +78 -4
  7. package/dist/api/schema.d.ts +2 -2
  8. package/dist/api/schema.js +7 -1
  9. package/dist/api.js +182 -33
  10. package/dist/app.js +92 -133
  11. package/dist/{catalog-runtime-WADOZVTB.js → catalog-runtime-GAW5APVI.js} +5 -5
  12. package/dist/chat/api-turns/work.d.ts +6 -1
  13. package/dist/chat/app/services.d.ts +1 -1
  14. package/dist/chat/runtime/reply-executor.d.ts +0 -2
  15. package/dist/chat/services/conversation-memory.d.ts +2 -2
  16. package/dist/chat/services/conversation-title.d.ts +20 -0
  17. package/dist/chat/slack/assistant-thread/title.d.ts +10 -27
  18. package/dist/chat/state/conversation.d.ts +1 -0
  19. package/dist/{chunk-2B3PT3V2.js → chunk-25SC7D6Z.js} +1 -1
  20. package/dist/{chunk-POSZWRGL.js → chunk-2JHKISQA.js} +1 -1
  21. package/dist/{chunk-VY6W3T43.js → chunk-2P6BQQER.js} +4 -4
  22. package/dist/{chunk-4GXJUYJV.js → chunk-32CXPIZE.js} +2 -2
  23. package/dist/{chunk-VRHTNBA6.js → chunk-3GYZ5YEH.js} +3 -3
  24. package/dist/{chunk-D3WPMGEX.js → chunk-3I2IVWSZ.js} +1 -1
  25. package/dist/{chunk-45LOR4PU.js → chunk-3JVUWLR7.js} +45 -1
  26. package/dist/{chunk-LE5H7LMT.js → chunk-3KGQOKIG.js} +1 -1
  27. package/dist/{chunk-4AQZYNHM.js → chunk-4JGM7FXO.js} +2 -2
  28. package/dist/{chunk-IL4EDBMV.js → chunk-4YKPOYRV.js} +5 -5
  29. package/dist/{chunk-ZPL2RR7F.js → chunk-5CWUQXXT.js} +28 -20
  30. package/dist/{chunk-LAZGHEYU.js → chunk-6G5RCDKP.js} +1 -1
  31. package/dist/{chunk-ULAU5ZGU.js → chunk-75DSYFFB.js} +24 -24
  32. package/dist/{chunk-ZCHIC2GM.js → chunk-7BH46NB4.js} +6 -6
  33. package/dist/{chunk-7OEIXFC3.js → chunk-ALJG73MQ.js} +1 -1
  34. package/dist/{chunk-LNVEIJ2L.js → chunk-ART7P442.js} +5 -5
  35. package/dist/{chunk-VMNRXKAH.js → chunk-DK5UT6PQ.js} +24 -26
  36. package/dist/{chunk-VCYSOXON.js → chunk-EW2LNCRL.js} +545 -7
  37. package/dist/{chunk-DUY5CDAM.js → chunk-EXW76GW4.js} +1 -1
  38. package/dist/{chunk-WCN4YSH7.js → chunk-JMH3DBM5.js} +6 -6
  39. package/dist/{chunk-HLPLT3NY.js → chunk-JMSMXXED.js} +8 -4
  40. package/dist/{chunk-WOONT5ZP.js → chunk-MEMURSBG.js} +1 -1
  41. package/dist/{chunk-QOWHHM3F.js → chunk-QIW7OQEO.js} +1 -1
  42. package/dist/{chunk-XJ42NBP5.js → chunk-RB26T3LU.js} +8 -8
  43. package/dist/{chunk-EAI67NTM.js → chunk-RLVZIWNQ.js} +1 -1
  44. package/dist/{chunk-V2FXMOEA.js → chunk-SWHPVZBV.js} +2 -2
  45. package/dist/{chunk-D6YX4NNN.js → chunk-TFBNBXPU.js} +4 -4
  46. package/dist/{chunk-GXYDVZKM.js → chunk-URDCZAL4.js} +5 -5
  47. package/dist/{chunk-RRJV5UR5.js → chunk-UZGASGOD.js} +11 -337
  48. package/dist/{chunk-OJCP3C3J.js → chunk-W7UONUIZ.js} +6 -6
  49. package/dist/{chunk-HWQGBIH7.js → chunk-X22XXSZA.js} +1 -1
  50. package/dist/{chunk-EINWQFXI.js → chunk-XPYWWMHR.js} +5 -5
  51. package/dist/{chunk-55F4QU2V.js → chunk-ZYMYLLWG.js} +1 -1
  52. package/dist/cli/chat.js +30 -31
  53. package/dist/cli/check.js +6 -6
  54. package/dist/cli/plugins.js +13 -13
  55. package/dist/cli/snapshot-create.js +9 -9
  56. package/dist/cli/upgrade.js +7 -7
  57. package/dist/{db-XUKZRFFK.js → db-JBZLRIVY.js} +7 -7
  58. package/dist/instrumentation.js +4 -4
  59. package/dist/nitro.js +2 -2
  60. package/dist/{oauth-callback-server-LPZMMGFI.js → oauth-callback-server-MNTVYY2I.js} +23 -24
  61. package/dist/{runner-DGKUTMPX.js → runner-K24BWZSZ.js} +21 -22
  62. package/dist/{skills-P7YUFSXM.js → skills-AU5ST2CG.js} +6 -6
  63. package/dist/spawn-6PO7CVJ6.js +38 -0
  64. package/dist/{validation-S7U5M5NR.js → validation-IXGZCFRO.js} +6 -6
  65. package/dist/version.js +1 -1
  66. package/dist/{work-GAA7TVAD.js → work-WCZIYILX.js} +17 -17
  67. package/dist/{worker-JXPJH3QB.js → worker-U2AACBEY.js} +11 -11
  68. package/package.json +5 -5
  69. package/dist/chunk-4EA2SFK2.js +0 -137
  70. package/dist/spawn-DSK3ZEVD.js +0 -38
@@ -4,18 +4,18 @@ import {
4
4
  } from "./chunk-EM225ITJ.js";
5
5
  import {
6
6
  getStateAdapter
7
- } from "./chunk-2B3PT3V2.js";
7
+ } from "./chunk-25SC7D6Z.js";
8
8
  import {
9
9
  toOptionalTrimmed
10
- } from "./chunk-4GXJUYJV.js";
10
+ } from "./chunk-32CXPIZE.js";
11
11
  import {
12
12
  pluginCatalogRuntime
13
- } from "./chunk-HWQGBIH7.js";
13
+ } from "./chunk-X22XXSZA.js";
14
14
  import {
15
15
  setSpanAttributes,
16
16
  setSpanStatus,
17
17
  withSpan
18
- } from "./chunk-EAI67NTM.js";
18
+ } from "./chunk-RLVZIWNQ.js";
19
19
 
20
20
  // src/chat/sandbox/resources.ts
21
21
  var configuredResources;
@@ -3,7 +3,7 @@ import {
3
3
  toCanonicalInputMessage,
4
4
  toCanonicalOutputMessage,
5
5
  toGenAiMessagesTraceAttributes
6
- } from "./chunk-LE5H7LMT.js";
6
+ } from "./chunk-3KGQOKIG.js";
7
7
  import {
8
8
  extractGenAiUsageAttributes,
9
9
  logException,
@@ -11,7 +11,7 @@ import {
11
11
  normalizeGenAiFinishReason,
12
12
  serializeGenAiAttribute,
13
13
  withSpan
14
- } from "./chunk-EAI67NTM.js";
14
+ } from "./chunk-RLVZIWNQ.js";
15
15
 
16
16
  // src/chat/services/provider-error.ts
17
17
  var ProviderError = class extends Error {
@@ -5,12 +5,12 @@ import {
5
5
  juniorConversations,
6
6
  juniorIdentities,
7
7
  juniorUsers
8
- } from "./chunk-D3WPMGEX.js";
8
+ } from "./chunk-3I2IVWSZ.js";
9
9
  import {
10
10
  TURN_REASONING_LEVELS,
11
11
  getChatConfig,
12
12
  modelProfileSchema
13
- } from "./chunk-4GXJUYJV.js";
13
+ } from "./chunk-32CXPIZE.js";
14
14
  import {
15
15
  juniorDestinations
16
16
  } from "./chunk-VFUK3X5B.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-F3B2YJ76.js";
21
21
  import {
22
22
  normalizeIdentityEmail
23
- } from "./chunk-EAI67NTM.js";
23
+ } from "./chunk-RLVZIWNQ.js";
24
24
 
25
25
  // src/chat/conversations/sql/store.ts
26
26
  import { randomUUID as randomUUID2 } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SQL_STATEMENT_TIMEOUT_MS
3
- } from "./chunk-4GXJUYJV.js";
3
+ } from "./chunk-32CXPIZE.js";
4
4
  import {
5
5
  juniorDestinations,
6
6
  timestamptz
@@ -70,7 +70,9 @@ var archiveConversationBodySchema = z2.object({ archived: z2.boolean(), lastSeen
70
70
  var archiveConversationResponseSchema = z2.object({ archived: z2.boolean() }).strict();
71
71
  var createConversationBodySchema = z2.object({
72
72
  idempotencyKey: z2.string().trim().min(1).max(200),
73
- message: z2.string().trim().min(1).max(32e3)
73
+ message: z2.string().trim().min(1).max(32e3),
74
+ /** New roots default public. Private roots stay participant-only. */
75
+ visibility: z2.enum(["private", "public"]).optional()
74
76
  }).strict();
75
77
  var createConversationMessageBodySchema = z2.object({
76
78
  idempotencyKey: z2.string().trim().min(1).max(200),
@@ -87,6 +89,40 @@ var actorIdentitySchema = z2.object({
87
89
  slackUserId: z2.string().optional(),
88
90
  slackUserName: z2.string().optional()
89
91
  }).strict();
92
+ var conversationPendingMessageDeliverySchema = z2.enum([
93
+ "defer",
94
+ "interrupt"
95
+ ]);
96
+ var conversationPendingMessageSchema = z2.object({
97
+ actorIdentity: actorIdentitySchema.optional(),
98
+ createdAt: z2.string().datetime(),
99
+ delivery: conversationPendingMessageDeliverySchema,
100
+ inboundMessageId: z2.string().min(1),
101
+ messageId: z2.string().min(1),
102
+ receivedAt: z2.string().datetime(),
103
+ role: z2.literal("user"),
104
+ source: z2.enum(["slack", "web"]),
105
+ text: z2.string().optional(),
106
+ redacted: z2.literal(true).optional()
107
+ }).strict().superRefine((data, context) => {
108
+ if (data.text === void 0 === (data.redacted !== true)) {
109
+ context.addIssue({
110
+ code: "custom",
111
+ message: "pending message content must be text or explicitly redacted"
112
+ });
113
+ }
114
+ if (data.redacted && data.actorIdentity) {
115
+ context.addIssue({
116
+ code: "custom",
117
+ message: "redacted pending messages must not expose actor identity"
118
+ });
119
+ }
120
+ });
121
+ var conversationPendingMessagesReportSchema = z2.object({
122
+ conversationId: z2.string().min(1),
123
+ generatedAt: z2.string().datetime(),
124
+ messages: z2.array(conversationPendingMessageSchema)
125
+ }).strict();
90
126
  var conversationAuxiliaryCostsSchema = z2.object({
91
127
  costUsd: z2.number().finite().nonnegative(),
92
128
  operations: z2.array(
@@ -138,6 +174,7 @@ var conversationReportMessageEventDataSchema = z2.object({
138
174
  type: z2.literal("message"),
139
175
  messageId: z2.string().min(1),
140
176
  role: z2.enum(["assistant", "system", "user"]),
177
+ source: z2.literal("web").optional(),
141
178
  actorIdentity: actorIdentitySchema.optional(),
142
179
  eventType: z2.string().min(1).optional(),
143
180
  text: z2.string().optional(),
@@ -462,10 +499,12 @@ var conversationStatsItemSchema = z2.object({
462
499
  tokens: z2.number().optional()
463
500
  }).strict();
464
501
  var conversationMetricDaySchema = z2.object({
502
+ cachedInputTokens: z2.number().optional(),
465
503
  conversations: z2.number(),
466
504
  costUsd: z2.number().optional(),
467
505
  date: z2.string(),
468
506
  durationMs: z2.number(),
507
+ inputTokens: z2.number().optional(),
469
508
  tokens: z2.number().optional()
470
509
  }).strict();
471
510
  var guardianMetricDaySchema = z2.object({
@@ -486,6 +525,7 @@ var guardianStatsSchema = z2.object({
486
525
  }).strict();
487
526
  var conversationStatsReportSchema = z2.object({
488
527
  active: z2.number(),
528
+ cachedInputTokens: z2.number().optional(),
489
529
  conversations: z2.number(),
490
530
  durationMs: z2.number(),
491
531
  failed: z2.number(),
@@ -496,6 +536,7 @@ var conversationStatsReportSchema = z2.object({
496
536
  actors: z2.array(conversationStatsItemSchema),
497
537
  source: z2.literal("conversation_index"),
498
538
  costUsd: z2.number().optional(),
539
+ inputTokens: z2.number().optional(),
499
540
  tokens: z2.number().optional(),
500
541
  windowEnd: z2.string(),
501
542
  windowStart: z2.string()
@@ -734,6 +775,9 @@ export {
734
775
  createConversationBodySchema,
735
776
  createConversationMessageBodySchema,
736
777
  acceptedConversationMessageSchema,
778
+ conversationPendingMessageDeliverySchema,
779
+ conversationPendingMessageSchema,
780
+ conversationPendingMessagesReportSchema,
737
781
  conversationAuxiliaryCostsSchema,
738
782
  conversationSummaryReportSchema,
739
783
  conversationReportEventDataSchema,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logWarn
3
- } from "./chunk-EAI67NTM.js";
3
+ } from "./chunk-RLVZIWNQ.js";
4
4
 
5
5
  // src/chat/conversation-privacy.ts
6
6
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-HWQGBIH7.js";
3
+ } from "./chunk-X22XXSZA.js";
4
4
  import {
5
5
  logWarn
6
- } from "./chunk-EAI67NTM.js";
6
+ } from "./chunk-RLVZIWNQ.js";
7
7
  import {
8
8
  skillRoots
9
9
  } from "./chunk-H4HBKISO.js";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  persistConversationMessages
3
- } from "./chunk-VCYSOXON.js";
3
+ } from "./chunk-EW2LNCRL.js";
4
4
  import {
5
5
  JUNIOR_THREAD_STATE_TTL_MS
6
6
  } from "./chunk-3Y47VMHV.js";
7
7
  import {
8
8
  getDb
9
- } from "./chunk-VRHTNBA6.js";
9
+ } from "./chunk-3GYZ5YEH.js";
10
10
  import {
11
11
  juniorLocationConfigurations
12
- } from "./chunk-D3WPMGEX.js";
12
+ } from "./chunk-3I2IVWSZ.js";
13
13
  import {
14
14
  getStateAdapter
15
- } from "./chunk-2B3PT3V2.js";
15
+ } from "./chunk-25SC7D6Z.js";
16
16
  import {
17
17
  juniorDestinations
18
18
  } from "./chunk-VFUK3X5B.js";
@@ -20,7 +20,7 @@ import {
20
20
  isRecord,
21
21
  toOptionalNumber,
22
22
  toOptionalString
23
- } from "./chunk-EAI67NTM.js";
23
+ } from "./chunk-RLVZIWNQ.js";
24
24
 
25
25
  // src/chat/conversations/turn-lifecycle.ts
26
26
  var ConversationTurnLifecycleService = class {
@@ -1,33 +1,29 @@
1
1
  import {
2
2
  appendAndEnqueueInboundMessage
3
- } from "./chunk-HLPLT3NY.js";
3
+ } from "./chunk-JMSMXXED.js";
4
4
  import {
5
- buildConversationContext,
6
5
  buildDeliveredTurnStatePatch,
7
6
  finalizeFailedTurnReplyWithEvent,
8
7
  getTurnUserMessage,
9
- markConversationMessage,
10
- normalizeConversationText,
11
8
  processPluginTask,
12
- recordDeliveredAssistantMessage,
13
- scheduleSessionCompletedPluginTasks,
14
- upsertConversationMessage
15
- } from "./chunk-RRJV5UR5.js";
9
+ scheduleSessionCompletedPluginTasks
10
+ } from "./chunk-UZGASGOD.js";
16
11
  import {
17
12
  ConversationTurnLifecycleService,
18
13
  coerceThreadConversationState,
19
14
  getPersistedSandboxState,
20
15
  getPersistedThreadState,
21
16
  persistThreadStateById
22
- } from "./chunk-IL4EDBMV.js";
17
+ } from "./chunk-4YKPOYRV.js";
23
18
  import {
24
19
  healthReportSchema
25
20
  } from "./chunk-UTL3MHPC.js";
26
21
  import {
27
22
  parseSlackThreadId
28
- } from "./chunk-WOONT5ZP.js";
23
+ } from "./chunk-MEMURSBG.js";
29
24
  import {
30
25
  TurnInputCommitLostError,
26
+ buildConversationContext,
31
27
  buildDeterministicTurnId,
32
28
  getAssistantReplyText,
33
29
  getConversationTurnBoundaryError,
@@ -36,19 +32,23 @@ import {
36
32
  isTurnInputCommitLostError,
37
33
  listTurnSummaries,
38
34
  loadProjection,
35
+ markConversationMessage,
39
36
  markTurnFailed,
37
+ normalizeConversationText,
40
38
  persistConversationMessages,
41
39
  persistWithRetry,
40
+ recordDeliveredAssistantMessage,
42
41
  saveTurnCheckpoint,
43
- startActiveTurn
44
- } from "./chunk-VCYSOXON.js";
42
+ startActiveTurn,
43
+ upsertConversationMessage
44
+ } from "./chunk-EW2LNCRL.js";
45
45
  import {
46
46
  normalizeSlackConversationId
47
- } from "./chunk-V2FXMOEA.js";
47
+ } from "./chunk-SWHPVZBV.js";
48
48
  import {
49
49
  getConversationEventStore,
50
50
  getConversationStore
51
- } from "./chunk-VRHTNBA6.js";
51
+ } from "./chunk-3GYZ5YEH.js";
52
52
  import {
53
53
  credentialContextForActor
54
54
  } from "./chunk-RUIXF3YQ.js";
@@ -56,7 +56,7 @@ import {
56
56
  logException,
57
57
  setTags,
58
58
  withLogContext
59
- } from "./chunk-EAI67NTM.js";
59
+ } from "./chunk-RLVZIWNQ.js";
60
60
 
61
61
  // src/handlers/health.ts
62
62
  function readHealthReport() {
@@ -204,7 +204,11 @@ async function recordApiConversationActivity(args) {
204
204
  existing: existing?.destination
205
205
  });
206
206
  const isNewRoot = !existing;
207
- const source = isNewRoot ? webSourceForConversation({ conversationId: args.conversationId }) : void 0;
207
+ const visibility = args.rootVisibility === "private" ? "private" : "public";
208
+ const source = isNewRoot ? webSourceForConversation({
209
+ conversationId: args.conversationId,
210
+ visibility
211
+ }) : void 0;
208
212
  await store.recordActivity({
209
213
  conversationId: args.conversationId,
210
214
  destination,
@@ -214,7 +218,7 @@ async function recordApiConversationActivity(args) {
214
218
  // continues it. Mailbox entries still carry source "web" per turn.
215
219
  ...isNewRoot ? { source: "web" } : {},
216
220
  ...source ? { sessionSource: source } : {},
217
- ...isNewRoot ? { visibility: "public" } : {}
221
+ ...isNewRoot ? { visibility } : {}
218
222
  });
219
223
  return destination;
220
224
  }
@@ -231,7 +235,8 @@ async function createAndEnqueueApiConversation(input, options) {
231
235
  actor: input.actor,
232
236
  conversationId,
233
237
  idempotencyKey: input.idempotencyKey,
234
- message: input.message
238
+ message: input.message,
239
+ rootVisibility: input.visibility === "private" ? "private" : "public"
235
240
  },
236
241
  options
237
242
  );
@@ -253,7 +258,8 @@ async function appendAndEnqueueApiConversationMessage(input, options) {
253
258
  actor: input.actor,
254
259
  conversationId: input.conversationId,
255
260
  conversationStore: options.conversationStore,
256
- nowMs
261
+ nowMs,
262
+ ...input.rootVisibility ? { rootVisibility: input.rootVisibility } : {}
257
263
  });
258
264
  const result = await appendAndEnqueueInboundMessage({
259
265
  message: buildApiTurnInboundMessage({
@@ -444,7 +450,8 @@ function createApiTurnWorker(options) {
444
450
  },
445
451
  meta: {
446
452
  explicitMention: true,
447
- replied: false
453
+ replied: false,
454
+ source: "web"
448
455
  }
449
456
  });
450
457
  await persistConversationMessages({
@@ -479,6 +486,7 @@ function createApiTurnWorker(options) {
479
486
  recordDeliveredAssistantMessage({
480
487
  conversation,
481
488
  sessionId: turnId,
489
+ source: "web",
482
490
  text: replyText,
483
491
  userMessageId
484
492
  });
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  JUNIOR_VERSION
3
- } from "./chunk-55F4QU2V.js";
3
+ } from "./chunk-ZYMYLLWG.js";
4
4
 
5
5
  // src/deployment.ts
6
6
  var JUNIOR_HEARTBEAT_ROUTE = "/api/internal/heartbeat";
@@ -3,19 +3,18 @@ import {
3
3
  } from "./chunk-FA6POGLH.js";
4
4
  import {
5
5
  getTurnRequestDeadline
6
- } from "./chunk-DUY5CDAM.js";
6
+ } from "./chunk-EXW76GW4.js";
7
7
  import {
8
8
  persistAuthPauseTurnState
9
- } from "./chunk-LNVEIJ2L.js";
9
+ } from "./chunk-ART7P442.js";
10
10
  import {
11
11
  buildSentryConversationUrl
12
12
  } from "./chunk-4CODA7P5.js";
13
13
  import {
14
14
  ensureConversationWake,
15
15
  requestConversationWork
16
- } from "./chunk-HLPLT3NY.js";
16
+ } from "./chunk-JMSMXXED.js";
17
17
  import {
18
- buildConversationContext,
19
18
  buildDeliveredTurnStatePatch,
20
19
  finalizeFailedTurnReplyWithEvent,
21
20
  getInterruptionMarker,
@@ -23,13 +22,10 @@ import {
23
22
  getTurnUserMessageId,
24
23
  getTurnUserReplyAttachmentContext,
25
24
  getTurnUserSlackMessageTs,
26
- markConversationMessage,
27
- recordDeliveredAssistantMessage,
28
25
  requireTurnFailureEventId,
29
26
  resolveTurnSessionRouting,
30
- scheduleSessionCompletedPluginTasks,
31
- turnHasReply
32
- } from "./chunk-RRJV5UR5.js";
27
+ scheduleSessionCompletedPluginTasks
28
+ } from "./chunk-UZGASGOD.js";
33
29
  import {
34
30
  ConversationTurnLifecycleService,
35
31
  coerceThreadConversationState,
@@ -38,7 +34,7 @@ import {
38
34
  getPersistedSandboxState,
39
35
  getPersistedThreadState,
40
36
  persistThreadStateById
41
- } from "./chunk-IL4EDBMV.js";
37
+ } from "./chunk-4YKPOYRV.js";
42
38
  import {
43
39
  getVercelConversationWorkQueue
44
40
  } from "./chunk-WR76IVA5.js";
@@ -51,7 +47,7 @@ import {
51
47
  getMcpStoredOAuthCredentials,
52
48
  lookupSlackUserProfile,
53
49
  resolvePluginOAuthAccount
54
- } from "./chunk-XJ42NBP5.js";
50
+ } from "./chunk-RB26T3LU.js";
55
51
  import {
56
52
  RetryableDeliveryError
57
53
  } from "./chunk-GDFF3BQG.js";
@@ -67,16 +63,17 @@ import {
67
63
  removeReactionFromMessage,
68
64
  resolveBaseUrl,
69
65
  truncateStatusText
70
- } from "./chunk-WCN4YSH7.js";
66
+ } from "./chunk-JMH3DBM5.js";
71
67
  import {
72
68
  parseSlackThreadId,
73
69
  readSlackRawMessageContext,
74
70
  resolveSlackChannelIdFromMessage,
75
71
  resolveSlackChannelIdFromThreadId
76
- } from "./chunk-WOONT5ZP.js";
72
+ } from "./chunk-MEMURSBG.js";
77
73
  import {
78
74
  TurnSliceLimitExceededError,
79
75
  abandonTurnRecord,
76
+ buildConversationContext,
80
77
  buildTurnLimitResponse,
81
78
  clearPendingAuth,
82
79
  commitAcceptedReply,
@@ -88,35 +85,38 @@ import {
88
85
  isPendingAuthLatestRequest,
89
86
  loadProjection,
90
87
  loadTurnCheckpoint,
88
+ markConversationMessage,
91
89
  markTurnFailed,
92
90
  persistWithRetry,
93
91
  recordAuthenticationLinked,
94
92
  recordAuthorizationCompleted,
93
+ recordDeliveredAssistantMessage,
95
94
  recordTurnSummary,
96
- saveTurnCheckpoint
97
- } from "./chunk-VCYSOXON.js";
95
+ saveTurnCheckpoint,
96
+ turnHasReply
97
+ } from "./chunk-EW2LNCRL.js";
98
98
  import {
99
99
  getDashboardConversationLink,
100
100
  getPluginSlackConversationLink
101
- } from "./chunk-ZCHIC2GM.js";
101
+ } from "./chunk-7BH46NB4.js";
102
102
  import {
103
103
  SlackActionError,
104
104
  getHeaderString,
105
105
  getSlackClient,
106
106
  isDmChannel,
107
107
  normalizeSlackConversationId
108
- } from "./chunk-V2FXMOEA.js";
108
+ } from "./chunk-SWHPVZBV.js";
109
109
  import {
110
110
  getConversationEventStore,
111
111
  getSqlExecutor,
112
112
  requireSlackDestination,
113
113
  upsertIdentity,
114
114
  upsertLinkedIdentity
115
- } from "./chunk-VRHTNBA6.js";
115
+ } from "./chunk-3GYZ5YEH.js";
116
116
  import {
117
117
  acquireActiveLock,
118
118
  getStateAdapter
119
- } from "./chunk-2B3PT3V2.js";
119
+ } from "./chunk-25SC7D6Z.js";
120
120
  import {
121
121
  botConfig,
122
122
  escapeXml,
@@ -124,18 +124,18 @@ import {
124
124
  getRuntimeMetadata,
125
125
  normalizeSlackEmojiName,
126
126
  standardModelId
127
- } from "./chunk-4GXJUYJV.js";
127
+ } from "./chunk-32CXPIZE.js";
128
128
  import {
129
129
  discoverSkills
130
- } from "./chunk-4AQZYNHM.js";
130
+ } from "./chunk-4JGM7FXO.js";
131
131
  import {
132
132
  pluginCatalogRuntime
133
- } from "./chunk-HWQGBIH7.js";
133
+ } from "./chunk-X22XXSZA.js";
134
134
  import {
135
135
  buildOAuthTokenRequest,
136
136
  hasRequiredOAuthScope,
137
137
  parseOAuthTokenResponse
138
- } from "./chunk-POSZWRGL.js";
138
+ } from "./chunk-2JHKISQA.js";
139
139
  import {
140
140
  createSlackResumeActor,
141
141
  isUserActor
@@ -153,7 +153,7 @@ import {
153
153
  setTags,
154
154
  toOptionalString,
155
155
  withLogContext
156
- } from "./chunk-EAI67NTM.js";
156
+ } from "./chunk-RLVZIWNQ.js";
157
157
  import {
158
158
  homeDir
159
159
  } from "./chunk-H4HBKISO.js";
@@ -4,30 +4,30 @@ import {
4
4
  isConversationScopedChannel,
5
5
  isDmChannel,
6
6
  normalizeSlackConversationId
7
- } from "./chunk-V2FXMOEA.js";
7
+ } from "./chunk-SWHPVZBV.js";
8
8
  import {
9
9
  getConversationEventStore,
10
10
  getDb
11
- } from "./chunk-VRHTNBA6.js";
11
+ } from "./chunk-3GYZ5YEH.js";
12
12
  import {
13
13
  juniorConversationAnnotations,
14
14
  juniorConversationEvents,
15
15
  juniorIdentities,
16
16
  juniorUsers
17
- } from "./chunk-D3WPMGEX.js";
17
+ } from "./chunk-3I2IVWSZ.js";
18
18
  import {
19
19
  SANDBOX_WORKSPACE_ROOT
20
20
  } from "./chunk-EM225ITJ.js";
21
21
  import {
22
22
  getStateAdapter
23
- } from "./chunk-2B3PT3V2.js";
23
+ } from "./chunk-25SC7D6Z.js";
24
24
  import {
25
25
  botConfig,
26
26
  completeObject,
27
27
  embedTexts,
28
28
  getSlackBotToken,
29
29
  standardModelId
30
- } from "./chunk-4GXJUYJV.js";
30
+ } from "./chunk-32CXPIZE.js";
31
31
  import {
32
32
  isActorUserId,
33
33
  parseActorUserId
@@ -42,7 +42,7 @@ import {
42
42
  logInfo,
43
43
  logWarn,
44
44
  normalizeIdentityEmail
45
- } from "./chunk-EAI67NTM.js";
45
+ } from "./chunk-RLVZIWNQ.js";
46
46
 
47
47
  // src/chat/plugins/agent-hooks.ts
48
48
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createAndEnqueueAgentInvocation
3
- } from "./chunk-OJCP3C3J.js";
3
+ } from "./chunk-W7UONUIZ.js";
4
4
  import {
5
5
  actorFromRouting,
6
6
  toolInvocationDestination
@@ -1,16 +1,16 @@
1
1
  import {
2
- getTurnUserMessageId,
3
- markConversationMessage
4
- } from "./chunk-RRJV5UR5.js";
2
+ getTurnUserMessageId
3
+ } from "./chunk-UZGASGOD.js";
5
4
  import {
6
5
  coerceThreadConversationState,
7
6
  getPersistedThreadState,
8
7
  persistThreadStateById
9
- } from "./chunk-IL4EDBMV.js";
8
+ } from "./chunk-4YKPOYRV.js";
10
9
  import {
11
10
  hydrateConversationMessages,
11
+ markConversationMessage,
12
12
  markTurnClosed
13
- } from "./chunk-VCYSOXON.js";
13
+ } from "./chunk-EW2LNCRL.js";
14
14
 
15
15
  // src/chat/runtime/auth-pause-state.ts
16
16
  function completeAuthPauseTurn(args) {