@sentry/junior 0.130.0 → 0.132.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-LJHLLMFC.js → agent-hooks-ONXOJDR6.js} +8 -8
  2. package/dist/api/conversations/list.d.ts +13 -2
  3. package/dist/api/schema/task.d.ts +0 -3
  4. package/dist/api/schema.js +1 -1
  5. package/dist/api.js +23 -22
  6. package/dist/app.js +30 -21
  7. package/dist/{catalog-runtime-45AHWLJL.js → catalog-runtime-BATAY4R7.js} +5 -5
  8. package/dist/chat/conversations/location.d.ts +10 -0
  9. package/dist/chat/conversations/sql/location.d.ts +9 -0
  10. package/dist/chat/conversations/store.d.ts +2 -0
  11. package/dist/chat/sandbox/runtime-dependencies.d.ts +2 -1
  12. package/dist/chat/scheduled-tasks/tool-support.d.ts +2 -5
  13. package/dist/chat/scheduled-tasks/tools/create.d.ts +2 -2
  14. package/dist/chat/scheduled-tasks/tools/delete.d.ts +2 -2
  15. package/dist/chat/scheduled-tasks/tools/list.d.ts +2 -2
  16. package/dist/chat/scheduled-tasks/tools/run-now.d.ts +2 -2
  17. package/dist/chat/scheduled-tasks/tools/update.d.ts +3 -3
  18. package/dist/chat/scheduled-tasks/types.d.ts +1 -1
  19. package/dist/{chunk-Z72XGIFF.js → chunk-2425Q4OR.js} +1 -1
  20. package/dist/{chunk-EKZSU2RK.js → chunk-ALDPUN3Z.js} +4 -4
  21. package/dist/{chunk-HJHTRJKR.js → chunk-AW5Z3T7V.js} +31 -6
  22. package/dist/{chunk-ATCTPG7J.js → chunk-B7IY6SVJ.js} +1 -1
  23. package/dist/{chunk-LYEXN7FN.js → chunk-BKE47OOW.js} +2 -2
  24. package/dist/{chunk-UDYVHDLH.js → chunk-G3WYA2RS.js} +1 -1
  25. package/dist/{chunk-J6B27DOC.js → chunk-GOEZU33G.js} +1 -1
  26. package/dist/{chunk-5XDJRSU5.js → chunk-GPXVDJML.js} +4 -4
  27. package/dist/{chunk-2V7BQAJ6.js → chunk-GTKNPQNN.js} +12 -12
  28. package/dist/{chunk-DMS2RTEK.js → chunk-ISNRPCPG.js} +1 -1
  29. package/dist/{chunk-PVHL3274.js → chunk-JYQAE2ZU.js} +1 -1
  30. package/dist/{chunk-5I4SWLD7.js → chunk-NNHUGGO4.js} +2 -2
  31. package/dist/{chunk-4X2MZ4FP.js → chunk-O2UXPUVQ.js} +6 -6
  32. package/dist/{chunk-7OO3LMEP.js → chunk-ODIP5CEM.js} +1 -1
  33. package/dist/{chunk-BVKP37NE.js → chunk-QVEXYYFM.js} +1 -1
  34. package/dist/{chunk-H6GDE77O.js → chunk-SKWIIUS7.js} +9 -7
  35. package/dist/{chunk-XRROAXID.js → chunk-U76PS7AT.js} +2 -2
  36. package/dist/{chunk-RTJCNKQD.js → chunk-V44FFBO3.js} +1 -1
  37. package/dist/{chunk-A64VQ4N4.js → chunk-WEJIS7OC.js} +1 -1
  38. package/dist/{chunk-4AF3XOZI.js → chunk-WYQP7QSB.js} +206 -176
  39. package/dist/{chunk-GXO3EXBM.js → chunk-XN656LB4.js} +53 -18
  40. package/dist/{chunk-224V72RX.js → chunk-ZMV2YBT6.js} +21 -21
  41. package/dist/cli/chat.js +23 -23
  42. package/dist/cli/check.js +6 -6
  43. package/dist/cli/plugins.js +11 -11
  44. package/dist/cli/snapshot-create.js +9 -9
  45. package/dist/cli/upgrade.js +6 -6
  46. package/dist/{db-XE6DXA5Z.js → db-QFFZACXF.js} +6 -6
  47. package/dist/instrumentation.js +4 -4
  48. package/dist/nitro.js +2 -2
  49. package/dist/{oauth-callback-server-O42UXC7E.js → oauth-callback-server-5WXLD533.js} +16 -16
  50. package/dist/{runner-BSP3374N.js → runner-Y3LTUNAA.js} +10 -10
  51. package/dist/{skills-BNLHOZ75.js → skills-7M5C24GM.js} +6 -6
  52. package/dist/{validation-O7BF3JX6.js → validation-MRILMYDI.js} +6 -6
  53. package/dist/version.js +1 -1
  54. package/migrations/0017_drop_paused_scheduled_tasks.sql +19 -0
  55. package/migrations/meta/0017_snapshot.json +1666 -0
  56. package/migrations/meta/_journal.json +7 -0
  57. package/package.json +4 -4
@@ -11,19 +11,19 @@ import {
11
11
  getPlugins,
12
12
  setPlugins,
13
13
  validatePlugins
14
- } from "./chunk-EKZSU2RK.js";
15
- import "./chunk-4AF3XOZI.js";
14
+ } from "./chunk-ALDPUN3Z.js";
15
+ import "./chunk-WYQP7QSB.js";
16
16
  import "./chunk-KB2M27DL.js";
17
- import "./chunk-7OO3LMEP.js";
18
- import "./chunk-5I4SWLD7.js";
17
+ import "./chunk-ODIP5CEM.js";
18
+ import "./chunk-NNHUGGO4.js";
19
19
  import "./chunk-VFUK3X5B.js";
20
- import "./chunk-DMS2RTEK.js";
20
+ import "./chunk-ISNRPCPG.js";
21
21
  import "./chunk-HZF5P5UN.js";
22
22
  import "./chunk-F3B2YJ76.js";
23
- import "./chunk-J6B27DOC.js";
23
+ import "./chunk-GOEZU33G.js";
24
24
  import "./chunk-6GWA276C.js";
25
- import "./chunk-A64VQ4N4.js";
26
- import "./chunk-Z72XGIFF.js";
25
+ import "./chunk-WEJIS7OC.js";
26
+ import "./chunk-2425Q4OR.js";
27
27
  import "./chunk-MLKGABMK.js";
28
28
  export {
29
29
  PluginHookDeniedError,
@@ -78,8 +78,19 @@ declare function conversationRows(db: JuniorDatabase, limit: number, actorEmail?
78
78
  metricRunId: string | null;
79
79
  archivedAt: Date | null;
80
80
  };
81
- destinationId: string | null;
82
- destinationVisibility: import("../../db/schema/destinations").JuniorDestinationVisibility | null;
81
+ destination: {
82
+ id: string;
83
+ provider: string;
84
+ providerTenantId: string;
85
+ providerDestinationId: string;
86
+ kind: "channel" | "dm" | "group" | "local_conversation" | "thread" | "web_session";
87
+ parentDestinationId: string | null;
88
+ displayName: string | null;
89
+ visibility: import("../../db/schema/destinations").JuniorDestinationVisibility;
90
+ metadata: unknown;
91
+ createdAt: Date;
92
+ updatedAt: Date;
93
+ } | null;
83
94
  identityDisplayName: string | null;
84
95
  identityEmail: string | null;
85
96
  identityHandle: string | null;
@@ -21,7 +21,6 @@ export declare const scheduledTaskSummarySchema: z.ZodObject<{
21
21
  status: z.ZodEnum<{
22
22
  blocked: "blocked";
23
23
  active: "active";
24
- paused: "paused";
25
24
  }>;
26
25
  }, z.core.$strict>;
27
26
  export declare const eventTaskSummarySchema: z.ZodObject<{
@@ -68,7 +67,6 @@ export declare const taskSummarySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
68
67
  status: z.ZodEnum<{
69
68
  blocked: "blocked";
70
69
  active: "active";
71
- paused: "paused";
72
70
  }>;
73
71
  }, z.core.$strict>, z.ZodObject<{
74
72
  createdAt: z.ZodString;
@@ -115,7 +113,6 @@ export declare const taskListSchema: z.ZodObject<{
115
113
  status: z.ZodEnum<{
116
114
  blocked: "blocked";
117
115
  active: "active";
118
- paused: "paused";
119
116
  }>;
120
117
  }, z.core.$strict>, z.ZodObject<{
121
118
  createdAt: z.ZodString;
@@ -37,7 +37,7 @@ import {
37
37
  taskListSchema,
38
38
  taskParamsSchema,
39
39
  taskSummarySchema
40
- } from "../chunk-BVKP37NE.js";
40
+ } from "../chunk-QVEXYYFM.js";
41
41
  import {
42
42
  healthReportSchema,
43
43
  pluginOperationalReportFeedSchema,
package/dist/api.js CHANGED
@@ -27,12 +27,12 @@ import {
27
27
  statsReportSchema,
28
28
  taskListSchema,
29
29
  taskParamsSchema
30
- } from "./chunk-BVKP37NE.js";
30
+ } from "./chunk-QVEXYYFM.js";
31
31
  import {
32
32
  formatSlackConversationRedactedLabel,
33
33
  readHealthReport,
34
34
  resolveSlackConversationContextFromThreadId
35
- } from "./chunk-XRROAXID.js";
35
+ } from "./chunk-U76PS7AT.js";
36
36
  import {
37
37
  buildSentryConversationUrl
38
38
  } from "./chunk-4CODA7P5.js";
@@ -54,10 +54,10 @@ import {
54
54
  listPublicEventTasksForTeams,
55
55
  listPublicScheduledTasksForTeams,
56
56
  readStats
57
- } from "./chunk-GXO3EXBM.js";
57
+ } from "./chunk-XN656LB4.js";
58
58
  import {
59
59
  parseSlackThreadId
60
- } from "./chunk-UDYVHDLH.js";
60
+ } from "./chunk-G3WYA2RS.js";
61
61
  import {
62
62
  agentTurnUsageSchema,
63
63
  hasAgentTurnUsage,
@@ -70,13 +70,14 @@ import {
70
70
  listConversationAnnotations,
71
71
  renderPluginConversationEvent,
72
72
  resolveViewerUser
73
- } from "./chunk-EKZSU2RK.js";
73
+ } from "./chunk-ALDPUN3Z.js";
74
74
  import {
75
75
  decodeStoredConversationEvent,
76
76
  getDb,
77
77
  getSqlExecutor,
78
+ locationFromRow,
78
79
  parseSessionSource
79
- } from "./chunk-4AF3XOZI.js";
80
+ } from "./chunk-WYQP7QSB.js";
80
81
  import {
81
82
  juniorApiTokens,
82
83
  juniorConversationEvents,
@@ -84,23 +85,23 @@ import {
84
85
  juniorIdentities,
85
86
  juniorUsers
86
87
  } from "./chunk-KB2M27DL.js";
87
- import "./chunk-7OO3LMEP.js";
88
- import "./chunk-5I4SWLD7.js";
88
+ import "./chunk-ODIP5CEM.js";
89
+ import "./chunk-NNHUGGO4.js";
89
90
  import {
90
91
  juniorDestinations
91
92
  } from "./chunk-VFUK3X5B.js";
92
93
  import {
93
94
  canExposeConversationPayload
94
- } from "./chunk-DMS2RTEK.js";
95
+ } from "./chunk-ISNRPCPG.js";
95
96
  import "./chunk-HZF5P5UN.js";
96
97
  import {
97
98
  parseSlackChannelId,
98
99
  parseSlackTeamId
99
100
  } from "./chunk-F3B2YJ76.js";
100
- import "./chunk-J6B27DOC.js";
101
+ import "./chunk-GOEZU33G.js";
101
102
  import "./chunk-6GWA276C.js";
102
- import "./chunk-A64VQ4N4.js";
103
- import "./chunk-Z72XGIFF.js";
103
+ import "./chunk-WEJIS7OC.js";
104
+ import "./chunk-2425Q4OR.js";
104
105
  import "./chunk-MLKGABMK.js";
105
106
 
106
107
  // src/api.ts
@@ -1316,8 +1317,7 @@ var CONVERSATION_FEED_LIMIT = 50;
1316
1317
  async function conversationRows(db, limit, actorEmail) {
1317
1318
  return db.select({
1318
1319
  conversation: juniorConversations,
1319
- destinationId: juniorDestinations.id,
1320
- destinationVisibility: juniorDestinations.visibility,
1320
+ destination: juniorDestinations,
1321
1321
  identityDisplayName: juniorIdentities.displayName,
1322
1322
  identityEmail: juniorIdentities.email,
1323
1323
  identityHandle: juniorIdentities.handle,
@@ -1360,6 +1360,7 @@ function conversationFromRow(row) {
1360
1360
  ...row.identityHandle ? { slackUserName: row.identityHandle } : {},
1361
1361
  ...row.identityTenantId ? { teamId: row.identityTenantId } : {}
1362
1362
  } : void 0;
1363
+ const location = locationFromRow(row.destination);
1363
1364
  return {
1364
1365
  schemaVersion: 1,
1365
1366
  conversationId: value.conversationId,
@@ -1372,6 +1373,7 @@ function conversationFromRow(row) {
1372
1373
  ...value.executionUpdatedAt ? { updatedAtMs: value.executionUpdatedAt.getTime() } : {}
1373
1374
  },
1374
1375
  ...actor ? { actor } : {},
1376
+ ...location ? { location } : {},
1375
1377
  ...value.archivedAt ? { archivedAtMs: value.archivedAt.getTime() } : {},
1376
1378
  ...value.channelName ? { channelName: value.channelName } : {},
1377
1379
  ...value.source ? { source: value.source } : {},
@@ -1384,8 +1386,7 @@ async function readConversationRecordFromSql(conversationId) {
1384
1386
  const db = getDb();
1385
1387
  const rows = await db.select({
1386
1388
  conversation: juniorConversations,
1387
- destinationId: juniorDestinations.id,
1388
- destinationVisibility: juniorDestinations.visibility,
1389
+ destination: juniorDestinations,
1389
1390
  identityDisplayName: juniorIdentities.displayName,
1390
1391
  identityEmail: juniorIdentities.email,
1391
1392
  identityHandle: juniorIdentities.handle,
@@ -1404,7 +1405,7 @@ async function readConversationRecordFromSql(conversationId) {
1404
1405
  return row ? {
1405
1406
  conversation: conversationFromRow(row),
1406
1407
  durationMs: row.conversation.durationMs,
1407
- ...row.destinationVisibility === "public" && row.destinationId ? { locationId: row.destinationId } : {},
1408
+ ...row.destination?.visibility === "public" ? { locationId: row.destination.id } : {},
1408
1409
  usage: row.conversation.usage,
1409
1410
  rootConversationId: row.conversation.rootConversationId
1410
1411
  } : void 0;
@@ -1439,7 +1440,7 @@ async function readConversationFeedFromSql(options = {}) {
1439
1440
  row.conversation.conversationId
1440
1441
  ),
1441
1442
  durationMs: metrics?.durationMs ?? row.conversation.durationMs,
1442
- ...row.destinationVisibility === "public" && row.destinationId ? { locationId: row.destinationId } : {},
1443
+ ...row.destination?.visibility === "public" ? { locationId: row.destination.id } : {},
1443
1444
  usage: metrics?.usage ?? row.conversation.usage ?? void 0
1444
1445
  });
1445
1446
  }),
@@ -2026,7 +2027,7 @@ function readDescriptionText(home) {
2026
2027
  }
2027
2028
  }
2028
2029
  async function readSkillReports() {
2029
- const { discoverSkills } = await import("./skills-BNLHOZ75.js");
2030
+ const { discoverSkills } = await import("./skills-7M5C24GM.js");
2030
2031
  const skills = await discoverSkills();
2031
2032
  return skillReportsSchema.parse(
2032
2033
  skills.map((skill) => ({
@@ -2036,7 +2037,7 @@ async function readSkillReports() {
2036
2037
  );
2037
2038
  }
2038
2039
  async function readPlugins() {
2039
- const { pluginCatalogRuntime } = await import("./catalog-runtime-45AHWLJL.js");
2040
+ const { pluginCatalogRuntime } = await import("./catalog-runtime-BATAY4R7.js");
2040
2041
  return pluginsSchema.parse(
2041
2042
  pluginCatalogRuntime.getProviders().map((plugin) => ({
2042
2043
  configKeys: plugin.manifest.configKeys ?? [],
@@ -2049,7 +2050,7 @@ async function readPlugins() {
2049
2050
  async function readRuntimeInfoReport() {
2050
2051
  const [{ homeDir }, { pluginCatalogRuntime }, plugins, skills] = await Promise.all([
2051
2052
  import("./discovery-GUFTFBTL.js"),
2052
- import("./catalog-runtime-45AHWLJL.js"),
2053
+ import("./catalog-runtime-BATAY4R7.js"),
2053
2054
  readPlugins(),
2054
2055
  readSkillReports()
2055
2056
  ]);
@@ -2065,7 +2066,7 @@ async function readRuntimeInfoReport() {
2065
2066
  }
2066
2067
  async function readPluginOperationalReportFeed() {
2067
2068
  const nowMs = Date.now();
2068
- const { getPluginOperationalReports } = await import("./agent-hooks-LJHLLMFC.js");
2069
+ const { getPluginOperationalReports } = await import("./agent-hooks-ONXOJDR6.js");
2069
2070
  return pluginOperationalReportFeedSchema.parse({
2070
2071
  source: "plugins",
2071
2072
  generatedAt: new Date(nowMs).toISOString(),
package/dist/app.js CHANGED
@@ -50,7 +50,7 @@ import {
50
50
  startConversationWork,
51
51
  startSlackProcessingReaction,
52
52
  stripLeadingBotMention
53
- } from "./chunk-2V7BQAJ6.js";
53
+ } from "./chunk-GTKNPQNN.js";
54
54
  import "./chunk-FA6POGLH.js";
55
55
  import {
56
56
  ConversationTurnLifecycleService,
@@ -65,13 +65,13 @@ import {
65
65
  processPluginTask,
66
66
  requireTurnFailureEventId,
67
67
  scheduleSessionCompletedPluginTasks
68
- } from "./chunk-4X2MZ4FP.js";
68
+ } from "./chunk-O2UXPUVQ.js";
69
69
  import {
70
70
  GET,
71
71
  conversationVisibilityFromSlackChannelType,
72
72
  resolveSlackChannelTypeFromMessage,
73
73
  resolveSlackConversationContext
74
- } from "./chunk-XRROAXID.js";
74
+ } from "./chunk-U76PS7AT.js";
75
75
  import "./chunk-4CODA7P5.js";
76
76
  import "./chunk-UTL3MHPC.js";
77
77
  import {
@@ -90,7 +90,7 @@ import {
90
90
  import {
91
91
  validatePluginEgressCredentialHooks,
92
92
  validatePluginRegistrations
93
- } from "./chunk-PVHL3274.js";
93
+ } from "./chunk-JYQAE2ZU.js";
94
94
  import {
95
95
  defineJuniorPlugins,
96
96
  pluginCatalogConfigFromEnv,
@@ -125,7 +125,7 @@ import {
125
125
  setConfigDefaults,
126
126
  shouldEmitDevAgentTrace,
127
127
  shouldPropagateSandboxEgressTrace
128
- } from "./chunk-224V72RX.js";
128
+ } from "./chunk-ZMV2YBT6.js";
129
129
  import "./chunk-DIB4GX3G.js";
130
130
  import {
131
131
  RetryableDeliveryError,
@@ -136,7 +136,7 @@ import {
136
136
  formatProviderLabel,
137
137
  postSlackMessage,
138
138
  startOAuthFlow
139
- } from "./chunk-H6GDE77O.js";
139
+ } from "./chunk-SKWIIUS7.js";
140
140
  import {
141
141
  ConversationTurnBoundaryError,
142
142
  CooperativeTurnYieldError,
@@ -192,19 +192,19 @@ import {
192
192
  trimTrailingAssistantMessages,
193
193
  updateConversationStats,
194
194
  upsertConversationMessage
195
- } from "./chunk-5XDJRSU5.js";
195
+ } from "./chunk-GPXVDJML.js";
196
196
  import "./chunk-EPBBYMNE.js";
197
197
  import {
198
198
  getSandboxResourceConfig,
199
199
  setSandboxResourceConfig
200
- } from "./chunk-HJHTRJKR.js";
200
+ } from "./chunk-AW5Z3T7V.js";
201
201
  import {
202
202
  createSchedulerSqlStore,
203
203
  findMatchingEventTasks
204
- } from "./chunk-GXO3EXBM.js";
204
+ } from "./chunk-XN656LB4.js";
205
205
  import {
206
206
  parseSlackThreadId
207
- } from "./chunk-UDYVHDLH.js";
207
+ } from "./chunk-G3WYA2RS.js";
208
208
  import "./chunk-HX236W2U.js";
209
209
  import "./chunk-PDO5BLNM.js";
210
210
  import "./chunk-UIE3R5XU.js";
@@ -232,7 +232,7 @@ import {
232
232
  verifyEventTaskCredentialSubject,
233
233
  verifyScheduledTaskCredentialSubject,
234
234
  verifySlackDirectCredentialSubject
235
- } from "./chunk-EKZSU2RK.js";
235
+ } from "./chunk-ALDPUN3Z.js";
236
236
  import {
237
237
  contextProvenance,
238
238
  createSlackDestination,
@@ -243,7 +243,7 @@ import {
243
243
  instructionProvenanceFor,
244
244
  requireSlackDestination,
245
245
  withConversationEventLock
246
- } from "./chunk-4AF3XOZI.js";
246
+ } from "./chunk-WYQP7QSB.js";
247
247
  import {
248
248
  juniorConversationEvents,
249
249
  juniorConversations
@@ -252,7 +252,7 @@ import {
252
252
  acquireActiveLock,
253
253
  getStateAdapter,
254
254
  sleep
255
- } from "./chunk-7OO3LMEP.js";
255
+ } from "./chunk-ODIP5CEM.js";
256
256
  import {
257
257
  STANDARD_MODEL_PROFILE,
258
258
  botConfig,
@@ -270,16 +270,16 @@ import {
270
270
  modelIdForProfile,
271
271
  setSlackReactionConfig,
272
272
  standardModelId
273
- } from "./chunk-5I4SWLD7.js";
273
+ } from "./chunk-NNHUGGO4.js";
274
274
  import {
275
275
  juniorDestinations
276
276
  } from "./chunk-VFUK3X5B.js";
277
- import "./chunk-DMS2RTEK.js";
278
- import "./chunk-LYEXN7FN.js";
277
+ import "./chunk-ISNRPCPG.js";
278
+ import "./chunk-BKE47OOW.js";
279
279
  import {
280
280
  pluginCatalogRuntime
281
- } from "./chunk-ATCTPG7J.js";
282
- import "./chunk-RTJCNKQD.js";
281
+ } from "./chunk-B7IY6SVJ.js";
282
+ import "./chunk-V44FFBO3.js";
283
283
  import {
284
284
  credentialSubjectSchema
285
285
  } from "./chunk-77VDLF3Z.js";
@@ -311,7 +311,7 @@ import {
311
311
  withContext,
312
312
  withLogContext,
313
313
  withSpan
314
- } from "./chunk-J6B27DOC.js";
314
+ } from "./chunk-GOEZU33G.js";
315
315
  import {
316
316
  continueTrace
317
317
  } from "./chunk-6GWA276C.js";
@@ -319,10 +319,10 @@ import "./chunk-OOUNJNMR.js";
319
319
  import "./chunk-H4HBKISO.js";
320
320
  import {
321
321
  JUNIOR_PLUGIN_TASK_CALLBACK_ROUTE
322
- } from "./chunk-A64VQ4N4.js";
322
+ } from "./chunk-WEJIS7OC.js";
323
323
  import {
324
324
  JUNIOR_VERSION
325
- } from "./chunk-Z72XGIFF.js";
325
+ } from "./chunk-2425Q4OR.js";
326
326
  import "./chunk-MLKGABMK.js";
327
327
 
328
328
  // src/app.ts
@@ -9248,6 +9248,14 @@ function eventTaskDispatchKey(taskId, namespace, eventKey) {
9248
9248
  function oneLine(value) {
9249
9249
  return value.replace(/[\r\n]+/g, " ").replace(/\s+/g, " ").trim().slice(0, 512);
9250
9250
  }
9251
+ function replyAttribution2(task, event) {
9252
+ const resourceLabel = oneLine(task.trigger.label);
9253
+ const eventType = oneLine(event.eventType);
9254
+ const detail = oneLine(
9255
+ resourceLabel && eventType ? `${resourceLabel} \xB7 ${eventType}` : resourceLabel || eventType
9256
+ ).slice(0, 128).trim();
9257
+ return detail ? { label: "Event task", detail } : { label: "Event task" };
9258
+ }
9251
9259
  function eventInput(task, event) {
9252
9260
  const lines = [
9253
9261
  "An event task matched a resource event.",
@@ -9300,6 +9308,7 @@ async function ingestEventTasks(input, options) {
9300
9308
  destination: task.destination,
9301
9309
  destinationVisibility: task.destinationVisibility,
9302
9310
  input: eventInput(task, event),
9311
+ replyAttribution: replyAttribution2(task, event),
9303
9312
  source: createSlackSource3({
9304
9313
  teamId: task.destination.teamId,
9305
9314
  channelId: task.destination.channelId,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  pluginCatalogRuntime
3
- } from "./chunk-ATCTPG7J.js";
4
- import "./chunk-RTJCNKQD.js";
3
+ } from "./chunk-B7IY6SVJ.js";
4
+ import "./chunk-V44FFBO3.js";
5
5
  import "./chunk-77VDLF3Z.js";
6
6
  import "./chunk-HZF5P5UN.js";
7
7
  import "./chunk-F3B2YJ76.js";
8
- import "./chunk-J6B27DOC.js";
8
+ import "./chunk-GOEZU33G.js";
9
9
  import "./chunk-6GWA276C.js";
10
10
  import "./chunk-OOUNJNMR.js";
11
11
  import "./chunk-H4HBKISO.js";
12
- import "./chunk-A64VQ4N4.js";
13
- import "./chunk-Z72XGIFF.js";
12
+ import "./chunk-WEJIS7OC.js";
13
+ import "./chunk-2425Q4OR.js";
14
14
  import "./chunk-MLKGABMK.js";
15
15
  export {
16
16
  pluginCatalogRuntime
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ /** Provider-neutral container associated with a conversation. */
3
+ export declare const locationSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ provider: z.ZodString;
6
+ tenantId: z.ZodOptional<z.ZodString>;
7
+ providerId: z.ZodString;
8
+ }, z.core.$strict>;
9
+ /** Validated provider location associated with a conversation. */
10
+ export type Location = z.output<typeof locationSchema>;
@@ -0,0 +1,9 @@
1
+ import type { ConversationPrivacy } from "@/chat/conversation-privacy";
2
+ import { type Location } from "@/chat/conversations/location";
3
+ import type { juniorDestinations } from "@/db/schema";
4
+ type LocationRow = typeof juniorDestinations.$inferSelect;
5
+ /** Project one supported provider location from its linked SQL row. */
6
+ export declare function locationFromRow(row: LocationRow | null): Location | undefined;
7
+ /** Resolve conversation privacy from one linked provider-location row. */
8
+ export declare function privacyFromLocationRow(row: LocationRow | null): ConversationPrivacy | undefined;
9
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { Destination, Source } from "@sentry/junior-plugin-api";
2
2
  import type { ConversationPrivacy } from "@/chat/conversation-privacy";
3
3
  import type { StoredSlackActor } from "@/chat/actor";
4
+ import type { Location } from "@/chat/conversations/location";
4
5
  import type { SessionSource } from "@/chat/source";
5
6
  import type { AgentTurnUsage } from "@/chat/usage";
6
7
  export type ConversationSource = "api" | "internal" | "local" | "plugin" | "resource_event" | "scheduler" | "slack";
@@ -25,6 +26,7 @@ export interface Conversation {
25
26
  execution: ConversationExecution;
26
27
  lastActivityAtMs: number;
27
28
  lineage?: ConversationLineage;
29
+ location?: Location;
28
30
  actor?: StoredSlackActor;
29
31
  schemaVersion: 1;
30
32
  source?: ConversationSource;
@@ -1,2 +1,3 @@
1
- import type { PluginRuntimeDependency } from "@/chat/plugins/types";
1
+ import type { PluginRuntimeDependency, PluginRuntimePostinstallCommand } from "@/chat/plugins/types";
2
2
  export declare const GLOBAL_RUNTIME_DEPENDENCIES: PluginRuntimeDependency[];
3
+ export declare const GLOBAL_RUNTIME_POSTINSTALL: PluginRuntimePostinstallCommand[];
@@ -21,7 +21,6 @@ declare const compactTaskResultSchema: z.ZodObject<{
21
21
  status: z.ZodEnum<{
22
22
  blocked: "blocked";
23
23
  active: "active";
24
- paused: "paused";
25
24
  deleted: "deleted";
26
25
  }>;
27
26
  task: z.ZodString;
@@ -59,7 +58,6 @@ export declare const scheduleTaskToolResultSchema: z.ZodObject<{
59
58
  status: z.ZodEnum<{
60
59
  blocked: "blocked";
61
60
  active: "active";
62
- paused: "paused";
63
61
  deleted: "deleted";
64
62
  }>;
65
63
  task: z.ZodString;
@@ -97,7 +95,6 @@ export declare const scheduleListToolResultSchema: z.ZodObject<{
97
95
  status: z.ZodEnum<{
98
96
  blocked: "blocked";
99
97
  active: "active";
100
- paused: "paused";
101
98
  deleted: "deleted";
102
99
  }>;
103
100
  task: z.ZodString;
@@ -148,7 +145,7 @@ export declare function scheduleTaskToolResult(target: string, task: CompactTask
148
145
  readonly target: string;
149
146
  readonly task: {
150
147
  id: string;
151
- status: "blocked" | "active" | "paused" | "deleted";
148
+ status: "blocked" | "active" | "deleted";
152
149
  task: string;
153
150
  schedule: string;
154
151
  timezone: string;
@@ -172,7 +169,7 @@ export declare function scheduleListToolResult(args: {
172
169
  readonly target: string;
173
170
  readonly tasks: {
174
171
  id: string;
175
- status: "blocked" | "active" | "paused" | "deleted";
172
+ status: "blocked" | "active" | "deleted";
176
173
  task: string;
177
174
  schedule: string;
178
175
  timezone: string;
@@ -34,7 +34,7 @@ export declare function createSlackScheduleCreateTaskTool(context: SchedulerTool
34
34
  target: string;
35
35
  task: {
36
36
  id: string;
37
- status: "blocked" | "active" | "paused" | "deleted";
37
+ status: "blocked" | "active" | "deleted";
38
38
  task: string;
39
39
  schedule: string;
40
40
  timezone: string;
@@ -57,7 +57,7 @@ export declare function createSlackScheduleCreateTaskTool(context: SchedulerTool
57
57
  target: string;
58
58
  task: {
59
59
  id: string;
60
- status: "blocked" | "active" | "paused" | "deleted";
60
+ status: "blocked" | "active" | "deleted";
61
61
  task: string;
62
62
  schedule: string;
63
63
  timezone: string;
@@ -10,7 +10,7 @@ export declare function createSlackScheduleDeleteTaskTool(context: SchedulerTool
10
10
  target: string;
11
11
  task: {
12
12
  id: string;
13
- status: "blocked" | "active" | "paused" | "deleted";
13
+ status: "blocked" | "active" | "deleted";
14
14
  task: string;
15
15
  schedule: string;
16
16
  timezone: string;
@@ -33,7 +33,7 @@ export declare function createSlackScheduleDeleteTaskTool(context: SchedulerTool
33
33
  target: string;
34
34
  task: {
35
35
  id: string;
36
- status: "blocked" | "active" | "paused" | "deleted";
36
+ status: "blocked" | "active" | "deleted";
37
37
  task: string;
38
38
  schedule: string;
39
39
  timezone: string;
@@ -8,7 +8,7 @@ export declare function createSlackScheduleListTasksTool(context: SchedulerToolC
8
8
  target: string;
9
9
  tasks: {
10
10
  id: string;
11
- status: "blocked" | "active" | "paused" | "deleted";
11
+ status: "blocked" | "active" | "deleted";
12
12
  task: string;
13
13
  schedule: string;
14
14
  timezone: string;
@@ -31,7 +31,7 @@ export declare function createSlackScheduleListTasksTool(context: SchedulerToolC
31
31
  target: string;
32
32
  tasks: {
33
33
  id: string;
34
- status: "blocked" | "active" | "paused" | "deleted";
34
+ status: "blocked" | "active" | "deleted";
35
35
  task: string;
36
36
  schedule: string;
37
37
  timezone: string;
@@ -10,7 +10,7 @@ export declare function createSlackScheduleRunTaskNowTool(context: SchedulerTool
10
10
  target: string;
11
11
  task: {
12
12
  id: string;
13
- status: "blocked" | "active" | "paused" | "deleted";
13
+ status: "blocked" | "active" | "deleted";
14
14
  task: string;
15
15
  schedule: string;
16
16
  timezone: string;
@@ -33,7 +33,7 @@ export declare function createSlackScheduleRunTaskNowTool(context: SchedulerTool
33
33
  target: string;
34
34
  task: {
35
35
  id: string;
36
- status: "blocked" | "active" | "paused" | "deleted";
36
+ status: "blocked" | "active" | "deleted";
37
37
  task: string;
38
38
  schedule: string;
39
39
  timezone: string;
@@ -29,14 +29,14 @@ export declare function createSlackScheduleUpdateTaskTool(context: SchedulerTool
29
29
  };
30
30
  timezone?: string | null | undefined;
31
31
  } | null | undefined;
32
- status?: "blocked" | "active" | "paused" | undefined;
32
+ status?: "blocked" | "active" | undefined;
33
33
  credential_mode?: "system" | "creator" | null | undefined;
34
34
  };
35
35
  execute?: ((input: unknown, options: import("../../tools/definition").ToolExecuteOptions) => {
36
36
  target: string;
37
37
  task: {
38
38
  id: string;
39
- status: "blocked" | "active" | "paused" | "deleted";
39
+ status: "blocked" | "active" | "deleted";
40
40
  task: string;
41
41
  schedule: string;
42
42
  timezone: string;
@@ -59,7 +59,7 @@ export declare function createSlackScheduleUpdateTaskTool(context: SchedulerTool
59
59
  target: string;
60
60
  task: {
61
61
  id: string;
62
- status: "blocked" | "active" | "paused" | "deleted";
62
+ status: "blocked" | "active" | "deleted";
63
63
  task: string;
64
64
  schedule: string;
65
65
  timezone: string;
@@ -1,7 +1,7 @@
1
1
  /** Durable scheduled-task domain types owned by Junior core. */
2
2
  import type { SlackDestination, SystemActor } from "@sentry/junior-plugin-api";
3
3
  import { z } from "zod";
4
- export type ScheduledTaskStatus = "active" | "paused" | "blocked" | "deleted";
4
+ export type ScheduledTaskStatus = "active" | "blocked" | "deleted";
5
5
  export declare const scheduledTaskCredentialModeSchema: z.ZodEnum<{
6
6
  system: "system";
7
7
  creator: "creator";
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "@sentry/junior",
4
- version: "0.130.0",
4
+ version: "0.132.0",
5
5
  private: false,
6
6
  publishConfig: {
7
7
  access: "public"