@sentry/junior 0.42.0 → 0.44.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.
package/dist/cli/check.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSkillFile
3
- } from "../chunk-7QYONRLH.js";
3
+ } from "../chunk-ZUUJTQ2H.js";
4
4
  import {
5
5
  parsePluginManifest
6
- } from "../chunk-SCE5C645.js";
6
+ } from "../chunk-BCG3I2T2.js";
7
7
  import "../chunk-Z3YD6NHK.js";
8
8
  import "../chunk-XPXD3FCE.js";
9
9
  import "../chunk-2KG3PWR4.js";
@@ -95,22 +95,39 @@ async function validateSkillDirectory(skillDir, duplicateNames) {
95
95
  }
96
96
  return { skillFile, skill: parsed.skill, errors, warnings };
97
97
  }
98
- async function validatePluginDirectory(pluginDir, duplicatePluginNames) {
98
+ async function validatePluginDirectory(pluginDir, duplicatePluginNames, duplicateProviderDomains) {
99
99
  const manifestPath = path.join(pluginDir, "plugin.yaml");
100
100
  try {
101
101
  const raw = await fs.readFile(manifestPath, "utf8");
102
102
  const manifest = parsePluginManifest(raw, pluginDir);
103
+ const errors = [];
103
104
  const firstSeen = duplicatePluginNames.get(manifest.name);
104
105
  if (firstSeen) {
105
- return {
106
- manifestPath,
107
- manifest,
108
- errors: [
109
- `${manifestPath}: duplicate plugin name "${manifest.name}" (already defined in ${firstSeen})`
110
- ]
111
- };
106
+ errors.push(
107
+ `${manifestPath}: duplicate plugin name "${manifest.name}" (already defined in ${firstSeen})`
108
+ );
109
+ }
110
+ const domains = [
111
+ .../* @__PURE__ */ new Set([
112
+ ...manifest.credentials?.domains ?? [],
113
+ ...manifest.domains ?? []
114
+ ])
115
+ ];
116
+ for (const domain of domains) {
117
+ const firstDomainSeen = duplicateProviderDomains.get(domain);
118
+ if (firstDomainSeen) {
119
+ errors.push(
120
+ `${manifestPath}: duplicate provider domain "${domain}" (already defined in ${firstDomainSeen})`
121
+ );
122
+ }
123
+ }
124
+ if (errors.length > 0) {
125
+ return { manifestPath, manifest, errors };
112
126
  }
113
127
  duplicatePluginNames.set(manifest.name, manifestPath);
128
+ for (const domain of domains) {
129
+ duplicateProviderDomains.set(domain, manifestPath);
130
+ }
114
131
  return { manifestPath, manifest, errors: [] };
115
132
  } catch (error) {
116
133
  return {
@@ -292,6 +309,7 @@ async function runCheck(rootDir = process.cwd(), io = DEFAULT_IO) {
292
309
  ].sort((left, right) => left.localeCompare(right));
293
310
  const duplicateSkillNames = /* @__PURE__ */ new Map();
294
311
  const duplicatePluginNames = /* @__PURE__ */ new Map();
312
+ const duplicateProviderDomains = /* @__PURE__ */ new Map();
295
313
  const warnings = [];
296
314
  const errors = [];
297
315
  const pluginResults = [];
@@ -299,7 +317,8 @@ async function runCheck(rootDir = process.cwd(), io = DEFAULT_IO) {
299
317
  for (const pluginDir of pluginDirs) {
300
318
  const result = await validatePluginDirectory(
301
319
  pluginDir,
302
- duplicatePluginNames
320
+ duplicatePluginNames,
321
+ duplicateProviderDomains
303
322
  );
304
323
  pluginResults.push({
305
324
  pluginDir,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  disconnectStateAdapter,
3
3
  resolveRuntimeDependencySnapshot
4
- } from "../chunk-Y3UO7NR6.js";
4
+ } from "../chunk-QAMTCT2R.js";
5
5
  import {
6
6
  getPluginProviders,
7
7
  getPluginRuntimeDependencies,
8
8
  getPluginRuntimePostinstall
9
- } from "../chunk-SCE5C645.js";
9
+ } from "../chunk-BCG3I2T2.js";
10
10
  import "../chunk-Z3YD6NHK.js";
11
11
  import "../chunk-XPXD3FCE.js";
12
12
  import "../chunk-2KG3PWR4.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/junior",
3
- "version": "0.42.0",
3
+ "version": "0.44.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -31,12 +31,13 @@
31
31
  "@sinclair/typebox": "^0.34.49",
32
32
  "@slack/web-api": "^7.15.2",
33
33
  "@vercel/functions": "^3.5.0",
34
- "@vercel/sandbox": "^1.10.0",
34
+ "@vercel/sandbox": "2.0.0-beta.19",
35
35
  "ai": "^6.0.175",
36
36
  "bash-tool": "^1.3.16",
37
37
  "chat": "4.27.0",
38
38
  "hono": "^4.12.6",
39
39
  "just-bash": "2.14.2",
40
+ "jose": "^6.2.2",
40
41
  "node-html-markdown": "^2.0.0",
41
42
  "yaml": "^2.8.4",
42
43
  "zod": "^4.4.3"