democut 1.0.113 → 1.0.114

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 +110 -2
  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.113";
6919
+ var VERSION = "1.0.114";
6920
6920
 
6921
6921
  // src/device-flow.ts
6922
6922
  var DeviceFlowError = class extends Error {
@@ -7827,7 +7827,7 @@ var GENERATED_TOOLS = [
7827
7827
  },
7828
7828
  {
7829
7829
  "name": "democut_upload_asset",
7830
- "description": "\uC774\uBBF8\uC9C0\xB7\uB098\uB808\uC774\uC158 wav\xB7\uC6D0\uBCF8 \uC601\uC0C1\xB7tsx\xB7\uC644\uC131 \uCEF7 \uC601\uC0C1\uC744 \uC790\uC0B0\uC73C\uB85C \uC62C\uB9B0\uB2E4(0\uC6D0). \uC751\uB2F5\uC758 state \uAC00 ready \uC5EC\uC57C spec \uC5D0 \uC4F8 \uC218 \uC788\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_estimate_cuts, democut_import_cut.",
7830
+ "description": "\uC774\uBBF8\uC9C0\xB7\uB098\uB808\uC774\uC158 wav\xB7\uC6D0\uBCF8 \uC601\uC0C1\xB7tsx\xB7\uC644\uC131 \uCEF7 \uC601\uC0C1\uC744 \uC790\uC0B0\uC73C\uB85C \uC62C\uB9B0\uB2E4(0\uC6D0). \uC751\uB2F5\uC758 state \uAC00 ready \uC5EC\uC57C spec \uC5D0 \uC4F8 \uC218 \uC788\uB2E4. \uC6D0\uACA9 \uC5F0\uACB0\uC5D0\uC11C \uACF5\uAC1C https \uC8FC\uC18C \uC5C6\uC774 \uB85C\uCEEC \uD30C\uC77C\uB9CC \uC788\uC73C\uBA74 democut_create_upload_url \uB85C \uC5C5\uB85C\uB4DC \uC8FC\uC18C\uB97C \uBC1B\uC544 \uC178\uC5D0\uC11C \uC9C1\uC811 \uC62C\uB824\uB77C. \uB2E4\uC74C \uD638\uCD9C: democut_estimate_cuts, democut_import_cut.",
7831
7831
  "inputSchema": {
7832
7832
  "type": "object",
7833
7833
  "properties": {
@@ -8562,6 +8562,82 @@ var GENERATED_TOOLS = [
8562
8562
  "openWorldHint": false
8563
8563
  }
8564
8564
  },
8565
+ {
8566
+ "name": "democut_create_upload_url",
8567
+ "description": '\uB85C\uCEEC \uD30C\uC77C\uB9CC \uC788\uACE0 \uACF5\uAC1C https \uC8FC\uC18C\uAC00 \uC5C6\uC744 \uB54C(\uC6D0\uACA9 \uC5F0\uACB0) \uC5C5\uB85C\uB4DC \uC8FC\uC18C\uB97C \uBC1B\uB294\uB2E4(0\uC6D0). \uC751\uB2F5\uC758 upload_url \uB85C **15\uBD84 \uC548\uC5D0** \uC178\uC5D0\uC11C `curl -sS -T <\uD30C\uC77C> "<upload_url>"` \uCC98\uB7FC \uBCF8\uBB38\uC744 PUT \uD558\uBA74 \uADF8 \uC751\uB2F5(\uB610\uB294 democut_get_asset)\uC758 state \uAC00 ready \uAC00 \uB418\uACE0 \uADF8 asset_id \uB97C spec \uC5D0 \uC4F8 \uC218 \uC788\uB2E4. \uC8FC\uC18C\uB294 \uD55C \uBC88\uB9CC \uC4F8 \uC218 \uC788\uACE0(\uB2E4\uC2DC \uC62C\uB9AC\uB824\uBA74 \uC0C8\uB85C \uBC1B\uB294\uB2E4) \uBCF8\uBB38\uC740 \uC751\uB2F5\uC758 max_bytes \uAE4C\uC9C0\uB2E4. \uC178\uC774 \uC5C6\uC73C\uBA74 democut_upload_asset \uC758 source_url \uC744 \uC4F4\uB2E4. \uB2E4\uC74C \uD638\uCD9C: democut_get_asset.',
8568
+ "inputSchema": {
8569
+ "type": "object",
8570
+ "properties": {
8571
+ "kind": {
8572
+ "enum": [
8573
+ "image",
8574
+ "video",
8575
+ "audio",
8576
+ "subtitle",
8577
+ "code",
8578
+ "archive"
8579
+ ],
8580
+ "type": "string"
8581
+ },
8582
+ "project_slug": {
8583
+ "anyOf": [
8584
+ {
8585
+ "type": "string"
8586
+ },
8587
+ {
8588
+ "type": "null"
8589
+ }
8590
+ ],
8591
+ "default": null
8592
+ },
8593
+ "filename": {
8594
+ "anyOf": [
8595
+ {
8596
+ "type": "string"
8597
+ },
8598
+ {
8599
+ "type": "null"
8600
+ }
8601
+ ],
8602
+ "default": null
8603
+ }
8604
+ },
8605
+ "required": [
8606
+ "kind"
8607
+ ],
8608
+ "additionalProperties": false
8609
+ },
8610
+ "outputSchema": {
8611
+ "type": "object",
8612
+ "properties": {
8613
+ "asset": {},
8614
+ "upload_url": {
8615
+ "type": "string"
8616
+ },
8617
+ "method": {
8618
+ "type": "string"
8619
+ },
8620
+ "expires_at": {
8621
+ "type": "string"
8622
+ },
8623
+ "max_bytes": {
8624
+ "type": "integer"
8625
+ }
8626
+ },
8627
+ "required": [
8628
+ "asset",
8629
+ "upload_url",
8630
+ "expires_at",
8631
+ "max_bytes"
8632
+ ]
8633
+ },
8634
+ "annotations": {
8635
+ "readOnlyHint": false,
8636
+ "destructiveHint": false,
8637
+ "idempotentHint": false,
8638
+ "openWorldHint": false
8639
+ }
8640
+ },
8565
8641
  {
8566
8642
  "name": "democut_set_cut_image",
8567
8643
  "description": "\uC62C\uB9B0 \uC774\uBBF8\uC9C0 \uC790\uC0B0\uC744 \uCEF7 \uC774\uBBF8\uC9C0 \uD6C4\uBCF4\uB85C \uBD99\uC778\uB2E4(0\uC6D0). AI \uC601\uC0C1 \uCEF7\uC758 \uCCAB \uC7A5\uC774\uBA74 \uADF8 \uADF8\uB9BC\uC774 \uCCAB \uC7A5\uBA74\uC73C\uB85C \uCD08\uC548(draft_spec.image_asset_id)\uC5D0 \uC801\uD78C\uB2E4.",
@@ -13332,6 +13408,12 @@ var TOOL_META = {
13332
13408
  "method": "GET",
13333
13409
  "path": "/api/assets/{asset_id}"
13334
13410
  },
13411
+ "democut_create_upload_url": {
13412
+ "cost": "none",
13413
+ "group": "core",
13414
+ "method": "POST",
13415
+ "path": "/api/assets/upload-url"
13416
+ },
13335
13417
  "democut_set_cut_image": {
13336
13418
  "cost": "none",
13337
13419
  "group": "images",
@@ -14718,6 +14800,8 @@ function getAsset(a = {}, deps = {}) {
14718
14800
  if (view.download_url) {
14719
14801
  lines.push(`\uB2E4\uC6B4\uB85C\uB4DC: ${view.download_url} (\uC11C\uBA85 URL \u2014 \uB9CC\uB8CC\uB418\uBA74 \uC774 \uB3C4\uAD6C\uB97C \uB2E4\uC2DC \uBD80\uB974\uC138\uC694)`);
14720
14802
  }
14803
+ } else if (view.state === "pending" && view.origin === "upload") {
14804
+ lines.push("\uC544\uC9C1 \uBCF8\uBB38\uC774 \uC62C\uB77C\uC624\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4 \u2014 democut_create_upload_url \uC774 \uC900 \uC8FC\uC18C\uB85C PUT \uD588\uB294\uC9C0 \uD655\uC778\uD558\uC138\uC694.");
14721
14805
  } else if (view.state === "pending") {
14722
14806
  lines.push("\uC544\uC9C1 \uAC00\uC838\uC624\uB294 \uC911\uC785\uB2C8\uB2E4 \u2014 \uC7A0\uC2DC \uB4A4 \uB2E4\uC2DC \uBD80\uB974\uC138\uC694.");
14723
14807
  } else {
@@ -14727,6 +14811,28 @@ function getAsset(a = {}, deps = {}) {
14727
14811
  return { text: lines.join("\n"), structured: callableStructured(view) };
14728
14812
  });
14729
14813
  }
14814
+ function createUploadUrl(a = {}, deps = {}) {
14815
+ return guarded(READ_ONLY, async () => {
14816
+ if (!a.kind) return { isError: true, text: "kind \uAC00 \uD544\uC694\uD569\uB2C8\uB2E4 (image\xB7audio\xB7video\xB7subtitle\xB7code \uB4F1)." };
14817
+ const base = resolveBaseUrl(deps.baseUrl);
14818
+ const out4 = await apiRequest(
14819
+ base,
14820
+ "/api/assets/upload-url",
14821
+ { method: "POST", body: { kind: a.kind, project_slug: a.project_slug, filename: a.filename } },
14822
+ deps
14823
+ );
14824
+ return {
14825
+ text: [
14826
+ `\uC5C5\uB85C\uB4DC \uC790\uB9AC\uB97C \uB9CC\uB4E4\uC5C8\uC2B5\uB2C8\uB2E4 \u2014 asset_id=${out4.asset.id} (${out4.asset.kind}) state=${out4.asset.state}`,
14827
+ `upload_url: ${out4.upload_url}`,
14828
+ `method: ${out4.method} \xB7 expires_at: ${out4.expires_at} \xB7 max_bytes: ${out4.max_bytes}`,
14829
+ `\uC178\uC5D0\uC11C \uBCF8\uBB38\uC744 \uC62C\uB9AC\uC138\uC694: curl -sS -T <\uD30C\uC77C \uACBD\uB85C> "${out4.upload_url}"`,
14830
+ "\uC751\uB2F5(\uB610\uB294 democut_get_asset)\uC758 state \uAC00 ready \uBA74 \uC774 asset_id \uB97C spec \uC5D0 \uC4F0\uBA74 \uB429\uB2C8\uB2E4. \uC8FC\uC18C\uB294 \uD55C \uBC88\uB9CC \uC4F8 \uC218 \uC788\uACE0, \uB9CC\uB8CC\uB410\uAC70\uB098 \uB2E4\uC2DC \uC62C\uB9AC\uB824\uBA74 \uC774 \uB3C4\uAD6C\uB97C \uB2E4\uC2DC \uBD80\uB974\uC138\uC694."
14831
+ ].join("\n"),
14832
+ structured: callableStructured(out4)
14833
+ };
14834
+ });
14835
+ }
14730
14836
  function estimateCuts(a = {}, deps = {}) {
14731
14837
  return guarded(READ_ONLY, async () => {
14732
14838
  const slug = needSlug(a);
@@ -16690,6 +16796,8 @@ function dispatch(name, args, deps = {}) {
16690
16796
  return uploadAsset(args, deps);
16691
16797
  case "democut_get_asset":
16692
16798
  return getAsset(args, deps);
16799
+ case "democut_create_upload_url":
16800
+ return createUploadUrl(args, deps);
16693
16801
  case "democut_estimate_cuts":
16694
16802
  return estimateCuts(args, deps);
16695
16803
  case "democut_make_cuts":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "democut",
3
- "version": "1.0.113",
3
+ "version": "1.0.114",
4
4
  "description": "DemoCut 에이전트 CLI — device flow 로그인(RFC 8628) + 영상 생성",
5
5
  "license": "MIT",
6
6
  "author": "InfoGrab",