@sentry/junior 0.199.0 → 0.201.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 (65) hide show
  1. package/dist/{agent-hooks-GLHLHDA6.js → agent-hooks-HMG23EIR.js} +11 -11
  2. package/dist/api.js +25 -25
  3. package/dist/app.js +207 -122
  4. package/dist/{catalog-runtime-J2VOYYYV.js → catalog-runtime-7TIXWSYG.js} +4 -4
  5. package/dist/{chunk-PB74QQQS.js → chunk-3XPQV262.js} +6 -6
  6. package/dist/{chunk-WQ7RAWIY.js → chunk-44W7JB5V.js} +1 -1
  7. package/dist/{chunk-K3427KVO.js → chunk-4DDQVL3Q.js} +2 -2
  8. package/dist/{chunk-23ITKUM3.js → chunk-5LXHEN3P.js} +8 -8
  9. package/dist/{chunk-46WKZ2SS.js → chunk-6CYKW2J7.js} +1 -1
  10. package/dist/{chunk-PTT4LXUL.js → chunk-6QQYL2XW.js} +6 -6
  11. package/dist/{chunk-P7QOUKYL.js → chunk-73RVLY6A.js} +2 -2
  12. package/dist/{chunk-MI5SP4SR.js → chunk-7V4KWIXL.js} +2 -2
  13. package/dist/{chunk-RVM3TBKW.js → chunk-7YNSWPVU.js} +8 -8
  14. package/dist/{chunk-TT2FUK6X.js → chunk-APX6WBD7.js} +1 -1
  15. package/dist/{chunk-P22PNLK7.js → chunk-BQFWG7MB.js} +4 -4
  16. package/dist/{chunk-WR4GQARR.js → chunk-FNAEGMGB.js} +1 -1
  17. package/dist/{chunk-TN3MRLBG.js → chunk-GHZ677GD.js} +21 -21
  18. package/dist/{chunk-HDZEZ7OB.js → chunk-H5SDC32F.js} +1 -1
  19. package/dist/{chunk-B63AKBOM.js → chunk-I7F3JVYE.js} +3 -3
  20. package/dist/{chunk-RQJ4PBAI.js → chunk-IXGQ4NTO.js} +5 -5
  21. package/dist/{chunk-I3HP6Z6Z.js → chunk-J4AWOSCT.js} +4 -4
  22. package/dist/{chunk-YTXEKSV6.js → chunk-JYJG6LAG.js} +20 -7
  23. package/dist/{chunk-VL4SXCWF.js → chunk-KKI5K43Z.js} +3 -3
  24. package/dist/{chunk-4YIE2TYI.js → chunk-KS5RPVQI.js} +3 -3
  25. package/dist/{chunk-VXG62JVC.js → chunk-LINEEYW6.js} +1 -1
  26. package/dist/{chunk-PQWRTBQJ.js → chunk-NN5Y32TJ.js} +1 -1
  27. package/dist/{chunk-QF4E3RNM.js → chunk-OZ2QJWQF.js} +3 -3
  28. package/dist/{chunk-SHWGNIZJ.js → chunk-PJIU4AGA.js} +2 -2
  29. package/dist/{chunk-GNHCHX6P.js → chunk-Q3BTNRDK.js} +36 -30
  30. package/dist/{chunk-CZFI77CX.js → chunk-QHCI2E2A.js} +1 -1
  31. package/dist/{chunk-3ARYTHKB.js → chunk-RAWQD5DS.js} +1 -1
  32. package/dist/{chunk-PSFQC35H.js → chunk-SIMN6AUL.js} +1 -1
  33. package/dist/{chunk-ZOUAXRCD.js → chunk-T4WKGKAW.js} +5 -5
  34. package/dist/{chunk-5UMYAEOX.js → chunk-UEIDAG2O.js} +1 -1
  35. package/dist/{chunk-BO6MPZSQ.js → chunk-UJRD4NN4.js} +14 -3
  36. package/dist/{chunk-CYTCY25C.js → chunk-VGNL3QUM.js} +3 -3
  37. package/dist/{chunk-OJBDDF7X.js → chunk-VQ2XYXLB.js} +8 -8
  38. package/dist/{chunk-CIFTZ6A7.js → chunk-VRD7FJZ2.js} +4 -4
  39. package/dist/{chunk-SWA7F2IQ.js → chunk-X2PTNIN5.js} +311 -166
  40. package/dist/{chunk-FAGRJZ4E.js → chunk-Y6EUAX5O.js} +1 -1
  41. package/dist/{chunk-7667XKEG.js → chunk-ZPGGVW34.js} +5 -5
  42. package/dist/{chunk-2B2KKIWT.js → chunk-ZXSPPXX3.js} +9 -9
  43. package/dist/cli/chat.js +33 -33
  44. package/dist/cli/check.js +5 -5
  45. package/dist/cli/plugins.js +12 -12
  46. package/dist/cli/snapshot-create.js +9 -9
  47. package/dist/cli/upgrade.js +6 -6
  48. package/dist/{db-2K4NSLLX.js → db-S5DGFIFR.js} +6 -6
  49. package/dist/instrumentation.js +3 -3
  50. package/dist/nitro.js +6 -6
  51. package/dist/{oauth-callback-server-ECRF67PN.js → oauth-callback-server-JDEUY5KP.js} +29 -29
  52. package/dist/{runner-WCRHEM6N.js → runner-OQZRPML2.js} +21 -21
  53. package/dist/{skills-HGNNRMPX.js → skills-4VE2VHGF.js} +5 -5
  54. package/dist/spawn-4WCYSTFY.js +42 -0
  55. package/dist/task-runner-7SDXKQ3L.js +36 -0
  56. package/dist/{validation-EKFIUZ4Y.js → validation-CX2H5J6S.js} +5 -5
  57. package/dist/version.js +1 -1
  58. package/dist/{work-LFTVZJUQ.js → work-GUHO34OE.js} +21 -21
  59. package/dist/{worker-5GGUQCE3.js → worker-F44XXKBH.js} +10 -10
  60. package/migrations/0039_attachment_provider.sql +7 -0
  61. package/migrations/meta/0039_snapshot.json +3368 -0
  62. package/migrations/meta/_journal.json +7 -0
  63. package/package.json +4 -4
  64. package/dist/spawn-IZ5SV7OV.js +0 -42
  65. package/dist/task-runner-GG6KD2PL.js +0 -36
@@ -8,7 +8,7 @@ import {
8
8
  toCanonicalInputMessage,
9
9
  toCanonicalOutputMessage,
10
10
  toGenAiMessagesTraceAttributes
11
- } from "./chunk-CZFI77CX.js";
11
+ } from "./chunk-QHCI2E2A.js";
12
12
  import {
13
13
  extractGenAiUsageAttributes,
14
14
  logException,
@@ -16,7 +16,7 @@ import {
16
16
  normalizeGenAiFinishReason,
17
17
  serializeGenAiAttribute,
18
18
  withSpan
19
- } from "./chunk-PSFQC35H.js";
19
+ } from "./chunk-SIMN6AUL.js";
20
20
 
21
21
  // src/chat/services/provider-error.ts
22
22
  var ProviderError = class extends Error {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  ToolInputError
3
- } from "./chunk-P7QOUKYL.js";
3
+ } from "./chunk-73RVLY6A.js";
4
4
  import {
5
5
  getPlugins
6
- } from "./chunk-YTXEKSV6.js";
6
+ } from "./chunk-JYJG6LAG.js";
7
7
  import {
8
8
  getDb
9
- } from "./chunk-CYTCY25C.js";
9
+ } from "./chunk-VGNL3QUM.js";
10
10
  import {
11
11
  juniorAttachments,
12
12
  juniorConversations,
@@ -14,7 +14,7 @@ import {
14
14
  juniorSchedulerRuns,
15
15
  juniorSchedulerTasks,
16
16
  juniorStats
17
- } from "./chunk-BO6MPZSQ.js";
17
+ } from "./chunk-UJRD4NN4.js";
18
18
  import {
19
19
  juniorDestinations
20
20
  } from "./chunk-VFUK3X5B.js";
@@ -1027,21 +1027,25 @@ async function listPublicScheduledTasksForTeams(db, teamIds, limit) {
1027
1027
 
1028
1028
  // src/chat/attachments/store.ts
1029
1029
  import { createHash, randomUUID } from "crypto";
1030
- import { and as and4, asc as asc4, eq as eq3, inArray as inArray3, isNotNull, isNull, or as or2 } from "drizzle-orm";
1030
+ import { and as and4, asc as asc4, eq as eq3, inArray as inArray3, isNotNull, isNull, lte as lte2, or as or2 } from "drizzle-orm";
1031
+ var DAY_MS = 24 * 60 * 60 * 1e3;
1031
1032
  var ATTACHMENT_GC_BATCH_LIMIT = 200;
1033
+ var ATTACHMENT_RETENTION_MS = 30 * DAY_MS;
1032
1034
  function attachmentDigest(file) {
1033
1035
  return createHash("sha256").update(file.data).digest("hex");
1034
1036
  }
1035
1037
  function attachmentId(args) {
1036
- return createHash("sha256").update(
1037
- [
1038
- args.conversationId,
1039
- args.provider,
1040
- args.sha256,
1041
- args.filename,
1042
- args.contentType
1043
- ].join("\0")
1044
- ).digest("hex");
1038
+ const identity = [
1039
+ args.conversationId,
1040
+ args.storageProvider,
1041
+ args.sha256,
1042
+ args.filename,
1043
+ args.contentType
1044
+ ];
1045
+ if (args.source) {
1046
+ identity.push(args.source.provider, args.source.id);
1047
+ }
1048
+ return createHash("sha256").update(identity.join("\0")).digest("hex");
1045
1049
  }
1046
1050
  function attachmentKey(args) {
1047
1051
  return `conversations/${args.conversationId}/attachments/${args.attachmentId}/${args.writeId}/${args.filename}`;
@@ -1085,7 +1089,8 @@ async function storeAttachment(args) {
1085
1089
  conversationId: args.conversationId,
1086
1090
  contentType: args.file.mimeType,
1087
1091
  filename: args.file.filename,
1088
- provider: args.storage.provider,
1092
+ source: args.source,
1093
+ storageProvider: args.storage.provider,
1089
1094
  sha256
1090
1095
  });
1091
1096
  const [existing] = await args.db.db().select({
@@ -1095,11 +1100,13 @@ async function storeAttachment(args) {
1095
1100
  filename: juniorAttachments.filename,
1096
1101
  id: juniorAttachments.id,
1097
1102
  provider: juniorAttachments.provider,
1103
+ providerId: juniorAttachments.providerId,
1104
+ storageProvider: juniorAttachments.storageProvider,
1098
1105
  sha256: juniorAttachments.sha256,
1099
1106
  storageKey: juniorAttachments.storageKey
1100
1107
  }).from(juniorAttachments).where(eq3(juniorAttachments.id, id));
1101
1108
  if (existing) {
1102
- if (existing.contentType !== args.file.mimeType || existing.conversationId !== args.conversationId || existing.filename !== args.file.filename || existing.provider !== args.storage.provider || existing.sha256 !== sha256) {
1109
+ if (existing.contentType !== args.file.mimeType || existing.conversationId !== args.conversationId || existing.filename !== args.file.filename || existing.provider !== (args.source?.provider ?? null) || existing.providerId !== (args.source?.id ?? null) || existing.storageProvider !== args.storage.provider || existing.sha256 !== sha256) {
1103
1110
  throw new Error(`Attachment write conflicts with ${existing.id}`);
1104
1111
  }
1105
1112
  if (existing.deleteRequestedAt === null) {
@@ -1170,8 +1177,10 @@ async function storeAttachment(args) {
1170
1177
  inserted = await args.db.db().insert(juniorAttachments).values({
1171
1178
  id,
1172
1179
  conversationId: args.conversationId,
1173
- provider: args.storage.provider,
1180
+ storageProvider: args.storage.provider,
1174
1181
  storageKey,
1182
+ provider: args.source?.provider,
1183
+ providerId: args.source?.id,
1175
1184
  filename: args.file.filename,
1176
1185
  contentType: args.file.mimeType,
1177
1186
  bytes: args.file.bytes,
@@ -1266,7 +1275,7 @@ async function readLiveAttachment(args) {
1266
1275
  deleteRequestedAt: juniorAttachments.deleteRequestedAt,
1267
1276
  filename: juniorAttachments.filename,
1268
1277
  id: juniorAttachments.id,
1269
- provider: juniorAttachments.provider,
1278
+ storageProvider: juniorAttachments.storageProvider,
1270
1279
  storageKey: juniorAttachments.storageKey
1271
1280
  }).from(juniorAttachments).where(
1272
1281
  and4(
@@ -1285,8 +1294,8 @@ async function readLiveAttachment(args) {
1285
1294
  conversationId: row.conversationId,
1286
1295
  filename: row.filename,
1287
1296
  id: row.id,
1288
- provider: row.provider,
1289
- storageKey: row.storageKey
1297
+ storageKey: row.storageKey,
1298
+ storageProvider: row.storageProvider
1290
1299
  };
1291
1300
  }
1292
1301
  async function storeAttachments(args) {
@@ -1314,20 +1323,18 @@ async function requestAttachmentDeletion(db, conversationIds, nowMs) {
1314
1323
  );
1315
1324
  }
1316
1325
  async function collectAttachmentGarbage(args) {
1317
- void args.nowMs;
1326
+ const expiresBefore = new Date(args.nowMs - ATTACHMENT_RETENTION_MS);
1318
1327
  const rows = await args.db.db().select({
1319
1328
  id: juniorAttachments.id,
1320
1329
  storageKey: juniorAttachments.storageKey
1321
1330
  }).from(juniorAttachments).innerJoin(
1322
1331
  juniorConversations,
1323
- eq3(
1324
- juniorAttachments.conversationId,
1325
- juniorConversations.conversationId
1326
- )
1332
+ eq3(juniorAttachments.conversationId, juniorConversations.conversationId)
1327
1333
  ).where(
1328
1334
  and4(
1329
- eq3(juniorAttachments.provider, args.storage.provider),
1335
+ eq3(juniorAttachments.storageProvider, args.storage.provider),
1330
1336
  or2(
1337
+ lte2(juniorAttachments.createdAt, expiresBefore),
1331
1338
  isNotNull(juniorAttachments.deleteRequestedAt),
1332
1339
  isNotNull(juniorConversations.transcriptPurgedAt)
1333
1340
  )
@@ -1337,10 +1344,7 @@ async function collectAttachmentGarbage(args) {
1337
1344
  await args.storage.delete(rows.map((row) => row.storageKey));
1338
1345
  const stillEligible = await args.db.db().select({ id: juniorAttachments.id }).from(juniorAttachments).innerJoin(
1339
1346
  juniorConversations,
1340
- eq3(
1341
- juniorAttachments.conversationId,
1342
- juniorConversations.conversationId
1343
- )
1347
+ eq3(juniorAttachments.conversationId, juniorConversations.conversationId)
1344
1348
  ).where(
1345
1349
  and4(
1346
1350
  inArray3(
@@ -1348,6 +1352,7 @@ async function collectAttachmentGarbage(args) {
1348
1352
  rows.map((row) => row.id)
1349
1353
  ),
1350
1354
  or2(
1355
+ lte2(juniorAttachments.createdAt, expiresBefore),
1351
1356
  isNotNull(juniorAttachments.deleteRequestedAt),
1352
1357
  isNotNull(juniorConversations.transcriptPurgedAt)
1353
1358
  )
@@ -1418,6 +1423,7 @@ export {
1418
1423
  saveScheduledTask,
1419
1424
  saveScheduledTaskInLock,
1420
1425
  listPublicScheduledTasksForTeams,
1426
+ storeAttachment,
1421
1427
  readLiveAttachment,
1422
1428
  storeAttachments,
1423
1429
  requestAttachmentDeletion,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logWarn
3
- } from "./chunk-PSFQC35H.js";
3
+ } from "./chunk-SIMN6AUL.js";
4
4
 
5
5
  // src/chat/conversation-privacy.ts
6
6
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getStateAdapter
3
- } from "./chunk-WQ7RAWIY.js";
3
+ } from "./chunk-44W7JB5V.js";
4
4
  import {
5
5
  getClient
6
6
  } from "./chunk-PEQXYSSE.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-PEQXYSSE.js";
13
13
  import {
14
14
  JUNIOR_VERSION
15
- } from "./chunk-PQWRTBQJ.js";
15
+ } from "./chunk-NN5Y32TJ.js";
16
16
 
17
17
  // src/deployment.ts
18
18
  var JUNIOR_HEARTBEAT_ROUTE = "/api/internal/heartbeat";
@@ -2,16 +2,16 @@ import {
2
2
  coerceThreadConversationState,
3
3
  getPersistedThreadState,
4
4
  persistThreadStateById
5
- } from "./chunk-RQJ4PBAI.js";
5
+ } from "./chunk-IXGQ4NTO.js";
6
6
  import {
7
7
  clearPendingAuth,
8
8
  markTurnClosed,
9
9
  markTurnCompleted
10
- } from "./chunk-5UMYAEOX.js";
10
+ } from "./chunk-UEIDAG2O.js";
11
11
  import {
12
12
  hydrateConversationMessages,
13
13
  markConversationMessage
14
- } from "./chunk-PTT4LXUL.js";
14
+ } from "./chunk-6QQYL2XW.js";
15
15
  import {
16
16
  buildDeterministicTurnId
17
17
  } from "./chunk-DA2KGZZI.js";
@@ -20,13 +20,13 @@ import {
20
20
  findProviderError,
21
21
  getProviderErrorAttributes,
22
22
  getProviderErrorUserMessage
23
- } from "./chunk-SHWGNIZJ.js";
23
+ } from "./chunk-PJIU4AGA.js";
24
24
  import {
25
25
  parseSlackMessageTs
26
26
  } from "./chunk-N7TMSOZH.js";
27
27
  import {
28
28
  buildTurnFailureResponse
29
- } from "./chunk-PSFQC35H.js";
29
+ } from "./chunk-SIMN6AUL.js";
30
30
 
31
31
  // src/chat/runtime/delivered-turn-state.ts
32
32
  function buildDeliveredTurnStatePatch(args) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  abandonTurnRecord,
3
3
  extractAssistantText
4
- } from "./chunk-PTT4LXUL.js";
4
+ } from "./chunk-6QQYL2XW.js";
5
5
  import {
6
6
  buildDeterministicTurnId
7
7
  } from "./chunk-DA2KGZZI.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-VFUK3X5B.js";
5
5
  import {
6
6
  DEFAULT_SQL_STATEMENT_TIMEOUT_MS
7
- } from "./chunk-SHWGNIZJ.js";
7
+ } from "./chunk-PJIU4AGA.js";
8
8
 
9
9
  // src/db/neon.ts
10
10
  import { AsyncLocalStorage } from "async_hooks";
@@ -233,20 +233,31 @@ var juniorAttachments = pgTable5(
233
233
  conversationId: text5("conversation_id").notNull().references(() => juniorConversations.conversationId, {
234
234
  onDelete: "cascade"
235
235
  }),
236
- provider: text5("provider").notNull(),
236
+ /** Service that stores the file bytes. */
237
+ storageProvider: text5("storage_provider").notNull(),
237
238
  storageKey: text5("storage_key").notNull(),
239
+ /** Provider that supplied the file. */
240
+ provider: text5("provider"),
241
+ /** File id assigned by the source provider. */
242
+ providerId: text5("provider_id"),
238
243
  filename: text5("filename").notNull(),
239
244
  contentType: text5("content_type").notNull(),
240
245
  bytes: integer3("bytes").notNull(),
241
246
  sha256: text5("sha256").notNull(),
247
+ visionSummary: text5("vision_summary"),
242
248
  createdAt: timestamptz("created_at").notNull(),
243
249
  /** Set when conversation purge marks the attachment unavailable. */
244
250
  deleteRequestedAt: timestamptz("delete_requested_at")
245
251
  },
246
252
  (table) => [
247
253
  index4("junior_attachments_conversation_idx").on(table.conversationId),
248
- index4("junior_attachments_gc_idx").on(
254
+ index4("junior_attachments_provider_idx").on(
255
+ table.conversationId,
249
256
  table.provider,
257
+ table.providerId
258
+ ),
259
+ index4("junior_attachments_gc_idx").on(
260
+ table.storageProvider,
250
261
  table.deleteRequestedAt,
251
262
  table.createdAt
252
263
  )
@@ -8,7 +8,7 @@ import {
8
8
  juniorConversations,
9
9
  juniorIdentities,
10
10
  juniorUsers
11
- } from "./chunk-BO6MPZSQ.js";
11
+ } from "./chunk-UJRD4NN4.js";
12
12
  import {
13
13
  conversationEventDataSchema,
14
14
  decodeStoredConversationEvent,
@@ -20,7 +20,7 @@ import {
20
20
  } from "./chunk-VFUK3X5B.js";
21
21
  import {
22
22
  getChatConfig
23
- } from "./chunk-SHWGNIZJ.js";
23
+ } from "./chunk-PJIU4AGA.js";
24
24
  import {
25
25
  parseActorUserId,
26
26
  parseSlackChannelReferenceId,
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-N7TMSOZH.js";
29
29
  import {
30
30
  normalizeIdentityEmail
31
- } from "./chunk-PSFQC35H.js";
31
+ } from "./chunk-SIMN6AUL.js";
32
32
 
33
33
  // src/chat/conversations/sql/store.ts
34
34
  import { randomUUID as randomUUID2 } from "crypto";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  coerceThreadConversationState,
3
3
  getPersistedThreadState
4
- } from "./chunk-RQJ4PBAI.js";
4
+ } from "./chunk-IXGQ4NTO.js";
5
5
  import {
6
6
  recordTaskExecution
7
- } from "./chunk-I3HP6Z6Z.js";
7
+ } from "./chunk-J4AWOSCT.js";
8
8
  import {
9
9
  pluginTaskId,
10
10
  pluginTaskParamsSchema,
11
11
  sendVercelPluginTask
12
- } from "./chunk-QF4E3RNM.js";
12
+ } from "./chunk-OZ2QJWQF.js";
13
13
  import {
14
14
  getPiMessageRole,
15
15
  getTurnRecord,
@@ -19,7 +19,7 @@ import {
19
19
  isToolResultMessage,
20
20
  normalizeToolNameFromResult,
21
21
  stripRuntimeTurnContext
22
- } from "./chunk-PTT4LXUL.js";
22
+ } from "./chunk-6QQYL2XW.js";
23
23
  import {
24
24
  createPluginConversationEvents,
25
25
  createPluginEmbedder,
@@ -28,17 +28,17 @@ import {
28
28
  createPluginState,
29
29
  getPlugins,
30
30
  readActorIdentity
31
- } from "./chunk-YTXEKSV6.js";
31
+ } from "./chunk-JYJG6LAG.js";
32
32
  import {
33
33
  JUNIOR_THREAD_STATE_TTL_MS
34
34
  } from "./chunk-3Y47VMHV.js";
35
35
  import {
36
36
  getConversationStore,
37
37
  getDb
38
- } from "./chunk-CYTCY25C.js";
38
+ } from "./chunk-VGNL3QUM.js";
39
39
  import {
40
40
  getStateAdapter
41
- } from "./chunk-WQ7RAWIY.js";
41
+ } from "./chunk-44W7JB5V.js";
42
42
  import {
43
43
  sameActorIdentity
44
44
  } from "./chunk-7NL7T6VU.js";
@@ -84,7 +84,7 @@ function slackSourceForDestination(args) {
84
84
  };
85
85
  }
86
86
  async function resolveConversationRouting(args) {
87
- const conversationStore = args.conversationStore ?? (await import("./db-2K4NSLLX.js")).getConversationStore();
87
+ const conversationStore = args.conversationStore ?? (await import("./db-S5DGFIFR.js")).getConversationStore();
88
88
  const chain = await loadConversationChain(
89
89
  args.conversationId,
90
90
  conversationStore
@@ -19,23 +19,23 @@ import {
19
19
  releaseConversationWork,
20
20
  requestAnotherSlice,
21
21
  startConversationWork
22
- } from "./chunk-P22PNLK7.js";
22
+ } from "./chunk-BQFWG7MB.js";
23
23
  import {
24
24
  getTurnRequestDeadline
25
- } from "./chunk-WR4GQARR.js";
25
+ } from "./chunk-FNAEGMGB.js";
26
26
  import {
27
27
  ConversationQueueMessageRejectedError
28
28
  } from "./chunk-JAL3CH4G.js";
29
29
  import {
30
30
  getChatConfig,
31
31
  isProviderRetryError
32
- } from "./chunk-SHWGNIZJ.js";
32
+ } from "./chunk-PJIU4AGA.js";
33
33
  import {
34
34
  logException,
35
35
  logInfo,
36
36
  logWarn,
37
37
  withLogContext
38
- } from "./chunk-PSFQC35H.js";
38
+ } from "./chunk-SIMN6AUL.js";
39
39
 
40
40
  // src/chat/task-execution/worker.ts
41
41
  var CONVERSATION_WORK_DEFER_DELAY_MS = 15e3;