@farm.js/jobs 0.1.1-beta.1 → 0.1.1-beta.2

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/dist/index.d.ts CHANGED
@@ -15,6 +15,9 @@ export interface JobsRuntimeCapabilities {
15
15
  readonly concurrencyKey: boolean;
16
16
  readonly idempotencyKey: boolean;
17
17
  }
18
+ export type JobsRuntimeCapability = keyof JobsRuntimeCapabilities;
19
+ /** Narrows runtime metadata after checking a provider-dependent capability. */
20
+ export declare function supportsJobsRuntimeCapability<TCapability extends JobsRuntimeCapability>(capabilities: JobsRuntimeCapabilities, capability: TCapability): capabilities is JobsRuntimeCapabilities & Record<TCapability, true>;
18
21
  export interface JobsTaskQueueDefinition {
19
22
  name: string;
20
23
  concurrencyLimit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,10 @@
1
1
  import { defineIntegration, defineIntegrationAPI, integrationRoute, } from "@farm.js/core";
2
2
  import { api } from "@farm.js/core/client";
3
3
  import { integrationConfig } from "@farm.js/integration-utils";
4
+ /** Narrows runtime metadata after checking a provider-dependent capability. */
5
+ export function supportsJobsRuntimeCapability(capabilities, capability) {
6
+ return capabilities[capability];
7
+ }
4
8
  const TRIGGER_CAPABILITIES = {
5
9
  delay: true,
6
10
  schedule: true,
@@ -15,8 +19,8 @@ const TRIGGER_CAPABILITIES = {
15
19
  idempotencyKey: true,
16
20
  };
17
21
  const INNGEST_CAPABILITIES = {
18
- delay: false,
19
- schedule: false,
22
+ delay: true,
23
+ schedule: true,
20
24
  debounce: false,
21
25
  tags: false,
22
26
  cancel: false,
@@ -234,14 +238,16 @@ function resolveScheduleLaunchOptions(task, payload, body) {
234
238
  if (scheduledFor == null) {
235
239
  throw new JobsRuntimeError("Schedule requests must include exactly one of at or after.", 400);
236
240
  }
241
+ const launch = resolveLaunchOptions(task, payload, {
242
+ delay: scheduledFor,
243
+ debounce: body.options?.debounce,
244
+ idempotencyKey: body.options?.idempotencyKey,
245
+ tags: body.options?.tags,
246
+ });
247
+ launch.delayMode = hasAt ? "at" : "after";
237
248
  return {
238
249
  scheduledFor,
239
- launch: resolveLaunchOptions(task, payload, {
240
- delay: scheduledFor,
241
- debounce: body.options?.debounce,
242
- idempotencyKey: body.options?.idempotencyKey,
243
- tags: body.options?.tags,
244
- }),
250
+ launch,
245
251
  };
246
252
  }
247
253
  function buildTriggerProviderOptions(options) {
@@ -358,6 +364,89 @@ async function requestJSON(url, init) {
358
364
  }
359
365
  return data;
360
366
  }
367
+ const INNGEST_DURATION_UNITS = {
368
+ ms: 1,
369
+ s: 1_000,
370
+ m: 60_000,
371
+ h: 3_600_000,
372
+ d: 86_400_000,
373
+ };
374
+ const INNGEST_MAX_TIMESTAMP = 8_640_000_000_000_000;
375
+ function inngestScheduleError(message, value) {
376
+ return new JobsRuntimeError(message, 400, {
377
+ code: "JOBS_INVALID_SCHEDULE",
378
+ runtime: "inngest",
379
+ value,
380
+ });
381
+ }
382
+ function inngestCapabilityError(capability, message) {
383
+ return new JobsRuntimeError(message, 400, {
384
+ code: "JOBS_RUNTIME_CAPABILITY_UNSUPPORTED",
385
+ runtime: "inngest",
386
+ capability,
387
+ });
388
+ }
389
+ function parseInngestDuration(value) {
390
+ if (typeof value === "number") {
391
+ return Number.isFinite(value) && value > 0 ? Math.ceil(value) : undefined;
392
+ }
393
+ const match = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)$/i.exec(value);
394
+ if (!match)
395
+ return undefined;
396
+ const amount = Number(match[1]);
397
+ const unit = match[2].toLowerCase();
398
+ const duration = Math.ceil(amount * INNGEST_DURATION_UNITS[unit]);
399
+ return Number.isFinite(duration) && duration > 0 ? duration : undefined;
400
+ }
401
+ function parseInngestAbsoluteTime(value) {
402
+ if (typeof value !== "string")
403
+ return undefined;
404
+ if (!/^\d{4}-\d{2}-\d{2}T.+(?:Z|[+-]\d{2}:?\d{2})$/i.test(value))
405
+ return undefined;
406
+ const timestamp = Date.parse(value);
407
+ return Number.isFinite(timestamp) ? timestamp : undefined;
408
+ }
409
+ function resolveInngestEventTimestamp(options, now = Date.now()) {
410
+ if (options.delay == null)
411
+ return undefined;
412
+ const absolute = options.delayMode === "after" ? undefined : parseInngestAbsoluteTime(options.delay);
413
+ if (absolute != null) {
414
+ if (absolute <= now) {
415
+ throw inngestScheduleError("Inngest at/delay timestamps must be in the future.", options.delay);
416
+ }
417
+ return absolute;
418
+ }
419
+ if (options.delayMode === "at") {
420
+ throw inngestScheduleError("Inngest at must be an ISO timestamp with an explicit Z or UTC offset.", options.delay);
421
+ }
422
+ const duration = parseInngestDuration(options.delay);
423
+ if (duration == null) {
424
+ throw inngestScheduleError("Inngest after/delay must be positive milliseconds or a duration ending in ms, s, m, h, or d.", options.delay);
425
+ }
426
+ const timestamp = now + duration;
427
+ if (!Number.isSafeInteger(timestamp) || timestamp > INNGEST_MAX_TIMESTAMP) {
428
+ throw inngestScheduleError("Inngest after/delay exceeds the supported date range.", options.delay);
429
+ }
430
+ return timestamp;
431
+ }
432
+ function createInngestEvent(task, input, options, now = Date.now()) {
433
+ if (options.debounce) {
434
+ throw inngestCapabilityError("debounce", "Inngest does not support per-call debounce; configure debounce on the Inngest function and check task metadata capabilities before sending.");
435
+ }
436
+ if (options.tags?.length) {
437
+ throw inngestCapabilityError("tags", "Inngest event sends do not support Farm tags; check task metadata capabilities before sending.");
438
+ }
439
+ const event = {
440
+ name: task.remoteId,
441
+ data: input ?? {},
442
+ };
443
+ if (options.idempotencyKey)
444
+ event.id = options.idempotencyKey;
445
+ const timestamp = resolveInngestEventTimestamp(options, now);
446
+ if (timestamp != null)
447
+ event.ts = timestamp;
448
+ return event;
449
+ }
361
450
  function createTriggerRuntime(config) {
362
451
  function resolve() {
363
452
  return {
@@ -548,19 +637,10 @@ function createInngestRuntime(config) {
548
637
  },
549
638
  async trigger(task, input, options) {
550
639
  const resolved = resolve();
640
+ const body = createInngestEvent(task, input, options);
551
641
  if (!resolved.eventKey) {
552
642
  throw new JobsRuntimeError("Inngest runtime requires INNGEST_EVENT_KEY or inngest.eventKey.", 500);
553
643
  }
554
- if (options.delay != null || (options.tags && options.tags.length > 0) || options.debounce) {
555
- throw new JobsRuntimeError("Inngest runtime does not support delay, debounce, or tags through this integration yet.", 400);
556
- }
557
- const body = {
558
- name: task.remoteId,
559
- data: input ?? {},
560
- };
561
- if (options.idempotencyKey) {
562
- body.id = options.idempotencyKey;
563
- }
564
644
  const data = await requestJSON(`${resolved.eventBaseUrl}/e/${encodeURIComponent(resolved.eventKey)}`, {
565
645
  method: "POST",
566
646
  headers: {
@@ -583,24 +663,11 @@ function createInngestRuntime(config) {
583
663
  },
584
664
  async batchTrigger(task, items) {
585
665
  const resolved = resolve();
666
+ const now = Date.now();
667
+ const body = items.map((item) => createInngestEvent(task, item.input, item.options, now));
586
668
  if (!resolved.eventKey) {
587
669
  throw new JobsRuntimeError("Inngest runtime requires INNGEST_EVENT_KEY or inngest.eventKey.", 500);
588
670
  }
589
- const body = items.map((item) => {
590
- if (item.options.delay != null ||
591
- (item.options.tags && item.options.tags.length > 0) ||
592
- item.options.debounce) {
593
- throw new JobsRuntimeError("Inngest runtime does not support delay, debounce, or tags through this integration yet.", 400);
594
- }
595
- const event = {
596
- name: task.remoteId,
597
- data: item.input ?? {},
598
- };
599
- if (item.options.idempotencyKey) {
600
- event.id = item.options.idempotencyKey;
601
- }
602
- return event;
603
- });
604
671
  const data = await requestJSON(`${resolved.eventBaseUrl}/e/${encodeURIComponent(resolved.eventKey)}`, {
605
672
  method: "POST",
606
673
  headers: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm.js/jobs",
3
- "version": "0.1.1-beta.1",
3
+ "version": "0.1.1-beta.2",
4
4
  "description": "Jobs integration primitives for Farm.js",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,8 +25,8 @@
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@farm.js/integration-utils": "0.1.1-beta.1",
29
- "@farm.js/core": "0.1.1-beta.1"
28
+ "@farm.js/core": "0.1.1-beta.2",
29
+ "@farm.js/integration-utils": "0.1.1-beta.2"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc",