@hybridlabor-api/bdb-antigravity-skills 1.2.0 → 1.2.1
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/Project-overview.html
CHANGED
|
@@ -448,7 +448,7 @@
|
|
|
448
448
|
<header>
|
|
449
449
|
<div class="logo">
|
|
450
450
|
BDB<span class="gradient-text-brand">OS</span>
|
|
451
|
-
<div class="version-badge">v1.2.
|
|
451
|
+
<div class="version-badge">v1.2.1</div>
|
|
452
452
|
</div>
|
|
453
453
|
<div style="display: flex; gap: 24px; font-size: 0.9rem; color: var(--text-medium);">
|
|
454
454
|
<div><strong>142</strong> Skills</div>
|
|
Binary file
|
package/mcps/adobe_mcp.py
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
# /// script
|
|
2
|
+
# dependencies = [
|
|
3
|
+
# "mcp[cli]>=1.3.0",
|
|
4
|
+
# ]
|
|
5
|
+
# ///
|
|
6
|
+
|
|
1
7
|
from mcp.server.fastmcp import FastMCP
|
|
2
8
|
import subprocess
|
|
3
9
|
import platform
|
|
@@ -14,8 +20,17 @@ def execute_adobe_jsx(app_name: str, jsx_code: str) -> str:
|
|
|
14
20
|
if "After Effects" in app_name:
|
|
15
21
|
command = "DoScript"
|
|
16
22
|
|
|
23
|
+
# Version-independent Bundle ID routing
|
|
24
|
+
app_target = f'"{app_name}"'
|
|
25
|
+
if "Photoshop" in app_name:
|
|
26
|
+
app_target = 'id "com.adobe.Photoshop"'
|
|
27
|
+
elif "Illustrator" in app_name:
|
|
28
|
+
app_target = 'id "com.adobe.illustrator"'
|
|
29
|
+
elif "After Effects" in app_name:
|
|
30
|
+
app_target = 'id "com.adobe.AfterEffects"'
|
|
31
|
+
|
|
17
32
|
apple_script = f'''
|
|
18
|
-
tell application
|
|
33
|
+
tell application {app_target}
|
|
19
34
|
{command} "{escaped_jsx}"
|
|
20
35
|
end tell
|
|
21
36
|
'''
|
|
@@ -94,5 +109,20 @@ def ae_render_active_comp() -> str:
|
|
|
94
109
|
"""
|
|
95
110
|
return execute_adobe_jsx("Adobe After Effects", jsx)
|
|
96
111
|
|
|
112
|
+
@mcp.tool()
|
|
113
|
+
def ai_draw_rectangle(width: float = 200.0, height: float = 150.0, red: int = 255, green: int = 0, blue: int = 0) -> str:
|
|
114
|
+
"""Creates a new document in Illustrator (if none exists) and draws a filled rectangle."""
|
|
115
|
+
jsx = f"""
|
|
116
|
+
var doc = app.documents.length > 0 ? app.activeDocument : app.documents.add();
|
|
117
|
+
var rect = doc.pathItems.rectangle(200, 100, {width}, {height});
|
|
118
|
+
var fillColor = new RGBColor();
|
|
119
|
+
fillColor.red = {red};
|
|
120
|
+
fillColor.green = {green};
|
|
121
|
+
fillColor.blue = {blue};
|
|
122
|
+
rect.fillColor = fillColor;
|
|
123
|
+
"Success";
|
|
124
|
+
"""
|
|
125
|
+
return execute_adobe_jsx("Adobe Illustrator", jsx)
|
|
126
|
+
|
|
97
127
|
if __name__ == "__main__":
|
|
98
128
|
mcp.run()
|