democut 1.0.110 → 1.0.112

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 +11 -6
  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.110";
6919
+ var VERSION = "1.0.112";
6920
6920
 
6921
6921
  // src/device-flow.ts
6922
6922
  var DeviceFlowError = class extends Error {
@@ -7512,7 +7512,7 @@ var GENERATED_TOOLS = [
7512
7512
  },
7513
7513
  {
7514
7514
  "name": "democut_update_project",
7515
- "description": "\uC81C\uBAA9\xB7\uD3F4\uB354\xB7\uAE30\uBCF8\uAC12\uC744 \uBC14\uAFBC\uB2E4. \uBE44\uC728\uC740 \uBABB \uBC14\uAFBC\uB2E4(RATIO_IMMUTABLE). \uC644\uC131\uBCF8 \uC790\uB9C9\uC758 \uBAA8\uC591\uC740 defaults.subtitle_style(\uC704\uCE58\xB7\uAC00\uC7A5\uC790\uB9AC\uC5D0\uC11C\uC758 \uB192\uC774 offset_pct\xB7\uD06C\uAE30(\uB2E8\uACC4 \uB610\uB294 size_pct 60~200)\xB7\uAE00\uAF34 font\xB7\uAD75\uAE30\xB7\uC0C9\xB7\uC678\uACFD\uC120\xB7\uBC30\uACBD \uBC15\uC2A4 \u2014 \uD1B5\uC9F8\uB85C \uAD50\uCCB4\uB77C democut_get_project \uAC00 \uBCF4\uC5EC \uC8FC\uB294 \uC9C0\uAE08 \uAC12\uC5D0\uC11C \uACE0\uCE60 \uCE78\uB9CC \uBC14\uAFD4 \uBCF4\uB0B8\uB2E4, \uD544\uB4DC\xB7\uAC12\uC740 \uC790\uC6D0 democut://guide \u300C\uC644\uC131\uBCF8 \uBAA8\uC591\u300D, null \uC774\uBA74 \uAE30\uBCF8 \uBAA8\uC591), \uBE44\uC728\uC774 \uB2E4\uB978 \uCEF7(\uC138\uB85C \uC644\uC131\uBCF8\uC758 \uAC00\uB85C \uC720\uD29C\uBE0C \uD074\uB9BD \uB4F1)\uC744 \uB9DE\uCD94\uB294 \uBC29\uBC95\uC740 defaults.framing(letterbox \uAC80\uC740 \uB760\xB7blur \uD750\uB9B0 \uBC30\uACBD\xB7crop \uAC00\uC6B4\uB370 \uC790\uB974\uAE30, null \uC774\uBA74 letterbox \u2014 \uC544\uBC14\uD0C0 PIP \uCEF7\uC740 crop \uC774\uC5B4\uB3C4 blur), \uC644\uC131\uBCF8 \uC790\uB9C9\uC758 \uC5B8\uC5B4\uB294 defaults.subtitle_lang(ko\xB7en, null \uC774\uBA74 ko \u2014 \uB2E4\uB978 \uB9D0\uC758 \uC790\uB9C9\uC740 \uC644\uC131\uBCF8\uC5D0\uC11C \uBC88\uC5ED\uD574 \uCCAD\uAD6C\uD55C\uB2E4), \u300CAI \uC0DD\uC131\u300D \uD45C\uC2DC\uB294 defaults.ai_label(true \uBA74 \uB85C\uACE0 \uBAA8\uC11C\uB9AC \uBC14\uAE65\uC5D0 \uC791\uAC8C, \uBB38\uAD6C \uACE0\uC815), \uC138\uB85C \uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C \uCEF7\uC774 \uACE0\uB978 \uB808\uD130\uBC15\uC2A4 \uB760 \uC0C9\uACFC \uD6C4\uD0B9 \uBB38\uAD6C\uC758 \uBAA8\uC591\uC740 defaults.shortform_style(\uD1B5\uC9F8\uB85C \uAD50\uCCB4)\uC774\uACE0 \uB2E4\uC12F \uB2E4 **\uC644\uC131\uBCF8\uB9CC \uB2E4\uC2DC \uB9CC\uB4E4\uBA74** \uBC18\uC601\uB41C\uB2E4(\uCEF7 \uC7AC\uB80C\uB354 \uBD88\uD544\uC694).",
7515
+ "description": "\uC81C\uBAA9\xB7\uD3F4\uB354\xB7\uAE30\uBCF8\uAC12\uC744 \uBC14\uAFBC\uB2E4. \uBE44\uC728\uC740 \uBABB \uBC14\uAFBC\uB2E4(RATIO_IMMUTABLE). \uC644\uC131\uBCF8 \uC790\uB9C9\uC758 \uBAA8\uC591\uC740 defaults.subtitle_style(\uC704\uCE58\xB7\uAC00\uC7A5\uC790\uB9AC\uC5D0\uC11C\uC758 \uB192\uC774 offset_pct\xB7\uD06C\uAE30(\uB2E8\uACC4 \uB610\uB294 size_pct 60~200)\xB7\uAE00\uAF34 font\xB7\uAD75\uAE30\xB7\uC0C9\xB7\uC678\uACFD\uC120\xB7\uBC30\uACBD \uBC15\uC2A4 \u2014 \uD1B5\uC9F8\uB85C \uAD50\uCCB4\uB77C democut_get_project \uAC00 \uBCF4\uC5EC \uC8FC\uB294 \uC9C0\uAE08 \uAC12\uC5D0\uC11C \uACE0\uCE60 \uCE78\uB9CC \uBC14\uAFD4 \uBCF4\uB0B8\uB2E4, \uD544\uB4DC\xB7\uAC12\uC740 \uC790\uC6D0 democut://guide \u300C\uC644\uC131\uBCF8 \uBAA8\uC591\u300D, null \uC774\uBA74 \uAE30\uBCF8 \uBAA8\uC591), \uBE44\uC728\uC774 \uB2E4\uB978 \uCEF7(\uC138\uB85C \uC644\uC131\uBCF8\uC758 \uAC00\uB85C \uC720\uD29C\uBE0C \uD074\uB9BD \uB4F1)\uC744 \uB9DE\uCD94\uB294 \uBC29\uBC95\uC740 defaults.framing(letterbox \uAC80\uC740 \uB760\xB7blur \uD750\uB9B0 \uBC30\uACBD\xB7crop \uAC00\uC6B4\uB370 \uC790\uB974\uAE30, null \uC774\uBA74 letterbox \u2014 \uC544\uBC14\uD0C0 PIP \uCEF7\uC740 crop \uC774\uC5B4\uB3C4 blur), \uC644\uC131\uBCF8 \uC790\uB9C9\uC758 \uC5B8\uC5B4\uB294 defaults.subtitle_lang(ko\xB7en, null \uC774\uBA74 ko \u2014 \uB2E4\uB978 \uB9D0\uC758 \uC790\uB9C9\uC740 \uC644\uC131\uBCF8\uC5D0\uC11C \uBC88\uC5ED\uD574 \uCCAD\uAD6C\uD55C\uB2E4), \u300CAI \uC0DD\uC131\u300D \uD45C\uC2DC\uB294 defaults.ai_label(true \uBA74 \uB85C\uACE0 \uBAA8\uC11C\uB9AC \uBC14\uAE65\uC5D0 \uC791\uAC8C, \uBB38\uAD6C \uACE0\uC815), \uC138\uB85C \uD504\uB85C\uC81D\uD2B8\uC758 \uB808\uD130\uBC15\uC2A4(\uBAA8\uB4E0 \uCEF7\uC5D0 1:1\xB716:9 \uCC3D \u2014 \uC544\uBC14\uD0C0 PIP \uCEF7\uC774 \uC788\uC73C\uBA74 \uBABB \uCF20\uB2E4)\uC640 \uD6C4\uD0B9 \uBB38\uAD6C\uC758 \uBAA8\uC591\xB7\uC790\uB9AC\uB294 defaults.shortform_style(\uD1B5\uC9F8\uB85C \uAD50\uCCB4)\uC774\uACE0 \uB2E4\uC12F \uB2E4 **\uC644\uC131\uBCF8\uB9CC \uB2E4\uC2DC \uB9CC\uB4E4\uBA74** \uBC18\uC601\uB41C\uB2E4(\uCEF7 \uC7AC\uB80C\uB354 \uBD88\uD544\uC694).",
7516
7516
  "inputSchema": {
7517
7517
  "type": "object",
7518
7518
  "properties": {
@@ -9372,6 +9372,7 @@ var GENERATED_TOOLS = [
9372
9372
  "type": "boolean"
9373
9373
  },
9374
9374
  "last_error": {},
9375
+ "last_error_at": {},
9375
9376
  "subscriber_count": {},
9376
9377
  "subscriber_count_hidden": {
9377
9378
  "type": "boolean"
@@ -10698,7 +10699,7 @@ var GENERATED_TOOLS = [
10698
10699
  },
10699
10700
  {
10700
10701
  "name": "democut_put_cut_draft",
10701
- "description": "\uACC4\uD68D(draft_spec)\uC744 \uC804\uCCB4 \uAD50\uCCB4\uD55C\uB2E4(0\uC6D0, If-Match rev). \uB80C\uB354\uD558\uC9C0 \uC54A\uB294\uB2E4. \uD55C \uCE78\uB9CC \uBC14\uAFB8\uB824\uBA74 democut_get_cut \uC774 \uC0B0\uBB38\uC5D0 \uC2E3\uB294 \uCD08\uC548 \uC804\uCCB4\uB97C \uBC1B\uC544 \uADF8 \uCE78\uB9CC \uACE0\uCCD0 \uD1B5\uC9F8\uB85C \uBCF4\uB0B8\uB2E4 \u2014 \uC77D\uC9C0 \uC54A\uACE0 \uC4F0\uBA74 \uB300\uC0AC\xB7\uCCAB \uC7A5\uBA74 \uAC19\uC740 \uB2E4\uB978 \uCE78\uC774 \uC0AC\uB77C\uC9C4\uB2E4. \uCC38\uACE0 \uC774\uBBF8\uC9C0(reference_asset_ids)\xB7\uCC38\uACE0 \uC778\uBB3C(reference_avatar_id)\uC744 \uB354\uD558\uB294 \uAE38\uB3C4 \uC774\uAC83\uBFD0\uC774\uB2E4. \uC138\uB85C \uD504\uB85C\uC81D\uD2B8\uC758 \uC20F\uD3FC \uD2C0(letterbox 1:1\xB716:9, hook_text \uB450 \uC904 \u2014 0\uC6D0, \uB2E4\uC2DC \uB9CC\uB4E4\uC9C0 \uC54A\uB294\uB2E4, \uC544\uBC14\uD0C0 PIP \uC640 letterbox \uB294 \uD568\uAED8 \uBABB \uC4F4\uB2E4)\uB3C4 \uC774 \uCD08\uC548\uC758 \uCE78\uC774\uB2E4(democut://guide).",
10702
+ "description": "\uACC4\uD68D(draft_spec)\uC744 \uC804\uCCB4 \uAD50\uCCB4\uD55C\uB2E4(0\uC6D0, If-Match rev). \uB80C\uB354\uD558\uC9C0 \uC54A\uB294\uB2E4. \uD55C \uCE78\uB9CC \uBC14\uAFB8\uB824\uBA74 democut_get_cut \uC774 \uC0B0\uBB38\uC5D0 \uC2E3\uB294 \uCD08\uC548 \uC804\uCCB4\uB97C \uBC1B\uC544 \uADF8 \uCE78\uB9CC \uACE0\uCCD0 \uD1B5\uC9F8\uB85C \uBCF4\uB0B8\uB2E4 \u2014 \uC77D\uC9C0 \uC54A\uACE0 \uC4F0\uBA74 \uB300\uC0AC\xB7\uCCAB \uC7A5\uBA74 \uAC19\uC740 \uB2E4\uB978 \uCE78\uC774 \uC0AC\uB77C\uC9C4\uB2E4. \uCC38\uACE0 \uC774\uBBF8\uC9C0(reference_asset_ids)\xB7\uCC38\uACE0 \uC778\uBB3C(reference_avatar_id)\uC744 \uB354\uD558\uB294 \uAE38\uB3C4 \uC774\uAC83\uBFD0\uC774\uB2E4. \uC138\uB85C \uD504\uB85C\uC81D\uD2B8\uC758 \uD6C4\uD0B9 \uBB38\uAD6C(hook_text \uB450 \uC904 \u2014 0\uC6D0, \uB2E4\uC2DC \uB9CC\uB4E4\uC9C0 \uC54A\uB294\uB2E4)\uB3C4 \uC774 \uCD08\uC548\uC758 \uCE78\uC774\uB2E4(\uB808\uD130\uBC15\uC2A4\uB294 \uD504\uB85C\uC81D\uD2B8 shortform_style.letterbox \uD558\uB098, democut://guide).",
10702
10703
  "inputSchema": {
10703
10704
  "type": "object",
10704
10705
  "properties": {
@@ -14322,13 +14323,15 @@ function channelStats2(a = {}, deps = {}) {
14322
14323
  const out4 = await channelStats(base, ws, r, deps);
14323
14324
  if (!out4.connected) {
14324
14325
  return {
14325
- text: "\uC774 \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC5D0 \uC5F0\uACB0\uB41C \uC720\uD29C\uBE0C \uCC44\uB110\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uC124\uC815 > \uCC44\uB110 \uC5F0\uACB0\uC5D0\uC11C \uC0AC\uB78C\uC774 \uBA3C\uC800 \uC5F0\uACB0\uD574\uC57C \uC131\uACFC\uB97C \uC77D\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4(\uC5F0\uACB0\uC740 \uBE0C\uB77C\uC6B0\uC800 \uB3D9\uC758\uAC00 \uD544\uC694\uD574 \uB3C4\uAD6C\uB85C \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4).",
14326
+ text: "\uC774 \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC5D0 \uC5F0\uACB0\uB41C \uC720\uD29C\uBE0C \uCC44\uB110\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uC6F9\uC758 \u300C\uCC44\uB110 \uAD00\uB9AC\u300D \uD654\uBA74\uC5D0\uC11C \uC0AC\uB78C\uC774 \uBA3C\uC800 \uC5F0\uACB0\uD574\uC57C \uC131\uACFC\uB97C \uC77D\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4(\uC5F0\uACB0\uC740 \uBE0C\uB77C\uC6B0\uC800 \uB3D9\uC758\uAC00 \uD544\uC694\uD574 \uB3C4\uAD6C\uB85C \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4).",
14326
14327
  structured: callableStructured(out4)
14327
14328
  };
14328
14329
  }
14329
14330
  if (out4.collected_at == null) {
14330
14331
  return {
14331
- text: "\uCC44\uB110\uC740 \uC5F0\uACB0\uB3FC \uC788\uC9C0\uB9CC \uC544\uC9C1 \uD55C \uBC88\uB3C4 \uC218\uC9D1\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4" + (out4.last_error ? ` (\uB9C8\uC9C0\uB9C9 \uC2DC\uB3C4 \uC2E4\uD328: ${out4.last_error})` : " (\uCCAB \uC218\uC9D1\uC744 \uAE30\uB2E4\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4)") + ". \uC218\uC9D1\uC740 6\uC2DC\uAC04\uB9C8\uB2E4 \uB3D5\uB2C8\uB2E4.",
14332
+ text: "\uCC44\uB110\uC740 \uC5F0\uACB0\uB3FC \uC788\uC9C0\uB9CC \uC544\uC9C1 \uD55C \uBC88\uB3C4 \uC218\uC9D1\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4" + // ★ 시각을 함께 말한다 — 없으면 원인을 고친 뒤에도 같은 문장이 보여 「다시 시도했는가」 를
14333
+ // 가릴 수 없다(077). 성공한 적이 없으면 collected_at 이 없어 이 값이 유일한 시간 표시다.
14334
+ (out4.last_error ? ` (\uB9C8\uC9C0\uB9C9 \uC2DC\uB3C4(${out4.last_error_at ?? "\uC2DC\uAC01 \uBBF8\uC0C1"}) \uC2E4\uD328: ${out4.last_error})` : " (\uCCAB \uC218\uC9D1\uC744 \uAE30\uB2E4\uB9AC\uB294 \uC911\uC785\uB2C8\uB2E4)") + ". \uC218\uC9D1\uC740 6\uC2DC\uAC04\uB9C8\uB2E4 \uB3D5\uB2C8\uB2E4.",
14332
14335
  structured: callableStructured(out4)
14333
14336
  };
14334
14337
  }
@@ -14339,7 +14342,9 @@ function channelStats2(a = {}, deps = {}) {
14339
14342
  `\uAE30\uC900 \uC2DC\uAC01 ${out4.collected_at}` + (out4.stale ? " \u2605 \uAC31\uC2E0\uC774 \uB2A6\uACE0 \uC788\uC2B5\uB2C8\uB2E4" : "")
14340
14343
  ];
14341
14344
  if (out4.last_error) {
14342
- lines.push(`\u2605 \uB9C8\uC9C0\uB9C9 \uC218\uC9D1 \uC2E4\uD328: ${out4.last_error} \u2014 \uCC44\uB110\uC744 \uB2E4\uC2DC \uC5F0\uACB0\uD574\uC57C \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`);
14345
+ lines.push(
14346
+ `\u2605 \uB9C8\uC9C0\uB9C9 \uC2DC\uB3C4(${out4.last_error_at ?? "\uC2DC\uAC01 \uBBF8\uC0C1"}) \uC2E4\uD328: ${out4.last_error} \u2014 \uCC44\uB110\uC744 \uB2E4\uC2DC \uC5F0\uACB0\uD574\uC57C \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.`
14347
+ );
14343
14348
  }
14344
14349
  const videos = out4.videos ?? [];
14345
14350
  if (videos.length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "democut",
3
- "version": "1.0.110",
3
+ "version": "1.0.112",
4
4
  "description": "DemoCut 에이전트 CLI — device flow 로그인(RFC 8628) + 영상 생성",
5
5
  "license": "MIT",
6
6
  "author": "InfoGrab",