@clipwright/mcp-server 0.16.0 → 0.17.0
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/CHANGELOG.md +49 -0
- package/dist/format.js +5 -1
- package/dist/format.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,55 @@ a customer reading it should not miss what appeared in the product. Like *Server
|
|
|
16
16
|
they are live from the day the web app was deployed, not from the package release they are
|
|
17
17
|
listed under.
|
|
18
18
|
|
|
19
|
+
## [0.17.0] - 2026-09-16
|
|
20
|
+
|
|
21
|
+
Everything here came out of the second dry run by a tester who had not seen the
|
|
22
|
+
product before.
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- The MCP server reports money. `make_ugc` carries `credits_reserved` and
|
|
27
|
+
`get_run` carries `credits_charged`, in every state, so an agent no longer has
|
|
28
|
+
to call `get_account` before and after and subtract. The field names come from
|
|
29
|
+
the run schema, so REST and MCP cannot drift apart. (clipwright#209)
|
|
30
|
+
- *Server-side:* in `GET /v1/voices`, each entry of `models` carries
|
|
31
|
+
`vendor_verifies_voices` — whether the vendor's library listing marks any voice
|
|
32
|
+
as verified for that model. It is `false` for `eleven_v3` (measured: none of
|
|
33
|
+
303 live catalog voices), so an empty `verified_models` on that model says
|
|
34
|
+
nothing about the voice. (clipwright#208)
|
|
35
|
+
- *Server-side:* a voice whose gender differs from the actor's is named in
|
|
36
|
+
`warnings`, in the quote and in the run. The combination still runs as asked —
|
|
37
|
+
voicing a man with a female voice is sometimes deliberate — but it is no longer
|
|
38
|
+
silent. (clipwright#210)
|
|
39
|
+
- *Server-side:* an `image` smaller than the output on its short side gets a
|
|
40
|
+
warning that the source is upscaled, with both sizes and the size to send
|
|
41
|
+
instead. The default actor is silent: its size is a property of our own image,
|
|
42
|
+
stated once in the docs. (clipwright#211)
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- *Server-side:* a request body that is not valid JSON answers 400
|
|
47
|
+
`malformed_body`, not 500. A 500 says the failure is ours, so an agent retries
|
|
48
|
+
bytes that will never parse; the new message says both what to fix and that a
|
|
49
|
+
retry fails the same way. (clipwright#212)
|
|
50
|
+
- *Server-side:* a source we cannot use — private or loopback host, http,
|
|
51
|
+
unreachable, redirecting, over 10 MB, or not PNG/JPEG/WebP — is refused with
|
|
52
|
+
400 `unusable_source` before any charge, in the quote and in the run alike.
|
|
53
|
+
It used to be priced: a loopback url answered 200 and an estimate, while the
|
|
54
|
+
tool description promised a refusal. (clipwright#213)
|
|
55
|
+
- *Server-side:* refusals on `script`, `voice`, `voice_id` and `image` are
|
|
56
|
+
written in the product's words instead of the schema library's, and the
|
|
57
|
+
description of `script` no longer names a field the API rejects.
|
|
58
|
+
(clipwright#212)
|
|
59
|
+
- *Dashboard:* the root of the cabinet host sends a signed-in visitor to their
|
|
60
|
+
dashboard instead of showing the landing page with a "Sign in" button.
|
|
61
|
+
(clipwright#214)
|
|
62
|
+
- *Dashboard:* every tile on `/videos` prints its `run_id` and links to the
|
|
63
|
+
support form with it. The id used to live only in the preview image's alt
|
|
64
|
+
text, so tiles without a preview had none at all. (clipwright#215)
|
|
65
|
+
- *Dashboard:* the REST example on `/quickstart` runs unchanged in any shell: one
|
|
66
|
+
line, no backslash continuations and no shell substitution. (clipwright#211)
|
|
67
|
+
|
|
19
68
|
## [0.16.0] - 2026-09-16
|
|
20
69
|
|
|
21
70
|
### Added
|
package/dist/format.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FAILED_STATE, isTerminal } from "@clipwright/core";
|
|
1
|
+
import { FAILED_STATE, isTerminal, runMoney, VIDEO_URL_CHECK } from "@clipwright/core";
|
|
2
2
|
import { ClipwrightApiError } from "@clipwright/sdk";
|
|
3
3
|
/**
|
|
4
4
|
* ОТКАЗ API, РАЗВЁРНУТЫЙ ДЛЯ АГЕНТА (US-622).
|
|
@@ -72,6 +72,7 @@ export function formatGetRun(run) {
|
|
|
72
72
|
status: "FAILED",
|
|
73
73
|
run_id: run.run_id,
|
|
74
74
|
state: run.state,
|
|
75
|
+
...runMoney(run),
|
|
75
76
|
// Правило проекта №3: расхождения никогда не молчат — warnings
|
|
76
77
|
// пробрасываются в КАЖДУЮ ветку get_run (US-512).
|
|
77
78
|
warnings: run.warnings,
|
|
@@ -89,7 +90,9 @@ export function formatGetRun(run) {
|
|
|
89
90
|
status: "SUCCEEDED",
|
|
90
91
|
run_id: run.run_id,
|
|
91
92
|
state: run.state,
|
|
93
|
+
...runMoney(run),
|
|
92
94
|
video_url: run.final_output?.video_url ?? null,
|
|
95
|
+
video_url_check: VIDEO_URL_CHECK,
|
|
93
96
|
duration_seconds: run.final_output?.duration_seconds ?? null,
|
|
94
97
|
warnings: run.warnings,
|
|
95
98
|
}),
|
|
@@ -107,6 +110,7 @@ export function formatGetRun(run) {
|
|
|
107
110
|
status: "IN_PROGRESS",
|
|
108
111
|
run_id: run.run_id,
|
|
109
112
|
state: run.state,
|
|
113
|
+
...runMoney(run),
|
|
110
114
|
video_url: null,
|
|
111
115
|
warnings: run.warnings,
|
|
112
116
|
next_action: "Video is NOT ready. Call get_run with run_id=" +
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAgB,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAYrD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,kBAAkB,CAAC;QAAE,MAAM,KAAK,CAAC;IACxD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAoC;IAEpC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,mEAAmE;QACnE,0EAA0E;QAC1E,iBAAiB;QACjB,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,GAAG,CAAC,MAAM;4BAClB,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,GAAG,QAAQ,CAAC,GAAG,CAAC;4BAChB,+DAA+D;4BAC/D,kDAAkD;4BAClD,QAAQ,EAAE,GAAG,CAAC,QAAQ;4BACtB,KAAK,EAAE,GAAG,CAAC,KAAK;yBACjB,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;wBAChB,GAAG,QAAQ,CAAC,GAAG,CAAC;wBAChB,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,SAAS,IAAI,IAAI;wBAC9C,eAAe,EAAE,eAAe;wBAChC,gBAAgB,EAAE,GAAG,CAAC,YAAY,EAAE,gBAAgB,IAAI,IAAI;wBAC5D,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,gDAAgD;IAChD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,QAAQ,CAAC,GAAG,CAAC;oBAChB,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,WAAW,EACT,+CAA+C;wBAC/C,GAAG,CAAC,MAAM;wBACV,mFAAmF;wBACnF,wDAAwD;iBAC3D,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clipwright/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "MCP server for Clipwright: generate UGC videos from your coding agent",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
31
31
|
"zod": "^4.4.3",
|
|
32
|
-
"@clipwright/
|
|
33
|
-
"@clipwright/
|
|
32
|
+
"@clipwright/core": "0.17.0",
|
|
33
|
+
"@clipwright/sdk": "0.17.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^26.1.1"
|