fluncle 0.145.0 → 0.147.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 +19 -3
- package/package.json +1 -1
package/bin/fluncle.mjs
CHANGED
|
@@ -561,7 +561,7 @@ function parseVersion(version) {
|
|
|
561
561
|
var currentVersion;
|
|
562
562
|
var init_version = __esm(() => {
|
|
563
563
|
init_output();
|
|
564
|
-
currentVersion = "0.
|
|
564
|
+
currentVersion = "0.147.0".trim() ? "0.147.0".trim() : "0.1.0";
|
|
565
565
|
});
|
|
566
566
|
|
|
567
567
|
// src/update-notifier.ts
|
|
@@ -2189,7 +2189,7 @@ function parseVersion2(version) {
|
|
|
2189
2189
|
var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
|
|
2190
2190
|
var init_version2 = __esm(() => {
|
|
2191
2191
|
init_output();
|
|
2192
|
-
currentVersion2 = "0.
|
|
2192
|
+
currentVersion2 = "0.147.0".trim() ? "0.147.0".trim() : "0.1.0";
|
|
2193
2193
|
});
|
|
2194
2194
|
|
|
2195
2195
|
// ../../packages/registry/src/index.ts
|
|
@@ -5730,6 +5730,7 @@ __export(exports_admin_catalogue, {
|
|
|
5730
5730
|
verifyCaptureCommand: () => verifyCaptureCommand,
|
|
5731
5731
|
setTrackDismissedCommand: () => setTrackDismissedCommand,
|
|
5732
5732
|
listUnverifiedCapturesCommand: () => listUnverifiedCapturesCommand,
|
|
5733
|
+
forceCaptureCommand: () => forceCaptureCommand,
|
|
5733
5734
|
flagWrongAudioCommand: () => flagWrongAudioCommand,
|
|
5734
5735
|
crawlStatusCommand: () => crawlStatusCommand,
|
|
5735
5736
|
crawlCatalogueCommand: () => crawlCatalogueCommand,
|
|
@@ -5756,6 +5757,11 @@ async function clearWrongAudioCommand(trackId) {
|
|
|
5756
5757
|
trackId
|
|
5757
5758
|
});
|
|
5758
5759
|
}
|
|
5760
|
+
async function forceCaptureCommand(trackId) {
|
|
5761
|
+
return adminApiPost("/api/admin/catalogue/force-capture", {
|
|
5762
|
+
trackId
|
|
5763
|
+
});
|
|
5764
|
+
}
|
|
5759
5765
|
async function flagWrongAudioCommand(trackId) {
|
|
5760
5766
|
return adminApiPost("/api/admin/catalogue/wrong-audio/flag", {
|
|
5761
5767
|
trackId
|
|
@@ -8870,6 +8876,15 @@ function addAdminCommands(program2) {
|
|
|
8870
8876
|
}
|
|
8871
8877
|
console.log(flagged ? `Flagged ${trackId}. Its vector is out of the ranking and a fresh capture is queued (the bad bytes are hash-rejected).` : `${trackId} is not a captured finding \u2014 nothing to flag.`);
|
|
8872
8878
|
});
|
|
8879
|
+
catalogue.command("force-capture").description("Overrule the duplicate veto on one catalogue row so it can be captured (operator)").argument("<trackId>", "The catalogue track id to capture anyway").option("--json", "Print JSON", false).action(async (trackId, options) => {
|
|
8880
|
+
const { forceCaptureCommand: forceCaptureCommand2 } = await Promise.resolve().then(() => (init_admin_catalogue(), exports_admin_catalogue));
|
|
8881
|
+
const { forced } = await forceCaptureCommand2(trackId);
|
|
8882
|
+
if (options.json) {
|
|
8883
|
+
printJson({ forced, ok: true });
|
|
8884
|
+
return;
|
|
8885
|
+
}
|
|
8886
|
+
console.log(forced ? `Forced ${trackId}. The duplicate veto is lifted; it re-ranks onto the capture ladder and the next open-budget tick buys it.` : `${trackId} was not vetoed as a duplicate \u2014 nothing to force.`);
|
|
8887
|
+
});
|
|
8873
8888
|
catalogue.command("verify").description("Capture verification: the unverified worklist (--queue), or record one verdict").argument("[trackId]", "The track whose capture verdict to record (omit with --queue)").option("--queue", "List captured rows not yet verified against their preview", false).option("--verdict <verdict>", "The fingerprint verdict: match | mismatch | no-preview").option("--limit <limit>", "Worklist rows (default 50, max 200)").option("--json", "Print JSON", false).action(async (trackId, options) => {
|
|
8874
8889
|
const { listUnverifiedCapturesCommand: listUnverifiedCapturesCommand2, verifyCaptureCommand: verifyCaptureCommand2 } = await Promise.resolve().then(() => (init_admin_catalogue(), exports_admin_catalogue));
|
|
8875
8890
|
if (options.queue) {
|
|
@@ -10581,7 +10596,8 @@ async function runCatalogueRank(options, catalogueRankCommand2) {
|
|
|
10581
10596
|
return;
|
|
10582
10597
|
}
|
|
10583
10598
|
const quarantine = summary.quarantined > 0 ? ` Quarantined ${summary.quarantined} as wrong audio.` : "";
|
|
10584
|
-
|
|
10599
|
+
const deduped = summary.catalogueDuplicates > 0 ? ` Marked ${summary.catalogueDuplicates} as catalogue duplicates.` : "";
|
|
10600
|
+
console.log(`Ranked ${summary.scored} against ${summary.embeddedFindings} embedded findings; prioritized ${summary.prioritized} for capture.${quarantine}${deduped} ${summary.remaining} still stale.`);
|
|
10585
10601
|
}
|
|
10586
10602
|
async function runCatalogueList(options, catalogueListCommand2) {
|
|
10587
10603
|
const { summary, tracks } = await catalogueListCommand2({
|
package/package.json
CHANGED