fluncle 0.51.0 → 0.52.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.
- package/bin/fluncle.mjs +27 -24
- 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.
|
|
426
|
+
currentVersion = "0.52.0".trim() ? "0.52.0".trim() : "0.1.0";
|
|
427
427
|
});
|
|
428
428
|
|
|
429
429
|
// src/update-notifier.ts
|
|
@@ -1912,7 +1912,7 @@ function parseVersion2(version) {
|
|
|
1912
1912
|
var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
|
|
1913
1913
|
var init_version2 = __esm(() => {
|
|
1914
1914
|
init_output();
|
|
1915
|
-
currentVersion2 = "0.
|
|
1915
|
+
currentVersion2 = "0.52.0".trim() ? "0.52.0".trim() : "0.1.0";
|
|
1916
1916
|
});
|
|
1917
1917
|
|
|
1918
1918
|
// src/commands/track.ts
|
|
@@ -2200,7 +2200,7 @@ async function previewArchiveUploadCommand(idOrLogId, options) {
|
|
|
2200
2200
|
form.append("preview", Bun.file(options.file), basename(options.file));
|
|
2201
2201
|
form.append("source", options.source);
|
|
2202
2202
|
form.append("mime", options.mime);
|
|
2203
|
-
return adminApiPostForm(`/api/admin/tracks/${encodeURIComponent(idOrLogId)}/preview
|
|
2203
|
+
return adminApiPostForm(`/api/admin/tracks/${encodeURIComponent(idOrLogId)}/preview`, form);
|
|
2204
2204
|
}
|
|
2205
2205
|
async function previewArchiveBackfillCommand(options) {
|
|
2206
2206
|
const result = {
|
|
@@ -2220,7 +2220,7 @@ async function previewArchiveBackfillCommand(options) {
|
|
|
2220
2220
|
result.skipped.push({ reason: "no_log_id", trackId: track.trackId });
|
|
2221
2221
|
continue;
|
|
2222
2222
|
}
|
|
2223
|
-
const status = await adminApiGet(`/api/admin/tracks/${encodeURIComponent(track.trackId)}/preview
|
|
2223
|
+
const status = await adminApiGet(`/api/admin/tracks/${encodeURIComponent(track.trackId)}/preview`);
|
|
2224
2224
|
if (status.archived) {
|
|
2225
2225
|
result.skipped.push({ reason: "already_archived", trackId: track.trackId });
|
|
2226
2226
|
continue;
|
|
@@ -2259,7 +2259,7 @@ async function uploadResolvedPreview(trackId, preview) {
|
|
|
2259
2259
|
form.append("preview", new Blob([preview.bytes], { type: preview.mime }), `preview.${extension}`);
|
|
2260
2260
|
form.append("source", preview.source);
|
|
2261
2261
|
form.append("mime", preview.mime);
|
|
2262
|
-
await adminApiPostForm(`/api/admin/tracks/${encodeURIComponent(trackId)}/preview
|
|
2262
|
+
await adminApiPostForm(`/api/admin/tracks/${encodeURIComponent(trackId)}/preview`, form);
|
|
2263
2263
|
}
|
|
2264
2264
|
async function resolvePreview(track) {
|
|
2265
2265
|
const stored = await downloadPreview(track.previewUrl, "deezer:stored");
|
|
@@ -5346,8 +5346,8 @@ function addMetaCommands(program2) {
|
|
|
5346
5346
|
});
|
|
5347
5347
|
}
|
|
5348
5348
|
function addTrackCommands(program2) {
|
|
5349
|
-
const
|
|
5350
|
-
|
|
5349
|
+
const tracks = configureCommand(program2.command("tracks", { hidden: true }).alias("track").description("Public track lookups"));
|
|
5350
|
+
tracks.command("get").description("Look up one finding by id or Log ID").argument("[idOrLogId]").option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
5351
5351
|
const { trackGetCommand: trackGetCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
|
|
5352
5352
|
await runTrackGet(idOrLogId, options, trackGetCommand2);
|
|
5353
5353
|
});
|
|
@@ -5380,19 +5380,12 @@ function addAdminCommands(program2) {
|
|
|
5380
5380
|
const { queueCommand: queueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
|
|
5381
5381
|
await runAdminQueue(options, queueCommand2);
|
|
5382
5382
|
});
|
|
5383
|
-
adminTracks.command("
|
|
5384
|
-
|
|
5385
|
-
|
|
5386
|
-
|
|
5387
|
-
|
|
5388
|
-
|
|
5389
|
-
await runAdminObserveQueue(options, observeQueueCommand2);
|
|
5390
|
-
});
|
|
5391
|
-
adminTracks.command("enrich-queue").description("Findings needing (re-)enrichment: pending, failed, or stuck processing").option("--limit <limit>", "Number of findings to show", "10").option("--json", "Print JSON", false).action(async (options) => {
|
|
5392
|
-
const { enrichQueueCommand: enrichQueueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
|
|
5393
|
-
await runAdminEnrichQueue(options, enrichQueueCommand2);
|
|
5394
|
-
});
|
|
5395
|
-
admin.command("enrich-queue", { hidden: true }).description("Enrich queue (alias of `admin tracks enrich-queue`)").option("--limit <limit>", "Number of findings to show", "10").option("--json", "Print JSON", false).action(async (options) => {
|
|
5383
|
+
adminTracks.command("enrich").description("Enrichment worklist (pending, failed, or stuck processing) \u2014 use --queue").option("--queue", "Show the enrichment worklist, oldest first", false).option("--limit <limit>", "Number of findings to show with --queue", "10").option("--json", "Print JSON", false).action(async (options) => {
|
|
5384
|
+
if (!options.queue) {
|
|
5385
|
+
console.error("`tracks enrich` is a worklist view \u2014 enrichment runs on the on-box `fluncle-enrich` cron.\nUse `tracks enrich --queue` to see findings needing (re-)enrichment.");
|
|
5386
|
+
process.exitCode = 1;
|
|
5387
|
+
return;
|
|
5388
|
+
}
|
|
5396
5389
|
const { enrichQueueCommand: enrichQueueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
|
|
5397
5390
|
await runAdminEnrichQueue(options, enrichQueueCommand2);
|
|
5398
5391
|
});
|
|
@@ -5421,15 +5414,25 @@ function addAdminCommands(program2) {
|
|
|
5421
5414
|
const { trackSocialShowCommand: trackSocialShowCommand2, trackSocialUpdateCommand: trackSocialUpdateCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
|
|
5422
5415
|
await runTrackSocial(idOrLogId, options, trackSocialShowCommand2, trackSocialUpdateCommand2);
|
|
5423
5416
|
});
|
|
5424
|
-
adminTrack.command("preview").
|
|
5417
|
+
adminTrack.command("preview").description("Store one official preview at the operator-only archive path for analysis").argument("[idOrLogId]").option("--file <file>", "Preview audio file to archive").option("--mime <mime>", "MIME type of the preview audio").option("--source <source>", "Provenance label for the archived preview").option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
5425
5418
|
const { previewArchiveUploadCommand: previewArchiveUploadCommand2 } = await Promise.resolve().then(() => (init_preview_archive(), exports_preview_archive));
|
|
5426
5419
|
await runTrackPreviewArchive(idOrLogId, options, previewArchiveUploadCommand2);
|
|
5427
5420
|
});
|
|
5428
|
-
adminTrack.command("observe").description("Render Fluncle's spoken field observation for a track (ElevenLabs, Worker-side)").argument("[idOrLogId]").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("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
5421
|
+
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("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
5422
|
+
if (options.queue) {
|
|
5423
|
+
const { observeQueueCommand: observeQueueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
|
|
5424
|
+
await runAdminObserveQueue(options, observeQueueCommand2);
|
|
5425
|
+
return;
|
|
5426
|
+
}
|
|
5429
5427
|
const { trackObserveCommand: trackObserveCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
|
|
5430
5428
|
await runTrackObserve(idOrLogId, options, trackObserveCommand2);
|
|
5431
5429
|
});
|
|
5432
|
-
adminTrack.command("context").description("Gather the field notes for a finding (facts only; observe speaks from them)").argument("[idOrLogId]").option("--query <text>", "Override the fact-search query (else the Worker builds one)").option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
5430
|
+
adminTrack.command("context").description("Gather the field notes for a finding (facts only; observe speaks from them)").argument("[idOrLogId]").option("--queue", "Show the context worklist (findings missing field notes), oldest first", false).option("--limit <limit>", "Number of findings to show with --queue", "10").option("--query <text>", "Override the fact-search query (else the Worker builds one)").option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
5431
|
+
if (options.queue) {
|
|
5432
|
+
const { contextQueueCommand: contextQueueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
|
|
5433
|
+
await runAdminContextQueue(options, contextQueueCommand2);
|
|
5434
|
+
return;
|
|
5435
|
+
}
|
|
5433
5436
|
const { trackContextCommand: trackContextCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
|
|
5434
5437
|
await runTrackContext(idOrLogId, options, trackContextCommand2);
|
|
5435
5438
|
});
|
|
@@ -5800,7 +5803,7 @@ async function runTrackSocial(idOrLogId, options, trackSocialShowCommand2, track
|
|
|
5800
5803
|
}
|
|
5801
5804
|
async function runTrackGet(idOrLogId, options, trackGetCommand2) {
|
|
5802
5805
|
if (!idOrLogId) {
|
|
5803
|
-
throw new Error("Missing id. Usage: fluncle
|
|
5806
|
+
throw new Error("Missing id. Usage: fluncle tracks get <track_id|log_id> [--json]");
|
|
5804
5807
|
}
|
|
5805
5808
|
const result = await trackGetCommand2(idOrLogId);
|
|
5806
5809
|
if (options.json) {
|
package/package.json
CHANGED