editmamei 1.6.0 → 1.7.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/README.md +11 -4
- package/dist/backends/gimp/backend.js +3 -0
- package/dist/backends/gimp/bridge/lib.py +766 -7
- package/dist/backends/gimp/bridge/ops.py +1693 -74
- package/dist/backends/gimp/session.js +3 -0
- package/dist/bin/editmamei-core-darwin-arm64 +0 -0
- package/dist/bin/editmamei-core-darwin-x64 +0 -0
- package/dist/bin/editmamei-core-win-x64.exe +0 -0
- package/dist/cli/help.js +2 -2
- package/dist/cli/install.js +2 -2
- package/dist/core/preview-privacy.js +54 -0
- package/dist/core/server.js +4 -0
- package/dist/core/tool-activity.js +8 -0
- package/dist/core/tool-groups.js +8 -0
- package/dist/core/tool-tiers.js +8 -0
- package/dist/install-channel.js +2 -0
- package/dist/modules/gimp/index.js +8 -0
- package/dist/skills/editmamei-skill.zip +0 -0
- package/dist/telemetry/client.js +23 -16
- package/dist/telemetry/outbox.js +248 -28
- package/dist/tools/gimp-adjustment-tools.js +6 -3
- package/dist/tools/gimp-checkpoint-tools.js +541 -0
- package/dist/tools/gimp-compose-tools.js +399 -0
- package/dist/tools/gimp-core-tools.js +20 -6
- package/dist/tools/gimp-effect-tools.js +267 -0
- package/dist/tools/gimp-filter-tools.js +2 -1
- package/dist/tools/gimp-geometry-tools.js +46 -14
- package/dist/tools/gimp-inspect-tools.js +108 -21
- package/dist/tools/gimp-layer-tools.js +385 -0
- package/dist/tools/gimp-shared.js +7 -0
- package/dist/tools/gimp-verify-tools.js +38 -3
- package/dist/update/check.js +2 -0
- package/dist/utils/operation-timeouts.js +9 -1
- package/dist/utils/validate.js +11 -0
- package/dist/version.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -15,6 +15,12 @@ It serves photographers and retouchers who want to edit by conversation just as
|
|
|
15
15
|
|
|
16
16
|
**[editmamei.com](https://editmamei.com)** · [Docs](docs/getting-started.md) · [Report a bug](https://github.com/editmamei/editmamei/issues)
|
|
17
17
|
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="https://editmamei.com"><img src="https://raw.githubusercontent.com/editmamei/editmamei/dev/docs/media/batch-flip.webp" width="540" alt="Seventy-three travel photos graded in Photoshop from one sentence: the prompt, the grading calls three photos at a time, and the finished set."></a>
|
|
20
|
+
<br>
|
|
21
|
+
<sub>A real run: 73 travel photos, one sentence, graded in Photoshop.</sub>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
18
24
|
## How it works
|
|
19
25
|
|
|
20
26
|
Editmamei is a pure MCP **stdio** server written in Node. Your AI client launches it as a subprocess and calls its tools over stdio. Each tool builds a small Photoshop script and runs it in your local Photoshop over the platform's native automation channel:
|
|
@@ -75,7 +81,7 @@ These are the choices that shape the surface, and the reason an AI assistant can
|
|
|
75
81
|
|
|
76
82
|
## Tool surface
|
|
77
83
|
|
|
78
|
-
**
|
|
84
|
+
**107 tools total.** The Photoshop surface is **83 tools across 16 capability groups** (62 Community, 21 Pro), covering the work in groups rather than one tool per Photoshop feature. Every one is namespaced `ps_*` and discoverable at runtime via `tools/list`. Community tools ship in both editions; Pro tools unlock with a license. Alongside it, a second, independent editor surface drives headless GIMP: **24 `gimp_*` tools, Community, currently in beta**, see [GIMP (beta)](#gimp-beta) below. Pro's additions are Photoshop-only; GIMP has no Pro tier.
|
|
79
85
|
|
|
80
86
|
| Group | Edition | Tools |
|
|
81
87
|
| --- | --- | --- |
|
|
@@ -105,12 +111,12 @@ These are the choices that shape the surface, and the reason an AI assistant can
|
|
|
105
111
|
|
|
106
112
|
| Group | Edition | Tools |
|
|
107
113
|
| --- | --- | --- |
|
|
108
|
-
| **GIMP** | Community (beta) | `gimp_ping` · `gimp_overview` · `gimp_open_document` · `gimp_close_document` · `gimp_save_xcf` · `gimp_export` · `gimp_inspect` · `gimp_add_adjustment` · `gimp_filter` · `gimp_crop_document` · `gimp_resize_image` · `gimp_transform_canvas` · `gimp_create_mask` · `gimp_get_preview` · `gimp_get_histogram` · `gimp_compare` |
|
|
114
|
+
| **GIMP** | Community (beta) | `gimp_ping` · `gimp_overview` · `gimp_open_document` · `gimp_close_document` · `gimp_save_xcf` · `gimp_export` · `gimp_inspect` · `gimp_add_adjustment` · `gimp_add_effect` · `gimp_filter` · `gimp_bake` · `gimp_layer` · `gimp_create_document` · `gimp_place_image` · `gimp_canvas` · `gimp_convert_image_mode` · `gimp_crop_document` · `gimp_resize_image` · `gimp_transform_canvas` · `gimp_create_mask` · `gimp_checkpoint` · `gimp_get_preview` · `gimp_get_histogram` · `gimp_compare` |
|
|
109
115
|
|
|
110
116
|
## Editions
|
|
111
117
|
|
|
112
118
|
- **Community** is free and covers the everyday editing surface: documents, layers, selections (including AI Select Subject and Select Sky), non-destructive adjustments, filters, masks, type, retouching, on-device perception, and the inspect/verify primitives.
|
|
113
|
-
- **Pro** adds Camera Raw
|
|
119
|
+
- **Pro** adds Camera Raw as a re-editable filter, raw files developed before they open, folder batch, the reproducible-template system, the grounded precision tools (warp, named-object masks, precision placement), subject-instance and face-mesh targeting, and Photoshop Actions plus the scripting escape hatch.
|
|
114
120
|
|
|
115
121
|
Pro is a Photoshop-only upgrade: it adds nothing to the GIMP surface below.
|
|
116
122
|
|
|
@@ -122,7 +128,7 @@ This repository holds the Community source. Pro is a separately licensed module
|
|
|
122
128
|
|
|
123
129
|
Editmamei can also drive GIMP, headless, as a second editor alongside (or instead of) Photoshop. When GIMP 3.2+ is detected on your machine, a `gimp_*` tool set registers next to the `ps_*` one; use it when you ask for GIMP, or when Photoshop isn't available. There's no visible window: edits happen in a background `gimp-console` process, and you follow along through rendered previews in the conversation instead of watching a window change.
|
|
124
130
|
|
|
125
|
-
The beta covers documents (open, save `.xcf`, export), 13 non-destructive adjustment types, geometric masks, crop/resize/rotate/flip, and the same preview/histogram/compare verification primitives the Photoshop side has. It doesn't yet cover heal/clone, AI subject or sky selection,
|
|
131
|
+
The beta covers documents (open, create, save `.xcf`, export), layers and groups, placing one photo into another, 13 non-destructive adjustment types and six effects (vignette, black and white, motion and lens blur, noise, drop shadow), geometric masks, crop/resize/rotate/flip, canvas extension, color/grayscale conversion, checkpoints you can restore, and the same preview/histogram/compare verification primitives the Photoshop side has. It doesn't yet cover heal/clone, AI subject or sky selection, or text. Full details, requirements, and troubleshooting: [docs/gimp.md](docs/gimp.md).
|
|
126
132
|
|
|
127
133
|
## Build from source
|
|
128
134
|
|
|
@@ -164,6 +170,7 @@ The source in this repository is the same code published to npm, so none of the
|
|
|
164
170
|
- **Install:** [docs/installation.md](docs/installation.md)
|
|
165
171
|
- **Getting started:** [docs/getting-started.md](docs/getting-started.md)
|
|
166
172
|
- **FAQ:** [docs/faq.md](docs/faq.md)
|
|
173
|
+
- **AI clients:** [docs/clients.md](docs/clients.md)
|
|
167
174
|
- **Troubleshooting:** [docs/troubleshooting.md](docs/troubleshooting.md)
|
|
168
175
|
- **GIMP (beta):** [docs/gimp.md](docs/gimp.md)
|
|
169
176
|
- **Pro features:** [docs/pro-features.md](docs/pro-features.md)
|
|
@@ -37,6 +37,9 @@ export class GimpBackend {
|
|
|
37
37
|
get startOrigin() {
|
|
38
38
|
return this.session?.lastStartOrigin;
|
|
39
39
|
}
|
|
40
|
+
get generation() {
|
|
41
|
+
return this.session?.generation;
|
|
42
|
+
}
|
|
40
43
|
ensureSession() {
|
|
41
44
|
if (this.closed) {
|
|
42
45
|
throw new GimpError('gimp_session_restarted', 'session closed');
|