@sentry/junior 0.150.0 → 0.151.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 (71) hide show
  1. package/dist/{agent-hooks-SEOGOGKX.js → agent-hooks-EYUAEBMA.js} +10 -10
  2. package/dist/api/schema/conversation.d.ts +24 -4
  3. package/dist/api/schema.js +1 -1
  4. package/dist/api.js +63 -35
  5. package/dist/app.js +123 -200
  6. package/dist/{catalog-runtime-HA7RIWYT.js → catalog-runtime-2LCLLOBI.js} +5 -5
  7. package/dist/chat/agent/skills.d.ts +5 -4
  8. package/dist/chat/agent/tools.d.ts +5 -5
  9. package/dist/chat/conversations/history.d.ts +12 -3
  10. package/dist/chat/conversations/projection.d.ts +7 -3
  11. package/dist/chat/mcp/tool-manager.d.ts +0 -4
  12. package/dist/chat/runtime/agent-run-outcome.d.ts +4 -0
  13. package/dist/chat/tools/search-conversation-events.d.ts +1 -1
  14. package/dist/chat/tools/skill/call-mcp-tool.d.ts +0 -1
  15. package/dist/chat/tools/skill/load-skill.d.ts +2 -5
  16. package/dist/chat/tools/types.d.ts +1 -2
  17. package/dist/{chunk-ZUQT35YC.js → chunk-2MGJ64SL.js} +1 -1
  18. package/dist/{chunk-TZLYAO2J.js → chunk-3WOK4ZLX.js} +72 -218
  19. package/dist/{chunk-7D4GNUV2.js → chunk-4ABTAQYC.js} +3 -3
  20. package/dist/{chunk-F5NMSEBL.js → chunk-5N3XLYBW.js} +1 -1
  21. package/dist/{chunk-M5OZSVJI.js → chunk-6A46QL4O.js} +4 -4
  22. package/dist/{chunk-7NLW2NF5.js → chunk-6DLWRSGV.js} +1 -1
  23. package/dist/{chunk-3GL327SC.js → chunk-6PGJPCN2.js} +1 -1
  24. package/dist/{chunk-P43QM7JY.js → chunk-6WNWM5JD.js} +5 -5
  25. package/dist/{chunk-64K7GKRW.js → chunk-AGSUPAD5.js} +2 -2
  26. package/dist/{chunk-NCGVQXX5.js → chunk-B7KWBJAR.js} +6 -6
  27. package/dist/{chunk-Y2VZ54CQ.js → chunk-C7D2ONB5.js} +1 -1
  28. package/dist/{chunk-SH6ZKJFZ.js → chunk-CL5DT6D2.js} +4 -4
  29. package/dist/{chunk-3ZMKDHCT.js → chunk-D22FO4LW.js} +2 -2
  30. package/dist/{chunk-IZRSLANA.js → chunk-DJAOSWB6.js} +1 -1
  31. package/dist/{chunk-FEFEIA3Z.js → chunk-EMB4VY7H.js} +5 -5
  32. package/dist/{chunk-4KAYAIBV.js → chunk-H7ZMEHAN.js} +1 -1
  33. package/dist/{chunk-UIMBNY6O.js → chunk-J5LAA2LI.js} +9 -9
  34. package/dist/{chunk-IPGNWXA3.js → chunk-JIJOPRD4.js} +16 -10
  35. package/dist/{chunk-ZBOGYZ53.js → chunk-JSKTDBSS.js} +4 -4
  36. package/dist/{chunk-ILYL6YFD.js → chunk-K3QXMZDU.js} +11 -4
  37. package/dist/{chunk-QPIPYVGE.js → chunk-KPQBQRNM.js} +5 -5
  38. package/dist/{chunk-DWETNV66.js → chunk-M6KRPBXC.js} +6 -6
  39. package/dist/{chunk-JQXJ2E53.js → chunk-OAPPJ3TM.js} +1 -1
  40. package/dist/{chunk-MCNP7A7T.js → chunk-OFRJXFTH.js} +8 -8
  41. package/dist/{chunk-7GOP6VFJ.js → chunk-OYRFUQOV.js} +106 -16
  42. package/dist/{chunk-NNOCRVQO.js → chunk-PQUV3NA5.js} +2 -2
  43. package/dist/{chunk-SHDREBGC.js → chunk-PWMVR2MD.js} +1 -1
  44. package/dist/{chunk-UOFQEVR5.js → chunk-QVQBWWXQ.js} +6 -6
  45. package/dist/{chunk-H2RLIJ7G.js → chunk-UDDCHQN2.js} +1 -1
  46. package/dist/{chunk-7QB2CKCW.js → chunk-WVXFEQXE.js} +1 -1
  47. package/dist/{chunk-3JVUWLR7.js → chunk-XN3QKNQX.js} +8 -1
  48. package/dist/{chunk-6PFDWAK2.js → chunk-YN4W5SRJ.js} +1 -1
  49. package/dist/{chunk-4VH7KLGC.js → chunk-ZGSL5ARH.js} +50 -22
  50. package/dist/cli/chat.js +30 -30
  51. package/dist/cli/check.js +6 -6
  52. package/dist/cli/plugins.js +13 -13
  53. package/dist/cli/snapshot-create.js +9 -9
  54. package/dist/cli/upgrade.js +7 -7
  55. package/dist/{db-HUW75QG7.js → db-ALCBI4JZ.js} +7 -7
  56. package/dist/instrumentation.js +4 -4
  57. package/dist/nitro.js +2 -2
  58. package/dist/{oauth-callback-server-DP7NIZPQ.js → oauth-callback-server-3RRMG62B.js} +23 -23
  59. package/dist/{runner-AINV7K3M.js → runner-V6C3EELU.js} +14 -14
  60. package/dist/{skills-PKS37E6B.js → skills-43PFYZIZ.js} +6 -6
  61. package/dist/spawn-UZNNTNFU.js +38 -0
  62. package/dist/{validation-PDC3MVMM.js → validation-4MNN6QKE.js} +6 -6
  63. package/dist/version.js +1 -1
  64. package/dist/{work-KJLJRPXS.js → work-YZO6XTEB.js} +17 -17
  65. package/dist/{worker-TYQ7YVIR.js → worker-42AR7323.js} +11 -11
  66. package/migrations/0025_mcp_credential_subject.sql +8 -0
  67. package/migrations/meta/0025_snapshot.json +2275 -0
  68. package/migrations/meta/_journal.json +7 -0
  69. package/package.json +5 -5
  70. package/dist/chat/pi/derived-state.d.ts +0 -5
  71. package/dist/spawn-NJCDEPPL.js +0 -38
@@ -11,21 +11,21 @@ import {
11
11
  getPlugins,
12
12
  setPlugins,
13
13
  validatePlugins
14
- } from "./chunk-UOFQEVR5.js";
15
- import "./chunk-64K7GKRW.js";
16
- import "./chunk-ILYL6YFD.js";
17
- import "./chunk-F5NMSEBL.js";
14
+ } from "./chunk-QVQBWWXQ.js";
15
+ import "./chunk-AGSUPAD5.js";
16
+ import "./chunk-K3QXMZDU.js";
17
+ import "./chunk-5N3XLYBW.js";
18
18
  import "./chunk-EM225ITJ.js";
19
- import "./chunk-6PFDWAK2.js";
20
- import "./chunk-3ZMKDHCT.js";
19
+ import "./chunk-YN4W5SRJ.js";
20
+ import "./chunk-D22FO4LW.js";
21
21
  import "./chunk-VFUK3X5B.js";
22
- import "./chunk-SHDREBGC.js";
22
+ import "./chunk-PWMVR2MD.js";
23
23
  import "./chunk-HZF5P5UN.js";
24
24
  import "./chunk-F3B2YJ76.js";
25
- import "./chunk-JQXJ2E53.js";
25
+ import "./chunk-OAPPJ3TM.js";
26
26
  import "./chunk-6GWA276C.js";
27
- import "./chunk-IZRSLANA.js";
28
- import "./chunk-7QB2CKCW.js";
27
+ import "./chunk-DJAOSWB6.js";
28
+ import "./chunk-WVXFEQXE.js";
29
29
  import "./chunk-MLKGABMK.js";
30
30
  export {
31
31
  PluginHookDeniedError,
@@ -233,6 +233,7 @@ export declare const conversationReportEventDataSchema: z.ZodDiscriminatedUnion<
233
233
  slackUserName: z.ZodOptional<z.ZodString>;
234
234
  }, z.core.$strict>>;
235
235
  eventType: z.ZodOptional<z.ZodString>;
236
+ explicitMention: z.ZodOptional<z.ZodBoolean>;
236
237
  text: z.ZodOptional<z.ZodString>;
237
238
  redacted: z.ZodOptional<z.ZodLiteral<true>>;
238
239
  }, z.core.$strict>, z.ZodObject<{
@@ -274,10 +275,14 @@ export declare const conversationReportEventDataSchema: z.ZodDiscriminatedUnion<
274
275
  type: z.ZodLiteral<"turn_lifecycle">;
275
276
  turnId: z.ZodString;
276
277
  state: z.ZodEnum<{
277
- started: "started";
278
278
  succeeded: "succeeded";
279
279
  no_reply: "no_reply";
280
280
  }>;
281
+ }, z.core.$strict>, z.ZodObject<{
282
+ type: z.ZodLiteral<"turn_lifecycle">;
283
+ turnId: z.ZodString;
284
+ state: z.ZodLiteral<"started">;
285
+ inputMessageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
281
286
  }, z.core.$strict>, z.ZodObject<{
282
287
  type: z.ZodLiteral<"turn_lifecycle">;
283
288
  turnId: z.ZodString;
@@ -412,6 +417,7 @@ export declare const conversationReportEventSchema: z.ZodObject<{
412
417
  slackUserName: z.ZodOptional<z.ZodString>;
413
418
  }, z.core.$strict>>;
414
419
  eventType: z.ZodOptional<z.ZodString>;
420
+ explicitMention: z.ZodOptional<z.ZodBoolean>;
415
421
  text: z.ZodOptional<z.ZodString>;
416
422
  redacted: z.ZodOptional<z.ZodLiteral<true>>;
417
423
  }, z.core.$strict>, z.ZodObject<{
@@ -453,10 +459,14 @@ export declare const conversationReportEventSchema: z.ZodObject<{
453
459
  type: z.ZodLiteral<"turn_lifecycle">;
454
460
  turnId: z.ZodString;
455
461
  state: z.ZodEnum<{
456
- started: "started";
457
462
  succeeded: "succeeded";
458
463
  no_reply: "no_reply";
459
464
  }>;
465
+ }, z.core.$strict>, z.ZodObject<{
466
+ type: z.ZodLiteral<"turn_lifecycle">;
467
+ turnId: z.ZodString;
468
+ state: z.ZodLiteral<"started">;
469
+ inputMessageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
460
470
  }, z.core.$strict>, z.ZodObject<{
461
471
  type: z.ZodLiteral<"turn_lifecycle">;
462
472
  turnId: z.ZodString;
@@ -716,6 +726,7 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
716
726
  slackUserName: z.ZodOptional<z.ZodString>;
717
727
  }, z.core.$strict>>;
718
728
  eventType: z.ZodOptional<z.ZodString>;
729
+ explicitMention: z.ZodOptional<z.ZodBoolean>;
719
730
  text: z.ZodOptional<z.ZodString>;
720
731
  redacted: z.ZodOptional<z.ZodLiteral<true>>;
721
732
  }, z.core.$strict>, z.ZodObject<{
@@ -757,10 +768,14 @@ export declare const conversationDetailReportSchema: z.ZodObject<{
757
768
  type: z.ZodLiteral<"turn_lifecycle">;
758
769
  turnId: z.ZodString;
759
770
  state: z.ZodEnum<{
760
- started: "started";
761
771
  succeeded: "succeeded";
762
772
  no_reply: "no_reply";
763
773
  }>;
774
+ }, z.core.$strict>, z.ZodObject<{
775
+ type: z.ZodLiteral<"turn_lifecycle">;
776
+ turnId: z.ZodString;
777
+ state: z.ZodLiteral<"started">;
778
+ inputMessageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
764
779
  }, z.core.$strict>, z.ZodObject<{
765
780
  type: z.ZodLiteral<"turn_lifecycle">;
766
781
  turnId: z.ZodString;
@@ -918,6 +933,7 @@ export declare const conversationEventPageSchema: z.ZodObject<{
918
933
  slackUserName: z.ZodOptional<z.ZodString>;
919
934
  }, z.core.$strict>>;
920
935
  eventType: z.ZodOptional<z.ZodString>;
936
+ explicitMention: z.ZodOptional<z.ZodBoolean>;
921
937
  text: z.ZodOptional<z.ZodString>;
922
938
  redacted: z.ZodOptional<z.ZodLiteral<true>>;
923
939
  }, z.core.$strict>, z.ZodObject<{
@@ -959,10 +975,14 @@ export declare const conversationEventPageSchema: z.ZodObject<{
959
975
  type: z.ZodLiteral<"turn_lifecycle">;
960
976
  turnId: z.ZodString;
961
977
  state: z.ZodEnum<{
962
- started: "started";
963
978
  succeeded: "succeeded";
964
979
  no_reply: "no_reply";
965
980
  }>;
981
+ }, z.core.$strict>, z.ZodObject<{
982
+ type: z.ZodLiteral<"turn_lifecycle">;
983
+ turnId: z.ZodString;
984
+ state: z.ZodLiteral<"started">;
985
+ inputMessageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
966
986
  }, z.core.$strict>, z.ZodObject<{
967
987
  type: z.ZodLiteral<"turn_lifecycle">;
968
988
  turnId: z.ZodString;
@@ -49,7 +49,7 @@ import {
49
49
  taskRunListSchema,
50
50
  taskRunSchema,
51
51
  taskSummarySchema
52
- } from "../chunk-3JVUWLR7.js";
52
+ } from "../chunk-XN3QKNQX.js";
53
53
  import {
54
54
  healthReportSchema,
55
55
  pluginOperationalReportFeedSchema,
package/dist/api.js CHANGED
@@ -33,21 +33,22 @@ import {
33
33
  taskListSchema,
34
34
  taskParamsSchema,
35
35
  taskRunListSchema
36
- } from "./chunk-3JVUWLR7.js";
36
+ } from "./chunk-XN3QKNQX.js";
37
37
  import {
38
38
  appendAndEnqueueApiConversationMessage,
39
39
  createAndEnqueueApiConversation,
40
40
  formatSlackConversationRedactedLabel,
41
+ lookupSlackUser,
41
42
  readHealthReport,
42
43
  resolveSlackConversationContextFromThreadId,
43
44
  webActorFromEmail
44
- } from "./chunk-7GOP6VFJ.js";
45
+ } from "./chunk-OYRFUQOV.js";
45
46
  import {
46
47
  buildSentryConversationUrl
47
48
  } from "./chunk-4CODA7P5.js";
48
49
  import {
49
50
  getConversation
50
- } from "./chunk-M5OZSVJI.js";
51
+ } from "./chunk-6A46QL4O.js";
51
52
  import {
52
53
  readTaskExecutionByConversationId,
53
54
  readTaskExecutionDays,
@@ -55,8 +56,8 @@ import {
55
56
  readTaskExecutionSummaries,
56
57
  readTaskExecutions,
57
58
  readTaskRuns
58
- } from "./chunk-UIMBNY6O.js";
59
- import "./chunk-FEFEIA3Z.js";
59
+ } from "./chunk-J5LAA2LI.js";
60
+ import "./chunk-EMB4VY7H.js";
60
61
  import {
61
62
  healthReportSchema,
62
63
  pluginOperationalReportFeedSchema,
@@ -80,16 +81,16 @@ import {
80
81
  listPublicEventTasksForTeams,
81
82
  listPublicScheduledTasksForTeams,
82
83
  readStats
83
- } from "./chunk-P43QM7JY.js";
84
+ } from "./chunk-6WNWM5JD.js";
84
85
  import {
85
86
  parseSlackThreadId
86
- } from "./chunk-H2RLIJ7G.js";
87
+ } from "./chunk-UDDCHQN2.js";
87
88
  import {
88
89
  agentTurnUsageSchema,
89
90
  fallbackShortTitle,
90
91
  hasAgentTurnUsage,
91
92
  renderJuniorNativeConversationEvent
92
- } from "./chunk-IPGNWXA3.js";
93
+ } from "./chunk-JIJOPRD4.js";
93
94
  import "./chunk-3Y47VMHV.js";
94
95
  import "./chunk-PDO5BLNM.js";
95
96
  import {
@@ -99,11 +100,11 @@ import {
99
100
  renderPluginConversationEvent,
100
101
  resolveViewerUser,
101
102
  updateViewerDisplayName
102
- } from "./chunk-UOFQEVR5.js";
103
+ } from "./chunk-QVQBWWXQ.js";
103
104
  import {
104
105
  getSlackClient,
105
106
  withSlackRetries
106
- } from "./chunk-64K7GKRW.js";
107
+ } from "./chunk-AGSUPAD5.js";
107
108
  import {
108
109
  decodeStoredConversationEvent,
109
110
  getConversationStore,
@@ -111,23 +112,23 @@ import {
111
112
  getSqlExecutor,
112
113
  locationFromRow,
113
114
  parseSessionSource
114
- } from "./chunk-ILYL6YFD.js";
115
+ } from "./chunk-K3QXMZDU.js";
115
116
  import {
116
117
  juniorApiTokens,
117
118
  juniorConversationEvents,
118
119
  juniorConversations,
119
120
  juniorIdentities,
120
121
  juniorUsers
121
- } from "./chunk-F5NMSEBL.js";
122
+ } from "./chunk-5N3XLYBW.js";
122
123
  import "./chunk-EM225ITJ.js";
123
- import "./chunk-6PFDWAK2.js";
124
- import "./chunk-3ZMKDHCT.js";
124
+ import "./chunk-YN4W5SRJ.js";
125
+ import "./chunk-D22FO4LW.js";
125
126
  import {
126
127
  juniorDestinations
127
128
  } from "./chunk-VFUK3X5B.js";
128
129
  import {
129
130
  canExposeConversationPayload
130
- } from "./chunk-SHDREBGC.js";
131
+ } from "./chunk-PWMVR2MD.js";
131
132
  import "./chunk-RUIXF3YQ.js";
132
133
  import "./chunk-HZF5P5UN.js";
133
134
  import {
@@ -137,10 +138,10 @@ import {
137
138
  } from "./chunk-F3B2YJ76.js";
138
139
  import {
139
140
  logException
140
- } from "./chunk-JQXJ2E53.js";
141
+ } from "./chunk-OAPPJ3TM.js";
141
142
  import "./chunk-6GWA276C.js";
142
- import "./chunk-IZRSLANA.js";
143
- import "./chunk-7QB2CKCW.js";
143
+ import "./chunk-DJAOSWB6.js";
144
+ import "./chunk-WVXFEQXE.js";
144
145
  import "./chunk-MLKGABMK.js";
145
146
 
146
147
  // src/api.ts
@@ -524,7 +525,11 @@ function usageFromRow(row) {
524
525
  return hasAgentTurnUsage(result) ? agentTurnUsageSchema.parse(result) : void 0;
525
526
  }
526
527
  async function readConversationModelUsageFromSql(executor, options) {
527
- const modelId = sql`concat(${message}->>'provider', '/', ${message}->>'model')`;
528
+ const modelId = sql`case
529
+ when position('/' in coalesce(${message}->>'model', '')) > 0
530
+ then ${message}->>'model'
531
+ else concat(${message}->>'provider', '/', ${message}->>'model')
532
+ end`;
528
533
  const inputTokens = token("input", "inputTokens");
529
534
  const outputTokens = token("output", "outputTokens");
530
535
  const cachedInputTokens = token("cacheRead", "cachedInputTokens");
@@ -833,6 +838,7 @@ function reportEventData(args) {
833
838
  ...data.meta?.source === "web" ? { source: "web" } : {},
834
839
  ...actorIdentity ? { actorIdentity } : {},
835
840
  ...typeof data.meta?.eventType === "string" ? { eventType: data.meta.eventType } : {},
841
+ ...typeof data.meta?.explicitMention === "boolean" ? { explicitMention: data.meta.explicitMention } : {},
836
842
  ...args.canExposePayload ? { text: data.text } : { redacted: true }
837
843
  };
838
844
  }
@@ -845,7 +851,8 @@ function reportEventData(args) {
845
851
  return {
846
852
  type: "turn_lifecycle",
847
853
  turnId: data.turnId,
848
- state: "started"
854
+ state: "started",
855
+ ...data.inputMessageIds.length > 0 ? { inputMessageIds: data.inputMessageIds } : {}
849
856
  };
850
857
  case "turn_context":
851
858
  if (!args.canExposePayload) {
@@ -2372,19 +2379,22 @@ function actorIdentityFromApiMetadata(metadata2) {
2372
2379
  ...metadata2.authorFullName ? { fullName: metadata2.authorFullName } : {}
2373
2380
  };
2374
2381
  }
2375
- function actorIdentityFromSlackMetadata(metadata2) {
2382
+ async function actorIdentityFromSlackMetadata(metadata2, teamId) {
2376
2383
  if (metadata2.message.author.isMe === true) return void 0;
2377
2384
  const slackUserId = metadata2.message.author.userId.trim();
2378
2385
  if (!slackUserId) return void 0;
2379
- const slackUserName = metadata2.message.author.userName?.trim();
2380
- const fullName = metadata2.message.author.fullName?.trim();
2386
+ const profile = teamId ? await lookupSlackUser(teamId, slackUserId) : null;
2387
+ const slackUserName = profile?.userName?.trim() || metadata2.message.author.userName?.trim();
2388
+ const fullName = profile?.fullName?.trim() || metadata2.message.author.fullName?.trim();
2389
+ const email = profile?.email?.trim().toLowerCase();
2381
2390
  return {
2382
2391
  slackUserId,
2383
2392
  ...slackUserName ? { slackUserName } : {},
2384
- ...fullName ? { fullName } : {}
2393
+ ...fullName ? { fullName } : {},
2394
+ ...email ? { email } : {}
2385
2395
  };
2386
2396
  }
2387
- function projectPendingMessage(message2, canExposePayload) {
2397
+ async function projectPendingMessage(message2, canExposePayload) {
2388
2398
  if (message2.source === "web") {
2389
2399
  const metadata2 = apiTurnMailboxMetadataSchema.safeParse(
2390
2400
  message2.input.metadata
@@ -2414,7 +2424,22 @@ function projectPendingMessage(message2, canExposePayload) {
2414
2424
  if (metadata2.data.message.author.isMe === true) return void 0;
2415
2425
  const text = message2.input.text.trim();
2416
2426
  if (!text) return void 0;
2417
- const actorIdentity = actorIdentityFromSlackMetadata(metadata2.data);
2427
+ if (!canExposePayload) {
2428
+ return {
2429
+ createdAt: isoFromMs(message2.createdAtMs),
2430
+ delivery: message2.delivery,
2431
+ inboundMessageId: message2.inboundMessageId,
2432
+ messageId: metadata2.data.message.id,
2433
+ receivedAt: isoFromMs(message2.receivedAtMs),
2434
+ redacted: true,
2435
+ role: "user",
2436
+ source: "slack"
2437
+ };
2438
+ }
2439
+ const actorIdentity = await actorIdentityFromSlackMetadata(
2440
+ metadata2.data,
2441
+ message2.destination?.platform === "slack" ? message2.destination.teamId : void 0
2442
+ );
2418
2443
  return {
2419
2444
  createdAt: isoFromMs(message2.createdAtMs),
2420
2445
  delivery: message2.delivery,
@@ -2423,10 +2448,8 @@ function projectPendingMessage(message2, canExposePayload) {
2423
2448
  receivedAt: isoFromMs(message2.receivedAtMs),
2424
2449
  role: "user",
2425
2450
  source: "slack",
2426
- ...canExposePayload ? {
2427
- ...actorIdentity ? { actorIdentity } : {},
2428
- text
2429
- } : { redacted: true }
2451
+ ...actorIdentity ? { actorIdentity } : {},
2452
+ text
2430
2453
  };
2431
2454
  }
2432
2455
  return void 0;
@@ -2437,7 +2460,12 @@ async function readConversationPendingMessages(conversationId, options = {}) {
2437
2460
  const access = (await readConversationAccessFromSql(getDb(), [conversationId], options.viewer)).get(conversationId);
2438
2461
  const canExposePayload = access?.canViewPrivateContent ?? false;
2439
2462
  const work = await getConversation({ conversationId });
2440
- const messages = (work?.execution.pendingMessages ?? []).map((message2) => projectPendingMessage(message2, canExposePayload)).filter(
2463
+ const projectedMessages = await Promise.all(
2464
+ (work?.execution.pendingMessages ?? []).map(
2465
+ (message2) => projectPendingMessage(message2, canExposePayload)
2466
+ )
2467
+ );
2468
+ const messages = projectedMessages.filter(
2441
2469
  (message2) => Boolean(message2)
2442
2470
  );
2443
2471
  return conversationPendingMessagesReportSchema.parse({
@@ -4310,7 +4338,7 @@ function readDescriptionText(home) {
4310
4338
  }
4311
4339
  }
4312
4340
  async function readSkillReports() {
4313
- const { discoverSkills } = await import("./skills-PKS37E6B.js");
4341
+ const { discoverSkills } = await import("./skills-43PFYZIZ.js");
4314
4342
  const skills = await discoverSkills();
4315
4343
  return skillReportsSchema.parse(
4316
4344
  skills.map((skill) => ({
@@ -4320,7 +4348,7 @@ async function readSkillReports() {
4320
4348
  );
4321
4349
  }
4322
4350
  async function readPlugins() {
4323
- const { pluginCatalogRuntime } = await import("./catalog-runtime-HA7RIWYT.js");
4351
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-2LCLLOBI.js");
4324
4352
  return pluginsSchema.parse(
4325
4353
  pluginCatalogRuntime.getProviders().map((plugin) => ({
4326
4354
  configKeys: plugin.manifest.configKeys ?? [],
@@ -4333,7 +4361,7 @@ async function readPlugins() {
4333
4361
  async function readRuntimeInfoReport() {
4334
4362
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
4335
4363
  import("./discovery-GUFTFBTL.js"),
4336
- import("./catalog-runtime-HA7RIWYT.js"),
4364
+ import("./catalog-runtime-2LCLLOBI.js"),
4337
4365
  readPlugins(),
4338
4366
  readSkillReports()
4339
4367
  ]);
@@ -4349,7 +4377,7 @@ async function readRuntimeInfoReport() {
4349
4377
  }
4350
4378
  async function readPluginOperationalReportFeed() {
4351
4379
  const nowMs = Date.now();
4352
- const { getPluginOperationalReports } = await import("./agent-hooks-SEOGOGKX.js");
4380
+ const { getPluginOperationalReports } = await import("./agent-hooks-EYUAEBMA.js");
4353
4381
  return pluginOperationalReportFeedSchema.parse({
4354
4382
  source: "plugins",
4355
4383
  generatedAt: new Date(nowMs).toISOString(),