fluncle 0.41.0 → 0.42.0

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/bin/fluncle.mjs +9 -4
  2. package/package.json +1 -1
package/bin/fluncle.mjs CHANGED
@@ -2539,7 +2539,7 @@ function parseVersion(version) {
2539
2539
  var currentVersion;
2540
2540
  var init_version = __esm(() => {
2541
2541
  init_output();
2542
- currentVersion = "0.41.0".trim() ? "0.41.0".trim() : "0.1.0";
2542
+ currentVersion = "0.42.0".trim() ? "0.42.0".trim() : "0.1.0";
2543
2543
  });
2544
2544
 
2545
2545
  // src/update-notifier.ts
@@ -4001,7 +4001,7 @@ function parseVersion2(version) {
4001
4001
  var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
4002
4002
  var init_version2 = __esm(() => {
4003
4003
  init_output();
4004
- currentVersion2 = "0.41.0".trim() ? "0.41.0".trim() : "0.1.0";
4004
+ currentVersion2 = "0.42.0".trim() ? "0.42.0".trim() : "0.1.0";
4005
4005
  });
4006
4006
 
4007
4007
  // src/commands/track.ts
@@ -4046,9 +4046,11 @@ async function trackVideoCommand(idOrLogId, files, onProgress) {
4046
4046
  const manifest = files.render ? await readManifestFields(files.render) : {};
4047
4047
  const videoModel = files.model?.trim().slice(0, 120) || manifest.model || DEFAULT_VIDEO_MODEL;
4048
4048
  const videoModelReasoning = files.reasoning?.trim().slice(0, 120) || manifest.reasoning || DEFAULT_VIDEO_REASONING;
4049
+ const squared = Boolean(urls["footage"] && urls["footage-social"]);
4049
4050
  const finalize = await adminApiPost(`/api/admin/tracks/${encodeURIComponent(idOrLogId)}/video/finalize`, {
4050
4051
  videoModel,
4051
4052
  videoModelReasoning,
4053
+ ...squared ? { squared: true } : {},
4052
4054
  ...manifest.vehicle ? { videoVehicle: manifest.vehicle } : {}
4053
4055
  });
4054
4056
  return { logId: finalize.logId, ok: true, trackId: finalize.trackId, urls };
@@ -4130,6 +4132,7 @@ var init_track = __esm(() => {
4130
4132
  init_output();
4131
4133
  VIDEO_FIELDS = [
4132
4134
  { field: "footage", option: "footage" },
4135
+ { field: "footage-social", option: "footageSocial" },
4133
4136
  { field: "footage-silent", option: "footageSilent" },
4134
4137
  { field: "poster", option: "poster" },
4135
4138
  { field: "cover", option: "cover" },
@@ -5408,7 +5411,7 @@ function addAdminCommands(program2) {
5408
5411
  const { trackUpdateCommand: trackUpdateCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
5409
5412
  await runTrackUpdate(trackId, options, trackUpdateCommand2);
5410
5413
  });
5411
- adminTrack.command("video").description("Upload a track's video bundle to R2 and link it").argument("[idOrLogId]").option("--composition <file>", "Composition source file").option("--cover <file>", "Cover image").option("--dir <dir>", "Bundle directory").option("--footage <file>", "Video footage").option("--footage-silent <file>", "Silent video footage").option("--json", "Print JSON", false).option("--model <model>", "Authoring AI model (<provider>/<model>)").option("--note <file>", "Note file").option("--poster <file>", "Poster image").option("--props <file>", "Render props JSON").option("--reasoning <level>", "Authoring model reasoning effort (e.g. high)").option("--render <file>", "Render metadata JSON").allowExcessArguments().action(async (idOrLogId, options) => {
5414
+ adminTrack.command("video").description("Upload a track's video bundle to R2 and link it").argument("[idOrLogId]").option("--composition <file>", "Composition source file").option("--cover <file>", "Cover image").option("--dir <dir>", "Bundle directory").option("--footage <file>", "Video footage (square crop source)").option("--footage-silent <file>", "Silent video footage (retiring)").option("--footage-social <file>", "Portrait social cut (baked text)").option("--json", "Print JSON", false).option("--model <model>", "Authoring AI model (<provider>/<model>)").option("--note <file>", "Note file").option("--poster <file>", "Poster image").option("--props <file>", "Render props JSON").option("--reasoning <level>", "Authoring model reasoning effort (e.g. high)").option("--render <file>", "Render metadata JSON").allowExcessArguments().action(async (idOrLogId, options) => {
5412
5415
  const { trackVideoCommand: trackVideoCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
5413
5416
  await runTrackVideo(idOrLogId, options, trackVideoCommand2);
5414
5417
  });
@@ -5678,7 +5681,7 @@ async function runBackfillDiscogs(options, backfillDiscogsCommand2) {
5678
5681
  }
5679
5682
  async function runTrackVideo(idOrLogId, options, trackVideoCommand2) {
5680
5683
  if (!idOrLogId) {
5681
- throw new Error("Missing id. Usage: fluncle admin track video <track_id|log_id> (--dir <dir> | --footage <file> [--footage-silent <file>] [--poster <file>] [--cover <file>] [--note <file>] [--composition <file>] [--props <file>] [--render <file>])");
5684
+ throw new Error("Missing id. Usage: fluncle admin track video <track_id|log_id> (--dir <dir> | --footage <file> [--footage-social <file>] [--footage-silent <file>] [--poster <file>] [--cover <file>] [--note <file>] [--composition <file>] [--props <file>] [--render <file>])");
5682
5685
  }
5683
5686
  const dir = options.dir ? path.resolve(process.cwd(), options.dir) : undefined;
5684
5687
  const fromDir = (name) => {
@@ -5699,6 +5702,7 @@ async function runTrackVideo(idOrLogId, options, trackVideoCommand2) {
5699
5702
  cover: resolveFile(options.cover, "cover.jpg"),
5700
5703
  footage: resolveFile(options.footage, "footage.mp4"),
5701
5704
  footageSilent: resolveFile(options.footageSilent, "footage-silent.mp4"),
5705
+ footageSocial: resolveFile(options.footageSocial, "footage.social.mp4"),
5702
5706
  model: options.model,
5703
5707
  note: resolveFile(options.note, "note.txt"),
5704
5708
  poster: resolveFile(options.poster, "poster.jpg"),
@@ -6287,6 +6291,7 @@ var stringOptions = new Set([
6287
6291
  "--file",
6288
6292
  "--footage",
6289
6293
  "--footage-silent",
6294
+ "--footage-social",
6290
6295
  "--from",
6291
6296
  "--key",
6292
6297
  "--limit",
package/package.json CHANGED
@@ -31,5 +31,5 @@
31
31
  "url": "git+https://github.com/mauricekleine/fluncle.git"
32
32
  },
33
33
  "type": "module",
34
- "version": "0.41.0"
34
+ "version": "0.42.0"
35
35
  }