diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0705b63a..598ffa1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -650,6 +650,9 @@ importers: '@fastify/swagger': specifier: ^9.4.2 version: 9.7.0 + '@fastify/swagger-ui': + specifier: ^5.2.5 + version: 5.2.5 fastify: specifier: ^5.2.1 version: 5.7.4 diff --git a/services/extraction-service/package.json b/services/extraction-service/package.json index 9da6e5f4..2f5827b3 100644 --- a/services/extraction-service/package.json +++ b/services/extraction-service/package.json @@ -28,6 +28,7 @@ "@fastify/cors": "^10.0.2", "@fastify/rate-limit": "^10.3.0", "@fastify/swagger": "^9.4.2", + "@fastify/swagger-ui": "^5.2.5", "fastify": "^5.2.1", "fastify-metrics": "^10.3.0", "jose": "^6.0.8", diff --git a/services/platform-service/src/lib/cosmos-init.ts b/services/platform-service/src/lib/cosmos-init.ts index 52a8df25..53b1cbea 100644 --- a/services/platform-service/src/lib/cosmos-init.ts +++ b/services/platform-service/src/lib/cosmos-init.ts @@ -59,7 +59,7 @@ const CONTAINER_DEFS: Record = { maintenance_windows: { partitionKeyPath: '/productId' }, // Scheduled jobs job_definitions: { partitionKeyPath: '/productId' }, - job_runs: { partitionKeyPath: '/productId:jobName' }, + job_runs: { partitionKeyPath: '/pk' }, // Telemetry (client diagnostics — see docs/WINDSURF/CLIENT_TELEMETRY_DESIGN.md) telemetry_events: { partitionKeyPath: '/pk', defaultTtl: 30 * 86400 }, telemetry_error_clusters: { partitionKeyPath: '/pk', defaultTtl: 90 * 86400 }, diff --git a/services/platform-service/src/modules/jobs/runner.ts b/services/platform-service/src/modules/jobs/runner.ts index 8a730856..2aee2784 100644 --- a/services/platform-service/src/modules/jobs/runner.ts +++ b/services/platform-service/src/modules/jobs/runner.ts @@ -105,6 +105,7 @@ export async function executeJob( // Create run record const run: JobRunDoc = { id: runId, + pk: `${def.productId}:${def.name}`, jobName: def.name, productId: def.productId, status: 'running', diff --git a/services/platform-service/src/modules/jobs/types.ts b/services/platform-service/src/modules/jobs/types.ts index 0555fb05..a842b124 100644 --- a/services/platform-service/src/modules/jobs/types.ts +++ b/services/platform-service/src/modules/jobs/types.ts @@ -50,6 +50,7 @@ export const JobRunSchema = z.object({ export type JobRun = z.infer; export interface JobRunDoc extends JobRun { + pk: string; _ts?: number; _etag?: string; }