@sentry/junior 0.146.0 → 0.148.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 (227) hide show
  1. package/dist/{agent-hooks-SLJADYE5.js → agent-hooks-VAUYT6PD.js} +10 -10
  2. package/dist/api/conversations/access.d.ts +2 -1
  3. package/dist/api/conversations/archive.d.ts +3 -5
  4. package/dist/api/conversations/create.d.ts +6 -0
  5. package/dist/api/conversations/detail.d.ts +2 -295
  6. package/dist/api/conversations/event-list.d.ts +2 -192
  7. package/dist/api/conversations/list.d.ts +4 -66
  8. package/dist/api/conversations/routes.d.ts +1 -1
  9. package/dist/api/conversations/stats.d.ts +0 -54
  10. package/dist/api/http.d.ts +2 -6
  11. package/dist/api/locations/detail.d.ts +3 -111
  12. package/dist/api/locations/list.d.ts +0 -45
  13. package/dist/api/locations/query.d.ts +2 -1
  14. package/dist/api/locations/routes.d.ts +1 -1
  15. package/dist/api/people/list.d.ts +0 -29
  16. package/dist/api/people/profile.d.ts +2 -106
  17. package/dist/api/people/profile.query.d.ts +2 -1
  18. package/dist/api/people/routes.d.ts +1 -1
  19. package/dist/api/people/shared.d.ts +1 -1
  20. package/dist/api/people/spend.d.ts +3 -4
  21. package/dist/api/personal-tokens/routes.d.ts +2 -2
  22. package/dist/api/route.d.ts +8 -14
  23. package/dist/api/schema/conversation.d.ts +64 -29
  24. package/dist/api/schema/location.d.ts +4 -0
  25. package/dist/api/schema/person.d.ts +7 -3
  26. package/dist/api/schema.d.ts +2 -2
  27. package/dist/api/schema.js +7 -1
  28. package/dist/api/stats.d.ts +0 -13
  29. package/dist/api/validation.d.ts +7 -0
  30. package/dist/api/viewer.d.ts +3 -0
  31. package/dist/api.d.ts +2 -1
  32. package/dist/api.js +630 -564
  33. package/dist/app.js +369 -309
  34. package/dist/{catalog-runtime-RQIMSDPR.js → catalog-runtime-WADOZVTB.js} +5 -5
  35. package/dist/chat/actor.d.ts +4 -1
  36. package/dist/chat/agent/prompt.d.ts +0 -2
  37. package/dist/chat/agent/request.d.ts +4 -5
  38. package/dist/chat/agent/resume.d.ts +1 -0
  39. package/dist/chat/agent/sandbox.d.ts +2 -2
  40. package/dist/chat/agent/tools.d.ts +0 -2
  41. package/dist/chat/agent-dispatch/context.d.ts +2 -2
  42. package/dist/chat/agent-dispatch/types.d.ts +2 -2
  43. package/dist/chat/agent-invocations/types.d.ts +52 -0
  44. package/dist/chat/api-turns/work.d.ts +103 -0
  45. package/dist/chat/capabilities/jr-rpc-command.d.ts +2 -2
  46. package/dist/chat/configuration/service.d.ts +5 -2
  47. package/dist/chat/configuration/sql.d.ts +9 -0
  48. package/dist/chat/configuration/types.d.ts +17 -13
  49. package/dist/chat/conversations/history.d.ts +63 -0
  50. package/dist/chat/conversations/projection.d.ts +10 -0
  51. package/dist/chat/conversations/provenance.d.ts +6 -0
  52. package/dist/chat/conversations/sql/actor-identity.d.ts +19 -0
  53. package/dist/chat/conversations/store.d.ts +1 -1
  54. package/dist/chat/credentials/unlink-provider.d.ts +2 -1
  55. package/dist/chat/credentials/user-token-store.d.ts +2 -0
  56. package/dist/chat/event-tasks/tool-support.d.ts +2 -0
  57. package/dist/chat/identities/sql.d.ts +8 -0
  58. package/dist/chat/logging.d.ts +2 -0
  59. package/dist/chat/mcp/auth-store.d.ts +0 -2
  60. package/dist/chat/mcp/oauth.d.ts +0 -2
  61. package/dist/chat/oauth-flow.d.ts +3 -1
  62. package/dist/chat/pi/client.d.ts +2 -0
  63. package/dist/chat/plugins/credential-hooks.d.ts +2 -0
  64. package/dist/chat/prompt.d.ts +0 -2
  65. package/dist/chat/resource-events/notification.d.ts +2 -1
  66. package/dist/chat/resource-events/store.d.ts +1 -1
  67. package/dist/chat/runtime/delivered-turn-state.d.ts +1 -4
  68. package/dist/chat/runtime/reply-executor.d.ts +1 -1
  69. package/dist/chat/runtime/slack-runtime.d.ts +2 -1
  70. package/dist/chat/runtime/thread-state.d.ts +8 -11
  71. package/dist/chat/runtime/turn-input.d.ts +4 -2
  72. package/dist/chat/runtime/turn-preparation.d.ts +11 -4
  73. package/dist/chat/sandbox/command-result.d.ts +2 -0
  74. package/dist/chat/sandbox/egress/schemas.d.ts +6 -0
  75. package/dist/chat/scheduled-tasks/tool-support.d.ts +7 -5
  76. package/dist/chat/scheduled-tasks/tools/create.d.ts +4 -2
  77. package/dist/chat/scheduled-tasks/tools/delete.d.ts +4 -2
  78. package/dist/chat/scheduled-tasks/tools/list.d.ts +4 -2
  79. package/dist/chat/scheduled-tasks/tools/run-now.d.ts +4 -2
  80. package/dist/chat/scheduled-tasks/tools/update.d.ts +4 -2
  81. package/dist/chat/services/mcp-auth-orchestration.d.ts +0 -3
  82. package/dist/chat/services/plugin-auth-orchestration.d.ts +2 -1
  83. package/dist/chat/services/provider-default-config.d.ts +2 -2
  84. package/dist/chat/services/subscribed-decision.d.ts +3 -0
  85. package/dist/chat/services/subscribed-reply-policy.d.ts +1 -0
  86. package/dist/chat/services/turn-result.d.ts +0 -3
  87. package/dist/chat/services/turn-router.d.ts +3 -0
  88. package/dist/chat/slack/assistant-thread/lifecycle.d.ts +0 -1
  89. package/dist/chat/slack/assistant-thread/title.d.ts +0 -3
  90. package/dist/chat/slack/channel.d.ts +26 -0
  91. package/dist/chat/slack/dispatch-turn.d.ts +2 -1
  92. package/dist/chat/slack/timestamp-param.d.ts +0 -2
  93. package/dist/chat/slack/{tools → tool-support}/canvas/api.d.ts +1 -1
  94. package/dist/chat/slack/tool-support/canvas/context.d.ts +11 -0
  95. package/dist/chat/slack/tool-support/channel-access.d.ts +42 -0
  96. package/dist/chat/slack/tool-support/channel-target.d.ts +27 -0
  97. package/dist/chat/slack/{tools → tool-support}/list/api.d.ts +8 -1
  98. package/dist/chat/slack/tool-support/list/params.d.ts +5 -0
  99. package/dist/chat/slack/tools/canvas/create.d.ts +3 -1
  100. package/dist/chat/slack/tools/canvas/edit.d.ts +2 -0
  101. package/dist/chat/slack/tools/canvas/read.d.ts +2 -0
  102. package/dist/chat/slack/tools/canvas/write.d.ts +2 -0
  103. package/dist/chat/slack/tools/{user-lookup.d.ts → channel-join.d.ts} +6 -5
  104. package/dist/chat/slack/tools/channel-list-messages.d.ts +5 -2
  105. package/dist/chat/slack/tools/conversation-message-search.d.ts +4 -8
  106. package/dist/chat/slack/tools/list/add-items.d.ts +4 -1
  107. package/dist/chat/slack/tools/list/create.d.ts +2 -0
  108. package/dist/chat/slack/tools/list/get-items.d.ts +5 -3
  109. package/dist/chat/slack/tools/list/update-item.d.ts +5 -1
  110. package/dist/chat/slack/tools/message-add-reaction.d.ts +3 -1
  111. package/dist/chat/slack/tools/public-search.d.ts +65 -2
  112. package/dist/chat/slack/tools/send-files.d.ts +3 -1
  113. package/dist/chat/slack/tools/thread-read.d.ts +4 -5
  114. package/dist/chat/slack/vision-cache.d.ts +5 -0
  115. package/dist/chat/source.d.ts +2 -0
  116. package/dist/chat/state/conversation.d.ts +4 -5
  117. package/dist/chat/task-execution/checkpoint.d.ts +1 -0
  118. package/dist/chat/task-execution/state.d.ts +9 -4
  119. package/dist/chat/task-execution/store.d.ts +3 -2
  120. package/dist/chat/task-execution/turn-cursor.d.ts +2 -0
  121. package/dist/chat/task-execution/worker.d.ts +2 -0
  122. package/dist/chat/tasks/read.d.ts +1 -1
  123. package/dist/chat/tool-support/structured-result.d.ts +1 -0
  124. package/dist/chat/tool-support/timed-out-tool-result.d.ts +11 -0
  125. package/dist/chat/tools/create-event-task.d.ts +2 -0
  126. package/dist/chat/tools/delete-event-task.d.ts +2 -0
  127. package/dist/chat/tools/handoff/tool.d.ts +2 -0
  128. package/dist/chat/tools/list-event-tasks.d.ts +2 -0
  129. package/dist/chat/tools/list-resource-event-subscriptions.d.ts +2 -0
  130. package/dist/chat/tools/runtime/report-progress.d.ts +2 -0
  131. package/dist/chat/tools/runtime/spawn-agent.d.ts +2 -0
  132. package/dist/chat/tools/search-conversation-events.d.ts +3 -1
  133. package/dist/chat/tools/search-resource-event-types.d.ts +2 -0
  134. package/dist/chat/tools/search-tools.d.ts +2 -0
  135. package/dist/chat/tools/skill/load-skill.d.ts +2 -0
  136. package/dist/chat/tools/skill/search-mcp-tools.d.ts +2 -0
  137. package/dist/chat/tools/stop-watching-resources.d.ts +2 -0
  138. package/dist/chat/tools/system-time.d.ts +2 -0
  139. package/dist/chat/tools/types.d.ts +11 -10
  140. package/dist/chat/tools/update-event-task.d.ts +2 -0
  141. package/dist/chat/tools/user-lookup.d.ts +29 -0
  142. package/dist/chat/tools/watch-resource-events.d.ts +4 -2
  143. package/dist/chat/tools/web/fetch-tool.d.ts +2 -0
  144. package/dist/chat/tools/web/image-generate.d.ts +2 -0
  145. package/dist/chat/tools/web/search.d.ts +2 -0
  146. package/dist/{chunk-GYEKOX7N.js → chunk-2B3PT3V2.js} +1 -1
  147. package/dist/{chunk-JLMVCNXL.js → chunk-45LOR4PU.js} +22 -4
  148. package/dist/{chunk-FGHADGIC.js → chunk-4AQZYNHM.js} +2 -2
  149. package/dist/{chunk-W65V465O.js → chunk-4EA2SFK2.js} +66 -4
  150. package/dist/{chunk-MKRIZ4VG.js → chunk-4GXJUYJV.js} +4 -2
  151. package/dist/{chunk-F7REGDKO.js → chunk-55F4QU2V.js} +2 -1
  152. package/dist/{chunk-M6ZWP4RI.js → chunk-7OEIXFC3.js} +2 -2
  153. package/dist/{chunk-MCFIXAV5.js → chunk-D3WPMGEX.js} +55 -37
  154. package/dist/{chunk-AISNSNDV.js → chunk-D6YX4NNN.js} +22 -10
  155. package/dist/chunk-DUY5CDAM.js +36 -0
  156. package/dist/{chunk-B63BF443.js → chunk-EAI67NTM.js} +9 -1
  157. package/dist/{chunk-FEKQHPVA.js → chunk-EINWQFXI.js} +9 -8
  158. package/dist/chunk-GDFF3BQG.js +136 -0
  159. package/dist/{chunk-X22KCSCO.js → chunk-GXYDVZKM.js} +7 -5
  160. package/dist/{chunk-X2WMBTS3.js → chunk-HLPLT3NY.js} +8 -5
  161. package/dist/{chunk-PB222GIA.js → chunk-HWQGBIH7.js} +1 -1
  162. package/dist/chunk-IL4EDBMV.js +566 -0
  163. package/dist/{chunk-HQE6EJS5.js → chunk-LAZGHEYU.js} +1 -1
  164. package/dist/{chunk-QG7OOKIN.js → chunk-LE5H7LMT.js} +1 -1
  165. package/dist/chunk-LNVEIJ2L.js +48 -0
  166. package/dist/{chunk-JUA6VU2Z.js → chunk-OJCP3C3J.js} +12 -23
  167. package/dist/{chunk-37JJDS4H.js → chunk-POSZWRGL.js} +1 -1
  168. package/dist/{chunk-TCEJ7XXM.js → chunk-QOWHHM3F.js} +1 -1
  169. package/dist/{chunk-H6U2U3EP.js → chunk-RRJV5UR5.js} +304 -65
  170. package/dist/{chunk-OFPYOC3M.js → chunk-ULAU5ZGU.js} +127 -120
  171. package/dist/{chunk-V6SRLKUB.js → chunk-V2FXMOEA.js} +2 -2
  172. package/dist/{chunk-GDQEU4I7.js → chunk-VCYSOXON.js} +296 -526
  173. package/dist/{chunk-BLETMLRX.js → chunk-VMNRXKAH.js} +1374 -989
  174. package/dist/{chunk-37EVZP66.js → chunk-VRHTNBA6.js} +167 -92
  175. package/dist/{chunk-FXDDDSPL.js → chunk-VY6W3T43.js} +4 -4
  176. package/dist/{chunk-ZDGHGY74.js → chunk-WCN4YSH7.js} +13 -6
  177. package/dist/{chunk-PH4Q3A6W.js → chunk-WOONT5ZP.js} +1 -1
  178. package/dist/{chunk-47OSH2ZO.js → chunk-XJ42NBP5.js} +395 -206
  179. package/dist/{chunk-SCGVWUZX.js → chunk-ZCHIC2GM.js} +92 -75
  180. package/dist/chunk-ZPL2RR7F.js +798 -0
  181. package/dist/cli/chat.js +33 -35
  182. package/dist/cli/check.js +6 -6
  183. package/dist/cli/plugins.js +13 -13
  184. package/dist/cli/snapshot-create.js +9 -9
  185. package/dist/cli/upgrade.js +7 -7
  186. package/dist/db/schema/agent-invocations.d.ts +20 -0
  187. package/dist/db/schema/conversation-annotations.d.ts +2 -2
  188. package/dist/db/schema/location-configurations.d.ts +127 -0
  189. package/dist/db/schema.d.ts +150 -3
  190. package/dist/{db-WWOMXWTT.js → db-XUKZRFFK.js} +7 -7
  191. package/dist/instrumentation.js +4 -4
  192. package/dist/nitro.js +2 -2
  193. package/dist/{oauth-callback-server-A6ZZX74U.js → oauth-callback-server-LPZMMGFI.js} +25 -26
  194. package/dist/{runner-KSGB2UAV.js → runner-DGKUTMPX.js} +22 -41
  195. package/dist/{skills-26QPWKVS.js → skills-P7YUFSXM.js} +6 -6
  196. package/dist/spawn-DSK3ZEVD.js +38 -0
  197. package/dist/{validation-OPSRGFGH.js → validation-S7U5M5NR.js} +6 -6
  198. package/dist/version.js +1 -1
  199. package/dist/{work-VMSW7STJ.js → work-GAA7TVAD.js} +18 -19
  200. package/dist/{worker-2JNFB7C7.js → worker-JXPJH3QB.js} +11 -10
  201. package/migrations/0024_misty_typhoid_mary.sql +12 -0
  202. package/migrations/meta/0024_snapshot.json +2275 -0
  203. package/migrations/meta/_journal.json +7 -0
  204. package/package.json +6 -5
  205. package/dist/api/health.d.ts +0 -7
  206. package/dist/api/personal-tokens/create.d.ts +0 -11
  207. package/dist/api/personal-tokens/list.d.ts +0 -12
  208. package/dist/api/personal-tokens/revoke.d.ts +0 -5
  209. package/dist/api/plugin-reports.d.ts +0 -63
  210. package/dist/api/plugins.d.ts +0 -8
  211. package/dist/api/runtime.d.ts +0 -24
  212. package/dist/api/skills.d.ts +0 -6
  213. package/dist/chat/slack/tools/canvas/context.d.ts +0 -18
  214. package/dist/chat/slack/tools/channel-access.d.ts +0 -30
  215. package/dist/chat/state/artifacts.d.ts +0 -30
  216. package/dist/chat/tool-support/turn-deadline-result.d.ts +0 -3
  217. package/dist/chunk-HLXXQI5Q.js +0 -238
  218. package/dist/chunk-LVW7BLLT.js +0 -115
  219. package/dist/chunk-Q6QZTTLS.js +0 -55
  220. package/dist/chunk-QSXZ42KX.js +0 -285
  221. package/dist/chunk-R776HKPK.js +0 -81
  222. package/dist/chunk-T5GXFFLA.js +0 -67
  223. package/dist/spawn-5LAJXZ2P.js +0 -39
  224. /package/dist/chat/slack/{tools → tool-support}/canvas/markdown.d.ts +0 -0
  225. /package/dist/chat/slack/{tools → tool-support}/channel-capabilities.d.ts +0 -0
  226. /package/dist/chat/slack/{tools → tool-support}/context.d.ts +0 -0
  227. /package/dist/chat/slack/{tools → tool-support}/slack-message-url.d.ts +0 -0
@@ -11,21 +11,21 @@ import {
11
11
  getPlugins,
12
12
  setPlugins,
13
13
  validatePlugins
14
- } from "./chunk-SCGVWUZX.js";
15
- import "./chunk-V6SRLKUB.js";
16
- import "./chunk-37EVZP66.js";
17
- import "./chunk-MCFIXAV5.js";
14
+ } from "./chunk-ZCHIC2GM.js";
15
+ import "./chunk-V2FXMOEA.js";
16
+ import "./chunk-VRHTNBA6.js";
17
+ import "./chunk-D3WPMGEX.js";
18
18
  import "./chunk-EM225ITJ.js";
19
- import "./chunk-GYEKOX7N.js";
20
- import "./chunk-MKRIZ4VG.js";
19
+ import "./chunk-2B3PT3V2.js";
20
+ import "./chunk-4GXJUYJV.js";
21
21
  import "./chunk-VFUK3X5B.js";
22
- import "./chunk-QG7OOKIN.js";
22
+ import "./chunk-LE5H7LMT.js";
23
23
  import "./chunk-HZF5P5UN.js";
24
24
  import "./chunk-F3B2YJ76.js";
25
- import "./chunk-B63BF443.js";
25
+ import "./chunk-EAI67NTM.js";
26
26
  import "./chunk-6GWA276C.js";
27
- import "./chunk-HQE6EJS5.js";
28
- import "./chunk-F7REGDKO.js";
27
+ import "./chunk-LAZGHEYU.js";
28
+ import "./chunk-55F4QU2V.js";
29
29
  import "./chunk-MLKGABMK.js";
30
30
  export {
31
31
  PluginHookDeniedError,
@@ -1,3 +1,4 @@
1
+ import type { User } from "@sentry/junior-plugin-api";
1
2
  import type { JuniorDatabase } from "@/db/db";
2
3
  import type { JuniorDestinationVisibility } from "@/db/schema/destinations";
3
4
  export interface ConversationAccess {
@@ -6,4 +7,4 @@ export interface ConversationAccess {
6
7
  visibility: JuniorDestinationVisibility | null;
7
8
  }
8
9
  /** Resolve viewer access for a bounded set of persisted conversations. */
9
- export declare function readConversationAccessFromSql(db: JuniorDatabase, conversationIds: readonly string[], verifiedViewerEmail?: string): Promise<Map<string, ConversationAccess>>;
10
+ export declare function readConversationAccessFromSql(db: JuniorDatabase, conversationIds: readonly string[], viewer?: User): Promise<Map<string, ConversationAccess>>;
@@ -1,5 +1,3 @@
1
- /** Serve the archive mutation with optimistic activity concurrency control. */
2
- declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
3
- archived: import("zod").ZodBoolean;
4
- }, import("zod/v4/core").$strict>>;
5
- export default _default;
1
+ import type { ArchiveConversationBody, ArchiveConversationResponse } from "../schema/conversation";
2
+ /** Archive or restore one conversation with optimistic activity concurrency control. */
3
+ export declare function archiveConversation(conversationId: string, body: ArchiveConversationBody): Promise<ArchiveConversationResponse>;
@@ -0,0 +1,6 @@
1
+ import type { User } from "@sentry/junior-plugin-api";
2
+ import type { AcceptedConversationMessage, CreateConversationBody, CreateConversationMessageBody } from "../schema/conversation";
3
+ /** Create a public root conversation and enqueue its first message. */
4
+ export declare function createConversationForViewer(viewer: User, body: CreateConversationBody): Promise<AcceptedConversationMessage>;
5
+ /** Append one dashboard message to an existing conversation. */
6
+ export declare function appendConversationMessageForViewer(viewer: User, conversationId: string, body: CreateConversationMessageBody): Promise<AcceptedConversationMessage>;
@@ -1,300 +1,7 @@
1
+ import type { User } from "@sentry/junior-plugin-api";
1
2
  import type { ConversationDetailReport } from "../schema/conversation";
2
3
  /** Load one conversation from its canonical event history. */
3
4
  export declare function readConversationDetail(conversationId: string, options?: {
4
5
  limit?: number;
5
- verifiedViewerEmail?: string;
6
+ viewer?: User;
6
7
  }): Promise<ConversationDetailReport | undefined>;
7
- /** Serve one conversation detail endpoint. */
8
- declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
9
- displayTitle: import("zod").ZodString;
10
- cumulativeDurationMs: import("zod").ZodNumber;
11
- cumulativeUsage: import("zod").ZodOptional<import("zod").ZodObject<{
12
- inputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
13
- outputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
14
- cachedInputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
15
- cacheCreationTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
16
- reasoningTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
17
- totalTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
18
- cost: import("zod").ZodOptional<import("zod").ZodObject<{
19
- input: import("zod").ZodOptional<import("zod").ZodNumber>;
20
- output: import("zod").ZodOptional<import("zod").ZodNumber>;
21
- cacheRead: import("zod").ZodOptional<import("zod").ZodNumber>;
22
- cacheWrite: import("zod").ZodOptional<import("zod").ZodNumber>;
23
- total: import("zod").ZodOptional<import("zod").ZodNumber>;
24
- }, import("zod/v4/core").$strict>>;
25
- }, import("zod/v4/core").$strict>>;
26
- auxiliaryCosts: import("zod").ZodOptional<import("zod").ZodObject<{
27
- costUsd: import("zod").ZodNumber;
28
- operations: import("zod").ZodArray<import("zod").ZodObject<{
29
- costUsd: import("zod").ZodNumber;
30
- events: import("zod").ZodNumber;
31
- name: import("zod").ZodString;
32
- namespace: import("zod").ZodString;
33
- }, import("zod/v4/core").$strict>>;
34
- }, import("zod/v4/core").$strict>>;
35
- conversationId: import("zod").ZodString;
36
- isParticipant: import("zod").ZodBoolean;
37
- status: import("zod").ZodEnum<{
38
- completed: "completed";
39
- failed: "failed";
40
- active: "active";
41
- }>;
42
- startedAt: import("zod").ZodString;
43
- lastSeenAt: import("zod").ZodString;
44
- lastProgressAt: import("zod").ZodString;
45
- surface: import("zod").ZodEnum<{
46
- slack: "slack";
47
- api: "api";
48
- internal: "internal";
49
- scheduler: "scheduler";
50
- }>;
51
- actorIdentity: import("zod").ZodOptional<import("zod").ZodObject<{
52
- email: import("zod").ZodOptional<import("zod").ZodString>;
53
- fullName: import("zod").ZodOptional<import("zod").ZodString>;
54
- slackUserId: import("zod").ZodOptional<import("zod").ZodString>;
55
- slackUserName: import("zod").ZodOptional<import("zod").ZodString>;
56
- }, import("zod/v4/core").$strict>>;
57
- archivedAt: import("zod").ZodOptional<import("zod").ZodString>;
58
- channel: import("zod").ZodOptional<import("zod").ZodString>;
59
- channelName: import("zod").ZodOptional<import("zod").ZodString>;
60
- channelNameRedacted: import("zod").ZodOptional<import("zod").ZodBoolean>;
61
- locationId: import("zod").ZodOptional<import("zod").ZodString>;
62
- sentryTraceUrl: import("zod").ZodOptional<import("zod").ZodString>;
63
- sourceUrl: import("zod").ZodOptional<import("zod").ZodString>;
64
- traceId: import("zod").ZodOptional<import("zod").ZodString>;
65
- annotations: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodIntersection<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
66
- kind: import("zod").ZodLiteral<"resource_link">;
67
- key: import("zod").ZodString;
68
- label: import("zod").ZodString;
69
- url: import("zod").ZodString;
70
- description: import("zod").ZodOptional<import("zod").ZodString>;
71
- status: import("zod").ZodOptional<import("zod").ZodEnum<{
72
- warning: "warning";
73
- open: "open";
74
- draft: "draft";
75
- closed: "closed";
76
- merged: "merged";
77
- }>>;
78
- }, import("zod/v4/core").$strict>], "kind">, import("zod").ZodObject<{
79
- plugin: import("zod").ZodString;
80
- createdAt: import("zod").ZodString;
81
- updatedAt: import("zod").ZodString;
82
- }, import("zod/v4/core").$strip>>>>;
83
- modelUsage: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
84
- modelId: import("zod").ZodString;
85
- usage: import("zod").ZodObject<{
86
- inputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
87
- outputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
88
- cachedInputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
89
- cacheCreationTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
90
- reasoningTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
91
- totalTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
92
- cost: import("zod").ZodOptional<import("zod").ZodObject<{
93
- input: import("zod").ZodOptional<import("zod").ZodNumber>;
94
- output: import("zod").ZodOptional<import("zod").ZodNumber>;
95
- cacheRead: import("zod").ZodOptional<import("zod").ZodNumber>;
96
- cacheWrite: import("zod").ZodOptional<import("zod").ZodNumber>;
97
- total: import("zod").ZodOptional<import("zod").ZodNumber>;
98
- }, import("zod/v4/core").$strict>>;
99
- }, import("zod/v4/core").$strict>;
100
- }, import("zod/v4/core").$strict>>>;
101
- events: import("zod").ZodArray<import("zod").ZodObject<{
102
- seq: import("zod").ZodNumber;
103
- createdAt: import("zod").ZodString;
104
- data: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
105
- type: import("zod").ZodLiteral<"message">;
106
- messageId: import("zod").ZodString;
107
- role: import("zod").ZodEnum<{
108
- system: "system";
109
- user: "user";
110
- assistant: "assistant";
111
- }>;
112
- actorIdentity: import("zod").ZodOptional<import("zod").ZodObject<{
113
- email: import("zod").ZodOptional<import("zod").ZodString>;
114
- fullName: import("zod").ZodOptional<import("zod").ZodString>;
115
- slackUserId: import("zod").ZodOptional<import("zod").ZodString>;
116
- slackUserName: import("zod").ZodOptional<import("zod").ZodString>;
117
- }, import("zod/v4/core").$strict>>;
118
- eventType: import("zod").ZodOptional<import("zod").ZodString>;
119
- text: import("zod").ZodOptional<import("zod").ZodString>;
120
- redacted: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
121
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
122
- type: import("zod").ZodLiteral<"message_handled">;
123
- messageId: import("zod").ZodString;
124
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
125
- type: import("zod").ZodLiteral<"assistant_message">;
126
- parts: import("zod").ZodArray<import("zod").ZodObject<{
127
- type: import("zod").ZodLiteral<"reasoning">;
128
- text: import("zod").ZodOptional<import("zod").ZodString>;
129
- redacted: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
130
- }, import("zod/v4/core").$strict>>;
131
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
132
- type: import("zod").ZodLiteral<"tool_calls">;
133
- calls: import("zod").ZodArray<import("zod").ZodObject<{
134
- toolCallId: import("zod").ZodString;
135
- name: import("zod").ZodString;
136
- status: import("zod").ZodEnum<{
137
- error: "error";
138
- running: "running";
139
- completed: "completed";
140
- }>;
141
- startedAt: import("zod").ZodOptional<import("zod").ZodString>;
142
- startedSeq: import("zod").ZodOptional<import("zod").ZodNumber>;
143
- input: import("zod").ZodOptional<import("zod").ZodUnknown>;
144
- output: import("zod").ZodOptional<import("zod").ZodUnknown>;
145
- }, import("zod/v4/core").$strict>>;
146
- assistant: import("zod").ZodOptional<import("zod").ZodObject<{
147
- parts: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
148
- type: import("zod").ZodLiteral<"reasoning">;
149
- text: import("zod").ZodOptional<import("zod").ZodString>;
150
- redacted: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
151
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
152
- type: import("zod").ZodLiteral<"tool_call">;
153
- toolCallId: import("zod").ZodString;
154
- }, import("zod/v4/core").$strict>], "type">>;
155
- }, import("zod/v4/core").$strict>>;
156
- }, import("zod/v4/core").$strict>, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
157
- type: import("zod").ZodLiteral<"turn_lifecycle">;
158
- turnId: import("zod").ZodString;
159
- state: import("zod").ZodEnum<{
160
- no_reply: "no_reply";
161
- started: "started";
162
- succeeded: "succeeded";
163
- }>;
164
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
165
- type: import("zod").ZodLiteral<"turn_lifecycle">;
166
- turnId: import("zod").ZodString;
167
- state: import("zod").ZodLiteral<"failed">;
168
- failureKind: import("zod").ZodEnum<{
169
- delivery: "delivery";
170
- agent: "agent";
171
- }>;
172
- }, import("zod/v4/core").$strict>], "state">, import("zod").ZodObject<{
173
- type: import("zod").ZodLiteral<"turn_context">;
174
- turnId: import("zod").ZodString;
175
- pluginName: import("zod").ZodString;
176
- kind: import("zod").ZodString;
177
- version: import("zod").ZodNumber;
178
- content: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
179
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
180
- type: import("zod").ZodLiteral<"structured_event">;
181
- namespace: import("zod").ZodString;
182
- name: import("zod").ZodString;
183
- version: import("zod").ZodNumber;
184
- turnId: import("zod").ZodOptional<import("zod").ZodString>;
185
- presentation: import("zod").ZodObject<{
186
- details: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
187
- content: import("zod").ZodOptional<import("zod").ZodString>;
188
- description: import("zod").ZodOptional<import("zod").ZodString>;
189
- metadata: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
190
- title: import("zod").ZodString;
191
- }, import("zod/v4/core").$strict>>>;
192
- icon: import("zod").ZodOptional<import("zod").ZodEnum<{
193
- check: "check";
194
- info: "info";
195
- warning: "warning";
196
- key: "key";
197
- link: "link";
198
- activity: "activity";
199
- brain: "brain";
200
- calendar: "calendar";
201
- database: "database";
202
- sparkles: "sparkles";
203
- }>>;
204
- preview: import("zod").ZodOptional<import("zod").ZodString>;
205
- title: import("zod").ZodString;
206
- }, import("zod/v4/core").$strict>;
207
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
208
- type: import("zod").ZodLiteral<"turn_routed">;
209
- turnId: import("zod").ZodString;
210
- modelProfile: import("zod").ZodString;
211
- modelId: import("zod").ZodString;
212
- reasoningLevel: import("zod").ZodString;
213
- confidence: import("zod").ZodOptional<import("zod").ZodNumber>;
214
- source: import("zod").ZodEnum<{
215
- configured: "configured";
216
- inherited: "inherited";
217
- router: "router";
218
- }>;
219
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
220
- type: import("zod").ZodLiteral<"guardian_action_reviewed">;
221
- turnId: import("zod").ZodString;
222
- toolCallId: import("zod").ZodString;
223
- toolName: import("zod").ZodString;
224
- decision: import("zod").ZodEnum<{
225
- allow: "allow";
226
- ask: "ask";
227
- deny: "deny";
228
- }>;
229
- riskLevel: import("zod").ZodEnum<{
230
- low: "low";
231
- medium: "medium";
232
- high: "high";
233
- critical: "critical";
234
- }>;
235
- userAuthorization: import("zod").ZodEnum<{
236
- unknown: "unknown";
237
- low: "low";
238
- medium: "medium";
239
- high: "high";
240
- }>;
241
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
242
- type: import("zod").ZodLiteral<"compaction">;
243
- modelProfile: import("zod").ZodOptional<import("zod").ZodString>;
244
- modelId: import("zod").ZodOptional<import("zod").ZodString>;
245
- summary: import("zod").ZodOptional<import("zod").ZodString>;
246
- details: import("zod").ZodOptional<import("zod").ZodObject<{
247
- reason: import("zod").ZodLiteral<"capacity">;
248
- estimatedInputTokens: import("zod").ZodNumber;
249
- replacementInputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
250
- triggerTokens: import("zod").ZodNumber;
251
- inputLimitTokens: import("zod").ZodNumber;
252
- inputMessageCount: import("zod").ZodNumber;
253
- retainedMessageCount: import("zod").ZodNumber;
254
- summaryChars: import("zod").ZodNumber;
255
- }, import("zod/v4/core").$strict>>;
256
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
257
- type: import("zod").ZodLiteral<"handoff">;
258
- modelProfile: import("zod").ZodString;
259
- modelId: import("zod").ZodString;
260
- reasoningLevel: import("zod").ZodOptional<import("zod").ZodString>;
261
- triggeringToolCallId: import("zod").ZodOptional<import("zod").ZodString>;
262
- summary: import("zod").ZodOptional<import("zod").ZodString>;
263
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
264
- type: import("zod").ZodLiteral<"subagent">;
265
- startedSeq: import("zod").ZodNumber;
266
- startedAt: import("zod").ZodString;
267
- childConversationId: import("zod").ZodString;
268
- subagentKind: import("zod").ZodString;
269
- parentToolCallId: import("zod").ZodOptional<import("zod").ZodString>;
270
- status: import("zod").ZodEnum<{
271
- error: "error";
272
- aborted: "aborted";
273
- running: "running";
274
- completed: "completed";
275
- }>;
276
- }, import("zod/v4/core").$strict>], "type">;
277
- }, import("zod/v4/core").$strict>>;
278
- eventHistory: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
279
- status: import("zod").ZodLiteral<"available">;
280
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
281
- status: import("zod").ZodLiteral<"redacted">;
282
- reason: import("zod").ZodLiteral<"non_public_conversation">;
283
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
284
- status: import("zod").ZodLiteral<"expired">;
285
- expiredAt: import("zod").ZodString;
286
- }, import("zod/v4/core").$strict>], "status">;
287
- previousCursor: import("zod").ZodOptional<import("zod").ZodString>;
288
- generatedAt: import("zod").ZodString;
289
- sentryConversationUrl: import("zod").ZodOptional<import("zod").ZodString>;
290
- sourceTask: import("zod").ZodOptional<import("zod").ZodObject<{
291
- id: import("zod").ZodOptional<import("zod").ZodString>;
292
- kind: import("zod").ZodEnum<{
293
- scheduled: "scheduled";
294
- event: "event";
295
- }>;
296
- label: import("zod").ZodOptional<import("zod").ZodString>;
297
- title: import("zod").ZodOptional<import("zod").ZodString>;
298
- }, import("zod/v4/core").$strict>>;
299
- }, import("zod/v4/core").$strict>>;
300
- export default _default;
@@ -1,197 +1,7 @@
1
+ import type { User } from "@sentry/junior-plugin-api";
1
2
  import { type ConversationEventPage } from "../schema/conversation";
2
3
  /** Read one bounded page of reporting events before a signed cursor. */
3
4
  export declare function readConversationEvents(conversationId: string, beforeValue: string, options?: {
4
5
  limit?: number;
5
- verifiedViewerEmail?: string;
6
+ viewer?: User;
6
7
  }): Promise<ConversationEventPage | undefined>;
7
- declare const _default: import("../route").ApiRoute<import("zod").ZodObject<{
8
- events: import("zod").ZodArray<import("zod").ZodObject<{
9
- seq: import("zod").ZodNumber;
10
- createdAt: import("zod").ZodString;
11
- data: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
12
- type: import("zod").ZodLiteral<"message">;
13
- messageId: import("zod").ZodString;
14
- role: import("zod").ZodEnum<{
15
- system: "system";
16
- user: "user";
17
- assistant: "assistant";
18
- }>;
19
- actorIdentity: import("zod").ZodOptional<import("zod").ZodObject<{
20
- email: import("zod").ZodOptional<import("zod").ZodString>;
21
- fullName: import("zod").ZodOptional<import("zod").ZodString>;
22
- slackUserId: import("zod").ZodOptional<import("zod").ZodString>;
23
- slackUserName: import("zod").ZodOptional<import("zod").ZodString>;
24
- }, import("zod/v4/core").$strict>>;
25
- eventType: import("zod").ZodOptional<import("zod").ZodString>;
26
- text: import("zod").ZodOptional<import("zod").ZodString>;
27
- redacted: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
28
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
29
- type: import("zod").ZodLiteral<"message_handled">;
30
- messageId: import("zod").ZodString;
31
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
32
- type: import("zod").ZodLiteral<"assistant_message">;
33
- parts: import("zod").ZodArray<import("zod").ZodObject<{
34
- type: import("zod").ZodLiteral<"reasoning">;
35
- text: import("zod").ZodOptional<import("zod").ZodString>;
36
- redacted: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
37
- }, import("zod/v4/core").$strict>>;
38
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
39
- type: import("zod").ZodLiteral<"tool_calls">;
40
- calls: import("zod").ZodArray<import("zod").ZodObject<{
41
- toolCallId: import("zod").ZodString;
42
- name: import("zod").ZodString;
43
- status: import("zod").ZodEnum<{
44
- error: "error";
45
- running: "running";
46
- completed: "completed";
47
- }>;
48
- startedAt: import("zod").ZodOptional<import("zod").ZodString>;
49
- startedSeq: import("zod").ZodOptional<import("zod").ZodNumber>;
50
- input: import("zod").ZodOptional<import("zod").ZodUnknown>;
51
- output: import("zod").ZodOptional<import("zod").ZodUnknown>;
52
- }, import("zod/v4/core").$strict>>;
53
- assistant: import("zod").ZodOptional<import("zod").ZodObject<{
54
- parts: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
55
- type: import("zod").ZodLiteral<"reasoning">;
56
- text: import("zod").ZodOptional<import("zod").ZodString>;
57
- redacted: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
58
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
59
- type: import("zod").ZodLiteral<"tool_call">;
60
- toolCallId: import("zod").ZodString;
61
- }, import("zod/v4/core").$strict>], "type">>;
62
- }, import("zod/v4/core").$strict>>;
63
- }, import("zod/v4/core").$strict>, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
64
- type: import("zod").ZodLiteral<"turn_lifecycle">;
65
- turnId: import("zod").ZodString;
66
- state: import("zod").ZodEnum<{
67
- no_reply: "no_reply";
68
- started: "started";
69
- succeeded: "succeeded";
70
- }>;
71
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
72
- type: import("zod").ZodLiteral<"turn_lifecycle">;
73
- turnId: import("zod").ZodString;
74
- state: import("zod").ZodLiteral<"failed">;
75
- failureKind: import("zod").ZodEnum<{
76
- delivery: "delivery";
77
- agent: "agent";
78
- }>;
79
- }, import("zod/v4/core").$strict>], "state">, import("zod").ZodObject<{
80
- type: import("zod").ZodLiteral<"turn_context">;
81
- turnId: import("zod").ZodString;
82
- pluginName: import("zod").ZodString;
83
- kind: import("zod").ZodString;
84
- version: import("zod").ZodNumber;
85
- content: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>;
86
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
87
- type: import("zod").ZodLiteral<"structured_event">;
88
- namespace: import("zod").ZodString;
89
- name: import("zod").ZodString;
90
- version: import("zod").ZodNumber;
91
- turnId: import("zod").ZodOptional<import("zod").ZodString>;
92
- presentation: import("zod").ZodObject<{
93
- details: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
94
- content: import("zod").ZodOptional<import("zod").ZodString>;
95
- description: import("zod").ZodOptional<import("zod").ZodString>;
96
- metadata: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
97
- title: import("zod").ZodString;
98
- }, import("zod/v4/core").$strict>>>;
99
- icon: import("zod").ZodOptional<import("zod").ZodEnum<{
100
- check: "check";
101
- info: "info";
102
- warning: "warning";
103
- key: "key";
104
- link: "link";
105
- activity: "activity";
106
- brain: "brain";
107
- calendar: "calendar";
108
- database: "database";
109
- sparkles: "sparkles";
110
- }>>;
111
- preview: import("zod").ZodOptional<import("zod").ZodString>;
112
- title: import("zod").ZodString;
113
- }, import("zod/v4/core").$strict>;
114
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
115
- type: import("zod").ZodLiteral<"turn_routed">;
116
- turnId: import("zod").ZodString;
117
- modelProfile: import("zod").ZodString;
118
- modelId: import("zod").ZodString;
119
- reasoningLevel: import("zod").ZodString;
120
- confidence: import("zod").ZodOptional<import("zod").ZodNumber>;
121
- source: import("zod").ZodEnum<{
122
- configured: "configured";
123
- inherited: "inherited";
124
- router: "router";
125
- }>;
126
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
127
- type: import("zod").ZodLiteral<"guardian_action_reviewed">;
128
- turnId: import("zod").ZodString;
129
- toolCallId: import("zod").ZodString;
130
- toolName: import("zod").ZodString;
131
- decision: import("zod").ZodEnum<{
132
- allow: "allow";
133
- ask: "ask";
134
- deny: "deny";
135
- }>;
136
- riskLevel: import("zod").ZodEnum<{
137
- low: "low";
138
- medium: "medium";
139
- high: "high";
140
- critical: "critical";
141
- }>;
142
- userAuthorization: import("zod").ZodEnum<{
143
- unknown: "unknown";
144
- low: "low";
145
- medium: "medium";
146
- high: "high";
147
- }>;
148
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
149
- type: import("zod").ZodLiteral<"compaction">;
150
- modelProfile: import("zod").ZodOptional<import("zod").ZodString>;
151
- modelId: import("zod").ZodOptional<import("zod").ZodString>;
152
- summary: import("zod").ZodOptional<import("zod").ZodString>;
153
- details: import("zod").ZodOptional<import("zod").ZodObject<{
154
- reason: import("zod").ZodLiteral<"capacity">;
155
- estimatedInputTokens: import("zod").ZodNumber;
156
- replacementInputTokens: import("zod").ZodOptional<import("zod").ZodNumber>;
157
- triggerTokens: import("zod").ZodNumber;
158
- inputLimitTokens: import("zod").ZodNumber;
159
- inputMessageCount: import("zod").ZodNumber;
160
- retainedMessageCount: import("zod").ZodNumber;
161
- summaryChars: import("zod").ZodNumber;
162
- }, import("zod/v4/core").$strict>>;
163
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
164
- type: import("zod").ZodLiteral<"handoff">;
165
- modelProfile: import("zod").ZodString;
166
- modelId: import("zod").ZodString;
167
- reasoningLevel: import("zod").ZodOptional<import("zod").ZodString>;
168
- triggeringToolCallId: import("zod").ZodOptional<import("zod").ZodString>;
169
- summary: import("zod").ZodOptional<import("zod").ZodString>;
170
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
171
- type: import("zod").ZodLiteral<"subagent">;
172
- startedSeq: import("zod").ZodNumber;
173
- startedAt: import("zod").ZodString;
174
- childConversationId: import("zod").ZodString;
175
- subagentKind: import("zod").ZodString;
176
- parentToolCallId: import("zod").ZodOptional<import("zod").ZodString>;
177
- status: import("zod").ZodEnum<{
178
- error: "error";
179
- aborted: "aborted";
180
- running: "running";
181
- completed: "completed";
182
- }>;
183
- }, import("zod/v4/core").$strict>], "type">;
184
- }, import("zod/v4/core").$strict>>;
185
- eventHistory: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
186
- status: import("zod").ZodLiteral<"available">;
187
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
188
- status: import("zod").ZodLiteral<"redacted">;
189
- reason: import("zod").ZodLiteral<"non_public_conversation">;
190
- }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
191
- status: import("zod").ZodLiteral<"expired">;
192
- expiredAt: import("zod").ZodString;
193
- }, import("zod/v4/core").$strict>], "status">;
194
- previousCursor: import("zod").ZodOptional<import("zod").ZodString>;
195
- generatedAt: import("zod").ZodString;
196
- }, import("zod/v4/core").$strict>>;
197
- export default _default;