democut 1.0.85 → 1.0.87
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 +293 -33
- 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.87";
|
|
6920
6920
|
|
|
6921
6921
|
// src/device-flow.ts
|
|
6922
6922
|
var DeviceFlowError = class extends Error {
|
|
@@ -8253,6 +8253,7 @@ var GENERATED_TOOLS = [
|
|
|
8253
8253
|
"draft_spec": {},
|
|
8254
8254
|
"edit": {},
|
|
8255
8255
|
"bgm": {},
|
|
8256
|
+
"bgm_resolved": {},
|
|
8256
8257
|
"current_version": {},
|
|
8257
8258
|
"current_image_id": {},
|
|
8258
8259
|
"images": {
|
|
@@ -8639,6 +8640,7 @@ var GENERATED_TOOLS = [
|
|
|
8639
8640
|
"draft_spec": {},
|
|
8640
8641
|
"edit": {},
|
|
8641
8642
|
"bgm": {},
|
|
8643
|
+
"bgm_resolved": {},
|
|
8642
8644
|
"current_version": {},
|
|
8643
8645
|
"current_image_id": {},
|
|
8644
8646
|
"images": {
|
|
@@ -8751,6 +8753,7 @@ var GENERATED_TOOLS = [
|
|
|
8751
8753
|
"draft_spec": {},
|
|
8752
8754
|
"edit": {},
|
|
8753
8755
|
"bgm": {},
|
|
8756
|
+
"bgm_resolved": {},
|
|
8754
8757
|
"current_version": {},
|
|
8755
8758
|
"current_image_id": {},
|
|
8756
8759
|
"images": {
|
|
@@ -9643,7 +9646,7 @@ var GENERATED_TOOLS = [
|
|
|
9643
9646
|
},
|
|
9644
9647
|
{
|
|
9645
9648
|
"name": "democut_select_character_photo",
|
|
9646
|
-
"description": "\
|
|
9649
|
+
"description": "\uC0AC\uC9C4\uC744 \uC120\uD0DD\uD55C\uB2E4(\uC774\uBBF8 \uB9CC\uB4E0 \uCEF7\uC5D0\uB294 \uC18C\uAE09\uD558\uC9C0 \uC54A\uB294\uB2E4).",
|
|
9647
9650
|
"inputSchema": {
|
|
9648
9651
|
"type": "object",
|
|
9649
9652
|
"properties": {
|
|
@@ -9806,7 +9809,7 @@ var GENERATED_TOOLS = [
|
|
|
9806
9809
|
},
|
|
9807
9810
|
{
|
|
9808
9811
|
"name": "democut_make_character_photo",
|
|
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 \
|
|
9812
|
+
"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.",
|
|
9810
9813
|
"inputSchema": {
|
|
9811
9814
|
"type": "object",
|
|
9812
9815
|
"properties": {
|
|
@@ -10310,6 +10313,7 @@ var GENERATED_TOOLS = [
|
|
|
10310
10313
|
"draft_spec": {},
|
|
10311
10314
|
"edit": {},
|
|
10312
10315
|
"bgm": {},
|
|
10316
|
+
"bgm_resolved": {},
|
|
10313
10317
|
"current_version": {},
|
|
10314
10318
|
"current_image_id": {},
|
|
10315
10319
|
"images": {
|
|
@@ -10410,6 +10414,7 @@ var GENERATED_TOOLS = [
|
|
|
10410
10414
|
"draft_spec": {},
|
|
10411
10415
|
"edit": {},
|
|
10412
10416
|
"bgm": {},
|
|
10417
|
+
"bgm_resolved": {},
|
|
10413
10418
|
"current_version": {},
|
|
10414
10419
|
"current_image_id": {},
|
|
10415
10420
|
"images": {
|
|
@@ -10557,6 +10562,7 @@ var GENERATED_TOOLS = [
|
|
|
10557
10562
|
"draft_spec": {},
|
|
10558
10563
|
"edit": {},
|
|
10559
10564
|
"bgm": {},
|
|
10565
|
+
"bgm_resolved": {},
|
|
10560
10566
|
"current_version": {},
|
|
10561
10567
|
"current_image_id": {},
|
|
10562
10568
|
"images": {
|
|
@@ -10662,6 +10668,7 @@ var GENERATED_TOOLS = [
|
|
|
10662
10668
|
"draft_spec": {},
|
|
10663
10669
|
"edit": {},
|
|
10664
10670
|
"bgm": {},
|
|
10671
|
+
"bgm_resolved": {},
|
|
10665
10672
|
"current_version": {},
|
|
10666
10673
|
"current_image_id": {},
|
|
10667
10674
|
"images": {
|
|
@@ -10767,6 +10774,7 @@ var GENERATED_TOOLS = [
|
|
|
10767
10774
|
"draft_spec": {},
|
|
10768
10775
|
"edit": {},
|
|
10769
10776
|
"bgm": {},
|
|
10777
|
+
"bgm_resolved": {},
|
|
10770
10778
|
"current_version": {},
|
|
10771
10779
|
"current_image_id": {},
|
|
10772
10780
|
"images": {
|
|
@@ -10875,6 +10883,7 @@ var GENERATED_TOOLS = [
|
|
|
10875
10883
|
"draft_spec": {},
|
|
10876
10884
|
"edit": {},
|
|
10877
10885
|
"bgm": {},
|
|
10886
|
+
"bgm_resolved": {},
|
|
10878
10887
|
"current_version": {},
|
|
10879
10888
|
"current_image_id": {},
|
|
10880
10889
|
"images": {
|
|
@@ -10928,6 +10937,144 @@ var GENERATED_TOOLS = [
|
|
|
10928
10937
|
"openWorldHint": false
|
|
10929
10938
|
}
|
|
10930
10939
|
},
|
|
10940
|
+
{
|
|
10941
|
+
"name": "democut_list_music",
|
|
10942
|
+
"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.",
|
|
10943
|
+
"inputSchema": {
|
|
10944
|
+
"type": "object",
|
|
10945
|
+
"properties": {
|
|
10946
|
+
"slug": {
|
|
10947
|
+
"type": "string",
|
|
10948
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
10949
|
+
}
|
|
10950
|
+
},
|
|
10951
|
+
"required": [
|
|
10952
|
+
"slug"
|
|
10953
|
+
],
|
|
10954
|
+
"additionalProperties": false
|
|
10955
|
+
},
|
|
10956
|
+
"outputSchema": {
|
|
10957
|
+
"type": "object",
|
|
10958
|
+
"properties": {
|
|
10959
|
+
"music": {
|
|
10960
|
+
"type": "array"
|
|
10961
|
+
}
|
|
10962
|
+
},
|
|
10963
|
+
"required": [
|
|
10964
|
+
"music"
|
|
10965
|
+
]
|
|
10966
|
+
},
|
|
10967
|
+
"annotations": {
|
|
10968
|
+
"readOnlyHint": true,
|
|
10969
|
+
"destructiveHint": false,
|
|
10970
|
+
"idempotentHint": true,
|
|
10971
|
+
"openWorldHint": false
|
|
10972
|
+
}
|
|
10973
|
+
},
|
|
10974
|
+
{
|
|
10975
|
+
"name": "democut_add_music",
|
|
10976
|
+
"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.",
|
|
10977
|
+
"inputSchema": {
|
|
10978
|
+
"type": "object",
|
|
10979
|
+
"properties": {
|
|
10980
|
+
"slug": {
|
|
10981
|
+
"type": "string",
|
|
10982
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
10983
|
+
},
|
|
10984
|
+
"asset_id": {
|
|
10985
|
+
"description": "upload_asset(kind=audio)\uAC00 \uC900 \uC790\uC0B0 id",
|
|
10986
|
+
"minLength": 1,
|
|
10987
|
+
"type": "string"
|
|
10988
|
+
},
|
|
10989
|
+
"title": {
|
|
10990
|
+
"default": "",
|
|
10991
|
+
"description": "\uACE1\uC758 \uC774\uB984(\uC120\uD0DD). \uC0AC\uB78C\uC774 \uACE1\uC744 \uAD6C\uBCC4\uD558\uB294 \uB370\uB9CC \uC4F4\uB2E4",
|
|
10992
|
+
"maxLength": 100,
|
|
10993
|
+
"type": "string"
|
|
10994
|
+
}
|
|
10995
|
+
},
|
|
10996
|
+
"required": [
|
|
10997
|
+
"slug",
|
|
10998
|
+
"asset_id"
|
|
10999
|
+
],
|
|
11000
|
+
"additionalProperties": false
|
|
11001
|
+
},
|
|
11002
|
+
"outputSchema": {
|
|
11003
|
+
"type": "object",
|
|
11004
|
+
"properties": {
|
|
11005
|
+
"asset_id": {
|
|
11006
|
+
"type": "string"
|
|
11007
|
+
},
|
|
11008
|
+
"title": {
|
|
11009
|
+
"type": "string"
|
|
11010
|
+
},
|
|
11011
|
+
"duration_ms": {},
|
|
11012
|
+
"peaks": {
|
|
11013
|
+
"type": "array"
|
|
11014
|
+
},
|
|
11015
|
+
"url": {},
|
|
11016
|
+
"used_by": {
|
|
11017
|
+
"type": "array"
|
|
11018
|
+
}
|
|
11019
|
+
},
|
|
11020
|
+
"required": [
|
|
11021
|
+
"asset_id"
|
|
11022
|
+
]
|
|
11023
|
+
},
|
|
11024
|
+
"annotations": {
|
|
11025
|
+
"readOnlyHint": false,
|
|
11026
|
+
"destructiveHint": false,
|
|
11027
|
+
"idempotentHint": false,
|
|
11028
|
+
"openWorldHint": false
|
|
11029
|
+
}
|
|
11030
|
+
},
|
|
11031
|
+
{
|
|
11032
|
+
"name": "democut_remove_music",
|
|
11033
|
+
"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.",
|
|
11034
|
+
"inputSchema": {
|
|
11035
|
+
"type": "object",
|
|
11036
|
+
"properties": {
|
|
11037
|
+
"slug": {
|
|
11038
|
+
"type": "string",
|
|
11039
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
|
|
11040
|
+
},
|
|
11041
|
+
"asset_id": {
|
|
11042
|
+
"type": "string",
|
|
11043
|
+
"description": "\uC790\uC0B0 id(ast_\u2026)"
|
|
11044
|
+
},
|
|
11045
|
+
"force": {
|
|
11046
|
+
"default": false,
|
|
11047
|
+
"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",
|
|
11048
|
+
"type": "boolean"
|
|
11049
|
+
}
|
|
11050
|
+
},
|
|
11051
|
+
"required": [
|
|
11052
|
+
"slug",
|
|
11053
|
+
"asset_id"
|
|
11054
|
+
],
|
|
11055
|
+
"additionalProperties": false
|
|
11056
|
+
},
|
|
11057
|
+
"outputSchema": {
|
|
11058
|
+
"type": "object",
|
|
11059
|
+
"properties": {
|
|
11060
|
+
"deleted": {
|
|
11061
|
+
"type": "boolean"
|
|
11062
|
+
},
|
|
11063
|
+
"cleared_cut_ids": {
|
|
11064
|
+
"type": "array"
|
|
11065
|
+
},
|
|
11066
|
+
"asset_deleted": {
|
|
11067
|
+
"type": "boolean"
|
|
11068
|
+
}
|
|
11069
|
+
}
|
|
11070
|
+
},
|
|
11071
|
+
"annotations": {
|
|
11072
|
+
"readOnlyHint": false,
|
|
11073
|
+
"destructiveHint": true,
|
|
11074
|
+
"idempotentHint": true,
|
|
11075
|
+
"openWorldHint": false
|
|
11076
|
+
}
|
|
11077
|
+
},
|
|
10931
11078
|
{
|
|
10932
11079
|
"name": "democut_reorder_cuts",
|
|
10933
11080
|
"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.",
|
|
@@ -11192,7 +11339,7 @@ var GENERATED_TOOLS = [
|
|
|
11192
11339
|
},
|
|
11193
11340
|
{
|
|
11194
11341
|
"name": "democut_get_silence",
|
|
11195
|
-
"description": "\
|
|
11342
|
+
"description": "\uC120\uD0DD\uB41C \uBC84\uC804\uC758 \uBB34\uC74C \uAD6C\uAC04 \uBBF8\uB9AC\uBCF4\uAE30(threshold_ms).",
|
|
11196
11343
|
"inputSchema": {
|
|
11197
11344
|
"type": "object",
|
|
11198
11345
|
"properties": {
|
|
@@ -11245,7 +11392,7 @@ var GENERATED_TOOLS = [
|
|
|
11245
11392
|
},
|
|
11246
11393
|
{
|
|
11247
11394
|
"name": "democut_download_project",
|
|
11248
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC804\uCCB4(\
|
|
11395
|
+
"description": "\uD504\uB85C\uC81D\uD2B8 \uC804\uCCB4(\uC120\uD0DD\uB41C \uBC84\uC804 \uC0B0\uCD9C\uBB3C) zip \uC11C\uBA85 URL.",
|
|
11249
11396
|
"inputSchema": {
|
|
11250
11397
|
"type": "object",
|
|
11251
11398
|
"properties": {
|
|
@@ -11473,6 +11620,7 @@ var GENERATED_TOOLS = [
|
|
|
11473
11620
|
"draft_spec": {},
|
|
11474
11621
|
"edit": {},
|
|
11475
11622
|
"bgm": {},
|
|
11623
|
+
"bgm_resolved": {},
|
|
11476
11624
|
"current_version": {},
|
|
11477
11625
|
"current_image_id": {},
|
|
11478
11626
|
"images": {
|
|
@@ -12011,7 +12159,7 @@ var GENERATED_TOOLS = [
|
|
|
12011
12159
|
},
|
|
12012
12160
|
{
|
|
12013
12161
|
"name": "democut_delete_thumbnail",
|
|
12014
|
-
"description": "\uC378\uB124\uC77C \uD6C4\uBCF4\uB97C \uBE80\uB2E4(0\uC6D0). \
|
|
12162
|
+
"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.",
|
|
12015
12163
|
"inputSchema": {
|
|
12016
12164
|
"type": "object",
|
|
12017
12165
|
"properties": {
|
|
@@ -12514,7 +12662,7 @@ var GENERATED_TOOLS = [
|
|
|
12514
12662
|
},
|
|
12515
12663
|
{
|
|
12516
12664
|
"name": "democut_select_cut_version",
|
|
12517
|
-
"description": "\
|
|
12665
|
+
"description": "\uC120\uD0DD\uB41C \uBC84\uC804\uC744 \uBC14\uAFBC\uB2E4(0\uC6D0). draft_spec \uC740 \uADF8\uB300\uB85C\uB2E4.",
|
|
12518
12666
|
"inputSchema": {
|
|
12519
12667
|
"type": "object",
|
|
12520
12668
|
"properties": {
|
|
@@ -12564,6 +12712,7 @@ var GENERATED_TOOLS = [
|
|
|
12564
12712
|
"draft_spec": {},
|
|
12565
12713
|
"edit": {},
|
|
12566
12714
|
"bgm": {},
|
|
12715
|
+
"bgm_resolved": {},
|
|
12567
12716
|
"current_version": {},
|
|
12568
12717
|
"current_image_id": {},
|
|
12569
12718
|
"images": {
|
|
@@ -12619,7 +12768,7 @@ var GENERATED_TOOLS = [
|
|
|
12619
12768
|
},
|
|
12620
12769
|
{
|
|
12621
12770
|
"name": "democut_delete_cut_version",
|
|
12622
|
-
"description": "\uBC84\uC804 \uD558\uB098\uB97C \uC9C0\uC6B4\uB2E4(\
|
|
12771
|
+
"description": "\uBC84\uC804 \uD558\uB098\uB97C \uC9C0\uC6B4\uB2E4(\uC120\uD0DD\uB3FC \uC788\uC73C\uBA74 \uB2E4\uB978 \uBC84\uC804\uC73C\uB85C \uC62E\uAE34 \uB4A4).",
|
|
12623
12772
|
"inputSchema": {
|
|
12624
12773
|
"type": "object",
|
|
12625
12774
|
"properties": {
|
|
@@ -13006,6 +13155,24 @@ var TOOL_META = {
|
|
|
13006
13155
|
"method": "PUT",
|
|
13007
13156
|
"path": "/api/projects/{slug}/cuts/{cut_id}/bgm"
|
|
13008
13157
|
},
|
|
13158
|
+
"democut_list_music": {
|
|
13159
|
+
"cost": "none",
|
|
13160
|
+
"group": "storyboard",
|
|
13161
|
+
"method": "GET",
|
|
13162
|
+
"path": "/api/projects/{slug}/music"
|
|
13163
|
+
},
|
|
13164
|
+
"democut_add_music": {
|
|
13165
|
+
"cost": "none",
|
|
13166
|
+
"group": "storyboard",
|
|
13167
|
+
"method": "POST",
|
|
13168
|
+
"path": "/api/projects/{slug}/music"
|
|
13169
|
+
},
|
|
13170
|
+
"democut_remove_music": {
|
|
13171
|
+
"cost": "none",
|
|
13172
|
+
"group": "storyboard",
|
|
13173
|
+
"method": "DELETE",
|
|
13174
|
+
"path": "/api/projects/{slug}/music/{asset_id}"
|
|
13175
|
+
},
|
|
13009
13176
|
"democut_reorder_cuts": {
|
|
13010
13177
|
"cost": "none",
|
|
13011
13178
|
"group": "storyboard",
|
|
@@ -14213,7 +14380,7 @@ function makeCutImage(a = {}, deps = {}) {
|
|
|
14213
14380
|
`\uCEF7 \uC774\uBBF8\uC9C0\uB97C \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id}`,
|
|
14214
14381
|
// ★★ 상한임을 제출 자리에서도 말한다 — 견적을 건너뛴 호출자는 이 문장만 본다.
|
|
14215
14382
|
`\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.`,
|
|
14216
|
-
"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 \
|
|
14383
|
+
"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."
|
|
14217
14384
|
].join("\n"),
|
|
14218
14385
|
structured: callableStructured(out4)
|
|
14219
14386
|
};
|
|
@@ -14223,7 +14390,7 @@ function cutImageLine(cut) {
|
|
|
14223
14390
|
const n = cut.images?.length ?? 0;
|
|
14224
14391
|
const firstFrame = (cut.mode ?? "ai_video") === "ai_video";
|
|
14225
14392
|
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)." : "."}`;
|
|
14226
|
-
let cover = cut.current_image_id ? `\
|
|
14393
|
+
let cover = cut.current_image_id ? `\uC120\uD0DD\uB41C \uC774\uBBF8\uC9C0 ${cut.current_image_id}` : "\uC120\uD0DD\uB41C \uC774\uBBF8\uC9C0 \uC5C6\uC74C";
|
|
14227
14394
|
if (cut.current_image_id) {
|
|
14228
14395
|
const current = cut.images?.find((i) => i.id === cut.current_image_id);
|
|
14229
14396
|
if (current?.model) cover += ` (${current.model}${current.quality ? ` \xB7 ${current.quality}` : ""})`;
|
|
@@ -14264,7 +14431,7 @@ function setCutImage(a = {}, deps = {}) {
|
|
|
14264
14431
|
);
|
|
14265
14432
|
const added = out4.images?.[out4.images.length - 1];
|
|
14266
14433
|
const first = added && out4.current_image_id === added.id && (out4.images?.length ?? 0) === 1;
|
|
14267
|
-
return { text: `\uCEF7 \uC774\uBBF8\uC9C0\uB97C \uCD94\uAC00\uD588\uC2B5\uB2C8\uB2E4. ${cutImageLine(out4)}${first ? " \uCCAB \uC774\uBBF8\uC9C0\uB77C \
|
|
14434
|
+
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) };
|
|
14268
14435
|
});
|
|
14269
14436
|
}
|
|
14270
14437
|
function selectCutImage(a = {}, deps = {}) {
|
|
@@ -14289,7 +14456,7 @@ function selectCutImage(a = {}, deps = {}) {
|
|
|
14289
14456
|
{ method: "PUT", body: { image_id: imageId } },
|
|
14290
14457
|
deps
|
|
14291
14458
|
);
|
|
14292
|
-
const head = imageId === null ? "\uCCAB \uC7A5\uBA74 \uC9C0\uC815\uC744 \uBE44\uC6E0\uC2B5\uB2C8\uB2E4." : "\
|
|
14459
|
+
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.";
|
|
14293
14460
|
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." : "";
|
|
14294
14461
|
return { text: `${head} ${cutImageLine(out4)}${draft} \uC774\uBBF8 \uB9CC\uB4E0 \uBC84\uC804\uC740 \uADF8\uB300\uB85C\uC785\uB2C8\uB2E4.`, structured: callableStructured(out4) };
|
|
14295
14462
|
});
|
|
@@ -14487,7 +14654,7 @@ function listCuts(a = {}, deps = {}) {
|
|
|
14487
14654
|
structured: callableStructured(out4)
|
|
14488
14655
|
};
|
|
14489
14656
|
}
|
|
14490
|
-
const lines = [`\uCEF7 ${cuts.length}\uAC1C (\uC5F0\uACB0 \uC21C\uC11C) \u2014 id [\uC0C1\uD0DC] \uBC29\uC2DD \xB7 \uC81C\uBAA9 \xB7 \
|
|
14657
|
+
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`];
|
|
14491
14658
|
lines.push(...listing(cuts.map(cutLine)));
|
|
14492
14659
|
lines.push(callableToolNames("\uC0C1\uC138\xB7\uBC84\uC804\xB7\uB0B4\uB824\uBC1B\uAE30 \uC8FC\uC18C\uB294 get_cut, \uC21C\uC11C\xB7rev \uB294 get_storyboard."));
|
|
14493
14660
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -14525,7 +14692,7 @@ function getStoryboard(a = {}, deps = {}) {
|
|
|
14525
14692
|
function cutLine(cut) {
|
|
14526
14693
|
const bits = [`${cut.id} [${cut.state}] ${cut.mode}`];
|
|
14527
14694
|
if (cut.title) bits.push(`\u300C${cut.title}\u300D`);
|
|
14528
|
-
if (cut.current_version != null) bits.push(
|
|
14695
|
+
if (cut.current_version != null) bits.push(`v${cut.current_version} \xB7 \uC120\uD0DD\uB428`);
|
|
14529
14696
|
if (cut.dirty_fields?.length) bits.push(`\uB2EC\uB77C\uC9C4 \uD544\uB4DC: ${cut.dirty_fields.join(", ")}`);
|
|
14530
14697
|
if (cut.estimated_cost_krw != null) bits.push(`\uC608\uC0C1 ${krw(cut.estimated_cost_krw)}`);
|
|
14531
14698
|
if (cut.blocked_reason) bits.push(`\uB9C9\uD798: ${callableToolNames(cut.blocked_reason)}`);
|
|
@@ -14781,18 +14948,105 @@ function setCutBgm(a = {}, deps = {}) {
|
|
|
14781
14948
|
deps
|
|
14782
14949
|
);
|
|
14783
14950
|
} catch (e) {
|
|
14784
|
-
|
|
14785
|
-
|
|
14786
|
-
isError: true,
|
|
14787
|
-
text: "\uC774 \uC11C\uBC84\uC5D0\uB294 \uC544\uC9C1 \uBC30\uACBD\uC74C\uC545 \uC9C0\uC815\uC774 \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\xB7\uCEF7\xB7\uACE1\uC740 \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."
|
|
14788
|
-
};
|
|
14789
|
-
}
|
|
14951
|
+
const notYet = routeNotDeployed(e, "\uBC30\uACBD\uC74C\uC545 \uC9C0\uC815\uC774", "\uC2AC\uB7EC\uADF8\xB7\uCEF7\xB7\uACE1\uC740");
|
|
14952
|
+
if (notYet) return notYet;
|
|
14790
14953
|
throw e;
|
|
14791
14954
|
}
|
|
14792
14955
|
const note = cut.bgm != null ? BGM_NOTE : BGM_CLEARED_NOTE;
|
|
14793
14956
|
return { text: [cutLine(cut), note].join("\n"), structured: callableStructured(cut) };
|
|
14794
14957
|
});
|
|
14795
14958
|
}
|
|
14959
|
+
function routeNotDeployed(e, what, values) {
|
|
14960
|
+
if (!(e instanceof ApiError) || e.status !== 404 || e.code !== `HTTP_404`) return null;
|
|
14961
|
+
return {
|
|
14962
|
+
isError: true,
|
|
14963
|
+
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.
|
|
14964
|
+
${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.`
|
|
14965
|
+
};
|
|
14966
|
+
}
|
|
14967
|
+
async function musicRequest(run2) {
|
|
14968
|
+
try {
|
|
14969
|
+
return await run2();
|
|
14970
|
+
} catch (e) {
|
|
14971
|
+
const notYet = routeNotDeployed(e, "\uACE1 \uBAA9\uB85D \uAE30\uB2A5\uC774", "\uC2AC\uB7EC\uADF8\uC640 \uACE1\uC740");
|
|
14972
|
+
if (notYet) return notYet;
|
|
14973
|
+
throw e;
|
|
14974
|
+
}
|
|
14975
|
+
}
|
|
14976
|
+
var isToolResult = (v) => typeof v === "object" && v !== null && "isError" in v && "text" in v;
|
|
14977
|
+
function musicLine(m) {
|
|
14978
|
+
const seconds = m.duration_ms ? `${(m.duration_ms / 1e3).toFixed(1)}\uCD08` : "\uAE38\uC774 \uBBF8\uC815";
|
|
14979
|
+
const used = m.used_by && m.used_by.length ? ` \xB7 \uC4F0\uB294 \uCEF7 ${m.used_by.length}\uAC1C(${m.used_by.join(", ")})` : "";
|
|
14980
|
+
return `- ${m.asset_id} \u300C${m.title || "\uC774\uB984 \uC5C6\uC74C"}\u300D ${seconds}${used}`;
|
|
14981
|
+
}
|
|
14982
|
+
function slimMusic(m) {
|
|
14983
|
+
const { peaks: _peaks, ...rest } = m;
|
|
14984
|
+
return rest;
|
|
14985
|
+
}
|
|
14986
|
+
function listMusic(a = {}, deps = {}) {
|
|
14987
|
+
return guarded(READ_ONLY, async () => {
|
|
14988
|
+
const slug = needSlug(a);
|
|
14989
|
+
if (typeof slug !== "string") return slug;
|
|
14990
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
14991
|
+
const out4 = await musicRequest(() => apiRequest(base, projectPath(slug, "/music"), {}, deps));
|
|
14992
|
+
if (isToolResult(out4)) return out4;
|
|
14993
|
+
const music = out4.music ?? [];
|
|
14994
|
+
const slim = callableStructured({ music: music.map(slimMusic) });
|
|
14995
|
+
if (music.length === 0) {
|
|
14996
|
+
return {
|
|
14997
|
+
text: callableToolNames(
|
|
14998
|
+
"\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."
|
|
14999
|
+
),
|
|
15000
|
+
structured: slim
|
|
15001
|
+
};
|
|
15002
|
+
}
|
|
15003
|
+
return {
|
|
15004
|
+
text: callableToolNames([`\uACE1 ${music.length}\uAC1C \u2014 democut_set_cut_bgm \uC758 bgm.asset_id \uB85C \uC501\uB2C8\uB2E4.`, ...music.map(musicLine)].join("\n")),
|
|
15005
|
+
structured: slim
|
|
15006
|
+
};
|
|
15007
|
+
});
|
|
15008
|
+
}
|
|
15009
|
+
function addMusic(a = {}, deps = {}) {
|
|
15010
|
+
return guarded(READ_ONLY, async () => {
|
|
15011
|
+
const slug = needSlug(a);
|
|
15012
|
+
if (typeof slug !== "string") return slug;
|
|
15013
|
+
const assetId = (a.asset_id ?? "").trim();
|
|
15014
|
+
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.") };
|
|
15015
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
15016
|
+
const body = { asset_id: assetId };
|
|
15017
|
+
if (typeof a.title === "string") body.title = a.title;
|
|
15018
|
+
const out4 = await musicRequest(() => apiRequest(base, projectPath(slug, "/music"), { method: "POST", body }, deps));
|
|
15019
|
+
if (isToolResult(out4)) return out4;
|
|
15020
|
+
return {
|
|
15021
|
+
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")),
|
|
15022
|
+
structured: callableStructured(slimMusic(out4))
|
|
15023
|
+
};
|
|
15024
|
+
});
|
|
15025
|
+
}
|
|
15026
|
+
function removeMusic(a = {}, deps = {}) {
|
|
15027
|
+
return guarded(READ_ONLY, async () => {
|
|
15028
|
+
const slug = needSlug(a);
|
|
15029
|
+
if (typeof slug !== "string") return slug;
|
|
15030
|
+
const assetId = (a.asset_id ?? "").trim();
|
|
15031
|
+
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.") };
|
|
15032
|
+
const base = resolveBaseUrl(deps.baseUrl);
|
|
15033
|
+
const q = a.force === true ? "?force=true" : "";
|
|
15034
|
+
const out4 = await musicRequest(() => apiRequest(
|
|
15035
|
+
base,
|
|
15036
|
+
projectPath(slug, `/music/${encodeURIComponent(assetId)}${q}`),
|
|
15037
|
+
{ method: "DELETE" },
|
|
15038
|
+
deps
|
|
15039
|
+
));
|
|
15040
|
+
if (isToolResult(out4)) return out4;
|
|
15041
|
+
const lines = ["\uACE1\uC744 \uBAA9\uB85D\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4."];
|
|
15042
|
+
const cleared = out4.cleared_cut_ids ?? [];
|
|
15043
|
+
if (cleared.length) {
|
|
15044
|
+
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.`);
|
|
15045
|
+
}
|
|
15046
|
+
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.");
|
|
15047
|
+
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15048
|
+
});
|
|
15049
|
+
}
|
|
14796
15050
|
function setCutTitle(a = {}, deps = {}) {
|
|
14797
15051
|
return guarded(READ_ONLY, async () => {
|
|
14798
15052
|
const slug = needSlug(a);
|
|
@@ -14895,7 +15149,7 @@ function downloadProject(a = {}, deps = {}) {
|
|
|
14895
15149
|
if (typeof slug !== "string") return slug;
|
|
14896
15150
|
const base = resolveBaseUrl(deps.baseUrl);
|
|
14897
15151
|
const out4 = await apiRequest(base, projectPath(slug, "/export.zip"), {}, deps);
|
|
14898
|
-
const scope = "\uC21C\uC11C\uC5D0 \uB193\uC778 \uCEF7\uC758 \
|
|
15152
|
+
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.";
|
|
14899
15153
|
if (a.output_path) {
|
|
14900
15154
|
await (deps.downloadImpl ? deps.downloadImpl(out4.url, a.output_path) : saveUrlToFile(out4.url, a.output_path, deps.fetchImpl ?? fetch));
|
|
14901
15155
|
return { text: `\uD504\uB85C\uC81D\uD2B8 zip \uC744 \uC800\uC7A5\uD588\uC2B5\uB2C8\uB2E4: ${a.output_path}
|
|
@@ -15071,7 +15325,7 @@ function selectCutVersion(a = {}, deps = {}) {
|
|
|
15071
15325
|
const base = resolveBaseUrl(deps.baseUrl);
|
|
15072
15326
|
const out4 = await apiRequest(base, projectPath(slug, `/cuts/${encodeURIComponent(cutId)}/current`), { method: "PUT", body: { version: Number(a.version) } }, deps);
|
|
15073
15327
|
const lines = [
|
|
15074
|
-
`\uCEF7 ${cutId} \
|
|
15328
|
+
`\uCEF7 ${cutId} \uC5D0\uC11C v${out4.current_version} \uC744 \uC120\uD0DD\uD588\uC2B5\uB2C8\uB2E4(0\uC6D0, \uB80C\uB354 \uC5C6\uC74C).`,
|
|
15075
15329
|
"\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."
|
|
15076
15330
|
];
|
|
15077
15331
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -15128,7 +15382,7 @@ function createFolder(a = {}, deps = {}) {
|
|
|
15128
15382
|
}
|
|
15129
15383
|
function characterLine(c) {
|
|
15130
15384
|
const photos = c.photos?.length ? `\uC0AC\uC9C4 ${c.photos.length}\uC7A5` : "\uC0AC\uC9C4 \uC5C6\uC74C";
|
|
15131
|
-
return `${c.name} [${c.id}] rev=${c.rev} \xB7 ${photos}${c.current_photo_id ? " (\
|
|
15385
|
+
return `${c.name} [${c.id}] rev=${c.rev} \xB7 ${photos}${c.current_photo_id ? " (\uC120\uD0DD\uB428)" : ""}`;
|
|
15132
15386
|
}
|
|
15133
15387
|
function listCharacters(_a3 = {}, deps = {}) {
|
|
15134
15388
|
return guarded(READ_ONLY, async () => {
|
|
@@ -15179,7 +15433,7 @@ function getCharacter(a = {}, deps = {}) {
|
|
|
15179
15433
|
const lines = [characterLine(out4)];
|
|
15180
15434
|
if (out4.voice_id) lines.push(` \uBCF4\uC774\uC2A4: ${out4.voice_id}`);
|
|
15181
15435
|
for (const p of out4.photos ?? []) {
|
|
15182
|
-
lines.push(` \uC0AC\uC9C4 ${p.seq}: ${p.asset_id} (${p.source})${p.id === out4.current_photo_id ? " \u2190 \
|
|
15436
|
+
lines.push(` \uC0AC\uC9C4 ${p.seq}: ${p.asset_id} (${p.source})${p.id === out4.current_photo_id ? " \u2190 \uC120\uD0DD\uB428" : ""}`);
|
|
15183
15437
|
}
|
|
15184
15438
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15185
15439
|
});
|
|
@@ -15353,7 +15607,7 @@ function makeCharacterPhoto(a = {}, deps = {}) {
|
|
|
15353
15607
|
text: [
|
|
15354
15608
|
`\uC544\uBC14\uD0C0 \uC0AC\uC9C4\uC744 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id}`,
|
|
15355
15609
|
`\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.`,
|
|
15356
|
-
"democut_wait_jobs \uB85C \uB05D\uB098\uBA74 democut_get_character \uC758 photos \uC5D0 \uC0C8 \uC0AC\uC9C4\uC774 \uC0DD\uAE30\uACE0 \
|
|
15610
|
+
"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)."
|
|
15357
15611
|
].join("\n"),
|
|
15358
15612
|
structured: callableStructured(out4)
|
|
15359
15613
|
};
|
|
@@ -15378,7 +15632,7 @@ function selectCharacterPhoto(a = {}, deps = {}) {
|
|
|
15378
15632
|
deps
|
|
15379
15633
|
);
|
|
15380
15634
|
return {
|
|
15381
|
-
text: `\
|
|
15635
|
+
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.`,
|
|
15382
15636
|
structured: callableStructured(out4)
|
|
15383
15637
|
};
|
|
15384
15638
|
});
|
|
@@ -15562,7 +15816,7 @@ function makeExport(a = {}, deps = {}) {
|
|
|
15562
15816
|
);
|
|
15563
15817
|
const lines = [
|
|
15564
15818
|
`\uC644\uC131\uBCF8\uC744 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${out4.job_id} (${krw(out4.quote?.total_krw ?? 0)})`,
|
|
15565
|
-
"\uC21C\uC11C\uC5D0 \uB193\uC778 \uCEF7\uC758 \
|
|
15819
|
+
"\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).",
|
|
15566
15820
|
"\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."
|
|
15567
15821
|
];
|
|
15568
15822
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -15684,9 +15938,9 @@ function getExport(a = {}, deps = {}) {
|
|
|
15684
15938
|
const thumbs = out4.thumbnails ?? [];
|
|
15685
15939
|
if (thumbs.length > 0) {
|
|
15686
15940
|
lines.push(
|
|
15687
|
-
`\uC378\uB124\uC77C \uD6C4\uBCF4 ${thumbs.length}\uC7A5 \u2014 \
|
|
15941
|
+
`\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 ")
|
|
15688
15942
|
);
|
|
15689
|
-
lines.push("\
|
|
15943
|
+
lines.push("\uC120\uD0DD\uC744 \uBC14\uAFB8\uB824\uBA74 democut_select_thumbnail(asset_id).");
|
|
15690
15944
|
} else {
|
|
15691
15945
|
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.");
|
|
15692
15946
|
}
|
|
@@ -15738,7 +15992,7 @@ function makeThumbnails(a = {}, deps = {}) {
|
|
|
15738
15992
|
const lines = [
|
|
15739
15993
|
`\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)`,
|
|
15740
15994
|
`\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.`,
|
|
15741
|
-
"\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 \
|
|
15995
|
+
"\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."
|
|
15742
15996
|
];
|
|
15743
15997
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15744
15998
|
});
|
|
@@ -15764,7 +16018,7 @@ function selectThumbnail(a = {}, deps = {}) {
|
|
|
15764
16018
|
);
|
|
15765
16019
|
const thumbs = out4.thumbnails ?? [];
|
|
15766
16020
|
const chosen = thumbs.find((t) => t.asset_id === out4.selected_thumbnail_id);
|
|
15767
|
-
const lines = [`\uC644\uC131\uBCF8 #${out4.number} \uC758 \
|
|
16021
|
+
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).`];
|
|
15768
16022
|
if (chosen?.url) lines.push(`\uBBF8\uB9AC\uBCF4\uAE30: ${chosen.url} (1\uC2DC\uAC04 \uC720\uD6A8)`);
|
|
15769
16023
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
15770
16024
|
});
|
|
@@ -15779,7 +16033,7 @@ function deleteThumbnail(a = {}, deps = {}) {
|
|
|
15779
16033
|
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." };
|
|
15780
16034
|
const base = resolveBaseUrl(deps.baseUrl);
|
|
15781
16035
|
const out4 = await apiRequest(base, projectPath(slug, `/exports/${number3}/thumbnails/${encodeURIComponent(assetId)}`), { method: "DELETE" }, deps);
|
|
15782
|
-
const tail = out4.selected_thumbnail_id ? `\
|
|
16036
|
+
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.";
|
|
15783
16037
|
return {
|
|
15784
16038
|
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}`,
|
|
15785
16039
|
structured: callableStructured(out4)
|
|
@@ -15831,7 +16085,7 @@ function publishYoutube(a = {}, deps = {}) {
|
|
|
15831
16085
|
const out4 = await apiRequest(base, projectPath(slug, `/exports/${number3}/publish`), { method: "POST", body: { privacy } }, deps);
|
|
15832
16086
|
const lines = [
|
|
15833
16087
|
`\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})`,
|
|
15834
|
-
"\uC81C\uBAA9\xB7\uC124\uBA85\xB7\uD0DC\uADF8\uB294 \uC644\uC131\uBCF8\uC758 youtube_meta \uB97C, \uC378\uB124\uC77C\uC740 \
|
|
16088
|
+
"\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.",
|
|
15835
16089
|
"\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)."
|
|
15836
16090
|
];
|
|
15837
16091
|
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
@@ -15919,6 +16173,12 @@ function dispatch(name, args, deps = {}) {
|
|
|
15919
16173
|
return putCutDraft(args, deps);
|
|
15920
16174
|
case "democut_set_cut_edit":
|
|
15921
16175
|
return setCutEdit(args, deps);
|
|
16176
|
+
case "democut_list_music":
|
|
16177
|
+
return listMusic(args, deps);
|
|
16178
|
+
case "democut_add_music":
|
|
16179
|
+
return addMusic(args, deps);
|
|
16180
|
+
case "democut_remove_music":
|
|
16181
|
+
return removeMusic(args, deps);
|
|
15922
16182
|
case "democut_set_cut_bgm":
|
|
15923
16183
|
return setCutBgm(args, deps);
|
|
15924
16184
|
case "democut_set_cut_title":
|