@the-open-engine/zeroshot 6.7.1 → 6.8.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 (44) hide show
  1. package/cli/index.js +114 -16
  2. package/lib/agent-cli-provider/adapters/common.js +1 -1
  3. package/lib/agent-cli-provider/adapters/common.js.map +1 -1
  4. package/lib/agent-cli-provider/adapters/opencode-models.d.ts +7 -0
  5. package/lib/agent-cli-provider/adapters/opencode-models.d.ts.map +1 -0
  6. package/lib/agent-cli-provider/adapters/opencode-models.js +87 -0
  7. package/lib/agent-cli-provider/adapters/opencode-models.js.map +1 -0
  8. package/lib/agent-cli-provider/adapters/opencode.d.ts.map +1 -1
  9. package/lib/agent-cli-provider/adapters/opencode.js +6 -58
  10. package/lib/agent-cli-provider/adapters/opencode.js.map +1 -1
  11. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
  12. package/lib/agent-cli-provider/single-agent-runtime.js +27 -13
  13. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
  14. package/lib/agent-cli-provider/types.d.ts +1 -0
  15. package/lib/agent-cli-provider/types.d.ts.map +1 -1
  16. package/lib/agent-cli-provider/types.js.map +1 -1
  17. package/lib/git-remote-utils.js +90 -7
  18. package/package.json +6 -15
  19. package/protocol/openengine-cluster/v1/worker.schema.json +47 -0
  20. package/scripts/assert-release-published.js +161 -2
  21. package/scripts/release-dry-run.js +83 -0
  22. package/scripts/release-preflight.js +24 -12
  23. package/scripts/release-recovery.js +149 -0
  24. package/scripts/semantic-release-notes.js +44 -0
  25. package/scripts/setup-merge-queue.sh +104 -118
  26. package/src/agent/agent-task-executor.js +18 -9
  27. package/src/agent-cli-provider/adapters/common.ts +1 -1
  28. package/src/agent-cli-provider/adapters/opencode-models.ts +100 -0
  29. package/src/agent-cli-provider/adapters/opencode.ts +8 -65
  30. package/src/agent-cli-provider/single-agent-runtime.ts +51 -33
  31. package/src/agent-cli-provider/types.ts +1 -0
  32. package/src/agent-wrapper.js +14 -2
  33. package/src/agents/git-pusher-template.js +94 -19
  34. package/src/attach/socket-discovery.js +9 -19
  35. package/src/attach/socket-paths.js +85 -0
  36. package/src/claude-task-runner.js +121 -37
  37. package/src/config-validator.js +2 -2
  38. package/src/isolation-manager.js +164 -74
  39. package/src/orchestrator.js +83 -34
  40. package/src/providers/index.js +5 -0
  41. package/src/task-run-model-args.js +155 -0
  42. package/task-lib/attachable-watcher.js +3 -9
  43. package/task-lib/commands/run.js +17 -2
  44. package/task-lib/runner.js +87 -29
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":";;;AAoXA,MAAa,yBAA0B,SAAQ,KAAK;IACzC,SAAS,GAAG,IAAI,CAAC;IAE1B,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAPD,8DAOC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent-cli-provider/types.ts"],"names":[],"mappings":";;;AAqXA,MAAa,yBAA0B,SAAQ,KAAK;IACzC,SAAS,GAAG,IAAI,CAAC;IAE1B,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAPD,8DAOC"}
@@ -5,6 +5,63 @@
5
5
 
6
6
  const { execSync } = require('../src/lib/safe-exec');
7
7
 
8
+ function hasInvalidGitRefCharacter(value) {
9
+ for (const character of value) {
10
+ const codePoint = character.codePointAt(0);
11
+ if (codePoint <= 0x20 || codePoint === 0x7f || '~^:?*[\\'.includes(character)) {
12
+ return true;
13
+ }
14
+ }
15
+ return false;
16
+ }
17
+
18
+ /**
19
+ * Normalize a Git remote name using the same ref-format rules Git applies to
20
+ * refs/remotes/<name>. Keeping this next to detection prevents a discovered
21
+ * remote from being rejected later by a narrower consumer-specific allowlist.
22
+ *
23
+ * @param {unknown} value - Candidate remote name
24
+ * @returns {string|null} Normalized remote name, or null when invalid
25
+ */
26
+ function normalizeGitRemoteName(value) {
27
+ if (typeof value !== 'string') {
28
+ return null;
29
+ }
30
+
31
+ const name = value.trim();
32
+ if (
33
+ name.length === 0 ||
34
+ name.endsWith('.') ||
35
+ name.includes('..') ||
36
+ name.includes('@{') ||
37
+ hasInvalidGitRefCharacter(name)
38
+ ) {
39
+ return null;
40
+ }
41
+
42
+ const components = name.split('/');
43
+ if (
44
+ components.some(
45
+ (component) =>
46
+ component.length === 0 || component.startsWith('.') || component.endsWith('.lock')
47
+ )
48
+ ) {
49
+ return null;
50
+ }
51
+
52
+ return name;
53
+ }
54
+
55
+ /**
56
+ * Quote one argument for the POSIX shell snippets embedded in agent prompts.
57
+ *
58
+ * @param {string} value - Argument to quote
59
+ * @returns {string} Single-quoted shell argument
60
+ */
61
+ function quoteShellArgument(value) {
62
+ return `'${value.replaceAll("'", `'"'"'`)}'`;
63
+ }
64
+
8
65
  /**
9
66
  * Parse git remote URL into structured provider context.
10
67
  * Supports GitHub, GitLab, and Azure DevOps (cloud + self-hosted).
@@ -140,19 +197,43 @@ function detectGitContext(cwd = process.cwd()) {
140
197
  }
141
198
 
142
199
  try {
143
- // Try to get remote URL (origin by default)
144
- const remoteUrl = execSync('git remote get-url origin', {
200
+ const remoteOutput = execSync('git remote -v', {
145
201
  cwd,
146
202
  stdio: 'pipe',
147
203
  encoding: 'utf8',
148
- }).trim();
204
+ });
149
205
 
150
- if (!remoteUrl) {
151
- return null;
206
+ const supportedRemotes = new Map();
207
+ for (const line of remoteOutput.split(/\r?\n/)) {
208
+ const match = line.match(/^(\S+)\s+(.+)\s+\(fetch\)$/);
209
+ if (!match) {
210
+ continue;
211
+ }
212
+
213
+ const [, remoteCandidate, remoteUrl] = match;
214
+ const remote = normalizeGitRemoteName(remoteCandidate);
215
+ if (!remote) {
216
+ continue;
217
+ }
218
+ const context = parseGitRemoteUrl(remoteUrl);
219
+ if (context && !supportedRemotes.has(remote)) {
220
+ supportedRemotes.set(remote, { ...context, remote });
221
+ }
222
+ }
223
+
224
+ // Preserve existing behavior whenever origin is usable. Without origin,
225
+ // select a remote only when there is exactly one supported target. Guessing
226
+ // between multiple repositories could push code or create a PR in the wrong
227
+ // place, so ambiguous configurations deliberately fail closed.
228
+ if (supportedRemotes.has('origin')) {
229
+ return supportedRemotes.get('origin');
152
230
  }
153
231
 
154
- // Parse the remote URL to extract provider context
155
- return parseGitRemoteUrl(remoteUrl);
232
+ if (supportedRemotes.size === 1) {
233
+ return supportedRemotes.values().next().value;
234
+ }
235
+
236
+ return null;
156
237
  } catch {
157
238
  // No remote configured or command failed
158
239
  return null;
@@ -160,6 +241,8 @@ function detectGitContext(cwd = process.cwd()) {
160
241
  }
161
242
 
162
243
  module.exports = {
244
+ normalizeGitRemoteName,
245
+ quoteShellArgument,
163
246
  parseGitRemoteUrl,
164
247
  detectGitContext,
165
248
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@the-open-engine/zeroshot",
3
- "version": "6.7.1",
3
+ "version": "6.8.0",
4
4
  "description": "Multi-agent orchestration engine for Claude, Codex, and Gemini",
5
5
  "main": "src/orchestrator.js",
6
6
  "bin": {
@@ -17,18 +17,8 @@
17
17
  "main"
18
18
  ],
19
19
  "plugins": [
20
- [
21
- "@semantic-release/commit-analyzer",
22
- {
23
- "releaseRules": [
24
- {
25
- "type": "release",
26
- "release": "minor"
27
- }
28
- ]
29
- }
30
- ],
31
- "@semantic-release/release-notes-generator",
20
+ "@semantic-release/commit-analyzer",
21
+ "./scripts/semantic-release-notes.js",
32
22
  [
33
23
  "@semantic-release/npm",
34
24
  {
@@ -75,6 +65,7 @@
75
65
  "check:all": "npm run check && npm run deadcode:all",
76
66
  "release": "semantic-release",
77
67
  "release:preflight": "node scripts/release-preflight.js",
68
+ "release:recover": "node scripts/release-recovery.js",
78
69
  "release:assert-published": "node scripts/assert-release-published.js",
79
70
  "prepublishOnly": "npm run lint && npm run typecheck && npm run check:agent-cli-provider:ci",
80
71
  "prepare": "npm run build:agent-cli-provider && husky"
@@ -151,8 +142,8 @@
151
142
  "proper-lockfile": "^4.1.2"
152
143
  },
153
144
  "devDependencies": {
154
- "@semantic-release/changelog": "^6.0.3",
155
- "@semantic-release/git": "^10.0.1",
145
+ "@commitlint/cli": "^19.8.1",
146
+ "@commitlint/config-conventional": "^19.8.1",
156
147
  "@semantic-release/github": "^11.0.6",
157
148
  "@types/better-sqlite3": "^7.6.13",
158
149
  "@types/node": "^25.0.3",
@@ -821,6 +821,26 @@
821
821
  "profile"
822
822
  ],
823
823
  "type": "object"
824
+ },
825
+ {
826
+ "additionalProperties": false,
827
+ "properties": {
828
+ "profile": {
829
+ "const": "openengine.worker.builtin/v1"
830
+ },
831
+ "protocol": {
832
+ "const": "builtin"
833
+ },
834
+ "version": {
835
+ "const": "1"
836
+ }
837
+ },
838
+ "required": [
839
+ "protocol",
840
+ "version",
841
+ "profile"
842
+ ],
843
+ "type": "object"
824
844
  }
825
845
  ]
826
846
  }
@@ -1166,6 +1186,33 @@
1166
1186
  "worker",
1167
1187
  "binding"
1168
1188
  ]
1189
+ },
1190
+ {
1191
+ "properties": {
1192
+ "binding": {
1193
+ "properties": {
1194
+ "protocol": {
1195
+ "const": "builtin"
1196
+ }
1197
+ },
1198
+ "required": [
1199
+ "protocol"
1200
+ ]
1201
+ },
1202
+ "credentialRequirements": {
1203
+ "maxItems": 0
1204
+ },
1205
+ "worker": {
1206
+ "not": {
1207
+ "const": "legacy.zeroshot.ship@1"
1208
+ }
1209
+ }
1210
+ },
1211
+ "required": [
1212
+ "worker",
1213
+ "binding",
1214
+ "credentialRequirements"
1215
+ ]
1169
1216
  }
1170
1217
  ]
1171
1218
  }
@@ -1,12 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ const fs = require('fs');
4
+ const https = require('https');
5
+ const os = require('os');
6
+ const path = require('path');
3
7
  const { execFileSync } = require('child_process');
8
+ const { releaseTypeForMessages } = require('./release-preflight');
4
9
 
5
10
  const DEFAULT_ATTEMPTS = 24;
6
11
  const DEFAULT_DELAY_MS = 5000;
7
12
 
8
- function run(command, args) {
9
- return execFileSync(command, args, { encoding: 'utf8' }).trim();
13
+ function run(command, args, options = {}) {
14
+ return execFileSync(command, args, { encoding: 'utf8', ...options }).trim();
10
15
  }
11
16
 
12
17
  function packageName() {
@@ -17,6 +22,116 @@ function npmLatest(name) {
17
22
  return JSON.parse(run('npm', ['view', name, 'dist-tags.latest', '--json']));
18
23
  }
19
24
 
25
+ function npmReleaseMetadata(name, version) {
26
+ return JSON.parse(
27
+ run('npm', ['view', `${name}@${version}`, 'version', 'gitHead', 'dist.attestations', '--json'])
28
+ );
29
+ }
30
+
31
+ function httpsJson(url) {
32
+ return new Promise((resolve, reject) => {
33
+ const request = https.get(url, { headers: { Accept: 'application/json' } }, (response) => {
34
+ let body = '';
35
+ response.setEncoding('utf8');
36
+ response.on('data', (chunk) => {
37
+ body += chunk;
38
+ });
39
+ response.on('end', () => {
40
+ if (response.statusCode < 200 || response.statusCode >= 300) {
41
+ reject(new Error(`HTTP ${response.statusCode} from ${url}: ${body}`));
42
+ return;
43
+ }
44
+ resolve(JSON.parse(body));
45
+ });
46
+ });
47
+ request.on('error', reject);
48
+ });
49
+ }
50
+
51
+ function provenanceStatement(attestations) {
52
+ const provenance = attestations.attestations?.find(
53
+ (attestation) => attestation.predicateType === 'https://slsa.dev/provenance/v1'
54
+ );
55
+ const payload = provenance?.bundle?.dsseEnvelope?.payload;
56
+ if (!payload) throw new Error('npm provenance statement is missing');
57
+ return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));
58
+ }
59
+
60
+ function verifyProvenance(statement, expectedCommit) {
61
+ const workflow = statement.predicate?.buildDefinition?.externalParameters?.workflow;
62
+ if (workflow?.repository !== 'https://github.com/the-open-engine/zeroshot') {
63
+ throw new Error(`unexpected provenance repository: ${workflow?.repository || '(missing)'}`);
64
+ }
65
+ if (workflow?.path !== '.github/workflows/release.yml') {
66
+ throw new Error(`unexpected provenance workflow: ${workflow?.path || '(missing)'}`);
67
+ }
68
+
69
+ const resolved = statement.predicate?.buildDefinition?.resolvedDependencies || [];
70
+ if (!resolved.some((dependency) => dependency.digest?.gitCommit === expectedCommit)) {
71
+ throw new Error(`provenance does not resolve to release commit ${expectedCommit}`);
72
+ }
73
+ }
74
+
75
+ function githubRelease(tag) {
76
+ return JSON.parse(run('gh', ['release', 'view', tag, '--json', 'tagName,body,url,publishedAt']));
77
+ }
78
+
79
+ function verifyCuratedNotes(tag, release) {
80
+ const notesPath = path.join(process.cwd(), 'docs', 'releases', `${tag}.md`);
81
+ if (!fs.existsSync(notesPath)) return;
82
+ const expected = fs.readFileSync(notesPath, 'utf8').trim();
83
+ const actual = String(release.body || '').trim();
84
+ if (actual !== expected) {
85
+ throw new Error(`GitHub Release ${tag} does not match ${notesPath}`);
86
+ }
87
+ }
88
+
89
+ function verifyInstalledCli(name, version, options = {}) {
90
+ const packageSpec = `${name}@${version}`;
91
+ const execute = options.execute || run;
92
+ const makeTempRoot =
93
+ options.makeTempRoot ||
94
+ (() => fs.mkdtempSync(path.join(os.tmpdir(), 'zeroshot-release-cli-')));
95
+ const removeTempRoot =
96
+ options.removeTempRoot ||
97
+ ((root) => {
98
+ fs.rmSync(root, { recursive: true, force: true });
99
+ });
100
+ const platform = options.platform || process.platform;
101
+ const prefix = makeTempRoot();
102
+
103
+ try {
104
+ execute('npm', [
105
+ 'install',
106
+ '--global',
107
+ '--prefix',
108
+ prefix,
109
+ '--no-audit',
110
+ '--no-fund',
111
+ packageSpec,
112
+ ]);
113
+
114
+ const executable = path.join(
115
+ prefix,
116
+ platform === 'win32' ? 'zeroshot.cmd' : 'bin',
117
+ ...(platform === 'win32' ? [] : ['zeroshot'])
118
+ );
119
+ const isolatedEnv = {
120
+ ...process.env,
121
+ HOME: prefix,
122
+ USERPROFILE: prefix,
123
+ };
124
+ const reported = execute(executable, ['--version'], { env: isolatedEnv });
125
+ if (!reported.split(/\s+/).includes(version)) {
126
+ throw new Error(`installed CLI reported ${reported}; expected ${version}`);
127
+ }
128
+ execute(executable, ['--help'], { env: isolatedEnv });
129
+ execute(executable, ['list'], { env: isolatedEnv });
130
+ } finally {
131
+ removeTempRoot(prefix);
132
+ }
133
+ }
134
+
20
135
  function tagsPointingAtHead() {
21
136
  run('git', ['fetch', '--tags', '--force']);
22
137
  return run('git', ['tag', '--points-at', 'HEAD', '--list', 'v[0-9]*'])
@@ -25,6 +140,18 @@ function tagsPointingAtHead() {
25
140
  .filter(Boolean);
26
141
  }
27
142
 
143
+ function latestReachableReleaseTag() {
144
+ return run('git', ['describe', '--tags', '--abbrev=0', '--match', 'v[0-9]*']);
145
+ }
146
+
147
+ function commitMessagesSince(tag) {
148
+ const output = run('git', ['log', '--format=%B%x1e', `${tag}..HEAD`]);
149
+ return output
150
+ .split('\x1e')
151
+ .map((message) => message.trim())
152
+ .filter(Boolean);
153
+ }
154
+
28
155
  function releaseTagParts(tag) {
29
156
  const match = tag.match(/^v(\d+)\.(\d+)\.(\d+)$/);
30
157
  if (!match) return null;
@@ -80,6 +207,12 @@ async function main() {
80
207
  const expectedTag = latestReleaseTag(headTags);
81
208
 
82
209
  if (!expectedTag) {
210
+ const previousTag = latestReachableReleaseTag();
211
+ const releaseType = releaseTypeForMessages(commitMessagesSince(previousTag));
212
+ if (!releaseType) {
213
+ console.log('No release-worthy commits since the latest tag; no publication expected');
214
+ return;
215
+ }
83
216
  throw new Error('expected a vX.Y.Z release tag to point at HEAD after release');
84
217
  }
85
218
 
@@ -89,6 +222,27 @@ async function main() {
89
222
 
90
223
  console.log(`npm latest for ${name}: ${latest}`);
91
224
 
225
+ const expectedCommit = run('git', ['rev-parse', 'HEAD']);
226
+ const metadata = npmReleaseMetadata(name, expectedVersion);
227
+ if (metadata.version !== expectedVersion) {
228
+ throw new Error(`npm metadata returned ${metadata.version}; expected ${expectedVersion}`);
229
+ }
230
+ if (metadata.gitHead !== expectedCommit) {
231
+ throw new Error(`npm gitHead ${metadata.gitHead || '(missing)'} does not match HEAD`);
232
+ }
233
+
234
+ const attestationUrl = metadata['dist.attestations']?.url;
235
+ if (!attestationUrl) throw new Error('npm attestation URL is missing');
236
+ const attestations = await httpsJson(attestationUrl);
237
+ verifyProvenance(provenanceStatement(attestations), expectedCommit);
238
+
239
+ const release = githubRelease(expectedTag);
240
+ if (release.tagName !== expectedTag) {
241
+ throw new Error(`GitHub Release tag ${release.tagName} does not match ${expectedTag}`);
242
+ }
243
+ verifyCuratedNotes(expectedTag, release);
244
+ verifyInstalledCli(name, expectedVersion);
245
+
92
246
  console.log(`Release publication verified: ${name}@${latest}`);
93
247
  }
94
248
 
@@ -101,7 +255,12 @@ if (require.main === module) {
101
255
 
102
256
  module.exports = {
103
257
  latestReleaseTag,
258
+ latestReachableReleaseTag,
259
+ npmReleaseMetadata,
104
260
  npmLatest,
261
+ provenanceStatement,
105
262
  tagsPointingAtHead,
263
+ verifyInstalledCli,
264
+ verifyProvenance,
106
265
  waitForNpmLatest,
107
266
  };
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ const { execFileSync } = require('child_process');
5
+ const fs = require('fs');
6
+ const os = require('os');
7
+ const path = require('path');
8
+
9
+ const projectRoot = path.resolve(__dirname, '..');
10
+
11
+ function runGit(args) {
12
+ execFileSync('git', args, {
13
+ cwd: projectRoot,
14
+ encoding: 'utf8',
15
+ stdio: ['ignore', 'pipe', 'pipe'],
16
+ });
17
+ }
18
+
19
+ function pluginName(plugin) {
20
+ return Array.isArray(plugin) ? plugin[0] : plugin;
21
+ }
22
+
23
+ function validationPlugins(releaseConfig) {
24
+ const allowed = new Set([
25
+ '@semantic-release/commit-analyzer',
26
+ './scripts/semantic-release-notes.js',
27
+ ]);
28
+ return releaseConfig.plugins.filter((plugin) => allowed.has(pluginName(plugin)));
29
+ }
30
+
31
+ async function main() {
32
+ const branch = process.env.GITHUB_REF_NAME?.trim();
33
+ if (!branch) throw new Error('GITHUB_REF_NAME is required for a release dry run');
34
+ runGit(['check-ref-format', `refs/heads/${branch}`]);
35
+
36
+ const packageJson = require('../package.json');
37
+ const releaseConfig = packageJson.release;
38
+ const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'zeroshot-release-dry-run-'));
39
+ const mirrorPath = path.join(tempRoot, 'candidate.git');
40
+
41
+ try {
42
+ runGit(['init', '--bare', mirrorPath]);
43
+ runGit([
44
+ '--git-dir',
45
+ mirrorPath,
46
+ 'fetch',
47
+ projectRoot,
48
+ `+HEAD:refs/heads/${branch}`,
49
+ '+refs/tags/*:refs/tags/*',
50
+ ]);
51
+ runGit(['--git-dir', mirrorPath, 'symbolic-ref', 'HEAD', `refs/heads/${branch}`]);
52
+
53
+ const semanticRelease = (await import('semantic-release')).default;
54
+ const result = await semanticRelease(
55
+ {
56
+ ...releaseConfig,
57
+ branches: [branch],
58
+ repositoryUrl: mirrorPath,
59
+ plugins: validationPlugins(releaseConfig),
60
+ dryRun: true,
61
+ ci: false,
62
+ },
63
+ {
64
+ cwd: projectRoot,
65
+ env: process.env,
66
+ }
67
+ );
68
+
69
+ if (!result) {
70
+ console.log('RELEASE_DRY_RUN_RESULT=no-release');
71
+ return;
72
+ }
73
+
74
+ console.log(`RELEASE_DRY_RUN_RESULT=${result.nextRelease.version}`);
75
+ } finally {
76
+ fs.rmSync(tempRoot, { recursive: true, force: true });
77
+ }
78
+ }
79
+
80
+ main().catch((error) => {
81
+ console.error(error);
82
+ process.exitCode = 1;
83
+ });
@@ -7,7 +7,7 @@ const { execFileSync } = require('child_process');
7
7
  const RELEASE_ORDER = ['patch', 'minor', 'major'];
8
8
  const REQUIRED_PLUGINS = [
9
9
  '@semantic-release/commit-analyzer',
10
- '@semantic-release/release-notes-generator',
10
+ './scripts/semantic-release-notes.js',
11
11
  '@semantic-release/npm',
12
12
  '@semantic-release/github',
13
13
  ];
@@ -50,7 +50,6 @@ function analyzeMessage(message) {
50
50
  if (breaking) return 'major';
51
51
 
52
52
  switch (type) {
53
- case 'release':
54
53
  case 'feat':
55
54
  return 'minor';
56
55
  case 'fix':
@@ -61,6 +60,14 @@ function analyzeMessage(message) {
61
60
  }
62
61
  }
63
62
 
63
+ function releaseTypeForMessages(messages) {
64
+ let releaseType = null;
65
+ for (const message of messages) {
66
+ releaseType = maxReleaseType(releaseType, analyzeMessage(message));
67
+ }
68
+ return releaseType;
69
+ }
70
+
64
71
  function getPluginNames(releaseConfig) {
65
72
  return (releaseConfig.plugins || []).map(normalizePlugin);
66
73
  }
@@ -68,9 +75,7 @@ function getPluginNames(releaseConfig) {
68
75
  function validateReleaseConfig(packageJson) {
69
76
  const releaseConfig = packageJson.release;
70
77
  if (!releaseConfig || typeof releaseConfig !== 'object') {
71
- throw new Error(
72
- 'package.json#release is required so it takes precedence over stale .releaserc files'
73
- );
78
+ throw new Error('package.json#release is required as the single release configuration');
74
79
  }
75
80
 
76
81
  const branches = Array.isArray(releaseConfig.branches)
@@ -103,6 +108,16 @@ function validateReleaseConfig(packageJson) {
103
108
  throw new Error('@semantic-release/npm must publish to npm');
104
109
  }
105
110
 
111
+ const analyzerPlugin = releaseConfig.plugins.find(
112
+ (plugin) => normalizePlugin(plugin) === '@semantic-release/commit-analyzer'
113
+ );
114
+ const analyzerOptions = Array.isArray(analyzerPlugin) ? analyzerPlugin[1] || {} : {};
115
+ if (Array.isArray(analyzerOptions.releaseRules) && analyzerOptions.releaseRules.length > 0) {
116
+ throw new Error(
117
+ '@semantic-release/commit-analyzer must use the standard conventional release rules'
118
+ );
119
+ }
120
+
106
121
  return pluginNames;
107
122
  }
108
123
 
@@ -186,10 +201,7 @@ async function prTitleFromMergeQueue() {
186
201
  async function releaseSignal() {
187
202
  const tag = latestReleaseTag();
188
203
  const messages = commitMessagesSince(tag);
189
- let releaseType = null;
190
- for (const message of messages) {
191
- releaseType = maxReleaseType(releaseType, analyzeMessage(message));
192
- }
204
+ let releaseType = releaseTypeForMessages(messages);
193
205
 
194
206
  let title = prTitleFromEvent();
195
207
  if (!title) title = await prTitleFromMergeQueue();
@@ -214,9 +226,8 @@ async function main() {
214
226
  if (signal.prTitle) console.log(`Release PR title: ${signal.prTitle}`);
215
227
 
216
228
  if (!signal.releaseType) {
217
- throw new Error(
218
- 'Release promotion would publish nothing; use a release-worthy PR title/commit'
219
- );
229
+ console.log('Release preflight passed: no publication expected');
230
+ return;
220
231
  }
221
232
 
222
233
  console.log(`Release preflight passed: ${signal.releaseType}`);
@@ -232,5 +243,6 @@ if (require.main === module) {
232
243
  module.exports = {
233
244
  analyzeMessage,
234
245
  maxReleaseType,
246
+ releaseTypeForMessages,
235
247
  validateReleaseConfig,
236
248
  };