n8n-nodes-kinescope 0.2.0 → 0.3.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 +47 -11
- package/dist/nodes/Kinescope/Kinescope.node.d.ts +1 -0
- package/dist/nodes/Kinescope/Kinescope.node.js +7 -1
- package/dist/nodes/Kinescope/Kinescope.node.js.map +1 -1
- package/dist/nodes/Kinescope/methods.d.ts +1 -0
- package/dist/nodes/Kinescope/methods.js +16 -0
- package/dist/nodes/Kinescope/methods.js.map +1 -1
- package/dist/nodes/Kinescope/props.d.ts +2 -0
- package/dist/nodes/Kinescope/props.js +25 -0
- package/dist/nodes/Kinescope/props.js.map +1 -1
- package/dist/nodes/Kinescope/resources/folder.d.ts +2 -0
- package/dist/nodes/Kinescope/resources/folder.js +58 -0
- package/dist/nodes/Kinescope/resources/folder.js.map +1 -0
- package/dist/nodes/Kinescope/resources/project.d.ts +7 -0
- package/dist/nodes/Kinescope/resources/project.js +108 -0
- package/dist/nodes/Kinescope/resources/project.js.map +1 -0
- package/dist/nodes/Kinescope/resources/subtitle.d.ts +11 -0
- package/dist/nodes/Kinescope/resources/subtitle.js +380 -0
- package/dist/nodes/Kinescope/resources/subtitle.js.map +1 -0
- package/dist/nodes/Kinescope/resources/video.js +133 -0
- package/dist/nodes/Kinescope/resources/video.js.map +1 -1
- package/dist/shared/transport.d.ts +7 -0
- package/dist/shared/transport.js +15 -7
- package/dist/shared/transport.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
# n8n-nodes-kinescope
|
|
2
2
|
|
|
3
3
|
n8n community nodes for [Kinescope](https://kinescope.io), the video hosting platform, and Speak,
|
|
4
|
-
its video meeting tool. An action node with
|
|
4
|
+
its video meeting tool. An action node with 46 operations across 12 resources — Speak rooms and
|
|
5
5
|
signed admin links to them, participants, calls with their recordings and transcripts, restream
|
|
6
|
-
destinations, catalog videos with download,
|
|
7
|
-
|
|
6
|
+
destinations, catalog videos with download, upload by URL, editing and moving, subtitles by speech
|
|
7
|
+
recognition, projects and folders, users, webhooks and signing keys, plus a Custom Request for every
|
|
8
|
+
other route — and a trigger that subscribes itself to Kinescope's webhooks.
|
|
8
9
|
|
|
9
10
|
Written from scratch against the official documentation
|
|
10
11
|
([docs.kinescope.com/api](https://docs.kinescope.com/api/speak/), read on 22.10.2026). No code from
|
|
11
12
|
any other package.
|
|
12
13
|
|
|
13
|
-
**Status: 0.
|
|
14
|
+
**Status: 0.3.0.** Every operation ran against a live Kinescope workspace, the trigger included;
|
|
14
15
|
the two transcript operations ran but never met a transcript. See [What was checked](#what-was-checked). Where Kinescope behaves differently from its
|
|
15
16
|
documentation, this README says so.
|
|
16
17
|
|
|
@@ -58,7 +59,10 @@ operations lack.
|
|
|
58
59
|
| Participant | Add, Get, Get Many, Update, Remove |
|
|
59
60
|
| Call | Get, Get Many, Get Recordings, Get Transcript, Download Transcript |
|
|
60
61
|
| Restream Destination | Get Many, Update |
|
|
61
|
-
| Video | Get, Get Many, Download, Delete |
|
|
62
|
+
| Video | Get, Get Many, Download, Update, Move, Upload From URL, Delete |
|
|
63
|
+
| Subtitle | Generate, Get, Get Many, Download, Upload, Update, Delete |
|
|
64
|
+
| Project | Create, Get, Get Many |
|
|
65
|
+
| Folder | Create, Get Many |
|
|
62
66
|
| User | Get Many |
|
|
63
67
|
| Webhook | Create, Get Many, Update, Delete |
|
|
64
68
|
| Signing Key | Register, Get Many, Delete |
|
|
@@ -133,6 +137,26 @@ For a Speak recording Kinescope lists `file_size` of the video stream alone, whi
|
|
|
133
137
|
audio too and downloads larger. The node passes the figure on as `listedFileSize`
|
|
134
138
|
rather than pretending it is the file's size.
|
|
135
139
|
|
|
140
|
+
**Video → Update** changes the title, description and embedding privacy; **Move** puts a video into
|
|
141
|
+
another project or folder, its ID and links unchanged. **Upload From URL** has Kinescope fetch a file
|
|
142
|
+
from a direct link or a YouTube address and returns at once with status `uploading`. Upload headers
|
|
143
|
+
carry Latin-1 only, so the node percent-encodes the title, description and file name, and Kinescope
|
|
144
|
+
decodes them: a title with Cyrillic, guillemets, `&` and `%` arrived intact. Uploading a file from
|
|
145
|
+
n8n itself is not here yet.
|
|
146
|
+
|
|
147
|
+
**Subtitle → Generate** has Kinescope recognise the speech of a video, one track per language code.
|
|
148
|
+
Kinescope answers at once with the tracks `pending`; with Wait for Recognition on, the node polls
|
|
149
|
+
every ten seconds until they are `done`. A 16-second clip of Russian speech was done within the
|
|
150
|
+
first poll and came back word for word, without punctuation and without speaker names. **Download**
|
|
151
|
+
gives the cues as items with start and end in seconds, the text, or a VTT or SRT file. **Upload**
|
|
152
|
+
attaches a VTT or SRT file from binary data. Kinescope rejects an audio-only file as a video, so the
|
|
153
|
+
check used a video with sound. What recognition costs is not in Kinescope's API reference; see your
|
|
154
|
+
plan.
|
|
155
|
+
|
|
156
|
+
**Project** and **Folder** list and create the places videos live in; Move and Upload From URL pick
|
|
157
|
+
them from dropdowns. Kinescope returns a project's privacy domains as record IDs, not as the domain
|
|
158
|
+
names sent.
|
|
159
|
+
|
|
136
160
|
**Webhook.** Kinescope returns the Basic Auth password of a webhook in plain text, though its
|
|
137
161
|
reference shows it redacted; Get Many leaves it out unless Include Password is on. Kinescope's update
|
|
138
162
|
replaces the whole webhook and refuses an empty endpoint or event list, so Update reads the current
|
|
@@ -190,6 +214,13 @@ into n8n's binary storage either way.
|
|
|
190
214
|
|
|
191
215
|
From the other side — a call ID in hand — **Call → Get Recordings** finds its videos.
|
|
192
216
|
|
|
217
|
+
To keep the recording tidy, **Video → Update** gives it a title after the meeting and **Video → Move**
|
|
218
|
+
takes it out of `Speak Records` into the project or folder it belongs in.
|
|
219
|
+
|
|
220
|
+
For the text of the meeting, **Subtitle → Generate** with Wait for Recognition on and then
|
|
221
|
+
**Subtitle → Download** as Text. It is speech recognition of the recording — one stream of text with
|
|
222
|
+
no speaker names — and works where Speak's own transcript does not appear, see below.
|
|
223
|
+
|
|
193
224
|
A recording a few seconds long and without sound ended in status `error` with no files; a longer one
|
|
194
225
|
with sound went through.
|
|
195
226
|
|
|
@@ -215,14 +246,16 @@ What Kinescope's API gives today:
|
|
|
215
246
|
|
|
216
247
|
## Not here, or not known
|
|
217
248
|
|
|
218
|
-
- **
|
|
219
|
-
transcript: `transcript_id` stayed empty. Like automatic recording it may wait for the owner.
|
|
220
|
-
Transcript and Download Transcript are written to the reference and its example
|
|
221
|
-
(`[MM:SS.T-MM:SS.T] Speaker: Text`) and are untested against a real transcript.
|
|
249
|
+
- **Speak transcripts were not seen.** Automatic Transcription was on in the test room, yet no call
|
|
250
|
+
got a transcript: `transcript_id` stayed empty. Like automatic recording it may wait for the owner.
|
|
251
|
+
Get Transcript and Download Transcript are written to the reference and its example
|
|
252
|
+
(`[MM:SS.T-MM:SS.T] Speaker: Text`) and are untested against a real transcript. Subtitle → Generate
|
|
253
|
+
on the recording gives the text without speakers.
|
|
222
254
|
- Restream destinations cannot be started, stopped, added to an existing room or removed one by one
|
|
223
255
|
through the API; the room interface does that.
|
|
224
|
-
- Live events, playlists, players
|
|
225
|
-
|
|
256
|
+
- Live events, playlists, players and analytics are reachable through Custom Request only. Uploading
|
|
257
|
+
a file from n8n is not: the uploader host takes only Upload From URL here, and Custom Request is
|
|
258
|
+
fixed to `api.kinescope.io`.
|
|
226
259
|
|
|
227
260
|
## What was checked
|
|
228
261
|
|
|
@@ -239,6 +272,9 @@ runtime:
|
|
|
239
272
|
video and an audio track; Video → Delete on the test recordings;
|
|
240
273
|
- the trigger's registration, re-registration and removal against the API, and a real Kinescope
|
|
241
274
|
delivery with its Basic Auth header;
|
|
275
|
+
- Subtitle, Project, Folder and Video → Update, Move and Upload From URL in a test project, its
|
|
276
|
+
videos and folders deleted afterwards: recognition of a Russian speech clip, every download format,
|
|
277
|
+
an SRT uploaded and read back;
|
|
242
278
|
- the generated signing key in n8n 2.38.5 itself: made on the first request, the same key in later
|
|
243
279
|
executions and after the credential was saved again from the editor, blanked out in the editor;
|
|
244
280
|
- the error texts for a malformed ID, a missing call, a refused event, a sort field Kinescope does not
|
|
@@ -5,6 +5,7 @@ export declare class Kinescope implements INodeType {
|
|
|
5
5
|
loadOptions: {
|
|
6
6
|
getRooms(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
7
7
|
getUsers(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
8
|
+
getFolders(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
8
9
|
getProjects(this: import("n8n-workflow").ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
|
|
9
10
|
};
|
|
10
11
|
};
|
|
@@ -7,10 +7,13 @@ const transport_1 = require("../../shared/transport");
|
|
|
7
7
|
const methods_1 = require("./methods");
|
|
8
8
|
const call_1 = require("./resources/call");
|
|
9
9
|
const customRequest_1 = require("./resources/customRequest");
|
|
10
|
+
const folder_1 = require("./resources/folder");
|
|
10
11
|
const participant_1 = require("./resources/participant");
|
|
12
|
+
const project_1 = require("./resources/project");
|
|
11
13
|
const restream_1 = require("./resources/restream");
|
|
12
14
|
const room_1 = require("./resources/room");
|
|
13
15
|
const signingKey_1 = require("./resources/signingKey");
|
|
16
|
+
const subtitle_1 = require("./resources/subtitle");
|
|
14
17
|
const user_1 = require("./resources/user");
|
|
15
18
|
const video_1 = require("./resources/video");
|
|
16
19
|
const webhook_1 = require("./resources/webhook");
|
|
@@ -20,6 +23,9 @@ const resources = [
|
|
|
20
23
|
call_1.callResource,
|
|
21
24
|
restream_1.restreamResource,
|
|
22
25
|
video_1.videoResource,
|
|
26
|
+
subtitle_1.subtitleResource,
|
|
27
|
+
project_1.projectResource,
|
|
28
|
+
folder_1.folderResource,
|
|
23
29
|
user_1.userResource,
|
|
24
30
|
webhook_1.webhookResource,
|
|
25
31
|
signingKey_1.signingKeyResource,
|
|
@@ -38,7 +44,7 @@ class Kinescope {
|
|
|
38
44
|
defaults: { name: 'Kinescope' },
|
|
39
45
|
usableAsTool: true,
|
|
40
46
|
builderHint: {
|
|
41
|
-
searchHint: 'Kinescope is a video hosting platform; Speak is its video meeting tool. Room → Create needs an owner ID from User → Get Many and returns the link people join by; recording and transcription can start automatically. Each meeting held in a room is a Call: Call → Download Transcript gives phrases with speaker and time, or talk time per speaker, once Get Transcript reports status done. Meeting recordings land in the catalog as videos: Video → Download gets the original file or a signed link for Google Drive, Yandex Disk or S3; duration is in seconds. Automatic recording starts only when the owner joins; Room → Get Admin Link signs a link that lets a host in as admin, after the signing key of the credential is registered once with Signing Key → Register. Who joined a meeting is not in the API, only in Speak webhooks. Custom Request reaches every other route. Tokens are per workspace.',
|
|
47
|
+
searchHint: 'Kinescope is a video hosting platform; Speak is its video meeting tool. Room → Create needs an owner ID from User → Get Many and returns the link people join by; recording and transcription can start automatically. Each meeting held in a room is a Call: Call → Download Transcript gives phrases with speaker and time, or talk time per speaker, once Get Transcript reports status done. Meeting recordings land in the catalog as videos: Video → Download gets the original file or a signed link for Google Drive, Yandex Disk or S3; duration is in seconds. Automatic recording starts only when the owner joins; Room → Get Admin Link signs a link that lets a host in as admin, after the signing key of the credential is registered once with Signing Key → Register. Subtitle → Generate (Wait for Recognition on) then Subtitle → Download as Text gives the text of a recording without speaker names. Video → Update renames a recording, Video → Move files it into a project or folder from Project → Get Many and Folder → Get Many. Who joined a meeting is not in the API, only in Speak webhooks. Custom Request reaches every other route. Tokens are per workspace.',
|
|
42
48
|
relatedNodes: [
|
|
43
49
|
{
|
|
44
50
|
nodeType: 'n8n-nodes-kinescope.kinescopeTrigger',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Kinescope.node.js","sourceRoot":"","sources":["../../../nodes/Kinescope/Kinescope.node.ts"],"names":[],"mappings":";;;AAMA,+CAAmD;AAGnD,4CAAsE;AACtE,sDAAoD;AACpD,uCAAwC;AACxC,2CAAgD;AAChD,6DAAkE;AAClE,yDAA8D;AAC9D,mDAAwD;AACxD,2CAAgD;AAChD,uDAA4D;AAC5D,2CAAgD;AAChD,6CAAkD;AAClD,iDAAsD;AAEtD,MAAM,SAAS,GAAe;IAC7B,mBAAY;IACZ,iCAAmB;IACnB,mBAAY;IACZ,2BAAgB;IAChB,qBAAa;IACb,mBAAY;IACZ,yBAAe;IACf,+BAAkB;IAClB,qCAAqB;CACrB,CAAC;AAEF,MAAa,SAAS;IAAtB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,WAAW;YAEjB,IAAI,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,qCAAqC,EAAE;YAC9F,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,gEAAgE;YAC1E,WAAW,EACV,yHAAyH;YAC1H,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACZ,UAAU,EACT,
|
|
1
|
+
{"version":3,"file":"Kinescope.node.js","sourceRoot":"","sources":["../../../nodes/Kinescope/Kinescope.node.ts"],"names":[],"mappings":";;;AAMA,+CAAmD;AAGnD,4CAAsE;AACtE,sDAAoD;AACpD,uCAAwC;AACxC,2CAAgD;AAChD,6DAAkE;AAClE,+CAAoD;AACpD,yDAA8D;AAC9D,iDAAsD;AACtD,mDAAwD;AACxD,2CAAgD;AAChD,uDAA4D;AAC5D,mDAAwD;AACxD,2CAAgD;AAChD,6CAAkD;AAClD,iDAAsD;AAEtD,MAAM,SAAS,GAAe;IAC7B,mBAAY;IACZ,iCAAmB;IACnB,mBAAY;IACZ,2BAAgB;IAChB,qBAAa;IACb,2BAAgB;IAChB,yBAAe;IACf,uBAAc;IACd,mBAAY;IACZ,yBAAe;IACf,+BAAkB;IAClB,qCAAqB;CACrB,CAAC;AAEF,MAAa,SAAS;IAAtB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,WAAW;YAEjB,IAAI,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,qCAAqC,EAAE;YAC9F,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,gEAAgE;YAC1E,WAAW,EACV,yHAAyH;YAC1H,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAC/B,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACZ,UAAU,EACT,moCAAmoC;gBACpoC,YAAY,EAAE;oBACb;wBACC,QAAQ,EAAE,sCAAsC;wBAChD,YAAY,EACX,uHAAuH;qBACxH;iBACD;aACD;YACD,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnD,UAAU,EAAE,IAAA,sBAAe,EAAC,SAAS,EAAE,MAAM,CAAC;SAC9C,CAAC;QAEF,YAAO,GAAG,EAAE,WAAW,EAAX,qBAAW,EAAE,CAAC;IAK3B,CAAC;IAHA,KAAK,CAAC,OAAO;QACZ,OAAO,MAAM,uBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;CACD;AAnCD,8BAmCC"}
|
|
@@ -2,5 +2,6 @@ import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
|
|
|
2
2
|
export declare const loadOptions: {
|
|
3
3
|
getRooms(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
4
4
|
getUsers(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
5
|
+
getFolders(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
5
6
|
getProjects(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
6
7
|
};
|
|
@@ -35,6 +35,22 @@ exports.loadOptions = {
|
|
|
35
35
|
})
|
|
36
36
|
.sort(byName);
|
|
37
37
|
},
|
|
38
|
+
async getFolders() {
|
|
39
|
+
var _a;
|
|
40
|
+
const project = String((_a = this.getCurrentNodeParameter('projectId')) !== null && _a !== void 0 ? _a : '').trim();
|
|
41
|
+
if (project === '' || project.startsWith('='))
|
|
42
|
+
return [];
|
|
43
|
+
return (await list.call(this, `/v1/projects/${encodeURIComponent(project)}/folders`))
|
|
44
|
+
.map((folder) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
return ({
|
|
47
|
+
name: String((_a = folder.name) !== null && _a !== void 0 ? _a : '').trim() || String(folder.id),
|
|
48
|
+
value: String(folder.id),
|
|
49
|
+
description: `${String((_b = folder.items_count) !== null && _b !== void 0 ? _b : 0)} items`,
|
|
50
|
+
});
|
|
51
|
+
})
|
|
52
|
+
.sort(byName);
|
|
53
|
+
},
|
|
38
54
|
async getProjects() {
|
|
39
55
|
return (await list.call(this, '/v1/projects'))
|
|
40
56
|
.map((project) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../nodes/Kinescope/methods.ts"],"names":[],"mappings":";;;AAEA,8CAA2D;AAC3D,sDAAiE;AAEjE,SAAS,MAAM,CAAC,CAAuB,EAAE,CAAuB;IAC/D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAGD,KAAK,UAAU,IAAI,CAA8B,IAAY;IAC5D,MAAM,GAAG,GAAG,MAAM,wBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,MAAM,IAAA,cAAM,EAClB,GAAG,GAAG,IAAI,IAAI,EAAE,EAChB,KAAK,IAAI,EAAE,CAAC,MAAM,qBAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,EAC3D,qBAAa,CACb,CAAC;AACH,CAAC;AAEY,QAAA,WAAW,GAAG;IAC1B,KAAK,CAAC,QAAQ;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;aAC/C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YAAC,OAAA,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,IAAI,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,EAAE,CAAC;gBAC7D,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,WAAW,EAAE,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,MAAM,MAAM,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;aACzF,CAAC,CAAA;SAAA,CAAC;aACF,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YAAC,OAAA,CAAC;gBACf,IAAI,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,EAAE,CAAC;gBAC1E,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,WAAW,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;aACrC,CAAC,CAAA;SAAA,CAAC;aACF,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aAC5C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YAAC,OAAA,CAAC;gBAClB,IAAI,EAAE,MAAM,CAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,OAAO,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,WAAW,EAAE,GAAG,MAAM,CAAC,MAAA,OAAO,CAAC,WAAW,mCAAI,CAAC,CAAC,QAAQ;aACxD,CAAC,CAAA;SAAA,CAAC;aACF,IAAI,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../nodes/Kinescope/methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,3 +4,5 @@ export declare function userProperty(displayName: string, name: string, descript
|
|
|
4
4
|
export declare function idProperty(displayName: string, name: string, description: string, placeholder?: string): INodeProperties;
|
|
5
5
|
export declare function idSegment(ctx: IExecuteFunctions, name: string, itemIndex: number, label: string): string;
|
|
6
6
|
export declare const SPEAK_ORIGIN = "https://speak.kinescope.io";
|
|
7
|
+
export declare function projectProperty(overrides?: Partial<INodeProperties>): INodeProperties;
|
|
8
|
+
export declare function folderProperty(overrides?: Partial<INodeProperties>): INodeProperties;
|
|
@@ -5,6 +5,8 @@ exports.roomProperty = roomProperty;
|
|
|
5
5
|
exports.userProperty = userProperty;
|
|
6
6
|
exports.idProperty = idProperty;
|
|
7
7
|
exports.idSegment = idSegment;
|
|
8
|
+
exports.projectProperty = projectProperty;
|
|
9
|
+
exports.folderProperty = folderProperty;
|
|
8
10
|
const params_1 = require("../../shared/params");
|
|
9
11
|
const transport_1 = require("../../shared/transport");
|
|
10
12
|
function roomProperty(overrides = {}) {
|
|
@@ -45,4 +47,27 @@ function idSegment(ctx, name, itemIndex, label) {
|
|
|
45
47
|
return (0, transport_1.segment)((0, params_1.requiredText)(ctx, name, itemIndex, label));
|
|
46
48
|
}
|
|
47
49
|
exports.SPEAK_ORIGIN = 'https://speak.kinescope.io';
|
|
50
|
+
function projectProperty(overrides = {}) {
|
|
51
|
+
return {
|
|
52
|
+
displayName: 'Project Name or ID',
|
|
53
|
+
name: 'projectId',
|
|
54
|
+
type: 'options',
|
|
55
|
+
typeOptions: { loadOptionsMethod: 'getProjects' },
|
|
56
|
+
required: true,
|
|
57
|
+
default: '',
|
|
58
|
+
description: 'The project of the catalog. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
59
|
+
...overrides,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function folderProperty(overrides = {}) {
|
|
63
|
+
return {
|
|
64
|
+
displayName: 'Folder Name or ID',
|
|
65
|
+
name: 'folderId',
|
|
66
|
+
type: 'options',
|
|
67
|
+
typeOptions: { loadOptionsMethod: 'getFolders', loadOptionsDependsOn: ['projectId'] },
|
|
68
|
+
default: '',
|
|
69
|
+
description: 'A folder inside that project; empty for the project root. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
70
|
+
...overrides,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
48
73
|
//# sourceMappingURL=props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../nodes/Kinescope/props.ts"],"names":[],"mappings":";;;AAMA,oCAYC;AAMD,oCAcC;AAGD,gCAeC;AAGD,8BAOC;
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../../nodes/Kinescope/props.ts"],"names":[],"mappings":";;;AAMA,oCAYC;AAMD,oCAcC;AAGD,gCAeC;AAGD,8BAOC;AAMD,0CAYC;AAGD,wCAWC;AAhGD,gDAAmD;AACnD,sDAAiD;AAGjD,SAAgB,YAAY,CAAC,YAAsC,EAAE;IACpE,OAAO;QACN,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE;QAC9C,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,iIAAiI;QAClI,GAAG,SAAS;KACZ,CAAC;AACH,CAAC;AAMD,SAAgB,YAAY,CAC3B,WAAmB,EACnB,IAAY,EACZ,WAAmB;IAEnB,OAAO;QACN,WAAW;QACX,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE;QAC9C,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,GAAG,WAAW,mHAAmH;KAC9I,CAAC;AACH,CAAC;AAGD,SAAgB,UAAU,CACzB,WAAmB,EACnB,IAAY,EACZ,WAAmB,EACnB,WAAW,GAAG,sCAAsC;IAEpD,OAAO;QACN,WAAW;QACX,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW;QACX,WAAW;KACX,CAAC;AACH,CAAC;AAGD,SAAgB,SAAS,CACxB,GAAsB,EACtB,IAAY,EACZ,SAAiB,EACjB,KAAa;IAEb,OAAO,IAAA,mBAAO,EAAC,IAAA,qBAAY,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAGY,QAAA,YAAY,GAAG,4BAA4B,CAAC;AAGzD,SAAgB,eAAe,CAAC,YAAsC,EAAE;IACvE,OAAO;QACN,WAAW,EAAE,oBAAoB;QACjC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE;QACjD,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EACV,6IAA6I;QAC9I,GAAG,SAAS;KACZ,CAAC;AACH,CAAC;AAGD,SAAgB,cAAc,CAAC,YAAsC,EAAE;IACtE,OAAO;QACN,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,WAAW,CAAC,EAAE;QACrF,OAAO,EAAE,EAAE;QACX,WAAW,EACV,2KAA2K;QAC5K,GAAG,SAAS;KACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.folderResource = void 0;
|
|
4
|
+
const params_1 = require("../../../shared/params");
|
|
5
|
+
const transport_1 = require("../../../shared/transport");
|
|
6
|
+
const props_1 = require("../props");
|
|
7
|
+
exports.folderResource = {
|
|
8
|
+
value: 'folder',
|
|
9
|
+
name: 'Folder',
|
|
10
|
+
description: 'Folders inside a project of the catalog',
|
|
11
|
+
operations: [
|
|
12
|
+
{
|
|
13
|
+
value: 'create',
|
|
14
|
+
name: 'Create',
|
|
15
|
+
action: 'Create a folder',
|
|
16
|
+
description: 'Create a folder in a project, at its root or inside another folder',
|
|
17
|
+
properties: [
|
|
18
|
+
(0, props_1.projectProperty)(),
|
|
19
|
+
{
|
|
20
|
+
displayName: 'Name',
|
|
21
|
+
name: 'name',
|
|
22
|
+
type: 'string',
|
|
23
|
+
required: true,
|
|
24
|
+
default: '',
|
|
25
|
+
},
|
|
26
|
+
(0, props_1.folderProperty)({
|
|
27
|
+
displayName: 'Parent Folder Name or ID',
|
|
28
|
+
name: 'parentId',
|
|
29
|
+
description: 'The folder to create it in; empty for the project root. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
30
|
+
}),
|
|
31
|
+
],
|
|
32
|
+
async execute(itemIndex) {
|
|
33
|
+
const project = (0, props_1.idSegment)(this, 'projectId', itemIndex, 'Project');
|
|
34
|
+
const body = (0, params_1.compact)({
|
|
35
|
+
name: (0, params_1.requiredText)(this, 'name', itemIndex, 'Name'),
|
|
36
|
+
parent_id: (0, params_1.text)(this, 'parentId', itemIndex),
|
|
37
|
+
});
|
|
38
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'POST', `/v1/projects/${project}/folders`, {
|
|
39
|
+
body,
|
|
40
|
+
itemIndex,
|
|
41
|
+
retry: false,
|
|
42
|
+
}));
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
value: 'getAll',
|
|
47
|
+
name: 'Get Many',
|
|
48
|
+
action: 'Get many folders',
|
|
49
|
+
description: 'List the folders of a project with their size and number of items',
|
|
50
|
+
properties: [(0, props_1.projectProperty)(), ...(0, params_1.returnAllProperties)('folders')],
|
|
51
|
+
async execute(itemIndex) {
|
|
52
|
+
const project = (0, props_1.idSegment)(this, 'projectId', itemIndex, 'Project');
|
|
53
|
+
return await transport_1.readPages.call(this, `/v1/projects/${project}/folders`, {}, (0, params_1.wantedRows)(this, itemIndex), itemIndex);
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folder.js","sourceRoot":"","sources":["../../../../nodes/Kinescope/resources/folder.ts"],"names":[],"mappings":";;;AAAA,mDAMgC;AAEhC,yDAAgF;AAChF,oCAAsE;AAEzD,QAAA,cAAc,GAAa;IACvC,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,yCAAyC;IACtD,UAAU,EAAE;QACX;YACC,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,iBAAiB;YACzB,WAAW,EAAE,oEAAoE;YACjF,UAAU,EAAE;gBACX,IAAA,uBAAe,GAAE;gBACjB;oBACC,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,EAAE;iBACX;gBACD,IAAA,sBAAc,EAAC;oBACd,WAAW,EAAE,0BAA0B;oBACvC,IAAI,EAAE,UAAU;oBAChB,WAAW,EACV,yKAAyK;iBAC1K,CAAC;aACF;YACD,KAAK,CAAC,OAAO,CAAC,SAAS;gBACtB,MAAM,OAAO,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,IAAA,gBAAO,EAAC;oBACpB,IAAI,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;oBACnD,SAAS,EAAE,IAAA,aAAI,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,IAAA,kBAAM,EACZ,MAAM,4BAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,OAAO,UAAU,EAAE;oBAC5E,IAAI;oBACJ,SAAS;oBACT,KAAK,EAAE,KAAK;iBACZ,CAAC,CACF,CAAC;YACH,CAAC;SACD;QACD;YACC,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,mEAAmE;YAChF,UAAU,EAAE,CAAC,IAAA,uBAAe,GAAE,EAAE,GAAG,IAAA,4BAAmB,EAAC,SAAS,CAAC,CAAC;YAClE,KAAK,CAAC,OAAO,CAAC,SAAS;gBACtB,MAAM,OAAO,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACnE,OAAO,MAAM,qBAAS,CAAC,IAAI,CAC1B,IAAI,EACJ,gBAAgB,OAAO,UAAU,EACjC,EAAE,EACF,IAAA,mBAAU,EAAC,IAAI,EAAE,SAAS,CAAC,EAC3B,SAAS,CACT,CAAC;YACH,CAAC;SACD;KACD;CACD,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.projectResource = exports.PRIVACY_TYPES = void 0;
|
|
4
|
+
const params_1 = require("../../../shared/params");
|
|
5
|
+
const transport_1 = require("../../../shared/transport");
|
|
6
|
+
const props_1 = require("../props");
|
|
7
|
+
exports.PRIVACY_TYPES = [
|
|
8
|
+
{ name: 'Anywhere', value: 'anywhere', description: 'Any site may embed the player' },
|
|
9
|
+
{
|
|
10
|
+
name: 'Listed Domains Only',
|
|
11
|
+
value: 'custom',
|
|
12
|
+
description: 'Only the domains listed in Privacy Domains',
|
|
13
|
+
},
|
|
14
|
+
{ name: 'Nowhere', value: 'nowhere', description: 'No site may embed the player' },
|
|
15
|
+
];
|
|
16
|
+
exports.projectResource = {
|
|
17
|
+
value: 'project',
|
|
18
|
+
name: 'Project',
|
|
19
|
+
description: 'Top-level sections of the Kinescope catalog that hold videos and folders',
|
|
20
|
+
operations: [
|
|
21
|
+
{
|
|
22
|
+
value: 'create',
|
|
23
|
+
name: 'Create',
|
|
24
|
+
action: 'Create a project',
|
|
25
|
+
description: 'Create a project in the catalog for videos or for live streams',
|
|
26
|
+
properties: [
|
|
27
|
+
{
|
|
28
|
+
displayName: 'Name',
|
|
29
|
+
name: 'name',
|
|
30
|
+
type: 'string',
|
|
31
|
+
required: true,
|
|
32
|
+
default: '',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
displayName: 'Additional Fields',
|
|
36
|
+
name: 'additionalFields',
|
|
37
|
+
type: 'collection',
|
|
38
|
+
placeholder: 'Add Field',
|
|
39
|
+
default: {},
|
|
40
|
+
options: [
|
|
41
|
+
{
|
|
42
|
+
displayName: 'Catalog Type',
|
|
43
|
+
name: 'catalogType',
|
|
44
|
+
type: 'options',
|
|
45
|
+
default: 'vod',
|
|
46
|
+
options: [
|
|
47
|
+
{ name: 'Videos', value: 'vod' },
|
|
48
|
+
{ name: 'Live Streams', value: 'live' },
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
displayName: 'Privacy',
|
|
53
|
+
name: 'privacyType',
|
|
54
|
+
type: 'options',
|
|
55
|
+
default: 'anywhere',
|
|
56
|
+
options: exports.PRIVACY_TYPES,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
displayName: 'Privacy Domains',
|
|
60
|
+
name: 'privacyDomains',
|
|
61
|
+
type: 'string',
|
|
62
|
+
default: '',
|
|
63
|
+
placeholder: 'example.com, school.example.com',
|
|
64
|
+
description: 'Domains that may embed the player, for Listed Domains Only',
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
async execute(itemIndex) {
|
|
70
|
+
var _a;
|
|
71
|
+
const fields = this.getNodeParameter('additionalFields', itemIndex, {});
|
|
72
|
+
const body = {
|
|
73
|
+
name: (0, params_1.requiredText)(this, 'name', itemIndex, 'Name'),
|
|
74
|
+
privacy_type: String((_a = fields.privacyType) !== null && _a !== void 0 ? _a : 'anywhere') || 'anywhere',
|
|
75
|
+
privacy_domains: (0, params_1.idList)(fields.privacyDomains),
|
|
76
|
+
...(0, params_1.compact)({ catalog_type: fields.catalogType }),
|
|
77
|
+
};
|
|
78
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'POST', '/v1/projects', {
|
|
79
|
+
body,
|
|
80
|
+
itemIndex,
|
|
81
|
+
retry: false,
|
|
82
|
+
}));
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
value: 'get',
|
|
87
|
+
name: 'Get',
|
|
88
|
+
action: 'Get a project',
|
|
89
|
+
description: 'Get one project with its folders, size and number of items',
|
|
90
|
+
properties: [(0, props_1.projectProperty)()],
|
|
91
|
+
async execute(itemIndex) {
|
|
92
|
+
const id = (0, props_1.idSegment)(this, 'projectId', itemIndex, 'Project');
|
|
93
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'GET', `/v1/projects/${id}`, { itemIndex }));
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
value: 'getAll',
|
|
98
|
+
name: 'Get Many',
|
|
99
|
+
action: 'Get many projects',
|
|
100
|
+
description: 'List the projects of the catalog',
|
|
101
|
+
properties: [...(0, params_1.returnAllProperties)('projects'), (0, params_1.orderProperty)('name.asc')],
|
|
102
|
+
async execute(itemIndex) {
|
|
103
|
+
return await transport_1.readPages.call(this, '/v1/projects', (0, params_1.compact)({ order: (0, params_1.text)(this, 'order', itemIndex) }), (0, params_1.wantedRows)(this, itemIndex), itemIndex);
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../nodes/Kinescope/resources/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Resource } from '../../../shared/spec';
|
|
2
|
+
export interface Cue {
|
|
3
|
+
start: string;
|
|
4
|
+
end: string;
|
|
5
|
+
startSeconds: number;
|
|
6
|
+
endSeconds: number;
|
|
7
|
+
text: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function parseCues(content: string): Cue[];
|
|
10
|
+
export declare function toSrt(cues: Cue[]): string;
|
|
11
|
+
export declare const subtitleResource: Resource;
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.subtitleResource = void 0;
|
|
4
|
+
exports.parseCues = parseCues;
|
|
5
|
+
exports.toSrt = toSrt;
|
|
6
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
|
+
const errors_1 = require("../../../shared/errors");
|
|
8
|
+
const params_1 = require("../../../shared/params");
|
|
9
|
+
const spec_1 = require("../../../shared/spec");
|
|
10
|
+
const transport_1 = require("../../../shared/transport");
|
|
11
|
+
const props_1 = require("../props");
|
|
12
|
+
const videoId = (0, props_1.idProperty)('Video ID', 'videoId', 'The ID of the video in the Kinescope catalog', '7127f2d7-0e96-40d0-9a03-2e987c096466');
|
|
13
|
+
const subtitleId = (0, props_1.idProperty)('Subtitle ID', 'subtitleId', 'The ID of the subtitle track, as Generate or Get Many returns it');
|
|
14
|
+
function subtitlesPath(ctx, itemIndex) {
|
|
15
|
+
return `/v1/videos/${(0, props_1.idSegment)(ctx, 'videoId', itemIndex, 'Video ID')}/subtitles`;
|
|
16
|
+
}
|
|
17
|
+
function subtitlePath(ctx, itemIndex) {
|
|
18
|
+
return `${subtitlesPath(ctx, itemIndex)}/${(0, props_1.idSegment)(ctx, 'subtitleId', itemIndex, 'Subtitle ID')}`;
|
|
19
|
+
}
|
|
20
|
+
const FINISHED = ['done', 'error', 'failed', 'canceled', 'cancelled'];
|
|
21
|
+
const POLL_MS = 10000;
|
|
22
|
+
function seconds(stamp) {
|
|
23
|
+
return stamp
|
|
24
|
+
.replace(',', '.')
|
|
25
|
+
.split(':')
|
|
26
|
+
.map(Number)
|
|
27
|
+
.reduce((total, part) => total * 60 + part, 0);
|
|
28
|
+
}
|
|
29
|
+
const TIMING = /^((?:\d+:)?\d{1,2}:\d{2}[.,]\d{1,3})\s*-->\s*((?:\d+:)?\d{1,2}:\d{2}[.,]\d{1,3})/;
|
|
30
|
+
function parseCues(content) {
|
|
31
|
+
const cues = [];
|
|
32
|
+
const blocks = content.replace(/\r\n?/g, '\n').split(/\n{2,}/);
|
|
33
|
+
for (const block of blocks) {
|
|
34
|
+
const lines = block.split('\n').filter((line) => line.trim() !== '');
|
|
35
|
+
const at = lines.findIndex((line) => TIMING.test(line.trim()));
|
|
36
|
+
if (at < 0)
|
|
37
|
+
continue;
|
|
38
|
+
const match = TIMING.exec(lines[at].trim());
|
|
39
|
+
if (match === null)
|
|
40
|
+
continue;
|
|
41
|
+
const textLines = lines.slice(at + 1).map((line) => line.replace(/<[^>]+>/g, '').trim());
|
|
42
|
+
cues.push({
|
|
43
|
+
start: match[1],
|
|
44
|
+
end: match[2],
|
|
45
|
+
startSeconds: Math.round(seconds(match[1]) * 1000) / 1000,
|
|
46
|
+
endSeconds: Math.round(seconds(match[2]) * 1000) / 1000,
|
|
47
|
+
text: textLines.join('\n'),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return cues;
|
|
51
|
+
}
|
|
52
|
+
function srtStamp(totalSeconds) {
|
|
53
|
+
const ms = Math.round(totalSeconds * 1000);
|
|
54
|
+
const pad = (value, size = 2) => String(value).padStart(size, '0');
|
|
55
|
+
return `${pad(Math.floor(ms / 3600000))}:${pad(Math.floor(ms / 60000) % 60)}:${pad(Math.floor(ms / 1000) % 60)},${pad(ms % 1000, 3)}`;
|
|
56
|
+
}
|
|
57
|
+
function toSrt(cues) {
|
|
58
|
+
return cues
|
|
59
|
+
.map((cue, index) => `${index + 1}\n${srtStamp(cue.startSeconds)} --> ${srtStamp(cue.endSeconds)}\n${cue.text}\n`)
|
|
60
|
+
.join('\n');
|
|
61
|
+
}
|
|
62
|
+
async function trackContent(track, itemIndex) {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const url = String((_a = track.url) !== null && _a !== void 0 ? _a : '').trim();
|
|
65
|
+
if (url === '') {
|
|
66
|
+
const status = String((_b = track.status) !== null && _b !== void 0 ? _b : '');
|
|
67
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'The subtitle track has no file yet', {
|
|
68
|
+
itemIndex,
|
|
69
|
+
description: status !== '' && status !== 'done'
|
|
70
|
+
? `Its status is ${status}. Recognition takes a while; download once Get reports status done, or use Generate with Wait for Recognition on.`
|
|
71
|
+
: 'Kinescope lists no file link for this track.',
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const body = (await this.helpers.httpRequest({
|
|
75
|
+
method: 'GET',
|
|
76
|
+
url,
|
|
77
|
+
encoding: 'text',
|
|
78
|
+
json: false,
|
|
79
|
+
}));
|
|
80
|
+
return typeof body === 'string' ? body : String(body !== null && body !== void 0 ? body : '');
|
|
81
|
+
}
|
|
82
|
+
async function waitForTracks(path, tracks, minutes, itemIndex) {
|
|
83
|
+
const deadline = Date.now() + minutes * 60000;
|
|
84
|
+
let current = tracks;
|
|
85
|
+
while (!current.every((track) => { var _a; return FINISHED.includes(String((_a = track.status) !== null && _a !== void 0 ? _a : 'done')); })) {
|
|
86
|
+
if (Date.now() >= deadline) {
|
|
87
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Recognition did not finish in ${minutes} min`, {
|
|
88
|
+
itemIndex,
|
|
89
|
+
description: `Tracks still running: ${current
|
|
90
|
+
.filter((track) => { var _a; return !FINISHED.includes(String((_a = track.status) !== null && _a !== void 0 ? _a : 'done')); })
|
|
91
|
+
.map((track) => `${String(track.language)} (${String(track.id)})`)
|
|
92
|
+
.join(', ')}. They go on in Kinescope; read them later with Subtitle → Get.`,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
await (0, n8n_workflow_1.sleep)(POLL_MS + (0, n8n_workflow_1.randomInt)(1000));
|
|
96
|
+
current = await Promise.all(current.map(async (track) => {
|
|
97
|
+
var _a;
|
|
98
|
+
return FINISHED.includes(String((_a = track.status) !== null && _a !== void 0 ? _a : 'done'))
|
|
99
|
+
? track
|
|
100
|
+
: (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'GET', `${path}/${String(track.id)}`, {
|
|
101
|
+
itemIndex,
|
|
102
|
+
}));
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
return current;
|
|
106
|
+
}
|
|
107
|
+
async function download() {
|
|
108
|
+
var _a;
|
|
109
|
+
const items = this.getInputData();
|
|
110
|
+
const output = [];
|
|
111
|
+
for (let index = 0; index < items.length; index++) {
|
|
112
|
+
try {
|
|
113
|
+
const track = (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'GET', subtitlePath(this, index), { itemIndex: index }));
|
|
114
|
+
const content = await trackContent.call(this, track, index);
|
|
115
|
+
const format = (0, params_1.text)(this, 'output', index) || 'segments';
|
|
116
|
+
const ids = { videoId: track.video_id, subtitleId: track.id, language: track.language };
|
|
117
|
+
const pairedItem = { item: index };
|
|
118
|
+
const cues = parseCues(content);
|
|
119
|
+
if (format === 'vtt' || format === 'srt') {
|
|
120
|
+
const property = (0, params_1.text)(this, 'binaryPropertyName', index) || 'data';
|
|
121
|
+
const fileContent = format === 'vtt' ? content : toSrt(cues);
|
|
122
|
+
const binary = await this.helpers.prepareBinaryData(Buffer.from(fileContent, 'utf8'), `subtitles-${String((_a = track.language) !== null && _a !== void 0 ? _a : 'track')}-${String(track.id)}.${format}`, format === 'vtt' ? 'text/vtt' : 'application/x-subrip');
|
|
123
|
+
output.push({
|
|
124
|
+
json: { ...ids, cues: cues.length },
|
|
125
|
+
binary: { [property]: binary },
|
|
126
|
+
pairedItem,
|
|
127
|
+
});
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
if (format === 'text') {
|
|
131
|
+
output.push({ json: { ...ids, text: cues.map((cue) => cue.text).join('\n') }, pairedItem });
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
for (const cue of cues)
|
|
135
|
+
output.push({ json: { ...ids, ...cue }, pairedItem });
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
if (!this.continueOnFail())
|
|
139
|
+
throw (0, errors_1.asNodeError)(this.getNode(), error, index);
|
|
140
|
+
output.push((0, spec_1.errorItem)(error, index));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return output;
|
|
144
|
+
}
|
|
145
|
+
function multipart(fields, file) {
|
|
146
|
+
const boundary = `----n8nKinescope${Date.now().toString(36)}${(0, n8n_workflow_1.randomInt)(1000000)}`;
|
|
147
|
+
const parts = [];
|
|
148
|
+
for (const [name, value] of Object.entries(fields)) {
|
|
149
|
+
parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="${name}"\r\n\r\n${value}\r\n`, 'utf8'));
|
|
150
|
+
}
|
|
151
|
+
const fileName = file.name.replace(/["\r\n]/g, '_');
|
|
152
|
+
parts.push(Buffer.from(`--${boundary}\r\nContent-Disposition: form-data; name="file"; filename="${fileName}"\r\nContent-Type: application/octet-stream\r\n\r\n`, 'utf8'), file.data, Buffer.from(`\r\n--${boundary}--\r\n`, 'utf8'));
|
|
153
|
+
return { data: Buffer.concat(parts), contentType: `multipart/form-data; boundary=${boundary}` };
|
|
154
|
+
}
|
|
155
|
+
const languageDescription = 'An ISO 639-1 code, e.g. ru, en, de. Kinescope rejects a code it does not know.';
|
|
156
|
+
exports.subtitleResource = {
|
|
157
|
+
value: 'subtitle',
|
|
158
|
+
name: 'Subtitle',
|
|
159
|
+
description: 'Subtitle tracks of a video: speech recognised by Kinescope, or a VTT or SRT file of your own',
|
|
160
|
+
operations: [
|
|
161
|
+
{
|
|
162
|
+
value: 'generate',
|
|
163
|
+
name: 'Generate',
|
|
164
|
+
action: 'Generate subtitles by speech recognition',
|
|
165
|
+
description: 'Have Kinescope recognise the speech of a video and make one subtitle track per language — e.g. a transcript of a Speak meeting recording, without speaker names. Can wait until recognition ends.',
|
|
166
|
+
properties: [
|
|
167
|
+
videoId,
|
|
168
|
+
{
|
|
169
|
+
displayName: 'Languages',
|
|
170
|
+
name: 'languages',
|
|
171
|
+
type: 'string',
|
|
172
|
+
required: true,
|
|
173
|
+
default: 'ru',
|
|
174
|
+
placeholder: 'ru, en',
|
|
175
|
+
description: 'ISO 639-1 codes of the languages spoken, separated by commas; one track per language. Kinescope rejects a code it does not know, and then creates none of the tracks.',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
displayName: 'Wait for Recognition',
|
|
179
|
+
name: 'wait',
|
|
180
|
+
type: 'boolean',
|
|
181
|
+
default: false,
|
|
182
|
+
description: 'Whether to wait until every track is done or failed before going on. Off, the tracks come back with status pending.',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
displayName: 'Wait at Most (Minutes)',
|
|
186
|
+
name: 'waitMinutes',
|
|
187
|
+
type: 'number',
|
|
188
|
+
typeOptions: { minValue: 1 },
|
|
189
|
+
default: 15,
|
|
190
|
+
displayOptions: { show: { wait: [true] } },
|
|
191
|
+
description: 'After this long the node fails with the tracks still running; they go on in Kinescope',
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
async execute(itemIndex) {
|
|
195
|
+
const languages = (0, params_1.idList)(this.getNodeParameter('languages', itemIndex, ''));
|
|
196
|
+
if (languages.length === 0) {
|
|
197
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No languages given', {
|
|
198
|
+
itemIndex,
|
|
199
|
+
description: 'Enter at least one ISO 639-1 code, e.g. ru.',
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
const path = subtitlesPath(this, itemIndex);
|
|
203
|
+
const tracks = (0, transport_1.asList)(await transport_1.kinescopeRequest.call(this, 'POST', `${path}/auto`, {
|
|
204
|
+
body: { languages },
|
|
205
|
+
itemIndex,
|
|
206
|
+
retry: false,
|
|
207
|
+
}));
|
|
208
|
+
if (!this.getNodeParameter('wait', itemIndex, false))
|
|
209
|
+
return tracks;
|
|
210
|
+
const minutes = Math.max(1, Number(this.getNodeParameter('waitMinutes', itemIndex, 15)) || 15);
|
|
211
|
+
return await waitForTracks.call(this, path, tracks, minutes, itemIndex);
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
value: 'getAll',
|
|
216
|
+
name: 'Get Many',
|
|
217
|
+
action: 'Get the subtitle tracks of a video',
|
|
218
|
+
description: 'List the subtitle tracks of a video with their language, status and file link',
|
|
219
|
+
properties: [videoId],
|
|
220
|
+
async execute(itemIndex) {
|
|
221
|
+
return (0, transport_1.asList)(await transport_1.kinescopeRequest.call(this, 'GET', subtitlesPath(this, itemIndex), { itemIndex }));
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
value: 'get',
|
|
226
|
+
name: 'Get',
|
|
227
|
+
action: 'Get a subtitle track',
|
|
228
|
+
description: 'Get one subtitle track: its status, language and file link',
|
|
229
|
+
properties: [videoId, subtitleId],
|
|
230
|
+
async execute(itemIndex) {
|
|
231
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'GET', subtitlePath(this, itemIndex), { itemIndex }));
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
value: 'download',
|
|
236
|
+
name: 'Download',
|
|
237
|
+
action: 'Download a subtitle track',
|
|
238
|
+
description: 'Download a subtitle track as one item per cue with start and end in seconds, as plain text, or as a VTT or SRT file',
|
|
239
|
+
properties: [
|
|
240
|
+
videoId,
|
|
241
|
+
subtitleId,
|
|
242
|
+
{
|
|
243
|
+
displayName: 'Output',
|
|
244
|
+
name: 'output',
|
|
245
|
+
type: 'options',
|
|
246
|
+
default: 'segments',
|
|
247
|
+
options: [
|
|
248
|
+
{
|
|
249
|
+
name: 'Cues',
|
|
250
|
+
value: 'segments',
|
|
251
|
+
description: 'One item per cue: text, start and end in seconds',
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: 'SRT File',
|
|
255
|
+
value: 'srt',
|
|
256
|
+
description: 'The track converted to SubRip, in binary data',
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
name: 'Text',
|
|
260
|
+
value: 'text',
|
|
261
|
+
description: 'One item with the text of every cue, one per line',
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'VTT File',
|
|
265
|
+
value: 'vtt',
|
|
266
|
+
description: 'The track as Kinescope stores it, in binary data',
|
|
267
|
+
},
|
|
268
|
+
],
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
displayName: 'Put Output File in Field',
|
|
272
|
+
name: 'binaryPropertyName',
|
|
273
|
+
type: 'string',
|
|
274
|
+
default: 'data',
|
|
275
|
+
displayOptions: { show: { output: ['vtt', 'srt'] } },
|
|
276
|
+
hint: 'The name of the output binary field to put the file in',
|
|
277
|
+
},
|
|
278
|
+
],
|
|
279
|
+
executeAll: download,
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
value: 'upload',
|
|
283
|
+
name: 'Upload',
|
|
284
|
+
action: 'Upload a subtitle file',
|
|
285
|
+
description: 'Attach a VTT or SRT file from binary data to a video as a subtitle track',
|
|
286
|
+
properties: [
|
|
287
|
+
videoId,
|
|
288
|
+
{
|
|
289
|
+
displayName: 'Input Binary Field',
|
|
290
|
+
name: 'binaryPropertyName',
|
|
291
|
+
type: 'string',
|
|
292
|
+
required: true,
|
|
293
|
+
default: 'data',
|
|
294
|
+
hint: 'The name of the input binary field holding the VTT or SRT file',
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
displayName: 'Language',
|
|
298
|
+
name: 'language',
|
|
299
|
+
type: 'string',
|
|
300
|
+
required: true,
|
|
301
|
+
default: 'ru',
|
|
302
|
+
description: languageDescription,
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
displayName: 'Description',
|
|
306
|
+
name: 'description',
|
|
307
|
+
type: 'string',
|
|
308
|
+
default: '',
|
|
309
|
+
description: 'A label for the track, shown in the Kinescope interface',
|
|
310
|
+
},
|
|
311
|
+
],
|
|
312
|
+
async execute(itemIndex) {
|
|
313
|
+
var _a;
|
|
314
|
+
const property = (0, params_1.requiredText)(this, 'binaryPropertyName', itemIndex, 'Input Binary Field');
|
|
315
|
+
const meta = this.helpers.assertBinaryData(itemIndex, property);
|
|
316
|
+
const data = await this.helpers.getBinaryDataBuffer(itemIndex, property);
|
|
317
|
+
const form = multipart((0, params_1.compact)({
|
|
318
|
+
language: (0, params_1.requiredText)(this, 'language', itemIndex, 'Language'),
|
|
319
|
+
description: (0, params_1.text)(this, 'description', itemIndex),
|
|
320
|
+
}), { name: (_a = meta.fileName) !== null && _a !== void 0 ? _a : 'subtitles.vtt', data });
|
|
321
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'POST', subtitlesPath(this, itemIndex), {
|
|
322
|
+
rawBody: form,
|
|
323
|
+
itemIndex,
|
|
324
|
+
retry: false,
|
|
325
|
+
}));
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
value: 'update',
|
|
330
|
+
name: 'Update',
|
|
331
|
+
action: 'Update a subtitle track',
|
|
332
|
+
description: 'Change the language or the label of a subtitle track',
|
|
333
|
+
properties: [
|
|
334
|
+
videoId,
|
|
335
|
+
subtitleId,
|
|
336
|
+
{
|
|
337
|
+
displayName: 'Update Fields',
|
|
338
|
+
name: 'updateFields',
|
|
339
|
+
type: 'collection',
|
|
340
|
+
placeholder: 'Add Field',
|
|
341
|
+
default: {},
|
|
342
|
+
options: [
|
|
343
|
+
{ displayName: 'Description', name: 'description', type: 'string', default: '' },
|
|
344
|
+
{
|
|
345
|
+
displayName: 'Language',
|
|
346
|
+
name: 'language',
|
|
347
|
+
type: 'string',
|
|
348
|
+
default: '',
|
|
349
|
+
description: languageDescription,
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
},
|
|
353
|
+
],
|
|
354
|
+
async execute(itemIndex) {
|
|
355
|
+
var _a;
|
|
356
|
+
const fields = this.getNodeParameter('updateFields', itemIndex, {});
|
|
357
|
+
const body = (0, params_1.compact)({
|
|
358
|
+
language: String((_a = fields.language) !== null && _a !== void 0 ? _a : '').trim(),
|
|
359
|
+
description: fields.description,
|
|
360
|
+
});
|
|
361
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'PATCH', subtitlePath(this, itemIndex), {
|
|
362
|
+
body,
|
|
363
|
+
itemIndex,
|
|
364
|
+
}));
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
value: 'delete',
|
|
369
|
+
name: 'Delete',
|
|
370
|
+
action: 'Delete a subtitle track',
|
|
371
|
+
description: 'Remove a subtitle track from a video for good',
|
|
372
|
+
properties: [videoId, subtitleId],
|
|
373
|
+
async execute(itemIndex) {
|
|
374
|
+
await transport_1.kinescopeRequest.call(this, 'DELETE', subtitlePath(this, itemIndex), { itemIndex });
|
|
375
|
+
return { success: true, id: (0, params_1.text)(this, 'subtitleId', itemIndex) };
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
],
|
|
379
|
+
};
|
|
380
|
+
//# sourceMappingURL=subtitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtitle.js","sourceRoot":"","sources":["../../../../nodes/Kinescope/resources/subtitle.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ const params_1 = require("../../../shared/params");
|
|
|
8
8
|
const spec_1 = require("../../../shared/spec");
|
|
9
9
|
const transport_1 = require("../../../shared/transport");
|
|
10
10
|
const props_1 = require("../props");
|
|
11
|
+
const project_1 = require("./project");
|
|
12
|
+
function headerText(value) {
|
|
13
|
+
return encodeURIComponent(value);
|
|
14
|
+
}
|
|
11
15
|
const VIDEO_STATUSES = [
|
|
12
16
|
{ name: 'Aborted', value: 'aborted' },
|
|
13
17
|
{ name: 'Done', value: 'done' },
|
|
@@ -275,6 +279,135 @@ exports.videoResource = {
|
|
|
275
279
|
],
|
|
276
280
|
executeAll: download,
|
|
277
281
|
},
|
|
282
|
+
{
|
|
283
|
+
value: 'update',
|
|
284
|
+
name: 'Update',
|
|
285
|
+
action: 'Update a video',
|
|
286
|
+
description: 'Change the title, description or embedding privacy of a video, e.g. rename a Speak recording after the meeting it holds',
|
|
287
|
+
properties: [
|
|
288
|
+
videoId,
|
|
289
|
+
{
|
|
290
|
+
displayName: 'Update Fields',
|
|
291
|
+
name: 'updateFields',
|
|
292
|
+
type: 'collection',
|
|
293
|
+
placeholder: 'Add Field',
|
|
294
|
+
default: {},
|
|
295
|
+
options: [
|
|
296
|
+
{ displayName: 'Description', name: 'description', type: 'string', default: '' },
|
|
297
|
+
{
|
|
298
|
+
displayName: 'Privacy',
|
|
299
|
+
name: 'privacyType',
|
|
300
|
+
type: 'options',
|
|
301
|
+
default: 'anywhere',
|
|
302
|
+
options: project_1.PRIVACY_TYPES,
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
displayName: 'Privacy Domains',
|
|
306
|
+
name: 'privacyDomains',
|
|
307
|
+
type: 'string',
|
|
308
|
+
default: '',
|
|
309
|
+
placeholder: 'example.com, school.example.com',
|
|
310
|
+
description: 'Domains that may embed the player, for Listed Domains Only',
|
|
311
|
+
},
|
|
312
|
+
{ displayName: 'Title', name: 'title', type: 'string', default: '' },
|
|
313
|
+
],
|
|
314
|
+
},
|
|
315
|
+
],
|
|
316
|
+
async execute(itemIndex) {
|
|
317
|
+
var _a;
|
|
318
|
+
const id = (0, props_1.idSegment)(this, 'videoId', itemIndex, 'Video ID');
|
|
319
|
+
const fields = this.getNodeParameter('updateFields', itemIndex, {});
|
|
320
|
+
const body = (0, params_1.compact)({
|
|
321
|
+
title: String((_a = fields.title) !== null && _a !== void 0 ? _a : '').trim(),
|
|
322
|
+
description: fields.description,
|
|
323
|
+
privacy_type: fields.privacyType,
|
|
324
|
+
privacy_domains: fields.privacyDomains === undefined ? undefined : (0, params_1.idList)(fields.privacyDomains),
|
|
325
|
+
});
|
|
326
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'PATCH', `/v1/videos/${id}`, { body, itemIndex }));
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
value: 'move',
|
|
331
|
+
name: 'Move',
|
|
332
|
+
action: 'Move a video',
|
|
333
|
+
description: 'Move a video to another project or folder, e.g. a Speak recording out of Speak Records. Its ID and links stay the same.',
|
|
334
|
+
properties: [videoId, (0, props_1.projectProperty)(), (0, props_1.folderProperty)()],
|
|
335
|
+
async execute(itemIndex) {
|
|
336
|
+
const id = (0, props_1.idSegment)(this, 'videoId', itemIndex, 'Video ID');
|
|
337
|
+
const body = (0, params_1.compact)({
|
|
338
|
+
project_id: (0, params_1.requiredText)(this, 'projectId', itemIndex, 'Project'),
|
|
339
|
+
folder_id: (0, params_1.text)(this, 'folderId', itemIndex),
|
|
340
|
+
});
|
|
341
|
+
await transport_1.kinescopeRequest.call(this, 'PUT', `/v1/videos/${id}/move`, { body, itemIndex });
|
|
342
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'GET', `/v1/videos/${id}`, { itemIndex }));
|
|
343
|
+
},
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
value: 'uploadFromUrl',
|
|
347
|
+
name: 'Upload From URL',
|
|
348
|
+
action: 'Upload a video from a URL',
|
|
349
|
+
description: 'Have Kinescope download a video from a direct link or a YouTube address into a project or folder. Returns at once with status uploading; Media: Status Updated tells when it is done.',
|
|
350
|
+
properties: [
|
|
351
|
+
(0, props_1.projectProperty)(),
|
|
352
|
+
(0, props_1.folderProperty)(),
|
|
353
|
+
{
|
|
354
|
+
displayName: 'Video URL',
|
|
355
|
+
name: 'url',
|
|
356
|
+
type: 'string',
|
|
357
|
+
required: true,
|
|
358
|
+
default: '',
|
|
359
|
+
placeholder: 'https://example.com/media/lesson-1.mp4',
|
|
360
|
+
description: 'A direct link to the file, reachable without signing in, or a YouTube address (youtube.com/watch?v=… or youtu.be/…)',
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
displayName: 'Title',
|
|
364
|
+
name: 'title',
|
|
365
|
+
type: 'string',
|
|
366
|
+
required: true,
|
|
367
|
+
default: '',
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
displayName: 'Additional Fields',
|
|
371
|
+
name: 'additionalFields',
|
|
372
|
+
type: 'collection',
|
|
373
|
+
placeholder: 'Add Field',
|
|
374
|
+
default: {},
|
|
375
|
+
options: [
|
|
376
|
+
{ displayName: 'Description', name: 'description', type: 'string', default: '' },
|
|
377
|
+
{
|
|
378
|
+
displayName: 'File Name',
|
|
379
|
+
name: 'fileName',
|
|
380
|
+
type: 'string',
|
|
381
|
+
default: '',
|
|
382
|
+
placeholder: 'lesson-1.mp4',
|
|
383
|
+
},
|
|
384
|
+
],
|
|
385
|
+
},
|
|
386
|
+
],
|
|
387
|
+
async execute(itemIndex) {
|
|
388
|
+
var _a, _b;
|
|
389
|
+
const fields = this.getNodeParameter('additionalFields', itemIndex, {});
|
|
390
|
+
const parent = (0, params_1.text)(this, 'folderId', itemIndex) ||
|
|
391
|
+
(0, params_1.requiredText)(this, 'projectId', itemIndex, 'Project');
|
|
392
|
+
const headers = {
|
|
393
|
+
'X-Parent-ID': parent,
|
|
394
|
+
'X-Video-URL': (0, params_1.requiredText)(this, 'url', itemIndex, 'Video URL'),
|
|
395
|
+
'X-Video-Title': headerText((0, params_1.requiredText)(this, 'title', itemIndex, 'Title')),
|
|
396
|
+
};
|
|
397
|
+
const description = String((_a = fields.description) !== null && _a !== void 0 ? _a : '').trim();
|
|
398
|
+
if (description !== '')
|
|
399
|
+
headers['X-Video-Description'] = headerText(description);
|
|
400
|
+
const fileName = String((_b = fields.fileName) !== null && _b !== void 0 ? _b : '').trim();
|
|
401
|
+
if (fileName !== '')
|
|
402
|
+
headers['X-File-Name'] = headerText(fileName);
|
|
403
|
+
return (0, transport_1.dataOf)(await transport_1.kinescopeRequest.call(this, 'POST', '/v2/video', {
|
|
404
|
+
uploader: true,
|
|
405
|
+
headers,
|
|
406
|
+
itemIndex,
|
|
407
|
+
retry: false,
|
|
408
|
+
}));
|
|
409
|
+
},
|
|
410
|
+
},
|
|
278
411
|
{
|
|
279
412
|
value: 'delete',
|
|
280
413
|
name: 'Delete',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../../../nodes/Kinescope/resources/video.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../../../nodes/Kinescope/resources/video.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,14 @@ export interface KinescopeRequestOptions {
|
|
|
9
9
|
retry?: boolean;
|
|
10
10
|
maxAttempts?: number;
|
|
11
11
|
text?: boolean;
|
|
12
|
+
uploader?: boolean;
|
|
13
|
+
headers?: Record<string, string>;
|
|
14
|
+
rawBody?: {
|
|
15
|
+
data: Buffer;
|
|
16
|
+
contentType: string;
|
|
17
|
+
};
|
|
12
18
|
}
|
|
19
|
+
export declare const UPLOADER_ORIGIN = "https://uploader.kinescope.io";
|
|
13
20
|
export declare function tokenFingerprint(token: string): string;
|
|
14
21
|
export declare function workspaceKey(this: KinescopeContext): Promise<string>;
|
|
15
22
|
export declare function apiPath(path: string): string;
|
package/dist/shared/transport.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PAGE_SIZE = exports.CREDENTIAL = void 0;
|
|
3
|
+
exports.UPLOADER_ORIGIN = exports.PAGE_SIZE = exports.CREDENTIAL = void 0;
|
|
4
4
|
exports.tokenFingerprint = tokenFingerprint;
|
|
5
5
|
exports.workspaceKey = workspaceKey;
|
|
6
6
|
exports.apiPath = apiPath;
|
|
@@ -19,6 +19,7 @@ const REQUESTS_PER_SECOND = 10;
|
|
|
19
19
|
const RATE_LIMIT_PAUSE_MS = 5000;
|
|
20
20
|
exports.PAGE_SIZE = 100;
|
|
21
21
|
const MAX_PAGES = 1000;
|
|
22
|
+
exports.UPLOADER_ORIGIN = 'https://uploader.kinescope.io';
|
|
22
23
|
function tokenFingerprint(token) {
|
|
23
24
|
return (0, node_crypto_1.createHash)('sha256').update(token).digest('hex').slice(0, 16);
|
|
24
25
|
}
|
|
@@ -42,7 +43,7 @@ function segment(id) {
|
|
|
42
43
|
return encodeURIComponent(id.trim());
|
|
43
44
|
}
|
|
44
45
|
async function kinescopeRequest(method, path, options = {}) {
|
|
45
|
-
var _a;
|
|
46
|
+
var _a, _b;
|
|
46
47
|
const credentials = await this.getCredentials(exports.CREDENTIAL);
|
|
47
48
|
const token = (0, KinescopeWorkspaceApi_credentials_1.normalizeApiToken)(credentials.apiToken);
|
|
48
49
|
if (token === '') {
|
|
@@ -54,25 +55,31 @@ async function kinescopeRequest(method, path, options = {}) {
|
|
|
54
55
|
const limiterKey = `kinescope:${tokenFingerprint(token)}`;
|
|
55
56
|
const route = apiPath(path);
|
|
56
57
|
const label = `${method} ${route}`;
|
|
58
|
+
const asText = options.text === true || options.rawBody !== undefined;
|
|
57
59
|
const request = {
|
|
58
60
|
method,
|
|
59
|
-
url: `${KinescopeWorkspaceApi_credentials_1.API_ORIGIN}${route}`,
|
|
60
|
-
json:
|
|
61
|
+
url: `${options.uploader === true ? exports.UPLOADER_ORIGIN : KinescopeWorkspaceApi_credentials_1.API_ORIGIN}${route}`,
|
|
62
|
+
json: !asText,
|
|
61
63
|
returnFullResponse: true,
|
|
62
64
|
ignoreHttpStatusErrors: true,
|
|
63
65
|
arrayFormat: 'brackets',
|
|
64
66
|
headers: {
|
|
65
67
|
Accept: options.text === true ? 'text/plain, application/json' : 'application/json',
|
|
68
|
+
...((_a = options.headers) !== null && _a !== void 0 ? _a : {}),
|
|
66
69
|
},
|
|
67
70
|
};
|
|
68
|
-
if (
|
|
71
|
+
if (asText)
|
|
69
72
|
request.encoding = 'text';
|
|
73
|
+
if (options.rawBody !== undefined) {
|
|
74
|
+
request.body = options.rawBody.data;
|
|
75
|
+
request.headers['Content-Type'] = options.rawBody.contentType;
|
|
76
|
+
}
|
|
70
77
|
if (!isEmpty(options.qs))
|
|
71
78
|
request.qs = options.qs;
|
|
72
79
|
if (options.body !== undefined)
|
|
73
80
|
request.body = options.body;
|
|
74
81
|
const retry = options.retry !== false;
|
|
75
|
-
const maxAttempts = (
|
|
82
|
+
const maxAttempts = (_b = options.maxAttempts) !== null && _b !== void 0 ? _b : 4;
|
|
76
83
|
for (let attempt = 1;; attempt++) {
|
|
77
84
|
await (0, rateLimiter_1.acquireSlot)(limiterKey, REQUESTS_PER_SECOND, 1000);
|
|
78
85
|
let response;
|
|
@@ -92,7 +99,8 @@ async function kinescopeRequest(method, path, options = {}) {
|
|
|
92
99
|
}
|
|
93
100
|
const status = Number(response.statusCode) || 0;
|
|
94
101
|
let body = response.body;
|
|
95
|
-
if (
|
|
102
|
+
if (typeof body === 'string' &&
|
|
103
|
+
((options.text === true && status >= 400) || options.rawBody !== undefined)) {
|
|
96
104
|
try {
|
|
97
105
|
body = JSON.parse(body);
|
|
98
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../shared/transport.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../shared/transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-kinescope",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Kinescope nodes for n8n: Speak video meeting rooms, participants, calls and transcripts,
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Kinescope nodes for n8n: Speak video meeting rooms and admin links, participants, calls, recordings and transcripts, videos with download, upload by URL, editing and moving, subtitles by speech recognition, projects and folders, webhooks, any API call, and a trigger for Speak, video and live stream events",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
7
7
|
"n8n",
|
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
"transcript",
|
|
16
16
|
"video hosting",
|
|
17
17
|
"live stream",
|
|
18
|
-
"restream"
|
|
18
|
+
"restream",
|
|
19
|
+
"subtitles",
|
|
20
|
+
"speech recognition"
|
|
19
21
|
],
|
|
20
22
|
"license": "MIT",
|
|
21
23
|
"homepage": "https://github.com/zenland-dev/n8n-nodes-kinescope",
|