@openclaw/comfy-provider 2026.11.1 → 2026.11.3

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.
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_COMFY_MODEL, isComfyCapabilityConfigured, isComfyCapabilityConfiguredAsync, runComfyWorkflow } from "./workflow-runtime.js";
2
- // extensions/comfy/image-generation-provider.ts
2
+ //#region extensions/comfy/image-generation-provider.ts
3
3
  function buildComfyImageGenerationProvider() {
4
4
  return {
5
5
  id: "comfy",
@@ -47,4 +47,5 @@ function buildComfyImageGenerationProvider() {
47
47
  }
48
48
  };
49
49
  }
50
+ //#endregion
50
51
  export { buildComfyImageGenerationProvider };
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { buildComfyMusicGenerationProvider } from "./music-generation-provider.j
3
3
  import { buildComfyVideoGenerationProvider } from "./video-generation-provider.js";
4
4
  import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
5
5
  import { createProviderApiKeyAuthMethod } from "openclaw/plugin-sdk/provider-auth-api-key";
6
- // extensions/comfy/index.ts
6
+ //#region extensions/comfy/index.ts
7
7
  const PROVIDER_ID = "comfy";
8
8
  var comfy_default = definePluginEntry({
9
9
  id: PROVIDER_ID,
@@ -40,4 +40,5 @@ var comfy_default = definePluginEntry({
40
40
  api.registerVideoGenerationProvider(buildComfyVideoGenerationProvider());
41
41
  }
42
42
  });
43
+ //#endregion
43
44
  export { comfy_default as default };
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_COMFY_MODEL, isComfyCapabilityConfigured, isComfyCapabilityConfiguredAsync, runComfyWorkflow } from "./workflow-runtime.js";
2
- // extensions/comfy/music-generation-provider.ts
2
+ //#region extensions/comfy/music-generation-provider.ts
3
3
  const COMFY_MAX_INPUT_IMAGES = 1;
4
4
  function resolveInputImage(inputImage) {
5
5
  if (!inputImage) return;
@@ -55,4 +55,5 @@ function buildComfyMusicGenerationProvider() {
55
55
  }
56
56
  };
57
57
  }
58
+ //#endregion
58
59
  export { buildComfyMusicGenerationProvider };
@@ -1,5 +1,5 @@
1
1
  import { DEFAULT_COMFY_MODEL, isComfyCapabilityConfigured, isComfyCapabilityConfiguredAsync, runComfyWorkflow } from "./workflow-runtime.js";
2
- // extensions/comfy/video-generation-provider.ts
2
+ //#region extensions/comfy/video-generation-provider.ts
3
3
  function toComfyInputImage(inputImage) {
4
4
  if (!inputImage) return;
5
5
  if (!inputImage.buffer || !inputImage.mimeType) throw new Error("Comfy video generation requires a local reference image file");
@@ -62,4 +62,5 @@ function buildComfyVideoGenerationProvider() {
62
62
  }
63
63
  };
64
64
  }
65
+ //#endregion
65
66
  export { buildComfyVideoGenerationProvider };
@@ -1,6 +1,6 @@
1
1
  import { redactProviderResponseErrorText } from "openclaw/plugin-sdk/provider-http";
2
2
  import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
- // extensions/comfy/workflow-history.ts
3
+ //#region extensions/comfy/workflow-history.ts
4
4
  function isTerminalComfyHistory(entry, headers) {
5
5
  if (entry.status?.status_str === "error") {
6
6
  const messages = entry.status.messages;
@@ -10,4 +10,5 @@ function isTerminalComfyHistory(entry, headers) {
10
10
  }
11
11
  return entry.status?.completed === true || Boolean(entry.outputs && Object.keys(entry.outputs).length);
12
12
  }
13
+ //#endregion
13
14
  export { isTerminalComfyHistory };
@@ -2,7 +2,7 @@ import { isTerminalComfyHistory } from "./workflow-history.js";
2
2
  import { randomInt } from "node:crypto";
3
3
  import fs from "node:fs/promises";
4
4
  import { bufferToBlobPart } from "openclaw/plugin-sdk/blob-runtime";
5
- import { resolveGeneratedMediaMaxBytes } from "openclaw/plugin-sdk/media-generation-runtime";
5
+ import { resolveGeneratedImageDownloadMaxBytes, resolveGeneratedMediaMaxBytes } from "openclaw/plugin-sdk/media-generation-runtime";
6
6
  import { extensionForMime } from "openclaw/plugin-sdk/media-mime";
7
7
  import { resolvePositiveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
8
8
  import { isProviderApiKeyConfigured, isProviderApiKeyConfiguredAsync } from "openclaw/plugin-sdk/provider-auth";
@@ -13,7 +13,7 @@ import { canResolveEnvSecretRefInReadOnlyPath } from "openclaw/plugin-sdk/secret
13
13
  import { fetchWithSsrFGuard, isPrivateOrLoopbackHost, mergeSsrFPolicies, ssrfPolicyFromHttpBaseUrlAllowedOrigin } from "openclaw/plugin-sdk/ssrf-runtime";
14
14
  import { asBoolean, isRecord, normalizeOptionalLowercaseString, normalizeOptionalString, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
15
15
  import { resolveUserPath, sleep } from "openclaw/plugin-sdk/text-utility-runtime";
16
- // extensions/comfy/workflow-runtime.ts
16
+ //#region extensions/comfy/workflow-runtime.ts
17
17
  const DEFAULT_COMFY_LOCAL_BASE_URL = "http://127.0.0.1:8188";
18
18
  const DEFAULT_COMFY_CLOUD_BASE_URL = "https://cloud.comfy.org";
19
19
  const DEFAULT_POLL_INTERVAL_MS = 1500;
@@ -412,7 +412,7 @@ async function runComfyWorkflow(params) {
412
412
  if (outputFiles.length === 0) throw new Error(`Comfy workflow ${promptId} completed without ${params.capability} outputs`);
413
413
  const assets = [];
414
414
  const outputKind = params.capability === "music" ? "audio" : params.capability;
415
- const maxOutputBytes = resolveGeneratedMediaMaxBytes(params.cfg, outputKind);
415
+ const maxOutputBytes = outputKind === "image" ? resolveGeneratedImageDownloadMaxBytes(params.cfg) : resolveGeneratedMediaMaxBytes(params.cfg, outputKind);
416
416
  for (const output of outputFiles) {
417
417
  const downloaded = await downloadOutputFile(connection, output.file, params.capability, maxOutputBytes);
418
418
  assets.push({
@@ -432,4 +432,5 @@ async function runComfyWorkflow(params) {
432
432
  }
433
433
  };
434
434
  }
435
+ //#endregion
435
436
  export { DEFAULT_COMFY_MODEL, isComfyCapabilityConfigured, isComfyCapabilityConfiguredAsync, runComfyWorkflow };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/comfy-provider",
3
- "version": "2026.11.1",
3
+ "version": "2026.11.3",
4
4
  "description": "OpenClaw ComfyUI provider plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,10 +18,10 @@
18
18
  "minHostVersion": ">=2026.7.2"
19
19
  },
20
20
  "compat": {
21
- "pluginApi": ">=2026.11.1"
21
+ "pluginApi": ">=2026.11.3"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.11.1",
24
+ "openclawVersion": "2026.11.3",
25
25
  "bundledDist": false
26
26
  },
27
27
  "release": {
@@ -40,7 +40,7 @@
40
40
  "assets/activity.svg"
41
41
  ],
42
42
  "peerDependencies": {
43
- "openclaw": ">=2026.11.1"
43
+ "openclaw": ">=2026.11.3"
44
44
  },
45
45
  "peerDependenciesMeta": {
46
46
  "openclaw": {
@@ -1 +0,0 @@
1
- {"version":3,"entries":[{"output":"image-generation-provider.js","source":"extensions/comfy/image-generation-provider.ts"},{"output":"index.js","source":"extensions/comfy/index.ts"},{"output":"music-generation-provider.js","source":"extensions/comfy/music-generation-provider.ts"},{"output":"video-generation-provider.js","source":"extensions/comfy/video-generation-provider.ts"},{"output":"workflow-history.js","source":"extensions/comfy/workflow-history.ts"},{"output":"workflow-runtime.js","source":"extensions/comfy/workflow-runtime.ts"}],"chunks":[{"output":"image-generation-provider.js","sha256":"6949d61db2daa87410cffe2b796e7803c1d30c4401c557ea98fdf4715111be75","facadeSource":"extensions/comfy/image-generation-provider.ts","sources":["extensions/comfy/image-generation-provider.ts"]},{"output":"index.js","sha256":"61ad98f579c86851be4d45cc98344124f13449a1200240ce22845ffc6bf24c8c","facadeSource":"extensions/comfy/index.ts","sources":["extensions/comfy/index.ts"]},{"output":"music-generation-provider.js","sha256":"065d6bb6d39eba957687733c0869028f05c9371d2bf5d88fdc4f90c71583da86","facadeSource":"extensions/comfy/music-generation-provider.ts","sources":["extensions/comfy/music-generation-provider.ts"]},{"output":"video-generation-provider.js","sha256":"af89de74cf2cfd56461db5ab196f096778f203da0066891fb6975d08845d421b","facadeSource":"extensions/comfy/video-generation-provider.ts","sources":["extensions/comfy/video-generation-provider.ts"]},{"output":"workflow-history.js","sha256":"3b54f876b6647798f785ba587f7093935c28ab405e919ee32f1a88f5eab9f6df","facadeSource":"extensions/comfy/workflow-history.ts","sources":["extensions/comfy/workflow-history.ts"]},{"output":"workflow-runtime.js","sha256":"048e04dd97f2459b172ddc29bc3dd37ed17d18ff71ed0f8f439d7672e513a364","facadeSource":"extensions/comfy/workflow-runtime.ts","sources":["extensions/comfy/workflow-runtime.ts"]}],"unrenderedSources":[]}