@sentry/junior 0.229.0 → 0.231.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 (57) hide show
  1. package/dist/{agent-hooks-BfjhfMIy.js → agent-hooks-BxL23rrY.js} +10 -10
  2. package/dist/{agent-runner-DtrpkWV5.js → agent-runner-mpzfRAEr.js} +120 -115
  3. package/dist/api/schema.d.ts +18 -267
  4. package/dist/api/schema.js +3 -3
  5. package/dist/api.js +18 -18
  6. package/dist/{app-BRZB3MuD.d.ts → app-xk2-Id1T.d.ts} +2 -2
  7. package/dist/app.d.ts +1 -1
  8. package/dist/app.js +22 -21
  9. package/dist/{briefs-B6KfFLRA.js → briefs-CTIZORAN.js} +4 -4
  10. package/dist/{catalog-runtime-Byr3trKF.js → catalog-runtime-RSgQS4lp.js} +1 -1
  11. package/dist/{checkpoint-DEYb3Fqm.js → checkpoint-Q4FG2BQc.js} +7 -9
  12. package/dist/cli/chat.js +13 -13
  13. package/dist/cli/check.js +3 -3
  14. package/dist/cli/main.js +1 -1
  15. package/dist/cli/plugins.js +3 -3
  16. package/dist/cli/snapshot-create.js +3 -3
  17. package/dist/cli/upgrade.js +3 -3
  18. package/dist/{client-BN5U3CGw.js → client-Mj9HEEKf.js} +3 -2
  19. package/dist/{config-C4xZrx7G.js → config-CkmcoWGB.js} +2 -2
  20. package/dist/{conversation-DOI6Y60M.js → conversation-DsuDtoYR.js} +96 -74
  21. package/dist/{conversation-privacy-CB7wx_tP.js → conversation-privacy-DGj6F9tc.js} +1 -1
  22. package/dist/{credential-sync-CuEwdxwY.js → credential-sync-CHL297BH.js} +13 -13
  23. package/dist/{executor-DUqeOd8y.js → executor-_eMyydh0.js} +1 -1
  24. package/dist/history-DvqWZlYX.d.ts +86 -0
  25. package/dist/{images-B5JLFwJR.js → images-D9gA15-3.js} +3 -3
  26. package/dist/instrumentation.js +2 -2
  27. package/dist/{job-queue-C1AJ5uJt.js → job-queue-Dl1lTGqq.js} +1 -1
  28. package/dist/{logging-Muw6EXro.js → logging-9VpmxvdL.js} +1 -1
  29. package/dist/nitro.d.ts +1 -1
  30. package/dist/nitro.js +3 -3
  31. package/dist/{oauth-authorization-CrD-xb8a.js → oauth-authorization-DYZeyL50.js} +1 -1
  32. package/dist/{oauth-callback-server-DfQos1K1.js → oauth-callback-server-BcVrxzcd.js} +2 -2
  33. package/dist/{pending-auth-pYQpJmtu.js → pending-auth-mB93uu9V.js} +1 -1
  34. package/dist/{profile-25NkcK4S.js → profile-CK1KKKfj.js} +4 -4
  35. package/dist/{prompt-9C-wUwwx.js → prompt-D5RPLy92.js} +1 -1
  36. package/dist/{registry-DrcbAs8o.js → registry-BzD2Rftl.js} +1 -1
  37. package/dist/{resolve-D9kl_rkl.js → resolve-C3UI1gHN.js} +2 -2
  38. package/dist/{runner-D3rf-_hT.js → runner-BETWa1Bq.js} +9 -9
  39. package/dist/{sandbox-egress-signals-BfQQz6cs.js → sandbox-egress-signals-pjWtc_9b.js} +1 -1
  40. package/dist/{schema-CXmCvVLn.js → schema-B-Taar1W.js} +1 -1
  41. package/dist/{skills-rwWf3XjQ.js → skills-B5o4x78h.js} +2 -2
  42. package/dist/{spawn-z0fRvZH9.js → spawn-pwMuB53X.js} +2 -2
  43. package/dist/{task-queue-BGo6K-BX.js → task-queue-Bb71mssX.js} +3 -3
  44. package/dist/{task-runner-DH8M0m7l.js → task-runner-DkaEXCEP.js} +9 -9
  45. package/dist/{thread-state-CS67FjfN.js → thread-state-HHHiwpYG.js} +5 -5
  46. package/dist/{turn-failure-response-DcaALKfm.js → turn-failure-response-CtWGQ0fz.js} +17 -15
  47. package/dist/{turn-lifecycle-DHcpS20C.js → turn-lifecycle-Cosdai_3.js} +1 -1
  48. package/dist/{turn-session-routing-DlaCHHlu.js → turn-session-routing-DDo6JGTB.js} +1 -1
  49. package/dist/{validation-CNUPIKMW.js → validation-DoceK2VV.js} +1 -1
  50. package/dist/{version-B0eXuHqw.js → version-wZ8kdUu1.js} +1 -1
  51. package/dist/version.js +1 -1
  52. package/dist/{web-authorization-DrXlSd3Y.js → web-authorization-C1coqBWn.js} +6 -6
  53. package/dist/{web-input-WFoSdz8L.js → web-input-clQr4P53.js} +49 -31
  54. package/dist/{work-B0cAo7nv.js → work-BW27hKZB.js} +7 -7
  55. package/dist/{worker-DNklqmhH.js → worker-DQ-0LzAC.js} +5 -5
  56. package/package.json +5 -4
  57. package/dist/history-H-SI5Dej.d.ts +0 -128
@@ -1,4 +1,4 @@
1
- import { cn as sandboxEgressSignalsResponseSchema } from "./agent-runner-DtrpkWV5.js";
1
+ import { cn as sandboxEgressSignalsResponseSchema } from "./agent-runner-mpzfRAEr.js";
2
2
  //#region src/chat/local/sandbox-egress-signals.ts
3
3
  const SANDBOX_EGRESS_SIGNALS_PATH = "/api/internal/sandbox-egress/signals";
4
4
  const LOCAL_DEV_SERVER_TIMEOUT_MS = 1e3;
@@ -1,5 +1,5 @@
1
1
  import { t as juniorDestinationKindSchema } from "./destinations-BeBiJeEM.js";
2
- import { E as conversationSummaryReportSchema, n as actorIdentitySchema, w as conversationStatsItemSchema } from "./conversation-DOI6Y60M.js";
2
+ import { E as conversationSummaryReportSchema, n as actorIdentitySchema, w as conversationStatsItemSchema } from "./conversation-DsuDtoYR.js";
3
3
  import { a as fillUtcHours, c as sumUtcHoursIntoSixHours, i as fillUtcDays } from "./web-message-id-xPI_EFSC.js";
4
4
  import { z } from "zod";
5
5
  import { codeChangeStateSchema, taskOutcomeSchema } from "@sentry/junior-plugin-api";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { p as logWarn } from "./logging-Muw6EXro.js";
2
+ import { p as logWarn } from "./logging-9VpmxvdL.js";
3
3
  import { s as skillRoots } from "./package-discovery-7a9YqLhE.js";
4
- import { n as pluginCatalogRuntime } from "./catalog-runtime-Byr3trKF.js";
4
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-RSgQS4lp.js";
5
5
  import path from "node:path";
6
6
  import { z } from "zod";
7
7
  import fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { Dn as toolInvocationDestination, En as actorFromRun } from "./agent-runner-DtrpkWV5.js";
3
- import { n as createAndEnqueueAgentInvocation } from "./work-B0cAo7nv.js";
2
+ import { Dn as toolInvocationDestination, En as actorFromRun } from "./agent-runner-mpzfRAEr.js";
3
+ import { n as createAndEnqueueAgentInvocation } from "./work-BW27hKZB.js";
4
4
  //#region src/chat/agent-invocations/spawn.ts
5
5
  var spawn_exports = /* @__PURE__ */ __exportAll({ bindSpawnAgent: () => bindSpawnAgent });
6
6
  /** Bind a Run's Actor and credentials to new Agent invocations. */
@@ -1,5 +1,5 @@
1
- import { p as logWarn } from "./logging-Muw6EXro.js";
2
- import { c as QUEUE_SIGNATURE_MAX_AGE_MS, d as createVercelQueueClient, l as signQueueMessage, p as runWithTurnRequestDeadline, u as verifyQueueMessage } from "./job-queue-C1AJ5uJt.js";
1
+ import { p as logWarn } from "./logging-9VpmxvdL.js";
2
+ import { c as QUEUE_SIGNATURE_MAX_AGE_MS, d as createVercelQueueClient, l as signQueueMessage, p as runWithTurnRequestDeadline, u as verifyQueueMessage } from "./job-queue-Dl1lTGqq.js";
3
3
  import { z } from "zod";
4
4
  import { createHash } from "node:crypto";
5
5
  import { handleCallback, registerDevConsumer } from "@vercel/queue";
@@ -109,7 +109,7 @@ function pluginTaskCallback() {
109
109
  maxDeliveries: PLUGIN_TASK_MAX_DELIVERIES,
110
110
  onRejected: logPluginTaskQueueMessageRejected,
111
111
  run: async (message) => {
112
- const { processPluginTask } = await import("./task-runner-DH8M0m7l.js").then((n) => n.r);
112
+ const { processPluginTask } = await import("./task-runner-DkaEXCEP.js").then((n) => n.r);
113
113
  await processPluginTask(message);
114
114
  },
115
115
  topic: PLUGIN_TASK_QUEUE_TOPIC,
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { p as logWarn } from "./logging-Muw6EXro.js";
2
+ import { p as logWarn } from "./logging-9VpmxvdL.js";
3
3
  import { b as parseSlackMessageTs, r as credentialSubjectSchema } from "./context-0Et9iVSB.js";
4
- import { $t as getConversationStore, Ct as createPluginLogger, Nt as createPluginConversationEvents, Q as readActorIdentity, St as createPluginModel, bt as createPluginState, en as getDb, ht as JUNIOR_THREAD_STATE_TTL_MS, ln as agentTurnCostUsd, p as coreTaskRegistrations, u as getPlugins, un as agentTurnTotalTokens, xt as createPluginEmbedder } from "./agent-hooks-BfjhfMIy.js";
5
- import { E as juniorConversations, s as juniorAutomationExecutions } from "./executor-DUqeOd8y.js";
6
- import { nt as sameActorIdentity } from "./conversation-DOI6Y60M.js";
7
- import { C as isToolResultError, D as stripRuntimeTurnContext, J as hydrateConversationMessages, T as normalizeToolNameFromResult, b as instructionTextForProjection, g as getPiMessageRole, s as getTurnRecord, w as isToolResultMessage } from "./checkpoint-DEYb3Fqm.js";
8
- import { w as getStateAdapter } from "./profile-25NkcK4S.js";
9
- import { r as getPersistedThreadState, s as coerceThreadConversationState } from "./thread-state-CS67FjfN.js";
10
- import { t as resolveConversationRouting } from "./turn-session-routing-DlaCHHlu.js";
11
- import { i as pluginTaskParamsSchema, o as sendVercelPluginTask, r as pluginTaskId } from "./task-queue-BGo6K-BX.js";
4
+ import { $t as getConversationStore, Ct as createPluginLogger, Nt as createPluginConversationEvents, Q as readActorIdentity, St as createPluginModel, bt as createPluginState, en as getDb, ht as JUNIOR_THREAD_STATE_TTL_MS, ln as agentTurnCostUsd, p as coreTaskRegistrations, u as getPlugins, un as agentTurnTotalTokens, xt as createPluginEmbedder } from "./agent-hooks-BxL23rrY.js";
5
+ import { E as juniorConversations, s as juniorAutomationExecutions } from "./executor-_eMyydh0.js";
6
+ import { rt as sameActorIdentity } from "./conversation-DsuDtoYR.js";
7
+ import { C as isToolResultError, D as stripRuntimeTurnContext, J as hydrateConversationMessages, T as normalizeToolNameFromResult, b as instructionTextForProjection, g as getPiMessageRole, s as getTurnRecord, w as isToolResultMessage } from "./checkpoint-Q4FG2BQc.js";
8
+ import { w as getStateAdapter } from "./profile-CK1KKKfj.js";
9
+ import { r as getPersistedThreadState, s as coerceThreadConversationState } from "./thread-state-HHHiwpYG.js";
10
+ import { t as resolveConversationRouting } from "./turn-session-routing-DDo6JGTB.js";
11
+ import { i as pluginTaskParamsSchema, o as sendVercelPluginTask, r as pluginTaskId } from "./task-queue-Bb71mssX.js";
12
12
  import { z } from "zod";
13
13
  import { createHash } from "node:crypto";
14
14
  import { and, asc, count, desc, eq, gte, inArray, lte, max, or, sql } from "drizzle-orm";
@@ -1,9 +1,9 @@
1
- import { I as isRecord, L as toOptionalNumber, R as toOptionalString } from "./logging-Muw6EXro.js";
2
- import { en as getDb, ht as JUNIOR_THREAD_STATE_TTL_MS } from "./agent-hooks-BfjhfMIy.js";
1
+ import { I as isRecord, L as toOptionalNumber, R as toOptionalString } from "./logging-9VpmxvdL.js";
2
+ import { en as getDb, ht as JUNIOR_THREAD_STATE_TTL_MS } from "./agent-hooks-BxL23rrY.js";
3
3
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
4
- import { u as juniorLocationConfigurations } from "./executor-DUqeOd8y.js";
5
- import { Y as persistConversationMessages } from "./checkpoint-DEYb3Fqm.js";
6
- import { w as getStateAdapter } from "./profile-25NkcK4S.js";
4
+ import { u as juniorLocationConfigurations } from "./executor-_eMyydh0.js";
5
+ import { Y as persistConversationMessages } from "./checkpoint-Q4FG2BQc.js";
6
+ import { w as getStateAdapter } from "./profile-CK1KKKfj.js";
7
7
  import { z } from "zod";
8
8
  import { randomUUID } from "node:crypto";
9
9
  import { and, eq, sql } from "drizzle-orm";
@@ -1,19 +1,19 @@
1
- import { _ as getProviderErrorUserMessage, g as getProviderErrorAttributes, h as findProviderError, p as ProviderError } from "./client-BN5U3CGw.js";
2
- import { I as isRecord, t as buildTurnFailureResponse } from "./logging-Muw6EXro.js";
1
+ import { _ as getProviderErrorUserMessage, g as getProviderErrorAttributes, h as findProviderError, p as ProviderError } from "./client-Mj9HEEKf.js";
2
+ import { I as isRecord, t as buildTurnFailureResponse } from "./logging-9VpmxvdL.js";
3
3
  import { b as parseSlackMessageTs } from "./context-0Et9iVSB.js";
4
- import { Zt as getConversationEventStore } from "./agent-hooks-BfjhfMIy.js";
5
- import { A as messageCardKey, N as readMessageCards, j as messageCardRefSchema } from "./conversation-DOI6Y60M.js";
6
- import { J as hydrateConversationMessages, ct as markConversationMessage } from "./checkpoint-DEYb3Fqm.js";
7
- import { r as clearPendingAuth, s as buildDeterministicTurnId } from "./pending-auth-pYQpJmtu.js";
8
- import { g as markTurnCompleted, h as markTurnClosed } from "./oauth-authorization-CrD-xb8a.js";
9
- import { o as persistThreadStateById, r as getPersistedThreadState, s as coerceThreadConversationState } from "./thread-state-CS67FjfN.js";
4
+ import { Wt as listConversationAnnotations, Zt as getConversationEventStore, en as getDb } from "./agent-hooks-BxL23rrY.js";
5
+ import { H as readMessageCardRefs, U as removedCardSchema, W as resolveMessageCards } from "./conversation-DsuDtoYR.js";
6
+ import { J as hydrateConversationMessages, ct as markConversationMessage } from "./checkpoint-Q4FG2BQc.js";
7
+ import { r as clearPendingAuth, s as buildDeterministicTurnId } from "./pending-auth-mB93uu9V.js";
8
+ import { g as markTurnCompleted, h as markTurnClosed } from "./oauth-authorization-DYZeyL50.js";
9
+ import { o as persistThreadStateById, r as getPersistedThreadState, s as coerceThreadConversationState } from "./thread-state-HHHiwpYG.js";
10
10
  //#region src/chat/conversations/pending-cards.ts
11
- /** Read undelivered card snapshots across resume and history replacement. */
11
+ /** Select undelivered cards and load their latest saved facts. */
12
12
  async function loadPendingMessageCards(conversationId) {
13
13
  const cards = /* @__PURE__ */ new Map();
14
14
  const deleted = /* @__PURE__ */ new Set();
15
15
  let beforeSeq;
16
- while (true) {
16
+ selection: while (true) {
17
17
  const page = await getConversationEventStore().query(conversationId, {
18
18
  beforeSeq,
19
19
  limit: 100,
@@ -25,18 +25,20 @@ async function loadPendingMessageCards(conversationId) {
25
25
  });
26
26
  for (const event of [...page.events].reverse()) {
27
27
  const data = event.data;
28
- if (data.type === "turn_started" || data.type === "message" && data.role === "assistant") return [...cards.values()].reverse();
28
+ if (data.type === "turn_started" || data.type === "message" && data.role === "assistant") break selection;
29
29
  if (data.type !== "tool_result" || data.isError || typeof data.toolName !== "string" || !isRecord(data.details)) continue;
30
30
  if (data.details.timed_out === true) continue;
31
- if (Array.isArray(data.details.removedCards)) for (const ref of messageCardRefSchema.array().parse(data.details.removedCards)) deleted.add(JSON.stringify([ref.plugin, ref.key]));
32
- for (const card of readMessageCards(data.details)) {
33
- const key = messageCardKey(card);
31
+ if (Array.isArray(data.details.removedCards)) for (const ref of removedCardSchema.array().parse(data.details.removedCards)) deleted.add(JSON.stringify([ref.plugin, ref.key]));
32
+ for (const card of readMessageCardRefs(data.details)) {
33
+ const key = JSON.stringify([card.plugin, card.key]);
34
34
  if (!deleted.has(key) && !cards.has(key)) cards.set(key, card);
35
35
  }
36
36
  }
37
- if (!page.hasOlder || page.events.length === 0) return [...cards.values()].reverse();
37
+ if (!page.hasOlder || page.events.length === 0) break;
38
38
  beforeSeq = page.events[0].seq;
39
39
  }
40
+ if (cards.size === 0) return [];
41
+ return resolveMessageCards([...cards.values()].reverse(), await listConversationAnnotations(getDb(), conversationId));
40
42
  }
41
43
  //#endregion
42
44
  //#region src/chat/interruption-marker.ts
@@ -1,4 +1,4 @@
1
- import { Zt as getConversationEventStore } from "./agent-hooks-BfjhfMIy.js";
1
+ import { Zt as getConversationEventStore } from "./agent-hooks-BxL23rrY.js";
2
2
  //#region src/chat/conversations/turn-lifecycle.ts
3
3
  /** Persist correlated turn lifecycle facts with retry-safe terminal exclusion. */
4
4
  var ConversationTurnLifecycleService = class {
@@ -34,7 +34,7 @@ function slackSourceForDestination(args) {
34
34
  * Reads parent Conversations when this Conversation has no Destination.
35
35
  */
36
36
  async function resolveConversationRouting(args) {
37
- const conversationStore = args.conversationStore ?? (await import("./agent-hooks-BfjhfMIy.js").then((n) => n.Xt)).getConversationStore();
37
+ const conversationStore = args.conversationStore ?? (await import("./agent-hooks-BxL23rrY.js").then((n) => n.Xt)).getConversationStore();
38
38
  const chain = await loadConversationChain(args.conversationId, conversationStore);
39
39
  let destination;
40
40
  let source;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { n as pluginCatalogRuntime } from "./catalog-runtime-Byr3trKF.js";
2
+ import { n as pluginCatalogRuntime } from "./catalog-runtime-RSgQS4lp.js";
3
3
  import { isDeepStrictEqual } from "node:util";
4
4
  //#region src/chat/plugins/validation.ts
5
5
  var validation_exports = /* @__PURE__ */ __exportAll({
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.229.0";
2
+ var version = "0.231.0";
3
3
  //#endregion
4
4
  //#region src/version.ts
5
5
  /** Installed Junior package version, or `unknown` when package metadata is unavailable. */
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as JUNIOR_VERSION } from "./version-B0eXuHqw.js";
1
+ import { t as JUNIOR_VERSION } from "./version-wZ8kdUu1.js";
2
2
  export { JUNIOR_VERSION };
@@ -1,9 +1,9 @@
1
- import { Ht as requestConversationWork, Mt as ensureConversationWake } from "./agent-runner-DtrpkWV5.js";
2
- import { Zt as getConversationEventStore } from "./agent-hooks-BfjhfMIy.js";
3
- import { n as loadTurnCheckpoint, o as failTurnRecord, s as getTurnRecord } from "./checkpoint-DEYb3Fqm.js";
4
- import { w as getStateAdapter } from "./profile-25NkcK4S.js";
5
- import { a as getVercelConversationWorkQueue } from "./job-queue-C1AJ5uJt.js";
6
- import { n as resolveTurnSessionRouting } from "./turn-session-routing-DlaCHHlu.js";
1
+ import { Ht as requestConversationWork, Mt as ensureConversationWake } from "./agent-runner-mpzfRAEr.js";
2
+ import { Zt as getConversationEventStore } from "./agent-hooks-BxL23rrY.js";
3
+ import { n as loadTurnCheckpoint, o as failTurnRecord, s as getTurnRecord } from "./checkpoint-Q4FG2BQc.js";
4
+ import { w as getStateAdapter } from "./profile-CK1KKKfj.js";
5
+ import { a as getVercelConversationWorkQueue } from "./job-queue-Dl1lTGqq.js";
6
+ import { n as resolveTurnSessionRouting } from "./turn-session-routing-DDo6JGTB.js";
7
7
  import { z } from "zod";
8
8
  import { randomUUID } from "node:crypto";
9
9
  //#region src/chat/task-execution/authorized-turn.ts
@@ -1,29 +1,29 @@
1
- import { $t as recordFinishedTurnForAutomatedLimit, B as isListedScheduledAutomation, Cn as createUserTokenStore, D as renderBlockText, E as renderAttachmentText, F as resolveSlackChannelIdFromThreadId, G as readScheduledAutomation, I as listThreadReplies, K as saveScheduledAutomation, M as parseSlackThreadId, N as readSlackRawMessageContext, On as AuthorizationFlowDisabledError, P as resolveSlackChannelIdFromMessage, Pt as getConversationWorkState, Q as effectiveTaskOutcomes, Qt as maybePostAutomatedTurnLimitNotice, Tn as RetryableDeliveryError, V as listPublicScheduledAutomationsForTeams, W as parseScheduledAutomationRow, Z as eventAutomationTriggerAvailable, _n as truncateStatusText, _t as getEventCatalog, a as isExperimentalFeatureEnabled, at as listEventAutomationsCreatedBy, bn as removeReactionFromMessage, bt as appendAndEnqueueExclusiveInboundMessage, c as createContextCompactor, et as deleteEventAutomation, gn as normalizeSlackStatusText, gt as isEventMailboxMetadata, hn as normalizeSlackReplyMarkdown, ht as EVENT_WAIT_MS, it as listDeletedEventAutomationsCreatedBy, j as storeAttachment, kn as shouldEmitDevAgentTrace, mn as formatSlackLink, ot as listPublicEventAutomationsForTeams, pn as escapeSlackMrkdwnText, rt as getEventAutomation, s as executeAgentRun, t as createAgentRunner, tt as eventAutomationBelongsToUser, v as PluginCredentialFailureError, vn as addReactionToMessage, wn as buildSteeringPiMessage, xt as appendAndEnqueueInboundMessage, y as latestProgressStatus, yn as postSlackMessage } from "./agent-runner-DtrpkWV5.js";
2
- import { f as escapeXml, i as completeText, r as completeObject, v as isProviderRetryError } from "./client-BN5U3CGw.js";
3
- import { C as withLogContext, I as isRecord, L as toOptionalNumber, R as toOptionalString, _ as setSentryUser, b as setTags, d as logException, f as logInfo, n as createChatSdkLogger, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, u as logError, v as setSpanAttributes, w as withSpan } from "./logging-Muw6EXro.js";
4
- import { a as getChatConfig, c as getSlackClientId, d as getSlackSigningSecret, h as normalizeSlackEmojiName, l as getSlackClientSecret, n as botConfig, s as getSlackBotToken } from "./config-C4xZrx7G.js";
1
+ import { $t as recordFinishedTurnForAutomatedLimit, B as isListedScheduledAutomation, Cn as createUserTokenStore, D as renderBlockText, E as renderAttachmentText, F as resolveSlackChannelIdFromThreadId, G as readScheduledAutomation, I as listThreadReplies, K as saveScheduledAutomation, M as parseSlackThreadId, N as readSlackRawMessageContext, On as AuthorizationFlowDisabledError, P as resolveSlackChannelIdFromMessage, Pt as getConversationWorkState, Q as effectiveTaskOutcomes, Qt as maybePostAutomatedTurnLimitNotice, Tn as RetryableDeliveryError, V as listPublicScheduledAutomationsForTeams, W as parseScheduledAutomationRow, Z as eventAutomationTriggerAvailable, _n as truncateStatusText, _t as getEventCatalog, a as isExperimentalFeatureEnabled, at as listEventAutomationsCreatedBy, bn as removeReactionFromMessage, bt as appendAndEnqueueExclusiveInboundMessage, c as createContextCompactor, et as deleteEventAutomation, gn as normalizeSlackStatusText, gt as isEventMailboxMetadata, hn as normalizeSlackReplyMarkdown, ht as EVENT_WAIT_MS, it as listDeletedEventAutomationsCreatedBy, j as storeAttachment, kn as shouldEmitDevAgentTrace, mn as formatSlackLink, ot as listPublicEventAutomationsForTeams, pn as escapeSlackMrkdwnText, rt as getEventAutomation, s as executeAgentRun, t as createAgentRunner, tt as eventAutomationBelongsToUser, v as PluginCredentialFailureError, vn as addReactionToMessage, wn as buildSteeringPiMessage, xt as appendAndEnqueueInboundMessage, y as latestProgressStatus, yn as postSlackMessage } from "./agent-runner-mpzfRAEr.js";
2
+ import { f as escapeXml, i as completeText, r as completeObject, v as isProviderRetryError } from "./client-Mj9HEEKf.js";
3
+ import { C as withLogContext, I as isRecord, L as toOptionalNumber, R as toOptionalString, _ as setSentryUser, b as setTags, d as logException, f as logInfo, n as createChatSdkLogger, o as getActiveTraceId, p as logWarn, t as buildTurnFailureResponse, u as logError, v as setSpanAttributes, w as withSpan } from "./logging-9VpmxvdL.js";
4
+ import { a as getChatConfig, c as getSlackClientId, d as getSlackSigningSecret, h as normalizeSlackEmojiName, l as getSlackClientSecret, n as botConfig, s as getSlackBotToken } from "./config-CkmcoWGB.js";
5
5
  import { o as modelIdForProfile, r as defaultModelId } from "./model-profile-BwU8mqwD.js";
6
6
  import { a as createActor, b as parseSlackMessageTs, c as isActorUserId, l as isUserActor, o as createSlackActor, p as parseSlackChannelId, s as createSlackResumeActor, t as credentialContextForActor, u as parseActorUserId } from "./context-0Et9iVSB.js";
7
- import { $t as getConversationStore, B as downloadPrivateSlackFile, Bt as recordSlackAttachment, G as isDmChannel, H as getHeaderString, It as buildSentryConversationUrl, K as normalizeSlackConversationId, Lt as getSlackFileId, U as getSlackClient, Zt as getConversationEventStore, _n as createSlackDestination, _t as getDashboardObjectIconLink, en as getDb, gt as getDashboardConversationLink, ht as JUNIOR_THREAD_STATE_TTL_MS, o as getPluginSlackConversationLink, ot as cancelSubscriptions, q as runWithSlackInstallationToken, tn as getSqlExecutor, yn as requireSlackDestination, z as SlackActionError, zt as readAttachmentVisionSummary } from "./agent-hooks-BfjhfMIy.js";
7
+ import { $t as getConversationStore, B as downloadPrivateSlackFile, Bt as recordSlackAttachment, G as isDmChannel, H as getHeaderString, It as buildSentryConversationUrl, K as normalizeSlackConversationId, Lt as getSlackFileId, U as getSlackClient, Zt as getConversationEventStore, _n as createSlackDestination, _t as getDashboardObjectIconLink, en as getDb, gt as getDashboardConversationLink, ht as JUNIOR_THREAD_STATE_TTL_MS, o as getPluginSlackConversationLink, ot as cancelSubscriptions, q as runWithSlackInstallationToken, tn as getSqlExecutor, yn as requireSlackDestination, z as SlackActionError, zt as readAttachmentVisionSummary } from "./agent-hooks-BxL23rrY.js";
8
8
  import { n as juniorDestinations } from "./destinations-BeBiJeEM.js";
9
- import { D as juniorIdentities, O as juniorUsers, o as juniorSchedulerTasks } from "./executor-DUqeOd8y.js";
10
- import { I as readMessageAttachments, R as isVisionImageMediaType, tt as instructionProvenanceFor } from "./conversation-DOI6Y60M.js";
11
- import { $ as fallbackShortTitle, A as commitAcceptedReply, B as recordAuthorizationCompleted, J as hydrateConversationMessages, N as loadConversationProjection, O as trimTrailingAssistantMessages, P as loadProjection, Q as resolveConversationTitle, W as recordSubscribedReplyRoute, Y as persistConversationMessages, Z as persistConversationMessageSummaries, a as completeTurnRecord, at as estimateConversationContextTokens, c as listTurnSummaries, ct as markConversationMessage, dt as turnHasReply, ft as upsertConversationMessage, i as abandonTurnRecord, it as createConversationMemoryService, j as commitMessages, l as recordTurnSummary, lt as normalizeConversationText, n as loadTurnCheckpoint, nt as appendThreadContextMessages, o as failTurnRecord, ot as getConversationMessageSlackTs, p as buildTurnErrorResponse, pt as estimateTextTokens, r as saveTurnCheckpoint, rt as buildConversationContext, s as getTurnRecord, st as isHumanConversationMessage, u as persistWithRetry, ut as recordDeliveredAssistantMessage } from "./checkpoint-DEYb3Fqm.js";
12
- import { E as acquireActiveLock, O as withLock, T as MUTATION_LOCK_TTL_MS, w as getStateAdapter } from "./profile-25NkcK4S.js";
13
- import { a as isPendingAuthLatestRequest, o as buildDeterministicAssistantMessageId, r as clearPendingAuth, s as buildDeterministicTurnId } from "./pending-auth-pYQpJmtu.js";
14
- import { _ as markTurnFailed, c as CooperativeTurnYieldError, d as getConversationTurnBoundaryError, f as isCooperativeTurnYieldError, g as markTurnCompleted, h as markTurnClosed, l as TurnInputCommitLostError, m as isTurnInputDeferredError, p as isTurnInputCommitLostError, r as getAssistantReplyText, s as ConversationTurnBoundaryError, u as TurnInputDeferredError, v as startActiveTurn } from "./oauth-authorization-CrD-xb8a.js";
15
- import { a as EVENT_SYSTEM_ACTOR, i as EVENT_MESSAGE_AUTHOR, o as isEventConversationMessage } from "./prompt-9C-wUwwx.js";
16
- import { a as getVercelConversationWorkQueue, f as getTurnRequestDeadline } from "./job-queue-C1AJ5uJt.js";
9
+ import { D as juniorIdentities, O as juniorUsers, o as juniorSchedulerTasks } from "./executor-_eMyydh0.js";
10
+ import { N as isVisionImageMediaType, j as readMessageAttachments, nt as instructionProvenanceFor } from "./conversation-DsuDtoYR.js";
11
+ import { $ as fallbackShortTitle, A as commitAcceptedReply, B as recordAuthorizationCompleted, J as hydrateConversationMessages, N as loadConversationProjection, O as trimTrailingAssistantMessages, P as loadProjection, Q as resolveConversationTitle, W as recordSubscribedReplyRoute, Y as persistConversationMessages, Z as persistConversationMessageSummaries, a as completeTurnRecord, at as estimateConversationContextTokens, c as listTurnSummaries, ct as markConversationMessage, dt as turnHasReply, ft as upsertConversationMessage, i as abandonTurnRecord, it as createConversationMemoryService, j as commitMessages, l as recordTurnSummary, lt as normalizeConversationText, n as loadTurnCheckpoint, nt as appendThreadContextMessages, o as failTurnRecord, ot as getConversationMessageSlackTs, p as buildTurnErrorResponse, pt as estimateTextTokens, r as saveTurnCheckpoint, rt as buildConversationContext, s as getTurnRecord, st as isHumanConversationMessage, u as persistWithRetry, ut as recordDeliveredAssistantMessage } from "./checkpoint-Q4FG2BQc.js";
12
+ import { E as acquireActiveLock, O as withLock, T as MUTATION_LOCK_TTL_MS, w as getStateAdapter } from "./profile-CK1KKKfj.js";
13
+ import { a as isPendingAuthLatestRequest, o as buildDeterministicAssistantMessageId, r as clearPendingAuth, s as buildDeterministicTurnId } from "./pending-auth-mB93uu9V.js";
14
+ import { _ as markTurnFailed, c as CooperativeTurnYieldError, d as getConversationTurnBoundaryError, f as isCooperativeTurnYieldError, g as markTurnCompleted, h as markTurnClosed, l as TurnInputCommitLostError, m as isTurnInputDeferredError, p as isTurnInputCommitLostError, r as getAssistantReplyText, s as ConversationTurnBoundaryError, u as TurnInputDeferredError, v as startActiveTurn } from "./oauth-authorization-DYZeyL50.js";
15
+ import { a as EVENT_SYSTEM_ACTOR, i as EVENT_MESSAGE_AUTHOR, o as isEventConversationMessage } from "./prompt-D5RPLy92.js";
16
+ import { a as getVercelConversationWorkQueue, f as getTurnRequestDeadline } from "./job-queue-Dl1lTGqq.js";
17
17
  import { c as sumUtcHoursIntoSixHours, m as healthReportSchema, t as webMessageId } from "./web-message-id-xPI_EFSC.js";
18
- import { C as readAutomationExecutionStatusDays, D as readAutomationRuns, E as readAutomationExecutions, S as readAutomationExecutionHours, T as readAutomationExecutionSummaries, _ as markDispatchFailed, a as confirmDispatchMailboxAppend, b as readAutomationExecutionByConversationId, c as getDispatchInputMessageId, f as isTerminalDispatchStatus, g as markDispatchCompleted, h as markDispatchBlocked, i as claimDispatchMailboxAppend, l as getDispatchRecord, m as markDispatchAwaitingResume, n as scheduleSessionCompletedPluginTasks, s as getDispatchConversationId, t as processPluginTask, u as getDispatchTurnId, v as markDispatchRunning, w as readAutomationExecutionStatusHours, x as readAutomationExecutionDays, y as emptyAutomationRunWindows } from "./task-runner-DH8M0m7l.js";
19
- import { i as resolveAgentInvocationId, o as AgentRunError, s as executeTurn, t as createAgentInvocationWorker } from "./work-B0cAo7nv.js";
20
- import { n as getTurnLifecycle, t as ConversationTurnLifecycleService } from "./turn-lifecycle-DHcpS20C.js";
21
- import { a as persistThreadState, c as configValueSchema, i as persistThreadRuntimeState, n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState, s as coerceThreadConversationState, t as getLocationConfigurationService } from "./thread-state-CS67FjfN.js";
22
- import { a as getPausedTurnRequest, c as getTurnAuthorization, i as createPausedTurns, n as deleteWebAuthorization, s as wakePausedTurn, t as createWebAuthorization } from "./web-authorization-DrXlSd3Y.js";
23
- import { n as resolveTurnSessionRouting } from "./turn-session-routing-DlaCHHlu.js";
24
- import { t as bindSpawnAgent } from "./spawn-z0fRvZH9.js";
25
- import { a as persistAuthPauseTurnState, c as getTurnUserSlackMessageTs, d as loadPendingMessageCards, i as completeAuthPauseTurn, l as buildDeliveredTurnStatePatch, n as getAgentTurnDiagnosticsAttributes, o as getTurnUserMessage, r as requireTurnFailureEventId, s as getTurnUserReplyAttachmentContext, t as finalizeFailedTurnReplyWithEvent, u as getInterruptionMarker } from "./turn-failure-response-DcaALKfm.js";
26
- import { r as storeInputImages } from "./images-B5JLFwJR.js";
18
+ import { C as readAutomationExecutionStatusDays, D as readAutomationRuns, E as readAutomationExecutions, S as readAutomationExecutionHours, T as readAutomationExecutionSummaries, _ as markDispatchFailed, a as confirmDispatchMailboxAppend, b as readAutomationExecutionByConversationId, c as getDispatchInputMessageId, f as isTerminalDispatchStatus, g as markDispatchCompleted, h as markDispatchBlocked, i as claimDispatchMailboxAppend, l as getDispatchRecord, m as markDispatchAwaitingResume, n as scheduleSessionCompletedPluginTasks, s as getDispatchConversationId, t as processPluginTask, u as getDispatchTurnId, v as markDispatchRunning, w as readAutomationExecutionStatusHours, x as readAutomationExecutionDays, y as emptyAutomationRunWindows } from "./task-runner-DkaEXCEP.js";
19
+ import { i as resolveAgentInvocationId, o as AgentRunError, s as executeTurn, t as createAgentInvocationWorker } from "./work-BW27hKZB.js";
20
+ import { n as getTurnLifecycle, t as ConversationTurnLifecycleService } from "./turn-lifecycle-Cosdai_3.js";
21
+ import { a as persistThreadState, c as configValueSchema, i as persistThreadRuntimeState, n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState, s as coerceThreadConversationState, t as getLocationConfigurationService } from "./thread-state-HHHiwpYG.js";
22
+ import { a as getPausedTurnRequest, c as getTurnAuthorization, i as createPausedTurns, n as deleteWebAuthorization, s as wakePausedTurn, t as createWebAuthorization } from "./web-authorization-C1coqBWn.js";
23
+ import { n as resolveTurnSessionRouting } from "./turn-session-routing-DDo6JGTB.js";
24
+ import { t as bindSpawnAgent } from "./spawn-pwMuB53X.js";
25
+ import { a as persistAuthPauseTurnState, c as getTurnUserSlackMessageTs, d as loadPendingMessageCards, i as completeAuthPauseTurn, l as buildDeliveredTurnStatePatch, n as getAgentTurnDiagnosticsAttributes, o as getTurnUserMessage, r as requireTurnFailureEventId, s as getTurnUserReplyAttachmentContext, t as finalizeFailedTurnReplyWithEvent, u as getInterruptionMarker } from "./turn-failure-response-CtWGQ0fz.js";
26
+ import { r as storeInputImages } from "./images-D9gA15-3.js";
27
27
  import { z } from "zod";
28
28
  import { createHash } from "node:crypto";
29
29
  import { and, desc, eq, inArray, lt, notInArray, or, sql } from "drizzle-orm";
@@ -388,6 +388,11 @@ function renderSlackAutomationCard(card) {
388
388
  }
389
389
  //#endregion
390
390
  //#region src/chat/slack/object-card.ts
391
+ function descriptionPreview(value) {
392
+ const text = value?.replace(/\r\n/g, "\n").trim() ?? "";
393
+ const preview = text.split("\n").slice(0, 6).join("\n").slice(0, 500);
394
+ return preview.length < text.length ? `${preview.slice(0, 499).trimEnd()}…` : preview;
395
+ }
391
396
  /** Render verified annotation facts as a native Task or Item preview. */
392
397
  function renderSlackObjectCard(card, conversationId) {
393
398
  if (card.objectType === "automation" && card.plugin === "junior") return renderSlackAutomationCard({
@@ -403,11 +408,13 @@ function renderSlackObjectCard(card, conversationId) {
403
408
  const iconUrl = getDashboardObjectIconLink(presentation.icon);
404
409
  const title = card.title.slice(0, 160);
405
410
  const facts = objectFactFields(card.facts);
411
+ const description = descriptionPreview(card.description);
406
412
  const text = [
407
413
  escapeSlackMrkdwnText(type),
408
414
  card.url ? formatSlackLink(card.url, title) : escapeSlackMrkdwnText(title),
409
415
  escapeSlackMrkdwnText(card.label),
410
416
  card.status ? escapeSlackMrkdwnText(card.status) : null,
417
+ description ? escapeSlackMrkdwnText(description) : null,
411
418
  card.warning ? escapeSlackMrkdwnText(`Needs attention: ${card.warning}`) : null,
412
419
  ...facts.map((field) => escapeSlackMrkdwnText(`${field.label}: ${field.value}`))
413
420
  ].filter(Boolean).join("\n");
@@ -426,15 +433,26 @@ function renderSlackObjectCard(card, conversationId) {
426
433
  } : void 0,
427
434
  product_name: card.plugin
428
435
  };
429
- const customFields = [...facts.map((field) => ({
430
- ...field,
431
- type: "string"
432
- })), ...card.warning ? [{
433
- key: "warning",
434
- label: "Needs attention",
435
- type: "string",
436
- value: card.warning
437
- }] : []];
436
+ const customFields = [
437
+ ...description ? [{
438
+ key: "description",
439
+ label: "Description",
440
+ type: "string",
441
+ value: description,
442
+ long: true,
443
+ format: "markdown"
444
+ }] : [],
445
+ ...facts.map((field) => ({
446
+ ...field,
447
+ type: "string"
448
+ })),
449
+ ...card.warning ? [{
450
+ key: "warning",
451
+ label: "Needs attention",
452
+ type: "string",
453
+ value: card.warning
454
+ }] : []
455
+ ];
438
456
  return {
439
457
  text,
440
458
  entity: {
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { On as AuthorizationFlowDisabledError, ct as agentInvocationSchema, dt as AgentInvocationLimitError, lt as createAgentInvocationSchema, n as runAgentWithTimeout, st as agentBindingSchema, ut as AgentInvocationBusyError, v as PluginCredentialFailureError, xt as appendAndEnqueueInboundMessage } from "./agent-runner-DtrpkWV5.js";
3
- import { $t as getConversationStore, Zt as getConversationEventStore, tn as getSqlExecutor } from "./agent-hooks-BfjhfMIy.js";
4
- import { f as juniorAgentBindings, p as juniorAgentInvocations } from "./executor-DUqeOd8y.js";
5
- import { I as openConversationProjection, _ as getTerminalAssistantMessages, o as failTurnRecord, r as saveTurnCheckpoint, s as getTurnRecord } from "./checkpoint-DEYb3Fqm.js";
6
- import { d as getConversationTurnBoundaryError, l as TurnInputCommitLostError, p as isTurnInputCommitLostError, r as getAssistantReplyText } from "./oauth-authorization-CrD-xb8a.js";
7
- import { t as ConversationTurnLifecycleService } from "./turn-lifecycle-DHcpS20C.js";
8
- import { n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState } from "./thread-state-CS67FjfN.js";
2
+ import { On as AuthorizationFlowDisabledError, ct as agentInvocationSchema, dt as AgentInvocationLimitError, lt as createAgentInvocationSchema, n as runAgentWithTimeout, st as agentBindingSchema, ut as AgentInvocationBusyError, v as PluginCredentialFailureError, xt as appendAndEnqueueInboundMessage } from "./agent-runner-mpzfRAEr.js";
3
+ import { $t as getConversationStore, Zt as getConversationEventStore, tn as getSqlExecutor } from "./agent-hooks-BxL23rrY.js";
4
+ import { f as juniorAgentBindings, p as juniorAgentInvocations } from "./executor-_eMyydh0.js";
5
+ import { I as openConversationProjection, _ as getTerminalAssistantMessages, o as failTurnRecord, r as saveTurnCheckpoint, s as getTurnRecord } from "./checkpoint-Q4FG2BQc.js";
6
+ import { d as getConversationTurnBoundaryError, l as TurnInputCommitLostError, p as isTurnInputCommitLostError, r as getAssistantReplyText } from "./oauth-authorization-DYZeyL50.js";
7
+ import { t as ConversationTurnLifecycleService } from "./turn-lifecycle-Cosdai_3.js";
8
+ import { n as getPersistedSandboxState, o as persistThreadStateById, r as getPersistedThreadState } from "./thread-state-HHHiwpYG.js";
9
9
  import { z } from "zod";
10
10
  import { createHash } from "node:crypto";
11
11
  import { and, asc, count, eq, inArray } from "drizzle-orm";
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-B4FMCO8f.js";
2
- import { At as deadLetterAttempt, Dt as completeConversationStop, Lt as recordAttemptFailure, Mt as ensureConversationWake, Ot as completeConversationWork, Pt as getConversationWorkState, Rt as recordConversationRetry, St as beginConversationResume, Tt as clearConsumedConversationWake, Ut as startConversationWork, Vt as requestAnotherSlice, Xt as isInvalidConversationRecordError, Yt as isFinalAttempt, jt as drainConversationMailbox, kt as countPendingConversationMessages, qt as hasConversationStop, wt as checkInConversationWork, yt as ackMessages, zt as releaseConversationWork } from "./agent-runner-DtrpkWV5.js";
3
- import { v as isProviderRetryError } from "./client-BN5U3CGw.js";
4
- import { C as withLogContext, d as logException, f as logInfo, p as logWarn } from "./logging-Muw6EXro.js";
5
- import { a as getChatConfig } from "./config-C4xZrx7G.js";
6
- import { f as getTurnRequestDeadline, m as ConversationQueueMessageRejectedError } from "./job-queue-C1AJ5uJt.js";
2
+ import { At as deadLetterAttempt, Dt as completeConversationStop, Lt as recordAttemptFailure, Mt as ensureConversationWake, Ot as completeConversationWork, Pt as getConversationWorkState, Rt as recordConversationRetry, St as beginConversationResume, Tt as clearConsumedConversationWake, Ut as startConversationWork, Vt as requestAnotherSlice, Xt as isInvalidConversationRecordError, Yt as isFinalAttempt, jt as drainConversationMailbox, kt as countPendingConversationMessages, qt as hasConversationStop, wt as checkInConversationWork, yt as ackMessages, zt as releaseConversationWork } from "./agent-runner-mpzfRAEr.js";
3
+ import { v as isProviderRetryError } from "./client-Mj9HEEKf.js";
4
+ import { C as withLogContext, d as logException, f as logInfo, p as logWarn } from "./logging-9VpmxvdL.js";
5
+ import { a as getChatConfig } from "./config-CkmcoWGB.js";
6
+ import { f as getTurnRequestDeadline, m as ConversationQueueMessageRejectedError } from "./job-queue-Dl1lTGqq.js";
7
7
  //#region src/chat/task-execution/worker.ts
8
8
  var worker_exports = /* @__PURE__ */ __exportAll({
9
9
  CONVERSATION_WORK_DEFER_DELAY_MS: () => CONVERSATION_WORK_DEFER_DELAY_MS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/junior",
3
- "version": "0.229.0",
3
+ "version": "0.231.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -77,6 +77,7 @@
77
77
  "ai": "^6.0.190",
78
78
  "chat": "4.29.0",
79
79
  "commander": "^14.0.3",
80
+ "diff": "^8.0.4",
80
81
  "drizzle-orm": "^0.45.2",
81
82
  "hono": "^4.12.27",
82
83
  "jiti": "^2.7.0",
@@ -86,7 +87,7 @@
86
87
  "pg": "^8.16.3",
87
88
  "yaml": "^2.9.0",
88
89
  "zod": "^4.5.4",
89
- "@sentry/junior-plugin-api": "0.229.0"
90
+ "@sentry/junior-plugin-api": "0.231.0"
90
91
  },
91
92
  "devDependencies": {
92
93
  "@emnapi/core": "^1.10.0",
@@ -105,8 +106,8 @@
105
106
  "typescript": "^6.0.3",
106
107
  "vercel": "^54.4.0",
107
108
  "vitest": "^4.1.7",
108
- "@sentry/junior-github": "0.229.0",
109
- "@sentry/junior-memory": "0.229.0",
109
+ "@sentry/junior-github": "0.231.0",
110
+ "@sentry/junior-memory": "0.231.0",
110
111
  "@sentry/junior-testing": "0.0.0"
111
112
  },
112
113
  "scripts": {
@@ -1,128 +0,0 @@
1
- import { z } from "zod";
2
- import "@sentry/junior-plugin-api";
3
- //#region src/chat/attachments/input.d.ts
4
- /** Bound JSON image input below the hosting platform's request size limit. */
5
- declare const MAX_INPUT_IMAGE_BYTES: number;
6
- declare const MAX_INPUT_IMAGES = 3;
7
- /** Image bytes accepted with a web message, never stored in its mailbox row. */
8
- declare const inputImageSchema: z.ZodObject<{
9
- filename: z.ZodString;
10
- contentType: z.ZodEnum<{
11
- "image/png": "image/png";
12
- "image/jpeg": "image/jpeg";
13
- "image/gif": "image/gif";
14
- "image/webp": "image/webp";
15
- }>;
16
- data: z.ZodString;
17
- }, z.core.$strict>;
18
- type InputImage = z.output<typeof inputImageSchema>;
19
- /** Safe attachment facts shared by mailbox input and transcript messages. */
20
- declare const messageAttachmentSchema: z.ZodObject<{
21
- id: z.ZodString;
22
- filename: z.ZodString;
23
- contentType: z.ZodString;
24
- bytes: z.ZodNumber;
25
- }, z.core.$strict>;
26
- type MessageAttachment = z.output<typeof messageAttachmentSchema>;
27
- //#endregion
28
- //#region src/chat/conversations/cards.d.ts
29
- /** Built-in response types accepted by Message storage and delivery. */
30
- declare const messageCardSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
31
- kind: z.ZodLiteral<"automation">;
32
- id: z.ZodString;
33
- title: z.ZodString;
34
- url: z.ZodNullable<z.ZodString>;
35
- instruction: z.ZodString;
36
- trigger: z.ZodString;
37
- warning: z.ZodNullable<z.ZodString>;
38
- }, z.core.$strict>, z.ZodObject<{
39
- kind: z.ZodLiteral<"object">;
40
- key: z.ZodString;
41
- label: z.ZodString;
42
- objectType: z.ZodEnum<{
43
- code_change: "code_change";
44
- task: "task";
45
- deployment: "deployment";
46
- automation: "automation";
47
- item: "item";
48
- }>;
49
- title: z.ZodString;
50
- url: z.ZodNullable<z.ZodURL>;
51
- description: z.ZodOptional<z.ZodString>;
52
- status: z.ZodOptional<z.ZodString>;
53
- trigger: z.ZodOptional<z.ZodString>;
54
- warning: z.ZodOptional<z.ZodString>;
55
- displayType: z.ZodOptional<z.ZodString>;
56
- sourceUpdatedAt: z.ZodOptional<z.ZodISODateTime>;
57
- facts: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
58
- type: z.ZodLiteral<"code_change">;
59
- author: z.ZodOptional<z.ZodString>;
60
- sourceBranch: z.ZodOptional<z.ZodString>;
61
- targetBranch: z.ZodOptional<z.ZodString>;
62
- reviewers: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
- review: z.ZodOptional<z.ZodEnum<{
64
- required: "required";
65
- approved: "approved";
66
- changes_requested: "changes_requested";
67
- }>>;
68
- checks: z.ZodOptional<z.ZodObject<{
69
- passed: z.ZodNumber;
70
- failed: z.ZodNumber;
71
- pending: z.ZodNumber;
72
- }, z.core.$strict>>;
73
- mergeable: z.ZodOptional<z.ZodBoolean>;
74
- changedFiles: z.ZodOptional<z.ZodNumber>;
75
- additions: z.ZodOptional<z.ZodNumber>;
76
- deletions: z.ZodOptional<z.ZodNumber>;
77
- }, z.core.$strict>, z.ZodObject<{
78
- type: z.ZodLiteral<"task">;
79
- assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
- priority: z.ZodOptional<z.ZodString>;
81
- project: z.ZodOptional<z.ZodString>;
82
- cycle: z.ZodOptional<z.ZodString>;
83
- dueDate: z.ZodOptional<z.ZodISODate>;
84
- labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
85
- }, z.core.$strict>, z.ZodObject<{
86
- type: z.ZodLiteral<"deployment">;
87
- project: z.ZodOptional<z.ZodString>;
88
- environment: z.ZodOptional<z.ZodString>;
89
- revision: z.ZodOptional<z.ZodString>;
90
- branch: z.ZodOptional<z.ZodString>;
91
- }, z.core.$strict>], "type">>;
92
- plugin: z.ZodString;
93
- }, z.core.$strict>], "kind">;
94
- type MessageCard = z.output<typeof messageCardSchema>;
95
- /** Render each built-in card with its own text format. */
96
- declare function messageCardText(card: MessageCard): string;
97
- //#endregion
98
- //#region src/chat/conversations/history.d.ts
99
- /** Where a failed turn stopped. */
100
- declare const conversationTurnFailureCodeSchema: z.ZodEnum<{
101
- agent_run_failed: "agent_run_failed";
102
- delivery_failed: "delivery_failed";
103
- model_execution_failed: "model_execution_failed";
104
- persistence_failed: "persistence_failed";
105
- }>;
106
- /**
107
- * Why a failed turn stopped.
108
- * Values are fixed labels only. Do not store raw exception text.
109
- */
110
- declare const conversationTurnFailureReasonSchema: z.ZodEnum<{
111
- unknown: "unknown";
112
- capacity: "capacity";
113
- auth: "auth";
114
- permission: "permission";
115
- rate_limit: "rate_limit";
116
- timeout: "timeout";
117
- network: "network";
118
- server: "server";
119
- invalid_request: "invalid_request";
120
- invalid_response: "invalid_response";
121
- quota: "quota";
122
- content_policy: "content_policy";
123
- empty_output: "empty_output";
124
- tool_errors: "tool_errors";
125
- suppressed_output: "suppressed_output";
126
- }>;
127
- //#endregion
128
- export { InputImage as a, MessageAttachment as c, messageCardText as i, conversationTurnFailureReasonSchema as n, MAX_INPUT_IMAGES as o, MessageCard as r, MAX_INPUT_IMAGE_BYTES as s, conversationTurnFailureCodeSchema as t };