fluncle 0.66.0 → 0.67.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 +29 -9
- 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.67.0".trim() ? "0.67.0".trim() : "0.1.0";
|
|
427
427
|
});
|
|
428
428
|
|
|
429
429
|
// src/update-notifier.ts
|
|
@@ -2138,10 +2138,13 @@ function parseVersion2(version) {
|
|
|
2138
2138
|
var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
|
|
2139
2139
|
var init_version2 = __esm(() => {
|
|
2140
2140
|
init_output();
|
|
2141
|
-
currentVersion2 = "0.
|
|
2141
|
+
currentVersion2 = "0.67.0".trim() ? "0.67.0".trim() : "0.1.0";
|
|
2142
2142
|
});
|
|
2143
2143
|
|
|
2144
2144
|
// ../../packages/registry/src/index.ts
|
|
2145
|
+
function liveSurfaces() {
|
|
2146
|
+
return SURFACES.filter((surface) => surface.pending !== true);
|
|
2147
|
+
}
|
|
2145
2148
|
var SITE = "https://www.fluncle.com", PROBE_CADENCE_MS, PROBE_TIMEOUT_MS, MINUTE_MS, SURFACES;
|
|
2146
2149
|
var init_src = __esm(() => {
|
|
2147
2150
|
PROBE_CADENCE_MS = 10 * 60 * 1000;
|
|
@@ -2664,6 +2667,18 @@ var init_src = __esm(() => {
|
|
|
2664
2667
|
operatorNotes: "Authenticated admin/agent tier. The enrichment crons drive a subset of these.",
|
|
2665
2668
|
weights: { cli: "hidden" }
|
|
2666
2669
|
},
|
|
2670
|
+
{
|
|
2671
|
+
exposedContent: [
|
|
2672
|
+
"Fluncle Lens — the browser extension that finds fluncle:// coordinates on any page and links each to its /log/<coord> finding (with a hover card from the public API)"
|
|
2673
|
+
],
|
|
2674
|
+
kind: "extension",
|
|
2675
|
+
name: "extension.lens",
|
|
2676
|
+
operatorNotes: "Fluncle Lens (apps/extension), MV3. PENDING Chrome Web Store review — DARK until approval, then flip `pending` + set the assigned listing URL. The placeholder `url` is the store search for the listing; probeConfig is the post-approval /status check.",
|
|
2677
|
+
pending: true,
|
|
2678
|
+
probeConfig: { cadenceMs: PROBE_CADENCE_MS, kind: "http", timeoutMs: PROBE_TIMEOUT_MS },
|
|
2679
|
+
url: "https://chromewebstore.google.com/search/Fluncle%20Lens",
|
|
2680
|
+
weights: { web: "secondary" }
|
|
2681
|
+
},
|
|
2667
2682
|
{
|
|
2668
2683
|
command: "fluncle admin tracks enrich --queue",
|
|
2669
2684
|
exposedContent: [
|
|
@@ -2820,7 +2835,7 @@ var init_status = __esm(() => {
|
|
|
2820
2835
|
init_api();
|
|
2821
2836
|
serviceLabels = (() => {
|
|
2822
2837
|
const labels = new Map;
|
|
2823
|
-
for (const surface of
|
|
2838
|
+
for (const surface of liveSurfaces()) {
|
|
2824
2839
|
const match = surface.operatorNotes?.match(/service `([a-z0-9-]+)`/);
|
|
2825
2840
|
const id = match?.[1];
|
|
2826
2841
|
const label = surface.exposedContent[0];
|
|
@@ -3044,7 +3059,7 @@ __export(exports_admin_tracks, {
|
|
|
3044
3059
|
backfillDiscogsCommand: () => backfillDiscogsCommand
|
|
3045
3060
|
});
|
|
3046
3061
|
async function fetchAdminTracks(options) {
|
|
3047
|
-
const { hasContext, hasNote, hasObservation, hasVideo, max, order, status } = options;
|
|
3062
|
+
const { hasContext, hasNote, hasObservation, hasVideo, max, order, retryEmptyContext, status } = options;
|
|
3048
3063
|
const results = [];
|
|
3049
3064
|
let cursor;
|
|
3050
3065
|
do {
|
|
@@ -3055,6 +3070,9 @@ async function fetchAdminTracks(options) {
|
|
|
3055
3070
|
if (hasContext !== undefined) {
|
|
3056
3071
|
params.set("hasContext", String(hasContext));
|
|
3057
3072
|
}
|
|
3073
|
+
if (retryEmptyContext) {
|
|
3074
|
+
params.set("retryEmptyContext", "true");
|
|
3075
|
+
}
|
|
3058
3076
|
if (hasNote !== undefined) {
|
|
3059
3077
|
params.set("hasNote", String(hasNote));
|
|
3060
3078
|
}
|
|
@@ -3094,8 +3112,8 @@ async function queueCommand(limit, filters = {}) {
|
|
|
3094
3112
|
async function enrichQueueCommand(limit) {
|
|
3095
3113
|
return fetchAdminTracks({ max: limit, order: "asc", status: "queue" });
|
|
3096
3114
|
}
|
|
3097
|
-
async function contextQueueCommand(limit) {
|
|
3098
|
-
return fetchAdminTracks({ hasContext: false, max: limit, order: "asc" });
|
|
3115
|
+
async function contextQueueCommand(limit, retryEmptyContext = false) {
|
|
3116
|
+
return fetchAdminTracks({ hasContext: false, max: limit, order: "asc", retryEmptyContext });
|
|
3099
3117
|
}
|
|
3100
3118
|
async function observeQueueCommand(limit) {
|
|
3101
3119
|
return fetchAdminTracks({
|
|
@@ -6471,7 +6489,7 @@ function addAdminCommands(program2) {
|
|
|
6471
6489
|
const { trackObserveCommand: trackObserveCommand2 } = await Promise.resolve().then(() => (init_track(), exports_track));
|
|
6472
6490
|
await runTrackObserve(idOrLogId, options, trackObserveCommand2);
|
|
6473
6491
|
});
|
|
6474
|
-
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("--refresh", "Re-run the fetch even if a note exists (backfill/sharpen)", false).option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
6492
|
+
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("--retry-empty", "With --queue: also re-pick finds confirmed empty last pass (widen the net)", 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("--refresh", "Re-run the fetch even if a note exists (backfill/sharpen)", false).option("--json", "Print JSON", false).allowExcessArguments().action(async (idOrLogId, options) => {
|
|
6475
6493
|
if (options.queue) {
|
|
6476
6494
|
const { contextQueueCommand: contextQueueCommand2 } = await Promise.resolve().then(() => (init_admin_tracks(), exports_admin_tracks));
|
|
6477
6495
|
await runAdminContextQueue(options, contextQueueCommand2);
|
|
@@ -7281,7 +7299,8 @@ async function runAdminQueue(options, queueCommand2) {
|
|
|
7281
7299
|
}
|
|
7282
7300
|
async function runAdminContextQueue(options, contextQueueCommand2) {
|
|
7283
7301
|
const limit = parseListLimit(options.limit);
|
|
7284
|
-
const
|
|
7302
|
+
const retryEmpty = options.retryEmpty === true;
|
|
7303
|
+
const tracks = await contextQueueCommand2(limit, retryEmpty);
|
|
7285
7304
|
if (options.json) {
|
|
7286
7305
|
printJson({
|
|
7287
7306
|
ok: true,
|
|
@@ -7295,7 +7314,8 @@ async function runAdminContextQueue(options, contextQueueCommand2) {
|
|
|
7295
7314
|
}
|
|
7296
7315
|
const { trackRows: trackRows2 } = await Promise.resolve().then(() => (init_format2(), exports_format));
|
|
7297
7316
|
const noun = tracks.length === 1 ? "finding" : "findings";
|
|
7298
|
-
|
|
7317
|
+
const scope = retryEmpty ? " (incl. empty retries)" : "";
|
|
7318
|
+
console.log(`${tracks.length} ${noun} missing field notes${scope}, oldest first:`);
|
|
7299
7319
|
console.log(trackRows2(tracks).join(`
|
|
7300
7320
|
`));
|
|
7301
7321
|
}
|
package/package.json
CHANGED