@sentry/junior 0.267.0 → 0.268.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 (80) hide show
  1. package/dist/{actor-DZSokpwj.js → actor-CP9K2Idu.js} +2 -1
  2. package/dist/{adapter-BybMEezj.js → adapter-04AcD2SO.js} +4 -6
  3. package/dist/{admin-DOs1_EiW.js → admin-DIU1QyG3.js} +1 -1
  4. package/dist/{agent-invocations-CxKldAeB.js → agent-invocations-C1RNOCs8.js} +2 -0
  5. package/dist/{agent-runner-DgNATN4D.js → agent-runner-CAYfFmU7.js} +4409 -3020
  6. package/dist/api/schema.d.ts +2 -5629
  7. package/dist/api/schema.js +4 -4
  8. package/dist/api.d.ts +1 -1
  9. package/dist/api.js +154 -32
  10. package/dist/{app-DAB3fzyp.d.ts → app-z6Uuyq3j.d.ts} +3 -2
  11. package/dist/app.d.ts +1 -1
  12. package/dist/app.js +332 -98
  13. package/dist/{briefs-CWKjka7v.js → briefs-DQbV2jNr.js} +2 -2
  14. package/dist/{catalog-runtime-cMlAI5LY.js → catalog-runtime-BD9GSpc6.js} +1 -1
  15. package/dist/cli/chat.js +15 -15
  16. package/dist/cli/check.js +3 -3
  17. package/dist/cli/main.js +3 -3
  18. package/dist/cli/plugins.js +4 -4
  19. package/dist/cli/snapshot-create.js +4 -4
  20. package/dist/cli/upgrade.d.ts +1 -1
  21. package/dist/cli/upgrade.js +3 -3
  22. package/dist/{client-BjgbMawj.js → client-C1yDYjoS.js} +2 -2
  23. package/dist/{config-CdB6yJj5.js → config-DrTeF80T.js} +2 -2
  24. package/dist/{connections-RE_65jzK.js → connections-D46f8vvi.js} +10 -11
  25. package/dist/{conversation-privacy-BzgJC5k0.js → conversation-privacy-CxlOCiUo.js} +1 -1
  26. package/dist/{credential-sync-DhEGEpgq.js → credential-sync-sm9fegLY.js} +29 -34
  27. package/dist/{credentialed-CIGwoLU2.js → credentialed-lukuD-cc.js} +39 -13
  28. package/dist/db-BU4LQD8s.d.ts +6 -0
  29. package/dist/{executor-VYrx_K4w.js → executor-4vhvsMZJ.js} +78 -4
  30. package/dist/instrumentation.js +2 -2
  31. package/dist/{assistant-reply-CT7VcXQe.js → interruption-marker-CkncDT8d.js} +8 -2
  32. package/dist/{job-queue-C0BZSa7r.js → job-queue-In9QKz-I.js} +2 -2
  33. package/dist/{list-1XQP-o6K.js → list-BkgnXEEB.js} +298 -807
  34. package/dist/{logging-DuZ1A4ab.js → logging-DLSpkSSr.js} +1 -1
  35. package/dist/{message-NKSbbnA6.js → message-BObyg59s.js} +4 -4
  36. package/dist/nitro.d.ts +1 -1
  37. package/dist/nitro.js +3 -3
  38. package/dist/{oauth-callback-server-qAHLPtml.js → oauth-callback-server-B-WbSdoH.js} +2 -2
  39. package/dist/{registry-FQutO926.js → registry-BgecKva0.js} +2 -2
  40. package/dist/{web-message-id-CJSUiksE.js → reporting-window-DVCD_10C.js} +1 -10
  41. package/dist/{resolve-Bk4yeuHy.js → resolve-Cpa4Bu1O.js} +3 -3
  42. package/dist/{result-B9e9ATOU.js → result-D3TSmZZ8.js} +8 -8
  43. package/dist/{runner-C3S2ObH-.js → runner-DS5OKhEp.js} +10 -10
  44. package/dist/{sandbox-egress-signals-DqpGzzMB.js → sandbox-egress-signals-CnDjY5rx.js} +1 -1
  45. package/dist/{schema-X7Fj4fv1.js → schema-0050HFnB.js} +80 -4
  46. package/dist/schema-ZngqcOWM.d.ts +5813 -0
  47. package/dist/{service-account-Do30HUNv.js → service-account-CKV2WTY7.js} +3 -3
  48. package/dist/{service-account-BQasl-qq.js → service-account-DGjnDw9y.js} +3 -3
  49. package/dist/{session-stop-DkOjt46_.js → session-stop-Dam1EI7B.js} +494 -18
  50. package/dist/{skills-CQHrwfOa.js → skills-CfAnfImD.js} +2 -2
  51. package/dist/{spawn-BHuqN14f.js → spawn-cmq9p4Ly.js} +2 -2
  52. package/dist/{store-6EetVP-m.js → store-C5PN02QO.js} +4 -4
  53. package/dist/{store-B8CABbmR.d.ts → store-xMuuXRE0.d.ts} +13 -7
  54. package/dist/{store-DvNZIsCr.js → store-zPEoJPBB.js} +3 -3
  55. package/dist/{task-queue-B0DLgd2P.js → task-queue-_mf28dSu.js} +3 -3
  56. package/dist/{task-runner-B-PD_JOj.js → task-runner-DMI2prDO.js} +11 -12
  57. package/dist/{tasks-0ilmuCux.js → tasks-SB9z-VTU.js} +124 -21
  58. package/dist/{thread-state-DRmdJ2QN.js → thread-state-BbbPh0Sn.js} +8 -18
  59. package/dist/{turn-failure-response-G11cs2gE.js → turn-failure-response-BKKmnMB5.js} +10 -15
  60. package/dist/{turn-lifecycle-OzLIwvi1.js → turn-lifecycle-oP0kVeGz.js} +1 -1
  61. package/dist/{validation-CxEmt1id.js → validation--JsAGLwc.js} +1 -1
  62. package/dist/{version-Bapedn4A.js → version-jHwJp4hC.js} +1 -1
  63. package/dist/version.js +1 -1
  64. package/dist/{viewer-DrN3oC2X.js → viewer-CpXTGlep.js} +323 -235
  65. package/dist/{user-input-request-BDFBdF8r.js → web-message-id-DlHNANtd.js} +17 -1
  66. package/dist/{work-DUQoNcqP.js → work-3N-GHY9m.js} +10 -10
  67. package/dist/{worker-D1l4Ugk0.js → worker-CCdbcItd.js} +6 -6
  68. package/migrations/0065_user_customization.sql +1 -0
  69. package/migrations/0066_review_items.sql +53 -0
  70. package/migrations/0067_review_item_dedupe_tenant.sql +2 -0
  71. package/migrations/0068_review_item_slack_cards.sql +10 -0
  72. package/migrations/meta/0065_snapshot.json +3511 -0
  73. package/migrations/meta/0066_snapshot.json +4099 -0
  74. package/migrations/meta/0067_snapshot.json +3921 -0
  75. package/migrations/meta/0068_snapshot.json +4176 -0
  76. package/migrations/meta/_journal.json +29 -1
  77. package/package.json +5 -5
  78. package/dist/db-Bg-zC3r5.d.ts +0 -5
  79. package/dist/images-CecjXAAz.js +0 -64
  80. package/dist/turn-session-routing-Dyut9l7Y.js +0 -76
@@ -456,6 +456,34 @@
456
456
  "when": 1793326683095,
457
457
  "tag": "0064_any_resource_event_triggers",
458
458
  "breakpoints": true
459
+ },
460
+ {
461
+ "idx": 65,
462
+ "version": "7",
463
+ "when": 1793403789105,
464
+ "tag": "0065_user_customization",
465
+ "breakpoints": true
466
+ },
467
+ {
468
+ "idx": 66,
469
+ "version": "7",
470
+ "when": 1793412416681,
471
+ "tag": "0066_review_items",
472
+ "breakpoints": true
473
+ },
474
+ {
475
+ "idx": 67,
476
+ "version": "7",
477
+ "when": 1793414511193,
478
+ "tag": "0067_review_item_dedupe_tenant",
479
+ "breakpoints": true
480
+ },
481
+ {
482
+ "idx": 68,
483
+ "version": "7",
484
+ "when": 1793414566801,
485
+ "tag": "0068_review_item_slack_cards",
486
+ "breakpoints": true
459
487
  }
460
488
  ]
461
- }
489
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/junior",
3
- "version": "0.267.0",
3
+ "version": "0.268.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -90,7 +90,7 @@
90
90
  "sharp": "^0.35.3",
91
91
  "yaml": "^2.9.0",
92
92
  "zod": "^4.5.4",
93
- "@sentry/junior-plugin-api": "0.267.0"
93
+ "@sentry/junior-plugin-api": "0.268.0"
94
94
  },
95
95
  "peerDependencies": {
96
96
  "bullmq": "^6.5.0",
@@ -125,9 +125,9 @@
125
125
  "typescript": "^7.0.2",
126
126
  "vercel": "^54.4.0",
127
127
  "vitest": "^4.1.12",
128
- "@sentry/junior-memory": "0.267.0",
129
- "@sentry/junior-github": "0.267.0",
130
- "@sentry/junior-testing": "0.0.0"
128
+ "@sentry/junior-github": "0.268.0",
129
+ "@sentry/junior-testing": "0.0.0",
130
+ "@sentry/junior-memory": "0.268.0"
131
131
  },
132
132
  "scripts": {
133
133
  "build": "tsdown",
@@ -1,5 +0,0 @@
1
- import "./store-B8CABbmR.js";
2
- import { z } from "zod";
3
- import "drizzle-orm/pg-core";
4
- import "drizzle-orm/migrator";
5
- import "drizzle-orm/pg-core/session";
@@ -1,64 +0,0 @@
1
- import { t as __exportAll } from "./rolldown-runtime-nwUcYXjP.js";
2
- import { m as getSqlExecutor } from "./viewer-DrN3oC2X.js";
3
- import { S as readLiveAttachment, w as storeAttachment } from "./agent-runner-DgNATN4D.js";
4
- import { K as detectImageMediaType } from "./conversation-DSo310Ps.js";
5
- // src/chat/attachments/images.ts
6
- var images_exports = /* @__PURE__ */ __exportAll({
7
- decodeInputImages: () => decodeInputImages,
8
- loadInputImages: () => loadInputImages,
9
- storeInputImages: () => storeInputImages
10
- });
11
- /** Check declared image types against file signatures before storing uploads. */
12
- function decodeInputImages(images) {
13
- const files = images.map((image) => {
14
- const data = Buffer.from(image.data, "base64");
15
- if (detectImageMediaType(data) !== image.contentType || data.toString("base64") !== image.data) throw new Error("Use PNG, JPEG, GIF, or WebP image files.");
16
- return {
17
- data,
18
- bytes: data.byteLength,
19
- filename: image.filename,
20
- mimeType: image.contentType,
21
- path: image.filename
22
- };
23
- });
24
- if (files.reduce((sum, file) => sum + file.bytes, 0) > 3145728) throw new Error("Images must total 3 MB or less.");
25
- return files;
26
- }
27
- /** Store image bytes before accepting a message into the mailbox. */
28
- async function storeInputImages(args) {
29
- return await Promise.all(args.files.map(async (file) => {
30
- return {
31
- id: (await storeAttachment({
32
- conversationId: args.conversationId,
33
- db: getSqlExecutor(),
34
- file,
35
- storage: args.storage
36
- })).id,
37
- filename: file.filename,
38
- contentType: file.mimeType,
39
- bytes: file.bytes
40
- };
41
- }));
42
- }
43
- /** Load stored images for model input. */
44
- async function loadInputImages(args) {
45
- return await Promise.all(args.attachments.map(async (ref) => {
46
- const attachment = await readLiveAttachment({
47
- attachmentId: ref.id,
48
- conversationId: args.conversationId,
49
- db: getSqlExecutor()
50
- });
51
- if (!attachment || attachment.storageProvider !== args.storage.provider) throw new Error("Input image is no longer available.");
52
- const body = await args.storage.get(attachment.storageKey);
53
- if (!body) throw new Error("Input image contents are unavailable.");
54
- const data = Buffer.from(await new Response(body).arrayBuffer());
55
- if (data.byteLength !== attachment.bytes) throw new Error("Input image size does not match stored metadata.");
56
- return {
57
- attachmentId: ref.id,
58
- filename: attachment.filename,
59
- mediaType: attachment.contentType,
60
- data
61
- };
62
- }));
63
- }
64
- export { images_exports as n, storeInputImages as r, decodeInputImages as t };
@@ -1,76 +0,0 @@
1
- // src/chat/services/turn-session-routing.ts
2
- async function loadConversationChain(conversationId, conversationStore) {
3
- const chain = [];
4
- const seen = /* @__PURE__ */ new Set();
5
- let cursor = conversationId;
6
- while (cursor && !seen.has(cursor)) {
7
- seen.add(cursor);
8
- const conversation = await conversationStore.get({ conversationId: cursor });
9
- if (!conversation) break;
10
- chain.push(conversation);
11
- cursor = conversation.parentConversationId;
12
- }
13
- return chain;
14
- }
15
- /**
16
- * Normalize a stored Slack session source against the conversation destination.
17
- *
18
- * Does not create channel or thread values from the conversation id.
19
- */
20
- function slackSourceForDestination(args) {
21
- if (args.source?.kind !== "slack" || args.source.channelId !== args.destination.channelId) return;
22
- const threadTs = args.source.threadTs?.trim();
23
- return {
24
- kind: "slack",
25
- visibility: args.source.visibility ?? "public",
26
- teamId: args.source.teamId?.trim() || args.destination.teamId,
27
- channelId: args.source.channelId,
28
- ...threadTs ? { threadTs } : void 0
29
- };
30
- }
31
- /**
32
- * Resolve the Conversation Location, Destination, and session Source.
33
- *
34
- * Reads parent Conversations when this Conversation has no Destination.
35
- */
36
- async function resolveConversationRouting(args) {
37
- const conversationStore = args.conversationStore ?? (await import("./viewer-DrN3oC2X.js").then((n) => n.l)).getConversationStore();
38
- const chain = await loadConversationChain(args.conversationId, conversationStore);
39
- let destination;
40
- let source;
41
- let location;
42
- for (const conversation of chain) {
43
- destination ??= conversation.destination;
44
- source ??= conversation.sessionSource;
45
- location ??= conversation.location;
46
- if (destination && source) break;
47
- }
48
- if (!destination) return;
49
- if (destination.platform === "slack") {
50
- const slackSource = slackSourceForDestination({
51
- destination,
52
- source
53
- });
54
- return {
55
- destination,
56
- ...location ? { location } : void 0,
57
- ...slackSource ? { source: slackSource } : void 0
58
- };
59
- }
60
- return {
61
- destination,
62
- ...location ? { location } : void 0,
63
- ...source ? { source } : void 0
64
- };
65
- }
66
- /** Require the Conversation Destination and Source from SQL. */
67
- async function resolveTurnSessionRouting(args) {
68
- const routing = await resolveConversationRouting(args);
69
- if (!routing?.destination || !routing.source) throw new Error(`Conversation ${args.conversationId} is missing durable routing metadata`);
70
- return {
71
- destination: routing.destination,
72
- ...routing.location ? { location: routing.location } : void 0,
73
- source: routing.source
74
- };
75
- }
76
- export { resolveTurnSessionRouting as n, resolveConversationRouting as t };