fluncle 0.157.0 → 0.158.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 +54 -2
  2. 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.157.0".trim() ? "0.157.0".trim() : "0.1.0";
564
+ currentVersion = "0.158.0".trim() ? "0.158.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.157.0".trim() ? "0.157.0".trim() : "0.1.0";
2192
+ currentVersion2 = "0.158.0".trim() ? "0.158.0".trim() : "0.1.0";
2193
2193
  });
2194
2194
 
2195
2195
  // ../../packages/registry/src/index.ts
@@ -3073,6 +3073,19 @@ var init_src = __esm(() => {
3073
3073
  title: "Label bios",
3074
3074
  weights: { status: "hidden" }
3075
3075
  },
3076
+ {
3077
+ command: "fluncle admin albums describe --queue",
3078
+ exposedContent: [
3079
+ "auto-author the /album/<slug> voiced bio, fill-empty-only (hybrid: one claude -p call)"
3080
+ ],
3081
+ kind: "cron",
3082
+ name: "cron.album-bio",
3083
+ operatorNotes: "every 30m. Hybrid --no-agent; one claude -p authors the paragraph, its grounding assembled WORKER-side (Firecrawl facts + the album's finding titles) via the draft-bio op. Never clobbers an operator bio. Live. Source: docs/agents/hermes/scripts/{entity-bio-sweep.ts,album-bio-sweep.sh}.",
3084
+ probeConfig: { cadenceMs: 30 * MINUTE_MS, cronName: "fluncle-album-bio", kind: "cron" },
3085
+ statusDescription: "writes each album's voiced bio",
3086
+ title: "Album bios",
3087
+ weights: { status: "hidden" }
3088
+ },
3076
3089
  {
3077
3090
  command: "fluncle admin submissions triage",
3078
3091
  exposedContent: [
@@ -6092,6 +6105,28 @@ var init_admin_covers = __esm(() => {
6092
6105
  init_api();
6093
6106
  });
6094
6107
 
6108
+ // src/commands/admin-albums.ts
6109
+ var exports_admin_albums = {};
6110
+ __export(exports_admin_albums, {
6111
+ draftAlbumBioCommand: () => draftAlbumBioCommand,
6112
+ describeAlbumCommand: () => describeAlbumCommand,
6113
+ albumsBioQueueCommand: () => albumsBioQueueCommand
6114
+ });
6115
+ async function describeAlbumCommand(slug, options) {
6116
+ return adminApiPost(`/api/admin/albums/${encodeURIComponent(slug)}/bio`, buildBioBody2(options));
6117
+ }
6118
+ async function draftAlbumBioCommand(slug) {
6119
+ return adminApiGet(`/api/admin/albums/${encodeURIComponent(slug)}/bio-draft`);
6120
+ }
6121
+ async function albumsBioQueueCommand(limit) {
6122
+ const response = await adminApiGet(`/api/admin/albums/bio-queue?limit=${limit}`);
6123
+ return response.albums;
6124
+ }
6125
+ var init_admin_albums = __esm(() => {
6126
+ init_api();
6127
+ init_admin_artists2();
6128
+ });
6129
+
6095
6130
  // src/commands/preview-migration.ts
6096
6131
  var exports_preview_migration = {};
6097
6132
  __export(exports_preview_migration, {
@@ -9284,6 +9319,23 @@ function addAdminCommands(program2) {
9284
9319
  const { draftLabelBioCommand: draftLabelBioCommand2 } = await Promise.resolve().then(() => (init_admin_labels(), exports_admin_labels));
9285
9320
  await runEntityBioDraft("label", slug, options, draftLabelBioCommand2);
9286
9321
  });
9322
+ const albums = configureCommand(admin.command("albums").description("Album entity commands (the voiced bio)"));
9323
+ albums.action(() => {
9324
+ albums.outputHelp();
9325
+ });
9326
+ albums.command("describe").description("Author the voiced bio for an album (fills an empty bio only)").argument("[slug]").option("--queue", "Show the bio worklist (albums with findings but no bio), oldest first", false).option("--limit <limit>", "Number of albums to show with --queue", "50").option("--bio <text>", "The voice-gated bio paragraph").option("--bio-file <file>", "Read the bio from a file").option("--prompt-version <n>", "The prompt-registry version that authored the bio (the sweep sends this; it is the bio's provenance)").option("--dry-run", "Run the voice gate and report the verdict without storing anything", false).option("--json", "Print JSON", false).allowExcessArguments().action(async (slug, options) => {
9327
+ if (options.queue) {
9328
+ const { albumsBioQueueCommand: albumsBioQueueCommand2 } = await Promise.resolve().then(() => (init_admin_albums(), exports_admin_albums));
9329
+ await runEntityBioQueue("album", options, albumsBioQueueCommand2);
9330
+ return;
9331
+ }
9332
+ const { describeAlbumCommand: describeAlbumCommand2 } = await Promise.resolve().then(() => (init_admin_albums(), exports_admin_albums));
9333
+ await runEntityDescribe("album", slug, options, describeAlbumCommand2);
9334
+ });
9335
+ albums.command("draft-bio").description("Assemble the Worker-grounded bio prompt for an album (the sweep's trigger)").argument("<slug>").option("--json", "Print JSON", false).allowExcessArguments().action(async (slug, options) => {
9336
+ const { draftAlbumBioCommand: draftAlbumBioCommand2 } = await Promise.resolve().then(() => (init_admin_albums(), exports_admin_albums));
9337
+ await runEntityBioDraft("album", slug, options, draftAlbumBioCommand2);
9338
+ });
9287
9339
  const migrations = configureCommand(admin.command("migrations").description("One-off operator data migrations"));
9288
9340
  migrations.action(() => {
9289
9341
  migrations.outputHelp();
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.157.0"
34
+ "version": "0.158.0"
35
35
  }