democut 1.0.83 → 1.0.86
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 +436 -28
- 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.86";
|
|
6920
6920
|
|
|
6921
6921
|
// src/device-flow.ts
|
|
6922
6922
|
var DeviceFlowError = class extends Error {
|
|
@@ -8252,6 +8252,7 @@ var GENERATED_TOOLS = [
|
|
|
8252
8252
|
"canvas": {},
|
|
8253
8253
|
"draft_spec": {},
|
|
8254
8254
|
"edit": {},
|
|
8255
|
+
"bgm": {},
|
|
8255
8256
|
"current_version": {},
|
|
8256
8257
|
"current_image_id": {},
|
|
8257
8258
|
"images": {
|
|
@@ -8637,6 +8638,7 @@ var GENERATED_TOOLS = [
|
|
|
8637
8638
|
"canvas": {},
|
|
8638
8639
|
"draft_spec": {},
|
|
8639
8640
|
"edit": {},
|
|
8641
|
+
"bgm": {},
|
|
8640
8642
|
"current_version": {},
|
|
8641
8643
|
"current_image_id": {},
|
|
8642
8644
|
"images": {
|
|
@@ -8748,6 +8750,7 @@ var GENERATED_TOOLS = [
|
|
|
8748
8750
|
"canvas": {},
|
|
8749
8751
|
"draft_spec": {},
|
|
8750
8752
|
"edit": {},
|
|
8753
|
+
"bgm": {},
|
|
8751
8754
|
"current_version": {},
|
|
8752
8755
|
"current_image_id": {},
|
|
8753
8756
|
"images": {
|
|
@@ -9640,7 +9643,7 @@ var GENERATED_TOOLS = [
|
|
|
9640
9643
|
},
|
|
9641
9644
|
{
|
|
9642
9645
|
"name": "democut_select_character_photo",
|
|
9643
|
-
"description": "\
|
|
9646
|
+
"description": "\uC0AC\uC9C4\uC744 \uC120\uD0DD\uD55C\uB2E4(\uC774\uBBF8 \uB9CC\uB4E0 \uCEF7\uC5D0\uB294 \uC18C\uAE09\uD558\uC9C0 \uC54A\uB294\uB2E4).",
|
|
9644
9647
|
"inputSchema": {
|
|
9645
9648
|
"type": "object",
|
|
9646
9649
|
"properties": {
|
|
@@ -9803,7 +9806,7 @@ var GENERATED_TOOLS = [
|
|
|
9803
9806
|
},
|
|
9804
9807
|
{
|
|
9805
9808
|
"name": "democut_make_character_photo",
|
|
9806
|
-
"description": "\uC544\uBC14\uD0C0 \uC0AC\uC9C4\uC744 AI \uB85C \uB9CC\uB4E0\uB2E4(\uCCAD\uAD6C\xB7\uC0C1\uD55C). \uCE90\uB9AD\uD130 \uC2DC\uD2B8\uB3C4 \uAC19\uC740 \uC7A1\uC5D0\uC11C \uB9CC\uB4E4\uC5B4 \uADF8 \uC0AC\uC9C4\uC5D0 \uB2E8\uB2E4. \uB9CC\uB4E0 \uC0AC\uC9C4\uC774 \
|
|
9809
|
+
"description": "\uC544\uBC14\uD0C0 \uC0AC\uC9C4\uC744 AI \uB85C \uB9CC\uB4E0\uB2E4(\uCCAD\uAD6C\xB7\uC0C1\uD55C). \uCE90\uB9AD\uD130 \uC2DC\uD2B8\uB3C4 \uAC19\uC740 \uC7A1\uC5D0\uC11C \uB9CC\uB4E4\uC5B4 \uADF8 \uC0AC\uC9C4\uC5D0 \uB2E8\uB2E4. \uB9CC\uB4E0 \uC0AC\uC9C4\uC774 \uC120\uD0DD\uB41C\uB2E4. \uD06C\uAE30\uB294 \uC815\uC0AC\uAC01 \uACE0\uC815. prompt \uC5D0\uB294 \uB204\uAD6C\uC778\uC9C0(\uB098\uC774\xB7\uC131\uBCC4\xB7\uCD9C\uC2E0\xB7\uBA38\uB9AC\xB7\uC637 \uB4F1)\uB97C \uC801\uB294\uB2E4 \u2014 \uC0AC\uC2E4\uC801\uC778 \uC778\uBB3C \uC0AC\uC9C4\uC758 \uD2C0\uC740 \uC11C\uBC84\uAC00 \uC50C\uC6B4\uB2E4. \uB3C8\uC774 \uB098\uAC00\uB294 \uB3C4\uAD6C\uB2E4: estimate_cuts(\uB610\uB294 \uC9DD\uC774 \uB418\uB294 estimate \uB3C4\uAD6C)\uB85C \uAE08\uC561\uC744 \uBCF4\uACE0 \uC0AC\uC6A9\uC790 \uB3D9\uC758\uB97C \uBC1B\uC740 \uB4A4 confirmed_*_krw \uC640 rate_version \uC744 \uADF8\uB300\uB85C \uB123\uC5B4\uB77C. \uC5B4\uAE0B\uB098\uBA74 409 QUOTE_MISMATCH \uB85C \uC0C8 \uACAC\uC801\uC744 \uC900\uB2E4(\uACFC\uAE08 \uC5C6\uC74C). \uC2E4\uD328\uD574\uB3C4 \uC7AC\uC81C\uCD9C\uD558\uC9C0 \uB9C8\uB77C \u2014 \uAC19\uC740 spec \uC774 \uD65C\uC131\uC774\uBA74 \uC11C\uBC84\uAC00 \uAE30\uC874 \uC7A1\uC744 \uB3CC\uB824\uC900\uB2E4(deduplicated=true). \uC751\uB2F5\uC740 202 \u2014 \uACB0\uACFC\uB294 democut_wait_jobs \uB85C \uBC1B\uB294\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs.",
|
|
9807
9810
|
"inputSchema": {
|
|
9808
9811
|
"type": "object",
|
|
9809
9812
|
"properties": {
|
|
@@ -10306,6 +10309,7 @@ var GENERATED_TOOLS = [
|
|
|
10306
10309
|
"canvas": {},
|
|
10307
10310
|
"draft_spec": {},
|
|
10308
10311
|
"edit": {},
|
|
10312
|
+
"bgm": {},
|
|
10309
10313
|
"current_version": {},
|
|
10310
10314
|
"current_image_id": {},
|
|
10311
10315
|
"images": {
|
|
@@ -10405,6 +10409,7 @@ var GENERATED_TOOLS = [
|
|
|
10405
10409
|
"canvas": {},
|
|
10406
10410
|
"draft_spec": {},
|
|
10407
10411
|
"edit": {},
|
|
10412
|
+
"bgm": {},
|
|
10408
10413
|
"current_version": {},
|
|
10409
10414
|
"current_image_id": {},
|
|
10410
10415
|
"images": {
|
|
@@ -10551,6 +10556,7 @@ var GENERATED_TOOLS = [
|
|
|
10551
10556
|
"canvas": {},
|
|
10552
10557
|
"draft_spec": {},
|
|
10553
10558
|
"edit": {},
|
|
10559
|
+
"bgm": {},
|
|
10554
10560
|
"current_version": {},
|
|
10555
10561
|
"current_image_id": {},
|
|
10556
10562
|
"images": {
|
|
@@ -10606,7 +10612,7 @@ var GENERATED_TOOLS = [
|
|
|
10606
10612
|
},
|
|
10607
10613
|
{
|
|
10608
10614
|
"name": "democut_set_cut_edit",
|
|
10609
|
-
"description": "\uC55E\uB4A4 \uC790\uB974\uAE30(edit.trim_in_ms\xB7trim_out_ms)\uC640 \uBB34\uC74C \uC790\uB974\uAE30(edit.silence_removal)\uB97C \uC815\uD55C\uB2E4. 0\uC6D0\uC774\uACE0 \uB9CC\uB4E0 \uC601\uC0C1 \uD30C\uC77C\uC740 \uADF8\uB300\uB85C\uB2E4 \u2014 \uBBF8\uB9AC\uBCF4\uAE30\uC640 \uC644\uC131\uBCF8\uC5D0\uB9CC \uC801\uC6A9\uB41C\uB2E4. edit \uB294 \uD1B5\uC9F8\uB85C \uBC14\uB00C\uBBC0\uB85C \uC548 \uBC14\uAFC0 \uAC12\uB3C4 \uD568\uAED8 \uBCF4\uB0B8\uB2E4. \uC720\uD29C\uBE0C \uD074\uB9BD\uC758 \uC6D0\uBCF8 \uAD6C\uAC04(draft_spec.source.start_s\xB7end_s \u2014 \uBC14\uAFB8\uBA74 \uB2E4\uC2DC \uB9CC\uB4E4\uACE0 \uACFC\uAE08)\uACFC \uB2E4\uB978 \uAC12\uC774\uB2E4.",
|
|
10615
|
+
"description": "\uC55E\uB4A4 \uC790\uB974\uAE30(edit.trim_in_ms\xB7trim_out_ms)\uC640 \uBB34\uC74C \uC790\uB974\uAE30(edit.silence_removal), \uC7AC\uC0DD \uC18D\uB3C4(edit.speed \u2014 0.5~2.0\uBC30)\uB97C \uC815\uD55C\uB2E4. 0\uC6D0\uC774\uACE0 \uB9CC\uB4E0 \uC601\uC0C1 \uD30C\uC77C\uC740 \uADF8\uB300\uB85C\uB2E4 \u2014 \uBBF8\uB9AC\uBCF4\uAE30\uC640 \uC644\uC131\uBCF8\uC5D0\uB9CC \uC801\uC6A9\uB41C\uB2E4. \uB9D0\uC774 \uB290\uB9B4 \uB54C \uCEF7\uC744 \uB2E4\uC2DC \uB9CC\uB4E4\uC9C0 \uC54A\uACE0 speed \uB9CC \uC62C\uB9AC\uBA74 \uB41C\uB2E4. edit \uB294 \uD1B5\uC9F8\uB85C \uBC14\uB00C\uBBC0\uB85C \uC548 \uBC14\uAFC0 \uAC12\uB3C4 \uD568\uAED8 \uBCF4\uB0B8\uB2E4. \uC720\uD29C\uBE0C \uD074\uB9BD\uC758 \uC6D0\uBCF8 \uAD6C\uAC04(draft_spec.source.start_s\xB7end_s \u2014 \uBC14\uAFB8\uBA74 \uB2E4\uC2DC \uB9CC\uB4E4\uACE0 \uACFC\uAE08)\uACFC \uB2E4\uB978 \uAC12\uC774\uB2E4.",
|
|
10610
10616
|
"inputSchema": {
|
|
10611
10617
|
"type": "object",
|
|
10612
10618
|
"properties": {
|
|
@@ -10655,6 +10661,7 @@ var GENERATED_TOOLS = [
|
|
|
10655
10661
|
"canvas": {},
|
|
10656
10662
|
"draft_spec": {},
|
|
10657
10663
|
"edit": {},
|
|
10664
|
+
"bgm": {},
|
|
10658
10665
|
"current_version": {},
|
|
10659
10666
|
"current_image_id": {},
|
|
10660
10667
|
"images": {
|
|
@@ -10759,6 +10766,7 @@ var GENERATED_TOOLS = [
|
|
|
10759
10766
|
"canvas": {},
|
|
10760
10767
|
"draft_spec": {},
|
|
10761
10768
|
"edit": {},
|
|
10769
|
+
"bgm": {},
|
|
10762
10770
|
"current_version": {},
|
|
10763
10771
|
"current_image_id": {},
|
|
10764
10772
|
"images": {
|
|
@@ -10812,6 +10820,252 @@ var GENERATED_TOOLS = [
|
|
|
10812
10820
|
"openWorldHint": false
|
|
10813
10821
|
}
|
|
10814
10822
|
},
|
|
10823
|
+
{
|
|
10824
|
+
"name": "democut_set_cut_bgm",
|
|
10825
|
+
"description": "\uCEF7\uC5D0 \uAE54 \uBC30\uACBD\uC74C\uC545\uC744 \uC815\uD55C\uB2E4(0\uC6D0). \uCEF7 \uC601\uC0C1\uC740 \uADF8\uB300\uB85C\uC774\uACE0 \uC644\uC131\uBCF8\uC744 \uB9CC\uB4E4 \uB54C \uC11E\uC778\uB2E4 \u2014 \uBC14\uAFBC \uB4A4 democut_make_export \uB9CC \uB2E4\uC2DC \uD558\uBA74 \uB41C\uB2E4. bgm = {asset_id(\uC62C\uB824 \uB454 audio \uC790\uC0B0 \u2014 democut_upload_asset kind=audio), cut_start_ms\xB7cut_end_ms(\uCEF7\uC758 \uC5B4\uB514\uBD80\uD130 \uC5B4\uB514\uAE4C\uC9C0, \uBE44\uC6B0\uBA74 \uCEF7 \uC804\uCCB4), song_start_ms\xB7song_end_ms(\uACE1\uC758 \uC5B4\uB514\uBD80\uD130 \uC5B4\uB514\uAE4C\uC9C0), volume(0~2, \uAE30\uBCF8 1)}. song_start_ms \uB97C \uBE44\uC6B0\uBA74 \uC790\uB3D9\uC774\uB2E4: \uBC14\uB85C \uC55E \uCEF7\uC774 \uAC19\uC740 \uACE1\uC774\uBA74 \uADF8 \uACE1\uC774 \uB4E4\uB9B0 \uC790\uB9AC\uC5D0\uC11C \uC774\uC5B4\uC9C0\uACE0(\uD55C \uACE1\uC744 \uC5EC\uB7EC \uCEF7\uC5D0 \uAC78\uCCD0 \uAE54 \uB54C \uADF8\uB0E5 \uAC19\uC740 asset_id \uB9CC \uC8FC\uBA74 \uB41C\uB2E4), \uC544\uB2C8\uBA74 \uCC98\uC74C\uBD80\uD130\uB2E4. 0 \uC744 \uC8FC\uBA74 \uCC98\uC74C\uBD80\uD130 \uB2E4\uC2DC \uD2BC\uB2E4. \uACE1\uC774 \uBAA8\uC790\uB77C\uBA74 \uBC18\uBCF5\uD558\uC9C0 \uC54A\uACE0 \uC870\uC6A9\uD574\uC9C4\uB2E4. \uADF8 \uCEF7\uC758 \uC55E\uB4A4 \uC790\uB974\uAE30\xB7\uBB34\uC74C \uC790\uB974\uAE30(democut_set_cut_edit)\uB294 \uC74C\uC545\uC5D0\uB3C4 \uAC19\uC774 \uAC78\uB9B0\uB2E4(\uC798\uB9B0 \uD654\uBA74\uC758 \uC74C\uC545\uC740 \uD568\uAED8 \uBE60\uC9C4\uB2E4). \uBC30\uC18D\uC740 \uC601\uC0C1\uC5D0\uB9CC \uAC78\uB9AC\uACE0 \uC74C\uC545\uC740 \uC81C \uC18D\uB3C4\uB85C \uD750\uB978\uB2E4. \uB9D0\uC18C\uB9AC\uAC00 \uC788\uB294 \uAD6C\uAC04\uC5D0\uC11C\uB294 \uC74C\uC545\uC774 \uC790\uB3D9\uC73C\uB85C \uB0AE\uC544\uC9C4\uB2E4. bgm \uC744 null \uB85C \uC8FC\uBA74 \uC74C\uC545\uC744 \uBE80\uB2E4. democut_set_cut_edit\xB7democut_put_cut_draft \uC640 \uB2E4\uB978 \uAC12\uC774\uB77C \uC11C\uB85C \uC9C0\uC6B0\uC9C0 \uC54A\uB294\uB2E4.",
|
|
10826
|
+
"inputSchema": {
|
|
10827
|
+
"type": "object",
|
|
10828
|
+
"properties": {
|
|
10829
|
+
"slug": {
|
|
10830
|
+
"type": "string",
|
|
10831
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
10832
|
+
},
|
|
10833
|
+
"cut_id": {
|
|
10834
|
+
"type": "string",
|
|
10835
|
+
"description": "\uCEF7 id(cut_\u2026)"
|
|
10836
|
+
},
|
|
10837
|
+
"bgm": {
|
|
10838
|
+
"type": [
|
|
10839
|
+
"object",
|
|
10840
|
+
"null"
|
|
10841
|
+
],
|
|
10842
|
+
"description": "\uBC30\uACBD\uC74C\uC545 \uC9C0\uC815(\uBAA8\uC591\uC740 CutBgm). null \uC774\uBA74 \uC74C\uC545\uC744 \uBE80\uB2E4 \u2014 \uBAA8\uB378 CutBgm \u2014 \uBAA8\uC591\uC740 \uC790\uC6D0 democut://guide \uC640 democut_get_options \uAC00 \uB9D0\uD55C\uB2E4(\uC5EC\uAE30\uC11C\uB294 \uC81C\uC57D\uC744 \uAC78\uC9C0 \uC54A\uB294\uB2E4)"
|
|
10843
|
+
}
|
|
10844
|
+
},
|
|
10845
|
+
"required": [
|
|
10846
|
+
"slug",
|
|
10847
|
+
"cut_id",
|
|
10848
|
+
"bgm"
|
|
10849
|
+
],
|
|
10850
|
+
"additionalProperties": false
|
|
10851
|
+
},
|
|
10852
|
+
"outputSchema": {
|
|
10853
|
+
"type": "object",
|
|
10854
|
+
"properties": {
|
|
10855
|
+
"id": {
|
|
10856
|
+
"type": "string"
|
|
10857
|
+
},
|
|
10858
|
+
"project_slug": {
|
|
10859
|
+
"type": "string"
|
|
10860
|
+
},
|
|
10861
|
+
"mode": {
|
|
10862
|
+
"type": "string"
|
|
10863
|
+
},
|
|
10864
|
+
"title": {
|
|
10865
|
+
"type": "string"
|
|
10866
|
+
},
|
|
10867
|
+
"position": {},
|
|
10868
|
+
"chain_break": {
|
|
10869
|
+
"type": "boolean"
|
|
10870
|
+
},
|
|
10871
|
+
"enabled": {
|
|
10872
|
+
"type": "boolean"
|
|
10873
|
+
},
|
|
10874
|
+
"canvas": {},
|
|
10875
|
+
"draft_spec": {},
|
|
10876
|
+
"edit": {},
|
|
10877
|
+
"bgm": {},
|
|
10878
|
+
"current_version": {},
|
|
10879
|
+
"current_image_id": {},
|
|
10880
|
+
"images": {
|
|
10881
|
+
"type": "array"
|
|
10882
|
+
},
|
|
10883
|
+
"hook_candidates": {},
|
|
10884
|
+
"versions": {
|
|
10885
|
+
"type": "array"
|
|
10886
|
+
},
|
|
10887
|
+
"state": {
|
|
10888
|
+
"type": "string"
|
|
10889
|
+
},
|
|
10890
|
+
"dirty_fields": {
|
|
10891
|
+
"type": "array"
|
|
10892
|
+
},
|
|
10893
|
+
"estimated_cost_krw": {},
|
|
10894
|
+
"rows": {
|
|
10895
|
+
"type": "array"
|
|
10896
|
+
},
|
|
10897
|
+
"blocked_reason": {},
|
|
10898
|
+
"edit_adjusted": {
|
|
10899
|
+
"type": "boolean"
|
|
10900
|
+
},
|
|
10901
|
+
"active_job_id": {},
|
|
10902
|
+
"last_job_id": {},
|
|
10903
|
+
"last_error": {},
|
|
10904
|
+
"next_calls": {
|
|
10905
|
+
"type": "array"
|
|
10906
|
+
},
|
|
10907
|
+
"created_at": {
|
|
10908
|
+
"type": "string"
|
|
10909
|
+
},
|
|
10910
|
+
"updated_at": {
|
|
10911
|
+
"type": "string"
|
|
10912
|
+
}
|
|
10913
|
+
},
|
|
10914
|
+
"required": [
|
|
10915
|
+
"id",
|
|
10916
|
+
"project_slug",
|
|
10917
|
+
"mode",
|
|
10918
|
+
"draft_spec",
|
|
10919
|
+
"state",
|
|
10920
|
+
"created_at",
|
|
10921
|
+
"updated_at"
|
|
10922
|
+
]
|
|
10923
|
+
},
|
|
10924
|
+
"annotations": {
|
|
10925
|
+
"readOnlyHint": false,
|
|
10926
|
+
"destructiveHint": false,
|
|
10927
|
+
"idempotentHint": true,
|
|
10928
|
+
"openWorldHint": false
|
|
10929
|
+
}
|
|
10930
|
+
},
|
|
10931
|
+
{
|
|
10932
|
+
"name": "democut_list_music",
|
|
10933
|
+
"description": "\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uACE1 \uBAA9\uB85D(0\uC6D0) \u2014 \uBC30\uACBD\uC74C\uC545\uC73C\uB85C \uACE0\uB97C \uC218 \uC788\uB294 \uACE1. \uACE1\uB9C8\uB2E4 asset_id\xB7\uC774\uB984\xB7\uAE38\uC774(duration_ms)\xB7\uBBF8\uB9AC\uB4E3\uAE30 \uC8FC\uC18C\uC640 \uADF8 \uACE1\uC744 \uAE50 \uCEF7(used_by)\uC744 \uC900\uB2E4. \uCEF7\uC5D0 \uAE4C\uB294 \uAC83\uC740 democut_set_cut_bgm \uC774\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_set_cut_bgm.",
|
|
10934
|
+
"inputSchema": {
|
|
10935
|
+
"type": "object",
|
|
10936
|
+
"properties": {
|
|
10937
|
+
"slug": {
|
|
10938
|
+
"type": "string",
|
|
10939
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
10940
|
+
}
|
|
10941
|
+
},
|
|
10942
|
+
"required": [
|
|
10943
|
+
"slug"
|
|
10944
|
+
],
|
|
10945
|
+
"additionalProperties": false
|
|
10946
|
+
},
|
|
10947
|
+
"outputSchema": {
|
|
10948
|
+
"type": "object",
|
|
10949
|
+
"properties": {
|
|
10950
|
+
"music": {
|
|
10951
|
+
"type": "array"
|
|
10952
|
+
}
|
|
10953
|
+
},
|
|
10954
|
+
"required": [
|
|
10955
|
+
"music"
|
|
10956
|
+
]
|
|
10957
|
+
},
|
|
10958
|
+
"annotations": {
|
|
10959
|
+
"readOnlyHint": true,
|
|
10960
|
+
"destructiveHint": false,
|
|
10961
|
+
"idempotentHint": true,
|
|
10962
|
+
"openWorldHint": false
|
|
10963
|
+
}
|
|
10964
|
+
},
|
|
10965
|
+
{
|
|
10966
|
+
"name": "democut_add_music",
|
|
10967
|
+
"description": "\uC62C\uB824 \uB454 \uC18C\uB9AC \uC790\uC0B0(democut_upload_asset kind=audio \u2014 wav\xB7mp3\xB7m4a)\uC744 \uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uACE1\uC73C\uB85C \uB4F1\uB85D\uD55C\uB2E4(0\uC6D0). title \uC740 \uC0AC\uB78C\uC774 \uACE1\uC744 \uAD6C\uBCC4\uD558\uB294 \uC774\uB984\uC774\uB2E4. \uC774\uBBF8 \uB4F1\uB85D\uB41C \uACE1\uC774\uBA74 \uC774\uB984\uB9CC \uBC14\uAFBC\uB2E4. \uB4F1\uB85D\uD558\uC9C0 \uC54A\uC740 \uC790\uC0B0\uB3C4 democut_set_cut_bgm \uC5D0 \uC4F8 \uC218 \uC788\uC9C0\uB9CC, \uB4F1\uB85D\uD574 \uB450\uC5B4\uC57C \uD654\uBA74\uC758 \uACE1 \uBAA9\uB85D\uC5D0 \uBCF4\uC778\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_set_cut_bgm.",
|
|
10968
|
+
"inputSchema": {
|
|
10969
|
+
"type": "object",
|
|
10970
|
+
"properties": {
|
|
10971
|
+
"slug": {
|
|
10972
|
+
"type": "string",
|
|
10973
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
10974
|
+
},
|
|
10975
|
+
"asset_id": {
|
|
10976
|
+
"description": "upload_asset(kind=audio)\uAC00 \uC900 \uC790\uC0B0 id",
|
|
10977
|
+
"minLength": 1,
|
|
10978
|
+
"type": "string"
|
|
10979
|
+
},
|
|
10980
|
+
"title": {
|
|
10981
|
+
"default": "",
|
|
10982
|
+
"description": "\uACE1\uC758 \uC774\uB984(\uC120\uD0DD). \uC0AC\uB78C\uC774 \uACE1\uC744 \uAD6C\uBCC4\uD558\uB294 \uB370\uB9CC \uC4F4\uB2E4",
|
|
10983
|
+
"maxLength": 100,
|
|
10984
|
+
"type": "string"
|
|
10985
|
+
}
|
|
10986
|
+
},
|
|
10987
|
+
"required": [
|
|
10988
|
+
"slug",
|
|
10989
|
+
"asset_id"
|
|
10990
|
+
],
|
|
10991
|
+
"additionalProperties": false
|
|
10992
|
+
},
|
|
10993
|
+
"outputSchema": {
|
|
10994
|
+
"type": "object",
|
|
10995
|
+
"properties": {
|
|
10996
|
+
"asset_id": {
|
|
10997
|
+
"type": "string"
|
|
10998
|
+
},
|
|
10999
|
+
"title": {
|
|
11000
|
+
"type": "string"
|
|
11001
|
+
},
|
|
11002
|
+
"duration_ms": {},
|
|
11003
|
+
"peaks": {
|
|
11004
|
+
"type": "array"
|
|
11005
|
+
},
|
|
11006
|
+
"url": {},
|
|
11007
|
+
"used_by": {
|
|
11008
|
+
"type": "array"
|
|
11009
|
+
}
|
|
11010
|
+
},
|
|
11011
|
+
"required": [
|
|
11012
|
+
"asset_id"
|
|
11013
|
+
]
|
|
11014
|
+
},
|
|
11015
|
+
"annotations": {
|
|
11016
|
+
"readOnlyHint": false,
|
|
11017
|
+
"destructiveHint": false,
|
|
11018
|
+
"idempotentHint": false,
|
|
11019
|
+
"openWorldHint": false
|
|
11020
|
+
}
|
|
11021
|
+
},
|
|
11022
|
+
{
|
|
11023
|
+
"name": "democut_remove_music",
|
|
11024
|
+
"description": "\uACE1\uC744 \uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uBAA9\uB85D\uC5D0\uC11C \uBE80\uB2E4(0\uC6D0). \uADF8 \uACE1\uC744 \uBC30\uACBD\uC74C\uC545\uC73C\uB85C \uAE50 \uCEF7\uC774 \uC788\uC73C\uBA74 409 ASSET_IN_USE \uB85C \uB9C9\uACE0 data.cut_ids \uB85C \uC5B4\uB290 \uCEF7\uC778\uC9C0 \uB9D0\uD55C\uB2E4 \u2014 \uC0AC\uC6A9\uC790\uC5D0\uAC8C \uADF8 \uCEF7\uB4E4\uC758 \uC74C\uC545\uC774 \uBE60\uC9C4\uB2E4\uB294 \uAC83\uC744 \uC54C\uB9AC\uACE0 \uB3D9\uC758\uB97C \uBC1B\uC740 \uB4A4 force=true \uB85C \uB2E4\uC2DC \uBD80\uB974\uBA74 \uADF8 \uCEF7\uB4E4\uC758 \uC9C0\uC815\uC744 \uBE44\uC6B0\uACE0 \uBE80\uB2E4. \uBE80 \uB4A4 \uC544\uBB34\uB3C4 \uC4F0\uC9C0 \uC54A\uB294 \uC790\uC0B0\uC740 \uD568\uAED8 \uC9C0\uC6B4\uB2E4. \uC774\uBBF8 \uB9CC\uB4E0 \uC644\uC131\uBCF8\uC740 \uADF8\uB300\uB85C\uB2E4.",
|
|
11025
|
+
"inputSchema": {
|
|
11026
|
+
"type": "object",
|
|
11027
|
+
"properties": {
|
|
11028
|
+
"slug": {
|
|
11029
|
+
"type": "string",
|
|
11030
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
11031
|
+
},
|
|
11032
|
+
"asset_id": {
|
|
11033
|
+
"type": "string",
|
|
11034
|
+
"description": "\uC790\uC0B0 id(ast_\u2026)"
|
|
11035
|
+
},
|
|
11036
|
+
"force": {
|
|
11037
|
+
"default": false,
|
|
11038
|
+
"description": "\uC4F0\uB294 \uCEF7\uC774 \uC788\uC5B4\uB3C4 \uBE80\uB2E4 \u2014 \uADF8 \uCEF7\uB4E4\uC758 \uBC30\uACBD\uC74C\uC545 \uC9C0\uC815\uC744 \uBE44\uC6B4\uB2E4. \uC5C6\uC73C\uBA74 409 \uB85C \uB9C9\uACE0 \uB204\uAC00 \uC4F0\uB294\uC9C0 \uB9D0\uD55C\uB2E4",
|
|
11039
|
+
"type": "boolean"
|
|
11040
|
+
}
|
|
11041
|
+
},
|
|
11042
|
+
"required": [
|
|
11043
|
+
"slug",
|
|
11044
|
+
"asset_id"
|
|
11045
|
+
],
|
|
11046
|
+
"additionalProperties": false
|
|
11047
|
+
},
|
|
11048
|
+
"outputSchema": {
|
|
11049
|
+
"type": "object",
|
|
11050
|
+
"properties": {
|
|
11051
|
+
"deleted": {
|
|
11052
|
+
"type": "boolean"
|
|
11053
|
+
},
|
|
11054
|
+
"cleared_cut_ids": {
|
|
11055
|
+
"type": "array"
|
|
11056
|
+
},
|
|
11057
|
+
"asset_deleted": {
|
|
11058
|
+
"type": "boolean"
|
|
11059
|
+
}
|
|
11060
|
+
}
|
|
11061
|
+
},
|
|
11062
|
+
"annotations": {
|
|
11063
|
+
"readOnlyHint": false,
|
|
11064
|
+
"destructiveHint": true,
|
|
11065
|
+
"idempotentHint": true,
|
|
11066
|
+
"openWorldHint": false
|
|
11067
|
+
}
|
|
11068
|
+
},
|
|
10815
11069
|
{
|
|
10816
11070
|
"name": "democut_reorder_cuts",
|
|
10817
11071
|
"description": "\uC5F0\uACB0 \uC21C\uC11C\uB97C \uD1B5\uC9F8\uB85C \uB2E4\uC2DC \uC4F4\uB2E4(If-Match rev). \uBE60\uC9C4 \uCEF7\uC740 \uB5BC\uC5B4 \uB454 \uCEF7\uC774 \uB41C\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_make_export.",
|
|
@@ -11076,7 +11330,7 @@ var GENERATED_TOOLS = [
|
|
|
11076
11330
|
},
|
|
11077
11331
|
{
|
|
11078
11332
|
"name": "democut_get_silence",
|
|
11079
|
-
"description": "\
|
|
11333
|
+
"description": "\uC120\uD0DD\uB41C \uBC84\uC804\uC758 \uBB34\uC74C \uAD6C\uAC04 \uBBF8\uB9AC\uBCF4\uAE30(threshold_ms).",
|
|
11080
11334
|
"inputSchema": {
|
|
11081
11335
|
"type": "object",
|
|
11082
11336
|
"properties": {
|
|
@@ -11129,7 +11383,7 @@ var GENERATED_TOOLS = [
|
|
|
11129
11383
|
},
|
|
11130
11384
|
{
|
|
11131
11385
|
"name": "democut_download_project",
|
|
11132
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC804\uCCB4(\
|
|
11386
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC804\uCCB4(\uC120\uD0DD\uB41C \uBC84\uC804 \uC0B0\uCD9C\uBB3C) zip \uC11C\uBA85 URL.",
|
|
11133
11387
|
"inputSchema": {
|
|
11134
11388
|
"type": "object",
|
|
11135
11389
|
"properties": {
|
|
@@ -11356,6 +11610,7 @@ var GENERATED_TOOLS = [
|
|
|
11356
11610
|
"canvas": {},
|
|
11357
11611
|
"draft_spec": {},
|
|
11358
11612
|
"edit": {},
|
|
11613
|
+
"bgm": {},
|
|
11359
11614
|
"current_version": {},
|
|
11360
11615
|
"current_image_id": {},
|
|
11361
11616
|
"images": {
|
|
@@ -11894,7 +12149,7 @@ var GENERATED_TOOLS = [
|
|
|
11894
12149
|
},
|
|
11895
12150
|
{
|
|
11896
12151
|
"name": "democut_delete_thumbnail",
|
|
11897
|
-
"description": "\uC378\uB124\uC77C \uD6C4\uBCF4\uB97C \uBE80\uB2E4(0\uC6D0). \
|
|
12152
|
+
"description": "\uC378\uB124\uC77C \uD6C4\uBCF4\uB97C \uBE80\uB2E4(0\uC6D0). \uC120\uD0DD\uB3FC \uC788\uC5C8\uC73C\uBA74 \uC120\uD0DD\uC774 \uBE44\uACE0, \uB2E4\uB978 \uACF3\uC774 \uC4F0\uC9C0 \uC54A\uB294 \uC774\uBBF8\uC9C0 \uD30C\uC77C\uC740 \uD568\uAED8 \uC9C0\uC6B4\uB2E4.",
|
|
11898
12153
|
"inputSchema": {
|
|
11899
12154
|
"type": "object",
|
|
11900
12155
|
"properties": {
|
|
@@ -12397,7 +12652,7 @@ var GENERATED_TOOLS = [
|
|
|
12397
12652
|
},
|
|
12398
12653
|
{
|
|
12399
12654
|
"name": "democut_select_cut_version",
|
|
12400
|
-
"description": "\
|
|
12655
|
+
"description": "\uC120\uD0DD\uB41C \uBC84\uC804\uC744 \uBC14\uAFBC\uB2E4(0\uC6D0). draft_spec \uC740 \uADF8\uB300\uB85C\uB2E4.",
|
|
12401
12656
|
"inputSchema": {
|
|
12402
12657
|
"type": "object",
|
|
12403
12658
|
"properties": {
|
|
@@ -12446,6 +12701,7 @@ var GENERATED_TOOLS = [
|
|
|
12446
12701
|
"canvas": {},
|
|
12447
12702
|
"draft_spec": {},
|
|
12448
12703
|
"edit": {},
|
|
12704
|
+
"bgm": {},
|
|
12449
12705
|
"current_version": {},
|
|
12450
12706
|
"current_image_id": {},
|
|
12451
12707
|
"images": {
|
|
@@ -12501,7 +12757,7 @@ var GENERATED_TOOLS = [
|
|
|
12501
12757
|
},
|
|
12502
12758
|
{
|
|
12503
12759
|
"name": "democut_delete_cut_version",
|
|
12504
|
-
"description": "\uBC84\uC804 \uD558\uB098\uB97C \uC9C0\uC6B4\uB2E4(\
|
|
12760
|
+
"description": "\uBC84\uC804 \uD558\uB098\uB97C \uC9C0\uC6B4\uB2E4(\uC120\uD0DD\uB3FC \uC788\uC73C\uBA74 \uB2E4\uB978 \uBC84\uC804\uC73C\uB85C \uC62E\uAE34 \uB4A4).",
|
|
12505
12761
|
"inputSchema": {
|
|
12506
12762
|
"type": "object",
|
|
12507
12763
|
"properties": {
|
|
@@ -12882,6 +13138,30 @@ var TOOL_META = {
|
|
|
12882
13138
|
"method": "PUT",
|
|
12883
13139
|
"path": "/api/projects/{slug}/cuts/{cut_id}/title"
|
|
12884
13140
|
},
|
|
13141
|
+
"democut_set_cut_bgm": {
|
|
13142
|
+
"cost": "none",
|
|
13143
|
+
"group": "storyboard",
|
|
13144
|
+
"method": "PUT",
|
|
13145
|
+
"path": "/api/projects/{slug}/cuts/{cut_id}/bgm"
|
|
13146
|
+
},
|
|
13147
|
+
"democut_list_music": {
|
|
13148
|
+
"cost": "none",
|
|
13149
|
+
"group": "storyboard",
|
|
13150
|
+
"method": "GET",
|
|
13151
|
+
"path": "/api/projects/{slug}/music"
|
|
13152
|
+
},
|
|
13153
|
+
"democut_add_music": {
|
|
13154
|
+
"cost": "none",
|
|
13155
|
+
"group": "storyboard",
|
|
13156
|
+
"method": "POST",
|
|
13157
|
+
"path": "/api/projects/{slug}/music"
|
|
13158
|
+
},
|
|
13159
|
+
"democut_remove_music": {
|
|
13160
|
+
"cost": "none",
|
|
13161
|
+
"group": "storyboard",
|
|
13162
|
+
"method": "DELETE",
|
|
13163
|
+
"path": "/api/projects/{slug}/music/{asset_id}"
|
|
13164
|
+
},
|
|
12885
13165
|
"democut_reorder_cuts": {
|
|
12886
13166
|
"cost": "none",
|
|
12887
13167
|
"group": "storyboard",
|
|
@@ -14089,7 +14369,7 @@ function makeCutImage(a = {}, deps = {}) {
|
|
|
14089
14369
|
`\uCEF7 \uC774\uBBF8\uC9C0\uB97C \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id}`,
|
|
14090
14370
|
// ★★ 상한임을 제출 자리에서도 말한다 — 견적을 건너뛴 호출자는 이 문장만 본다.
|
|
14091
14371
|
`\uCCAD\uAD6C ${krw(total)} \u2014 \uC0C1\uD55C\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uC0AC\uC6A9\uB7C9\uC774 \uC801\uC73C\uBA74 \uCC28\uC561\uC744 \uC790\uB3D9\uC73C\uB85C \uB3CC\uB824\uB4DC\uB9BD\uB2C8\uB2E4.`,
|
|
14092
|
-
"democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_cut \uC758 images \uC5D0 \uC0C8 \uC774\uBBF8\uC9C0\uAC00 \uC0DD\uAE41\uB2C8\uB2E4 \u2014 \uCCAB \uC774\uBBF8\uC9C0\uBA74 \
|
|
14372
|
+
"democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_cut \uC758 images \uC5D0 \uC0C8 \uC774\uBBF8\uC9C0\uAC00 \uC0DD\uAE41\uB2C8\uB2E4 \u2014 \uCCAB \uC774\uBBF8\uC9C0\uBA74 \uC120\uD0DD\uB418\uC5B4 \uB2E4\uC74C \uC601\uC0C1\uC758 \uCCAB \uD504\uB808\uC784\uC774 \uB429\uB2C8\uB2E4."
|
|
14093
14373
|
].join("\n"),
|
|
14094
14374
|
structured: callableStructured(out4)
|
|
14095
14375
|
};
|
|
@@ -14099,7 +14379,7 @@ function cutImageLine(cut) {
|
|
|
14099
14379
|
const n = cut.images?.length ?? 0;
|
|
14100
14380
|
const firstFrame = (cut.mode ?? "ai_video") === "ai_video";
|
|
14101
14381
|
if (!n) return `${cut.id}: \uC774\uBBF8\uC9C0 \uC5C6\uC74C${firstFrame ? " \u2014 \uB2E4\uC74C \uC601\uC0C1\uC740 \uD14D\uC2A4\uD2B8\uB9CC\uC73C\uB85C \uB9CC\uB4ED\uB2C8\uB2E4(t2v)." : "."}`;
|
|
14102
|
-
let cover = cut.current_image_id ? `\
|
|
14382
|
+
let cover = cut.current_image_id ? `\uC120\uD0DD\uB41C \uC774\uBBF8\uC9C0 ${cut.current_image_id}` : "\uC120\uD0DD\uB41C \uC774\uBBF8\uC9C0 \uC5C6\uC74C";
|
|
14103
14383
|
if (cut.current_image_id) {
|
|
14104
14384
|
const current = cut.images?.find((i) => i.id === cut.current_image_id);
|
|
14105
14385
|
if (current?.model) cover += ` (${current.model}${current.quality ? ` \xB7 ${current.quality}` : ""})`;
|
|
@@ -14140,7 +14420,7 @@ function setCutImage(a = {}, deps = {}) {
|
|
|
14140
14420
|
);
|
|
14141
14421
|
const added = out4.images?.[out4.images.length - 1];
|
|
14142
14422
|
const first = added && out4.current_image_id === added.id && (out4.images?.length ?? 0) === 1;
|
|
14143
|
-
return { text: `\uCEF7 \uC774\uBBF8\uC9C0\uB97C \uCD94\uAC00\uD588\uC2B5\uB2C8\uB2E4. ${cutImageLine(out4)}${first ? " \uCCAB \uC774\uBBF8\uC9C0\uB77C \
|
|
14423
|
+
return { text: `\uCEF7 \uC774\uBBF8\uC9C0\uB97C \uCD94\uAC00\uD588\uC2B5\uB2C8\uB2E4. ${cutImageLine(out4)}${first ? " \uCCAB \uC774\uBBF8\uC9C0\uB77C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4." : ""}`, structured: callableStructured(out4) };
|
|
14144
14424
|
});
|
|
14145
14425
|
}
|
|
14146
14426
|
function selectCutImage(a = {}, deps = {}) {
|
|
@@ -14165,7 +14445,7 @@ function selectCutImage(a = {}, deps = {}) {
|
|
|
14165
14445
|
{ method: "PUT", body: { image_id: imageId } },
|
|
14166
14446
|
deps
|
|
14167
14447
|
);
|
|
14168
|
-
const head = imageId === null ? "\uCCAB \uC7A5\uBA74 \uC9C0\uC815\uC744 \uBE44\uC6E0\uC2B5\uB2C8\uB2E4." : "\
|
|
14448
|
+
const head = imageId === null ? "\uCCAB \uC7A5\uBA74 \uC9C0\uC815\uC744 \uBE44\uC6E0\uC2B5\uB2C8\uB2E4." : "\uCEF7 \uC774\uBBF8\uC9C0\uB97C \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4.";
|
|
14169
14449
|
const draft = out4.mode === "ai_video" ? " \uCD08\uC548\uC758 image_asset_id \uAC00 \uC774 \uC120\uD0DD\uACFC \uAC19\uC2B5\uB2C8\uB2E4. \uC9C0\uC815\uC774 \uBC14\uB00C\uC5C8\uB2E4\uBA74 \uD504\uB85C\uC81D\uD2B8 rev \uAC00 \uC62C\uB790\uC73C\uB2C8 \uB2E4\uC74C \uD3B8\uC9D1 \uC804\uC5D0 democut_get_storyboard \uB85C rev \uB97C \uB2E4\uC2DC \uC77D\uC73C\uC138\uC694." : "";
|
|
14170
14450
|
return { text: `${head} ${cutImageLine(out4)}${draft} \uC774\uBBF8 \uB9CC\uB4E0 \uBC84\uC804\uC740 \uADF8\uB300\uB85C\uC785\uB2C8\uB2E4.`, structured: callableStructured(out4) };
|
|
14171
14451
|
});
|
|
@@ -14363,7 +14643,7 @@ function listCuts(a = {}, deps = {}) {
|
|
|
14363
14643
|
structured: callableStructured(out4)
|
|
14364
14644
|
};
|
|
14365
14645
|
}
|
|
14366
|
-
const lines = [`\uCEF7 ${cuts.length}\uAC1C (\uC5F0\uACB0 \uC21C\uC11C) \u2014 id [\uC0C1\uD0DC] \uBC29\uC2DD \xB7 \uC81C\uBAA9 \xB7 \
|
|
14646
|
+
const lines = [`\uCEF7 ${cuts.length}\uAC1C (\uC5F0\uACB0 \uC21C\uC11C) \u2014 id [\uC0C1\uD0DC] \uBC29\uC2DD \xB7 \uC81C\uBAA9 \xB7 \uC120\uD0DD\uB41C \uBC84\uC804 \xB7 \uB9C9\uD78C \uC774\uC720`];
|
|
14367
14647
|
lines.push(...listing(cuts.map(cutLine)));
|
|
14368
14648
|
lines.push(callableToolNames("\uC0C1\uC138\xB7\uBC84\uC804\xB7\uB0B4\uB824\uBC1B\uAE30 \uC8FC\uC18C\uB294 get_cut, \uC21C\uC11C\xB7rev \uB294 get_storyboard."));
|
|
14369
14649
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -14401,7 +14681,7 @@ function getStoryboard(a = {}, deps = {}) {
|
|
|
14401
14681
|
function cutLine(cut) {
|
|
14402
14682
|
const bits = [`${cut.id} [${cut.state}] ${cut.mode}`];
|
|
14403
14683
|
if (cut.title) bits.push(`\u300C${cut.title}\u300D`);
|
|
14404
|
-
if (cut.current_version != null) bits.push(
|
|
14684
|
+
if (cut.current_version != null) bits.push(`v${cut.current_version} \xB7 \uC120\uD0DD\uB428`);
|
|
14405
14685
|
if (cut.dirty_fields?.length) bits.push(`\uB2EC\uB77C\uC9C4 \uD544\uB4DC: ${cut.dirty_fields.join(", ")}`);
|
|
14406
14686
|
if (cut.estimated_cost_krw != null) bits.push(`\uC608\uC0C1 ${krw(cut.estimated_cost_krw)}`);
|
|
14407
14687
|
if (cut.blocked_reason) bits.push(`\uB9C9\uD798: ${callableToolNames(cut.blocked_reason)}`);
|
|
@@ -14434,6 +14714,8 @@ function addCut(a = {}, deps = {}) {
|
|
|
14434
14714
|
});
|
|
14435
14715
|
}
|
|
14436
14716
|
var EDIT_NOTE = "\uC774\uBBF8 \uB9CC\uB4E0 \uC601\uC0C1 \uD30C\uC77C\uC740 \uADF8\uB300\uB85C\uC785\uB2C8\uB2E4 \u2014 \uC7AC\uC0DD\xB7\uC644\uC131\uBCF8\uC5D0\uB9CC \uC801\uC6A9\uB418\uACE0 \uC7AC\uB80C\uB354\uB294 \uC5C6\uC2B5\uB2C8\uB2E4.";
|
|
14717
|
+
var BGM_NOTE = "\uBC30\uACBD\uC74C\uC545\uC744 \uC9C0\uC815\uD588\uC2B5\uB2C8\uB2E4 \u2014 \uCEF7 \uC601\uC0C1\uC740 \uADF8\uB300\uB85C\uC774\uACE0, \uC644\uC131\uBCF8\uC744 \uB9CC\uB4E4 \uB54C(make_export) \uC11E\uC785\uB2C8\uB2E4(\uB2E4\uC2DC \uB9CC\uB4E4 \uD544\uC694 \uC5C6\uC2B5\uB2C8\uB2E4).";
|
|
14718
|
+
var BGM_CLEARED_NOTE = "\uBC30\uACBD\uC74C\uC545\uC744 \uBE90\uC2B5\uB2C8\uB2E4 \u2014 \uCEF7 \uC601\uC0C1\uC740 \uADF8\uB300\uB85C\uC785\uB2C8\uB2E4. \uC774\uBBF8 \uB9CC\uB4E0 \uC644\uC131\uBCF8\uC5D0\uB294 \uB0A8\uC544 \uC788\uACE0, \uB2E4\uC74C \uC644\uC131\uBCF8\uBD80\uD130 \uBE60\uC9D1\uB2C8\uB2E4.";
|
|
14437
14719
|
var TITLE_NOTE = "\uC81C\uBAA9\uB9CC \uBC14\uB00C\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 \uB9CC\uB4E0 \uC601\uC0C1\xB7\uAE08\uC561\xB7\uC644\uC131\uBCF8\uC740 \uADF8\uB300\uB85C\uC785\uB2C8\uB2E4(\uB2E4\uC2DC \uB9CC\uB4E4 \uD544\uC694 \uC5C6\uC2B5\uB2C8\uB2E4).";
|
|
14438
14720
|
var SILENCE_NOTE = "\uBBF8\uB9AC\uBCF4\uAE30\uC785\uB2C8\uB2E4 \u2014 \uC2E4\uC81C\uB85C \uC9C0\uC6B0\uB824\uBA74 set_cut_edit \uC758 silence_removal \uC744 \uCF1C\uC138\uC694.";
|
|
14439
14721
|
function getSilence(a = {}, deps = {}) {
|
|
@@ -14636,6 +14918,124 @@ function setCutEdit(a = {}, deps = {}) {
|
|
|
14636
14918
|
return { text: [cutLine(cut), EDIT_NOTE].join("\n"), structured: callableStructured(cut) };
|
|
14637
14919
|
});
|
|
14638
14920
|
}
|
|
14921
|
+
function setCutBgm(a = {}, deps = {}) {
|
|
14922
|
+
return guarded(READ_ONLY, async () => {
|
|
14923
|
+
const slug = needSlug(a);
|
|
14924
|
+
if (typeof slug !== "string") return slug;
|
|
14925
|
+
const cutId = (a.cut_id ?? "").trim();
|
|
14926
|
+
if (!cutId) return { isError: true, text: "cut_id \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4." };
|
|
14927
|
+
if (a.bgm === void 0) {
|
|
14928
|
+
return { isError: true, text: "bgm \uC774 \uD544\uC694\uD569\uB2C8\uB2E4(null \uC740 \uC74C\uC545\uC744 \uBE8D\uB2C8\uB2E4)." };
|
|
14929
|
+
}
|
|
14930
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
14931
|
+
let cut;
|
|
14932
|
+
try {
|
|
14933
|
+
cut = await apiRequest(
|
|
14934
|
+
base,
|
|
14935
|
+
projectPath(slug, `/cuts/${encodeURIComponent(cutId)}/bgm`),
|
|
14936
|
+
{ method: "PUT", body: { bgm: a.bgm } },
|
|
14937
|
+
deps
|
|
14938
|
+
);
|
|
14939
|
+
} catch (e) {
|
|
14940
|
+
const notYet = routeNotDeployed(e, "\uBC30\uACBD\uC74C\uC545 \uC9C0\uC815\uC774", "\uC2AC\uB7EC\uADF8\xB7\uCEF7\xB7\uACE1\uC740");
|
|
14941
|
+
if (notYet) return notYet;
|
|
14942
|
+
throw e;
|
|
14943
|
+
}
|
|
14944
|
+
const note = cut.bgm != null ? BGM_NOTE : BGM_CLEARED_NOTE;
|
|
14945
|
+
return { text: [cutLine(cut), note].join("\n"), structured: callableStructured(cut) };
|
|
14946
|
+
});
|
|
14947
|
+
}
|
|
14948
|
+
function routeNotDeployed(e, what, values) {
|
|
14949
|
+
if (!(e instanceof ApiError) || e.status !== 404 || e.code !== `HTTP_404`) return null;
|
|
14950
|
+
return {
|
|
14951
|
+
isError: true,
|
|
14952
|
+
text: `\uC774 \uC11C\uBC84\uC5D0\uB294 \uC544\uC9C1 ${what} \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.
|
|
14953
|
+
${values} \uBB38\uC81C\uAC00 \uC544\uB2C8\uB2C8 \uACE0\uCE58\uC9C0 \uB9C8\uC138\uC694. \uC11C\uBC84\uAC00 \uBC30\uD3EC\uB41C \uB4A4 \uAC19\uC740 \uAC12\uC73C\uB85C \uB2E4\uC2DC \uBD80\uB974\uBA74 \uB429\uB2C8\uB2E4.`
|
|
14954
|
+
};
|
|
14955
|
+
}
|
|
14956
|
+
async function musicRequest(run2) {
|
|
14957
|
+
try {
|
|
14958
|
+
return await run2();
|
|
14959
|
+
} catch (e) {
|
|
14960
|
+
const notYet = routeNotDeployed(e, "\uACE1 \uBAA9\uB85D \uAE30\uB2A5\uC774", "\uC2AC\uB7EC\uADF8\uC640 \uACE1\uC740");
|
|
14961
|
+
if (notYet) return notYet;
|
|
14962
|
+
throw e;
|
|
14963
|
+
}
|
|
14964
|
+
}
|
|
14965
|
+
var isToolResult = (v) => typeof v === "object" && v !== null && "isError" in v && "text" in v;
|
|
14966
|
+
function musicLine(m) {
|
|
14967
|
+
const seconds = m.duration_ms ? `${(m.duration_ms / 1e3).toFixed(1)}\uCD08` : "\uAE38\uC774 \uBBF8\uC815";
|
|
14968
|
+
const used = m.used_by && m.used_by.length ? ` \xB7 \uC4F0\uB294 \uCEF7 ${m.used_by.length}\uAC1C(${m.used_by.join(", ")})` : "";
|
|
14969
|
+
return `- ${m.asset_id} \u300C${m.title || "\uC774\uB984 \uC5C6\uC74C"}\u300D ${seconds}${used}`;
|
|
14970
|
+
}
|
|
14971
|
+
function slimMusic(m) {
|
|
14972
|
+
const { peaks: _peaks, ...rest } = m;
|
|
14973
|
+
return rest;
|
|
14974
|
+
}
|
|
14975
|
+
function listMusic(a = {}, deps = {}) {
|
|
14976
|
+
return guarded(READ_ONLY, async () => {
|
|
14977
|
+
const slug = needSlug(a);
|
|
14978
|
+
if (typeof slug !== "string") return slug;
|
|
14979
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
14980
|
+
const out4 = await musicRequest(() => apiRequest(base, projectPath(slug, "/music"), {}, deps));
|
|
14981
|
+
if (isToolResult(out4)) return out4;
|
|
14982
|
+
const music = out4.music ?? [];
|
|
14983
|
+
const slim = callableStructured({ music: music.map(slimMusic) });
|
|
14984
|
+
if (music.length === 0) {
|
|
14985
|
+
return {
|
|
14986
|
+
text: callableToolNames(
|
|
14987
|
+
"\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0\uB294 \uB4F1\uB85D\uB41C \uACE1\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uC18C\uB9AC \uD30C\uC77C\uC744 democut_upload_asset(kind=audio)\uB85C \uC62C\uB9B0 \uB4A4 democut_add_music \uC73C\uB85C \uB4F1\uB85D\uD558\uC138\uC694."
|
|
14988
|
+
),
|
|
14989
|
+
structured: slim
|
|
14990
|
+
};
|
|
14991
|
+
}
|
|
14992
|
+
return {
|
|
14993
|
+
text: callableToolNames([`\uACE1 ${music.length}\uAC1C \u2014 democut_set_cut_bgm \uC758 bgm.asset_id \uB85C \uC501\uB2C8\uB2E4.`, ...music.map(musicLine)].join("\n")),
|
|
14994
|
+
structured: slim
|
|
14995
|
+
};
|
|
14996
|
+
});
|
|
14997
|
+
}
|
|
14998
|
+
function addMusic(a = {}, deps = {}) {
|
|
14999
|
+
return guarded(READ_ONLY, async () => {
|
|
15000
|
+
const slug = needSlug(a);
|
|
15001
|
+
if (typeof slug !== "string") return slug;
|
|
15002
|
+
const assetId = (a.asset_id ?? "").trim();
|
|
15003
|
+
if (!assetId) return { isError: true, text: callableToolNames("asset_id \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4 \u2014 democut_upload_asset(kind=audio)\uAC00 \uC900 id \uC785\uB2C8\uB2E4.") };
|
|
15004
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
15005
|
+
const body = { asset_id: assetId };
|
|
15006
|
+
if (typeof a.title === "string") body.title = a.title;
|
|
15007
|
+
const out4 = await musicRequest(() => apiRequest(base, projectPath(slug, "/music"), { method: "POST", body }, deps));
|
|
15008
|
+
if (isToolResult(out4)) return out4;
|
|
15009
|
+
return {
|
|
15010
|
+
text: callableToolNames(["\uACE1\uC744 \uB4F1\uB85D\uD588\uC2B5\uB2C8\uB2E4.", musicLine(out4), "\uCEF7\uC5D0 \uAE54\uB824\uBA74 democut_set_cut_bgm \uC5D0 \uC774 asset_id \uB97C \uB123\uC73C\uC138\uC694."].join("\n")),
|
|
15011
|
+
structured: callableStructured(slimMusic(out4))
|
|
15012
|
+
};
|
|
15013
|
+
});
|
|
15014
|
+
}
|
|
15015
|
+
function removeMusic(a = {}, deps = {}) {
|
|
15016
|
+
return guarded(READ_ONLY, async () => {
|
|
15017
|
+
const slug = needSlug(a);
|
|
15018
|
+
if (typeof slug !== "string") return slug;
|
|
15019
|
+
const assetId = (a.asset_id ?? "").trim();
|
|
15020
|
+
if (!assetId) return { isError: true, text: callableToolNames("asset_id \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4 \u2014 democut_list_music \uC5D0\uC11C \uACE0\uB974\uC138\uC694.") };
|
|
15021
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
15022
|
+
const q = a.force === true ? "?force=true" : "";
|
|
15023
|
+
const out4 = await musicRequest(() => apiRequest(
|
|
15024
|
+
base,
|
|
15025
|
+
projectPath(slug, `/music/${encodeURIComponent(assetId)}${q}`),
|
|
15026
|
+
{ method: "DELETE" },
|
|
15027
|
+
deps
|
|
15028
|
+
));
|
|
15029
|
+
if (isToolResult(out4)) return out4;
|
|
15030
|
+
const lines = ["\uACE1\uC744 \uBAA9\uB85D\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4."];
|
|
15031
|
+
const cleared = out4.cleared_cut_ids ?? [];
|
|
15032
|
+
if (cleared.length) {
|
|
15033
|
+
lines.push(`\uBC30\uACBD\uC74C\uC545 \uC9C0\uC815\uC744 \uBE44\uC6B4 \uCEF7: ${cleared.join(", ")} \u2014 \uC774\uBBF8 \uB9CC\uB4E0 \uC644\uC131\uBCF8\uC5D0\uB294 \uC74C\uC545\uC774 \uB0A8\uC544 \uC788\uACE0 \uB2E4\uC74C \uC644\uC131\uBCF8\uBD80\uD130 \uBE60\uC9D1\uB2C8\uB2E4.`);
|
|
15034
|
+
}
|
|
15035
|
+
lines.push(out4.asset_deleted ? "\uC18C\uB9AC \uD30C\uC77C\uB3C4 \uC9C0\uC6E0\uC2B5\uB2C8\uB2E4." : "\uC18C\uB9AC \uD30C\uC77C\uC740 \uB2E4\uB978 \uACF3\uC774 \uC4F0\uACE0 \uC788\uC5B4 \uB0A8\uACBC\uC2B5\uB2C8\uB2E4.");
|
|
15036
|
+
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15037
|
+
});
|
|
15038
|
+
}
|
|
14639
15039
|
function setCutTitle(a = {}, deps = {}) {
|
|
14640
15040
|
return guarded(READ_ONLY, async () => {
|
|
14641
15041
|
const slug = needSlug(a);
|
|
@@ -14738,7 +15138,7 @@ function downloadProject(a = {}, deps = {}) {
|
|
|
14738
15138
|
if (typeof slug !== "string") return slug;
|
|
14739
15139
|
const base = resolveBaseUrl(deps.baseUrl);
|
|
14740
15140
|
const out4 = await apiRequest(base, projectPath(slug, "/export.zip"), {}, deps);
|
|
14741
|
-
const scope = "\uC21C\uC11C\uC5D0 \uB193\uC778 \uCEF7\uC758 \
|
|
15141
|
+
const scope = "\uC21C\uC11C\uC5D0 \uB193\uC778 \uCEF7\uC758 \uC120\uD0DD\uB41C \uBC84\uC804 \uC0B0\uCD9C\uBB3C\uB9CC \uB4E4\uC5B4 \uC788\uC2B5\uB2C8\uB2E4(\uC21C\uC11C\uC5D0\uC11C \uBE80 \uCEF7\xB7\uC544\uC9C1 \uB9CC\uB4E4\uC9C0 \uC54A\uC740 \uCEF7 \uC81C\uC678) \u2014 \uC774\uC5B4 \uBD99\uC778 \uC644\uC131\uBCF8\uC774 \uC544\uB2D9\uB2C8\uB2E4.";
|
|
14742
15142
|
if (a.output_path) {
|
|
14743
15143
|
await (deps.downloadImpl ? deps.downloadImpl(out4.url, a.output_path) : saveUrlToFile(out4.url, a.output_path, deps.fetchImpl ?? fetch));
|
|
14744
15144
|
return { text: `\uD504\uB85C\uC81D\uD2B8 zip \uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4: ${a.output_path}
|
|
@@ -14914,7 +15314,7 @@ function selectCutVersion(a = {}, deps = {}) {
|
|
|
14914
15314
|
const base = resolveBaseUrl(deps.baseUrl);
|
|
14915
15315
|
const out4 = await apiRequest(base, projectPath(slug, `/cuts/${encodeURIComponent(cutId)}/current`), { method: "PUT", body: { version: Number(a.version) } }, deps);
|
|
14916
15316
|
const lines = [
|
|
14917
|
-
`\uCEF7 ${cutId} \
|
|
15317
|
+
`\uCEF7 ${cutId} \uC5D0\uC11C v${out4.current_version} \uC744 \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4(0\uC6D0, \uB80C\uB354 \uC5C6\uC74C).`,
|
|
14918
15318
|
"\uC774 \uCEF7\uC774 \uC21C\uC11C\uC5D0 \uC788\uC73C\uBA74 \uB2E4\uC74C \uC644\uC131\uBCF8(democut_make_export)\uC774 \uC774 \uBC84\uC804\uC744 \uC774\uC5B4 \uBD99\uC785\uB2C8\uB2E4."
|
|
14919
15319
|
];
|
|
14920
15320
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -14971,7 +15371,7 @@ function createFolder(a = {}, deps = {}) {
|
|
|
14971
15371
|
}
|
|
14972
15372
|
function characterLine(c) {
|
|
14973
15373
|
const photos = c.photos?.length ? `\uC0AC\uC9C4 ${c.photos.length}\uC7A5` : "\uC0AC\uC9C4 \uC5C6\uC74C";
|
|
14974
|
-
return `${c.name} [${c.id}] rev=${c.rev} \xB7 ${photos}${c.current_photo_id ? " (\
|
|
15374
|
+
return `${c.name} [${c.id}] rev=${c.rev} \xB7 ${photos}${c.current_photo_id ? " (\uC120\uD0DD\uB428)" : ""}`;
|
|
14975
15375
|
}
|
|
14976
15376
|
function listCharacters(_a3 = {}, deps = {}) {
|
|
14977
15377
|
return guarded(READ_ONLY, async () => {
|
|
@@ -15022,7 +15422,7 @@ function getCharacter(a = {}, deps = {}) {
|
|
|
15022
15422
|
const lines = [characterLine(out4)];
|
|
15023
15423
|
if (out4.voice_id) lines.push(` \uBCF4\uC774\uC2A4: ${out4.voice_id}`);
|
|
15024
15424
|
for (const p of out4.photos ?? []) {
|
|
15025
|
-
lines.push(` \uC0AC\uC9C4 ${p.seq}: ${p.asset_id} (${p.source})${p.id === out4.current_photo_id ? " \u2190 \
|
|
15425
|
+
lines.push(` \uC0AC\uC9C4 ${p.seq}: ${p.asset_id} (${p.source})${p.id === out4.current_photo_id ? " \u2190 \uC120\uD0DD\uB428" : ""}`);
|
|
15026
15426
|
}
|
|
15027
15427
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15028
15428
|
});
|
|
@@ -15196,7 +15596,7 @@ function makeCharacterPhoto(a = {}, deps = {}) {
|
|
|
15196
15596
|
text: [
|
|
15197
15597
|
`\uC544\uBC14\uD0C0 \uC0AC\uC9C4\uC744 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id}`,
|
|
15198
15598
|
`\uCCAD\uAD6C ${krw(total)} \u2014 \uC0C1\uD55C\uC785\uB2C8\uB2E4. \uC2E4\uC81C \uC0AC\uC6A9\uB7C9\uC774 \uC801\uC73C\uBA74 \uCC28\uC561\uC744 \uC790\uB3D9\uC73C\uB85C \uB3CC\uB824\uB4DC\uB9BD\uB2C8\uB2E4.`,
|
|
15199
|
-
"democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_character \uC758 photos \uC5D0 \uC0C8 \uC0AC\uC9C4\uC774 \uC0DD\uAE30\uACE0 \
|
|
15599
|
+
"democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_character \uC758 photos \uC5D0 \uC0C8 \uC0AC\uC9C4\uC774 \uC0DD\uAE30\uACE0 \uC120\uD0DD\uB429\uB2C8\uB2E4. \uCE90\uB9AD\uD130 \uC2DC\uD2B8\uB3C4 \uD568\uAED8 \uB9CC\uB4E4\uC5B4 \uADF8 \uC0AC\uC9C4\uC758 sheet_asset_id \uC5D0 \uBD99\uC785\uB2C8\uB2E4(\uC2DC\uD2B8\uB9CC \uC2E4\uD328\uD558\uBA74 \uC0AC\uC9C4\uC740 \uB4E4\uC5B4\uC624\uACE0 \uC2DC\uD2B8 \uBAAB\uC740 \uB3CC\uB824\uB4DC\uB9BD\uB2C8\uB2E4 \u2014 \uC7A1 \uACB0\uACFC\uC758 sheet_skipped)."
|
|
15200
15600
|
].join("\n"),
|
|
15201
15601
|
structured: callableStructured(out4)
|
|
15202
15602
|
};
|
|
@@ -15221,7 +15621,7 @@ function selectCharacterPhoto(a = {}, deps = {}) {
|
|
|
15221
15621
|
deps
|
|
15222
15622
|
);
|
|
15223
15623
|
return {
|
|
15224
|
-
text: `\
|
|
15624
|
+
text: `\uC120\uD0DD\uB41C \uC0AC\uC9C4\uC744 \uBC14\uAFE8\uC2B5\uB2C8\uB2E4: ${characterLine(out4)} \u2014 \uC774\uBBF8 \uB9CC\uB4E0 \uCEF7\uC740 \uADF8\uB300\uB85C\uC785\uB2C8\uB2E4.`,
|
|
15225
15625
|
structured: callableStructured(out4)
|
|
15226
15626
|
};
|
|
15227
15627
|
});
|
|
@@ -15405,7 +15805,7 @@ function makeExport(a = {}, deps = {}) {
|
|
|
15405
15805
|
);
|
|
15406
15806
|
const lines = [
|
|
15407
15807
|
`\uC644\uC131\uBCF8\uC744 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id} (${krw(out4.quote?.total_krw ?? 0)})`,
|
|
15408
|
-
"\uC21C\uC11C\uC5D0 \uB193\uC778 \uCEF7\uC758 \
|
|
15808
|
+
"\uC21C\uC11C\uC5D0 \uB193\uC778 \uCEF7\uC758 \uC120\uD0DD\uB41C \uBC84\uC804\uC744 \uADF8 \uC21C\uC11C\uB300\uB85C \uC774\uC5B4 \uBD99\uC774\uACE0 \uC55E\uB4A4 \uC790\uB974\uAE30\xB7\uBB34\uC74C \uC790\uB974\uAE30\uC640 \uC790\uB9C9\uC744 \uC785\uD799\uB2C8\uB2E4(\uC21C\uC11C\uC5D0\uC11C \uBE80 \uCEF7\uC740 \uC81C\uC678).",
|
|
15409
15809
|
"\uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_list_exports \uC5D0\uC11C \uBC88\uD638\uC640 \uB0B4\uB824\uBC1B\uAE30 \uC8FC\uC18C\uB97C \uBD05\uB2C8\uB2E4."
|
|
15410
15810
|
];
|
|
15411
15811
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -15527,9 +15927,9 @@ function getExport(a = {}, deps = {}) {
|
|
|
15527
15927
|
const thumbs = out4.thumbnails ?? [];
|
|
15528
15928
|
if (thumbs.length > 0) {
|
|
15529
15929
|
lines.push(
|
|
15530
|
-
`\uC378\uB124\uC77C \uD6C4\uBCF4 ${thumbs.length}\uC7A5 \u2014 \
|
|
15930
|
+
`\uC378\uB124\uC77C \uD6C4\uBCF4 ${thumbs.length}\uC7A5 \u2014 \uC120\uD0DD\uB428 ${out4.selected_thumbnail_id ?? "(\uC5C6\uC74C)"}: ` + thumbs.map((t) => `${t.asset_id}${t.asset_id === out4.selected_thumbnail_id ? "\u2605" : ""}${t.url ? ` ${t.url}` : ""}`).join(" \xB7 ")
|
|
15531
15931
|
);
|
|
15532
|
-
lines.push("\
|
|
15932
|
+
lines.push("\uC120\uD0DD\uC744 \uBC14\uAFB8\uB824\uBA74 democut_select_thumbnail(asset_id).");
|
|
15533
15933
|
} else {
|
|
15534
15934
|
lines.push("\uC378\uB124\uC77C\uC740 \uC544\uC9C1 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 democut_make_thumbnails(\uC2A4\uD0C0\uC77C \uACE8\uB77C \uCCAD\uAD6C, \uBE44\uC6B0\uBA74 3\uC7A5) \uB610\uB294 democut_upload_asset \uB4A4 democut_select_thumbnail.");
|
|
15535
15935
|
}
|
|
@@ -15581,7 +15981,7 @@ function makeThumbnails(a = {}, deps = {}) {
|
|
|
15581
15981
|
const lines = [
|
|
15582
15982
|
`\uC644\uC131\uBCF8 #${number3} \uC758 \uC378\uB124\uC77C ${count}\uC7A5\uC744 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id} (${krw(out4.quote?.total_krw ?? 0)}, \uC794\uC561\uC5D0\uC11C \uCC28\uAC10\uB410\uC2B5\uB2C8\uB2E4)`,
|
|
15583
15983
|
`\uC644\uC131\uBCF8 \uC601\uC0C1\uC758 \uD55C \uC7A5\uBA74\uC744 \uC694\uC57D\uD574 ${a.styles ? `\uACE0\uB978 \uC2A4\uD0C0\uC77C(${a.styles.join(", ")})` : "\uC11C\uB85C \uB2E4\uB978 \uC2A4\uD0C0\uC77C 3\uC7A5"}\uC744 \uB9CC\uB4ED\uB2C8\uB2E4. \uC2E4\uD328\uD55C \uC7A5\uB9CC \uD658\uBD88\uB418\uACE0 \uC131\uACF5\uD55C \uC7A5\uC740 \uB0A8\uC2B5\uB2C8\uB2E4.`,
|
|
15584
|
-
"\uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_export \uC758 thumbnails \uC5D0 \uD6C4\uBCF4\uC640 \uC8FC\uC18C\uAC00 \uC2E4\uB9AC\uACE0 \uCCAB \uC7A5\uC774 \
|
|
15984
|
+
"\uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_export \uC758 thumbnails \uC5D0 \uD6C4\uBCF4\uC640 \uC8FC\uC18C\uAC00 \uC2E4\uB9AC\uACE0 \uCCAB \uC7A5\uC774 \uC120\uD0DD\uB429\uB2C8\uB2E4. \uBC14\uAFB8\uB824\uBA74 democut_select_thumbnail."
|
|
15585
15985
|
];
|
|
15586
15986
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15587
15987
|
});
|
|
@@ -15607,7 +16007,7 @@ function selectThumbnail(a = {}, deps = {}) {
|
|
|
15607
16007
|
);
|
|
15608
16008
|
const thumbs = out4.thumbnails ?? [];
|
|
15609
16009
|
const chosen = thumbs.find((t) => t.asset_id === out4.selected_thumbnail_id);
|
|
15610
|
-
const lines = [`\uC644\uC131\uBCF8 #${out4.number} \uC758 \
|
|
16010
|
+
const lines = [`\uC644\uC131\uBCF8 #${out4.number} \uC758 \uC378\uB124\uC77C\uC744 ${out4.selected_thumbnail_id} \uB85C \uACE8\uB790\uC2B5\uB2C8\uB2E4(\uD6C4\uBCF4 ${thumbs.length}\uC7A5).`];
|
|
15611
16011
|
if (chosen?.url) lines.push(`\uBBF8\uB9AC\uBCF4\uAE30: ${chosen.url} (1\uC2DC\uAC04 \uC720\uD6A8)`);
|
|
15612
16012
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15613
16013
|
});
|
|
@@ -15622,7 +16022,7 @@ function deleteThumbnail(a = {}, deps = {}) {
|
|
|
15622
16022
|
if (!assetId) return { isError: true, text: "asset_id \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4 \u2014 democut_get_export \uC758 thumbnails \uC5D0\uC11C \uACE0\uB974\uC138\uC694." };
|
|
15623
16023
|
const base = resolveBaseUrl(deps.baseUrl);
|
|
15624
16024
|
const out4 = await apiRequest(base, projectPath(slug, `/exports/${number3}/thumbnails/${encodeURIComponent(assetId)}`), { method: "DELETE" }, deps);
|
|
15625
|
-
const tail = out4.selected_thumbnail_id ? `\
|
|
16025
|
+
const tail = out4.selected_thumbnail_id ? `\uC120\uD0DD\uB41C \uC378\uB124\uC77C\uC740 ${out4.selected_thumbnail_id} \uC785\uB2C8\uB2E4.` : "\uC120\uD0DD\uC774 \uBE44\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 democut_select_thumbnail \uB85C \uB2E4\uC2DC \uACE0\uB974\uC138\uC694.";
|
|
15626
16026
|
return {
|
|
15627
16027
|
text: `\uC644\uC131\uBCF8 #${number3} \uC5D0\uC11C \uC378\uB124\uC77C ${assetId} \uB97C \uBE90\uC2B5\uB2C8\uB2E4(\uB0A8\uC740 \uD6C4\uBCF4 ${out4.thumbnails?.length ?? 0}\uC7A5). ${tail}`,
|
|
15628
16028
|
structured: callableStructured(out4)
|
|
@@ -15674,7 +16074,7 @@ function publishYoutube(a = {}, deps = {}) {
|
|
|
15674
16074
|
const out4 = await apiRequest(base, projectPath(slug, `/exports/${number3}/publish`), { method: "POST", body: { privacy } }, deps);
|
|
15675
16075
|
const lines = [
|
|
15676
16076
|
`\uC644\uC131\uBCF8 #${number3} \uC744 \uC720\uD29C\uBE0C\uC5D0 \uC62C\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id} (0\uC6D0, \uACF5\uAC1C \uBC94\uC704 ${privacy})`,
|
|
15677
|
-
"\uC81C\uBAA9\xB7\uC124\uBA85\xB7\uD0DC\uADF8\uB294 \uC644\uC131\uBCF8\uC758 youtube_meta \uB97C, \uC378\uB124\uC77C\uC740 \
|
|
16077
|
+
"\uC81C\uBAA9\xB7\uC124\uBA85\xB7\uD0DC\uADF8\uB294 \uC644\uC131\uBCF8\uC758 youtube_meta \uB97C, \uC378\uB124\uC77C\uC740 \uC378\uB124\uC77C\uC744 \uC501\uB2C8\uB2E4(\uCC44\uB110 \uC778\uC99D\uC774 \uC5C6\uC73C\uBA74 \uC601\uC0C1\uB9CC \uC62C\uB77C\uAC11\uB2C8\uB2E4). \uB04A\uACA8\uB3C4 \uAC19\uC740 \uC138\uC158\uC73C\uB85C \uC774\uC5B4 \uC62C\uB9BD\uB2C8\uB2E4.",
|
|
15678
16078
|
"\uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs \uB85C \uAE30\uB2E4\uB9B0 \uB4A4 democut_get_export \uB97C \uBCF4\uBA74 youtube \uC5D0 \uC8FC\uC18C(url)\uAC00 \uC2E4\uB9BD\uB2C8\uB2E4. \uAC19\uC740 \uC644\uC131\uBCF8\uC744 \uB2E4\uC2DC \uC62C\uB9AC\uC9C0 \uB9C8\uC138\uC694(\uB450 \uD3B8\uC774 \uB429\uB2C8\uB2E4)."
|
|
15679
16079
|
];
|
|
15680
16080
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -15762,6 +16162,14 @@ function dispatch(name, args, deps = {}) {
|
|
|
15762
16162
|
return putCutDraft(args, deps);
|
|
15763
16163
|
case "democut_set_cut_edit":
|
|
15764
16164
|
return setCutEdit(args, deps);
|
|
16165
|
+
case "democut_list_music":
|
|
16166
|
+
return listMusic(args, deps);
|
|
16167
|
+
case "democut_add_music":
|
|
16168
|
+
return addMusic(args, deps);
|
|
16169
|
+
case "democut_remove_music":
|
|
16170
|
+
return removeMusic(args, deps);
|
|
16171
|
+
case "democut_set_cut_bgm":
|
|
16172
|
+
return setCutBgm(args, deps);
|
|
15765
16173
|
case "democut_set_cut_title":
|
|
15766
16174
|
return setCutTitle(args, deps);
|
|
15767
16175
|
case "democut_duplicate_cut":
|