fluncle 0.241.0 → 0.243.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 +222 -11
- package/package.json +1 -1
package/bin/fluncle.mjs
CHANGED
|
@@ -622,7 +622,7 @@ function parseVersion(version) {
|
|
|
622
622
|
var currentVersion;
|
|
623
623
|
var init_version = __esm(() => {
|
|
624
624
|
init_output();
|
|
625
|
-
currentVersion = "0.
|
|
625
|
+
currentVersion = "0.243.0".trim() ? "0.243.0".trim() : "0.1.0";
|
|
626
626
|
});
|
|
627
627
|
|
|
628
628
|
// src/update-notifier.ts
|
|
@@ -2335,7 +2335,7 @@ function parseVersion2(version) {
|
|
|
2335
2335
|
var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
|
|
2336
2336
|
var init_version2 = __esm(() => {
|
|
2337
2337
|
init_output();
|
|
2338
|
-
currentVersion2 = "0.
|
|
2338
|
+
currentVersion2 = "0.243.0".trim() ? "0.243.0".trim() : "0.1.0";
|
|
2339
2339
|
});
|
|
2340
2340
|
|
|
2341
2341
|
// ../../packages/registry/src/index.ts
|
|
@@ -3909,7 +3909,7 @@ var init_src = __esm(() => {
|
|
|
3909
3909
|
weights: { status: "hidden" }
|
|
3910
3910
|
},
|
|
3911
3911
|
{
|
|
3912
|
-
command: "fluncle admin projections get --json; fluncle admin projections advance --target <track_due_work|crawl_due_work> --action repair --limit 500 --max-steps
|
|
3912
|
+
command: "fluncle admin projections get --json; fluncle admin projections advance --target <track_due_work|crawl_due_work> --action repair --limit 500 --max-steps <adaptive> --no-terminal-status --json; fluncle admin projections advance --target <public_aggregates|artist_qualification> --action repair --limit 500 --max-steps <adaptive> --no-terminal-status --json",
|
|
3913
3913
|
exposedContent: [
|
|
3914
3914
|
"keep all four runtime projection families converged after their cutovers with one-read, serial, bounded repair (--no-agent)"
|
|
3915
3915
|
],
|
|
@@ -11435,7 +11435,7 @@ var init_admin_bios = __esm(() => {
|
|
|
11435
11435
|
});
|
|
11436
11436
|
|
|
11437
11437
|
// ../../packages/contracts/src/orpc/admin-catalogue.ts
|
|
11438
|
-
var CatalogueLensSchema, CapturePriorityReasonSchema, CatalogueMatchSchema, CatalogueTrackItemSchema, CatalogueSummarySchema, listCatalogueTracks, rankCatalogue, recordDemand, clearWrongAudio, requeueUnmatchedCaptures, requeueAnchor, requeueIsrcRecovery, flagWrongAudio, forceCapture, certifyTrack, setTrackDismissed, CaptureVerifyItemSchema, listUnverifiedCaptures, verifyCapture, CrawlPassSchema, CrawlPhaseInitializationSchema, MAX_CRAWL_PREPARE_LIMIT = 6, CrawlPhaseInputSchema, CrawlPhaseOutputSchema, CrawlStatusSchema, crawlCatalogue, getCrawlStatus, ANCHOR_CANDIDATE_LIMIT = 100, ANCHOR_ARTIST_LIMIT = 20, ANCHOR_TEXT_MAX = 300, ANCHOR_ISRC_MAX = 64, ANCHOR_ID_MAX = 64, ANCHOR_URL_MAX = 2048, AnchorCandidateSchema, anchorTrack, DEEZER_CANDIDATE_LIMIT = 5, DEEZER_TEXT_MAX = 300, DEEZER_ISRC_MAX = 64, DEEZER_TRACK_ID_MAX = 32, DeezerIsrcCandidateSchema, resolveAnchor, resolveAnchorReview, setAnchorSearch, setAnchorApify, CaptureBudgetStateSchema, getCaptureBudget, setCaptureBudget, SpotifyAnchorBreakerStateSchema, AnchorRungFlagsSchema, getSpotifyAnchorBreaker, resetSpotifyAnchorBreaker, AppleBreakerStateSchema, resetAppleBreaker, adminCatalogueContract;
|
|
11438
|
+
var CatalogueLensSchema, CapturePriorityReasonSchema, CatalogueMatchSchema, CatalogueTrackItemSchema, CatalogueSummarySchema, listCatalogueTracks, rankCatalogue, recordDemand, clearWrongAudio, requeueUnmatchedCaptures, requeueAnchor, requeueIsrcRecovery, flagWrongAudio, forceCapture, certifyTrack, setTrackDismissed, CaptureVerifyItemSchema, listUnverifiedCaptures, verifyCapture, CrawlPassSchema, CrawlPhaseInitializationSchema, MAX_CRAWL_PREPARE_LIMIT = 6, CrawlFetchPlanSchema, SuppliedCrawlBodySchema, MAX_CRAWL_COMMIT_BATCH, CRAWL_COMMIT_TOKEN_MAX_BYTES, CRAWL_COMMIT_BATCH_MAX_TOTAL_BYTES, CrawlCommitItemSchema, CrawlCommitReceiptSchema, CrawlPhaseCapabilitiesSchema, CrawlPhaseInputSchema, CrawlPhaseOutputSchema, CrawlStatusSchema, crawlCatalogue, commitCrawlNodes, getCrawlStatus, ANCHOR_CANDIDATE_LIMIT = 100, ANCHOR_ARTIST_LIMIT = 20, ANCHOR_TEXT_MAX = 300, ANCHOR_ISRC_MAX = 64, ANCHOR_ID_MAX = 64, ANCHOR_URL_MAX = 2048, AnchorCandidateSchema, anchorTrack, DEEZER_CANDIDATE_LIMIT = 5, DEEZER_TEXT_MAX = 300, DEEZER_ISRC_MAX = 64, DEEZER_TRACK_ID_MAX = 32, DeezerIsrcCandidateSchema, resolveAnchor, resolveAnchorReview, setAnchorSearch, setAnchorApify, CaptureBudgetStateSchema, getCaptureBudget, setCaptureBudget, SpotifyAnchorBreakerStateSchema, AnchorRungFlagsSchema, getSpotifyAnchorBreaker, resetSpotifyAnchorBreaker, AppleBreakerStateSchema, resetAppleBreaker, adminCatalogueContract;
|
|
11439
11439
|
var init_admin_catalogue = __esm(() => {
|
|
11440
11440
|
init_dist3();
|
|
11441
11441
|
init_zod();
|
|
@@ -11677,6 +11677,53 @@ var init_admin_catalogue = __esm(() => {
|
|
|
11677
11677
|
seeded: number2(),
|
|
11678
11678
|
seedsRearmed: number2()
|
|
11679
11679
|
});
|
|
11680
|
+
CrawlFetchPlanSchema = discriminatedUnion("kind", [
|
|
11681
|
+
object({ kind: literal("none") }),
|
|
11682
|
+
object({ kind: literal("single"), url: string2().max(2048) }),
|
|
11683
|
+
object({
|
|
11684
|
+
countField: literal("release-count"),
|
|
11685
|
+
kind: literal("tail"),
|
|
11686
|
+
pageSize: number2().int().positive(),
|
|
11687
|
+
pageUrlTemplate: string2().max(2048),
|
|
11688
|
+
probeUrl: string2().max(2048)
|
|
11689
|
+
})
|
|
11690
|
+
]);
|
|
11691
|
+
SuppliedCrawlBodySchema = object({
|
|
11692
|
+
body: json().optional(),
|
|
11693
|
+
outcome: _enum(["body", "empty", "invalid", "oversize", "throttled"]),
|
|
11694
|
+
url: string2().max(2048)
|
|
11695
|
+
});
|
|
11696
|
+
MAX_CRAWL_COMMIT_BATCH = MAX_CRAWL_PREPARE_LIMIT;
|
|
11697
|
+
CRAWL_COMMIT_TOKEN_MAX_BYTES = 2 * 1024 * 1024;
|
|
11698
|
+
CRAWL_COMMIT_BATCH_MAX_TOTAL_BYTES = 8 * 1024 * 1024;
|
|
11699
|
+
CrawlCommitItemSchema = strictObject({
|
|
11700
|
+
commitToken: string2().max(CRAWL_COMMIT_TOKEN_MAX_BYTES),
|
|
11701
|
+
operationId: literal("catalogue.crawl"),
|
|
11702
|
+
operationKey: string2().max(128),
|
|
11703
|
+
requestDigest: string2().regex(/^[0-9a-f]{64}$/)
|
|
11704
|
+
});
|
|
11705
|
+
CrawlCommitReceiptSchema = object({
|
|
11706
|
+
elapsedMs: number2().int().min(0).optional(),
|
|
11707
|
+
error: string2().max(500).optional(),
|
|
11708
|
+
operationKey: string2().max(128),
|
|
11709
|
+
outcome: _enum([
|
|
11710
|
+
"committed",
|
|
11711
|
+
"conflict",
|
|
11712
|
+
"failed",
|
|
11713
|
+
"in-progress",
|
|
11714
|
+
"lookup-failed",
|
|
11715
|
+
"rejected",
|
|
11716
|
+
"safely-retryable"
|
|
11717
|
+
]),
|
|
11718
|
+
replayed: boolean2(),
|
|
11719
|
+
result: json().optional(),
|
|
11720
|
+
resultIdentity: string2().optional(),
|
|
11721
|
+
state: _enum(["accepted", "committed", "rejected"]).optional()
|
|
11722
|
+
}).meta({ id: "CrawlCommitReceipt" });
|
|
11723
|
+
CrawlPhaseCapabilitiesSchema = strictObject({
|
|
11724
|
+
commitBatchLimit: number2().int().min(1).max(MAX_CRAWL_COMMIT_BATCH),
|
|
11725
|
+
commitBatchMaxTotalBytes: number2().int().min(1)
|
|
11726
|
+
});
|
|
11680
11727
|
CrawlPhaseInputSchema = discriminatedUnion("phase", [
|
|
11681
11728
|
object({ phase: literal("initialize") }),
|
|
11682
11729
|
object({
|
|
@@ -11684,7 +11731,11 @@ var init_admin_catalogue = __esm(() => {
|
|
|
11684
11731
|
maxHop: number2().int().min(0).max(3).default(2),
|
|
11685
11732
|
phase: literal("prepare")
|
|
11686
11733
|
}),
|
|
11687
|
-
object({
|
|
11734
|
+
object({
|
|
11735
|
+
phase: literal("fetch"),
|
|
11736
|
+
preparedToken: string2().max(2 * 1024 * 1024),
|
|
11737
|
+
supplied: array(SuppliedCrawlBodySchema).max(2).optional()
|
|
11738
|
+
}),
|
|
11688
11739
|
object({
|
|
11689
11740
|
commitToken: string2().max(2 * 1024 * 1024),
|
|
11690
11741
|
operationId: literal("catalogue.crawl"),
|
|
@@ -11701,9 +11752,15 @@ var init_admin_catalogue = __esm(() => {
|
|
|
11701
11752
|
phase: literal("initialize")
|
|
11702
11753
|
}),
|
|
11703
11754
|
object({
|
|
11755
|
+
boxFetch: boolean2(),
|
|
11756
|
+
capabilities: CrawlPhaseCapabilitiesSchema.optional(),
|
|
11704
11757
|
frontierPending: number2(),
|
|
11705
11758
|
initialization: CrawlPhaseInitializationSchema,
|
|
11706
|
-
items: array(object({
|
|
11759
|
+
items: array(object({
|
|
11760
|
+
fetchPlan: CrawlFetchPlanSchema,
|
|
11761
|
+
nodeId: string2(),
|
|
11762
|
+
preparedToken: string2()
|
|
11763
|
+
})).max(MAX_CRAWL_PREPARE_LIMIT),
|
|
11707
11764
|
kind: _enum(["drained", "prepared", "unavailable"]),
|
|
11708
11765
|
ok: literal(true),
|
|
11709
11766
|
phase: literal("prepare")
|
|
@@ -11714,6 +11771,7 @@ var init_admin_catalogue = __esm(() => {
|
|
|
11714
11771
|
operationId: literal("catalogue.crawl"),
|
|
11715
11772
|
operationKey: string2(),
|
|
11716
11773
|
phase: literal("fetch"),
|
|
11774
|
+
rateLimited: boolean2().optional(),
|
|
11717
11775
|
requestDigest: string2()
|
|
11718
11776
|
}),
|
|
11719
11777
|
object({
|
|
@@ -11770,6 +11828,19 @@ var init_admin_catalogue = __esm(() => {
|
|
|
11770
11828
|
maxHop: string2().optional()
|
|
11771
11829
|
})
|
|
11772
11830
|
})).output(union([CrawlPassSchema.extend({ ok: literal(true) }), CrawlPhaseOutputSchema]));
|
|
11831
|
+
commitCrawlNodes = oc.route({
|
|
11832
|
+
method: "POST",
|
|
11833
|
+
operationId: "commitCrawlNodes",
|
|
11834
|
+
path: "/admin/catalogue/crawl/commits",
|
|
11835
|
+
summary: "Commit one claim's fetched crawl nodes in a single admitted phase",
|
|
11836
|
+
tags: ["Admin"]
|
|
11837
|
+
}).input(strictObject({
|
|
11838
|
+
items: array(CrawlCommitItemSchema).min(1).max(MAX_CRAWL_COMMIT_BATCH)
|
|
11839
|
+
})).output(strictObject({
|
|
11840
|
+
deferred: number2().int().min(0),
|
|
11841
|
+
ok: literal(true),
|
|
11842
|
+
receipts: array(CrawlCommitReceiptSchema).max(MAX_CRAWL_COMMIT_BATCH)
|
|
11843
|
+
}));
|
|
11773
11844
|
getCrawlStatus = oc.route({
|
|
11774
11845
|
method: "GET",
|
|
11775
11846
|
operationId: "getCrawlStatus",
|
|
@@ -11949,6 +12020,7 @@ var init_admin_catalogue = __esm(() => {
|
|
|
11949
12020
|
anchor_track: anchorTrack,
|
|
11950
12021
|
certify_track: certifyTrack,
|
|
11951
12022
|
clear_wrong_audio: clearWrongAudio,
|
|
12023
|
+
commit_crawl_nodes: commitCrawlNodes,
|
|
11952
12024
|
crawl_catalogue: crawlCatalogue,
|
|
11953
12025
|
flag_wrong_audio: flagWrongAudio,
|
|
11954
12026
|
force_capture: forceCapture,
|
|
@@ -14566,7 +14638,7 @@ var init_admin_tokens = __esm(() => {
|
|
|
14566
14638
|
});
|
|
14567
14639
|
|
|
14568
14640
|
// ../../packages/contracts/src/orpc/admin-tracks.ts
|
|
14569
|
-
var UpdateTrackBodySchema, ObserveTrackBodySchema, ContextTrackBodySchema, NoteTrackBodySchema, NoteEchoSchema, PresignVideoUploadsBodySchema, FinalizeVideoBodySchema, VideoUploadSchema, updateTrack, CaptureReconciliationKindSchema, CaptureExternalResultSchema, CaptureReceiptCoordinatesSchema, CapturePreparedTrackSchema, CaptureCommittedReceiptResultSchema, CaptureRejectedReceiptResultSchema, prepareTrackCapture, authorizeTrackCapture, commitTrackCapture, observeTrack, contextTrack, noteTrack, presignTrackVideoUploads, finalizeTrackVideo, requeueVideo, purgeVideo, PublishTrackResultSchema, getTrackAdmin, listTracksAdmin, TrackWorkKindSchema, TrackWorkScopeSchema, TrackWorkItemSchema, listTrackWork, publishTrack, MixOrderStopSchema, getMixableOrder, adminTracksContract;
|
|
14641
|
+
var UpdateTrackBodySchema, ObserveTrackBodySchema, ContextTrackBodySchema, NoteTrackBodySchema, NoteEchoSchema, PresignVideoUploadsBodySchema, FinalizeVideoBodySchema, VideoUploadSchema, updateTrack, CaptureReconciliationKindSchema, CaptureExternalResultSchema, CaptureReceiptCoordinatesSchema, CapturePreparedTrackSchema, CaptureCommittedReceiptResultSchema, CaptureRejectedReceiptResultSchema, prepareTrackCapture, authorizeTrackCapture, commitTrackCapture, MAX_CAPTURE_PREPARE_BATCH = 12, MAX_CAPTURE_COMMIT_BATCH = 6, MAX_EMBEDDING_WRITE_BATCH = 6, EMBEDDING_DIMENSIONS = 1024, TrackWorkCapabilitiesSchema, ItemElapsedMsSchema, CapturePreparedItemSchema, prepareTrackCaptures, CaptureCommitReceiptSchema, commitTrackCaptures, updateTrackEmbeddings, observeTrack, contextTrack, noteTrack, presignTrackVideoUploads, finalizeTrackVideo, requeueVideo, purgeVideo, PublishTrackResultSchema, getTrackAdmin, listTracksAdmin, TrackWorkKindSchema, TrackWorkScopeSchema, TrackWorkItemSchema, listTrackWork, publishTrack, MixOrderStopSchema, getMixableOrder, adminTracksContract;
|
|
14570
14642
|
var init_admin_tracks = __esm(() => {
|
|
14571
14643
|
init_dist3();
|
|
14572
14644
|
init_zod();
|
|
@@ -14709,6 +14781,7 @@ var init_admin_tracks = __esm(() => {
|
|
|
14709
14781
|
});
|
|
14710
14782
|
CapturePreparedTrackSchema = strictObject({
|
|
14711
14783
|
analyzedFrom: _enum(["full", "preview"]).optional(),
|
|
14784
|
+
anchored: boolean2().optional(),
|
|
14712
14785
|
artists: array(string2().max(512)).max(64),
|
|
14713
14786
|
bpm: number2().optional(),
|
|
14714
14787
|
certified: boolean2(),
|
|
@@ -14807,6 +14880,100 @@ var init_admin_tracks = __esm(() => {
|
|
|
14807
14880
|
replayed: boolean2()
|
|
14808
14881
|
})
|
|
14809
14882
|
]));
|
|
14883
|
+
TrackWorkCapabilitiesSchema = strictObject({
|
|
14884
|
+
commitTrackCaptures: number2().int().min(1).max(MAX_CAPTURE_COMMIT_BATCH).optional(),
|
|
14885
|
+
prepareTrackCaptures: number2().int().min(1).max(MAX_CAPTURE_PREPARE_BATCH).optional(),
|
|
14886
|
+
updateTrackEmbeddings: number2().int().min(1).max(MAX_EMBEDDING_WRITE_BATCH).optional()
|
|
14887
|
+
});
|
|
14888
|
+
ItemElapsedMsSchema = number2().int().min(0).optional();
|
|
14889
|
+
CapturePreparedItemSchema = union([
|
|
14890
|
+
strictObject({
|
|
14891
|
+
elapsedMs: ItemElapsedMsSchema,
|
|
14892
|
+
prepared: literal(false),
|
|
14893
|
+
reason: _enum(["deferred", "ineligible", "not-found", "stale"]),
|
|
14894
|
+
trackId: string2().min(1).max(256)
|
|
14895
|
+
}),
|
|
14896
|
+
strictObject({
|
|
14897
|
+
elapsedMs: ItemElapsedMsSchema,
|
|
14898
|
+
prepared: literal(true),
|
|
14899
|
+
snapshotToken: string2().min(1).max(65536),
|
|
14900
|
+
track: CapturePreparedTrackSchema,
|
|
14901
|
+
trackId: string2().min(1).max(256)
|
|
14902
|
+
})
|
|
14903
|
+
]);
|
|
14904
|
+
prepareTrackCaptures = oc.route({
|
|
14905
|
+
method: "POST",
|
|
14906
|
+
operationId: "prepareTrackCaptures",
|
|
14907
|
+
path: "/admin/tracks/captures/prepare",
|
|
14908
|
+
summary: "Prepare a batch of capture reconciliation snapshots in one admitted phase",
|
|
14909
|
+
tags: ["Admin"]
|
|
14910
|
+
}).input(strictObject({
|
|
14911
|
+
items: array(strictObject({
|
|
14912
|
+
kind: CaptureReconciliationKindSchema,
|
|
14913
|
+
priorSnapshotToken: string2().min(1).max(65536).optional(),
|
|
14914
|
+
trackId: string2().min(1).max(256)
|
|
14915
|
+
})).min(1).max(MAX_CAPTURE_PREPARE_BATCH),
|
|
14916
|
+
reservedThisTick: number2().int().min(0).max(1e4).optional()
|
|
14917
|
+
})).output(strictObject({
|
|
14918
|
+
deferred: number2().int().min(0),
|
|
14919
|
+
ok: literal(true),
|
|
14920
|
+
reserved: number2().int().min(0),
|
|
14921
|
+
results: array(CapturePreparedItemSchema).max(MAX_CAPTURE_PREPARE_BATCH)
|
|
14922
|
+
}));
|
|
14923
|
+
CaptureCommitReceiptSchema = object({
|
|
14924
|
+
elapsedMs: ItemElapsedMsSchema,
|
|
14925
|
+
error: string2().max(500).optional(),
|
|
14926
|
+
outcome: _enum([
|
|
14927
|
+
"committed",
|
|
14928
|
+
"conflict",
|
|
14929
|
+
"failed",
|
|
14930
|
+
"in-progress",
|
|
14931
|
+
"lookup-failed",
|
|
14932
|
+
"rejected",
|
|
14933
|
+
"safely-retryable"
|
|
14934
|
+
]),
|
|
14935
|
+
replayed: boolean2(),
|
|
14936
|
+
result: union([CaptureCommittedReceiptResultSchema, CaptureRejectedReceiptResultSchema]).optional(),
|
|
14937
|
+
trackId: string2().min(1).max(256)
|
|
14938
|
+
}).meta({ id: "CaptureCommitReceipt" });
|
|
14939
|
+
commitTrackCaptures = oc.route({
|
|
14940
|
+
method: "POST",
|
|
14941
|
+
operationId: "commitTrackCaptures",
|
|
14942
|
+
path: "/admin/tracks/captures/commit",
|
|
14943
|
+
summary: "Commit a batch of prepared capture results in one admitted phase",
|
|
14944
|
+
tags: ["Admin"]
|
|
14945
|
+
}).input(strictObject({
|
|
14946
|
+
items: array(CaptureReceiptCoordinatesSchema.extend({
|
|
14947
|
+
commitToken: string2().min(1).max(65536),
|
|
14948
|
+
trackId: string2().min(1).max(256)
|
|
14949
|
+
})).min(1).max(MAX_CAPTURE_COMMIT_BATCH)
|
|
14950
|
+
})).output(strictObject({
|
|
14951
|
+
deferred: number2().int().min(0),
|
|
14952
|
+
ok: literal(true),
|
|
14953
|
+
receipts: array(CaptureCommitReceiptSchema).max(MAX_CAPTURE_COMMIT_BATCH)
|
|
14954
|
+
}));
|
|
14955
|
+
updateTrackEmbeddings = oc.route({
|
|
14956
|
+
method: "POST",
|
|
14957
|
+
operationId: "updateTrackEmbeddings",
|
|
14958
|
+
path: "/admin/tracks/embeddings",
|
|
14959
|
+
summary: "Write a batch of audio embeddings in one admitted phase",
|
|
14960
|
+
tags: ["Admin"]
|
|
14961
|
+
}).input(strictObject({
|
|
14962
|
+
items: array(strictObject({
|
|
14963
|
+
embedding: array(number2()).length(EMBEDDING_DIMENSIONS),
|
|
14964
|
+
trackId: string2().min(1).max(256)
|
|
14965
|
+
})).min(1).max(MAX_EMBEDDING_WRITE_BATCH)
|
|
14966
|
+
})).output(strictObject({
|
|
14967
|
+
deferred: number2().int().min(0),
|
|
14968
|
+
ok: literal(true),
|
|
14969
|
+
results: array(strictObject({
|
|
14970
|
+
elapsedMs: ItemElapsedMsSchema,
|
|
14971
|
+
error: string2().max(500).optional(),
|
|
14972
|
+
fields: array(string2()).optional(),
|
|
14973
|
+
outcome: _enum(["deferred", "failed", "updated"]),
|
|
14974
|
+
trackId: string2().min(1).max(256)
|
|
14975
|
+
})).max(MAX_EMBEDDING_WRITE_BATCH)
|
|
14976
|
+
}));
|
|
14810
14977
|
observeTrack = oc.route({
|
|
14811
14978
|
method: "POST",
|
|
14812
14979
|
operationId: "observeTrack",
|
|
@@ -15000,10 +15167,13 @@ var init_admin_tracks = __esm(() => {
|
|
|
15000
15167
|
tags: ["Admin"]
|
|
15001
15168
|
}).input(object({
|
|
15002
15169
|
count: string2().optional(),
|
|
15170
|
+
debtAware: string2().optional(),
|
|
15003
15171
|
kind: TrackWorkKindSchema,
|
|
15004
15172
|
limit: number3().int().min(1).max(250).default(50),
|
|
15005
15173
|
scope: TrackWorkScopeSchema.default("all")
|
|
15006
15174
|
})).output(object({
|
|
15175
|
+
capabilities: TrackWorkCapabilitiesSchema.optional(),
|
|
15176
|
+
debtPending: boolean2().optional(),
|
|
15007
15177
|
ok: literal(true),
|
|
15008
15178
|
queued: number2().optional(),
|
|
15009
15179
|
tracks: array(TrackWorkItemSchema)
|
|
@@ -15044,6 +15214,7 @@ var init_admin_tracks = __esm(() => {
|
|
|
15044
15214
|
adminTracksContract = {
|
|
15045
15215
|
authorize_track_capture: authorizeTrackCapture,
|
|
15046
15216
|
commit_track_capture: commitTrackCapture,
|
|
15217
|
+
commit_track_captures: commitTrackCaptures,
|
|
15047
15218
|
context_track: contextTrack,
|
|
15048
15219
|
finalize_track_video: finalizeTrackVideo,
|
|
15049
15220
|
get_mixable_order: getMixableOrder,
|
|
@@ -15053,11 +15224,13 @@ var init_admin_tracks = __esm(() => {
|
|
|
15053
15224
|
note_track: noteTrack,
|
|
15054
15225
|
observe_track: observeTrack,
|
|
15055
15226
|
prepare_track_capture: prepareTrackCapture,
|
|
15227
|
+
prepare_track_captures: prepareTrackCaptures,
|
|
15056
15228
|
presign_track_video_uploads: presignTrackVideoUploads,
|
|
15057
15229
|
publish_track: publishTrack,
|
|
15058
15230
|
purge_video: purgeVideo,
|
|
15059
15231
|
requeue_video: requeueVideo,
|
|
15060
|
-
update_track: updateTrack
|
|
15232
|
+
update_track: updateTrack,
|
|
15233
|
+
update_track_embeddings: updateTrackEmbeddings
|
|
15061
15234
|
};
|
|
15062
15235
|
});
|
|
15063
15236
|
|
|
@@ -17012,9 +17185,14 @@ async function trackWorkCommand(options) {
|
|
|
17012
17185
|
});
|
|
17013
17186
|
if (options.count) {
|
|
17014
17187
|
params.set("count", "true");
|
|
17188
|
+
params.set("debtAware", "true");
|
|
17015
17189
|
}
|
|
17016
17190
|
const response = await adminApiGet(`/api/v1/admin/tracks/work?${params.toString()}`);
|
|
17017
|
-
return {
|
|
17191
|
+
return {
|
|
17192
|
+
debtPending: response.debtPending,
|
|
17193
|
+
queued: response.queued,
|
|
17194
|
+
tracks: response.tracks ?? []
|
|
17195
|
+
};
|
|
17018
17196
|
}
|
|
17019
17197
|
async function requeueAnalysisCommand(options) {
|
|
17020
17198
|
const findings = await fetchAdminTracks({ max: options.max, order: "asc" });
|
|
@@ -17157,6 +17335,15 @@ async function mixableOrderCommand(logIds, seed) {
|
|
|
17157
17335
|
}
|
|
17158
17336
|
return adminApiGet(`/api/v1/admin/tracks/mixable-order?${params.toString()}`);
|
|
17159
17337
|
}
|
|
17338
|
+
async function prepareTrackCapturesCommand(body) {
|
|
17339
|
+
return adminApiPost("/api/v1/admin/tracks/captures/prepare", body);
|
|
17340
|
+
}
|
|
17341
|
+
async function commitTrackCapturesCommand(body) {
|
|
17342
|
+
return adminApiPost("/api/v1/admin/tracks/captures/commit", body);
|
|
17343
|
+
}
|
|
17344
|
+
async function updateTrackEmbeddingsCommand(body) {
|
|
17345
|
+
return adminApiPost("/api/v1/admin/tracks/embeddings", body);
|
|
17346
|
+
}
|
|
17160
17347
|
var pageSize3 = 48;
|
|
17161
17348
|
var init_admin_tracks2 = __esm(() => {
|
|
17162
17349
|
init_api();
|
|
@@ -18603,6 +18790,9 @@ async function crawlCatalogueCommand(limit, maxHop, dryRun) {
|
|
|
18603
18790
|
async function crawlCataloguePhaseCommand(body) {
|
|
18604
18791
|
return adminApiPost("/api/v1/admin/catalogue/crawl", body);
|
|
18605
18792
|
}
|
|
18793
|
+
async function commitCrawlNodesCommand(body) {
|
|
18794
|
+
return adminApiPost("/api/v1/admin/catalogue/crawl/commits", body);
|
|
18795
|
+
}
|
|
18606
18796
|
async function crawlStatusCommand() {
|
|
18607
18797
|
return adminApiGet("/api/v1/admin/catalogue/crawl");
|
|
18608
18798
|
}
|
|
@@ -21749,6 +21939,18 @@ JSON field reference:
|
|
|
21749
21939
|
await Promise.resolve().then(() => init_admin_tracks2());
|
|
21750
21940
|
await runAdminTrackWork(options, trackWorkCommand);
|
|
21751
21941
|
});
|
|
21942
|
+
adminTracks.command("prepare-captures").description("Freeze a batch of capture snapshots in one admitted phase").requiredOption("--file <path>", "JSON file holding the batch body ({ items: [...] })").option("--json", "Print JSON", false).action(async (options) => {
|
|
21943
|
+
await Promise.resolve().then(() => init_admin_tracks2());
|
|
21944
|
+
printJson(await prepareTrackCapturesCommand(JSON.parse(readFileSync6(options.file, "utf8"))));
|
|
21945
|
+
});
|
|
21946
|
+
adminTracks.command("commit-captures").description("Commit a batch of prepared capture results in one admitted phase").requiredOption("--file <path>", "JSON file holding the batch body ({ items: [...] })").option("--json", "Print JSON", false).action(async (options) => {
|
|
21947
|
+
await Promise.resolve().then(() => init_admin_tracks2());
|
|
21948
|
+
printJson(await commitTrackCapturesCommand(JSON.parse(readFileSync6(options.file, "utf8"))));
|
|
21949
|
+
});
|
|
21950
|
+
adminTracks.command("update-embeddings").description("Write a batch of audio embeddings in one admitted phase").requiredOption("--file <path>", "JSON file holding the batch body ({ items: [...] })").option("--json", "Print JSON", false).action(async (options) => {
|
|
21951
|
+
await Promise.resolve().then(() => init_admin_tracks2());
|
|
21952
|
+
printJson(await updateTrackEmbeddingsCommand(JSON.parse(readFileSync6(options.file, "utf8"))));
|
|
21953
|
+
});
|
|
21752
21954
|
adminTracks.command("requeue-analysis").description("Re-queue findings whose BPM/key are preview-grade (dry-run; --apply to flip)").option("--apply", "Actually flip statuses (default is a dry-run preview)", false).option("--limit <limit>", "Cap the archive walk (default: the whole archive)").option("--json", "Print JSON", false).action(async (options) => {
|
|
21753
21955
|
await Promise.resolve().then(() => init_admin_tracks2());
|
|
21754
21956
|
await runAdminRequeueAnalysis(options, requeueAnalysisCommand);
|
|
@@ -22339,6 +22541,11 @@ JSON field reference:
|
|
|
22339
22541
|
}
|
|
22340
22542
|
await runCrawlCatalogue(options, crawlCatalogueCommand);
|
|
22341
22543
|
});
|
|
22544
|
+
catalogue.command("commit-nodes").description("Commit one claim's fetched crawl nodes in a single admitted phase").requiredOption("--file <path>", "JSON file holding the batch body ({ items: [...] })").option("--json", "Print JSON", false).action(async (options) => {
|
|
22545
|
+
await Promise.resolve().then(() => init_admin_catalogue2());
|
|
22546
|
+
const body = JSON.parse(readFileSync6(options.file, "utf8"));
|
|
22547
|
+
printJson(await commitCrawlNodesCommand(body));
|
|
22548
|
+
});
|
|
22342
22549
|
catalogue.command("status").description("The crawl frontier's state, the catalogue's size, and the seed set").option("--json", "Print JSON", false).action(async (options) => {
|
|
22343
22550
|
await Promise.resolve().then(() => init_admin_catalogue2());
|
|
22344
22551
|
await runCrawlStatus(options, crawlStatusCommand);
|
|
@@ -25135,14 +25342,18 @@ async function runAdminTrackWork(options, trackWorkCommand) {
|
|
|
25135
25342
|
process.exitCode = 1;
|
|
25136
25343
|
return;
|
|
25137
25344
|
}
|
|
25138
|
-
const { queued, tracks } = await trackWorkCommand({
|
|
25345
|
+
const { debtPending, queued, tracks } = await trackWorkCommand({
|
|
25139
25346
|
count: options.count,
|
|
25140
25347
|
kind,
|
|
25141
25348
|
limit: parseListLimit(options.limit),
|
|
25142
25349
|
scope
|
|
25143
25350
|
});
|
|
25144
25351
|
if (options.json) {
|
|
25145
|
-
printJson({ ok: true, queued, tracks });
|
|
25352
|
+
printJson({ debtPending, ok: true, queued, tracks });
|
|
25353
|
+
return;
|
|
25354
|
+
}
|
|
25355
|
+
if (debtPending === true) {
|
|
25356
|
+
console.log(`${queued ?? 0} queued to ${kind} (${scope}) \u2014 page held back, due-work repair is still converging.`);
|
|
25146
25357
|
return;
|
|
25147
25358
|
}
|
|
25148
25359
|
if (tracks.length === 0) {
|
package/package.json
CHANGED