democut 1.0.37 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli.js +11 -588
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -163,7 +163,7 @@ claude mcp add democut -- npx -y democut@latest mcp
|
|
|
163
163
|
|
|
164
164
|
대부분은 조회·견적이라 부작용이 없고, 돈이 나가는 것은 계약이 `charge`·`small` 로 표시한
|
|
165
165
|
소수뿐이다(`make_cuts`·`make_export`·`make_thumbnails`·`make_cut_image`·`make_character_photo`·
|
|
166
|
-
`
|
|
166
|
+
`generate_youtube_meta`).
|
|
167
167
|
|
|
168
168
|
### 비용 승인이 프로토콜에 맞게 바뀐다
|
|
169
169
|
|
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.40";
|
|
6920
6920
|
|
|
6921
6921
|
// src/device-flow.ts
|
|
6922
6922
|
var DeviceFlowError = class extends Error {
|
|
@@ -8786,7 +8786,7 @@ var GENERATED_TOOLS = [
|
|
|
8786
8786
|
"additionalProperties": false,
|
|
8787
8787
|
"properties": {
|
|
8788
8788
|
"id": {
|
|
8789
|
-
"description": "\uC904 id ln_<6> \u2014 \
|
|
8789
|
+
"description": "\uC904 id ln_<6> \u2014 \uBCC0\uACBD \uBE44\uAD50\uC758 \uB300\uC870 \uD0A4",
|
|
8790
8790
|
"pattern": "^ln_[a-z0-9]{6}$",
|
|
8791
8791
|
"type": "string",
|
|
8792
8792
|
"x-diff": "ignore"
|
|
@@ -9712,7 +9712,7 @@ var GENERATED_TOOLS = [
|
|
|
9712
9712
|
"additionalProperties": false,
|
|
9713
9713
|
"properties": {
|
|
9714
9714
|
"id": {
|
|
9715
|
-
"description": "\uC904 id ln_<6> \u2014 \
|
|
9715
|
+
"description": "\uC904 id ln_<6> \u2014 \uBCC0\uACBD \uBE44\uAD50\uC758 \uB300\uC870 \uD0A4",
|
|
9716
9716
|
"pattern": "^ln_[a-z0-9]{6}$",
|
|
9717
9717
|
"type": "string",
|
|
9718
9718
|
"x-diff": "ignore"
|
|
@@ -12124,7 +12124,7 @@ var GENERATED_TOOLS = [
|
|
|
12124
12124
|
},
|
|
12125
12125
|
{
|
|
12126
12126
|
"name": "democut_get_storyboard",
|
|
12127
|
-
"description": "\uC2A4\uD1A0\uB9AC\uBCF4\uB4DC \u2014 rev\xB7\uC21C\uC11C\xB7\uCEF7(\uD30C\uC0DD \uD544\uB4DC)\xB7\
|
|
12127
|
+
"description": "\uC2A4\uD1A0\uB9AC\uBCF4\uB4DC \u2014 rev\xB7\uC21C\uC11C\xB7\uCEF7(\uD30C\uC0DD \uD544\uB4DC)\xB7\uC0AC\uC6A9\uB7C9. If-Match \uC5D0 \uC4F8 rev \uAC00 \uC5EC\uAE30 \uC788\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_add_cut, democut_put_cut_draft, democut_reorder_cuts, democut_make_export.",
|
|
12128
12128
|
"inputSchema": {
|
|
12129
12129
|
"type": "object",
|
|
12130
12130
|
"properties": {
|
|
@@ -12154,7 +12154,6 @@ var GENERATED_TOOLS = [
|
|
|
12154
12154
|
"chains": {
|
|
12155
12155
|
"type": "array"
|
|
12156
12156
|
},
|
|
12157
|
-
"pending_proposal": {},
|
|
12158
12157
|
"usage_bytes": {
|
|
12159
12158
|
"type": "integer"
|
|
12160
12159
|
},
|
|
@@ -12569,7 +12568,7 @@ var GENERATED_TOOLS = [
|
|
|
12569
12568
|
"additionalProperties": false,
|
|
12570
12569
|
"properties": {
|
|
12571
12570
|
"id": {
|
|
12572
|
-
"description": "\uC904 id ln_<6> \u2014 \
|
|
12571
|
+
"description": "\uC904 id ln_<6> \u2014 \uBCC0\uACBD \uBE44\uAD50\uC758 \uB300\uC870 \uD0A4",
|
|
12573
12572
|
"pattern": "^ln_[a-z0-9]{6}$",
|
|
12574
12573
|
"type": "string",
|
|
12575
12574
|
"x-diff": "ignore"
|
|
@@ -13599,7 +13598,7 @@ var GENERATED_TOOLS = [
|
|
|
13599
13598
|
"additionalProperties": false,
|
|
13600
13599
|
"properties": {
|
|
13601
13600
|
"id": {
|
|
13602
|
-
"description": "\uC904 id ln_<6> \u2014 \
|
|
13601
|
+
"description": "\uC904 id ln_<6> \u2014 \uBCC0\uACBD \uBE44\uAD50\uC758 \uB300\uC870 \uD0A4",
|
|
13603
13602
|
"pattern": "^ln_[a-z0-9]{6}$",
|
|
13604
13603
|
"type": "string",
|
|
13605
13604
|
"x-diff": "ignore"
|
|
@@ -14442,7 +14441,6 @@ var GENERATED_TOOLS = [
|
|
|
14442
14441
|
"chains": {
|
|
14443
14442
|
"type": "array"
|
|
14444
14443
|
},
|
|
14445
|
-
"pending_proposal": {},
|
|
14446
14444
|
"usage_bytes": {
|
|
14447
14445
|
"type": "integer"
|
|
14448
14446
|
},
|
|
@@ -14509,7 +14507,6 @@ var GENERATED_TOOLS = [
|
|
|
14509
14507
|
"chains": {
|
|
14510
14508
|
"type": "array"
|
|
14511
14509
|
},
|
|
14512
|
-
"pending_proposal": {},
|
|
14513
14510
|
"usage_bytes": {
|
|
14514
14511
|
"type": "integer"
|
|
14515
14512
|
},
|
|
@@ -14530,7 +14527,7 @@ var GENERATED_TOOLS = [
|
|
|
14530
14527
|
},
|
|
14531
14528
|
{
|
|
14532
14529
|
"name": "democut_set_start_cut",
|
|
14533
|
-
"description": "\uC2DC\uC791 \uCEF7\uC744 \uC815\uD55C\uB2E4 \u2014 \uADF8 \uCEF7\uBD80\uD130 \uB4A4\uAC00 \uD65C\uC131 \uC0AC\uC2AC(order\xB7\uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30
|
|
14530
|
+
"description": "\uC2DC\uC791 \uCEF7\uC744 \uC815\uD55C\uB2E4 \u2014 \uADF8 \uCEF7\uBD80\uD130 \uB4A4\uAC00 \uD65C\uC131 \uC0AC\uC2AC(order\xB7\uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30)\uC774\uB2E4. \uC0AC\uC2AC \uAC00\uC6B4\uB370 \uCEF7\uC774\uBA74 \uADF8 \uC55E\uC758 \uC5F0\uACB0\uC744 \uD568\uAED8 \uB04A\uB294\uB2E4(A\u2192B\u2192C \uC5D0\uC11C B \uBA74 B\u2192C \uAC00 \uD65C\uC131, \uD55C \uD2B8\uB79C\uC7AD\uC158). 0\uC6D0, rev \uC624\uB978\uB2E4.",
|
|
14534
14531
|
"inputSchema": {
|
|
14535
14532
|
"type": "object",
|
|
14536
14533
|
"properties": {
|
|
@@ -14571,7 +14568,6 @@ var GENERATED_TOOLS = [
|
|
|
14571
14568
|
"chains": {
|
|
14572
14569
|
"type": "array"
|
|
14573
14570
|
},
|
|
14574
|
-
"pending_proposal": {},
|
|
14575
14571
|
"usage_bytes": {
|
|
14576
14572
|
"type": "integer"
|
|
14577
14573
|
},
|
|
@@ -14592,7 +14588,7 @@ var GENERATED_TOOLS = [
|
|
|
14592
14588
|
},
|
|
14593
14589
|
{
|
|
14594
14590
|
"name": "democut_set_cuts_enabled",
|
|
14595
|
-
"description": "\uCEF7\uC744 \uB044\uAC70\uB098 \uCF20\uB2E4(0\uC6D0). \uAEBC\uC9C4 \uCEF7\uC740 **\uC0AC\uC2AC\uACFC \uC790\uB9AC\uC5D0 \uADF8\uB300\uB85C \uB0A8\uACE0**(\uCE94\uBC84\uC2A4\uC758 \uC120\uB3C4 \uADF8\uB300\uB85C) order\xB7\uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30\
|
|
14591
|
+
"description": "\uCEF7\uC744 \uB044\uAC70\uB098 \uCF20\uB2E4(0\uC6D0). \uAEBC\uC9C4 \uCEF7\uC740 **\uC0AC\uC2AC\uACFC \uC790\uB9AC\uC5D0 \uADF8\uB300\uB85C \uB0A8\uACE0**(\uCE94\uBC84\uC2A4\uC758 \uC120\uB3C4 \uADF8\uB300\uB85C) order\xB7\uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30\uC5D0\uC11C\uB9CC \uAC74\uB108\uB6F4\uB2E4 \u2014 \uCF1C\uBA74 \uADF8 \uC790\uB9AC\uC5D0\uC11C \uB2E4\uC2DC \uC774\uC5B4\uC9C4\uB2E4. \uC21C\uC11C\uC5D0\uC11C \uBE7C\uB294 \uAC83(democut_reorder_cuts)\uC740 \uC790\uB9AC\uB97C \uC783\uACE0, \uB04A\uB294 \uAC83(democut_set_cut_link)\uC740 \uC0AC\uC2AC\uC744 \uB098\uB208\uB2E4. rev \uC624\uB978\uB2E4(If-Match).",
|
|
14596
14592
|
"inputSchema": {
|
|
14597
14593
|
"type": "object",
|
|
14598
14594
|
"properties": {
|
|
@@ -14610,7 +14606,7 @@ var GENERATED_TOOLS = [
|
|
|
14610
14606
|
"type": "array"
|
|
14611
14607
|
},
|
|
14612
14608
|
"enabled": {
|
|
14613
|
-
"description": "false = \uB048\uB2E4(\uC790\uB9AC\xB7\uC0AC\uC2AC \uADF8\uB300\uB85C, order\xB7\uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30\
|
|
14609
|
+
"description": "false = \uB048\uB2E4(\uC790\uB9AC\xB7\uC0AC\uC2AC \uADF8\uB300\uB85C, order\xB7\uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30\uC5D0\uC11C \uAC74\uB108\uB6F4\uB2E4)",
|
|
14614
14610
|
"type": "boolean"
|
|
14615
14611
|
},
|
|
14616
14612
|
"rev": {
|
|
@@ -14643,7 +14639,6 @@ var GENERATED_TOOLS = [
|
|
|
14643
14639
|
"chains": {
|
|
14644
14640
|
"type": "array"
|
|
14645
14641
|
},
|
|
14646
|
-
"pending_proposal": {},
|
|
14647
14642
|
"usage_bytes": {
|
|
14648
14643
|
"type": "integer"
|
|
14649
14644
|
},
|
|
@@ -14758,366 +14753,6 @@ var GENERATED_TOOLS = [
|
|
|
14758
14753
|
"openWorldHint": false
|
|
14759
14754
|
}
|
|
14760
14755
|
},
|
|
14761
|
-
{
|
|
14762
|
-
"name": "democut_propose",
|
|
14763
|
-
"description": "\uC6B0\uB9AC LLM \uC5D0\uAC8C \uC2A4\uD1A0\uB9AC\uBCF4\uB4DC \uBCC0\uACBD\uC744 \uC81C\uC548\uBC1B\uB294\uB2E4(\uC18C\uC561 \uCCAD\uAD6C, \uC7A1). \uC0AC\uC6A9\uC790 AI \uAC00 \uC9C1\uC811 democut_put_cut_draft/democut_make_cuts \uD558\uBA74 \uC774 \uCE35\uC740 \uD544\uC694 \uC5C6\uB2E4. \uC815\uC561 \uC18C\uC561 \uCCAD\uAD6C \u2014 \uACAC\uC801 \uB2E8\uACC4 \uC5C6\uC774 \uC81C\uCD9C \uC2DC \uCCAD\uAD6C\uD55C\uB2E4(\uB2E8\uAC00\uB294 democut_get_options.rates, \uC794\uC561 \uBD80\uC871\uC774\uBA74 402 INSUFFICIENT_CREDITS). \uC751\uB2F5\uC740 202 \u2014 \uACB0\uACFC\uB294 democut_wait_jobs \uB85C \uBC1B\uB294\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs, democut_get_proposal, democut_apply_proposal.",
|
|
14764
|
-
"inputSchema": {
|
|
14765
|
-
"type": "object",
|
|
14766
|
-
"properties": {
|
|
14767
|
-
"slug": {
|
|
14768
|
-
"type": "string",
|
|
14769
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(list_projects)"
|
|
14770
|
-
},
|
|
14771
|
-
"text": {
|
|
14772
|
-
"maxLength": 8e3,
|
|
14773
|
-
"minLength": 1,
|
|
14774
|
-
"type": "string"
|
|
14775
|
-
},
|
|
14776
|
-
"attachments": {
|
|
14777
|
-
"description": "\uCCA8\uBD80 \uC790\uC0B0 id \u2014 ready \uC778 image(\uBAA8\uB378\uC774 \uADF8\uB9BC\uC744 \uBCF8\uB2E4)\xB7audio(\uB098\uB808\uC774\uC158) \uB9CC. \uB2E4\uB978 \uC885\uB958\uB294 422 ASSET_UNSUPPORTED, \uC544\uC9C1 pending \uC774\uBA74 422 ASSET_NOT_READY(\uC7A0\uC2DC \uB4A4 \uADF8\uB300\uB85C \uB2E4\uC2DC).",
|
|
14778
|
-
"items": {
|
|
14779
|
-
"type": "string"
|
|
14780
|
-
},
|
|
14781
|
-
"maxItems": 10,
|
|
14782
|
-
"type": "array"
|
|
14783
|
-
},
|
|
14784
|
-
"scope": {
|
|
14785
|
-
"anyOf": [
|
|
14786
|
-
{
|
|
14787
|
-
"type": "string"
|
|
14788
|
-
},
|
|
14789
|
-
{
|
|
14790
|
-
"type": "null"
|
|
14791
|
-
}
|
|
14792
|
-
],
|
|
14793
|
-
"default": null,
|
|
14794
|
-
"description": "cut_id \u2014 \uCEF7 \uCC57. \uC5C6\uC73C\uBA74 \uC804\uC5ED"
|
|
14795
|
-
},
|
|
14796
|
-
"base_rev": {
|
|
14797
|
-
"minimum": 0,
|
|
14798
|
-
"type": "integer"
|
|
14799
|
-
}
|
|
14800
|
-
},
|
|
14801
|
-
"required": [
|
|
14802
|
-
"slug",
|
|
14803
|
-
"text",
|
|
14804
|
-
"base_rev"
|
|
14805
|
-
],
|
|
14806
|
-
"additionalProperties": false
|
|
14807
|
-
},
|
|
14808
|
-
"outputSchema": {
|
|
14809
|
-
"type": "object",
|
|
14810
|
-
"properties": {
|
|
14811
|
-
"id": {
|
|
14812
|
-
"type": "string"
|
|
14813
|
-
},
|
|
14814
|
-
"project_slug": {
|
|
14815
|
-
"type": "string"
|
|
14816
|
-
},
|
|
14817
|
-
"source": {
|
|
14818
|
-
"type": "string"
|
|
14819
|
-
},
|
|
14820
|
-
"scope_cut_id": {},
|
|
14821
|
-
"request": {},
|
|
14822
|
-
"base_rev": {
|
|
14823
|
-
"type": "integer"
|
|
14824
|
-
},
|
|
14825
|
-
"ops": {},
|
|
14826
|
-
"quote": {},
|
|
14827
|
-
"status": {
|
|
14828
|
-
"type": "string"
|
|
14829
|
-
},
|
|
14830
|
-
"job_id": {
|
|
14831
|
-
"type": "string"
|
|
14832
|
-
},
|
|
14833
|
-
"applied_rev": {},
|
|
14834
|
-
"created_at": {
|
|
14835
|
-
"type": "string"
|
|
14836
|
-
},
|
|
14837
|
-
"resolved_at": {}
|
|
14838
|
-
},
|
|
14839
|
-
"required": [
|
|
14840
|
-
"id",
|
|
14841
|
-
"project_slug",
|
|
14842
|
-
"source",
|
|
14843
|
-
"request",
|
|
14844
|
-
"base_rev",
|
|
14845
|
-
"status",
|
|
14846
|
-
"job_id",
|
|
14847
|
-
"created_at"
|
|
14848
|
-
]
|
|
14849
|
-
},
|
|
14850
|
-
"annotations": {
|
|
14851
|
-
"readOnlyHint": false,
|
|
14852
|
-
"destructiveHint": false,
|
|
14853
|
-
"idempotentHint": false,
|
|
14854
|
-
"openWorldHint": false
|
|
14855
|
-
}
|
|
14856
|
-
},
|
|
14857
|
-
{
|
|
14858
|
-
"name": "democut_list_proposals",
|
|
14859
|
-
"description": "\uC81C\uC548 \uBAA9\uB85D.",
|
|
14860
|
-
"inputSchema": {
|
|
14861
|
-
"type": "object",
|
|
14862
|
-
"properties": {
|
|
14863
|
-
"slug": {
|
|
14864
|
-
"type": "string",
|
|
14865
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(list_projects)"
|
|
14866
|
-
}
|
|
14867
|
-
},
|
|
14868
|
-
"required": [
|
|
14869
|
-
"slug"
|
|
14870
|
-
],
|
|
14871
|
-
"additionalProperties": false
|
|
14872
|
-
},
|
|
14873
|
-
"outputSchema": {
|
|
14874
|
-
"type": "object",
|
|
14875
|
-
"properties": {
|
|
14876
|
-
"proposals": {
|
|
14877
|
-
"type": "array"
|
|
14878
|
-
}
|
|
14879
|
-
},
|
|
14880
|
-
"required": [
|
|
14881
|
-
"proposals"
|
|
14882
|
-
]
|
|
14883
|
-
},
|
|
14884
|
-
"annotations": {
|
|
14885
|
-
"readOnlyHint": true,
|
|
14886
|
-
"destructiveHint": false,
|
|
14887
|
-
"idempotentHint": true,
|
|
14888
|
-
"openWorldHint": false
|
|
14889
|
-
}
|
|
14890
|
-
},
|
|
14891
|
-
{
|
|
14892
|
-
"name": "democut_get_proposal",
|
|
14893
|
-
"description": "\uC81C\uC548 \uD558\uB098(ops \uD544\uB4DC diff\xB7\uACAC\uC801).",
|
|
14894
|
-
"inputSchema": {
|
|
14895
|
-
"type": "object",
|
|
14896
|
-
"properties": {
|
|
14897
|
-
"slug": {
|
|
14898
|
-
"type": "string",
|
|
14899
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(list_projects)"
|
|
14900
|
-
},
|
|
14901
|
-
"proposal_id": {
|
|
14902
|
-
"type": "string",
|
|
14903
|
-
"description": "\uC81C\uC548 id(prp_\u2026)"
|
|
14904
|
-
}
|
|
14905
|
-
},
|
|
14906
|
-
"required": [
|
|
14907
|
-
"slug",
|
|
14908
|
-
"proposal_id"
|
|
14909
|
-
],
|
|
14910
|
-
"additionalProperties": false
|
|
14911
|
-
},
|
|
14912
|
-
"outputSchema": {
|
|
14913
|
-
"type": "object",
|
|
14914
|
-
"properties": {
|
|
14915
|
-
"id": {
|
|
14916
|
-
"type": "string"
|
|
14917
|
-
},
|
|
14918
|
-
"project_slug": {
|
|
14919
|
-
"type": "string"
|
|
14920
|
-
},
|
|
14921
|
-
"source": {
|
|
14922
|
-
"type": "string"
|
|
14923
|
-
},
|
|
14924
|
-
"scope_cut_id": {},
|
|
14925
|
-
"request": {},
|
|
14926
|
-
"base_rev": {
|
|
14927
|
-
"type": "integer"
|
|
14928
|
-
},
|
|
14929
|
-
"ops": {},
|
|
14930
|
-
"quote": {},
|
|
14931
|
-
"status": {
|
|
14932
|
-
"type": "string"
|
|
14933
|
-
},
|
|
14934
|
-
"job_id": {
|
|
14935
|
-
"type": "string"
|
|
14936
|
-
},
|
|
14937
|
-
"applied_rev": {},
|
|
14938
|
-
"created_at": {
|
|
14939
|
-
"type": "string"
|
|
14940
|
-
},
|
|
14941
|
-
"resolved_at": {}
|
|
14942
|
-
},
|
|
14943
|
-
"required": [
|
|
14944
|
-
"id",
|
|
14945
|
-
"project_slug",
|
|
14946
|
-
"source",
|
|
14947
|
-
"request",
|
|
14948
|
-
"base_rev",
|
|
14949
|
-
"status",
|
|
14950
|
-
"job_id",
|
|
14951
|
-
"created_at"
|
|
14952
|
-
]
|
|
14953
|
-
},
|
|
14954
|
-
"annotations": {
|
|
14955
|
-
"readOnlyHint": true,
|
|
14956
|
-
"destructiveHint": false,
|
|
14957
|
-
"idempotentHint": true,
|
|
14958
|
-
"openWorldHint": false
|
|
14959
|
-
}
|
|
14960
|
-
},
|
|
14961
|
-
{
|
|
14962
|
-
"name": "democut_apply_proposal",
|
|
14963
|
-
"description": "\uC81C\uC548\uC744 \uC801\uC6A9\uD55C\uB2E4. mode=render \uBA74 \uB300\uC0C1 \uCEF7\uC744 \uD568\uAED8 \uB9CC\uB4E0\uB2E4(\uCCAD\uAD6C). rev \uAC00 \uBC14\uB00C\uC5C8\uC73C\uBA74 409 PROPOSAL_STALE. \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). \uB2E4\uC74C \uD638\uCD9C: democut_wait_jobs.",
|
|
14964
|
-
"inputSchema": {
|
|
14965
|
-
"type": "object",
|
|
14966
|
-
"properties": {
|
|
14967
|
-
"slug": {
|
|
14968
|
-
"type": "string",
|
|
14969
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(list_projects)"
|
|
14970
|
-
},
|
|
14971
|
-
"proposal_id": {
|
|
14972
|
-
"type": "string",
|
|
14973
|
-
"description": "\uC81C\uC548 id(prp_\u2026)"
|
|
14974
|
-
},
|
|
14975
|
-
"mode": {
|
|
14976
|
-
"default": "plan_only",
|
|
14977
|
-
"enum": [
|
|
14978
|
-
"plan_only",
|
|
14979
|
-
"render"
|
|
14980
|
-
],
|
|
14981
|
-
"type": "string"
|
|
14982
|
-
},
|
|
14983
|
-
"confirmed_total_krw": {
|
|
14984
|
-
"anyOf": [
|
|
14985
|
-
{
|
|
14986
|
-
"minimum": 0,
|
|
14987
|
-
"type": "integer"
|
|
14988
|
-
},
|
|
14989
|
-
{
|
|
14990
|
-
"type": "null"
|
|
14991
|
-
}
|
|
14992
|
-
],
|
|
14993
|
-
"default": null,
|
|
14994
|
-
"description": "mode=render \uD544\uC218 \u2014 get_proposal \uC758 quote.total_krw \uADF8\uB300\uB85C"
|
|
14995
|
-
},
|
|
14996
|
-
"rate_version": {
|
|
14997
|
-
"anyOf": [
|
|
14998
|
-
{
|
|
14999
|
-
"minimum": 1,
|
|
15000
|
-
"type": "integer"
|
|
15001
|
-
},
|
|
15002
|
-
{
|
|
15003
|
-
"type": "null"
|
|
15004
|
-
}
|
|
15005
|
-
],
|
|
15006
|
-
"default": null,
|
|
15007
|
-
"description": "mode=render \uD544\uC218 \u2014 quote.rate_version \uADF8\uB300\uB85C"
|
|
15008
|
-
}
|
|
15009
|
-
},
|
|
15010
|
-
"required": [
|
|
15011
|
-
"slug",
|
|
15012
|
-
"proposal_id"
|
|
15013
|
-
],
|
|
15014
|
-
"additionalProperties": false
|
|
15015
|
-
},
|
|
15016
|
-
"outputSchema": {
|
|
15017
|
-
"type": "object",
|
|
15018
|
-
"properties": {
|
|
15019
|
-
"rev": {
|
|
15020
|
-
"type": "integer"
|
|
15021
|
-
},
|
|
15022
|
-
"order": {
|
|
15023
|
-
"type": "array"
|
|
15024
|
-
},
|
|
15025
|
-
"cuts": {
|
|
15026
|
-
"type": "array"
|
|
15027
|
-
},
|
|
15028
|
-
"start_cut_id": {},
|
|
15029
|
-
"chains": {
|
|
15030
|
-
"type": "array"
|
|
15031
|
-
},
|
|
15032
|
-
"pending_proposal": {},
|
|
15033
|
-
"usage_bytes": {
|
|
15034
|
-
"type": "integer"
|
|
15035
|
-
},
|
|
15036
|
-
"next_calls": {
|
|
15037
|
-
"type": "array"
|
|
15038
|
-
}
|
|
15039
|
-
},
|
|
15040
|
-
"required": [
|
|
15041
|
-
"rev"
|
|
15042
|
-
]
|
|
15043
|
-
},
|
|
15044
|
-
"annotations": {
|
|
15045
|
-
"readOnlyHint": false,
|
|
15046
|
-
"destructiveHint": false,
|
|
15047
|
-
"idempotentHint": false,
|
|
15048
|
-
"openWorldHint": false
|
|
15049
|
-
}
|
|
15050
|
-
},
|
|
15051
|
-
{
|
|
15052
|
-
"name": "democut_dismiss_proposal",
|
|
15053
|
-
"description": "\uC81C\uC548\uC744 \uBB34\uC2DC\uD55C\uB2E4.",
|
|
15054
|
-
"inputSchema": {
|
|
15055
|
-
"type": "object",
|
|
15056
|
-
"properties": {
|
|
15057
|
-
"slug": {
|
|
15058
|
-
"type": "string",
|
|
15059
|
-
"description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(list_projects)"
|
|
15060
|
-
},
|
|
15061
|
-
"proposal_id": {
|
|
15062
|
-
"type": "string",
|
|
15063
|
-
"description": "\uC81C\uC548 id(prp_\u2026)"
|
|
15064
|
-
}
|
|
15065
|
-
},
|
|
15066
|
-
"required": [
|
|
15067
|
-
"slug",
|
|
15068
|
-
"proposal_id"
|
|
15069
|
-
],
|
|
15070
|
-
"additionalProperties": false
|
|
15071
|
-
},
|
|
15072
|
-
"outputSchema": {
|
|
15073
|
-
"type": "object",
|
|
15074
|
-
"properties": {
|
|
15075
|
-
"id": {
|
|
15076
|
-
"type": "string"
|
|
15077
|
-
},
|
|
15078
|
-
"project_slug": {
|
|
15079
|
-
"type": "string"
|
|
15080
|
-
},
|
|
15081
|
-
"source": {
|
|
15082
|
-
"type": "string"
|
|
15083
|
-
},
|
|
15084
|
-
"scope_cut_id": {},
|
|
15085
|
-
"request": {},
|
|
15086
|
-
"base_rev": {
|
|
15087
|
-
"type": "integer"
|
|
15088
|
-
},
|
|
15089
|
-
"ops": {},
|
|
15090
|
-
"quote": {},
|
|
15091
|
-
"status": {
|
|
15092
|
-
"type": "string"
|
|
15093
|
-
},
|
|
15094
|
-
"job_id": {
|
|
15095
|
-
"type": "string"
|
|
15096
|
-
},
|
|
15097
|
-
"applied_rev": {},
|
|
15098
|
-
"created_at": {
|
|
15099
|
-
"type": "string"
|
|
15100
|
-
},
|
|
15101
|
-
"resolved_at": {}
|
|
15102
|
-
},
|
|
15103
|
-
"required": [
|
|
15104
|
-
"id",
|
|
15105
|
-
"project_slug",
|
|
15106
|
-
"source",
|
|
15107
|
-
"request",
|
|
15108
|
-
"base_rev",
|
|
15109
|
-
"status",
|
|
15110
|
-
"job_id",
|
|
15111
|
-
"created_at"
|
|
15112
|
-
]
|
|
15113
|
-
},
|
|
15114
|
-
"annotations": {
|
|
15115
|
-
"readOnlyHint": false,
|
|
15116
|
-
"destructiveHint": false,
|
|
15117
|
-
"idempotentHint": false,
|
|
15118
|
-
"openWorldHint": false
|
|
15119
|
-
}
|
|
15120
|
-
},
|
|
15121
14756
|
{
|
|
15122
14757
|
"name": "democut_estimate_hook_scan",
|
|
15123
14758
|
"description": "\uADF8 \uC720\uD29C\uBE0C \uD074\uB9BD \uCEF7\uC758 \uC8FC\uC18C\uC5D0\uC11C \uC20F\uD3FC\uC73C\uB85C \uC4F8 \uAD6C\uAC04\uC744 \uCC3E\uB294 \uACAC\uC801. \uC8FC\uC18C\uB294 \uCEF7 \uCD08\uC548(draft_spec.source.url)\uC5D0\uC11C \uC77D\uB294\uB2E4 \u2014 \uC5C6\uC73C\uBA74 422. \u2605 \uD569\uACC4\uB294 **\uC0C1\uD55C**\uC774\uB2E4 \u2014 \uC601\uC0C1\uC5D0 \uC790\uB9C9\uC774 \uC788\uC73C\uBA74 \uC804\uC0AC \uD589\uC740 \uC815\uC0B0\uC5D0\uC11C \uC804\uC561 \uD658\uBD88\uB41C\uB2E4.",
|
|
@@ -16782,36 +16417,6 @@ var TOOL_META = {
|
|
|
16782
16417
|
"method": "GET",
|
|
16783
16418
|
"path": "/api/projects/{slug}/export.zip"
|
|
16784
16419
|
},
|
|
16785
|
-
"democut_propose": {
|
|
16786
|
-
"cost": "small",
|
|
16787
|
-
"group": "proposal",
|
|
16788
|
-
"method": "POST",
|
|
16789
|
-
"path": "/api/projects/{slug}/proposals"
|
|
16790
|
-
},
|
|
16791
|
-
"democut_list_proposals": {
|
|
16792
|
-
"cost": "none",
|
|
16793
|
-
"group": "proposal",
|
|
16794
|
-
"method": "GET",
|
|
16795
|
-
"path": "/api/projects/{slug}/proposals"
|
|
16796
|
-
},
|
|
16797
|
-
"democut_get_proposal": {
|
|
16798
|
-
"cost": "none",
|
|
16799
|
-
"group": "proposal",
|
|
16800
|
-
"method": "GET",
|
|
16801
|
-
"path": "/api/projects/{slug}/proposals/{proposal_id}"
|
|
16802
|
-
},
|
|
16803
|
-
"democut_apply_proposal": {
|
|
16804
|
-
"cost": "charge",
|
|
16805
|
-
"group": "proposal",
|
|
16806
|
-
"method": "POST",
|
|
16807
|
-
"path": "/api/projects/{slug}/proposals/{proposal_id}/apply"
|
|
16808
|
-
},
|
|
16809
|
-
"democut_dismiss_proposal": {
|
|
16810
|
-
"cost": "none",
|
|
16811
|
-
"group": "proposal",
|
|
16812
|
-
"method": "POST",
|
|
16813
|
-
"path": "/api/projects/{slug}/proposals/{proposal_id}/dismiss"
|
|
16814
|
-
},
|
|
16815
16420
|
"democut_estimate_hook_scan": {
|
|
16816
16421
|
"cost": "quote",
|
|
16817
16422
|
"group": "storyboard",
|
|
@@ -18290,10 +17895,10 @@ function chainLines(board) {
|
|
|
18290
17895
|
const lines = [`\uD65C\uC131 \uC0AC\uC2AC(\uC644\uC131\uBCF8\uC5D0 \uB4E4\uC5B4\uAC10): ${order.join(", ") || "(\uBE44\uC5B4 \uC788\uC74C)"}`];
|
|
18291
17896
|
for (const chain of board.chains ?? []) {
|
|
18292
17897
|
if (!chain.length || chain[0] === board.start_cut_id) continue;
|
|
18293
|
-
lines.push(`\uBE44\uD65C\uC131 \uC0AC\uC2AC(\uC790\uB9AC\uB294 \uADF8\uB300\uB85C, \uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30
|
|
17898
|
+
lines.push(`\uBE44\uD65C\uC131 \uC0AC\uC2AC(\uC790\uB9AC\uB294 \uADF8\uB300\uB85C, \uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30 \uC81C\uC678): ${chain.join(", ")}`);
|
|
18294
17899
|
}
|
|
18295
17900
|
const off = (board.cuts ?? []).filter((c) => c.enabled === false).map((c) => c.id);
|
|
18296
|
-
if (off.length) lines.push(`\uAEBC\uC9C4 \uCEF7(\uC0AC\uC2AC\xB7\uC790\uB9AC\uB294 \uADF8\uB300\uB85C, \uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30\
|
|
17901
|
+
if (off.length) lines.push(`\uAEBC\uC9C4 \uCEF7(\uC0AC\uC2AC\xB7\uC790\uB9AC\uB294 \uADF8\uB300\uB85C, \uC644\uC131\uBCF8\xB7\uB0B4\uBCF4\uB0B4\uAE30\uC5D0\uC11C \uAC74\uB108\uB700): ${off.join(", ")}`);
|
|
18297
17902
|
return lines;
|
|
18298
17903
|
}
|
|
18299
17904
|
function setCutsEnabled(a = {}, deps = {}) {
|
|
@@ -19021,177 +18626,6 @@ function deleteCharacter(a = {}, deps = {}) {
|
|
|
19021
18626
|
};
|
|
19022
18627
|
});
|
|
19023
18628
|
}
|
|
19024
|
-
function needProposalId(a) {
|
|
19025
|
-
if (typeof a.proposal_id !== "string" || !a.proposal_id) {
|
|
19026
|
-
return {
|
|
19027
|
-
isError: true,
|
|
19028
|
-
text: callableToolNames("proposal_id \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4 \u2014 list_proposals \uB85C id \uB97C \uD655\uC778\uD558\uC138\uC694.")
|
|
19029
|
-
};
|
|
19030
|
-
}
|
|
19031
|
-
return a.proposal_id;
|
|
19032
|
-
}
|
|
19033
|
-
function proposalLine(p) {
|
|
19034
|
-
const ops = p.ops ?? [];
|
|
19035
|
-
const kinds = ops.map((o) => {
|
|
19036
|
-
const cut = o.cut_id;
|
|
19037
|
-
return cut ? `${o.op}(${cut})` : o.op;
|
|
19038
|
-
}).join(", ") || "\uBCC0\uACBD \uC5C6\uC74C";
|
|
19039
|
-
const quote = p.quote ? ` \xB7 \uB80C\uB354 \uC2DC ${krw(p.quote.total_krw)} (\uC694\uC728 v${p.quote.rate_version})` : "";
|
|
19040
|
-
const scope = p.scope_cut_id ? ` \xB7 \uB300\uC0C1 \uCEF7 ${p.scope_cut_id}` : "";
|
|
19041
|
-
return `${p.id} [${p.status}] ${p.source}${scope} \xB7 \uAE30\uC900 rev ${p.base_rev} \xB7 ${kinds}${quote}`;
|
|
19042
|
-
}
|
|
19043
|
-
function short(v, limit = 80) {
|
|
19044
|
-
const text = typeof v === "string" ? v : JSON.stringify(v);
|
|
19045
|
-
return text.length <= limit ? text : `${text.slice(0, limit - 1)}\u2026`;
|
|
19046
|
-
}
|
|
19047
|
-
function fieldChangeLines(p) {
|
|
19048
|
-
const out4 = [];
|
|
19049
|
-
for (const o of p.ops ?? []) {
|
|
19050
|
-
if (o.op === "update_cut") {
|
|
19051
|
-
for (const [pointer, ch] of Object.entries(o.fields ?? {})) {
|
|
19052
|
-
out4.push(` ${o.cut_id} ${pointer}: ${short(ch.before)} \u2192 ${short(ch.after)}`);
|
|
19053
|
-
}
|
|
19054
|
-
} else if (o.op === "add_cut") {
|
|
19055
|
-
out4.push(` \uC0C8 \uCEF7(${o.mode}) ${o.after ? `\uB4A4: ${o.after}` : "\uB9E8 \uC55E"}${o.title ? ` \u300C${o.title}\u300D` : ""}`);
|
|
19056
|
-
} else if (o.op === "remove_cut") {
|
|
19057
|
-
out4.push(` ${o.cut_id} \uC0AD\uC81C`);
|
|
19058
|
-
} else if (o.op === "relink") {
|
|
19059
|
-
out4.push(` ${o.cut_id} \uB97C ${o.after ? `\uB4A4\uB85C: ${o.after}` : "\uB9E8 \uC55E\uC73C\uB85C"}`);
|
|
19060
|
-
}
|
|
19061
|
-
}
|
|
19062
|
-
return out4;
|
|
19063
|
-
}
|
|
19064
|
-
function propose(a = {}, deps = {}) {
|
|
19065
|
-
return guarded(SUBMITTING, async () => {
|
|
19066
|
-
const slug = needSlug(a);
|
|
19067
|
-
if (typeof slug !== "string") return slug;
|
|
19068
|
-
if (typeof a.text !== "string" || !a.text.trim()) {
|
|
19069
|
-
return { isError: true, text: "text \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4 \u2014 \uBB34\uC5C7\uC744 \uBC14\uAFB8\uACE0 \uC2F6\uC740\uC9C0 \uD55C\uAD6D\uC5B4\uB85C \uC801\uC73C\uC138\uC694." };
|
|
19070
|
-
}
|
|
19071
|
-
if (typeof a.base_rev !== "number" || !Number.isInteger(a.base_rev) || a.base_rev < 0) {
|
|
19072
|
-
return {
|
|
19073
|
-
isError: true,
|
|
19074
|
-
text: callableToolNames("base_rev \uB294 0 \uC774\uC0C1\uC758 \uC815\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4 \u2014 get_storyboard \uC758 rev \uB97C \uADF8\uB300\uB85C \uB123\uC73C\uC138\uC694.")
|
|
19075
|
-
};
|
|
19076
|
-
}
|
|
19077
|
-
const base = resolveBaseUrl(deps.baseUrl);
|
|
19078
|
-
const view = await apiRequest(
|
|
19079
|
-
base,
|
|
19080
|
-
projectPath(slug, "/proposals"),
|
|
19081
|
-
{
|
|
19082
|
-
method: "POST",
|
|
19083
|
-
body: { text: a.text, attachments: a.attachments ?? [], scope: a.scope ?? null, base_rev: a.base_rev }
|
|
19084
|
-
},
|
|
19085
|
-
deps
|
|
19086
|
-
);
|
|
19087
|
-
const lines = [
|
|
19088
|
-
`\uC81C\uC548\uC744 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 ${view.id} (\uC7A1 ${view.job_id}, \uAE30\uC900 rev ${view.base_rev})`,
|
|
19089
|
-
"\uC5F4\uB824 \uC788\uB358 \uC774\uC804 \uC81C\uC548\uC740 \uB300\uCCB4(superseded)\uB410\uC2B5\uB2C8\uB2E4 \u2014 \uB300\uAE30 \uC81C\uC548\uC740 \uD504\uB85C\uC81D\uD2B8\uB2F9 \uD558\uB098\uC785\uB2C8\uB2E4.",
|
|
19090
|
-
callableToolNames(
|
|
19091
|
-
"\uB2E4\uC74C \uD638\uCD9C: wait_jobs \uB85C \uC7A1\uC774 \uB05D\uB098\uBA74 get_proposal \uB85C \uBCC0\uACBD \uB0B4\uC6A9\uACFC \uB80C\uB354 \uACAC\uC801\uC744 \uBCF4\uACE0, apply_proposal \uB85C \uC801\uC6A9\uD558\uAC70\uB098 dismiss_proposal \uB85C \uBB34\uC2DC\uD569\uB2C8\uB2E4."
|
|
19092
|
-
),
|
|
19093
|
-
callableToolNames("\uADF8 \uC0AC\uC774 \uC2A4\uD1A0\uB9AC\uBCF4\uB4DC\uB97C \uC9C1\uC811 \uACE0\uCE58\uBA74 \uC81C\uC548\uC740 \uBB34\uD6A8(stale)\uAC00 \uB429\uB2C8\uB2E4 \u2014 \uADF8\uB54C\uB294 propose \uB97C \uB2E4\uC2DC \uBD80\uB985\uB2C8\uB2E4.")
|
|
19094
|
-
];
|
|
19095
|
-
return { text: lines.join("\n"), structured: callableStructured(view) };
|
|
19096
|
-
});
|
|
19097
|
-
}
|
|
19098
|
-
function listProposals(a = {}, deps = {}) {
|
|
19099
|
-
return guarded(READ_ONLY, async () => {
|
|
19100
|
-
const slug = needSlug(a);
|
|
19101
|
-
if (typeof slug !== "string") return slug;
|
|
19102
|
-
const base = resolveBaseUrl(deps.baseUrl);
|
|
19103
|
-
const out4 = await apiRequest(base, projectPath(slug, "/proposals"), {}, deps);
|
|
19104
|
-
if (!out4.proposals?.length) {
|
|
19105
|
-
return {
|
|
19106
|
-
text: callableToolNames("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0\uB294 \uC81C\uC548\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. propose \uB85C \uC694\uCCAD\uD569\uB2C8\uB2E4(base_rev \uB294 get_storyboard \uC758 rev)."),
|
|
19107
|
-
structured: callableStructured(out4)
|
|
19108
|
-
};
|
|
19109
|
-
}
|
|
19110
|
-
const lines = [`\uC81C\uC548 ${out4.proposals.length}\uAC1C (\uCD5C\uC2E0\uC21C) \u2014 id [\uC0C1\uD0DC] \uCD9C\uCC98 \xB7 \uAE30\uC900 rev \xB7 \uBCC0\uACBD \xB7 \uB80C\uB354 \uACAC\uC801`];
|
|
19111
|
-
lines.push(...listing(out4.proposals.map((p) => ` ${proposalLine(p)}`)));
|
|
19112
|
-
lines.push(callableToolNames("\uD558\uB098\uB9CC \uC790\uC138\uD788 \uBCF4\uB824\uBA74 get_proposal. pending \uC778 \uAC83\uB9CC apply_proposal \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."));
|
|
19113
|
-
return { text: lines.join("\n"), structured: callableStructured(out4) };
|
|
19114
|
-
});
|
|
19115
|
-
}
|
|
19116
|
-
function getProposal(a = {}, deps = {}) {
|
|
19117
|
-
return guarded(READ_ONLY, async () => {
|
|
19118
|
-
const slug = needSlug(a);
|
|
19119
|
-
if (typeof slug !== "string") return slug;
|
|
19120
|
-
const pid = needProposalId(a);
|
|
19121
|
-
if (typeof pid !== "string") return pid;
|
|
19122
|
-
const base = resolveBaseUrl(deps.baseUrl);
|
|
19123
|
-
const view = await apiRequest(base, projectPath(slug, `/proposals/${encodeURIComponent(pid)}`), {}, deps);
|
|
19124
|
-
const lines = [`\uC81C\uC548 ${proposalLine(view)}`, `\uC694\uCCAD: ${short(view.request?.text ?? "", 200)}`, ...fieldChangeLines(view)];
|
|
19125
|
-
if (view.status === "thinking") {
|
|
19126
|
-
lines.push(callableToolNames(`\uC544\uC9C1 \uB9CC\uB4DC\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 wait_jobs \uC5D0 ${view.job_id} \uB97C \uB123\uC5B4 \uAE30\uB2E4\uB9AC\uC138\uC694.`));
|
|
19127
|
-
} else if (view.status === "pending") {
|
|
19128
|
-
if (view.quote) {
|
|
19129
|
-
lines.push(
|
|
19130
|
-
callableToolNames(
|
|
19131
|
-
`\uC801\uC6A9\uB9CC(plan_only)\uC740 0\uC6D0, \uB80C\uB354\uAE4C\uC9C0(render)\uB294 ${krw(view.quote.total_krw)} \u2014 confirmed_total_krw \uC640 rate_version(${view.quote.rate_version})\uC744 **\uADF8\uB300\uB85C** apply_proposal \uC5D0 \uB123\uC73C\uC138\uC694.`
|
|
19132
|
-
)
|
|
19133
|
-
);
|
|
19134
|
-
}
|
|
19135
|
-
lines.push(
|
|
19136
|
-
callableToolNames(
|
|
19137
|
-
"\uB2E4\uC74C \uD638\uCD9C: apply_proposal \uB610\uB294 dismiss_proposal. \uC2A4\uD1A0\uB9AC\uBCF4\uB4DC\uAC00 \uADF8 \uC0AC\uC774 \uBC14\uB00C\uBA74 409 PROPOSAL_STALE \u2014 \uBCD1\uD569\uD558\uC9C0 \uC54A\uC73C\uB2C8 propose \uB85C \uB2E4\uC2DC \uC694\uCCAD\uD569\uB2C8\uB2E4."
|
|
19138
|
-
)
|
|
19139
|
-
);
|
|
19140
|
-
} else if (view.status === "stale") {
|
|
19141
|
-
lines.push(callableToolNames("\uCE94\uBC84\uC2A4\uAC00 \uBC14\uB00C\uC5B4 \uC81C\uC548\uC774 \uBB34\uD6A8\uC785\uB2C8\uB2E4 \u2014 propose \uB85C \uD604\uC7AC rev \uC5D0 \uB300\uD574 \uB2E4\uC2DC \uC694\uCCAD\uD558\uC138\uC694."));
|
|
19142
|
-
} else if (view.status === "failed") {
|
|
19143
|
-
lines.push(callableToolNames(`\uC81C\uC548\uC744 \uB9CC\uB4E4\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4 \u2014 wait_jobs \uC5D0 ${view.job_id} \uB97C \uB123\uC73C\uBA74 \uC0AC\uC720\uAC00 \uB098\uC635\uB2C8\uB2E4(\uCCAD\uAD6C\uB294 \uD658\uBD88\uB410\uC2B5\uB2C8\uB2E4).`));
|
|
19144
|
-
}
|
|
19145
|
-
return { text: lines.join("\n"), structured: callableStructured(view) };
|
|
19146
|
-
});
|
|
19147
|
-
}
|
|
19148
|
-
function applyProposal(a = {}, deps = {}) {
|
|
19149
|
-
return guarded(SUBMITTING, async () => {
|
|
19150
|
-
const slug = needSlug(a);
|
|
19151
|
-
if (typeof slug !== "string") return slug;
|
|
19152
|
-
const pid = needProposalId(a);
|
|
19153
|
-
if (typeof pid !== "string") return pid;
|
|
19154
|
-
const mode = a.mode ?? "plan_only";
|
|
19155
|
-
const body = { mode };
|
|
19156
|
-
if (mode === "render") {
|
|
19157
|
-
body.confirmed_total_krw = a.confirmed_total_krw;
|
|
19158
|
-
body.rate_version = a.rate_version;
|
|
19159
|
-
}
|
|
19160
|
-
const base = resolveBaseUrl(deps.baseUrl);
|
|
19161
|
-
const board = await apiRequest(
|
|
19162
|
-
base,
|
|
19163
|
-
projectPath(slug, `/proposals/${encodeURIComponent(pid)}/apply`),
|
|
19164
|
-
{ method: "POST", body },
|
|
19165
|
-
deps
|
|
19166
|
-
);
|
|
19167
|
-
const lines = [`\uC81C\uC548 ${pid} \uB97C \uC801\uC6A9\uD588\uC2B5\uB2C8\uB2E4 \u2014 \uC2A4\uD1A0\uB9AC\uBCF4\uB4DC rev ${board.rev} \xB7 \uCEF7 ${board.cuts?.length ?? 0}\uAC1C`];
|
|
19168
|
-
if (board.order?.length) lines.push(`\uC21C\uC11C: ${board.order.join(" \u2192 ")}`);
|
|
19169
|
-
lines.push(
|
|
19170
|
-
mode === "render" ? callableToolNames("\uBC14\uB010 \uCEF7\uC758 \uB80C\uB354 \uC7A1\uC744 \uC81C\uCD9C\uD588\uC2B5\uB2C8\uB2E4 \u2014 wait_jobs \uB85C \uAE30\uB2E4\uB9B0 \uB4A4 get_storyboard \uB85C \uC0C1\uD0DC\uB97C \uBD05\uB2C8\uB2E4.") : callableToolNames("\uACC4\uD68D\uB9CC \uBC18\uC601\uD588\uC2B5\uB2C8\uB2E4(0\uC6D0) \u2014 \uB9CC\uB4E4\uB824\uBA74 estimate_cuts \u2192 make_cuts.")
|
|
19171
|
-
);
|
|
19172
|
-
if (board.next_calls?.length) lines.push(callableToolNames(`\uB2E4\uC74C \uD638\uCD9C: ${board.next_calls.join(", ")}`));
|
|
19173
|
-
return { text: lines.join("\n"), structured: callableStructured(board) };
|
|
19174
|
-
});
|
|
19175
|
-
}
|
|
19176
|
-
function dismissProposal(a = {}, deps = {}) {
|
|
19177
|
-
return guarded(READ_ONLY, async () => {
|
|
19178
|
-
const slug = needSlug(a);
|
|
19179
|
-
if (typeof slug !== "string") return slug;
|
|
19180
|
-
const pid = needProposalId(a);
|
|
19181
|
-
if (typeof pid !== "string") return pid;
|
|
19182
|
-
const base = resolveBaseUrl(deps.baseUrl);
|
|
19183
|
-
const view = await apiRequest(
|
|
19184
|
-
base,
|
|
19185
|
-
projectPath(slug, `/proposals/${encodeURIComponent(pid)}/dismiss`),
|
|
19186
|
-
{ method: "POST", body: {} },
|
|
19187
|
-
deps
|
|
19188
|
-
);
|
|
19189
|
-
return {
|
|
19190
|
-
text: callableToolNames(`\uC81C\uC548 ${view.id} \uB97C \uBB34\uC2DC\uD588\uC2B5\uB2C8\uB2E4(\uC0C1\uD0DC ${view.status}). \uB2E4\uC2DC \uC6D0\uD558\uBA74 propose \uB85C \uC0C8\uB85C \uC694\uCCAD\uD569\uB2C8\uB2E4.`),
|
|
19191
|
-
structured: callableStructured(view)
|
|
19192
|
-
};
|
|
19193
|
-
});
|
|
19194
|
-
}
|
|
19195
18629
|
var cutPath = (slug, cutId, tail) => `/api/projects/${encodeURIComponent(slug)}/cuts/${encodeURIComponent(cutId)}${tail}`;
|
|
19196
18630
|
function needCut(a) {
|
|
19197
18631
|
const cutId = (a.cut_id ?? "").trim();
|
|
@@ -19662,16 +19096,6 @@ function dispatch(name, args, deps = {}) {
|
|
|
19662
19096
|
return download(args, deps);
|
|
19663
19097
|
case "democut_download_project":
|
|
19664
19098
|
return downloadProject(args, deps);
|
|
19665
|
-
case "democut_propose":
|
|
19666
|
-
return propose(args, deps);
|
|
19667
|
-
case "democut_list_proposals":
|
|
19668
|
-
return listProposals(args, deps);
|
|
19669
|
-
case "democut_get_proposal":
|
|
19670
|
-
return getProposal(args, deps);
|
|
19671
|
-
case "democut_apply_proposal":
|
|
19672
|
-
return applyProposal(args, deps);
|
|
19673
|
-
case "democut_dismiss_proposal":
|
|
19674
|
-
return dismissProposal(args, deps);
|
|
19675
19099
|
case "democut_estimate_hook_scan":
|
|
19676
19100
|
return estimateHookScan(args, deps);
|
|
19677
19101
|
case "democut_make_hook_scan":
|
|
@@ -19763,7 +19187,6 @@ var GROUP_LABEL = {
|
|
|
19763
19187
|
core: "\uD575\uC2EC",
|
|
19764
19188
|
storyboard: "\uC2A4\uD1A0\uB9AC\uBCF4\uB4DC",
|
|
19765
19189
|
images: "\uCEF7 \uC774\uBBF8\uC9C0",
|
|
19766
|
-
proposal: "\uC81C\uC548",
|
|
19767
19190
|
export: "\uC644\uC131\uBCF8",
|
|
19768
19191
|
character: "\uC544\uBC14\uD0C0",
|
|
19769
19192
|
brand: "\uBE0C\uB79C\uB4DC",
|