fluncle 0.218.0 → 0.219.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 +31 -11
- package/package.json +1 -1
package/bin/fluncle.mjs
CHANGED
|
@@ -610,7 +610,7 @@ function parseVersion(version) {
|
|
|
610
610
|
var currentVersion;
|
|
611
611
|
var init_version = __esm(() => {
|
|
612
612
|
init_output();
|
|
613
|
-
currentVersion = "0.
|
|
613
|
+
currentVersion = "0.219.0".trim() ? "0.219.0".trim() : "0.1.0";
|
|
614
614
|
});
|
|
615
615
|
|
|
616
616
|
// src/update-notifier.ts
|
|
@@ -2452,7 +2452,7 @@ function parseVersion2(version) {
|
|
|
2452
2452
|
var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
|
|
2453
2453
|
var init_version2 = __esm(() => {
|
|
2454
2454
|
init_output();
|
|
2455
|
-
currentVersion2 = "0.
|
|
2455
|
+
currentVersion2 = "0.219.0".trim() ? "0.219.0".trim() : "0.1.0";
|
|
2456
2456
|
});
|
|
2457
2457
|
|
|
2458
2458
|
// ../../packages/registry/src/index.ts
|
|
@@ -2779,7 +2779,7 @@ var init_src = __esm(() => {
|
|
|
2779
2779
|
},
|
|
2780
2780
|
{
|
|
2781
2781
|
exposedContent: [
|
|
2782
|
-
"the R2 media zone
|
|
2782
|
+
"the R2 media zone: each finding's video bundle and mixtape audio",
|
|
2783
2783
|
"the /cdn-cgi/media transform base (same zone, no cross-origin)"
|
|
2784
2784
|
],
|
|
2785
2785
|
kind: "subdomain",
|
|
@@ -2810,7 +2810,7 @@ var init_src = __esm(() => {
|
|
|
2810
2810
|
},
|
|
2811
2811
|
{
|
|
2812
2812
|
exposedContent: [
|
|
2813
|
-
"the Tor onion mirror of www.fluncle.com
|
|
2813
|
+
"the Tor onion mirror of www.fluncle.com: the archive, API, RSS, and MCP over Tor"
|
|
2814
2814
|
],
|
|
2815
2815
|
kind: "subdomain",
|
|
2816
2816
|
name: "subdomain.onion",
|
|
@@ -7114,13 +7114,16 @@ async function mergeLabelCommand(losingSlug, canonicalSlug) {
|
|
|
7114
7114
|
const response = await adminApiPost(`/api/v1/admin/labels/${encodeURIComponent(losingSlug)}/merge`, { canonicalSlug });
|
|
7115
7115
|
return response.result;
|
|
7116
7116
|
}
|
|
7117
|
-
async function updateLabelCommand(slugOrId, seedState) {
|
|
7117
|
+
async function updateLabelCommand(slugOrId, seedState, rewalk = false) {
|
|
7118
7118
|
const { labels } = await adminApiGet("/api/v1/admin/labels");
|
|
7119
7119
|
const match = labels.find((label) => label.slug === slugOrId || label.id === slugOrId);
|
|
7120
7120
|
if (!match) {
|
|
7121
7121
|
throw new Error(`No label with slug or id '${slugOrId}' — check \`fluncle labels\``);
|
|
7122
7122
|
}
|
|
7123
|
-
const response = await adminApiPatch(`/api/v1/admin/labels/${encodeURIComponent(match.id)}`, {
|
|
7123
|
+
const response = await adminApiPatch(`/api/v1/admin/labels/${encodeURIComponent(match.id)}`, {
|
|
7124
|
+
...rewalk ? { rewalk: true } : {},
|
|
7125
|
+
...seedState === undefined ? {} : { seedState }
|
|
7126
|
+
});
|
|
7124
7127
|
return response.label;
|
|
7125
7128
|
}
|
|
7126
7129
|
async function describeLabelCommand(slug, options) {
|
|
@@ -9678,6 +9681,18 @@ function toJsonFailure(error) {
|
|
|
9678
9681
|
init_util();
|
|
9679
9682
|
|
|
9680
9683
|
// src/cli.ts
|
|
9684
|
+
function labelUpdateLines(label, options) {
|
|
9685
|
+
const lines = [];
|
|
9686
|
+
if (options.seedState !== undefined) {
|
|
9687
|
+
lines.push(`${label.name} (${label.slug}) \u2192 ${label.seedState}.`);
|
|
9688
|
+
lines.push(label.seedState === "enabled" ? " The next crawl seeds from it and stores its releases." : " The next crawl will not seed from it; nothing already stored is touched.");
|
|
9689
|
+
}
|
|
9690
|
+
if (options.rewalk) {
|
|
9691
|
+
lines.push(`${label.name} (${label.slug}) \u2192 scoped re-walk armed.`);
|
|
9692
|
+
lines.push(" The next crawl rechecks its MusicBrainz releases.");
|
|
9693
|
+
}
|
|
9694
|
+
return lines;
|
|
9695
|
+
}
|
|
9681
9696
|
function createProgram() {
|
|
9682
9697
|
const program2 = configureCommand(new Command);
|
|
9683
9698
|
program2.name("fluncle").description(fluncleTagline.toLowerCase()).option("--env <local|production>", "Config profile to load (default: production)").showSuggestionAfterError(false).addHelpCommand("help [command]", "display help for command").hook("preAction", (_thisCommand, actionCommand) => {
|
|
@@ -10592,19 +10607,23 @@ JSON field reference:
|
|
|
10592
10607
|
const { draftLabelBioCommand: draftLabelBioCommand2 } = await Promise.resolve().then(() => (init_admin_labels(), exports_admin_labels));
|
|
10593
10608
|
await runEntityBioDraft("label", slug, options, draftLabelBioCommand2);
|
|
10594
10609
|
});
|
|
10595
|
-
labels.command("update").description("Rule on a label's crawl
|
|
10610
|
+
labels.command("update").description("Rule on a label's crawl scope or arm a scoped re-walk (operator)").argument("<slug>", "The label's slug (an exact lbl_\u2026 id also works)").option("--seed-state <state>", "The ruling: enabled, disabled, or undecided").option("--rewalk", "Arm a scoped re-walk without changing the ruling", false).option("--json", "Print JSON", false).action(async (slug, options) => {
|
|
10596
10611
|
const seedState = options.seedState;
|
|
10597
|
-
if (seedState !== "enabled" && seedState !== "disabled" && seedState !== "undecided") {
|
|
10612
|
+
if (seedState !== undefined && seedState !== "enabled" && seedState !== "disabled" && seedState !== "undecided") {
|
|
10598
10613
|
throw new Error("Pass --seed-state enabled|disabled|undecided");
|
|
10599
10614
|
}
|
|
10615
|
+
if (seedState === undefined && !options.rewalk) {
|
|
10616
|
+
throw new Error("Pass --seed-state enabled|disabled|undecided or --rewalk");
|
|
10617
|
+
}
|
|
10600
10618
|
const { updateLabelCommand: updateLabelCommand2 } = await Promise.resolve().then(() => (init_admin_labels(), exports_admin_labels));
|
|
10601
|
-
const label = await updateLabelCommand2(slug, seedState);
|
|
10619
|
+
const label = await updateLabelCommand2(slug, seedState, options.rewalk);
|
|
10602
10620
|
if (options.json) {
|
|
10603
10621
|
printJson({ label, ok: true });
|
|
10604
10622
|
return;
|
|
10605
10623
|
}
|
|
10606
|
-
|
|
10607
|
-
|
|
10624
|
+
for (const line of labelUpdateLines(label, options)) {
|
|
10625
|
+
console.log(line);
|
|
10626
|
+
}
|
|
10608
10627
|
});
|
|
10609
10628
|
labels.command("merge").description("Merge a slug-split label into its canonical row (operator; re-points + redirects)").argument("<losingSlug>", "The duplicate label to fold away").argument("<canonicalSlug>", "The label to keep \u2014 everything re-points onto it").option("--json", "Print JSON", false).action(async (losingSlug, canonicalSlug, options) => {
|
|
10610
10629
|
const { mergeLabelCommand: mergeLabelCommand2 } = await Promise.resolve().then(() => (init_admin_labels(), exports_admin_labels));
|
|
@@ -13615,5 +13634,6 @@ if (__require.main == __require.module) {
|
|
|
13615
13634
|
}
|
|
13616
13635
|
export {
|
|
13617
13636
|
parseTelemetryTimestamp,
|
|
13637
|
+
labelUpdateLines,
|
|
13618
13638
|
createProgram
|
|
13619
13639
|
};
|
package/package.json
CHANGED