comfyui-mcp 0.50.88 → 0.50.89

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comfyui-mcp",
3
- "version": "0.50.88",
3
+ "version": "0.50.89",
4
4
  "mcpName": "io.github.artokun/comfyui-mcp",
5
5
  "description": "Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
6
6
  "homepage": "https://comfyui-mcp.artokun.io/docs",
@@ -77,7 +77,8 @@ function prevTag() {
77
77
  * squash-merge form GitHub writes from a PR titled with the bare version — `0.49.6 (#849)`.
78
78
  * Only the first was recognised, so the second fell through to the non-conventional
79
79
  * path and was silently dropped along with everything else there. */
80
- const isReleaseSubject = (s) => /^release:/i.test(s) || /^v?\d+\.\d+\.\d+\s*(\(#\d+\))?$/.test(s);
80
+ // #1309 three shapes are needed; see scripts/lib/release-subject.mjs.
81
+ import { isReleaseSubject } from "./lib/release-subject.mjs";
81
82
 
82
83
  /** Parsed commits since `range`, newest-first, minus noise.
83
84
  *
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Is this commit subject a RELEASE, rather than something a release contains?
3
+ * (#1309)
4
+ *
5
+ * Three shapes, and the third is the one this repo produces on EVERY release —
6
+ * `npm version patch -m "chore(release): %s"`, squash-merged with the PR number
7
+ * appended by GitHub:
8
+ *
9
+ * release: v0.50.87 — … a hand-written release PR
10
+ * 0.50.85 (#1302) a bare version subject
11
+ * chore(release): 0.50.85 (#1302) what the release flow actually writes
12
+ *
13
+ * Only the first two were matched, so every release-reconcile commit fell
14
+ * through to the conventional-commit parser, was read as a `chore` with scope
15
+ * `release`, and appeared in the NEXT release's entry under "Changed".
16
+ *
17
+ * Nothing else caught it: the de-duplication that makes the deliberately-wide
18
+ * commit range safe is "filter out PRs the changelog already documents", and a
19
+ * release-reconcile PR is never documented — it is not a change.
20
+ *
21
+ * TWO CONSTRAINTS, and the second was a codex finding. Scope alone is not
22
+ * enough: `fix(release): prevent failed releases from corrupting user installs`
23
+ * is scoped `release` and is a REAL user-facing change. Matching on scope alone
24
+ * would have silently dropped it — the exact failure this generator warns about
25
+ * at length, introduced while fixing a different one. So a release-scoped
26
+ * subject must ALSO carry nothing but a version (plus the PR number GitHub
27
+ * appends), which is what the release flow produces and what a fix to the
28
+ * release process never does.
29
+ *
30
+ * And deliberately NOT a blanket `chore:` skip, for the same reason in the other
31
+ * direction: an ordinary chore can be user-facing.
32
+ *
33
+ * Lives in its own module so it can be tested directly. An earlier attempt tested
34
+ * it through the generator against a scratch repo and the test passed with the fix
35
+ * REVERTED — the synthetic history dropped the entry for an unrelated reason, so
36
+ * it was verifying nothing.
37
+ */
38
+ export const isReleaseSubject = (s) =>
39
+ /^release:/i.test(s) ||
40
+ /^v?\d+\.\d+\.\d+\s*(\(#\d+\))?$/.test(s) ||
41
+ /^\w+\(release\)!?:\s*v?\d+\.\d+\.\d+\s*(\(#\d+\))?$/i.test(s);