@sentry/junior 0.269.0 → 0.270.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 (69) hide show
  1. package/dist/{adapter-2-CG25be.js → adapter-BQNTKVTF.js} +1 -1
  2. package/dist/{admin-DSs8S5Uy.js → admin-CKVEoXa4.js} +1 -1
  3. package/dist/{agent-runner-CrDrPUtY.js → agent-runner-MSQSMFkq.js} +1159 -254
  4. package/dist/api/schema.d.ts +2 -2
  5. package/dist/api/schema.js +6 -6
  6. package/dist/api.d.ts +1 -1
  7. package/dist/api.js +61 -31
  8. package/dist/{app-BrMMzjYm.d.ts → app-Bz8t4P8p.d.ts} +3 -3
  9. package/dist/app.d.ts +1 -1
  10. package/dist/app.js +40 -34
  11. package/dist/{automation-p87hg_AV.js → automation-Dwh_xcqM.js} +1 -1
  12. package/dist/{briefs-PtODdLNu.js → briefs-DNFzFFVx.js} +5 -5
  13. package/dist/{catalog-runtime-BsoSmTM0.js → catalog-runtime-Bdym_wKy.js} +1 -1
  14. package/dist/cli/chat.js +14 -14
  15. package/dist/cli/check.js +3 -3
  16. package/dist/cli/main.js +3 -3
  17. package/dist/cli/plugins.js +4 -4
  18. package/dist/cli/snapshot-create.js +4 -4
  19. package/dist/cli/upgrade.d.ts +1 -1
  20. package/dist/cli/upgrade.js +3 -3
  21. package/dist/{client-Cqf4TboL.js → client-B2MjENki.js} +13 -3
  22. package/dist/{config-CPsE4T5L.js → config-Dm3pWRqY.js} +3 -3
  23. package/dist/{connections-upFXLmhG.js → connections-0BBhiD-p.js} +10 -10
  24. package/dist/{conversation-CTpD_PGk.js → conversation-AhOVzN_k.js} +5 -3
  25. package/dist/{conversation-privacy-D6zJc8ff.js → conversation-privacy-C1pJ89rs.js} +1 -1
  26. package/dist/{credential-sync-CS_6IC-f.js → credential-sync-BRiWYs6_.js} +14 -14
  27. package/dist/{credentialed-BU-OW7HP.js → credentialed-BeBaJMZ_.js} +29 -24
  28. package/dist/{db-BzOCzVb1.d.ts → db-BYOuu6v2.d.ts} +1 -1
  29. package/dist/{executor-CNS7ONt-.js → executor-BB6eJkD4.js} +2 -2
  30. package/dist/instrumentation.js +2 -2
  31. package/dist/{interruption-marker-g6Xup3Fk.js → interruption-marker-CdblrIQK.js} +1 -1
  32. package/dist/{job-queue-DI-k-Bbk.js → job-queue-DiaXoSDg.js} +2 -2
  33. package/dist/{list-CGoQdXTp.js → list-BTDRxkOg.js} +167 -35
  34. package/dist/{logging-n7knse-O.js → logging-C6EdT6PP.js} +1 -1
  35. package/dist/{media-85PDJxO_.js → media-U6Tuz6Mi.js} +1 -1
  36. package/dist/{message-BpaWd8TT.js → message-DsjiWRVg.js} +4 -4
  37. package/dist/{model-profile-Bg8EoCKD.js → model-profile-B998sjVd.js} +9 -2
  38. package/dist/nitro.d.ts +1 -1
  39. package/dist/nitro.js +5 -3
  40. package/dist/{oauth-callback-server-CpGmEw_i.js → oauth-callback-server-CjFFVGqa.js} +2 -2
  41. package/dist/{prompt-BlQB0QQt.js → prompt-BPSdXYXV.js} +1 -1
  42. package/dist/{registry-By36_xsm.js → registry-CndmkP2P.js} +1 -1
  43. package/dist/{reporting-window-CVarfId9.js → reporting-window-DRCi1Ls_.js} +10 -1
  44. package/dist/{resolve-CUIBcdPd.js → resolve-BkAA1wH7.js} +3 -3
  45. package/dist/{result-BemsOMOO.js → result-9TJTpuYP.js} +9 -9
  46. package/dist/{runner-BVok7PAA.js → runner-BmKLSyJm.js} +11 -11
  47. package/dist/{sandbox-egress-signals-BSUWQI95.js → sandbox-egress-signals-CjLaogMo.js} +1 -1
  48. package/dist/{schema-ChnFo5f2.js → schema-DNLJ_MzW.js} +3 -3
  49. package/dist/{schema-jK4-1u_H.d.ts → schema-WayPSHFu.d.ts} +24 -1
  50. package/dist/{service-account-DHvlLnZw.js → service-account-D6e9cVmH.js} +3 -3
  51. package/dist/{service-account-hMmESDcr.js → service-account-DlhYl-Mu.js} +3 -3
  52. package/dist/{session-stop-BQW_iFcd.js → session-stop-MZRgYqYH.js} +20 -12
  53. package/dist/{skills-DmJJIuLF.js → skills-BggTR_ue.js} +2 -2
  54. package/dist/{spawn-ChCm46i-.js → spawn-DmtlcAT_.js} +2 -2
  55. package/dist/{store-DCo2n5iJ.js → store-BeWGgaMA.js} +3 -3
  56. package/dist/{store-1DVhoKOL.js → store-Byarin7b.js} +4 -4
  57. package/dist/{task-queue-HMC4QjFm.js → task-queue-Dt1_ZoI_.js} +3 -3
  58. package/dist/{task-runner-cA6yjn_E.js → task-runner-DyKqAPpm.js} +7 -7
  59. package/dist/{thread-state-CHy8LS0C.js → thread-state-BHBLMvgb.js} +5 -5
  60. package/dist/{turn-failure-response-Dr7erLWs.js → turn-failure-response-DWXy_0oJ.js} +9 -9
  61. package/dist/{turn-lifecycle-bf2fIYi_.js → turn-lifecycle-AiXkVqCB.js} +1 -1
  62. package/dist/{turn-session-routing-BqO0qXLk.js → turn-session-routing-B9KLBhaT.js} +25 -18
  63. package/dist/{validation-DHR1ivfh.js → validation-BW60Vtx_.js} +1 -1
  64. package/dist/{version-CXCHLgWm.js → version-CivPYmkH.js} +1 -1
  65. package/dist/version.js +1 -1
  66. package/dist/{viewer-DSbD6DF6.js → viewer-BTgAfdUg.js} +26 -11
  67. package/dist/{work-BE_qTYGi.js → work-Bjm52fHo.js} +11 -11
  68. package/dist/{worker-Cm9_sWXg.js → worker-CMbgtHLu.js} +6 -6
  69. package/package.json +5 -4
package/dist/cli/main.js CHANGED
@@ -25,13 +25,13 @@ async function runChat(argv, pluginSet) {
25
25
  return await (await import("./chat.js")).runChat(argv, void 0, { pluginSet });
26
26
  }
27
27
  async function runAdmin(argv) {
28
- return await (await import("../admin-DSs8S5Uy.js")).runAdmin(argv);
28
+ return await (await import("../admin-CKVEoXa4.js")).runAdmin(argv);
29
29
  }
30
30
  async function runServiceAccount(argv) {
31
- return await (await import("../service-account-hMmESDcr.js")).runServiceAccount(argv);
31
+ return await (await import("../service-account-DlhYl-Mu.js")).runServiceAccount(argv);
32
32
  }
33
33
  async function runBriefs(argv) {
34
- return await (await import("../briefs-PtODdLNu.js")).runBriefs(argv);
34
+ return await (await import("../briefs-DNFzFFVx.js")).runBriefs(argv);
35
35
  }
36
36
  function topLevelCommand(argv) {
37
37
  return (argv[0] === "--" ? argv.slice(1) : argv)[0];
@@ -1,7 +1,7 @@
1
- import { S as getDb } from "../viewer-DSbD6DF6.js";
2
- import { n as pluginCatalogRuntime } from "../catalog-runtime-BsoSmTM0.js";
3
- import { ar as createPluginLogger, h as validatePlugins, m as setPlugins } from "../credentialed-BU-OW7HP.js";
4
- import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-DHR1ivfh.js";
1
+ import { S as getDb } from "../viewer-BTgAfdUg.js";
2
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-Bdym_wKy.js";
3
+ import { ar as createPluginLogger, h as validatePlugins, m as setPlugins } from "../credentialed-BeBaJMZ_.js";
4
+ import { n as validatePluginRegistrations, t as validatePluginEgressCredentialHooks } from "../validation-BW60Vtx_.js";
5
5
  import { a as pluginRuntimeRegistrationsFromPluginSet, i as pluginCliRegistrationsFromPluginSet, r as pluginCatalogConfigFromPluginSet } from "../plugins-DOm9Y6qI.js";
6
6
  import { t as loadAppPluginSet } from "../plugin-module-Cf5gVPWP.js";
7
7
  import { stderr, stdout } from "node:process";
@@ -1,7 +1,7 @@
1
- import { n as pluginCatalogRuntime } from "../catalog-runtime-BsoSmTM0.js";
2
- import { nt as create } from "../credentialed-BU-OW7HP.js";
3
- import { t as disconnectStateAdapter } from "../adapter-2-CG25be.js";
4
- import { n as resolve } from "../resolve-CUIBcdPd.js";
1
+ import { n as pluginCatalogRuntime } from "../catalog-runtime-Bdym_wKy.js";
2
+ import { nt as create } from "../credentialed-BeBaJMZ_.js";
3
+ import { t as disconnectStateAdapter } from "../adapter-BQNTKVTF.js";
4
+ import { n as resolve } from "../resolve-BkAA1wH7.js";
5
5
  // src/cli/snapshot-create.ts
6
6
  const DEFAULT_RUNTIME = "node22";
7
7
  const DEFAULT_TIMEOUT_MS = 6e5;
@@ -1,4 +1,4 @@
1
- import "../db-BzOCzVb1.js";
1
+ import "../db-BYOuu6v2.js";
2
2
  import { n as JuniorPluginSet } from "../plugins-B_0Cr0MO.js";
3
3
  interface UpgradeIo {
4
4
  info: (line: string) => void;
@@ -1,6 +1,6 @@
1
- import { i as getChatConfig } from "../config-CPsE4T5L.js";
2
- import { t as createJuniorSqlExecutor } from "../executor-CNS7ONt-.js";
3
- import { t as createPluginCatalogRuntime } from "../registry-By36_xsm.js";
1
+ import { i as getChatConfig } from "../config-Dm3pWRqY.js";
2
+ import { t as createJuniorSqlExecutor } from "../executor-BB6eJkD4.js";
3
+ import { t as createPluginCatalogRuntime } from "../registry-CndmkP2P.js";
4
4
  import { n as pluginCatalogConfigFromEnv, r as pluginCatalogConfigFromPluginSet, t as defineJuniorPlugins } from "../plugins-DOm9Y6qI.js";
5
5
  import { t as loadAppPluginSet } from "../plugin-module-Cf5gVPWP.js";
6
6
  import { basename, dirname, join, resolve } from "node:path";
@@ -1,5 +1,5 @@
1
- import { E as withSpan, g as normalizeGenAiFinishReason, h as logWarn, i as extractGenAiUsageAttributes, p as logException, v as serializeGenAiAttribute } from "./logging-n7knse-O.js";
2
- import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-D6zJc8ff.js";
1
+ import { E as withSpan, g as normalizeGenAiFinishReason, h as logWarn, i as extractGenAiUsageAttributes, p as logException, v as serializeGenAiAttribute } from "./logging-C6EdT6PP.js";
2
+ import { a as toCanonicalInputMessage, n as getCurrentConversationPrivacy, o as toCanonicalOutputMessage, s as toGenAiMessagesTraceAttributes } from "./conversation-privacy-C1pJ89rs.js";
3
3
  import { calculateCost, completeSimple, getEnvApiKey, getModels, registerApiProvider } from "@earendil-works/pi-ai/compat";
4
4
  import { stream as streamAnthropic, streamSimple as streamSimpleAnthropic } from "@earendil-works/pi-ai/api/anthropic-messages";
5
5
  import { createGatewayProvider } from "@ai-sdk/gateway";
@@ -415,7 +415,10 @@ const EMBEDDING_INPUT_COST_USD_PER_MILLION_TOKENS = {
415
415
  "openai/text-embedding-3-small": .02,
416
416
  "openai/text-embedding-ada-002": .1,
417
417
  "voyage/voyage-3.5": .06,
418
- "voyage/voyage-3.5-lite": .02
418
+ "voyage/voyage-3.5-lite": .02,
419
+ "voyage/voyage-4": .06,
420
+ "voyage/voyage-4-large": .12,
421
+ "voyage/voyage-4-lite": .02
419
422
  };
420
423
  const DECISION_INPUT_COST_USD_PER_MILLION_TOKENS = {
421
424
  "openai/gpt-6-luna-decisions": .1,
@@ -658,17 +661,24 @@ async function completeDecision(params) {
658
661
  });
659
662
  }
660
663
  }
664
+ /** Map the input type to the provider option for models that embed queries and documents differently. */
665
+ function embeddingProviderOptions(modelId, inputType) {
666
+ if (inputType === void 0 || !modelId.startsWith("voyage/")) return;
667
+ return { voyage: { inputType } };
668
+ }
661
669
  /** Generate text embeddings through the host-owned AI Gateway provider. */
662
670
  async function embedTexts(params) {
663
671
  const texts = params.texts.map((text) => text.trim());
664
672
  if (texts.length === 0 || texts.some((text) => text.length === 0)) throw new Error("Embedding text is required.");
665
673
  const credential = await resolveGatewayCredential();
666
674
  const provider = createGatewayProvider({ apiKey: credential.token });
675
+ const providerOptions = embeddingProviderOptions(params.modelId, params.inputType);
667
676
  try {
668
677
  const result = await withSpan(`${GEN_AI_OPERATION_EMBEDDINGS} ${params.modelId}`, "gen_ai.embeddings", logContextFromMetadata(params.modelId, params.metadata), async (setSpanAttributes) => {
669
678
  const result = await embedMany({
670
679
  model: provider.embeddingModel(params.modelId),
671
680
  values: texts,
681
+ ...providerOptions !== void 0 ? { providerOptions } : void 0,
672
682
  ...params.signal !== void 0 ? { abortSignal: params.signal } : void 0
673
683
  });
674
684
  const dimensions = result.embeddings[0]?.length;
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
2
- import { S as toOptionalTrimmed, s as resolveGatewayModel } from "./client-Cqf4TboL.js";
3
- import { h as logWarn } from "./logging-n7knse-O.js";
4
- import { l as TURN_REASONING_LEVELS, s as modelProfileSchema, t as DEFAULT_MODEL_PROFILES, u as parseTurnReasoningLevel } from "./model-profile-Bg8EoCKD.js";
2
+ import { S as toOptionalTrimmed, s as resolveGatewayModel } from "./client-B2MjENki.js";
3
+ import { h as logWarn } from "./logging-C6EdT6PP.js";
4
+ import { c as modelProfileSchema, d as parseTurnReasoningLevel, t as DEFAULT_MODEL_PROFILES, u as TURN_REASONING_LEVELS } from "./model-profile-B998sjVd.js";
5
5
  import { AwsClient } from "aws4fetch";
6
6
  // src/chat/attachments/s3.ts
7
7
  function readRequiredSetting(env, name) {
@@ -1,13 +1,13 @@
1
- import { Cn as loadTurnCheckpoint, Dn as failTurnRecord, On as getTurnRecord, n as resolveTurnSessionRouting } from "./turn-session-routing-BqO0qXLk.js";
2
- import { n as botConfig } from "./config-CPsE4T5L.js";
3
- import { C as getSqlExecutor, F as deleteProviderIdentityForUser, P as deleteProviderIdentityForSlackUser, y as getConversationEventStore } from "./viewer-DSbD6DF6.js";
4
- import { u as hasRequiredOAuthScope } from "./registry-By36_xsm.js";
5
- import { n as pluginCatalogRuntime } from "./catalog-runtime-BsoSmTM0.js";
6
- import { c as deleteMcpServerSessionId, l as deleteMcpStoredOAuthCredentials, s as deleteMcpAuthSessionsForUserProvider } from "./agent-runner-CrDrPUtY.js";
7
- import { pt as startOAuthFlow } from "./credentialed-BU-OW7HP.js";
8
- import { r as getStateAdapter } from "./adapter-2-CG25be.js";
9
- import { a as getVercelConversationWorkQueue } from "./job-queue-DI-k-Bbk.js";
10
- import { m as ensureConversationWake, w as requestConversationWork } from "./store-DCo2n5iJ.js";
1
+ import { Cn as loadTurnCheckpoint, Dn as failTurnRecord, On as getTurnRecord, n as resolveTurnSessionRouting } from "./turn-session-routing-B9KLBhaT.js";
2
+ import { n as botConfig } from "./config-Dm3pWRqY.js";
3
+ import { C as getSqlExecutor, F as deleteProviderIdentityForUser, P as deleteProviderIdentityForSlackUser, y as getConversationEventStore } from "./viewer-BTgAfdUg.js";
4
+ import { u as hasRequiredOAuthScope } from "./registry-CndmkP2P.js";
5
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-Bdym_wKy.js";
6
+ import { c as deleteMcpServerSessionId, l as deleteMcpStoredOAuthCredentials, s as deleteMcpAuthSessionsForUserProvider } from "./agent-runner-MSQSMFkq.js";
7
+ import { pt as startOAuthFlow } from "./credentialed-BeBaJMZ_.js";
8
+ import { r as getStateAdapter } from "./adapter-BQNTKVTF.js";
9
+ import { a as getVercelConversationWorkQueue } from "./job-queue-DiaXoSDg.js";
10
+ import { m as ensureConversationWake, w as requestConversationWork } from "./store-BeWGgaMA.js";
11
11
  import { z } from "zod";
12
12
  import { randomBytes, randomUUID } from "node:crypto";
13
13
  // src/chat/task-execution/authorized-turn.ts
@@ -1,4 +1,4 @@
1
- import { c as conversationTurnFailureReasonSchema, s as conversationTurnFailureCodeSchema, t as INPUT_IMAGE_TYPES, v as usageSchema } from "./media-85PDJxO_.js";
1
+ import { c as conversationTurnFailureReasonSchema, s as conversationTurnFailureCodeSchema, t as INPUT_IMAGE_TYPES, v as usageSchema } from "./media-U6Tuz6Mi.js";
2
2
  import { z } from "zod";
3
3
  import { codeChangeStateSchema, conversationAnnotationInputSchema, conversationEventPresentationSchema, conversationSidebarAnnotationSchema, objectFactFields, objectTypeSchema } from "@sentry/junior-plugin-api";
4
4
  // src/chat/briefs/schema.ts
@@ -313,6 +313,8 @@ const conversationPendingMessageSchema = z.object({
313
313
  role: z.literal("user"),
314
314
  source: z.enum(["slack", "web"]),
315
315
  text: z.string().optional(),
316
+ /** People mentioned in the text, resolved at read time. */
317
+ mentions: z.array(actorIdentitySchema).optional(),
316
318
  attachments: z.array(messageAttachmentSchema).optional(),
317
319
  redacted: z.literal(true).optional()
318
320
  }).strict().superRefine((data, context) => {
@@ -320,9 +322,9 @@ const conversationPendingMessageSchema = z.object({
320
322
  code: "custom",
321
323
  message: "pending message content must be text or explicitly redacted"
322
324
  });
323
- if (data.redacted && (data.actorIdentity || data.attachments)) context.addIssue({
325
+ if (data.redacted && (data.actorIdentity || data.attachments || data.mentions)) context.addIssue({
324
326
  code: "custom",
325
- message: "redacted pending messages must not expose actor identity or attachments"
327
+ message: "redacted pending messages must not expose actor identity, attachments, or mentions"
326
328
  });
327
329
  });
328
330
  /** Participant-only authorization prompt for a parked web turn. */
@@ -1,4 +1,4 @@
1
- import { h as logWarn } from "./logging-n7knse-O.js";
1
+ import { h as logWarn } from "./logging-C6EdT6PP.js";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  // src/chat/conversation-privacy.ts
4
4
  const SAFE_METADATA_KEY_LIMIT = 20;
@@ -1,20 +1,20 @@
1
- import { It as recordAuthenticationLinked, Lt as recordAuthorizationCompleted, On as getTurnRecord, bn as getConversationPendingAuth } from "./turn-session-routing-BqO0qXLk.js";
2
- import { p as escapeXml } from "./client-Cqf4TboL.js";
3
- import { a as getRuntimeMetadata, n as botConfig } from "./config-CPsE4T5L.js";
4
- import { R as isNativeIdentityProvider, _ as runBestEffort, h as logWarn, p as logException } from "./logging-n7knse-O.js";
1
+ import { It as recordAuthenticationLinked, Lt as recordAuthorizationCompleted, On as getTurnRecord, bn as getConversationPendingAuth } from "./turn-session-routing-B9KLBhaT.js";
2
+ import { p as escapeXml } from "./client-B2MjENki.js";
3
+ import { a as getRuntimeMetadata, n as botConfig } from "./config-Dm3pWRqY.js";
4
+ import { R as isNativeIdentityProvider, _ as runBestEffort, h as logWarn, p as logException } from "./logging-C6EdT6PP.js";
5
5
  import { p as parseSlackUserId } from "./actor-CP9K2Idu.js";
6
- import { B as upsertLinkedIdentity, C as getSqlExecutor, I as findUserByVerifiedEmails, M as resolveActorIdentityId, o as readIdentityById } from "./viewer-DSbD6DF6.js";
6
+ import { B as upsertLinkedIdentity, C as getSqlExecutor, I as findUserByVerifiedEmails, M as resolveActorIdentityId, o as readIdentityById } from "./viewer-BTgAfdUg.js";
7
7
  import { i as homeDir } from "./package-discovery-DJBompdd.js";
8
- import { n as buildOAuthTokenRequest, r as parseOAuthTokenResponse, u as hasRequiredOAuthScope } from "./registry-By36_xsm.js";
9
- import { n as pluginCatalogRuntime } from "./catalog-runtime-BsoSmTM0.js";
10
- import { t as discoverSkills } from "./skills-DmJJIuLF.js";
11
- import { a as finalizeMcpAuthorization, d as getMcpStoredOAuthCredentials, f as putMcpStoredOAuthCredentials, o as deleteMcpAuthSession, u as getMcpAuthSession, v as lookupSlackUserProfile } from "./agent-runner-CrDrPUtY.js";
12
- import { Dn as getSlackClient, Et as postSlackMessage, dt as parseOAuthStatePayload, ft as resolveBaseUrl, i as resolvePluginOAuthAccount, n as createUserTokenStore, ut as formatProviderLabel } from "./credentialed-BU-OW7HP.js";
8
+ import { n as buildOAuthTokenRequest, r as parseOAuthTokenResponse, u as hasRequiredOAuthScope } from "./registry-CndmkP2P.js";
9
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-Bdym_wKy.js";
10
+ import { t as discoverSkills } from "./skills-BggTR_ue.js";
11
+ import { a as finalizeMcpAuthorization, d as getMcpStoredOAuthCredentials, f as putMcpStoredOAuthCredentials, o as deleteMcpAuthSession, u as getMcpAuthSession, v as lookupSlackUserProfile } from "./agent-runner-MSQSMFkq.js";
12
+ import { Dn as getSlackClient, Et as postSlackMessage, dt as parseOAuthStatePayload, ft as resolveBaseUrl, i as resolvePluginOAuthAccount, n as createUserTokenStore, ut as formatProviderLabel } from "./credentialed-BeBaJMZ_.js";
13
13
  import { r as acquireActiveLock } from "./locks-D-0h111u.js";
14
- import { r as getStateAdapter } from "./adapter-2-CG25be.js";
15
- import { _ as getMcpProviderErrorAttributes } from "./service-account-DHvlLnZw.js";
16
- import { o as coerceThreadConversationState, r as getPersistedThreadState } from "./thread-state-CHy8LS0C.js";
17
- import { c as deleteWebAuthorization, i as readConnectedOAuthTokens, m as wakePausedTurn, p as wakeAuthorizedTurn, u as htmlCallbackResponse } from "./connections-upFXLmhG.js";
14
+ import { r as getStateAdapter } from "./adapter-BQNTKVTF.js";
15
+ import { _ as getMcpProviderErrorAttributes } from "./service-account-D6e9cVmH.js";
16
+ import { o as coerceThreadConversationState, r as getPersistedThreadState } from "./thread-state-BHBLMvgb.js";
17
+ import { c as deleteWebAuthorization, i as readConnectedOAuthTokens, m as wakePausedTurn, p as wakeAuthorizedTurn, u as htmlCallbackResponse } from "./connections-0BBhiD-p.js";
18
18
  import { n as relayLocalOAuthCallback } from "./oauth-relay-CTygMkNx.js";
19
19
  import path from "node:path";
20
20
  import { z } from "zod";
@@ -1,22 +1,22 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
2
- import { S as toOptionalTrimmed, i as completeObject, o as embedTexts } from "./client-Cqf4TboL.js";
3
- import { i as getChatConfig, n as botConfig, o as getSlackBotToken, v as normalizeSlackEmojiName } from "./config-CPsE4T5L.js";
4
- import { B as isRecord$2, E as withSpan, a as extractGenAiUsageSummary, b as setSpanAttributes, c as getLogContextAttributes, d as logAudit, h as logWarn, m as logInfo, p as logException, y as setSentryUser } from "./logging-n7knse-O.js";
2
+ import { S as toOptionalTrimmed, i as completeObject, o as embedTexts, t as GEN_AI_PROVIDER_NAME } from "./client-B2MjENki.js";
3
+ import { i as getChatConfig, n as botConfig, o as getSlackBotToken, v as normalizeSlackEmojiName } from "./config-Dm3pWRqY.js";
4
+ import { B as isRecord$2, E as withSpan, a as extractGenAiUsageSummary, b as setSpanAttributes, c as getLogContextAttributes, d as logAudit, h as logWarn, m as logInfo, p as logException, y as setSentryUser } from "./logging-C6EdT6PP.js";
5
5
  import { a as getClient$1, n as captureMessage, r as continueTrace } from "./sentry-MDkYAVPV.js";
6
- import { t as canExposeConversationPayload } from "./conversation-privacy-D6zJc8ff.js";
7
- import { r as defaultModelId } from "./model-profile-Bg8EoCKD.js";
6
+ import { t as canExposeConversationPayload } from "./conversation-privacy-C1pJ89rs.js";
7
+ import { i as defaultModelId } from "./model-profile-B998sjVd.js";
8
8
  import { d as parseSlackChannelReferenceId, f as parseSlackTeamId, i as isActorUserId, m as parseSlackMessageTs, p as parseSlackUserId, s as parseActorUserId } from "./actor-CP9K2Idu.js";
9
- import { C as getSqlExecutor, D as createSqlStore, L as readUserTimezone, S as getDb, X as parseDestination, g as createCache, i as readActorIdentity, l as resolveViewerUser, n as findUserByEmailFromSql, o as readIdentityById, p as parseAvatarUrl, q as hasAgentTurnUsage, s as readIdentityByIdFromSql, y as getConversationEventStore, z as saveUserTimezone } from "./viewer-DSbD6DF6.js";
9
+ import { C as getSqlExecutor, D as createSqlStore, L as readUserTimezone, S as getDb, X as parseDestination, g as createCache, i as readActorIdentity, l as resolveViewerUser, n as findUserByEmailFromSql, o as readIdentityById, p as parseAvatarUrl, q as hasAgentTurnUsage, s as readIdentityByIdFromSql, y as getConversationEventStore, z as saveUserTimezone } from "./viewer-BTgAfdUg.js";
10
10
  import { c as juniorIdentities, d as juniorDestinations, l as juniorUsers, s as juniorConversations } from "./agent-invocations-C1RNOCs8.js";
11
- import { C as juniorCodeRepositories, S as juniorCodeChanges, a as juniorReviewItemAssignees, c as juniorReviewItems, d as juniorAutomations, g as juniorConversationBriefs, i as juniorWorkspaces, m as juniorConversationParticipants, n as juniorSnapshots, o as juniorReviewItemConversations, r as juniorWorkspaceRepos, w as juniorAttachments, x as juniorConversationAnnotations, y as juniorConversationEvents } from "./executor-CNS7ONt-.js";
12
- import { l as decodeStoredConversationEvent } from "./media-85PDJxO_.js";
13
- import { _ as CredentialUnavailableError, a as resolveAuthTokenPlaceholder, h as credentialSubjectSchema, m as credentialLogContext, o as resolvePluginCommandEnv, p as credentialContextSchema } from "./registry-By36_xsm.js";
14
- import { n as pluginCatalogRuntime } from "./catalog-runtime-BsoSmTM0.js";
11
+ import { C as juniorCodeRepositories, S as juniorCodeChanges, a as juniorReviewItemAssignees, c as juniorReviewItems, d as juniorAutomations, g as juniorConversationBriefs, i as juniorWorkspaces, m as juniorConversationParticipants, n as juniorSnapshots, o as juniorReviewItemConversations, r as juniorWorkspaceRepos, w as juniorAttachments, x as juniorConversationAnnotations, y as juniorConversationEvents } from "./executor-BB6eJkD4.js";
12
+ import { l as decodeStoredConversationEvent } from "./media-U6Tuz6Mi.js";
13
+ import { _ as CredentialUnavailableError, a as resolveAuthTokenPlaceholder, h as credentialSubjectSchema, m as credentialLogContext, o as resolvePluginCommandEnv, p as credentialContextSchema } from "./registry-CndmkP2P.js";
14
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-Bdym_wKy.js";
15
15
  import { r as acquireActiveLock } from "./locks-D-0h111u.js";
16
- import { n as getDefaultRedisStateAdapterFor, r as getStateAdapter } from "./adapter-2-CG25be.js";
16
+ import { n as getDefaultRedisStateAdapterFor, r as getStateAdapter } from "./adapter-BQNTKVTF.js";
17
17
  import { i as isValidTimeZone } from "./cadence-R7Em4RjE.js";
18
- import { C as conversationReportEventSchema, J as conversationBriefSchema, W as readMessageAttachments, Y as parseBriefInput, w as conversationReportMessageEventSchema, z as readMessageCardRefs } from "./conversation-CTpD_PGk.js";
19
- import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-BlQB0QQt.js";
18
+ import { C as conversationReportEventSchema, J as conversationBriefSchema, W as readMessageAttachments, Y as parseBriefInput, w as conversationReportMessageEventSchema, z as readMessageCardRefs } from "./conversation-AhOVzN_k.js";
19
+ import { n as briefEntriesFromReportEvents, s as generateBrief, t as BRIEF_PROMPT } from "./prompt-BPSdXYXV.js";
20
20
  import path from "node:path";
21
21
  import { AsyncLocalStorage } from "node:async_hooks";
22
22
  import { z } from "zod";
@@ -1758,17 +1758,22 @@ function createPluginModel(pluginName, options = {}, runtime = {}) {
1758
1758
  }
1759
1759
  /** Create the host-owned embedding capability exposed to prompt hooks. */
1760
1760
  function createPluginEmbedder(pluginName, runtime = {}) {
1761
- return { async embedTexts(input) {
1762
- return await embedTexts({
1763
- modelId: botConfig.embeddingModelId,
1764
- texts: input.texts,
1765
- signal: runtime.signal,
1766
- metadata: {
1767
- pluginName,
1768
- pluginModelRole: "embedding"
1769
- }
1770
- });
1771
- } };
1761
+ return {
1762
+ model: botConfig.embeddingModelId,
1763
+ provider: GEN_AI_PROVIDER_NAME,
1764
+ async embedTexts(input) {
1765
+ return await embedTexts({
1766
+ modelId: botConfig.embeddingModelId,
1767
+ texts: input.texts,
1768
+ ...input.inputType !== void 0 ? { inputType: input.inputType } : void 0,
1769
+ signal: runtime.signal,
1770
+ metadata: {
1771
+ pluginName,
1772
+ pluginModelRole: "embedding"
1773
+ }
1774
+ });
1775
+ }
1776
+ };
1772
1777
  }
1773
1778
  // src/chat/plugins/state.ts
1774
1779
  const MAX_PLUGIN_STATE_KEY_LENGTH = 512;
@@ -1,4 +1,4 @@
1
- import "./schema-jK4-1u_H.js";
1
+ import "./schema-WayPSHFu.js";
2
2
  import { z } from "zod";
3
3
  import { Destination, Source, locationSchema } from "@sentry/junior-plugin-api";
4
4
  import "drizzle-orm/pg-core";
@@ -1,5 +1,5 @@
1
- import "./config-CPsE4T5L.js";
2
- import { p as logException } from "./logging-n7knse-O.js";
1
+ import "./config-Dm3pWRqY.js";
2
+ import { p as logException } from "./logging-C6EdT6PP.js";
3
3
  import { a as juniorAgentInvocations, c as juniorIdentities, d as juniorDestinations, f as timestamptz, i as juniorAgentBindings, l as juniorUsers, s as juniorConversations } from "./agent-invocations-C1RNOCs8.js";
4
4
  import { AsyncLocalStorage } from "node:async_hooks";
5
5
  import { sql } from "drizzle-orm";
@@ -1,6 +1,6 @@
1
- import { F as getDeploymentServiceVersion, I as getDeploymentTelemetryAttributes } from "./logging-n7knse-O.js";
1
+ import { F as getDeploymentServiceVersion, I as getDeploymentTelemetryAttributes } from "./logging-C6EdT6PP.js";
2
2
  import { a as getClient, c as init, o as getGlobalScope } from "./sentry-MDkYAVPV.js";
3
- import { n as getCurrentConversationPrivacy } from "./conversation-privacy-D6zJc8ff.js";
3
+ import { n as getCurrentConversationPrivacy } from "./conversation-privacy-C1pJ89rs.js";
4
4
  import { t as consumePrivateTraceResultMarker } from "./private-trace-result-CE7_lEdq.js";
5
5
  // src/chat/sentry-payload-filter.ts
6
6
  const PAYLOAD_ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
@@ -1,4 +1,4 @@
1
- import { gr as extractAssistantText } from "./turn-session-routing-BqO0qXLk.js";
1
+ import { _r as extractAssistantText } from "./turn-session-routing-B9KLBhaT.js";
2
2
  // src/chat/no-reply.ts
3
3
  const NO_REPLY_MARKER = "[[NO_REPLY]]";
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { i as getChatConfig } from "./config-CPsE4T5L.js";
2
- import { E as withSpan, m as logInfo, p as logException } from "./logging-n7knse-O.js";
1
+ import { i as getChatConfig } from "./config-Dm3pWRqY.js";
2
+ import { E as withSpan, m as logInfo, p as logException } from "./logging-C6EdT6PP.js";
3
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
4
  import { z } from "zod";
5
5
  import { createHash, createHmac, timingSafeEqual } from "node:crypto";