democut 1.0.72 → 1.0.74

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.
Files changed (2) hide show
  1. package/dist/cli.js +85 -7
  2. 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.72";
6919
+ var VERSION = "1.0.74";
6920
6920
 
6921
6921
  // src/device-flow.ts
6922
6922
  var DeviceFlowError = class extends Error {
@@ -9742,7 +9742,7 @@ var GENERATED_TOOLS = [
9742
9742
  },
9743
9743
  {
9744
9744
  "name": "democut_get_brand_kit",
9745
- "description": "\uC774 \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC758 \uBE0C\uB79C\uB4DC\uD0B7(\uBE0C\uB79C\uB4DC \uC774\uB984\xB7\uB300\uD45C\uC0C9\xB7\uBCF4\uC870\uC0C9\xB7\uD1A4\xB7\uD5E4\uB529/\uBCF8\uBB38 \uD3F0\uD2B8\xB7\uB85C\uACE0)\uACFC \uACE0\uB97C \uC218 \uC788\uB294 \uD3F0\uD2B8(font_options \u2014 `is_default` \uAC00 \uD3F0\uD2B8\uB97C \uBE44\uC6E0\uC744 \uB54C \uC4F0\uC774\uB294 \uAC83). \uBD80\uC791\uC6A9\uB3C4 \uACFC\uAE08\uB3C4 \uC5C6\uB2E4. \uC800\uC7A5\uD55C \uC801\uC774 \uC5C6\uC73C\uBA74 \uBE48 \uBE0C\uB79C\uB4DC\uD0B7\uACFC rev 0 \uC774\uB2E4.",
9745
+ "description": "\uC774 \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC758 \uBE0C\uB79C\uB4DC\uD0B7(\uBE0C\uB79C\uB4DC \uC774\uB984\xB7\uB300\uD45C\uC0C9\xB7\uBCF4\uC870\uC0C9\xB7\uBC30\uACBD\uC0C9\xB7\uD5E4\uB529/\uBCF8\uBB38 \uD3F0\uD2B8\xB7\uB85C\uACE0\xB7\uD654\uBA74 \uC2DC\uC5F0 \uBC30\uACBD/\uCEE4\uC11C/\uD0C0\uC774\uD2C0\uBC14)\uACFC \uACE0\uB97C \uC218 \uC788\uB294 \uD3F0\uD2B8(font_options \u2014 `is_default` \uAC00 \uD3F0\uD2B8\uB97C \uBE44\uC6E0\uC744 \uB54C \uC4F0\uC774\uB294 \uAC83). \uBD80\uC791\uC6A9\uB3C4 \uACFC\uAE08\uB3C4 \uC5C6\uB2E4. \uC800\uC7A5\uD55C \uC801\uC774 \uC5C6\uC73C\uBA74 \uBE48 \uBE0C\uB79C\uB4DC\uD0B7\uACFC rev 0 \uC774\uB2E4.",
9746
9746
  "inputSchema": {
9747
9747
  "type": "object",
9748
9748
  "properties": {},
@@ -9773,7 +9773,7 @@ var GENERATED_TOOLS = [
9773
9773
  },
9774
9774
  {
9775
9775
  "name": "democut_put_brand_kit",
9776
- "description": "\uBE0C\uB79C\uB4DC\uD0B7\uC744 \uC804\uCCB4 \uAD50\uCCB4\uD55C\uB2E4(0\uC6D0, If-Match rev). democut_get_brand_kit \uC758 rev \uB97C \uADF8\uB300\uB85C \uB123\uC5B4\uB77C \u2014 \uADF8 \uC0AC\uC774 \uB204\uAC00 \uBC14\uAFE8\uC73C\uBA74 409 \uC774\uACE0 \uBCD1\uD569\uD558\uC9C0 \uC54A\uB294\uB2E4. \uC548 \uC900 \uD544\uB4DC\uB294 \uBE44\uC6CC\uC9C0\uBBC0\uB85C \uBC14\uAFB8\uC9C0 \uC54A\uC744 \uAC12\uB3C4 democut_get_brand_kit \uC758 brand \uC5D0\uC11C \uC62E\uACA8 \uB123\uC5B4\uB77C. \uD3F0\uD2B8\uB294 font_options[].id(\uBE44\uC6B0\uBA74 is_default \uD3F0\uD2B8\uB85C \uB098\uC628\uB2E4), \uB85C\uACE0\uB294 democut_upload_asset \uC73C\uB85C \uC62C\uB9B0 ready \uC774\uBBF8\uC9C0\uC758 asset_id.",
9776
+ "description": "\uBE0C\uB79C\uB4DC\uD0B7\uC744 \uC804\uCCB4 \uAD50\uCCB4\uD55C\uB2E4(0\uC6D0, If-Match rev). democut_get_brand_kit \uC758 rev \uB97C \uADF8\uB300\uB85C \uB123\uC5B4\uB77C \u2014 \uADF8 \uC0AC\uC774 \uB204\uAC00 \uBC14\uAFE8\uC73C\uBA74 409 \uC774\uACE0 \uBCD1\uD569\uD558\uC9C0 \uC54A\uB294\uB2E4. \uC548 \uC900 \uD544\uB4DC\uB294 \uBE44\uC6CC\uC9C0\uBBC0\uB85C \uBC14\uAFB8\uC9C0 \uC54A\uC744 \uAC12\uB3C4 democut_get_brand_kit \uC758 brand \uC5D0\uC11C \uC62E\uACA8 \uB123\uC5B4\uB77C. \uD3F0\uD2B8\uB294 font_options[].id(\uBE44\uC6B0\uBA74 is_default \uD3F0\uD2B8\uB85C \uB098\uC628\uB2E4), \uB85C\uACE0\uB294 democut_upload_asset \uC73C\uB85C \uC62C\uB9B0 ready \uC774\uBBF8\uC9C0\uC758 asset_id. background_hex \uB294 \uBAA8\uC158\uADF8\uB798\uD53D \uBC30\uACBD\uC0C9\uC774\uB2E4(\uBE44\uC6B0\uBA74 \uC5B4\uB450\uC6C0 #09090B, \uBC1D\uC74C\uC740 #F4F4F5, \uADF8 \uBC16\uC758 \uC0C9\uB3C4 \uB41C\uB2E4) \u2014 \uAE00\uC790\xB7\uCE74\uB4DC \uC0C9\uC740 \uC11C\uBC84\uAC00 \uBC30\uACBD \uBC1D\uAE30\uB85C \uC815\uD55C\uB2E4. tone \uC740 \uD3D0\uAE30 \uC608\uC815\uC774\uB2E4(\uC4F0\uC9C0 \uB9C8\uB77C). screen_background\xB7screen_cursor\xB7screen_titlebar \uB294 \uD654\uBA74 \uC2DC\uC5F0(layout_pattern=screen_demo) \uCEF7\uC758 \uBC30\uACBD\xB7\uCEE4\uC11C \uD504\uB9AC\uC14B\uACFC \uCC3D \uD0C0\uC774\uD2C0\uBC14(\uD2B8\uB798\uD53D \uB77C\uC774\uD2B8) \uCF2C\xB7\uB054\uC774\uB2E4(\uBE44\uC6B0\uBA74 image_2\xB7arrow_black\xB7\uCF2C, \uB2E4\uC74C\uC5D0 \uB9CC\uB4DC\uB294 \uCEF7\uBD80\uD130).",
9777
9777
  "inputSchema": {
9778
9778
  "type": "object",
9779
9779
  "properties": {
@@ -9813,6 +9813,19 @@ var GENERATED_TOOLS = [
9813
9813
  ],
9814
9814
  "default": null
9815
9815
  },
9816
+ "background_hex": {
9817
+ "anyOf": [
9818
+ {
9819
+ "pattern": "^#[0-9A-Fa-f]{6}$",
9820
+ "type": "string"
9821
+ },
9822
+ {
9823
+ "type": "null"
9824
+ }
9825
+ ],
9826
+ "default": null,
9827
+ "description": "\uBAA8\uC158\uADF8\uB798\uD53D \uBC30\uACBD\uC0C9(\uBE44\uC6B0\uBA74 \uC5B4\uB450\uC6C0 #09090B \xB7 \uBC1D\uC74C\uC740 #F4F4F5) \u2014 \uAE00\uC790\xB7\uCE74\uB4DC \uC0C9\uC740 \uC11C\uBC84\uAC00 \uBC30\uACBD \uBC1D\uAE30\uB85C \uC815\uD55C\uB2E4"
9828
+ },
9816
9829
  "tone": {
9817
9830
  "anyOf": [
9818
9831
  {
@@ -9826,7 +9839,8 @@ var GENERATED_TOOLS = [
9826
9839
  "type": "null"
9827
9840
  }
9828
9841
  ],
9829
- "default": null
9842
+ "default": null,
9843
+ "description": "\uD3D0\uAE30 \uC608\uC815 \u2014 background_hex \uB97C \uC4F4\uB2E4"
9830
9844
  },
9831
9845
  "heading_font": {
9832
9846
  "anyOf": [
@@ -9861,6 +9875,59 @@ var GENERATED_TOOLS = [
9861
9875
  ],
9862
9876
  "default": null
9863
9877
  },
9878
+ "screen_background": {
9879
+ "anyOf": [
9880
+ {
9881
+ "enum": [
9882
+ "black",
9883
+ "white",
9884
+ "gradient_1",
9885
+ "gradient_2",
9886
+ "gradient_3",
9887
+ "image_1",
9888
+ "image_2",
9889
+ "image_3"
9890
+ ],
9891
+ "type": "string"
9892
+ },
9893
+ {
9894
+ "type": "null"
9895
+ }
9896
+ ],
9897
+ "default": null,
9898
+ "description": "\uD654\uBA74 \uC2DC\uC5F0 \uBC30\uACBD: black | white | gradient_1~3(CSS) | image_1~3(\uADF8\uB9BC) (\uBE44\uC6B0\uBA74 image_2)"
9899
+ },
9900
+ "screen_cursor": {
9901
+ "anyOf": [
9902
+ {
9903
+ "enum": [
9904
+ "arrow_black",
9905
+ "arrow_white",
9906
+ "hand",
9907
+ "arrowhead",
9908
+ "pixel"
9909
+ ],
9910
+ "type": "string"
9911
+ },
9912
+ {
9913
+ "type": "null"
9914
+ }
9915
+ ],
9916
+ "default": null,
9917
+ "description": "\uD654\uBA74 \uC2DC\uC5F0 \uCEE4\uC11C: arrow_black | arrow_white | hand | arrowhead | pixel (\uBE44\uC6B0\uBA74 arrow_black)"
9918
+ },
9919
+ "screen_titlebar": {
9920
+ "anyOf": [
9921
+ {
9922
+ "type": "boolean"
9923
+ },
9924
+ {
9925
+ "type": "null"
9926
+ }
9927
+ ],
9928
+ "default": null,
9929
+ "description": "\uD654\uBA74 \uC2DC\uC5F0 \uCC3D \uC704 \uD0C0\uC774\uD2C0\uBC14(\uD2B8\uB798\uD53D \uB77C\uC774\uD2B8) \uD45C\uC2DC \u2014 \uBE44\uC6B0\uBA74 true"
9930
+ },
9864
9931
  "rev": {
9865
9932
  "type": "integer",
9866
9933
  "minimum": 0,
@@ -14730,10 +14797,13 @@ function brandKitLine(v) {
14730
14797
  ["\uC774\uB984", b.name],
14731
14798
  ["\uB300\uD45C\uC0C9", b.accent_hex],
14732
14799
  ["\uBCF4\uC870\uC0C9", b.secondary_hex],
14733
- ["\uD1A4", b.tone],
14800
+ ["\uBC30\uACBD\uC0C9", b.background_hex],
14734
14801
  ["\uD5E4\uB529", b.heading_font],
14735
14802
  ["\uBCF8\uBB38", b.body_font],
14736
- ["\uB85C\uACE0", b.logo_asset_id]
14803
+ ["\uB85C\uACE0", b.logo_asset_id],
14804
+ ["\uD654\uBA74 \uC2DC\uC5F0 \uBC30\uACBD", b.screen_background],
14805
+ ["\uD654\uBA74 \uC2DC\uC5F0 \uCEE4\uC11C", b.screen_cursor],
14806
+ ["\uD654\uBA74 \uC2DC\uC5F0 \uD0C0\uC774\uD2C0\uBC14", b.screen_titlebar === false ? "\uB054" : null]
14737
14807
  ];
14738
14808
  const parts = [`rev ${v.rev}`];
14739
14809
  for (const [label, value] of pairs) if (value) parts.push(`${label} ${value}`);
@@ -14769,7 +14839,15 @@ function putBrandKit(a = {}, deps = {}) {
14769
14839
  tone: a.tone ?? null,
14770
14840
  heading_font: a.heading_font ?? null,
14771
14841
  body_font: a.body_font ?? null,
14772
- logo_asset_id: a.logo_asset_id ?? null
14842
+ logo_asset_id: a.logo_asset_id ?? null,
14843
+ // ★ 화면 시연 두 칸은 **값이 있을 때만** 싣는다 — CLI 가 API 보다 먼저 게시되므로, 늘 null 을 실으면 배포 겹침
14844
+ // 동안 옛 서버가 모르는 키로 요청 전체를 422(extra_forbidden)로 거부한다. 서버는 빠진 키를 null(비움)로 읽어 뜻이 같다.
14845
+ ...a.screen_background ? { screen_background: a.screen_background } : {},
14846
+ ...a.screen_cursor ? { screen_cursor: a.screen_cursor } : {},
14847
+ // ★ false(끔)는 보낸다 — 빠지면 서버가 비움(= 켬)으로 읽는다.
14848
+ ...typeof a.screen_titlebar === "boolean" ? { screen_titlebar: a.screen_titlebar } : {},
14849
+ // ★ 배경색도 값이 있을 때만 — 먼저 게시된 CLI 가 옛 서버에 422 를 받지 않게(빠진 키 = 비움 = 기본 어두움).
14850
+ ...a.background_hex ? { background_hex: a.background_hex } : {}
14773
14851
  };
14774
14852
  const base = resolveBaseUrl(deps.baseUrl);
14775
14853
  const out4 = await apiRequest(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "democut",
3
- "version": "1.0.72",
3
+ "version": "1.0.74",
4
4
  "description": "DemoCut 에이전트 CLI — device flow 로그인(RFC 8628) + 영상 생성",
5
5
  "license": "MIT",
6
6
  "author": "InfoGrab",