@contractspec/lib.jobs 1.44.0 → 1.45.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/contracts/index.ts"],"sourcesContent":[],"mappings":";;;;cAOa,qCAAQ;;UAmBnB,0BAAA,CAAA;;EAnBW,CAAA;EAmBX,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;EAnBmB,QAAA,EAAA;IAqBR,IAAA,sCAkBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;EAlB4B,WAAA,EAAA;IAoBjB,IAAA,sCAUX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;EAV0B,WAAA,EAAA;IAmHf,IAAA,sCA4BX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;cAnKW,iBAuIkB,6BAvID,WAuIC,CAAA;EAAA,EAAA,EAAA;UArH7B,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAqH6B,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EAiClB,CAAA;EAkBX,SAAA,EAAA;8CAlByB,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;cApJd,4CAAe;;UAU1B,0BAAA,CAAA;;;;;;;;;;;;IA0IyB,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAuBd,UAAA,EAAA,KA0CX;EAAA,CAAA;;IA1C4B,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;AA+C9B;AAkBE,cAzHW,kBAuGqB,gCAvGH,aAuGG,4BAvGH,WAuGG,CAAA;EAAA,IAAA,EAAA;UA3EhC,0BAAA,CAAA;;;;8CA2EgC,CAAA,OAAA,EAAA,OAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAAA,CAAA;EAuBrB,YAAA,EAAA;IAkBX,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;8CAlBqC,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;;;UA9HR,0BAAA,CAAA;;;EA8HQ,IAAA,EAAA;IAuB1B,IAAA,sCAkBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAlBoC,CAAA;;;;;;;;;;;;;;8CAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAAA,CAAA;EAuBzB,QAAA,EAAA;IAkBX,IAAA,sCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;EAlBqC,UAAA,EAAA;;;;;;;;;;;;;;;EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA3I1B,8CAAc,yCAAA;;UAkBzB,0BAAA,CAAA;;;;;UAlByB,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBd,iDAAiB,yCAAA;;UA0C5B,0BAAA,CAAA;;;;;UA1C4B,0BAAA,CAAA;;;;;;;;;;;;;;;;;cA+CjB,uBAAqB,6BAAA,CAAA,cAkBhC,0BAAA,CAlBgC,cAAA,6BAAA;;UAAA,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;cAuBrB,0DAA0B,yCAAA;;UAkBrC,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAlBqC,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuB1B,2BAAyB,6BAAA,CAAA,cAkBpC,0BAAA,CAlBoC,cAAA,6BAAA;;;;cAAA,0BAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBzB,0DAA0B,yCAAA;;UAkBrC,0BAAA,CAAA;;;;;;;;;UAlBqC,0BAAA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/contracts/index.ts"],"sourcesContent":[],"mappings":";;;;cAOa,oCAAQ;;UAmBnB,yBAAA,CAAA;;EAnBW,CAAA;EAmBX,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;EAnBmB,QAAA,EAAA;IAqBR,IAAA,qCAkBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;;;;;;;;;;;;;;EAlB4B,WAAA,EAAA;IAoBjB,IAAA,qCAUX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;EAV0B,WAAA,EAAA;IAmHf,IAAA,qCA4BX,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;cAnKW,iBAuIkB,4BAvID,WAuIC,CAAA;EAAA,EAAA,EAAA;UArH7B,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAqH6B,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EAiClB,CAAA;EAkBX,SAAA,EAAA;6CAlByB,KAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;cApJd,2CAAe;;UAU1B,yBAAA,CAAA;;;;;;;;;;;;IA0IyB,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAuBd,UAAA,EAAA,KA0CX;EAAA,CAAA;;IA1C4B,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;AA+C9B;AAkBE,cAzHW,kBAuGqB,+BAvGH,aAuGG,2BAvGH,WAuGG,CAAA;EAAA,IAAA,EAAA;UA3EhC,yBAAA,CAAA;;;;6CA2EgC,CAAA,OAAA,EAAA,OAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAAA,CAAA;EAuBrB,YAAA,EAAA;IAkBX,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;;;;6CAlBqC,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;;;UA9HR,yBAAA,CAAA;;;EA8HQ,IAAA,EAAA;IAuB1B,IAAA,qCAkBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAlBoC,CAAA;;;;;;;;;;;;;;6CAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAAA;EAAA,CAAA;EAuBzB,QAAA,EAAA;IAkBX,IAAA,qCAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;EAlBqC,UAAA,EAAA;;;;;;;;;;;;;;;EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA3I1B,6CAAc,wCAAA;;UAkBzB,yBAAA,CAAA;;;;;UAlByB,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBd,gDAAiB,wCAAA;;UA0C5B,yBAAA,CAAA;;;;;UA1C4B,yBAAA,CAAA;;;;;;;;;;;;;;;;;cA+CjB,uBAAqB,4BAAA,CAAA,cAkBhC,yBAAA,CAlBgC,cAAA,4BAAA;;UAAA,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;cAuBrB,yDAA0B,wCAAA;;UAkBrC,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAlBqC,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuB1B,2BAAyB,4BAAA,CAAA,cAkBpC,yBAAA,CAlBoC,cAAA,4BAAA;;;;cAAA,yBAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBzB,yDAA0B,wCAAA;;UAkBrC,yBAAA,CAAA;;;;;;;;;UAlBqC,yBAAA,CAAA"}
@@ -16,7 +16,7 @@ const JobModel = defineSchemaModel({
16
16
  isOptional: false
17
17
  },
18
18
  version: {
19
- type: ScalarTypeEnum.Int_unsecure(),
19
+ type: ScalarTypeEnum.String_unsecure(),
20
20
  isOptional: false
21
21
  },
22
22
  payload: {
@@ -300,7 +300,7 @@ const JobCancelledPayload = defineSchemaModel({
300
300
  const EnqueueJobContract = defineCommand({
301
301
  meta: {
302
302
  key: "jobs.enqueue",
303
- version: 1,
303
+ version: "1.0.0",
304
304
  stability: "stable",
305
305
  owners: [...OWNERS],
306
306
  tags: ["jobs", "enqueue"],
@@ -315,7 +315,7 @@ const EnqueueJobContract = defineCommand({
315
315
  policy: { auth: "user" },
316
316
  sideEffects: { emits: [{
317
317
  key: "job.enqueued",
318
- version: 1,
318
+ version: "1.0.0",
319
319
  when: "Job is enqueued",
320
320
  payload: JobEnqueuedPayload
321
321
  }] }
@@ -326,7 +326,7 @@ const EnqueueJobContract = defineCommand({
326
326
  const GetJobContract = defineQuery({
327
327
  meta: {
328
328
  key: "jobs.get",
329
- version: 1,
329
+ version: "1.0.0",
330
330
  stability: "stable",
331
331
  owners: [...OWNERS],
332
332
  tags: ["jobs", "get"],
@@ -346,7 +346,7 @@ const GetJobContract = defineQuery({
346
346
  const CancelJobContract = defineCommand({
347
347
  meta: {
348
348
  key: "jobs.cancel",
349
- version: 1,
349
+ version: "1.0.0",
350
350
  stability: "stable",
351
351
  owners: [...OWNERS],
352
352
  tags: ["jobs", "cancel"],
@@ -375,7 +375,7 @@ const CancelJobContract = defineCommand({
375
375
  policy: { auth: "user" },
376
376
  sideEffects: { emits: [{
377
377
  key: "job.cancelled",
378
- version: 1,
378
+ version: "1.0.0",
379
379
  when: "Job is cancelled",
380
380
  payload: JobCancelledPayload
381
381
  }] }
@@ -386,7 +386,7 @@ const CancelJobContract = defineCommand({
386
386
  const GetQueueStatsContract = defineQuery({
387
387
  meta: {
388
388
  key: "jobs.stats",
389
- version: 1,
389
+ version: "1.0.0",
390
390
  stability: "stable",
391
391
  owners: [...OWNERS],
392
392
  tags: [
@@ -410,7 +410,7 @@ const GetQueueStatsContract = defineQuery({
410
410
  const CreateScheduledJobContract = defineCommand({
411
411
  meta: {
412
412
  key: "jobs.schedule.create",
413
- version: 1,
413
+ version: "1.0.0",
414
414
  stability: "stable",
415
415
  owners: [...OWNERS],
416
416
  tags: [
@@ -434,7 +434,7 @@ const CreateScheduledJobContract = defineCommand({
434
434
  const ListScheduledJobsContract = defineQuery({
435
435
  meta: {
436
436
  key: "jobs.schedule.list",
437
- version: 1,
437
+ version: "1.0.0",
438
438
  stability: "stable",
439
439
  owners: [...OWNERS],
440
440
  tags: [
@@ -458,7 +458,7 @@ const ListScheduledJobsContract = defineQuery({
458
458
  const ToggleScheduledJobContract = defineCommand({
459
459
  meta: {
460
460
  key: "jobs.schedule.toggle",
461
- version: 1,
461
+ version: "1.0.0",
462
462
  stability: "stable",
463
463
  owners: [...OWNERS],
464
464
  tags: [
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/contracts/index.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineCommand, defineQuery } from '@contractspec/lib.contracts';\n\nconst OWNERS = ['platform.jobs'] as const;\n\n// ============ Schema Models ============\n\nexport const JobModel = defineSchemaModel({\n name: 'Job',\n description: 'Represents a background job',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n version: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n payload: { type: ScalarTypeEnum.JSON(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false }, // JobStatus enum value\n priority: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n attempts: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n maxRetries: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n scheduledAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n lastError: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nexport const ScheduledJobModel = defineSchemaModel({\n name: 'ScheduledJob',\n description: 'Represents a scheduled/recurring job',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n cronExpression: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n timezone: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n jobType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n lastRunAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n nextRunAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const QueueStatsModel = defineSchemaModel({\n name: 'QueueStats',\n description: 'Job queue statistics',\n fields: {\n pending: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n running: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n completed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n failed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n deadLetter: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n },\n});\n\n// ============ Input/Output Models ============\n\nconst EnqueueJobInput = defineSchemaModel({\n name: 'EnqueueJobInput',\n description: 'Input for enqueuing a new job',\n fields: {\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n payload: { type: ScalarTypeEnum.JSON(), isOptional: false },\n delaySeconds: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n dedupeKey: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n maxRetries: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n priority: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n },\n});\n\nconst GetJobInput = defineSchemaModel({\n name: 'GetJobInput',\n description: 'Input for getting a job by ID',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst CancelJobInput = defineSchemaModel({\n name: 'CancelJobInput',\n description: 'Input for cancelling a job',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst CancelJobOutput = defineSchemaModel({\n name: 'CancelJobOutput',\n description: 'Output for cancel job operation',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nconst CreateScheduledJobInput = defineSchemaModel({\n name: 'CreateScheduledJobInput',\n description: 'Input for creating a scheduled job',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n cronExpression: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n timezone: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n jobType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n payload: { type: ScalarTypeEnum.JSON(), isOptional: true },\n maxRetries: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n },\n});\n\nconst ListScheduledJobsOutput = defineSchemaModel({\n name: 'ListScheduledJobsOutput',\n description: 'Output for listing scheduled jobs',\n fields: {\n schedules: { type: ScheduledJobModel, isArray: true, isOptional: false },\n },\n});\n\nconst ToggleScheduledJobInput = defineSchemaModel({\n name: 'ToggleScheduledJobInput',\n description: 'Input for toggling a scheduled job',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\n// ============ Event Payloads ============\n\nconst JobEnqueuedPayload = defineSchemaModel({\n name: 'JobEnqueuedPayload',\n description: 'Payload for job.enqueued event',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n priority: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n scheduledAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n tenantId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n enqueuedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst JobCancelledPayload = defineSchemaModel({\n name: 'JobCancelledPayload',\n description: 'Payload for job.cancelled event',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\n// ============ Contracts ============\n\n/**\n * Enqueue a job.\n */\nexport const EnqueueJobContract = defineCommand({\n meta: {\n key: 'jobs.enqueue',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'enqueue'],\n description: 'Enqueue a background job for async processing.',\n goal: 'Allow services to offload work to background processing.',\n context: 'Called by any service that needs async processing.',\n },\n io: {\n input: EnqueueJobInput,\n output: JobModel,\n },\n policy: {\n auth: 'user',\n },\n sideEffects: {\n emits: [\n {\n key: 'job.enqueued',\n version: 1,\n when: 'Job is enqueued',\n payload: JobEnqueuedPayload,\n },\n ],\n },\n});\n\n/**\n * Get job by ID.\n */\nexport const GetJobContract = defineQuery({\n meta: {\n key: 'jobs.get',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'get'],\n description: 'Get a job by ID.',\n goal: 'Check job status and result.',\n context: 'Called to poll job status or retrieve results.',\n },\n io: {\n input: GetJobInput,\n output: JobModel,\n },\n policy: {\n auth: 'user',\n },\n});\n\n/**\n * Cancel a job.\n */\nexport const CancelJobContract = defineCommand({\n meta: {\n key: 'jobs.cancel',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'cancel'],\n description: 'Cancel a pending job.',\n goal: 'Allow cancellation of jobs that are no longer needed.',\n context: 'Only pending jobs can be cancelled.',\n },\n io: {\n input: CancelJobInput,\n output: CancelJobOutput,\n errors: {\n JOB_NOT_FOUND: {\n description: 'Job does not exist',\n http: 404,\n gqlCode: 'JOB_NOT_FOUND',\n when: 'Job ID is invalid',\n },\n JOB_NOT_PENDING: {\n description: 'Job is not in pending state',\n http: 409,\n gqlCode: 'JOB_NOT_PENDING',\n when: 'Job has already started or completed',\n },\n },\n },\n policy: {\n auth: 'user',\n },\n sideEffects: {\n emits: [\n {\n key: 'job.cancelled',\n version: 1,\n when: 'Job is cancelled',\n payload: JobCancelledPayload,\n },\n ],\n },\n});\n\n/**\n * Get queue statistics.\n */\nexport const GetQueueStatsContract = defineQuery({\n meta: {\n key: 'jobs.stats',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'stats', 'admin'],\n description: 'Get job queue statistics.',\n goal: 'Monitor queue health and backlog.',\n context: 'Admin dashboard monitoring.',\n },\n io: {\n input: null,\n output: QueueStatsModel,\n },\n policy: {\n auth: 'admin',\n },\n});\n\n/**\n * Create a scheduled job.\n */\nexport const CreateScheduledJobContract = defineCommand({\n meta: {\n key: 'jobs.schedule.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'schedule', 'create'],\n description: 'Create a scheduled/recurring job.',\n goal: 'Set up recurring background tasks.',\n context: 'Admin configuration for periodic tasks.',\n },\n io: {\n input: CreateScheduledJobInput,\n output: ScheduledJobModel,\n },\n policy: {\n auth: 'admin',\n },\n});\n\n/**\n * List scheduled jobs.\n */\nexport const ListScheduledJobsContract = defineQuery({\n meta: {\n key: 'jobs.schedule.list',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'schedule', 'list'],\n description: 'List all scheduled jobs.',\n goal: 'View configured recurring tasks.',\n context: 'Admin dashboard.',\n },\n io: {\n input: null,\n output: ListScheduledJobsOutput,\n },\n policy: {\n auth: 'admin',\n },\n});\n\n/**\n * Toggle scheduled job enabled state.\n */\nexport const ToggleScheduledJobContract = defineCommand({\n meta: {\n key: 'jobs.schedule.toggle',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'schedule', 'toggle'],\n description: 'Enable or disable a scheduled job.',\n goal: 'Control when recurring tasks run.',\n context: 'Admin control over scheduled tasks.',\n },\n io: {\n input: ToggleScheduledJobInput,\n output: ScheduledJobModel,\n },\n policy: {\n auth: 'admin',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/contracts/index.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineCommand, defineQuery } from '@contractspec/lib.contracts';\n\nconst OWNERS = ['platform.jobs'] as const;\n\n// ============ Schema Models ============\n\nexport const JobModel = defineSchemaModel({\n name: 'Job',\n description: 'Represents a background job',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n version: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n payload: { type: ScalarTypeEnum.JSON(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false }, // JobStatus enum value\n priority: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n attempts: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n maxRetries: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n scheduledAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n completedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n lastError: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nexport const ScheduledJobModel = defineSchemaModel({\n name: 'ScheduledJob',\n description: 'Represents a scheduled/recurring job',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n cronExpression: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n timezone: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n jobType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n lastRunAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n nextRunAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const QueueStatsModel = defineSchemaModel({\n name: 'QueueStats',\n description: 'Job queue statistics',\n fields: {\n pending: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n running: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n completed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n failed: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n deadLetter: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n },\n});\n\n// ============ Input/Output Models ============\n\nconst EnqueueJobInput = defineSchemaModel({\n name: 'EnqueueJobInput',\n description: 'Input for enqueuing a new job',\n fields: {\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n payload: { type: ScalarTypeEnum.JSON(), isOptional: false },\n delaySeconds: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n dedupeKey: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n maxRetries: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n priority: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n timeoutMs: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n },\n});\n\nconst GetJobInput = defineSchemaModel({\n name: 'GetJobInput',\n description: 'Input for getting a job by ID',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst CancelJobInput = defineSchemaModel({\n name: 'CancelJobInput',\n description: 'Input for cancelling a job',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst CancelJobOutput = defineSchemaModel({\n name: 'CancelJobOutput',\n description: 'Output for cancel job operation',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nconst CreateScheduledJobInput = defineSchemaModel({\n name: 'CreateScheduledJobInput',\n description: 'Input for creating a scheduled job',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n description: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n cronExpression: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n timezone: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n jobType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n payload: { type: ScalarTypeEnum.JSON(), isOptional: true },\n maxRetries: { type: ScalarTypeEnum.Int_unsecure(), isOptional: true },\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: true },\n },\n});\n\nconst ListScheduledJobsOutput = defineSchemaModel({\n name: 'ListScheduledJobsOutput',\n description: 'Output for listing scheduled jobs',\n fields: {\n schedules: { type: ScheduledJobModel, isArray: true, isOptional: false },\n },\n});\n\nconst ToggleScheduledJobInput = defineSchemaModel({\n name: 'ToggleScheduledJobInput',\n description: 'Input for toggling a scheduled job',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n enabled: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\n// ============ Event Payloads ============\n\nconst JobEnqueuedPayload = defineSchemaModel({\n name: 'JobEnqueuedPayload',\n description: 'Payload for job.enqueued event',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n priority: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n scheduledAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n tenantId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n enqueuedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst JobCancelledPayload = defineSchemaModel({\n name: 'JobCancelledPayload',\n description: 'Payload for job.cancelled event',\n fields: {\n jobId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\n// ============ Contracts ============\n\n/**\n * Enqueue a job.\n */\nexport const EnqueueJobContract = defineCommand({\n meta: {\n key: 'jobs.enqueue',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'enqueue'],\n description: 'Enqueue a background job for async processing.',\n goal: 'Allow services to offload work to background processing.',\n context: 'Called by any service that needs async processing.',\n },\n io: {\n input: EnqueueJobInput,\n output: JobModel,\n },\n policy: {\n auth: 'user',\n },\n sideEffects: {\n emits: [\n {\n key: 'job.enqueued',\n version: '1.0.0',\n when: 'Job is enqueued',\n payload: JobEnqueuedPayload,\n },\n ],\n },\n});\n\n/**\n * Get job by ID.\n */\nexport const GetJobContract = defineQuery({\n meta: {\n key: 'jobs.get',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'get'],\n description: 'Get a job by ID.',\n goal: 'Check job status and result.',\n context: 'Called to poll job status or retrieve results.',\n },\n io: {\n input: GetJobInput,\n output: JobModel,\n },\n policy: {\n auth: 'user',\n },\n});\n\n/**\n * Cancel a job.\n */\nexport const CancelJobContract = defineCommand({\n meta: {\n key: 'jobs.cancel',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'cancel'],\n description: 'Cancel a pending job.',\n goal: 'Allow cancellation of jobs that are no longer needed.',\n context: 'Only pending jobs can be cancelled.',\n },\n io: {\n input: CancelJobInput,\n output: CancelJobOutput,\n errors: {\n JOB_NOT_FOUND: {\n description: 'Job does not exist',\n http: 404,\n gqlCode: 'JOB_NOT_FOUND',\n when: 'Job ID is invalid',\n },\n JOB_NOT_PENDING: {\n description: 'Job is not in pending state',\n http: 409,\n gqlCode: 'JOB_NOT_PENDING',\n when: 'Job has already started or completed',\n },\n },\n },\n policy: {\n auth: 'user',\n },\n sideEffects: {\n emits: [\n {\n key: 'job.cancelled',\n version: '1.0.0',\n when: 'Job is cancelled',\n payload: JobCancelledPayload,\n },\n ],\n },\n});\n\n/**\n * Get queue statistics.\n */\nexport const GetQueueStatsContract = defineQuery({\n meta: {\n key: 'jobs.stats',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'stats', 'admin'],\n description: 'Get job queue statistics.',\n goal: 'Monitor queue health and backlog.',\n context: 'Admin dashboard monitoring.',\n },\n io: {\n input: null,\n output: QueueStatsModel,\n },\n policy: {\n auth: 'admin',\n },\n});\n\n/**\n * Create a scheduled job.\n */\nexport const CreateScheduledJobContract = defineCommand({\n meta: {\n key: 'jobs.schedule.create',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'schedule', 'create'],\n description: 'Create a scheduled/recurring job.',\n goal: 'Set up recurring background tasks.',\n context: 'Admin configuration for periodic tasks.',\n },\n io: {\n input: CreateScheduledJobInput,\n output: ScheduledJobModel,\n },\n policy: {\n auth: 'admin',\n },\n});\n\n/**\n * List scheduled jobs.\n */\nexport const ListScheduledJobsContract = defineQuery({\n meta: {\n key: 'jobs.schedule.list',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'schedule', 'list'],\n description: 'List all scheduled jobs.',\n goal: 'View configured recurring tasks.',\n context: 'Admin dashboard.',\n },\n io: {\n input: null,\n output: ListScheduledJobsOutput,\n },\n policy: {\n auth: 'admin',\n },\n});\n\n/**\n * Toggle scheduled job enabled state.\n */\nexport const ToggleScheduledJobContract = defineCommand({\n meta: {\n key: 'jobs.schedule.toggle',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['jobs', 'schedule', 'toggle'],\n description: 'Enable or disable a scheduled job.',\n goal: 'Control when recurring tasks run.',\n context: 'Admin control over scheduled tasks.',\n },\n io: {\n input: ToggleScheduledJobInput,\n output: ScheduledJobModel,\n },\n policy: {\n auth: 'admin',\n },\n});\n"],"mappings":"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"}
@@ -1,140 +1,140 @@
1
- import * as _contractspec_lib_schema234 from "@contractspec/lib.schema";
1
+ import * as _contractspec_lib_schema138 from "@contractspec/lib.schema";
2
2
  import { ModuleSchemaContribution } from "@contractspec/lib.schema";
3
3
 
4
4
  //#region src/entities/index.d.ts
5
5
  /**
6
6
  * Job status enum.
7
7
  */
8
- declare const JobStatusEnum: _contractspec_lib_schema234.EntityEnumDef;
8
+ declare const JobStatusEnum: _contractspec_lib_schema138.EntityEnumDef;
9
9
  /**
10
10
  * Job entity - represents a single job execution.
11
11
  */
12
- declare const JobEntity: _contractspec_lib_schema234.EntitySpec<{
13
- id: _contractspec_lib_schema234.EntityScalarField;
14
- type: _contractspec_lib_schema234.EntityScalarField;
15
- version: _contractspec_lib_schema234.EntityScalarField;
16
- payload: _contractspec_lib_schema234.EntityScalarField;
17
- status: _contractspec_lib_schema234.EntityEnumField;
18
- priority: _contractspec_lib_schema234.EntityScalarField;
19
- attempts: _contractspec_lib_schema234.EntityScalarField;
20
- maxRetries: _contractspec_lib_schema234.EntityScalarField;
21
- lastError: _contractspec_lib_schema234.EntityScalarField;
22
- lastErrorStack: _contractspec_lib_schema234.EntityScalarField;
23
- scheduledAt: _contractspec_lib_schema234.EntityScalarField;
24
- startedAt: _contractspec_lib_schema234.EntityScalarField;
25
- completedAt: _contractspec_lib_schema234.EntityScalarField;
26
- timeoutAt: _contractspec_lib_schema234.EntityScalarField;
27
- dedupeKey: _contractspec_lib_schema234.EntityScalarField;
28
- tenantId: _contractspec_lib_schema234.EntityScalarField;
29
- userId: _contractspec_lib_schema234.EntityScalarField;
30
- traceId: _contractspec_lib_schema234.EntityScalarField;
31
- metadata: _contractspec_lib_schema234.EntityScalarField;
32
- result: _contractspec_lib_schema234.EntityScalarField;
33
- createdAt: _contractspec_lib_schema234.EntityScalarField;
34
- updatedAt: _contractspec_lib_schema234.EntityScalarField;
35
- scheduledJob: _contractspec_lib_schema234.EntityRelationField;
36
- scheduledJobId: _contractspec_lib_schema234.EntityScalarField;
37
- executions: _contractspec_lib_schema234.EntityRelationField;
12
+ declare const JobEntity: _contractspec_lib_schema138.EntitySpec<{
13
+ id: _contractspec_lib_schema138.EntityScalarField;
14
+ type: _contractspec_lib_schema138.EntityScalarField;
15
+ version: _contractspec_lib_schema138.EntityScalarField;
16
+ payload: _contractspec_lib_schema138.EntityScalarField;
17
+ status: _contractspec_lib_schema138.EntityEnumField;
18
+ priority: _contractspec_lib_schema138.EntityScalarField;
19
+ attempts: _contractspec_lib_schema138.EntityScalarField;
20
+ maxRetries: _contractspec_lib_schema138.EntityScalarField;
21
+ lastError: _contractspec_lib_schema138.EntityScalarField;
22
+ lastErrorStack: _contractspec_lib_schema138.EntityScalarField;
23
+ scheduledAt: _contractspec_lib_schema138.EntityScalarField;
24
+ startedAt: _contractspec_lib_schema138.EntityScalarField;
25
+ completedAt: _contractspec_lib_schema138.EntityScalarField;
26
+ timeoutAt: _contractspec_lib_schema138.EntityScalarField;
27
+ dedupeKey: _contractspec_lib_schema138.EntityScalarField;
28
+ tenantId: _contractspec_lib_schema138.EntityScalarField;
29
+ userId: _contractspec_lib_schema138.EntityScalarField;
30
+ traceId: _contractspec_lib_schema138.EntityScalarField;
31
+ metadata: _contractspec_lib_schema138.EntityScalarField;
32
+ result: _contractspec_lib_schema138.EntityScalarField;
33
+ createdAt: _contractspec_lib_schema138.EntityScalarField;
34
+ updatedAt: _contractspec_lib_schema138.EntityScalarField;
35
+ scheduledJob: _contractspec_lib_schema138.EntityRelationField;
36
+ scheduledJobId: _contractspec_lib_schema138.EntityScalarField;
37
+ executions: _contractspec_lib_schema138.EntityRelationField;
38
38
  }>;
39
39
  /**
40
40
  * ScheduledJob entity - recurring job definitions.
41
41
  */
42
- declare const ScheduledJobEntity: _contractspec_lib_schema234.EntitySpec<{
43
- id: _contractspec_lib_schema234.EntityScalarField;
44
- name: _contractspec_lib_schema234.EntityScalarField;
45
- description: _contractspec_lib_schema234.EntityScalarField;
46
- cronExpression: _contractspec_lib_schema234.EntityScalarField;
47
- timezone: _contractspec_lib_schema234.EntityScalarField;
48
- jobType: _contractspec_lib_schema234.EntityScalarField;
49
- jobVersion: _contractspec_lib_schema234.EntityScalarField;
50
- payload: _contractspec_lib_schema234.EntityScalarField;
51
- maxRetries: _contractspec_lib_schema234.EntityScalarField;
52
- timeoutMs: _contractspec_lib_schema234.EntityScalarField;
53
- enabled: _contractspec_lib_schema234.EntityScalarField;
54
- lastRunAt: _contractspec_lib_schema234.EntityScalarField;
55
- nextRunAt: _contractspec_lib_schema234.EntityScalarField;
56
- tenantId: _contractspec_lib_schema234.EntityScalarField;
57
- createdAt: _contractspec_lib_schema234.EntityScalarField;
58
- updatedAt: _contractspec_lib_schema234.EntityScalarField;
59
- jobs: _contractspec_lib_schema234.EntityRelationField;
42
+ declare const ScheduledJobEntity: _contractspec_lib_schema138.EntitySpec<{
43
+ id: _contractspec_lib_schema138.EntityScalarField;
44
+ name: _contractspec_lib_schema138.EntityScalarField;
45
+ description: _contractspec_lib_schema138.EntityScalarField;
46
+ cronExpression: _contractspec_lib_schema138.EntityScalarField;
47
+ timezone: _contractspec_lib_schema138.EntityScalarField;
48
+ jobType: _contractspec_lib_schema138.EntityScalarField;
49
+ jobVersion: _contractspec_lib_schema138.EntityScalarField;
50
+ payload: _contractspec_lib_schema138.EntityScalarField;
51
+ maxRetries: _contractspec_lib_schema138.EntityScalarField;
52
+ timeoutMs: _contractspec_lib_schema138.EntityScalarField;
53
+ enabled: _contractspec_lib_schema138.EntityScalarField;
54
+ lastRunAt: _contractspec_lib_schema138.EntityScalarField;
55
+ nextRunAt: _contractspec_lib_schema138.EntityScalarField;
56
+ tenantId: _contractspec_lib_schema138.EntityScalarField;
57
+ createdAt: _contractspec_lib_schema138.EntityScalarField;
58
+ updatedAt: _contractspec_lib_schema138.EntityScalarField;
59
+ jobs: _contractspec_lib_schema138.EntityRelationField;
60
60
  }>;
61
61
  /**
62
62
  * JobExecution entity - individual execution attempts.
63
63
  */
64
- declare const JobExecutionEntity: _contractspec_lib_schema234.EntitySpec<{
65
- id: _contractspec_lib_schema234.EntityScalarField;
66
- jobId: _contractspec_lib_schema234.EntityScalarField;
67
- attemptNumber: _contractspec_lib_schema234.EntityScalarField;
68
- startedAt: _contractspec_lib_schema234.EntityScalarField;
69
- completedAt: _contractspec_lib_schema234.EntityScalarField;
70
- durationMs: _contractspec_lib_schema234.EntityScalarField;
71
- success: _contractspec_lib_schema234.EntityScalarField;
72
- error: _contractspec_lib_schema234.EntityScalarField;
73
- errorStack: _contractspec_lib_schema234.EntityScalarField;
74
- result: _contractspec_lib_schema234.EntityScalarField;
75
- workerId: _contractspec_lib_schema234.EntityScalarField;
76
- job: _contractspec_lib_schema234.EntityRelationField;
64
+ declare const JobExecutionEntity: _contractspec_lib_schema138.EntitySpec<{
65
+ id: _contractspec_lib_schema138.EntityScalarField;
66
+ jobId: _contractspec_lib_schema138.EntityScalarField;
67
+ attemptNumber: _contractspec_lib_schema138.EntityScalarField;
68
+ startedAt: _contractspec_lib_schema138.EntityScalarField;
69
+ completedAt: _contractspec_lib_schema138.EntityScalarField;
70
+ durationMs: _contractspec_lib_schema138.EntityScalarField;
71
+ success: _contractspec_lib_schema138.EntityScalarField;
72
+ error: _contractspec_lib_schema138.EntityScalarField;
73
+ errorStack: _contractspec_lib_schema138.EntityScalarField;
74
+ result: _contractspec_lib_schema138.EntityScalarField;
75
+ workerId: _contractspec_lib_schema138.EntityScalarField;
76
+ job: _contractspec_lib_schema138.EntityRelationField;
77
77
  }>;
78
78
  /**
79
79
  * All job entities for schema composition.
80
80
  */
81
- declare const jobEntities: (_contractspec_lib_schema234.EntitySpec<{
82
- id: _contractspec_lib_schema234.EntityScalarField;
83
- type: _contractspec_lib_schema234.EntityScalarField;
84
- version: _contractspec_lib_schema234.EntityScalarField;
85
- payload: _contractspec_lib_schema234.EntityScalarField;
86
- status: _contractspec_lib_schema234.EntityEnumField;
87
- priority: _contractspec_lib_schema234.EntityScalarField;
88
- attempts: _contractspec_lib_schema234.EntityScalarField;
89
- maxRetries: _contractspec_lib_schema234.EntityScalarField;
90
- lastError: _contractspec_lib_schema234.EntityScalarField;
91
- lastErrorStack: _contractspec_lib_schema234.EntityScalarField;
92
- scheduledAt: _contractspec_lib_schema234.EntityScalarField;
93
- startedAt: _contractspec_lib_schema234.EntityScalarField;
94
- completedAt: _contractspec_lib_schema234.EntityScalarField;
95
- timeoutAt: _contractspec_lib_schema234.EntityScalarField;
96
- dedupeKey: _contractspec_lib_schema234.EntityScalarField;
97
- tenantId: _contractspec_lib_schema234.EntityScalarField;
98
- userId: _contractspec_lib_schema234.EntityScalarField;
99
- traceId: _contractspec_lib_schema234.EntityScalarField;
100
- metadata: _contractspec_lib_schema234.EntityScalarField;
101
- result: _contractspec_lib_schema234.EntityScalarField;
102
- createdAt: _contractspec_lib_schema234.EntityScalarField;
103
- updatedAt: _contractspec_lib_schema234.EntityScalarField;
104
- scheduledJob: _contractspec_lib_schema234.EntityRelationField;
105
- scheduledJobId: _contractspec_lib_schema234.EntityScalarField;
106
- executions: _contractspec_lib_schema234.EntityRelationField;
107
- }> | _contractspec_lib_schema234.EntitySpec<{
108
- id: _contractspec_lib_schema234.EntityScalarField;
109
- name: _contractspec_lib_schema234.EntityScalarField;
110
- description: _contractspec_lib_schema234.EntityScalarField;
111
- cronExpression: _contractspec_lib_schema234.EntityScalarField;
112
- timezone: _contractspec_lib_schema234.EntityScalarField;
113
- jobType: _contractspec_lib_schema234.EntityScalarField;
114
- jobVersion: _contractspec_lib_schema234.EntityScalarField;
115
- payload: _contractspec_lib_schema234.EntityScalarField;
116
- maxRetries: _contractspec_lib_schema234.EntityScalarField;
117
- timeoutMs: _contractspec_lib_schema234.EntityScalarField;
118
- enabled: _contractspec_lib_schema234.EntityScalarField;
119
- lastRunAt: _contractspec_lib_schema234.EntityScalarField;
120
- nextRunAt: _contractspec_lib_schema234.EntityScalarField;
121
- tenantId: _contractspec_lib_schema234.EntityScalarField;
122
- createdAt: _contractspec_lib_schema234.EntityScalarField;
123
- updatedAt: _contractspec_lib_schema234.EntityScalarField;
124
- jobs: _contractspec_lib_schema234.EntityRelationField;
125
- }> | _contractspec_lib_schema234.EntitySpec<{
126
- id: _contractspec_lib_schema234.EntityScalarField;
127
- jobId: _contractspec_lib_schema234.EntityScalarField;
128
- attemptNumber: _contractspec_lib_schema234.EntityScalarField;
129
- startedAt: _contractspec_lib_schema234.EntityScalarField;
130
- completedAt: _contractspec_lib_schema234.EntityScalarField;
131
- durationMs: _contractspec_lib_schema234.EntityScalarField;
132
- success: _contractspec_lib_schema234.EntityScalarField;
133
- error: _contractspec_lib_schema234.EntityScalarField;
134
- errorStack: _contractspec_lib_schema234.EntityScalarField;
135
- result: _contractspec_lib_schema234.EntityScalarField;
136
- workerId: _contractspec_lib_schema234.EntityScalarField;
137
- job: _contractspec_lib_schema234.EntityRelationField;
81
+ declare const jobEntities: (_contractspec_lib_schema138.EntitySpec<{
82
+ id: _contractspec_lib_schema138.EntityScalarField;
83
+ type: _contractspec_lib_schema138.EntityScalarField;
84
+ version: _contractspec_lib_schema138.EntityScalarField;
85
+ payload: _contractspec_lib_schema138.EntityScalarField;
86
+ status: _contractspec_lib_schema138.EntityEnumField;
87
+ priority: _contractspec_lib_schema138.EntityScalarField;
88
+ attempts: _contractspec_lib_schema138.EntityScalarField;
89
+ maxRetries: _contractspec_lib_schema138.EntityScalarField;
90
+ lastError: _contractspec_lib_schema138.EntityScalarField;
91
+ lastErrorStack: _contractspec_lib_schema138.EntityScalarField;
92
+ scheduledAt: _contractspec_lib_schema138.EntityScalarField;
93
+ startedAt: _contractspec_lib_schema138.EntityScalarField;
94
+ completedAt: _contractspec_lib_schema138.EntityScalarField;
95
+ timeoutAt: _contractspec_lib_schema138.EntityScalarField;
96
+ dedupeKey: _contractspec_lib_schema138.EntityScalarField;
97
+ tenantId: _contractspec_lib_schema138.EntityScalarField;
98
+ userId: _contractspec_lib_schema138.EntityScalarField;
99
+ traceId: _contractspec_lib_schema138.EntityScalarField;
100
+ metadata: _contractspec_lib_schema138.EntityScalarField;
101
+ result: _contractspec_lib_schema138.EntityScalarField;
102
+ createdAt: _contractspec_lib_schema138.EntityScalarField;
103
+ updatedAt: _contractspec_lib_schema138.EntityScalarField;
104
+ scheduledJob: _contractspec_lib_schema138.EntityRelationField;
105
+ scheduledJobId: _contractspec_lib_schema138.EntityScalarField;
106
+ executions: _contractspec_lib_schema138.EntityRelationField;
107
+ }> | _contractspec_lib_schema138.EntitySpec<{
108
+ id: _contractspec_lib_schema138.EntityScalarField;
109
+ name: _contractspec_lib_schema138.EntityScalarField;
110
+ description: _contractspec_lib_schema138.EntityScalarField;
111
+ cronExpression: _contractspec_lib_schema138.EntityScalarField;
112
+ timezone: _contractspec_lib_schema138.EntityScalarField;
113
+ jobType: _contractspec_lib_schema138.EntityScalarField;
114
+ jobVersion: _contractspec_lib_schema138.EntityScalarField;
115
+ payload: _contractspec_lib_schema138.EntityScalarField;
116
+ maxRetries: _contractspec_lib_schema138.EntityScalarField;
117
+ timeoutMs: _contractspec_lib_schema138.EntityScalarField;
118
+ enabled: _contractspec_lib_schema138.EntityScalarField;
119
+ lastRunAt: _contractspec_lib_schema138.EntityScalarField;
120
+ nextRunAt: _contractspec_lib_schema138.EntityScalarField;
121
+ tenantId: _contractspec_lib_schema138.EntityScalarField;
122
+ createdAt: _contractspec_lib_schema138.EntityScalarField;
123
+ updatedAt: _contractspec_lib_schema138.EntityScalarField;
124
+ jobs: _contractspec_lib_schema138.EntityRelationField;
125
+ }> | _contractspec_lib_schema138.EntitySpec<{
126
+ id: _contractspec_lib_schema138.EntityScalarField;
127
+ jobId: _contractspec_lib_schema138.EntityScalarField;
128
+ attemptNumber: _contractspec_lib_schema138.EntityScalarField;
129
+ startedAt: _contractspec_lib_schema138.EntityScalarField;
130
+ completedAt: _contractspec_lib_schema138.EntityScalarField;
131
+ durationMs: _contractspec_lib_schema138.EntityScalarField;
132
+ success: _contractspec_lib_schema138.EntityScalarField;
133
+ error: _contractspec_lib_schema138.EntityScalarField;
134
+ errorStack: _contractspec_lib_schema138.EntityScalarField;
135
+ result: _contractspec_lib_schema138.EntityScalarField;
136
+ workerId: _contractspec_lib_schema138.EntityScalarField;
137
+ job: _contractspec_lib_schema138.EntityRelationField;
138
138
  }>)[];
139
139
  /**
140
140
  * Module schema contribution for jobs.