@remixmate/cli 0.9.16 → 0.9.18
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/dist/cli.js +12 -0
- package/dist/doctor.js +21 -0
- package/dist/manifest.json +2 -2
- package/dist/project/commands.d.ts +19 -0
- package/dist/project/commands.js +156 -0
- package/dist/project/host.d.ts +77 -0
- package/dist/project/host.js +106 -0
- package/dist/project/resolve.d.ts +43 -0
- package/dist/project/resolve.js +65 -0
- package/dist/project/store.d.ts +31 -0
- package/dist/project/store.js +97 -0
- package/dist/project/take.d.ts +46 -0
- package/dist/project/take.js +102 -0
- package/dist/registry.d.ts +6 -0
- package/dist/registry.js +3 -0
- package/dist/runner.d.ts +18 -0
- package/dist/runner.js +85 -0
- package/dist/skill-schema.d.ts +23 -0
- package/dist/skill-schema.js +31 -0
- package/package.json +1 -1
- package/skills/gen-digital-human/skill.json +78 -17
- package/skills/gen-image/skill.json +66 -15
- package/skills/gen-video/skill.json +73 -17
- package/skills/gen-voice/skill.json +34 -8
- package/skills/prepare-video-assets/skill.json +43 -9
- package/skills/render-video/SKILL.md +11 -1
- package/skills/render-video/scripts/render_video.py +20 -0
- package/skills/render-video/skill.json +44 -8
- package/skills/video-parser/skill.json +29 -7
- package/skills/web-record/skill.json +137 -33
- package/skills/web-screenshot/skill.json +66 -16
|
@@ -6,42 +6,146 @@
|
|
|
6
6
|
"title": "Web Page Recording",
|
|
7
7
|
"description": "Drive a headless browser (Playwright Python) to RECORD any URL to a video, then (by default) transcode to mp4, grab a cover frame, upload to VOD and return a playable CDN URL. Modes: fixed-duration recording, condition-triggered stop (element appears / disappears), auto-scroll from top to bottom, custom storyboards, and parameterized templates. Storyboard scenes: highlight / focus / zoom / scroll / virtual-cursor click / type / hover / caption / title-card / arrow / numbered sequence / redact / code-line highlight. For still images (png/jpg) use the web_screenshot tool instead. Use this tool whenever the user wants a video / recording / screencast of a web page: record a page, scroll-through video, page-from-top-to-bottom clip, demo of clicks/typing/hover, storyboard / multi-scene intro video, or a template-based clip.",
|
|
8
8
|
"auth": "optional",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
9
|
+
"joinsTake": true,
|
|
10
|
+
"envVars": [
|
|
11
|
+
"WEB_CAPTURE_BROWSER",
|
|
12
|
+
"WEB_CAPTURE_OUTPUT_BASE",
|
|
13
|
+
"WEB_CAPTURE_NO_SANDBOX",
|
|
14
|
+
"WEB_CAPTURE_ALLOW_PRIVATE_HOSTS",
|
|
15
|
+
"PLAYWRIGHT_BROWSERS_PATH",
|
|
16
|
+
"REMOTION_RENDER_API_URL",
|
|
17
|
+
"PRIV_TOKEN"
|
|
18
|
+
],
|
|
19
|
+
"entry": {
|
|
20
|
+
"type": "python",
|
|
21
|
+
"scriptPath": "../web-screenshot/scripts/record.py"
|
|
22
|
+
},
|
|
11
23
|
"parameters": {
|
|
12
24
|
"type": "object",
|
|
13
25
|
"properties": {
|
|
14
|
-
"url": {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
26
|
+
"url": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "Target page URL (http/https). May be omitted only when a template or storyboard JSON supplies its own url."
|
|
29
|
+
},
|
|
30
|
+
"output": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "Local output path, must end in .webm (default recording.webm)"
|
|
33
|
+
},
|
|
34
|
+
"browser": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "chromium | firefox | webkit (default chromium; chromium recommended for recording)"
|
|
37
|
+
},
|
|
38
|
+
"device": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Device emulation name, e.g. 'iPhone 15 Pro'"
|
|
41
|
+
},
|
|
42
|
+
"viewport": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "Viewport as 'width,height', e.g. '1280,720'"
|
|
45
|
+
},
|
|
46
|
+
"duration": {
|
|
47
|
+
"type": "number",
|
|
48
|
+
"description": "Fixed recording length in ms"
|
|
49
|
+
},
|
|
50
|
+
"stop_when_selector": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Stop recording once this CSS selector appears"
|
|
53
|
+
},
|
|
54
|
+
"stop_when_hidden": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "Stop recording once this CSS selector disappears"
|
|
57
|
+
},
|
|
58
|
+
"max_duration": {
|
|
59
|
+
"type": "number",
|
|
60
|
+
"description": "Safety cap (ms) for condition-based stop modes (default 60000)"
|
|
61
|
+
},
|
|
62
|
+
"scroll_through": {
|
|
63
|
+
"type": "boolean",
|
|
64
|
+
"description": "Auto-scroll smoothly from top to bottom while recording"
|
|
65
|
+
},
|
|
66
|
+
"scroll_step": {
|
|
67
|
+
"type": "number",
|
|
68
|
+
"description": "Pixels per scroll step (default 60)"
|
|
69
|
+
},
|
|
70
|
+
"scroll_interval": {
|
|
71
|
+
"type": "number",
|
|
72
|
+
"description": "Interval between scroll steps in ms (default 50)"
|
|
73
|
+
},
|
|
74
|
+
"scroll_pause_top": {
|
|
75
|
+
"type": "number",
|
|
76
|
+
"description": "Pause at the top before scrolling, ms (default 800)"
|
|
77
|
+
},
|
|
78
|
+
"scroll_pause_bottom": {
|
|
79
|
+
"type": "number",
|
|
80
|
+
"description": "Pause at the bottom after scrolling, ms (default 1200)"
|
|
81
|
+
},
|
|
82
|
+
"storyboard": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Path to a storyboard JSON file describing scenes (mutually exclusive with template)"
|
|
85
|
+
},
|
|
86
|
+
"template": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Template name under templates/ (e.g. github-repo-intro); combine with param (mutually exclusive with storyboard)"
|
|
89
|
+
},
|
|
90
|
+
"param": {
|
|
91
|
+
"type": "array",
|
|
92
|
+
"description": "Template params as 'key=value' strings; repeatable"
|
|
93
|
+
},
|
|
94
|
+
"list_templates": {
|
|
95
|
+
"type": "boolean",
|
|
96
|
+
"description": "List available templates and exit"
|
|
97
|
+
},
|
|
98
|
+
"wait_for_selector": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Wait for this CSS selector before recording"
|
|
101
|
+
},
|
|
102
|
+
"wait_for_timeout": {
|
|
103
|
+
"type": "number",
|
|
104
|
+
"description": "Fixed wait (ms) before recording"
|
|
105
|
+
},
|
|
106
|
+
"color_scheme": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"description": "light | dark | no-preference (emulate prefers-color-scheme)"
|
|
109
|
+
},
|
|
110
|
+
"user_agent": {
|
|
111
|
+
"type": "string",
|
|
112
|
+
"description": "Override User-Agent"
|
|
113
|
+
},
|
|
114
|
+
"timeout": {
|
|
115
|
+
"type": "number",
|
|
116
|
+
"description": "Playwright global action timeout in ms"
|
|
117
|
+
},
|
|
118
|
+
"ignore_https_errors": {
|
|
119
|
+
"type": "boolean",
|
|
120
|
+
"description": "Ignore HTTPS certificate errors"
|
|
121
|
+
},
|
|
122
|
+
"storage_state": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "storageState JSON file path (logged-in recording)"
|
|
125
|
+
},
|
|
126
|
+
"cookies": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "Playwright cookies JSON string or file (top-level array)"
|
|
129
|
+
},
|
|
130
|
+
"no_upload": {
|
|
131
|
+
"type": "boolean",
|
|
132
|
+
"description": "Skip VOD upload; keep only the local webm. By default the recording is transcoded to mp4, a cover frame is grabbed, uploaded to VOD, and a playable CDN URL is returned."
|
|
133
|
+
},
|
|
134
|
+
"vod_title": {
|
|
135
|
+
"type": "string",
|
|
136
|
+
"description": "Title for the uploaded VOD asset (defaults to the output file name)"
|
|
137
|
+
},
|
|
138
|
+
"cover_at_sec": {
|
|
139
|
+
"type": "number",
|
|
140
|
+
"description": "Cover frame timestamp in seconds (default 0.5)"
|
|
141
|
+
},
|
|
142
|
+
"keep_webm": {
|
|
143
|
+
"type": "boolean",
|
|
144
|
+
"description": "Keep the local webm after a successful upload (default: delete it since VOD holds the copy)"
|
|
145
|
+
}
|
|
44
146
|
},
|
|
45
|
-
"required": [
|
|
147
|
+
"required": [
|
|
148
|
+
"url"
|
|
149
|
+
]
|
|
46
150
|
}
|
|
47
151
|
}
|
|
@@ -6,25 +6,75 @@
|
|
|
6
6
|
"title": "Web Page Screenshot",
|
|
7
7
|
"description": "Drive a headless browser (Playwright Python) to capture any URL to a local STILL IMAGE (png/jpg): full-page / viewport / element / region screenshots, with device emulation, waiting, hide/mask/redact, and static annotations (highlight / arrow / caption / numbered sequence / redact). Images only — for video / recording / scroll-through / storyboard clips (webm) use the web_record tool instead.",
|
|
8
8
|
"auth": "none",
|
|
9
|
-
"envVars": [
|
|
10
|
-
|
|
9
|
+
"envVars": [
|
|
10
|
+
"WEB_CAPTURE_BROWSER",
|
|
11
|
+
"WEB_CAPTURE_OUTPUT_BASE",
|
|
12
|
+
"WEB_CAPTURE_NO_SANDBOX",
|
|
13
|
+
"WEB_CAPTURE_ALLOW_PRIVATE_HOSTS",
|
|
14
|
+
"PLAYWRIGHT_BROWSERS_PATH"
|
|
15
|
+
],
|
|
16
|
+
"entry": {
|
|
17
|
+
"type": "python",
|
|
18
|
+
"scriptPath": "scripts/screenshot.py"
|
|
19
|
+
},
|
|
11
20
|
"parameters": {
|
|
12
21
|
"type": "object",
|
|
13
22
|
"properties": {
|
|
14
|
-
"url": {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
23
|
+
"url": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Target page URL (http/https)"
|
|
26
|
+
},
|
|
27
|
+
"output": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Local output path, must be an image (*.png / *.jpg, default screenshot.png). For .webm video use the web_record tool."
|
|
30
|
+
},
|
|
31
|
+
"browser": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "chromium | firefox | webkit (default chromium)"
|
|
34
|
+
},
|
|
35
|
+
"device": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "Device emulation name, e.g. 'iPhone 15 Pro'"
|
|
38
|
+
},
|
|
39
|
+
"viewport": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Viewport as 'width,height', e.g. '1280,800'"
|
|
42
|
+
},
|
|
43
|
+
"full_page": {
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"description": "screenshot.py: capture the whole scrollable page"
|
|
46
|
+
},
|
|
47
|
+
"selector": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "screenshot.py: capture only the element matching this CSS selector"
|
|
50
|
+
},
|
|
51
|
+
"clip": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "screenshot.py: region clip 'x,y,w,h' (combined with selector = offset from element box)"
|
|
54
|
+
},
|
|
55
|
+
"wait_for_selector": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "Wait for this CSS selector before acting"
|
|
58
|
+
},
|
|
59
|
+
"wait_for_timeout": {
|
|
60
|
+
"type": "number",
|
|
61
|
+
"description": "Fixed wait (ms) before acting"
|
|
62
|
+
},
|
|
63
|
+
"annotate": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "screenshot.py: annotation JSON file or string (array or {annotations, settleMs})"
|
|
66
|
+
},
|
|
67
|
+
"storage_state": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "storageState JSON file path (logged-in capture)"
|
|
70
|
+
},
|
|
71
|
+
"cookies": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "Playwright cookies JSON string or file (top-level array)"
|
|
74
|
+
}
|
|
27
75
|
},
|
|
28
|
-
"required": [
|
|
76
|
+
"required": [
|
|
77
|
+
"url"
|
|
78
|
+
]
|
|
29
79
|
}
|
|
30
80
|
}
|