@assemblyline-agents/ffmpeg 5.0.10 → 6.0.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/README.md +17 -15
- package/ai.assemblyline/connections/ffmpeg.json +51 -0
- package/ai.assemblyline/index.cjs +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/plugin.json +11 -0
package/README.md
CHANGED
|
@@ -21,20 +21,22 @@ apt-get update && apt-get install -y ffmpeg
|
|
|
21
21
|
assembly-line add ffmpeg agent
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
The
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
The selected plugin enables every reviewed media operation. Require approval
|
|
25
|
+
for editing operations with typed connection exceptions:
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
capabilities:
|
|
29
|
+
ffmpeg:
|
|
30
|
+
connections:
|
|
31
|
+
ffmpeg:
|
|
32
|
+
approval:
|
|
33
|
+
trim_media: always
|
|
34
|
+
transcode_media: always
|
|
35
|
+
concat_media: always
|
|
36
|
+
replace_audio: always
|
|
37
|
+
reframe_vertical: always
|
|
33
38
|
```
|
|
34
39
|
|
|
35
|
-
Set `access: "approval-required"` if editing operations should pause for
|
|
36
|
-
approval.
|
|
37
|
-
|
|
38
40
|
The connection exposes:
|
|
39
41
|
|
|
40
42
|
- `probe_media`
|
|
@@ -45,7 +47,7 @@ The connection exposes:
|
|
|
45
47
|
- `extract_frames`
|
|
46
48
|
- `reframe_vertical`
|
|
47
49
|
|
|
48
|
-
All input and output paths must resolve inside
|
|
50
|
+
All input and output paths must resolve inside the plugin-owned workspace root, including
|
|
49
51
|
symlink targets. The deployment owner can select trusted `ffmpegCommand` and
|
|
50
52
|
`ffprobeCommand` paths; agents cannot replace those executables or add
|
|
51
53
|
unreviewed flags.
|
|
@@ -54,8 +56,8 @@ unreviewed flags.
|
|
|
54
56
|
clips to a common size, frame rate, codec, and audio layout before stitching
|
|
55
57
|
when they come from different devices or platforms.
|
|
56
58
|
|
|
57
|
-
`extract_frames` returns paths only by default.
|
|
58
|
-
|
|
59
|
+
`extract_frames` returns paths only by default. A custom plugin implementation
|
|
60
|
+
may set `previewFrames` from one through twelve when the user requests or approves a frame-based
|
|
59
61
|
approximation. Assembly Line never invokes frame sampling as a fallback for native
|
|
60
62
|
video understanding, and agents must not claim that sampled stills are
|
|
61
63
|
equivalent to watching temporal video.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "ffmpeg",
|
|
3
|
+
"role": "connection",
|
|
4
|
+
"packageName": "@assemblyline-agents/ffmpeg",
|
|
5
|
+
"helper": "defineFfmpegConnection",
|
|
6
|
+
"protocol": "mcp",
|
|
7
|
+
"transport": "stdio",
|
|
8
|
+
"provider": "ffmpeg",
|
|
9
|
+
"description": "Workspace-scoped media inspection, trimming, transcoding, stitching, audio replacement, frame extraction, and vertical reframing through FFmpeg.",
|
|
10
|
+
"capabilities": [
|
|
11
|
+
"mcp",
|
|
12
|
+
"live-tools",
|
|
13
|
+
"stdio"
|
|
14
|
+
],
|
|
15
|
+
"scopes": [],
|
|
16
|
+
"subject": "environment",
|
|
17
|
+
"tools": {
|
|
18
|
+
"allow": [
|
|
19
|
+
"probe_media",
|
|
20
|
+
"trim_media",
|
|
21
|
+
"transcode_media",
|
|
22
|
+
"concat_media",
|
|
23
|
+
"replace_audio",
|
|
24
|
+
"extract_frames",
|
|
25
|
+
"reframe_vertical"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"readToolPatterns": [
|
|
29
|
+
"probe_media"
|
|
30
|
+
],
|
|
31
|
+
"writeToolPatterns": [
|
|
32
|
+
"trim_media",
|
|
33
|
+
"transcode_media",
|
|
34
|
+
"concat_media",
|
|
35
|
+
"replace_audio",
|
|
36
|
+
"extract_frames",
|
|
37
|
+
"reframe_vertical"
|
|
38
|
+
],
|
|
39
|
+
"setup": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "connection",
|
|
42
|
+
"name": "ffmpeg-developer-configuration",
|
|
43
|
+
"required": true,
|
|
44
|
+
"message": "Install ffmpeg and ffprobe on the Assembly Line runtime host. The plugin keeps all media paths inside its configured workspace root and exposes typed operations instead of arbitrary FFmpeg flags."
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"requiredConfig": [],
|
|
48
|
+
"optionalConfig": [],
|
|
49
|
+
"requiredCredentials": [],
|
|
50
|
+
"optionalCredentials": []
|
|
51
|
+
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,2BAA2B,CAAC;AAKnC,MAAM,WAAW,uBAAwB,SAAQ,+BAA+B;IAC9E,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,2IAuBtE;AAED,eAAO,MAAM,kBAAkB,kDAA0C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import connectionContract_ffmpeg from "../ai.assemblyline/connections/ffmpeg.json" with { type: "json" };
|
|
1
2
|
import { resolve } from "node:path";
|
|
2
3
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import {
|
|
4
|
-
const PLUGIN =
|
|
4
|
+
import { definePlugin, defineStdioMcpPluginConnection } from "@assemblyline-agents/core";
|
|
5
|
+
const PLUGIN = connectionContract_ffmpeg;
|
|
5
6
|
const MCP_SERVER_PATH = fileURLToPath(new URL("./mcp-server.js", import.meta.url));
|
|
6
7
|
export function defineFfmpegConnection(options) {
|
|
7
8
|
const { workspaceRoot: configuredWorkspaceRoot, ffmpegCommand = "ffmpeg", ffprobeCommand = "ffprobe", ...connection } = options;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,MAAM,4CAA4C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,8BAA8B,EAE/B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,GAAG,yBAAgE,CAAC;AAChF,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAWnF,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,MAAM,EACJ,aAAa,EAAE,uBAAuB,EACtC,aAAa,GAAG,QAAQ,EACxB,cAAc,GAAG,SAAS,EAC1B,GAAG,UAAU,EACd,GAAG,OAAO,CAAC;IACZ,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,IAAI,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG;QACjB,eAAe;QACf,kBAAkB;QAClB,aAAa;QACb,kBAAkB;QAClB,aAAa;QACb,mBAAmB;QACnB,cAAc;KACf,CAAC;IACF,OAAO,8BAA8B,CAAC,MAAM,EAAE;QAC5C,GAAG,UAAU;QACb,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ;QAC/C,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU;QACnC,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,aAAa;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assemblyline-agents/ffmpeg",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -10,11 +10,13 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
13
|
-
"@assemblyline-agents/core": "
|
|
13
|
+
"@assemblyline-agents/core": "6.0.0"
|
|
14
14
|
},
|
|
15
15
|
"description": "Official Assembly Line workspace-scoped FFmpeg connection plugin.",
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
17
|
+
"dist",
|
|
18
|
+
"plugin.json",
|
|
19
|
+
"ai.assemblyline"
|
|
18
20
|
],
|
|
19
21
|
"engines": {
|
|
20
22
|
"node": ">=22.19.0"
|
package/plugin.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "ffmpeg",
|
|
4
|
+
"version": "6.0.0",
|
|
5
|
+
"description": "Official Assembly Line workspace-scoped FFmpeg connection plugin.",
|
|
6
|
+
"extensions": {
|
|
7
|
+
"ai.assemblyline": {
|
|
8
|
+
"entry": "./ai.assemblyline/index.cjs"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|