From 4af80cfe7a4c89575c71b2f8a83fc1605c2c31c6 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Thu, 30 Jul 2026 13:47:41 +0300 Subject: [PATCH 1/3] fix: cvat v2 manifest format --- .../server/src/common/enums/manifest.ts | 4 +++- .../server/src/common/types/manifest.ts | 12 +++++------- .../reputation-oracle/server/src/utils/manifest.ts | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts b/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts index 738b18254a..45b562bf19 100644 --- a/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts +++ b/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts @@ -8,11 +8,13 @@ export enum MarketingJobType { } export enum CvatJobType { - IMAGE_BOXES = 'image_boxes', + IMAGE_LABEL_BINARY = 'image_label_binary', IMAGE_POINTS = 'image_points', + IMAGE_BOXES = 'image_boxes', IMAGE_BOXES_FROM_POINTS = 'image_boxes_from_points', IMAGE_SKELETONS_FROM_BOXES = 'image_skeletons_from_boxes', IMAGE_POLYGONS = 'image_polygons', + AUDIO_TRANSCRIPTION = 'audio_transcription', } export const JobType = [ diff --git a/packages/apps/reputation-oracle/server/src/common/types/manifest.ts b/packages/apps/reputation-oracle/server/src/common/types/manifest.ts index 00b7d47c82..aba98c30c8 100644 --- a/packages/apps/reputation-oracle/server/src/common/types/manifest.ts +++ b/packages/apps/reputation-oracle/server/src/common/types/manifest.ts @@ -19,13 +19,11 @@ export interface MarketingManifest extends BaseManifest { } export type CvatManifest = { - annotation: { - type: CvatJobType; - }; - validation: { - min_quality: number; - }; - job_bounty: string; + version: 2; + job_type: CvatJobType; + // not necessary for RepO + data: unknown; + annotation: unknown; }; export type JobManifest = FortuneManifest | MarketingManifest | CvatManifest; diff --git a/packages/apps/reputation-oracle/server/src/utils/manifest.ts b/packages/apps/reputation-oracle/server/src/utils/manifest.ts index 7b898e0f93..10ba60db7f 100644 --- a/packages/apps/reputation-oracle/server/src/utils/manifest.ts +++ b/packages/apps/reputation-oracle/server/src/utils/manifest.ts @@ -40,8 +40,8 @@ export function getJobRequestType(manifest: JobManifest): JobRequestType { if ('requestType' in manifest) { jobRequestType = manifest.requestType; - } else if ('annotation' in manifest) { - jobRequestType = manifest.annotation.type; + } else if ('job_type' in manifest) { + jobRequestType = manifest.job_type; } if (!jobRequestType) { From 158900450048ea914f4e43f6bfa34166059c42b5 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Thu, 30 Jul 2026 13:56:52 +0300 Subject: [PATCH 2/3] fix: types in cvat manifest fixture --- .../src/modules/escrow-completion/fixtures/cvat.ts | 11 ++++------- .../cvat-payouts-calculator.spec.ts | 4 +--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/fixtures/cvat.ts b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/fixtures/cvat.ts index d1a6f89d26..1b083013f1 100644 --- a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/fixtures/cvat.ts +++ b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/fixtures/cvat.ts @@ -5,12 +5,9 @@ import { CvatManifest } from '@/common/types'; export function generateCvatManifest(): CvatManifest { return { - annotation: { - type: faker.helpers.arrayElement(Object.values(CvatJobType)), - }, - validation: { - min_quality: faker.number.float({ min: 0.1, max: 0.9 }), - }, - job_bounty: faker.finance.amount({ max: 42 }), + version: 2, + job_type: faker.helpers.arrayElement(Object.values(CvatJobType)), + data: undefined, + annotation: undefined, }; } diff --git a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/cvat-payouts-calculator.spec.ts b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/cvat-payouts-calculator.spec.ts index 13c1da8dac..d576409be9 100644 --- a/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/cvat-payouts-calculator.spec.ts +++ b/packages/apps/reputation-oracle/server/src/modules/escrow-completion/payouts-calculation/cvat-payouts-calculator.spec.ts @@ -204,12 +204,10 @@ describe('CvatPayoutsCalculator', () => { ); mockedGetReservedFunds.mockResolvedValueOnce(reservedFunds); - const manifest = generateCvatManifest(); - const payouts = await calculator.calculate({ chainId, escrowAddress, - manifest, + manifest: generateCvatManifest(), finalResultsUrl: faker.internet.url(), }); From 353e2fb402ad34ad4bb86256b994a7c0c9c7a106 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Thu, 30 Jul 2026 14:16:31 +0300 Subject: [PATCH 3/3] chore: get rid of excessive cvat job type --- .../apps/reputation-oracle/server/src/common/enums/manifest.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts b/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts index 45b562bf19..6468dda156 100644 --- a/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts +++ b/packages/apps/reputation-oracle/server/src/common/enums/manifest.ts @@ -8,7 +8,6 @@ export enum MarketingJobType { } export enum CvatJobType { - IMAGE_LABEL_BINARY = 'image_label_binary', IMAGE_POINTS = 'image_points', IMAGE_BOXES = 'image_boxes', IMAGE_BOXES_FROM_POINTS = 'image_boxes_from_points',