refactor(core): migrate to Bun and converge acquisition policies and Agent boundaries

This commit is contained in:
root committed 2026-10-13 14:37:03 +08:00
1 parent 3f1c6d02f6
commit 27c0f27434
268 files changed
+7468 -7852

No files matched your search

+27 -1
View File
@@ -40,6 +40,7 @@ import {
SiteKind,
SiteLastHealth,
SiteLoginResult,
SiteReleasePage,
SiteUserDataPoint,
SourceRelease,
} from "./sources.ts";
@@ -116,7 +117,31 @@ export const ReleaseSearchOutput = z.object({
});
export const ReleaseInspectInput = z.object({ sourceReleaseId: Id, refreshDetail: z.boolean().default(false) });
export const ReleaseInspectOutput = z.object({ release: SourceRelease, inventory: z.array(MediaAsset) });
export const ReleaseInspectOutput = z.object({
release: SourceRelease,
inventory: z.array(MediaAsset),
page: SiteReleasePage.nullable().optional(),
refreshError: z.string().nullable().optional(),
});
export const ReleaseStaticFacts = z
.object({
resolution: z.enum(["4320p", "2160p", "1440p", "1080p", "1080i", "720p", "576p", "480p"]).optional(),
videoCodec: z.enum(["H.265", "H.264", "AV1", "VC-1", "MPEG-2", "XviD", "DivX"]).optional(),
source: z.enum(["REMUX", "BluRay-Disc", "BluRay", "WEB-DL", "WEBRip", "HDTV", "HDRip", "DVDRip", "DVD"]).optional(),
releaseGroup: z.string().trim().min(1).max(200).optional(),
})
.strict();
export type ReleaseStaticFacts = z.infer<typeof ReleaseStaticFacts>;
export const ReleaseApplyFactsInput = z
.object({
decisionId: Id,
sourceReleaseId: Id,
facts: ReleaseStaticFacts,
evidence: z.string().trim().min(10).max(2000),
evidenceUrl: z.url().optional(),
})
.strict();
export const ReleaseApplyFactsOutput = z.object({ resolved: z.boolean(), remaining: z.array(z.string()) });
export const IdentityResolveInput = z
.object({
@@ -1136,6 +1161,7 @@ export const CAPABILITY_IO = {
"catalog.lookup": { input: CatalogLookupInput, output: CatalogLookupOutput },
"release.search": { input: ReleaseSearchInput, output: ReleaseSearchOutput },
"release.inspect": { input: ReleaseInspectInput, output: ReleaseInspectOutput },
"release.apply_facts": { input: ReleaseApplyFactsInput, output: ReleaseApplyFactsOutput },
"identity.resolve": { input: IdentityResolveInput, output: IdentityResolveOutput },
"download.plan": { input: DownloadPlanInput, output: DownloadPlanOutput },
"download.submit": { input: DownloadSubmitInput, output: DownloadSubmitOutput },