democut 1.0.65 → 1.0.66
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 +100 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -6916,7 +6916,7 @@ import { realpathSync } from "fs";
|
|
|
6916
6916
|
import { fileURLToPath } from "url";
|
|
6917
6917
|
|
|
6918
6918
|
// src/version.ts
|
|
6919
|
-
var VERSION = "1.0.
|
|
6919
|
+
var VERSION = "1.0.66";
|
|
6920
6920
|
|
|
6921
6921
|
// src/device-flow.ts
|
|
6922
6922
|
var DeviceFlowError = class extends Error {
|
|
@@ -11648,6 +11648,62 @@ var GENERATED_TOOLS = [
|
|
|
11648
11648
|
"openWorldHint": false
|
|
11649
11649
|
}
|
|
11650
11650
|
},
|
|
11651
|
+
{
|
|
11652
|
+
"name": "democut_download_export",
|
|
11653
|
+
"description": "\uC644\uC131\uBCF8 \uC0B0\uCD9C\uBB3C \uD558\uB098\uB97C \uB0B4\uB824\uBC1B\uB294\uB2E4(kind: video|subtitle). stdio \uB294 output_path \uC5D0 \uC800\uC7A5, \uC6D0\uACA9\uC740 \uC11C\uBA85 URL(1\uC2DC\uAC04). democut_make_export \uB4A4 democut_wait_jobs \uAC00 \uC900 result.export_number \uB97C \uADF8\uB300\uB85C \uB123\uC5B4\uB77C \u2014 democut_get_export \uB97C \uAC70\uCE60 \uD544\uC694\uAC00 \uC5C6\uB2E4(\uCEF7\uC758 democut_download \uC640 \uAC19\uC740 \uADDC\uC57D).",
|
|
11654
|
+
"inputSchema": {
|
|
11655
|
+
"type": "object",
|
|
11656
|
+
"properties": {
|
|
11657
|
+
"slug": {
|
|
11658
|
+
"type": "string",
|
|
11659
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
11660
|
+
},
|
|
11661
|
+
"number": {
|
|
11662
|
+
"type": "string",
|
|
11663
|
+
"description": "\uC644\uC131\uBCF8 \uBC88\uD638(1\uBD80\uD130)"
|
|
11664
|
+
},
|
|
11665
|
+
"kind": {
|
|
11666
|
+
"default": "video",
|
|
11667
|
+
"enum": [
|
|
11668
|
+
"video",
|
|
11669
|
+
"subtitle"
|
|
11670
|
+
],
|
|
11671
|
+
"type": "string"
|
|
11672
|
+
},
|
|
11673
|
+
"output_path": {
|
|
11674
|
+
"type": "string",
|
|
11675
|
+
"description": "\uC800\uC7A5\uD560 \uB85C\uCEEC \uACBD\uB85C(stdio \uC804\uC6A9). \uC5C6\uC73C\uBA74 URL \uB9CC \uB3CC\uB824\uC900\uB2E4"
|
|
11676
|
+
}
|
|
11677
|
+
},
|
|
11678
|
+
"required": [
|
|
11679
|
+
"slug",
|
|
11680
|
+
"number"
|
|
11681
|
+
],
|
|
11682
|
+
"additionalProperties": false
|
|
11683
|
+
},
|
|
11684
|
+
"outputSchema": {
|
|
11685
|
+
"type": "object",
|
|
11686
|
+
"properties": {
|
|
11687
|
+
"url": {
|
|
11688
|
+
"type": "string"
|
|
11689
|
+
},
|
|
11690
|
+
"expires_at": {
|
|
11691
|
+
"type": "string"
|
|
11692
|
+
},
|
|
11693
|
+
"saved_to": {}
|
|
11694
|
+
},
|
|
11695
|
+
"required": [
|
|
11696
|
+
"url",
|
|
11697
|
+
"expires_at"
|
|
11698
|
+
]
|
|
11699
|
+
},
|
|
11700
|
+
"annotations": {
|
|
11701
|
+
"readOnlyHint": true,
|
|
11702
|
+
"destructiveHint": false,
|
|
11703
|
+
"idempotentHint": true,
|
|
11704
|
+
"openWorldHint": false
|
|
11705
|
+
}
|
|
11706
|
+
},
|
|
11651
11707
|
{
|
|
11652
11708
|
"name": "democut_make_thumbnails",
|
|
11653
11709
|
"description": "\uC378\uB124\uC77C \uB9CC\uB4E4\uAE30(\uCCAD\uAD6C) \u2014 styles \uB85C bold\xB7minimal\xB7dramatic \uC911 \uACE0\uB978 \uC2A4\uD0C0\uC77C\uB9CC(\uBE44\uC6B0\uBA74 \uC14B \uB2E4), \uC7A5\uB9C8\uB2E4 \uCCAD\uAD6C\xB7\uC2E4\uD328\uD55C \uC7A5\uB9CC \uD658\uBD88. \uB3D9\uC758\uC561 = thumbnail:variant \uB2E8\uAC00 \xD7 \uACE0\uB978 \uC218. \uC644\uC131\uBCF8 \uC601\uC0C1\uC774 \uC788\uC5B4\uC57C \uD55C\uB2E4(\uC5C6\uC73C\uBA74 409). \uB300\uCCB4: democut_upload_asset + democut_select_thumbnail. \uBCC4\uB3C4 \uACAC\uC801 \uB3C4\uAD6C\uAC00 \uC5C6\uB2E4: democut_get_options \uC758 rates \uC5D0\uC11C thumbnail:variant \uB2E8\uAC00\uC640 rate_version \uC744 \uC77D\uC5B4 **\uACE0\uB978 \uC2A4\uD0C0\uC77C \uC218**\uB9CC\uD07C \uACF1\uD574 confirmed_cost_krw \uC5D0 \uADF8\uB300\uB85C \uB123\uC5B4\uB77C(styles \uB97C \uBE44\uC6B0\uBA74 3\uC7A5). \uC5B4\uAE0B\uB098\uBA74 409 QUOTE_MISMATCH \uAC00 \uC7AC\uACC4\uC0B0 \uACAC\uC801(data.quote)\uC744 \uC900\uB2E4(\uACFC\uAE08 \uC5C6\uC74C). \uC751\uB2F5\uC740 202 \u2014 \uACB0\uACFC\uB294 democut_wait_jobs \uB85C \uBC1B\uB294\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs, democut_get_export.",
|
|
@@ -12878,6 +12934,12 @@ var TOOL_META = {
|
|
|
12878
12934
|
"method": "GET",
|
|
12879
12935
|
"path": "/api/projects/{slug}/exports/{number}"
|
|
12880
12936
|
},
|
|
12937
|
+
"democut_download_export": {
|
|
12938
|
+
"cost": "none",
|
|
12939
|
+
"group": "export",
|
|
12940
|
+
"method": "GET",
|
|
12941
|
+
"path": "/api/projects/{slug}/exports/{number}/download"
|
|
12942
|
+
},
|
|
12881
12943
|
"democut_make_thumbnails": {
|
|
12882
12944
|
"cost": "charge",
|
|
12883
12945
|
"group": "export",
|
|
@@ -15365,6 +15427,41 @@ function needExportNumber(a) {
|
|
|
15365
15427
|
}
|
|
15366
15428
|
return Number(a.number);
|
|
15367
15429
|
}
|
|
15430
|
+
function downloadExport(a = {}, deps = {}) {
|
|
15431
|
+
return guarded(READ_ONLY, async () => {
|
|
15432
|
+
const slug = needSlug(a);
|
|
15433
|
+
if (typeof slug !== "string") return slug;
|
|
15434
|
+
const number3 = needExportNumber(a);
|
|
15435
|
+
if (typeof number3 !== "number") return number3;
|
|
15436
|
+
const kind = a.kind ?? "video";
|
|
15437
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
15438
|
+
const q = new URLSearchParams({ kind });
|
|
15439
|
+
let out4;
|
|
15440
|
+
try {
|
|
15441
|
+
out4 = await apiRequest(base, projectPath(slug, `/exports/${number3}/download?${q}`), {}, deps);
|
|
15442
|
+
} catch (e) {
|
|
15443
|
+
if (e instanceof ApiError && e.status === 404 && e.code === `HTTP_404`) {
|
|
15444
|
+
return {
|
|
15445
|
+
isError: true,
|
|
15446
|
+
text: "\uC774 \uC11C\uBC84\uC5D0\uB294 \uC544\uC9C1 \uC644\uC131\uBCF8 \uB0B4\uB824\uBC1B\uAE30\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 CLI \uAC00 \uC11C\uBC84\uBCF4\uB2E4 \uBA3C\uC800 \uC62C\uB77C\uAC00 \uC0DD\uAE30\uB294 \uC77C\uC2DC\uC801\uC778 \uCC28\uC774\uC785\uB2C8\uB2E4.\n\uC2AC\uB7EC\uADF8\uC640 \uBC88\uD638\uB294 \uBB38\uC81C\uAC00 \uC544\uB2C8\uB2C8 \uACE0\uCE58\uC9C0 \uB9C8\uC138\uC694. \uC11C\uBC84\uAC00 \uBC30\uD3EC\uB420 \uB54C\uAE4C\uC9C0\uB294 democut_get_export \uAC00 \uC8FC\uB294 download.video\xB7download.subtitle \uC8FC\uC18C\uB97C \uC4F0\uC138\uC694(\uC11C\uBA85\uC740 1\uC2DC\uAC04)."
|
|
15447
|
+
};
|
|
15448
|
+
}
|
|
15449
|
+
throw e;
|
|
15450
|
+
}
|
|
15451
|
+
if (a.output_path) {
|
|
15452
|
+
await (deps.downloadImpl ? deps.downloadImpl(out4.url, a.output_path) : saveUrlToFile(out4.url, a.output_path, deps.fetchImpl ?? fetch));
|
|
15453
|
+
return { text: `\uC644\uC131\uBCF8 #${number3} ${kind} \uB97C \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4: ${a.output_path}`, structured: callableStructured({ ...out4, saved_to: a.output_path }) };
|
|
15454
|
+
}
|
|
15455
|
+
return {
|
|
15456
|
+
text: [
|
|
15457
|
+
`\uC644\uC131\uBCF8 #${number3} ${kind} \uB0B4\uB824\uBC1B\uAE30 \uC8FC\uC18C (\uB9CC\uB8CC ${out4.expires_at}):`,
|
|
15458
|
+
out4.url,
|
|
15459
|
+
"output_path \uB97C \uC8FC\uBA74 \uC774 \uD30C\uC77C\uC744 \uADF8 \uACBD\uB85C\uC5D0 \uBC14\uB85C \uC800\uC7A5\uD569\uB2C8\uB2E4."
|
|
15460
|
+
].join("\n"),
|
|
15461
|
+
structured: callableStructured(out4)
|
|
15462
|
+
};
|
|
15463
|
+
});
|
|
15464
|
+
}
|
|
15368
15465
|
function getExport(a = {}, deps = {}) {
|
|
15369
15466
|
return guarded(READ_ONLY, async () => {
|
|
15370
15467
|
const slug = needSlug(a);
|
|
@@ -15648,6 +15745,8 @@ function dispatch(name, args, deps = {}) {
|
|
|
15648
15745
|
return listExports(args, deps);
|
|
15649
15746
|
case "democut_get_export":
|
|
15650
15747
|
return getExport(args, deps);
|
|
15748
|
+
case "democut_download_export":
|
|
15749
|
+
return downloadExport(args, deps);
|
|
15651
15750
|
case "democut_make_thumbnails":
|
|
15652
15751
|
return makeThumbnails(args, deps);
|
|
15653
15752
|
case "democut_select_thumbnail":
|