@sentry/junior 0.87.0 → 0.88.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 (59) hide show
  1. package/dist/{agent-hooks-NWOUB3UR.js → agent-hooks-RIJ5TSWP.js} +8 -8
  2. package/dist/api/people/list.d.ts +4 -0
  3. package/dist/api/people/list.js +83 -0
  4. package/dist/api/people/list.query.d.ts +4 -0
  5. package/dist/api/people/profile.d.ts +4 -0
  6. package/dist/api/people/profile.js +131 -0
  7. package/dist/api/people/profile.query.d.ts +4 -0
  8. package/dist/api/people/shared.d.ts +76 -0
  9. package/dist/api/people/types.d.ts +85 -0
  10. package/dist/app.js +43 -40
  11. package/dist/{catalog-runtime-XOD7YPRS.js → catalog-runtime-MW7XERSU.js} +3 -3
  12. package/dist/chat/conversations/sql/migrations.d.ts +1 -1
  13. package/dist/chat/conversations/sql/schema/identities.d.ts +54 -3
  14. package/dist/chat/conversations/sql/schema/users.d.ts +109 -0
  15. package/dist/chat/conversations/sql/schema.d.ts +164 -3
  16. package/dist/chat/conversations/sql/store.d.ts +0 -1
  17. package/dist/chat/identities/identity.d.ts +18 -0
  18. package/dist/chat/identities/sql.d.ts +4 -0
  19. package/dist/chat/runtime/processing-reaction.d.ts +2 -1
  20. package/dist/chat/runtime/slack-resume.d.ts +3 -2
  21. package/dist/chat/runtime/thread-context.d.ts +3 -1
  22. package/dist/chat/runtime/turn-user-message.d.ts +2 -1
  23. package/dist/chat/services/conversation-memory.d.ts +3 -1
  24. package/dist/chat/slack/message.d.ts +2 -1
  25. package/dist/chat/slack/outbound.d.ts +5 -4
  26. package/dist/chat/slack/timestamp.d.ts +6 -0
  27. package/dist/chat/sql/schema.d.ts +163 -3
  28. package/dist/chat/tools/slack/context.d.ts +2 -1
  29. package/dist/{chunk-ENPSU7L7.js → chunk-2DPZRS3B.js} +4 -4
  30. package/dist/{chunk-6I6HBOQM.js → chunk-4IXHIV37.js} +413 -157
  31. package/dist/{chunk-JRXCSSSU.js → chunk-6UPQ5GTJ.js} +3 -3
  32. package/dist/{chunk-64ACM6AP.js → chunk-7ES37H6U.js} +2 -2
  33. package/dist/{chunk-GGD6WK6V.js → chunk-AHLSXMOU.js} +2 -2
  34. package/dist/{chunk-2TAIGJPQ.js → chunk-C5NCV3OB.js} +1 -1
  35. package/dist/{chunk-6O5UI3RG.js → chunk-F22AM3OW.js} +1 -1
  36. package/dist/{chunk-BRSQQRG6.js → chunk-IATAYWFU.js} +2 -2
  37. package/dist/{chunk-BQ3ITJA6.js → chunk-KBFQXJL4.js} +2 -2
  38. package/dist/{chunk-ACJJJEGG.js → chunk-KBSLCOGE.js} +8 -8
  39. package/dist/{chunk-IXTBFABZ.js → chunk-KQKIA4CU.js} +1 -1
  40. package/dist/{chunk-B6FQPS7A.js → chunk-NYJLQI42.js} +22 -20
  41. package/dist/chunk-PBV4ZIVM.js +261 -0
  42. package/dist/{chunk-ZU2ALUVQ.js → chunk-S35CPNPT.js} +1 -1
  43. package/dist/{chunk-RIB3M6YA.js → chunk-V6XDCS3X.js} +4 -4
  44. package/dist/{chunk-KF7522P3.js → chunk-VMBZFPZM.js} +11 -1
  45. package/dist/{chunk-2NFV5FMB.js → chunk-XS6NLQPA.js} +21 -12
  46. package/dist/{chunk-GB5DFM4D.js → chunk-YPAE5RH3.js} +1 -1
  47. package/dist/cli/chat.js +6 -6
  48. package/dist/cli/check.js +4 -4
  49. package/dist/cli/plugins.js +11 -11
  50. package/dist/cli/snapshot-warmup.js +6 -6
  51. package/dist/cli/upgrade.js +12 -12
  52. package/dist/{db-SZVUU7RB.js → db-37HOGLI7.js} +5 -5
  53. package/dist/nitro.js +4 -4
  54. package/dist/reporting/conversations.d.ts +0 -56
  55. package/dist/reporting.d.ts +2 -8
  56. package/dist/reporting.js +14 -290
  57. package/dist/{runner-DMP3IQNM.js → runner-BCRF2FCI.js} +13 -13
  58. package/dist/{validation-MBNJKWPQ.js → validation-FMJO3L5P.js} +4 -4
  59. package/package.json +14 -6
@@ -1,32 +1,32 @@
1
1
  import {
2
2
  createPluginLogger,
3
3
  createPluginState
4
- } from "./chunk-BRSQQRG6.js";
5
- import {
6
- getDb
7
- } from "./chunk-6I6HBOQM.js";
4
+ } from "./chunk-IATAYWFU.js";
8
5
  import {
9
6
  SANDBOX_WORKSPACE_ROOT
10
7
  } from "./chunk-G3E7SCME.js";
8
+ import {
9
+ getDb
10
+ } from "./chunk-4IXHIV37.js";
11
11
  import {
12
12
  isConversationChannel,
13
13
  isConversationScopedChannel,
14
14
  isDmChannel,
15
15
  normalizeSlackConversationId
16
- } from "./chunk-GGD6WK6V.js";
16
+ } from "./chunk-AHLSXMOU.js";
17
17
  import {
18
18
  botConfig,
19
19
  completeObject,
20
20
  embedTexts
21
- } from "./chunk-ZU2ALUVQ.js";
21
+ } from "./chunk-S35CPNPT.js";
22
22
  import {
23
23
  isActorUserId,
24
24
  parseActorUserId
25
- } from "./chunk-IXTBFABZ.js";
25
+ } from "./chunk-KQKIA4CU.js";
26
26
  import {
27
27
  logInfo,
28
28
  logWarn
29
- } from "./chunk-KF7522P3.js";
29
+ } from "./chunk-VMBZFPZM.js";
30
30
 
31
31
  // src/chat/plugins/agent-hooks.ts
32
32
  import { promptMessageSchema } from "@sentry/junior-plugin-api";
@@ -68,6 +68,14 @@ function createPluginEmbedder(pluginName, runtime = {}) {
68
68
  };
69
69
  }
70
70
 
71
+ // src/chat/slack/timestamp.ts
72
+ import { z } from "zod";
73
+ var slackMessageTsSchema = z.string().trim().regex(/^\d+(?:\.\d+)?$/).brand();
74
+ function parseSlackMessageTs(value) {
75
+ const parsed = slackMessageTsSchema.safeParse(value);
76
+ return parsed.success ? parsed.data : void 0;
77
+ }
78
+
71
79
  // src/chat/tools/slack/context.ts
72
80
  function getSlackToolContext(context) {
73
81
  if (context.source.platform !== "slack") {
@@ -81,7 +89,7 @@ function getSlackToolContext(context) {
81
89
  source: context.source,
82
90
  requester: context.requester?.platform === "slack" ? context.requester : void 0,
83
91
  destinationChannelId: context.destination.channelId,
84
- messageTs: context.source.messageTs,
92
+ messageTs: parseSlackMessageTs(context.source.messageTs),
85
93
  sourceChannelId: context.source.channelId,
86
94
  teamId: context.source.teamId,
87
95
  threadTs: context.source.threadTs
@@ -191,7 +199,7 @@ function resolveChannelCapabilities(channelId) {
191
199
  }
192
200
 
193
201
  // src/chat/plugins/agent-hooks.ts
194
- import { z } from "zod";
202
+ import { z as z2 } from "zod";
195
203
  var PluginHookDeniedError = class extends Error {
196
204
  constructor(message) {
197
205
  super(message);
@@ -218,8 +226,8 @@ var PLUGIN_ROUTE_METHODS = /* @__PURE__ */ new Set([
218
226
  "ALL"
219
227
  ]);
220
228
  var PLUGIN_PROMPT_CONTRIBUTION_TOTAL_MAX_CHARS = 16e3;
221
- var systemPromptMessageArraySchema = z.array(promptMessageSchema);
222
- var userPromptMessageArraySchema = z.array(promptMessageSchema);
229
+ var systemPromptMessageArraySchema = z2.array(promptMessageSchema);
230
+ var userPromptMessageArraySchema = z2.array(promptMessageSchema);
223
231
  function isRecord(value) {
224
232
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
225
233
  }
@@ -984,6 +992,7 @@ function createPluginHookRunner(input = {}) {
984
992
  export {
985
993
  createPluginModel,
986
994
  createPluginEmbedder,
995
+ parseSlackMessageTs,
987
996
  getSlackToolContext,
988
997
  bindSlackDirectCredentialSubject,
989
998
  verifySlackDirectCredentialSubject,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getChatConfig
3
- } from "./chunk-ZU2ALUVQ.js";
3
+ } from "./chunk-S35CPNPT.js";
4
4
 
5
5
  // src/chat/state/adapter.ts
6
6
  import { createMemoryState } from "@chat-adapter/state-memory";
package/dist/cli/chat.js CHANGED
@@ -130,10 +130,10 @@ async function configureLocalChatPlugins(pluginSet) {
130
130
  databaseModule
131
131
  ] = await Promise.all([
132
132
  import("../plugins-PZMDS7AT.js"),
133
- import("../agent-hooks-NWOUB3UR.js"),
134
- import("../catalog-runtime-XOD7YPRS.js"),
135
- import("../validation-MBNJKWPQ.js"),
136
- import("../db-SZVUU7RB.js")
133
+ import("../agent-hooks-RIJ5TSWP.js"),
134
+ import("../catalog-runtime-MW7XERSU.js"),
135
+ import("../validation-FMJO3L5P.js"),
136
+ import("../db-37HOGLI7.js")
137
137
  ]);
138
138
  const resolvedPluginSet = pluginSet === void 0 ? await loadLocalPluginSet() : pluginSet ?? void 0;
139
139
  const plugins = pluginsModule.pluginRuntimeRegistrationsFromPluginSet(resolvedPluginSet);
@@ -195,7 +195,7 @@ async function runPrompt(options, io, pluginSet) {
195
195
  defaultStateAdapterForLocalChat();
196
196
  await configureLocalChatPlugins(pluginSet);
197
197
  const conversationId = newRunConversationId();
198
- const { runLocalAgentTurn } = await import("../runner-DMP3IQNM.js");
198
+ const { runLocalAgentTurn } = await import("../runner-BCRF2FCI.js");
199
199
  const result = await runLocalAgentTurn(
200
200
  {
201
201
  conversationId,
@@ -219,7 +219,7 @@ async function runInteractive(io, pluginSet) {
219
219
  defaultStateAdapterForLocalChat();
220
220
  await configureLocalChatPlugins(pluginSet);
221
221
  const conversationId = newRunConversationId();
222
- const { runLocalAgentTurn } = await import("../runner-DMP3IQNM.js");
222
+ const { runLocalAgentTurn } = await import("../runner-BCRF2FCI.js");
223
223
  const rl = readline.createInterface({
224
224
  input: io.input,
225
225
  output: io.output,
package/dist/cli/check.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  parseSkillFile
3
- } from "../chunk-64ACM6AP.js";
3
+ } from "../chunk-7ES37H6U.js";
4
4
  import {
5
5
  parseInlinePluginManifest,
6
6
  parsePluginManifest
7
- } from "../chunk-BQ3ITJA6.js";
8
- import "../chunk-IXTBFABZ.js";
7
+ } from "../chunk-KBFQXJL4.js";
8
+ import "../chunk-KQKIA4CU.js";
9
9
  import "../chunk-6APU57E6.js";
10
- import "../chunk-KF7522P3.js";
10
+ import "../chunk-VMBZFPZM.js";
11
11
  import {
12
12
  JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE,
13
13
  JUNIOR_HEARTBEAT_ROUTE,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  validatePluginEgressCredentialHooks,
3
3
  validatePluginRegistrations
4
- } from "../chunk-2TAIGJPQ.js";
4
+ } from "../chunk-C5NCV3OB.js";
5
5
  import {
6
6
  pluginCatalogConfigFromPluginSet,
7
7
  pluginCliRegistrationsFromPluginSet,
@@ -10,27 +10,27 @@ import {
10
10
  import {
11
11
  setPlugins,
12
12
  validatePlugins
13
- } from "../chunk-2NFV5FMB.js";
13
+ } from "../chunk-XS6NLQPA.js";
14
14
  import {
15
15
  createPluginLogger
16
- } from "../chunk-BRSQQRG6.js";
16
+ } from "../chunk-IATAYWFU.js";
17
+ import "../chunk-G3E7SCME.js";
18
+ import "../chunk-YPAE5RH3.js";
17
19
  import {
18
20
  getDb
19
- } from "../chunk-6I6HBOQM.js";
20
- import "../chunk-G3E7SCME.js";
21
- import "../chunk-GB5DFM4D.js";
22
- import "../chunk-GGD6WK6V.js";
23
- import "../chunk-ZU2ALUVQ.js";
21
+ } from "../chunk-4IXHIV37.js";
22
+ import "../chunk-AHLSXMOU.js";
23
+ import "../chunk-S35CPNPT.js";
24
24
  import "../chunk-L7OHKDOX.js";
25
25
  import {
26
26
  loadAppPluginSet
27
27
  } from "../chunk-Y2CM7HXH.js";
28
28
  import {
29
29
  pluginCatalogRuntime
30
- } from "../chunk-BQ3ITJA6.js";
31
- import "../chunk-IXTBFABZ.js";
30
+ } from "../chunk-KBFQXJL4.js";
31
+ import "../chunk-KQKIA4CU.js";
32
32
  import "../chunk-6APU57E6.js";
33
- import "../chunk-KF7522P3.js";
33
+ import "../chunk-VMBZFPZM.js";
34
34
  import "../chunk-FTMXFBDC.js";
35
35
  import "../chunk-3DA7X2U3.js";
36
36
  import "../chunk-MLKGABMK.js";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  resolveRuntimeDependencySnapshot
3
- } from "../chunk-RIB3M6YA.js";
3
+ } from "../chunk-V6XDCS3X.js";
4
4
  import "../chunk-G3E7SCME.js";
5
5
  import {
6
6
  disconnectStateAdapter
7
- } from "../chunk-GB5DFM4D.js";
8
- import "../chunk-ZU2ALUVQ.js";
7
+ } from "../chunk-YPAE5RH3.js";
8
+ import "../chunk-S35CPNPT.js";
9
9
  import "../chunk-L7OHKDOX.js";
10
10
  import {
11
11
  pluginCatalogRuntime
12
- } from "../chunk-BQ3ITJA6.js";
13
- import "../chunk-IXTBFABZ.js";
12
+ } from "../chunk-KBFQXJL4.js";
13
+ import "../chunk-KQKIA4CU.js";
14
14
  import "../chunk-6APU57E6.js";
15
- import "../chunk-KF7522P3.js";
15
+ import "../chunk-VMBZFPZM.js";
16
16
  import "../chunk-FTMXFBDC.js";
17
17
  import "../chunk-3DA7X2U3.js";
18
18
  import "../chunk-MLKGABMK.js";
@@ -4,7 +4,7 @@ import {
4
4
  recordConversationActivity,
5
5
  recordConversationExecution,
6
6
  requestConversationWork
7
- } from "../chunk-ENPSU7L7.js";
7
+ } from "../chunk-2DPZRS3B.js";
8
8
  import {
9
9
  JUNIOR_THREAD_STATE_TTL_MS,
10
10
  coerceThreadConversationState
@@ -18,33 +18,33 @@ import {
18
18
  import {
19
19
  createPluginLogger,
20
20
  createPluginState
21
- } from "../chunk-BRSQQRG6.js";
21
+ } from "../chunk-IATAYWFU.js";
22
+ import {
23
+ disconnectStateAdapter,
24
+ getConnectedStateContext
25
+ } from "../chunk-YPAE5RH3.js";
22
26
  import {
23
27
  createJuniorSqlExecutor,
24
28
  createSqlStore,
25
29
  getDb
26
- } from "../chunk-6I6HBOQM.js";
27
- import {
28
- disconnectStateAdapter,
29
- getConnectedStateContext
30
- } from "../chunk-GB5DFM4D.js";
30
+ } from "../chunk-4IXHIV37.js";
31
31
  import {
32
32
  parseDestination,
33
33
  sameDestination
34
- } from "../chunk-GGD6WK6V.js";
34
+ } from "../chunk-AHLSXMOU.js";
35
35
  import {
36
36
  getChatConfig
37
- } from "../chunk-ZU2ALUVQ.js";
37
+ } from "../chunk-S35CPNPT.js";
38
38
  import "../chunk-L7OHKDOX.js";
39
39
  import {
40
40
  loadAppPluginSet
41
41
  } from "../chunk-Y2CM7HXH.js";
42
42
  import {
43
43
  pluginCatalogRuntime
44
- } from "../chunk-BQ3ITJA6.js";
45
- import "../chunk-IXTBFABZ.js";
44
+ } from "../chunk-KBFQXJL4.js";
45
+ import "../chunk-KQKIA4CU.js";
46
46
  import "../chunk-6APU57E6.js";
47
- import "../chunk-KF7522P3.js";
47
+ import "../chunk-VMBZFPZM.js";
48
48
  import {
49
49
  isRecord,
50
50
  toOptionalNumber,
@@ -2,12 +2,12 @@ import {
2
2
  closeDb,
3
3
  getConversationStore,
4
4
  getDb
5
- } from "./chunk-6I6HBOQM.js";
6
- import "./chunk-GGD6WK6V.js";
7
- import "./chunk-ZU2ALUVQ.js";
5
+ } from "./chunk-4IXHIV37.js";
6
+ import "./chunk-AHLSXMOU.js";
7
+ import "./chunk-S35CPNPT.js";
8
8
  import "./chunk-L7OHKDOX.js";
9
- import "./chunk-IXTBFABZ.js";
10
- import "./chunk-KF7522P3.js";
9
+ import "./chunk-KQKIA4CU.js";
10
+ import "./chunk-VMBZFPZM.js";
11
11
  import "./chunk-FTMXFBDC.js";
12
12
  import "./chunk-3DA7X2U3.js";
13
13
  import "./chunk-MLKGABMK.js";
package/dist/nitro.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveConversationWorkQueueTopic
3
- } from "./chunk-6O5UI3RG.js";
3
+ } from "./chunk-F22AM3OW.js";
4
4
  import {
5
5
  PLUGIN_TASK_QUEUE_TOPIC
6
6
  } from "./chunk-KNFROR7R.js";
@@ -8,8 +8,8 @@ import {
8
8
  pluginCatalogConfigFromPluginSet,
9
9
  pluginRuntimeRegistrationsFromPluginSet
10
10
  } from "./chunk-SG5WAA7H.js";
11
- import "./chunk-GGD6WK6V.js";
12
- import "./chunk-ZU2ALUVQ.js";
11
+ import "./chunk-AHLSXMOU.js";
12
+ import "./chunk-S35CPNPT.js";
13
13
  import "./chunk-L7OHKDOX.js";
14
14
  import {
15
15
  loadPluginSetFromModule,
@@ -20,7 +20,7 @@ import {
20
20
  isValidPackageName,
21
21
  resolvePackageDir
22
22
  } from "./chunk-6APU57E6.js";
23
- import "./chunk-KF7522P3.js";
23
+ import "./chunk-VMBZFPZM.js";
24
24
  import {
25
25
  JUNIOR_CONVERSATION_WORK_CALLBACK_ROUTE,
26
26
  JUNIOR_HEARTBEAT_CRON_SCHEDULE,
@@ -164,62 +164,6 @@ export interface ConversationStatsReport {
164
164
  windowEnd: string;
165
165
  windowStart: string;
166
166
  }
167
- export interface RequesterActivityDayReport {
168
- active: number;
169
- conversations: number;
170
- date: string;
171
- durationMs: number;
172
- failed: number;
173
- hung: number;
174
- runs: number;
175
- tokens?: number;
176
- }
177
- export interface RequesterTotalsReport {
178
- active: number;
179
- activeDays: number;
180
- conversations: number;
181
- durationMs: number;
182
- failed: number;
183
- hung: number;
184
- runs: number;
185
- tokens?: number;
186
- }
187
- export interface RequesterSummaryReport extends RequesterTotalsReport {
188
- firstSeenAt: string;
189
- lastSeenAt: string;
190
- requester: RequesterIdentity & {
191
- email: string;
192
- };
193
- }
194
- export interface RequesterDirectoryReport {
195
- generatedAt: string;
196
- people: RequesterSummaryReport[];
197
- sampleLimit: number;
198
- sampleSize: number;
199
- source: "conversation_index";
200
- truncated: boolean;
201
- }
202
- export interface RequesterProfileReport {
203
- activityDays: RequesterActivityDayReport[];
204
- generatedAt: string;
205
- locations: ConversationStatsItem[];
206
- recentConversations: ConversationSummaryReport[];
207
- requester: RequesterIdentity & {
208
- email: string;
209
- };
210
- sampleLimit: number;
211
- sampleSize: number;
212
- source: "conversation_index";
213
- surfaces: ConversationStatsItem[];
214
- totals: RequesterTotalsReport;
215
- truncated: boolean;
216
- windowEnd: string;
217
- windowStart: string;
218
- }
219
- /** Read the requester directory from durable conversation metadata. */
220
- export declare function readRequesterDirectoryReport(options?: ConversationReaderOptions): Promise<RequesterDirectoryReport>;
221
- /** Read one requester profile without exposing transcript payloads. */
222
- export declare function readRequesterProfileReport(email: string, options?: ConversationReaderOptions): Promise<RequesterProfileReport>;
223
167
  /** Read the recent conversation feed for reporting consumers. */
224
168
  export declare function readConversationFeed(options?: ConversationReaderOptions): Promise<ConversationFeed>;
225
169
  /** Read aggregate conversation statistics for reporting consumers. */
@@ -1,6 +1,6 @@
1
1
  import type { PluginOperationalReport } from "@sentry/junior-plugin-api";
2
- import { type ConversationFeed, type PluginConversationSummary, type ConversationReport, type ConversationSubagentTranscriptReport, type ConversationStatsReport, type RequesterDirectoryReport, type RequesterProfileReport } from "./reporting/conversations";
3
- export type { PluginConversationStatus, PluginConversations, PluginConversationSummary, ConversationActivityReport, ConversationActivityStatus, ConversationFeed, ConversationReport, ConversationReportStatus, ConversationRunReport, ConversationSubagentActivityReport, ConversationSubagentTranscriptReport, ConversationStatsItem, ConversationStatsReport, ConversationSummaryReport, ConversationSurface, ConversationToolActivityReport, ConversationUsage, RequesterActivityDayReport, RequesterDirectoryReport, RequesterIdentity, RequesterProfileReport, RequesterSummaryReport, RequesterTotalsReport, TranscriptMessage, TranscriptPart, TranscriptPartType, TranscriptRole, } from "./reporting/conversations";
2
+ import { type ConversationFeed, type PluginConversationSummary, type ConversationReport, type ConversationSubagentTranscriptReport, type ConversationStatsReport } from "./reporting/conversations";
3
+ export type { PluginConversationStatus, PluginConversations, PluginConversationSummary, ConversationActivityReport, ConversationActivityStatus, ConversationFeed, ConversationReport, ConversationReportStatus, ConversationRunReport, ConversationSubagentActivityReport, ConversationSubagentTranscriptReport, ConversationStatsItem, ConversationStatsReport, ConversationSummaryReport, ConversationSurface, ConversationToolActivityReport, ConversationUsage, RequesterIdentity, TranscriptMessage, TranscriptPart, TranscriptPartType, TranscriptRole, } from "./reporting/conversations";
4
4
  export interface HealthReport {
5
5
  status: "ok";
6
6
  service: string;
@@ -53,10 +53,6 @@ export interface JuniorReporting {
53
53
  listConversations(): Promise<ConversationFeed>;
54
54
  /** Read aggregate conversation stats for reporting consumers. */
55
55
  getConversationStats?(): Promise<ConversationStatsReport>;
56
- /** List requester profiles derived from trusted conversation requester emails. */
57
- listRequesters?(): Promise<RequesterDirectoryReport>;
58
- /** Read one requester profile derived from trusted conversation requester emails. */
59
- getRequesterProfile?(email: string): Promise<RequesterProfileReport>;
60
56
  /** Read recent conversation summaries without transcript payloads. */
61
57
  listRecentConversations?(options?: {
62
58
  limit?: number;
@@ -77,8 +73,6 @@ export interface JuniorReporting {
77
73
  /** Create the read-only reporting boundary used by plugins and other consumers. */
78
74
  export declare function createJuniorReporting(): JuniorReporting & {
79
75
  getConversationStats(): Promise<ConversationStatsReport>;
80
- listRequesters(): Promise<RequesterDirectoryReport>;
81
- getRequesterProfile(email: string): Promise<RequesterProfileReport>;
82
76
  listRecentConversations(options?: {
83
77
  limit?: number;
84
78
  }): Promise<PluginConversationSummary[]>;