@farm.js/jobs 0.1.31 → 0.1.35

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
@@ -244,10 +244,27 @@ interface ResolvedInngestJobsConfig {
244
244
  apiBaseUrl: string;
245
245
  eventNamePrefix: string;
246
246
  }
247
+ export type JobsRouteOperation = "tasks" | "trigger" | "batchTrigger" | "schedule" | "status" | "cancel";
248
+ export interface JobsAuthorizeContext {
249
+ /** The task key, or `null` for the task list. */
250
+ task: string | null;
251
+ operation: JobsRouteOperation;
252
+ }
253
+ /**
254
+ * Decides whether an HTTP request may use a job route. Return `true` to allow
255
+ * it, `false` to answer 403, or a Response to answer with. The request is a
256
+ * clone, so its body can be read.
257
+ */
258
+ export type JobsAuthorize = (request: Request, context: JobsAuthorizeContext) => boolean | Response | Promise<boolean | Response>;
247
259
  export interface JobsIntegrationInputBase<TTasks extends JobsTaskMap> {
248
260
  basePath?: string;
249
261
  tasks: TTasks;
250
262
  log?: FarmIntegrationLogger;
263
+ /**
264
+ * Job routes answer only server calls (`api`) by default. Set this to let
265
+ * HTTP requests, such as `apiClient` in the browser, reach them.
266
+ */
267
+ authorize?: JobsAuthorize;
251
268
  }
252
269
  type JobsIntegrationRuntimeInput<TTasks extends JobsTaskMap> = JobsIntegrationInputBase<TTasks> & {
253
270
  runtime: JobsRuntimeDefinition;
@@ -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,4 +1,4 @@
1
- import { defineIntegration, defineIntegrationAPI, integrationRoute, } from "@farm.js/core";
1
+ import { defineIntegration, defineIntegrationAPI, FARM_INTEGRATION_INTERNAL_DISPATCH_CONTEXT_KEY, integrationRoute, } from "@farm.js/core";
2
2
  import { api } from "@farm.js/core/client";
3
3
  import { integrationConfig } from "@farm.js/integration-utils";
4
4
  /** Narrows runtime metadata after checking a provider-dependent capability. */
@@ -461,6 +461,22 @@ function createTriggerRuntime(config) {
461
461
  apiBaseUrl: (config.apiBaseUrl ?? "https://api.trigger.dev").replace(/\/+$/g, ""),
462
462
  };
463
463
  }
464
+ // The secret key reaches every run in the project, so a task's status and
465
+ // cancel routes only act on that task's own runs.
466
+ async function retrieveRun(resolved, task, handleId) {
467
+ const data = await requestJSON(`${resolved.apiBaseUrl}/api/v3/runs/${encodeURIComponent(handleId)}`, {
468
+ method: "GET",
469
+ headers: {
470
+ authorization: `Bearer ${resolved.apiKey}`,
471
+ accept: "application/json",
472
+ },
473
+ });
474
+ const taskIdentifier = typeof data === "object" && data ? data.taskIdentifier : null;
475
+ if (typeof taskIdentifier === "string" && taskIdentifier !== task.remoteId) {
476
+ throw new JobsRuntimeError(`Run ${handleId} was not found for task "${task.key}".`, 404);
477
+ }
478
+ return data;
479
+ }
464
480
  return {
465
481
  kind: "trigger",
466
482
  capabilities: TRIGGER_CAPABILITIES,
@@ -563,13 +579,7 @@ function createTriggerRuntime(config) {
563
579
  if (!resolved.apiKey) {
564
580
  throw new JobsRuntimeError("Trigger runtime requires TRIGGER_SECRET_KEY or trigger.apiKey.", 500);
565
581
  }
566
- const data = await requestJSON(`${resolved.apiBaseUrl}/api/v3/runs/${encodeURIComponent(handleId)}`, {
567
- method: "GET",
568
- headers: {
569
- authorization: `Bearer ${resolved.apiKey}`,
570
- accept: "application/json",
571
- },
572
- });
582
+ const data = await retrieveRun(resolved, task, handleId);
573
583
  const run = typeof data === "object" && data ? data : {};
574
584
  return {
575
585
  handleId,
@@ -592,6 +602,7 @@ function createTriggerRuntime(config) {
592
602
  if (!resolved.apiKey) {
593
603
  throw new JobsRuntimeError("Trigger runtime requires TRIGGER_SECRET_KEY or trigger.apiKey.", 500);
594
604
  }
605
+ await retrieveRun(resolved, task, handleId);
595
606
  await requestJSON(`${resolved.apiBaseUrl}/api/v2/runs/${encodeURIComponent(handleId)}/cancel`, {
596
607
  method: "POST",
597
608
  headers: {
@@ -1020,6 +1031,25 @@ function normalizeBatchTriggerItem(item) {
1020
1031
  function normalizeCancelInput(body) {
1021
1032
  return (body === undefined ? {} : readJsonBody(body));
1022
1033
  }
1034
+ async function authorizeJobsRequest(authorize, request, context, authorizeContext) {
1035
+ // Server code calling `api` dispatches in-process and is already trusted.
1036
+ if (context.req.get(FARM_INTEGRATION_INTERNAL_DISPATCH_CONTEXT_KEY) === true) {
1037
+ return undefined;
1038
+ }
1039
+ // A job route starts provider runs with the app's credentials, so an HTTP
1040
+ // caller needs the app's say-so.
1041
+ if (!authorize) {
1042
+ return Response.json({
1043
+ error: "Job routes answer only server calls. Pass jobs({ authorize }) to allow HTTP requests.",
1044
+ }, { status: 403 });
1045
+ }
1046
+ const decision = await authorize(request.clone(), authorizeContext);
1047
+ if (decision instanceof Response)
1048
+ return decision;
1049
+ if (decision === true)
1050
+ return undefined;
1051
+ return Response.json({ error: "Forbidden" }, { status: 403 });
1052
+ }
1023
1053
  export function jobs(input) {
1024
1054
  const basePath = normalizeBasePath(input.basePath);
1025
1055
  const tasksPath = joinPath(basePath, "tasks");
@@ -1040,14 +1070,26 @@ export function jobs(input) {
1040
1070
  routes: [
1041
1071
  integrationRoute.get(tasksPath, {
1042
1072
  responseFormat: "json",
1043
- handler() {
1073
+ async handler(request, context) {
1074
+ const blocked = await authorizeJobsRequest(input.authorize, request, context, {
1075
+ task: null,
1076
+ operation: "tasks",
1077
+ });
1078
+ if (blocked)
1079
+ return blocked;
1044
1080
  return Response.json(normalizedTasks.map((task) => task.metadata));
1045
1081
  },
1046
1082
  }),
1047
1083
  ...normalizedTasks.flatMap((task) => [
1048
1084
  integrationRoute.post(task.metadata.paths.trigger, {
1049
1085
  responseFormat: "json",
1050
- async handler(request) {
1086
+ async handler(request, context) {
1087
+ const blocked = await authorizeJobsRequest(input.authorize, request, context, {
1088
+ task: task.key,
1089
+ operation: "trigger",
1090
+ });
1091
+ if (blocked)
1092
+ return blocked;
1051
1093
  try {
1052
1094
  const parsed = await parseRequestBody(request);
1053
1095
  const body = normalizeTriggerInput(parsed === undefined ? undefined : readTriggerJsonBody(parsed));
@@ -1068,7 +1110,13 @@ export function jobs(input) {
1068
1110
  }),
1069
1111
  integrationRoute.post(task.metadata.paths.batchTrigger, {
1070
1112
  responseFormat: "json",
1071
- async handler(request) {
1113
+ async handler(request, context) {
1114
+ const blocked = await authorizeJobsRequest(input.authorize, request, context, {
1115
+ task: task.key,
1116
+ operation: "batchTrigger",
1117
+ });
1118
+ if (blocked)
1119
+ return blocked;
1072
1120
  try {
1073
1121
  const body = normalizeBatchTriggerInput(await parseRequestBody(request));
1074
1122
  const items = Array.isArray(body.items) ? body.items : [];
@@ -1102,7 +1150,13 @@ export function jobs(input) {
1102
1150
  }),
1103
1151
  integrationRoute.post(task.metadata.paths.schedule, {
1104
1152
  responseFormat: "json",
1105
- async handler(request) {
1153
+ async handler(request, context) {
1154
+ const blocked = await authorizeJobsRequest(input.authorize, request, context, {
1155
+ task: task.key,
1156
+ operation: "schedule",
1157
+ });
1158
+ if (blocked)
1159
+ return blocked;
1106
1160
  try {
1107
1161
  const parsed = await parseRequestBody(request);
1108
1162
  const body = normalizeScheduleInput(parsed === undefined ? undefined : readJsonBody(parsed));
@@ -1124,7 +1178,13 @@ export function jobs(input) {
1124
1178
  }),
1125
1179
  integrationRoute.get(task.metadata.paths.status, {
1126
1180
  responseFormat: "json",
1127
- async handler(request) {
1181
+ async handler(request, context) {
1182
+ const blocked = await authorizeJobsRequest(input.authorize, request, context, {
1183
+ task: task.key,
1184
+ operation: "status",
1185
+ });
1186
+ if (blocked)
1187
+ return blocked;
1128
1188
  try {
1129
1189
  const handleId = new URL(request.url).searchParams.get("handleId") || "";
1130
1190
  if (!handleId) {
@@ -1149,7 +1209,13 @@ export function jobs(input) {
1149
1209
  }),
1150
1210
  integrationRoute.post(task.metadata.paths.cancel, {
1151
1211
  responseFormat: "json",
1152
- async handler(request) {
1212
+ async handler(request, context) {
1213
+ const blocked = await authorizeJobsRequest(input.authorize, request, context, {
1214
+ task: task.key,
1215
+ operation: "cancel",
1216
+ });
1217
+ if (blocked)
1218
+ return blocked;
1153
1219
  try {
1154
1220
  const body = normalizeCancelInput(await parseRequestBody(request));
1155
1221
  const handleId = typeof body.handleId === "string" ? body.handleId : "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm.js/jobs",
3
- "version": "0.1.31",
3
+ "version": "0.1.35",
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.31",
29
- "@farm.js/core": "0.1.31"
28
+ "@farm.js/integration-utils": "0.1.35",
29
+ "@farm.js/core": "0.1.35"
30
30
  },
31
31
  "scripts": {
32
32
  "build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc",