Skip to content

[Partner Nodes] add new "arrow-1.1" and "arrow-1.1-max" SVG models#13447

Merged
Kosinkadink merged 2 commits intomasterfrom
feat/api-nodes/new-quiver-models
Apr 17, 2026
Merged

[Partner Nodes] add new "arrow-1.1" and "arrow-1.1-max" SVG models#13447
Kosinkadink merged 2 commits intomasterfrom
feat/api-nodes/new-quiver-models

Conversation

@bigcat88
Copy link
Copy Markdown
Contributor

@bigcat88 bigcat88 commented Apr 17, 2026

API Node PR Checklist

Scope

  • Is API Node Change

Pricing & Billing

  • Need pricing update
  • No pricing update

If Need pricing update:

  • Metronome rate cards updated
  • Auto‑billing tests updated and passing

QA

  • QA done
  • QA not required

Comms

  • Informed Kosinkadink

Signed-off-by: bigcat88 <bigcat88@icloud.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 17, 2026

📝 Walkthrough

Walkthrough

The PR refactors Arrow model configuration in the Quiver nodes by introducing shared model definitions and helper functions. Hardcoded model options are replaced with dynamically generated configurations for arrow-1.1, arrow-1.1-max, and arrow-preview. Sampling parameters (temperature, top_p, presence_penalty) are extracted into a reusable helper function. The pricing badge logic is updated to conditionally calculate costs based on the selected model, with differentiated pricing for models containing "max" or "preview". Additional UI controls are marked as advanced to improve UI organization.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: adding new Arrow SVG models (arrow-1.1 and arrow-1.1-max) to the partner nodes.
Description check ✅ Passed The pull request description provides a filled-out API Node PR Checklist indicating scope, pricing updates, QA completion, and communications notifications, which directly relates to the changeset of adding new Arrow SVG models with pricing adjustments.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
comfy_api_nodes/nodes_quiver.py (1)

117-128: Duplicate pricing expression across both nodes — consider a small helper.

The exact same jsonata expr block (and depends_on) is repeated verbatim at Lines 117–128 and Lines 233–244. A tiny helper like _arrow_price_badge() returning an IO.PriceBadge(...) would keep the two nodes in lockstep when the next pricing tweak inevitably arrives, and it sidesteps the classic "updated one, forgot the other" bug. The model→substring matching ("max" / "preview") is also a bit fragile for future model names, so centralizing it helps there too.

♻️ Suggested refactor (module-level helper)
+_ARROW_PRICE_EXPR = """
+(
+  $contains(widgets.model, "max")
+    ? {"type":"usd","usd":0.3575}
+    : $contains(widgets.model, "preview")
+      ? {"type":"usd","usd":0.429}
+      : {"type":"usd","usd":0.286}
+)
+"""
+
+
+def _arrow_price_badge() -> "IO.PriceBadge":
+    return IO.PriceBadge(
+        depends_on=IO.PriceBadgeDepends(widgets=["model"]),
+        expr=_ARROW_PRICE_EXPR,
+    )

Then at both call sites:

-            price_badge=IO.PriceBadge(
-                depends_on=IO.PriceBadgeDepends(widgets=["model"]),
-                expr="""
-                (
-                  $contains(widgets.model, "max")
-                    ? {"type":"usd","usd":0.3575}
-                    : $contains(widgets.model, "preview")
-                      ? {"type":"usd","usd":0.429}
-                      : {"type":"usd","usd":0.286}
-                )
-                """,
-            ),
+            price_badge=_arrow_price_badge(),
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@comfy_api_nodes/nodes_quiver.py` around lines 117 - 128, Extract the
duplicated PriceBadge creation into a single helper function (e.g.,
_arrow_price_badge()) that returns IO.PriceBadge with the shared
IO.PriceBadgeDepends(widgets=["model"]) and the jsonata pricing expr; then
replace both direct IO.PriceBadge(...) occurrences with a call to
_arrow_price_badge(). Ensure the helper centralizes the model matching logic
(the "max"/"preview" substring checks) so future updates apply in one place and
both nodes that currently construct IO.PriceBadge use that helper.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@comfy_api_nodes/nodes_quiver.py`:
- Around line 117-128: Extract the duplicated PriceBadge creation into a single
helper function (e.g., _arrow_price_badge()) that returns IO.PriceBadge with the
shared IO.PriceBadgeDepends(widgets=["model"]) and the jsonata pricing expr;
then replace both direct IO.PriceBadge(...) occurrences with a call to
_arrow_price_badge(). Ensure the helper centralizes the model matching logic
(the "max"/"preview" substring checks) so future updates apply in one place and
both nodes that currently construct IO.PriceBadge use that helper.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 62a9fdbd-085d-4eae-ae01-d54f6f2b3e95

📥 Commits

Reviewing files that changed from the base of the PR and between c033bbf and ccfb9a3.

📒 Files selected for processing (1)
  • comfy_api_nodes/nodes_quiver.py

@bigcat88 bigcat88 changed the title feat(api-nodes): add new "arrow-1.1" and "arrow-1.1-max" SVG models [Partner Nodes] add new "arrow-1.1" and "arrow-1.1-max" SVG models Apr 17, 2026
@Kosinkadink Kosinkadink merged commit 4f48be4 into master Apr 17, 2026
17 checks passed
@bigcat88 bigcat88 deleted the feat/api-nodes/new-quiver-models branch April 18, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants