democut 1.0.58 → 1.0.59

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 +74 -1
  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.58";
6919
+ var VERSION = "1.0.59";
6920
6920
 
6921
6921
  // src/device-flow.ts
6922
6922
  var DeviceFlowError = class extends Error {
@@ -11370,6 +11370,52 @@ var GENERATED_TOOLS = [
11370
11370
  "openWorldHint": false
11371
11371
  }
11372
11372
  },
11373
+ {
11374
+ "name": "democut_get_audio_tracks",
11375
+ "description": "\uADF8 \uC720\uD29C\uBE0C \uD074\uB9BD \uCEF7\uC758 \uC74C\uC131 \uD2B8\uB799(\uC5B8\uC5B4) \uBAA9\uB85D \u2014 \uC6D0\uBCF8\uACFC \uC720\uD29C\uBE0C \uC790\uB3D9 \uB354\uBE59(0\uC6D0). \uC8FC\uC18C\uB294 \uCEF7 \uCD08\uC548(draft_spec.source.url)\uC5D0\uC11C \uC77D\uB294\uB2E4 \u2014 \uC5C6\uC73C\uBA74 422. \uACE0\uB978 lang \uC744 draft_spec.source.audio_lang \uC5D0 \uB123\uC5B4 democut_put_cut_draft \uD558\uBA74 \uADF8 \uC5B8\uC5B4\uC758 \uC74C\uC131\uC73C\uB85C \uB9CC\uB4E0\uB2E4(\uBE44\uC6B0\uBA74 \uC6D0\uBCF8). \uC74C\uC131\uC744 \uBC14\uAFB8\uBA74 \uB2E4\uB978 \uC601\uC0C1\uC774\uB77C \uC774\uBBF8 \uB9CC\uB4E0 \uCEF7\uC740 dirty \uAC00 \uB41C\uB2E4. \uD2B8\uB799\uC740 \uC601\uC0C1\uB9C8\uB2E4 \uB2E4\uB974\uB2E4 \u2014 \uC8FC\uC18C\uB97C \uBC14\uAFB8\uBA74 \uB2E4\uC2DC \uC77D\uC5B4\uB77C. \uB2E4\uC74C \uD638\uCD9C: democut_put_cut_draft, democut_estimate_cuts.",
11376
+ "inputSchema": {
11377
+ "type": "object",
11378
+ "properties": {
11379
+ "slug": {
11380
+ "type": "string",
11381
+ "description": "\uD504\uB85C\uC81D\uD2B8 \uC2AC\uB7EC\uADF8(democut_list_projects)"
11382
+ },
11383
+ "cut_id": {
11384
+ "type": "string",
11385
+ "description": "\uCEF7 id(cut_\u2026)"
11386
+ }
11387
+ },
11388
+ "required": [
11389
+ "slug",
11390
+ "cut_id"
11391
+ ],
11392
+ "additionalProperties": false
11393
+ },
11394
+ "outputSchema": {
11395
+ "type": "object",
11396
+ "properties": {
11397
+ "cut_id": {
11398
+ "type": "string"
11399
+ },
11400
+ "url": {
11401
+ "type": "string"
11402
+ },
11403
+ "tracks": {
11404
+ "type": "array"
11405
+ }
11406
+ },
11407
+ "required": [
11408
+ "cut_id",
11409
+ "url"
11410
+ ]
11411
+ },
11412
+ "annotations": {
11413
+ "readOnlyHint": true,
11414
+ "destructiveHint": false,
11415
+ "idempotentHint": true,
11416
+ "openWorldHint": false
11417
+ }
11418
+ },
11373
11419
  {
11374
11420
  "name": "democut_estimate_export",
11375
11421
  "description": "\uC644\uC131\uBCF8 \uACAC\uC801(0\uC6D0 \uD589).",
@@ -12801,6 +12847,12 @@ var TOOL_META = {
12801
12847
  "method": "POST",
12802
12848
  "path": "/api/projects/{slug}/cuts/{cut_id}/hook_scan/pick"
12803
12849
  },
12850
+ "democut_get_audio_tracks": {
12851
+ "cost": "none",
12852
+ "group": "storyboard",
12853
+ "method": "GET",
12854
+ "path": "/api/projects/{slug}/cuts/{cut_id}/audio_tracks"
12855
+ },
12804
12856
  "democut_estimate_export": {
12805
12857
  "cost": "quote",
12806
12858
  "group": "export",
@@ -15168,6 +15220,25 @@ function pickHookCandidate(a = {}, deps = {}) {
15168
15220
  return { text: lines.join("\n"), structured: callableStructured(out4) };
15169
15221
  });
15170
15222
  }
15223
+ function getAudioTracks(a = {}, deps = {}) {
15224
+ return guarded(READ_ONLY, async () => {
15225
+ const slug = needSlug(a);
15226
+ if (typeof slug !== "string") return slug;
15227
+ const cutId = needCut(a);
15228
+ if (typeof cutId !== "string") return cutId;
15229
+ const base = resolveBaseUrl(deps.baseUrl);
15230
+ const out4 = await apiRequest(base, cutPath(slug, cutId, "/audio_tracks"), {}, deps);
15231
+ const tracks = out4.tracks ?? [];
15232
+ const original = tracks.find((t) => t.original)?.lang;
15233
+ const dubs = tracks.filter((t) => !t.original).map((t) => t.lang);
15234
+ const lines = tracks.length === 0 ? [`${cutId} \uC758 \uC601\uC0C1\uC5D0\uB294 \uC5B8\uC5B4\uAC00 \uD45C\uC2DC\uB41C \uC74C\uC131 \uD2B8\uB799\uC774 \uC5C6\uC2B5\uB2C8\uB2E4 \u2014 \uC6D0\uBCF8 \uC74C\uC131\uB9CC \uBC1B\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4(audio_lang \uC744 \uBE44\uC6CC \uB450\uC138\uC694).`] : [
15235
+ `${cutId} \uC758 \uC74C\uC131 \uD2B8\uB799 ${tracks.length}\uAC1C \u2014 \uC6D0\uBCF8: ${original ?? "(\uD45C\uC2DC \uC5C6\uC74C)"}` + (dubs.length ? `, \uC790\uB3D9 \uB354\uBE59: ${dubs.join(", ")}` : ""),
15236
+ "\uC6D0\uBCF8\uC73C\uB85C \uB9CC\uB4E4\uB824\uBA74 draft_spec.source.audio_lang \uC744 \uBE44\uC6CC \uB450\uACE0, \uB2E4\uB978 \uC5B8\uC5B4\uB85C \uB9CC\uB4E4\uB824\uBA74 \uADF8 lang \uC744 \uB123\uC5B4 democut_put_cut_draft \uD558\uC138\uC694.",
15237
+ "\uB354\uBE59\uC740 \uC720\uD29C\uBE0C\uAC00 \uC790\uB3D9\uC73C\uB85C \uB9CC\uB4E0 \uC74C\uC131\uC774\uB77C \uD488\uC9C8\uC774 \uACE0\uB974\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC790\uB9C9 \uC5B8\uC5B4\uB294 \uC74C\uC131\uC744 \uB530\uB77C \uC804\uC0AC\uB429\uB2C8\uB2E4."
15238
+ ];
15239
+ return { text: lines.join("\n"), structured: callableStructured(out4) };
15240
+ });
15241
+ }
15171
15242
  function estimateExport(a = {}, deps = {}) {
15172
15243
  return guarded(READ_ONLY, async () => {
15173
15244
  const slug = needSlug(a);
@@ -15557,6 +15628,8 @@ function dispatch(name, args, deps = {}) {
15557
15628
  return makeHookScan(args, deps);
15558
15629
  case "democut_pick_hook_candidate":
15559
15630
  return pickHookCandidate(args, deps);
15631
+ case "democut_get_audio_tracks":
15632
+ return getAudioTracks(args, deps);
15560
15633
  case "democut_estimate_export":
15561
15634
  return estimateExport(args, deps);
15562
15635
  case "democut_make_export":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "democut",
3
- "version": "1.0.58",
3
+ "version": "1.0.59",
4
4
  "description": "DemoCut 에이전트 CLI — device flow 로그인(RFC 8628) + 영상 생성",
5
5
  "license": "MIT",
6
6
  "author": "InfoGrab",