@sentry/junior 0.202.0 → 0.204.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 (174) hide show
  1. package/dist/agent-CMyTD4DD.js +17509 -0
  2. package/dist/agent-hooks-Bbcp9e33.js +4040 -0
  3. package/dist/agent-runner-DNb1A49M.js +678 -0
  4. package/dist/api/schema.d.ts +2728 -2639
  5. package/dist/api/schema.js +4 -169
  6. package/dist/api.d.ts +23 -17
  7. package/dist/api.js +3881 -5326
  8. package/dist/app-B1TOqBI8.d.ts +246 -0
  9. package/dist/app.d.ts +4 -520
  10. package/dist/app.js +9522 -11875
  11. package/dist/auth-pause-state-DosEalIG.js +168 -0
  12. package/dist/catalog-runtime-BReos-D4.js +7 -0
  13. package/dist/checkpoint-CNrPyRJN.js +2450 -0
  14. package/dist/cli/chat.d.ts +20 -0
  15. package/dist/cli/chat.js +229 -336
  16. package/dist/cli/check.d.ts +8 -0
  17. package/dist/cli/check.js +513 -806
  18. package/dist/cli/env.d.ts +13 -0
  19. package/dist/cli/env.js +63 -12
  20. package/dist/cli/init.d.ts +3 -0
  21. package/dist/cli/init.js +90 -159
  22. package/dist/cli/main.d.ts +6 -0
  23. package/dist/cli/main.js +43 -64
  24. package/dist/cli/plugins.d.ts +13 -0
  25. package/dist/cli/plugins.js +148 -227
  26. package/dist/cli/run.d.ts +16 -0
  27. package/dist/cli/run.js +52 -8
  28. package/dist/cli/snapshot-create.d.ts +4 -0
  29. package/dist/cli/snapshot-create.js +71 -125
  30. package/dist/cli/upgrade.d.ts +15 -0
  31. package/dist/cli/upgrade.js +232 -335
  32. package/dist/config-nGCW1OTG.js +941 -0
  33. package/dist/context-B45_WqVX.js +298 -0
  34. package/dist/conversation-privacy-B4voFRSm.js +182 -0
  35. package/dist/conversation-work-C6y3T5Hx.js +51 -0
  36. package/dist/credential-sync-kXr1hvO1.js +2660 -0
  37. package/dist/db-BeyXKJOI.d.ts +5 -0
  38. package/dist/destinations-BeBiJeEM.js +29 -0
  39. package/dist/execution-stats-DWfSihcH.js +373 -0
  40. package/dist/executor-DcMSlI5c.js +721 -0
  41. package/dist/experimental-CIXf7Uye.js +46 -0
  42. package/dist/history-ClE4toxe.d.ts +32 -0
  43. package/dist/history-CqTuSAdI.js +441 -0
  44. package/dist/instrumentation.d.ts +3 -3
  45. package/dist/instrumentation.js +130 -176
  46. package/dist/job-queue-Drn_LXlM.js +63 -0
  47. package/dist/logging-BzAk1S_s.js +1210 -0
  48. package/dist/model-profile-CZmVoGdX.js +49 -0
  49. package/dist/nitro.d.ts +31 -36
  50. package/dist/nitro.js +275 -456
  51. package/dist/oauth-callback-server-JiftokvA.js +130 -0
  52. package/dist/oauth-relay-CdCnu80W.js +62 -0
  53. package/dist/package-discovery-7a9YqLhE.js +455 -0
  54. package/dist/pending-auth-CWmSdZVg.js +185 -0
  55. package/dist/plugin-module-BKGOXca2.js +81 -0
  56. package/dist/plugins-BI9A1vKA.d.ts +95 -0
  57. package/dist/plugins-egKWjgue.js +99 -0
  58. package/dist/private-trace-result-BLvBjy_e.js +16 -0
  59. package/dist/profile-CrT5nXbw.js +861 -0
  60. package/dist/registry-DH1xUo2N.js +1419 -0
  61. package/dist/reporting-schema-DosTN__Q.js +105 -0
  62. package/dist/resolve-CZHnfxaS.js +546 -0
  63. package/dist/rolldown-runtime-B4FMCO8f.js +28 -0
  64. package/dist/runner-CZV2sC46.js +392 -0
  65. package/dist/sandbox-egress-signals-bHZfmhbd.js +46 -0
  66. package/dist/schema-Rn8-XEaN.js +1140 -0
  67. package/dist/sentry-CD3SdJl-.js +26 -0
  68. package/dist/skills-CIcDQSgM.js +316 -0
  69. package/dist/spawn-DdkUFRmq.js +29 -0
  70. package/dist/stats-DTUbAb88.js +2634 -0
  71. package/dist/store-C5qxF2ac.d.ts +208 -0
  72. package/dist/task-queue-CJIR4RF7.js +136 -0
  73. package/dist/task-runner-D-O3A-Cp.js +639 -0
  74. package/dist/thread-state-CRc9jTJS.js +431 -0
  75. package/dist/turn-execution-BkinIdJF.js +47 -0
  76. package/dist/turn-lifecycle-DQV19VTW.js +54 -0
  77. package/dist/usage-D3EbSO7w.js +296 -0
  78. package/dist/usage-schema-CKaDkH_j.js +20 -0
  79. package/dist/validation-C2CR-OX3.js +40 -0
  80. package/dist/vercel-queue-DIkVcfK4.js +167 -0
  81. package/dist/vercel.d.ts +6 -6
  82. package/dist/vercel.js +14 -6
  83. package/dist/version-CnXZ614E.d.ts +5 -0
  84. package/dist/version-DxcWdoKa.js +8 -0
  85. package/dist/version.d.ts +2 -4
  86. package/dist/version.js +2 -6
  87. package/dist/web-authorization-RMBxAR_t.js +76 -0
  88. package/dist/web-input-3EPfpf55.js +494 -0
  89. package/dist/work-fGofI7Op.js +509 -0
  90. package/dist/worker-CsOLq-mR.js +625 -0
  91. package/package.json +9 -9
  92. package/dist/agent-hooks-UXITLYOK.js +0 -51
  93. package/dist/catalog-runtime-BG3JLLK2.js +0 -14
  94. package/dist/chunk-2LYHWMR4.js +0 -46
  95. package/dist/chunk-2MK3QBGA.js +0 -321
  96. package/dist/chunk-3PGQSKJV.js +0 -692
  97. package/dist/chunk-3UI3WFTX.js +0 -519
  98. package/dist/chunk-3Y47VMHV.js +0 -6
  99. package/dist/chunk-4UO6FK4G.js +0 -64
  100. package/dist/chunk-5NOPO64K.js +0 -198
  101. package/dist/chunk-5PKWYPFT.js +0 -2943
  102. package/dist/chunk-63NKKFJL.js +0 -1228
  103. package/dist/chunk-6AYH6252.js +0 -787
  104. package/dist/chunk-6Y5B5PEX.js +0 -80
  105. package/dist/chunk-7DHZP5KJ.js +0 -333
  106. package/dist/chunk-7H2VZTWN.js +0 -103
  107. package/dist/chunk-7NL7T6VU.js +0 -406
  108. package/dist/chunk-A76OIMYN.js +0 -102
  109. package/dist/chunk-AWMS3SPP.js +0 -58
  110. package/dist/chunk-B3LY5RCL.js +0 -229
  111. package/dist/chunk-BD2KT3OB.js +0 -36
  112. package/dist/chunk-BXCX5QKA.js +0 -2086
  113. package/dist/chunk-C6VVF43U.js +0 -81
  114. package/dist/chunk-CEMMLV5L.js +0 -98
  115. package/dist/chunk-CM5HNV2W.js +0 -131
  116. package/dist/chunk-DA2KGZZI.js +0 -13
  117. package/dist/chunk-DBVY6HLX.js +0 -64
  118. package/dist/chunk-DIB4GX3G.js +0 -8
  119. package/dist/chunk-DKIJ2RP5.js +0 -68
  120. package/dist/chunk-DL2KLKVH.js +0 -931
  121. package/dist/chunk-DWPN6SCH.js +0 -172
  122. package/dist/chunk-ELWOYVOY.js +0 -206
  123. package/dist/chunk-EWT7H65X.js +0 -506
  124. package/dist/chunk-FA6POGLH.js +0 -70
  125. package/dist/chunk-HMREVIO2.js +0 -135
  126. package/dist/chunk-IIWUT4FO.js +0 -820
  127. package/dist/chunk-JAL3CH4G.js +0 -27
  128. package/dist/chunk-JSJQEWBJ.js +0 -3295
  129. package/dist/chunk-KHKKHDLD.js +0 -387
  130. package/dist/chunk-LA6R4A7Q.js +0 -706
  131. package/dist/chunk-LOOU2DUR.js +0 -20428
  132. package/dist/chunk-M6FHWXE3.js +0 -700
  133. package/dist/chunk-M76HMB7M.js +0 -1856
  134. package/dist/chunk-MAGNK5J4.js +0 -1520
  135. package/dist/chunk-MTM5IFCY.js +0 -1190
  136. package/dist/chunk-N7TMSOZH.js +0 -235
  137. package/dist/chunk-NHJU2ZAL.js +0 -56
  138. package/dist/chunk-NSXKRGRT.js +0 -717
  139. package/dist/chunk-OWMPFXJA.js +0 -1764
  140. package/dist/chunk-PDO5BLNM.js +0 -22
  141. package/dist/chunk-PEQXYSSE.js +0 -45
  142. package/dist/chunk-PW4P4JYF.js +0 -1135
  143. package/dist/chunk-QB54UQUS.js +0 -320
  144. package/dist/chunk-QP3OGJXF.js +0 -105
  145. package/dist/chunk-RC745GGZ.js +0 -122
  146. package/dist/chunk-REOIRYPR.js +0 -37
  147. package/dist/chunk-SCOZRLZ4.js +0 -164
  148. package/dist/chunk-TXJSXBV5.js +0 -1433
  149. package/dist/chunk-TXKUKMVO.js +0 -417
  150. package/dist/chunk-U2GPUYAL.js +0 -3656
  151. package/dist/chunk-UIE3R5XU.js +0 -17
  152. package/dist/chunk-UXPG6ZIN.js +0 -84
  153. package/dist/chunk-VFUK3X5B.js +0 -50
  154. package/dist/chunk-WQSHDTTI.js +0 -1163
  155. package/dist/chunk-X6GDDWQH.js +0 -60
  156. package/dist/chunk-Y2CM7HXH.js +0 -111
  157. package/dist/chunk-Y7X25LFY.js +0 -15
  158. package/dist/chunk-YDUR3ZYW.js +0 -10
  159. package/dist/conversation-work-VIOQ5ZF3.js +0 -54
  160. package/dist/db-3L2MCVRI.js +0 -26
  161. package/dist/discovery-DWVDM7UK.js +0 -44
  162. package/dist/experimental-P5FZM4CU.js +0 -12
  163. package/dist/oauth-callback-server-YVV6C6T2.js +0 -243
  164. package/dist/oauth-relay-5XPVRPYB.js +0 -8
  165. package/dist/plugins-YTYJMMJF.js +0 -14
  166. package/dist/runner-LQ7RETDP.js +0 -522
  167. package/dist/sandbox-egress-signals-FIL7EGPR.js +0 -73
  168. package/dist/sentry-MB3NL3IR.js +0 -42
  169. package/dist/skills-XRWYEDCD.js +0 -27
  170. package/dist/spawn-RC6SJUAI.js +0 -42
  171. package/dist/task-runner-7DY7ARYH.js +0 -36
  172. package/dist/validation-7MNQGCJA.js +0 -17
  173. package/dist/work-COALHUCG.js +0 -51
  174. package/dist/worker-6MURZIPD.js +0 -24
@@ -0,0 +1,246 @@
1
+ import { t as ConversationStore } from "./store-C5qxF2ac.js";
2
+ import "./history-ClE4toxe.js";
3
+ import { n as JuniorPluginSet } from "./plugins-BI9A1vKA.js";
4
+ import { Hono } from "hono";
5
+ import "@earendil-works/pi-ai/compat";
6
+ import "@earendil-works/pi-ai/api/anthropic-messages";
7
+ import { z } from "zod";
8
+ import { Destination, Source, User } from "@sentry/junior-plugin-api";
9
+ import "@earendil-works/pi-agent-core";
10
+ import "@earendil-works/pi-ai";
11
+ import { Sandbox } from "@vercel/sandbox";
12
+ import { Client } from "@modelcontextprotocol/sdk/client";
13
+ import "@modelcontextprotocol/sdk/client/auth.js";
14
+ import { Message, StateAdapter } from "chat";
15
+ import "@chat-adapter/slack";
16
+ //#region src/chat/reasoning-level.d.ts
17
+ declare const TURN_REASONING_LEVELS: readonly ["none", "low", "medium", "high", "xhigh"];
18
+ type TurnReasoningLevel = (typeof TURN_REASONING_LEVELS)[number];
19
+ //#endregion
20
+ //#region src/chat/model-profile.d.ts
21
+ /** Runtime configuration for one named model profile. */
22
+ interface ModelProfileConfig {
23
+ /**
24
+ * Tells models which tasks fit this profile.
25
+ * Name concrete tasks. Add use and avoid cases when helpful.
26
+ * Do not use model product names as the selection rule.
27
+ */
28
+ description?: string;
29
+ modelId: string;
30
+ reasoningLevel?: TurnReasoningLevel;
31
+ }
32
+ /** App-level profile input: a model id string or a full profile config. */
33
+ type ModelProfileInput = string | ModelProfileConfig;
34
+ //#endregion
35
+ //#region src/chat/config.d.ts
36
+ interface BotModelConfig {
37
+ /** Model used for embeddings. */
38
+ embeddingModelId?: string;
39
+ /** Model used for low-cost structured and utility calls. */
40
+ fastModelId?: string;
41
+ /** Model used to review sensitive tool calls. */
42
+ guardianModelId?: string;
43
+ /** Model used to generate images. */
44
+ imageGenerationModelId?: string;
45
+ /** Model used to analyze images. */
46
+ visionModelId?: string;
47
+ /** Model used for web search. */
48
+ webSearchModelId?: string;
49
+ }
50
+ //#endregion
51
+ //#region src/chat/experimental.d.ts
52
+ /**
53
+ * Known unstable product features that must be opted into explicitly.
54
+ * Add new keys here as features graduate from private experiments; remove them
55
+ * once they become stable defaults.
56
+ */
57
+ declare const EXPERIMENTAL_FEATURES: readonly ["passive-routing", "subagents"];
58
+ /** One known experimental feature name. */
59
+ type ExperimentalFeature = (typeof EXPERIMENTAL_FEATURES)[number];
60
+ /** App-level opt-ins for unstable product features. */
61
+ type ExperimentalFeaturesConfig = Readonly<Partial<Record<ExperimentalFeature, boolean>>>;
62
+ //#endregion
63
+ //#region src/chat/sandbox/resources.d.ts
64
+ interface SandboxResourceConfig {
65
+ vcpus?: number;
66
+ }
67
+ //#endregion
68
+ //#region src/chat/task-execution/queue.d.ts
69
+ /** Validate the v2 conversation work hint sent through Vercel Queue. */
70
+ declare const conversationQueueMessageSchema: z.ZodObject<{
71
+ schemaVersion: z.ZodLiteral<2>;
72
+ conversationId: z.ZodString;
73
+ }, z.core.$strict>;
74
+ /** Conversation work hint accepted by the queue callback and worker. */
75
+ type ConversationQueueMessage = z.output<typeof conversationQueueMessageSchema>;
76
+ interface ConversationQueueSendOptions {
77
+ delayMs?: number;
78
+ idempotencyKey?: string;
79
+ }
80
+ interface ConversationQueueSendResult {
81
+ messageId?: string;
82
+ }
83
+ /**
84
+ * External transport for wake-up hints. Durable work stays in the mailbox;
85
+ * transports only need to accept one hint and may return a provider message id.
86
+ */
87
+ interface ConversationWorkQueue {
88
+ send(message: ConversationQueueMessage, options?: ConversationQueueSendOptions): Promise<ConversationQueueSendResult | void>;
89
+ }
90
+ //#endregion
91
+ //#region src/chat/task-execution/state.d.ts
92
+ /** Canonical durable mailbox entry owned by task execution. */
93
+ declare const inboundMessageSchema: z.ZodObject<{
94
+ attemptCount: z.ZodOptional<z.ZodNumber>;
95
+ conversationId: z.ZodString;
96
+ createdAtMs: z.ZodNumber;
97
+ delivery: z.ZodEnum<{
98
+ defer: "defer";
99
+ interrupt: "interrupt";
100
+ }>;
101
+ destination: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
102
+ platform: z.ZodLiteral<"slack">;
103
+ teamId: z.ZodString;
104
+ channelId: z.ZodString;
105
+ }, z.core.$strict>, z.ZodObject<{
106
+ platform: z.ZodLiteral<"local">;
107
+ conversationId: z.ZodString;
108
+ }, z.core.$strict>], "platform">>;
109
+ inboundMessageId: z.ZodString;
110
+ injectedAtMs: z.ZodOptional<z.ZodNumber>;
111
+ input: z.ZodObject<{
112
+ attachments: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
113
+ authorId: z.ZodOptional<z.ZodString>;
114
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
115
+ text: z.ZodString;
116
+ }, z.core.$strict>;
117
+ receivedAtMs: z.ZodNumber;
118
+ source: z.ZodEnum<{
119
+ api: "api";
120
+ internal: "internal";
121
+ local: "local";
122
+ plugin: "plugin";
123
+ resource_event: "resource_event";
124
+ scheduler: "scheduler";
125
+ slack: "slack";
126
+ web: "web";
127
+ }>;
128
+ }, z.core.$strict>;
129
+ type InboundMessage = z.output<typeof inboundMessageSchema>;
130
+ //#endregion
131
+ //#region src/chat/task-execution/worker.d.ts
132
+ interface ConversationWorkerContext {
133
+ attempt: InboxAttempt;
134
+ checkIn(): Promise<boolean>;
135
+ conversationId: string;
136
+ destination?: Destination;
137
+ /** True when the current execution slice must stop at its next safe boundary. */
138
+ shouldYield(): boolean;
139
+ /** Return an AbortSignal backed by the durable Conversation stop request. */
140
+ stopSignal?(): AbortSignal;
141
+ }
142
+ interface InboxAttempt {
143
+ ack(): Promise<void>;
144
+ conversationId: string;
145
+ destination?: Destination;
146
+ drain(handle: (messages: InboundMessage[]) => Promise<readonly string[] | void>): Promise<InboundMessage[]>;
147
+ isFinalAttempt: boolean;
148
+ messages: InboundMessage[];
149
+ }
150
+ interface ConversationWorkerResult {
151
+ /** `paused` waits for an external wake but must resume if a stop raced it. */
152
+ status: "completed" | "deferred" | "lost_lease" | "paused" | "yielded";
153
+ }
154
+ //#endregion
155
+ //#region src/chat/task-execution/vercel-callback.d.ts
156
+ interface ProcessConversationQueueMessageOptions {
157
+ checkInIntervalMs?: number;
158
+ conversationStore?: ConversationStore;
159
+ nowMs?: () => number;
160
+ queue?: ConversationWorkQueue;
161
+ run(context: ConversationWorkerContext): Promise<ConversationWorkerResult>;
162
+ softYieldAfterMs?: number;
163
+ state?: StateAdapter;
164
+ }
165
+ interface VercelConversationWorkCallbackOptions extends ProcessConversationQueueMessageOptions {
166
+ topic?: string;
167
+ visibilityTimeoutSeconds?: number;
168
+ }
169
+ //#endregion
170
+ //#region src/chat/app/conversation-work.d.ts
171
+ type ConversationWorkCallbackOptions = VercelConversationWorkCallbackOptions;
172
+ //#endregion
173
+ //#region src/handlers/types.d.ts
174
+ /** Callback to schedule background work that must finish before the function exits. */
175
+ type WaitUntilFn = (task: Promise<unknown> | (() => Promise<unknown>)) => void;
176
+ //#endregion
177
+ //#region src/app.d.ts
178
+ interface JuniorAppOptions extends BotModelConfig {
179
+ /** Authenticated dashboard mounted by core when configured. */
180
+ dashboard?: JuniorDashboardOptions;
181
+ /**
182
+ * Opt into unstable product features. Experimental keys may change or be
183
+ * removed without a stable migration path; leave unset in production unless
184
+ * you are deliberately dogfooding a pre-stable surface.
185
+ */
186
+ experimental?: ExperimentalFeaturesConfig;
187
+ /** Profile used for new conversations. Configure with `profiles`. */
188
+ defaultProfile?: string;
189
+ /**
190
+ * Named profiles available to the router and `handoff` tool. Configure with
191
+ * `defaultProfile`. Each value may be a model id string or an object with
192
+ * `modelId` and optional `description` and `reasoningLevel` settings.
193
+ */
194
+ profiles?: Readonly<Record<string, ModelProfileInput>>;
195
+ /** Slack-specific overrides applied after env parsing. */
196
+ slack?: {
197
+ /** Slack emoji shown while Junior is processing. Defaults to `eyes`. */
198
+ processingReactionEmoji?: string;
199
+ /** Slack emoji shown after a turn completes. Defaults to `white_check_mark`. */
200
+ completedReactionEmoji?: string;
201
+ };
202
+ /** Install-wide provider defaults. Unregistered `provider.key` entries warn at startup. */
203
+ configDefaults?: Record<string, unknown>;
204
+ /** Queue consumer wiring for the durable conversation worker. */
205
+ conversationWork?: ConversationWorkCallbackOptions;
206
+ /** Direct plugin set override. Usually omitted when `juniorNitro()` uses a plugin module. */
207
+ plugins?: JuniorPluginSet;
208
+ /** Sandbox execution options. */
209
+ sandbox?: SandboxResourceConfig & {
210
+ /**
211
+ * Egress domains allowed to carry Sentry trace propagation headers.
212
+ * Entries may be exact domains or leading wildcard domains such as
213
+ * `*.sentry.io`; wildcard entries match subdomains, not the apex domain.
214
+ */
215
+ egressTracePropagationDomains?: string[];
216
+ };
217
+ waitUntil?: WaitUntilFn;
218
+ }
219
+ interface JuniorDashboardOptions {
220
+ /** Browser auth route prefix used by Better Auth. */
221
+ authPath?: string;
222
+ /** Require a dashboard browser session before serving dashboard pages and APIs. */
223
+ authRequired?: boolean;
224
+ /** Exact Google account emails allowed to open the dashboard. */
225
+ allowedEmails?: string[];
226
+ /** Google Workspace domains allowed to open the dashboard. */
227
+ allowedGoogleDomains?: string[];
228
+ /** Browser route prefix for the dashboard shell. */
229
+ basePath?: string;
230
+ /** Public deployment origin used for auth callbacks and external links. */
231
+ baseURL?: string;
232
+ /** Expose the config-gated component gallery for local visual QA. */
233
+ componentGallery?: boolean;
234
+ /** Disable dashboard route mounting while preserving serializable config shape. */
235
+ disabled?: boolean;
236
+ /** Replace Conversation route responses with dashboard visual-QA fixtures. */
237
+ mockConversations?: boolean;
238
+ /** Browser session lifetime in seconds. */
239
+ sessionMaxAgeSeconds?: number;
240
+ /** Additional trusted origins accepted by Better Auth. */
241
+ trustedOrigins?: string[];
242
+ }
243
+ /** Create a Hono app with all Junior routes. */
244
+ declare function createApp(options?: JuniorAppOptions): Promise<Hono>;
245
+ //#endregion
246
+ export { ModelProfileInput as i, JuniorDashboardOptions as n, createApp as r, JuniorAppOptions as t };