fluncle 0.60.0 → 0.62.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 +6 -13
  2. package/package.json +1 -1
package/bin/fluncle.mjs CHANGED
@@ -423,7 +423,7 @@ function parseVersion(version) {
423
423
  var currentVersion;
424
424
  var init_version = __esm(() => {
425
425
  init_output();
426
- currentVersion = "0.60.0".trim() ? "0.60.0".trim() : "0.1.0";
426
+ currentVersion = "0.62.0".trim() ? "0.62.0".trim() : "0.1.0";
427
427
  });
428
428
 
429
429
  // src/update-notifier.ts
@@ -1914,7 +1914,7 @@ function parseVersion2(version) {
1914
1914
  var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
1915
1915
  var init_version2 = __esm(() => {
1916
1916
  init_output();
1917
- currentVersion2 = "0.60.0".trim() ? "0.60.0".trim() : "0.1.0";
1917
+ currentVersion2 = "0.62.0".trim() ? "0.62.0".trim() : "0.1.0";
1918
1918
  });
1919
1919
 
1920
1920
  // src/commands/track.ts
@@ -2036,9 +2036,6 @@ async function trackObserveCommand(idOrLogId, options) {
2036
2036
  if (options.voiceId !== undefined) {
2037
2037
  body.voiceId = options.voiceId;
2038
2038
  }
2039
- if (options.model !== undefined) {
2040
- body.model = options.model;
2041
- }
2042
2039
  if (options.durationMs !== undefined) {
2043
2040
  body.durationMs = options.durationMs;
2044
2041
  }
@@ -2074,7 +2071,6 @@ var init_track = __esm(() => {
2074
2071
  VIDEO_FIELDS = [
2075
2072
  { field: "footage", option: "footage" },
2076
2073
  { field: "footage-social", option: "footageSocial" },
2077
- { field: "footage-silent", option: "footageSilent" },
2078
2074
  { field: "poster", option: "poster" },
2079
2075
  { field: "cover", option: "cover" },
2080
2076
  { field: "note", option: "note" },
@@ -5493,7 +5489,7 @@ function addAdminCommands(program2) {
5493
5489
  const { trackUpdateCommand: trackUpdateCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
5494
5490
  await runTrackUpdate(trackId, options, trackUpdateCommand2);
5495
5491
  });
5496
- 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) => {
5492
+ 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-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) => {
5497
5493
  const { trackVideoCommand: trackVideoCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
5498
5494
  await runTrackVideo(idOrLogId, options, trackVideoCommand2);
5499
5495
  });
@@ -5517,7 +5513,7 @@ function addAdminCommands(program2) {
5517
5513
  const { previewArchiveUploadCommand: previewArchiveUploadCommand2 } = await Promise.resolve().then(() => (init_preview_archive(), exports_preview_archive));
5518
5514
  await runTrackPreviewArchive(idOrLogId, options, previewArchiveUploadCommand2);
5519
5515
  });
5520
- adminTrack.command("observe").description("Render Fluncle's spoken field observation for a track (ElevenLabs, Worker-side)").argument("[idOrLogId]").option("--queue", "Show the observe worklist (notes but no observation yet), oldest first", false).option("--limit <limit>", "Number of findings to show with --queue", "10").option("--script <text>", "The voice-gated observation script (the spoken text)").option("--script-file <file>", "Read the observation script from a file (e.g. observation.txt)").option("--voice-id <id>", "Override the configured ElevenLabs voice id").option("--model <model>", "TTS model (eleven_multilingual_v2 | eleven_v3)").option("--duration-ms <ms>", "Probed audio duration in ms (the agent runs ffprobe)").option("--duration-target-sec <sec>", "Target observation length in seconds (20\u201345)").option("--context-note <text>", "Pre-fetched factual context (else the Worker firecrawls)").option("--force", "Re-render even if an observation already exists (voice re-tune / fix)", false).option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
5516
+ adminTrack.command("observe").description("Render Fluncle's spoken field observation for a track (Cartesia, Worker-side)").argument("[idOrLogId]").option("--queue", "Show the observe worklist (notes but no observation yet), oldest first", false).option("--limit <limit>", "Number of findings to show with --queue", "10").option("--script <text>", "The voice-gated observation script (the spoken text)").option("--script-file <file>", "Read the observation script from a file (e.g. observation.txt)").option("--voice-id <id>", "Override the configured Cartesia voice id").option("--duration-ms <ms>", "Probed audio duration in ms (else derived from word timestamps)").option("--duration-target-sec <sec>", "Target observation length in seconds (20\u201345)").option("--context-note <text>", "Pre-fetched factual context (else the Worker firecrawls)").option("--force", "Re-render even if an observation already exists (voice re-tune / fix)", false).option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
5521
5517
  if (options.queue) {
5522
5518
  const { observeQueueCommand: observeQueueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
5523
5519
  await runAdminObserveQueue(options, observeQueueCommand2);
@@ -5685,7 +5681,7 @@ async function runTrackPreviewArchive(idOrLogId, options, previewArchiveUploadCo
5685
5681
  async function runTrackObserve(idOrLogId, options, trackObserveCommand2) {
5686
5682
  const script = options.scriptFile ? readFileSync3(options.scriptFile, "utf8") : options.script;
5687
5683
  if (!idOrLogId || !script || !script.trim()) {
5688
- throw new Error("Usage: fluncle admin tracks observe <track_id|log_id> (--script <text> | --script-file <file>) [--voice-id <id>] [--model <model>] [--duration-ms <ms>] [--context-note <text>] [--json]");
5684
+ throw new Error("Usage: fluncle admin tracks observe <track_id|log_id> (--script <text> | --script-file <file>) [--voice-id <id>] [--duration-ms <ms>] [--context-note <text>] [--json]");
5689
5685
  }
5690
5686
  const durationMs = options.durationMs === undefined ? undefined : Number.parseInt(options.durationMs, 10);
5691
5687
  if (durationMs !== undefined && (!Number.isInteger(durationMs) || durationMs < 1)) {
@@ -5700,7 +5696,6 @@ async function runTrackObserve(idOrLogId, options, trackObserveCommand2) {
5700
5696
  durationMs,
5701
5697
  durationTargetSec,
5702
5698
  force: options.force,
5703
- model: options.model,
5704
5699
  script: script.trim(),
5705
5700
  voiceId: options.voiceId
5706
5701
  });
@@ -5866,7 +5861,7 @@ async function runBackfillDiscogs(options, backfillDiscogsCommand2) {
5866
5861
  }
5867
5862
  async function runTrackVideo(idOrLogId, options, trackVideoCommand2) {
5868
5863
  if (!idOrLogId) {
5869
- throw new Error("Missing id. Usage: fluncle admin tracks 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>])");
5864
+ throw new Error("Missing id. Usage: fluncle admin tracks video <track_id|log_id> (--dir <dir> | --footage <file> [--footage-social <file>] [--poster <file>] [--cover <file>] [--note <file>] [--composition <file>] [--props <file>] [--render <file>])");
5870
5865
  }
5871
5866
  const dir = options.dir ? path2.resolve(process.cwd(), options.dir) : undefined;
5872
5867
  const fromDir = (name) => {
@@ -5886,7 +5881,6 @@ async function runTrackVideo(idOrLogId, options, trackVideoCommand2) {
5886
5881
  composition: resolveFile(options.composition, "composition.tsx"),
5887
5882
  cover: resolveFile(options.cover, "cover.jpg"),
5888
5883
  footage: resolveFile(options.footage, "footage.mp4"),
5889
- footageSilent: resolveFile(options.footageSilent, "footage-silent.mp4"),
5890
5884
  footageSocial: resolveFile(options.footageSocial, "footage.social.mp4"),
5891
5885
  model: options.model,
5892
5886
  note: resolveFile(options.note, "note.txt"),
@@ -6590,7 +6584,6 @@ var stringOptions = new Set([
6590
6584
  "--features",
6591
6585
  "--file",
6592
6586
  "--footage",
6593
- "--footage-silent",
6594
6587
  "--footage-social",
6595
6588
  "--from",
6596
6589
  "--key",
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.60.0"
34
+ "version": "0.62.0"
35
35
  }