@requence/task 1.0.0-alpha.17 → 1.0.0-alpha.19

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @requence/task
2
2
 
3
+ ## 1.0.0-alpha.19
4
+
5
+ ### Patch Changes
6
+
7
+ - 831c549: added abort reason
8
+
9
+ ## 1.0.0-alpha.18
10
+
11
+ ### Patch Changes
12
+
13
+ - 3e78516: allow task abort in task package
14
+
3
15
  ## 1.0.0-alpha.17
4
16
 
5
17
  ### Patch Changes
package/build/index.js CHANGED
@@ -401,6 +401,53 @@ function isStreamObject(data) {
401
401
  // src/createTask.ts
402
402
  import { EventSource } from "eventsource";
403
403
 
404
+ // src/utils/getAccessToken.ts
405
+ import { readFileSync } from "node:fs";
406
+ function getAccessToken(accessToken) {
407
+ let token = accessToken ?? process.env.REQUENCE_TASK_ACCESS_TOKEN ?? process.env.REQUENCE_ACCESS_TOKEN;
408
+ if (!token) {
409
+ const pkgJson = JSON.parse(readFileSync("package.json", "utf-8"));
410
+ token = pkgJson.requence?.task?.accessToken ?? pkgJson.requence?.accessToken;
411
+ }
412
+ if (!token) {
413
+ throw new Error(`No access token found
414
+ You can provide the access token as argument to createTask,
415
+ as environment variable REQUENCE_ACCESS_TOKEN or
416
+ in your package.json in requence.accessToken`);
417
+ }
418
+ const parts = deobfuscate(token);
419
+ if (parts.length < 2 || parts[0] !== "api") {
420
+ throw new Error("Invalid api key");
421
+ }
422
+ return {
423
+ token: parts[1],
424
+ apiBaseUrl: parts[2]
425
+ };
426
+ }
427
+
428
+ // src/abortTask.ts
429
+ class TaskAbortError extends Error {
430
+ taskId;
431
+ constructor(message, taskId) {
432
+ super(message);
433
+ this.taskId = taskId;
434
+ }
435
+ }
436
+ async function abortTask(options) {
437
+ const { apiBaseUrl, token } = getAccessToken(options.accessToken);
438
+ const abortUrl = `${apiBaseUrl}/task/abort/${options.taskId}`;
439
+ const response = await fetch(abortUrl, {
440
+ method: "POST",
441
+ body: options.reason ?? "",
442
+ headers: {
443
+ Authorization: `Bearer ${token}`
444
+ }
445
+ });
446
+ if (!response.ok) {
447
+ throw new TaskAbortError(await response.text(), options.taskId);
448
+ }
449
+ }
450
+
404
451
  // src/types.ts
405
452
  import { z as z3 } from "zod";
406
453
  var serviceNodeInfoSchema = z3.object({
@@ -484,30 +531,6 @@ var updateSchema = z3.discriminatedUnion("type", [
484
531
  ]);
485
532
  var eventSchema = z3.object({ type: z3.string(), data: z3.string() }).transform((event) => ({ type: event.type, ...JSON.parse(event.data) })).pipe(updateSchema);
486
533
 
487
- // src/utils/getAccessToken.ts
488
- import { readFileSync } from "node:fs";
489
- function getAccessToken(accessToken) {
490
- let token = accessToken ?? process.env.REQUENCE_TASK_ACCESS_TOKEN ?? process.env.REQUENCE_ACCESS_TOKEN;
491
- if (!token) {
492
- const pkgJson = JSON.parse(readFileSync("package.json", "utf-8"));
493
- token = pkgJson.requence?.task?.accessToken ?? pkgJson.requence?.accessToken;
494
- }
495
- if (!token) {
496
- throw new Error(`No access token found
497
- You can provide the access token as argument to createTask,
498
- as environment variable REQUENCE_ACCESS_TOKEN or
499
- in your package.json in requence.accessToken`);
500
- }
501
- const parts = deobfuscate(token);
502
- if (parts.length < 2 || parts[0] !== "api") {
503
- throw new Error("Invalid api key");
504
- }
505
- return {
506
- token: parts[1],
507
- apiBaseUrl: parts[2]
508
- };
509
- }
510
-
511
534
  // src/utils/mapOutput.ts
512
535
  function mapOutput3(data) {
513
536
  return mapData(data, {
@@ -639,7 +662,7 @@ function createTask(options, onUpdate) {
639
662
  });
640
663
  });
641
664
  };
642
- const taskIdPromise = createRemotePromise();
665
+ const taskMetaPromise = createRemotePromise();
643
666
  const resultPromise = createRemotePromise(startMonitoring);
644
667
  (async () => {
645
668
  const prepareResponse = await fetch(prepareUrl, {
@@ -650,7 +673,7 @@ function createTask(options, onUpdate) {
650
673
  });
651
674
  if (!prepareResponse.ok) {
652
675
  const error = new TaskError(await prepareResponse.text(), options.taskTemplate);
653
- taskIdPromise.reject(error);
676
+ taskMetaPromise.reject(error);
654
677
  resultPromise.reject(error);
655
678
  return;
656
679
  }
@@ -676,12 +699,15 @@ function createTask(options, onUpdate) {
676
699
  });
677
700
  if (!finalizeResponse.ok) {
678
701
  const error = new TaskError(await prepareResponse.text(), options.taskTemplate);
679
- taskIdPromise.reject(error);
702
+ taskMetaPromise.reject(error);
680
703
  resultPromise.reject(error);
681
704
  return;
682
705
  }
683
706
  const payload = await finalizeResponse.json();
684
- taskIdPromise.resolve(payload.taskId);
707
+ taskMetaPromise.resolve({
708
+ id: payload.taskId,
709
+ showUrl: payload.urls?.show ?? null
710
+ });
685
711
  payloadPromise.resolve(payload);
686
712
  if (onUpdate) {
687
713
  taskUpdateHandlers.add(onUpdate);
@@ -699,10 +725,22 @@ function createTask(options, onUpdate) {
699
725
  startMonitoring();
700
726
  });
701
727
  return Object.assign(resultPromise.promise, asyncIterable, {
702
- getTaskId() {
703
- return taskIdPromise;
728
+ async getTaskId() {
729
+ const meta = await taskMetaPromise;
730
+ return meta.id;
704
731
  },
705
- getTaskUrl() {}
732
+ async getTaskUrl() {
733
+ const meta = await taskMetaPromise;
734
+ return meta.showUrl;
735
+ },
736
+ async abort(reason) {
737
+ const meta = await taskMetaPromise;
738
+ await abortTask({
739
+ taskId: meta.id,
740
+ accessToken: options.accessToken,
741
+ reason
742
+ });
743
+ }
706
744
  });
707
745
  }
708
746
  // src/watchTasks.ts
@@ -760,9 +798,10 @@ function watchTasks(options) {
760
798
  export {
761
799
  watchTasks,
762
800
  createTask,
801
+ abortTask,
763
802
  RequenceStream,
764
803
  RequenceFile
765
804
  };
766
805
 
767
- //# debugId=422DEFF7B035A45E64756E2164756E21
806
+ //# debugId=C8D5E6A0535B4D4764756E2164756E21
768
807
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../helpers/src/utils/createRemotePromise.ts", "../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/isRecord.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/files/index.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../src/createTask.ts", "../src/types.ts", "../src/utils/getAccessToken.ts", "../src/utils/mapOutput.ts", "../src/watchTasks.ts"],
3
+ "sources": ["../../helpers/src/utils/createRemotePromise.ts", "../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/isRecord.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/files/index.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../src/createTask.ts", "../src/utils/getAccessToken.ts", "../src/abortTask.ts", "../src/types.ts", "../src/utils/mapOutput.ts", "../src/watchTasks.ts"],
4
4
  "sourcesContent": [
5
5
  "export function createRemotePromise<T = void>(\n onAwait?: (\n resolve: (value: T) => void,\n reject: (error: any) => void,\n ) => void | Promise<void>,\n) {\n let resolvePromise!: (value: T | PromiseLike<T>) => void\n let rejectPromise!: (reason?: any) => void\n\n const internalPromise = new Promise<T>((resolve, reject) => {\n resolvePromise = resolve\n rejectPromise = reject\n })\n\n let isAwaited = false\n\n const wrappedPromise = new Proxy(internalPromise, {\n get(target, property: keyof PromiseLike<T>) {\n if (\n property === 'then' ||\n property === 'catch' ||\n property === 'finally'\n ) {\n if (!isAwaited && onAwait) {\n isAwaited = true\n onAwait(resolvePromise, rejectPromise)\n }\n return target[property].bind(target)\n }\n\n return target[property]\n },\n })\n\n return Object.assign(wrappedPromise, {\n resolve: resolvePromise,\n reject: rejectPromise,\n promise: wrappedPromise,\n })\n}\n\nexport type RemotePromise<T> = ReturnType<typeof createRemotePromise<T>>\n",
6
6
  "type CallbackValue<T> = { value: T } | { done: true } | { error: Error }\n\nexport function callbackToAsyncIterator<T>(\n subscribe: (\n push: (value: T) => void,\n fail: (error: Error) => void,\n end: () => void,\n ) => void,\n): AsyncIterator<T> {\n const pullQueue: Array<(value: CallbackValue<T>) => void> = []\n const pushQueue: Array<CallbackValue<T>> = []\n\n const pushValue = (value: CallbackValue<T>) => {\n if (pullQueue.length !== 0) {\n const resolver = pullQueue.shift()\n resolver!(value)\n } else {\n pushQueue.push(value)\n }\n }\n\n const pullValue = () =>\n new Promise<CallbackValue<T>>((resolve) => {\n if (pushQueue.length !== 0) {\n resolve(pushQueue.shift()!)\n } else {\n pullQueue.push(resolve)\n }\n })\n\n subscribe(\n (value) => {\n pushValue({ value })\n },\n (error) => {\n pushValue({ error })\n },\n () => {\n pushValue({ done: true })\n },\n )\n\n return {\n async next() {\n const value: any = await pullValue()\n if (value.done) {\n return { value: undefined, done: true }\n }\n\n if (value.error) {\n throw value.error\n }\n\n return { value: value.value, done: false }\n },\n }\n}\n\nexport function callbackToAsyncIterable<T>(\n ...args: Parameters<typeof callbackToAsyncIterator<T>>\n): AsyncIterable<T> {\n return {\n [Symbol.asyncIterator]() {\n return callbackToAsyncIterator(...args)\n },\n }\n}\n",
@@ -10,13 +10,14 @@
10
10
  "import {\n RequenceFile,\n RequenceStream,\n toFileObject,\n toStreamObject,\n} from './index.ts'\nimport type { NodeOptions } from '../protocol/command.ts'\nimport { mapData } from '../utils/mapData.ts'\n\nasync function upload(\n uploadUrl: string,\n body: BodyInit | null,\n signal?: AbortSignal,\n contentType?: string | null,\n) {\n const uploadResponse = await fetch(uploadUrl, {\n method: 'POST',\n signal,\n headers: contentType\n ? {\n 'Content-Type': contentType,\n }\n : {},\n body,\n })\n\n const data = await uploadResponse.json()\n if (!data || typeof data !== 'object') {\n throw new Error('invalid upload response')\n }\n\n return toFileObject(data as { size: number; mime: string; url: string })\n}\n\n/**\n * nodejs closes the stream when no data where pushed before executing fetch,\n * this way we wait for the first bytes, the executing fetch\n * All that gets obsolete once we use bun.\n */\nasync function stream(\n streamUrl: string,\n stream: ReadableStream,\n signal?: AbortSignal,\n contentType?: string | null,\n) {\n const [testStream, dataStream] = stream.tee()\n\n const reader = testStream.getReader()\n const dataPromise = reader.read().then(({ done }) => {\n if (done) {\n throw new Error('No streaming date received')\n }\n\n reader.cancel()\n })\n\n const streamResponse = await fetch(streamUrl, {\n method: 'POST',\n signal,\n headers: contentType ? { 'Content-Type': contentType } : {},\n })\n\n const data = await streamResponse.json()\n if (!data || typeof data !== 'object') {\n throw new Error('invalid stream response')\n }\n\n const { mime, url } = data as { mime: string; url: string }\n await dataPromise\n\n // don't wait\n const done = fetch(url, {\n method: 'POST',\n signal,\n duplex: 'half', // this is not typed but needed for nodejs to handle readable streams\n body: dataStream,\n } as RequestInit)\n\n return [toStreamObject({ mime, url }), done] as const\n}\n\nexport async function mapOutput(params: {\n value: unknown\n options: Pick<NodeOptions, 'uploadUrl' | 'streamUrl'>\n onFail?: (error: Error) => void\n onSkip?: () => void\n onDone?: () => void\n signal?: AbortSignal\n}) {\n const streamPromises: Array<Promise<any>> = []\n const mapped = await mapData(params.value, {\n async Object(obj) {\n if (obj instanceof Blob || obj instanceof RequenceFile) {\n // don't reupload existing files\n if (obj instanceof RequenceFile && obj.fileObject) {\n return obj.fileObject\n }\n\n if (params.options.uploadUrl) {\n try {\n if (obj instanceof Blob) {\n return await upload(\n params.options.uploadUrl,\n obj,\n params.signal,\n obj.type,\n )\n }\n\n if (obj instanceof RequenceFile) {\n return await upload(\n params.options.uploadUrl,\n await obj.blob(),\n params.signal,\n obj.mimeType,\n )\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n params.onFail?.(error)\n return null\n }\n } else {\n params.onSkip?.()\n return null\n }\n }\n\n if (obj instanceof Response || obj instanceof RequenceStream) {\n if (obj instanceof RequenceStream && obj.streamObject) {\n return obj.streamObject\n }\n\n if (params.options.streamUrl) {\n try {\n if (obj instanceof Response && obj.body) {\n const [streamObject, streamPromise] = await stream(\n params.options.streamUrl,\n obj.body,\n params.signal,\n obj.headers.get('Content-Type'),\n )\n streamPromises.push(streamPromise)\n return streamObject\n }\n\n if (obj instanceof RequenceStream) {\n const [streamObject, streamPromise] = await stream(\n params.options.streamUrl,\n obj.stream(),\n params.signal,\n obj.mimeType,\n )\n streamPromises.push(streamPromise)\n return streamObject\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n params.onFail?.(error)\n return null\n }\n } else {\n params.onSkip?.()\n return null\n }\n }\n },\n })\n\n Promise.allSettled(streamPromises).then(() => params.onDone?.())\n\n return mapped\n}\n",
11
11
  "import type { FileObject } from './index.ts'\nimport type { MainMimeType, SubMimeType, ValidMimeType } from './types.ts'\n\ninterface RequenceFilePropertyBag<T> extends Omit<BlobPropertyBag, 'type'> {\n type: T\n}\n\nexport interface RequenceFileType<A, B> {\n size: number\n mimeType: string\n mainMimeType: A\n subMimeType: B\n text(): Promise<string>\n json(): Promise<unknown>\n blob(): Promise<Blob>\n arrayBuffer(): Promise<ArrayBuffer>\n}\n\nexport class RequenceFile<\n T extends `${string}/${string}` = '*/*',\n A = MainMimeType<T>,\n B = SubMimeType<T>,\n> implements RequenceFileType<A, B>\n{\n #data: Blob\n #file: FileObject | null = null\n constructor(\n blobParts: BlobPart[],\n options?: RequenceFilePropertyBag<ValidMimeType<T>>,\n ) {\n this.#data = new Blob(blobParts, options)\n }\n\n /** @internal */\n static fromFileObject<T extends `${string}/${string}`>(file: FileObject) {\n const instance = new this([], { type: 'x/x' })\n instance.#file = file\n return instance as RequenceFile<T>\n }\n\n /** @internal */\n get fileObject() {\n return this.#file\n }\n\n get size() {\n return this.#file?.size ?? this.#data.size\n }\n\n get mimeType() {\n return this.#file?.mime ?? this.#data.type\n }\n\n get mainMimeType() {\n return this.mimeType.split('/')[0] as A\n }\n\n get subMimeType() {\n return this.mimeType.split('/')[1] as B\n }\n\n async text() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.text())\n }\n return this.#data.text()\n }\n\n async json() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.json())\n }\n return JSON.parse(await this.text())\n }\n\n async blob() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.blob())\n }\n return this.#data\n }\n\n async arrayBuffer() {\n if (this.#file) {\n return fetch(this.#file.url).then((response) => response.arrayBuffer())\n }\n return this.#data.arrayBuffer()\n }\n\n toString() {\n return `RequenceFile<${this.mimeType}>`\n }\n\n toJSON() {\n return `RequenceFile<${this.mimeType}>`\n }\n}\n",
12
12
  "import type { StreamObject } from './index.ts'\nimport type { MainMimeType, SubMimeType, ValidMimeType } from './types.ts'\n\nexport interface RequenceStreamType<A, B> {\n mimeType: string\n mainMimeType: A\n subMimeType: B\n stream(): ReadableStream\n}\n\ninterface RequenceStreamOptions<T> {\n type: T\n}\n\nexport class RequenceStream<\n T extends `${string}/${string}` = '*/*',\n A = MainMimeType<T>,\n B = SubMimeType<T>,\n> implements RequenceStreamType<A, B>\n{\n #data: ReadableStream\n #stream: StreamObject | null = null\n #options: RequenceStreamOptions<any>\n\n constructor(\n stream: ReadableStream,\n options: RequenceStreamOptions<ValidMimeType<T>>,\n ) {\n this.#data = stream\n this.#options = options\n }\n\n /** @internal */\n static fromStreamObject<T extends `${string}/${string}`>(\n stream: StreamObject,\n ) {\n const instance = new this(null as unknown as ReadableStream, {\n type: 'x/x',\n })\n instance.#stream = stream\n return instance as unknown as RequenceStream<T>\n }\n\n /** @internal */\n get streamObject() {\n return this.#stream\n }\n\n get mimeType() {\n return this.#stream?.mime ?? this.#options.type\n }\n\n get mainMimeType() {\n return this.mimeType.split('/')[0] as A\n }\n\n get subMimeType() {\n return this.mimeType.split('/')[1] as B\n }\n\n stream() {\n if (this.#stream) {\n const { readable, writable } = new TransformStream()\n\n fetch(this.#stream.url).then((response) =>\n response.body?.pipeTo(writable),\n )\n\n return readable\n }\n return this.#data\n }\n\n asyncIterable(): AsyncIterable<Uint8Array> {\n const reader = this.stream().getReader()\n\n return {\n [Symbol.asyncIterator]() {\n return {\n async next() {\n return reader.read() as Promise<IteratorResult<Uint8Array>>\n },\n async return() {\n reader.cancel()\n reader.releaseLock()\n return { done: true, value: null }\n },\n }\n },\n }\n }\n\n toString() {\n return `RequenceStream<${this.mimeType}>`\n }\n\n toJSON() {\n return `RequenceStream<${this.mimeType}>`\n }\n}\n",
13
- "import { callbackToAsyncIterable, createRemotePromise } from '@requence/helpers'\nimport { mapOutput as mapInput } from '@requence/helpers/files'\nimport { EventSource } from 'eventsource'\n\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n} from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\nimport mapOutput from './utils/mapOutput.ts'\n\nexport class TaskError extends Error {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n ) {\n super(message)\n }\n}\n\ntype TaskUpdateHandler<T> = (update: Update<T>) => void\n\nexport function createTask<\n T extends keyof RequenceTask.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler<T>>()\n\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const prepareUrl = `${apiBaseUrl}/task/prepare/${options.taskTemplate}`\n\n const payloadPromise = createRemotePromise<{\n taskId: string\n urls?: { watch: string; show: string }\n }>()\n\n let isMonitoring = false\n const startMonitoring = async () => {\n if (isMonitoring) {\n return\n }\n\n isMonitoring = true\n const payload = await payloadPromise\n\n if (!payload.urls) {\n resultPromise.resolve({\n getInput() {\n return input\n },\n getMeta() {\n return meta\n },\n getError(_alias) {\n return null\n },\n getData(_alias) {\n return null\n },\n getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return ''\n },\n } as Result<T>)\n return\n }\n\n const eventSource = new EventSource(payload.urls.watch, {\n fetch: (input, init) =>\n fetch(input, {\n ...init,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }),\n })\n\n const taskEvents: Array<Update<T>['type']> = [\n 'taskStart',\n 'taskError',\n 'taskEnd',\n 'nodeStart',\n 'nodeUpdate',\n 'nodeDefer',\n 'nodeError',\n 'nodeEnd',\n ]\n\n let input: unknown = null\n let meta: unknown = null\n taskEvents.forEach((taskEvent) => {\n eventSource.addEventListener(taskEvent, (event) => {\n const updateResult = eventSchema.safeParse(event)\n\n if (!updateResult.success) {\n eventSource.close()\n resultPromise.reject(\n new TaskError(\n `Invalid ${taskEvent} update received`,\n options.taskTemplate,\n ),\n )\n return\n }\n\n const update = updateResult.data\n\n if (update.type === 'taskEnd' || update.type === 'taskError') {\n eventSource.close()\n }\n\n if (update.type === 'taskStart') {\n input = update.input\n meta = update.meta\n }\n\n if (update.type === 'taskEnd') {\n const getPartialResult = (alias: string) =>\n update.partialResults.find(\n (partialResult) => partialResult.node.alias === alias,\n )\n\n resultPromise.resolve({\n getInput() {\n return mapOutput(input)\n },\n getMeta() {\n return mapOutput(meta)\n },\n getError(alias) {\n return getPartialResult(alias)?.error ?? null\n },\n getData(alias) {\n if (!alias) {\n return mapOutput(update.result)\n }\n\n return mapOutput(getPartialResult(alias)?.data ?? null)\n },\n getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return payload.urls?.show ?? ''\n },\n } as Result<T>)\n }\n\n if (update.type === 'taskError') {\n resultPromise.reject(\n new TaskError(update.error, options.taskTemplate),\n )\n }\n\n const extendedUpdate =\n update.type === 'nodeUpdate'\n ? {\n ...update,\n output: update.output === '__default__' ? null : update.output,\n data: mapOutput(update.data),\n }\n : update\n taskUpdateHandlers.forEach((handler) =>\n handler(extendedUpdate as Update<T>),\n )\n })\n })\n }\n\n const taskIdPromise = createRemotePromise<string>()\n const resultPromise = createRemotePromise<Result<T>>(startMonitoring)\n\n ;(async () => {\n const prepareResponse = await fetch(prepareUrl, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!prepareResponse.ok) {\n const error = new TaskError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n taskIdPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const prepareData = (await prepareResponse.json()) as {\n taskId: string\n finalizeUrl: string\n fileUrls?: { uploadUrl: string; streamUrl: string }\n }\n\n const mappedParams = await mapInput({\n value: {\n name: options.name,\n input: options.input,\n meta: options.meta,\n },\n options: {\n uploadUrl: prepareData.fileUrls?.uploadUrl,\n streamUrl: prepareData.fileUrls?.streamUrl,\n },\n })\n\n const finalizeResponse = await fetch(prepareData.finalizeUrl, {\n method: 'POST',\n body: JSON.stringify(mappedParams),\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n\n if (!finalizeResponse.ok) {\n const error = new TaskError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n taskIdPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const payload = (await finalizeResponse.json()) as {\n taskId: string\n urls?: {\n show: string\n watch: string\n }\n }\n taskIdPromise.resolve(payload.taskId)\n payloadPromise.resolve(payload)\n if (onUpdate) {\n taskUpdateHandlers.add(onUpdate)\n startMonitoring()\n }\n })()\n\n const asyncIterable = callbackToAsyncIterable<Update<T>>(\n (push, _fail, done) => {\n taskUpdateHandlers.add(function handleUpdate(update) {\n push(update)\n if (update.type === 'taskEnd' || update.type === 'taskError') {\n done()\n taskUpdateHandlers.delete(handleUpdate)\n }\n })\n\n startMonitoring()\n },\n )\n\n return Object.assign(resultPromise.promise, asyncIterable, {\n getTaskId() {\n return taskIdPromise\n },\n getTaskUrl() {},\n })\n}\n",
14
- "import { z } from 'zod'\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & {}\n\ntype IfUnknown<T, Then, Else> = unknown extends T\n ? T extends unknown\n ? Then\n : Else\n : Else\n\ntype IfNull<T, Then, Else> = T extends null\n ? null extends T\n ? Then\n : Else\n : Else\n\nexport type CreateTaskOptions<T> = {\n taskTemplate: T\n name?: string | null\n accessToken?: string\n} & IfNull<\n Input<T>,\n { input?: null },\n IfUnknown<Input<T>, { input?: any }, { input: Input<T> }>\n> &\n IfNull<\n Meta<T>,\n { meta?: null },\n IfUnknown<Meta<T>, { meta?: any }, { meta: Meta<T> }>\n >\n\ntype Input<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['input']\n : unknown\ntype Meta<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['meta']\n : unknown\ntype Data<T> = T extends keyof RequenceTask.TaskTemplate\n ? Prettify<RequenceTask.TaskTemplate[T]['results']>\n : unknown\ntype NamedData<T, A> = T extends keyof RequenceTask.TaskTemplate\n ? A extends keyof RequenceTask.TaskTemplate[T]['namedResults']\n ? Prettify<RequenceTask.TaskTemplate[T]['namedResults'][A]>\n : unknown\n : unknown\ntype Alias<T> = T extends keyof RequenceTask.TaskTemplate\n ? keyof RequenceTask.TaskTemplate[T]['namedResults']\n : string\n\nexport interface Result<T> {\n getInput(): Input<T>\n getMeta(): Meta<T>\n getData: {\n (): Data<T>\n <A extends Alias<T>>(alias: A): NamedData<T, A>\n }\n getError(alias: Alias<T>): string | null\n getTaskId(): string\n getTaskUrl(): string\n}\n\nconst serviceNodeInfoSchema = z.object({\n id: z.string().uuid(),\n type: z.literal('service'),\n alias: z.string().optional(),\n service: z\n .object({\n id: z.string().uuid(),\n name: z.string(),\n version: z.string(),\n })\n .optional(),\n})\n\nconst logicNodeInfoSchema = z.object({\n id: z.string().uuid(),\n type: z.literal('logic'),\n alias: z.string().optional(),\n logic: z\n .object({\n language: z.enum(['typescript', 'javascript', 'python']),\n })\n .optional(),\n})\n\nconst nodeInfoSchema = z.discriminatedUnion('type', [\n serviceNodeInfoSchema,\n logicNodeInfoSchema,\n])\n\nconst baseUpdate = z.object({\n timestamp: z.coerce.date(),\n taskId: z.string().uuid(),\n})\n\nconst taskStartUpdateSchema = baseUpdate.extend({\n type: z.literal('taskStart'),\n input: z.unknown(),\n meta: z.unknown(),\n})\n\nconst taskErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('taskError'),\n error: z.string(),\n})\n\nconst taskEndUpdateSchema = baseUpdate.extend({\n type: z.literal('taskEnd'),\n result: z.record(z.string(), z.unknown()),\n partialResults: z.array(\n z.object({\n node: nodeInfoSchema,\n timestamp: z.coerce.date().nullable(),\n data: z.unknown(),\n error: z.string().optional(),\n }),\n ),\n})\n\nconst nodeStartUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeStart'),\n node: nodeInfoSchema,\n})\n\nconst nodeUpdateUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeUpdate'),\n node: nodeInfoSchema,\n data: z.unknown(),\n output: z.union([z.null(), z.string()]),\n})\n\nconst nodeErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeError'),\n node: nodeInfoSchema,\n error: z.string(),\n})\n\nconst nodeDeferUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeDefer'),\n node: nodeInfoSchema,\n reason: z.string().optional(),\n})\n\nconst nodeEndUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeEnd'),\n node: nodeInfoSchema,\n})\n\nexport const updateSchema = z.discriminatedUnion('type', [\n taskStartUpdateSchema,\n taskErrorUpdateSchema,\n taskEndUpdateSchema,\n nodeStartUpdateSchema,\n nodeUpdateUpdateSchema,\n nodeErrorUpdateSchema,\n nodeDeferUpdateSchema,\n nodeEndUpdateSchema,\n])\n\nexport type Update<T> =\n | Exclude<z.infer<typeof updateSchema>, { type: 'nodeUpdate' }>\n | (Omit<z.infer<typeof nodeUpdateUpdateSchema>, 'data'> & {\n data: Partial<Data<T>>\n })\n\nexport const eventSchema = z\n .object({ type: z.string(), data: z.string() })\n .transform((event) => ({ type: event.type, ...JSON.parse(event.data) }))\n .pipe(updateSchema)\n",
13
+ "import { callbackToAsyncIterable, createRemotePromise } from '@requence/helpers'\nimport { mapOutput as mapInput } from '@requence/helpers/files'\nimport { EventSource } from 'eventsource'\n\nimport { abortTask } from './abortTask.ts'\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n} from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\nimport mapOutput from './utils/mapOutput.ts'\n\nexport class TaskError extends Error {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n ) {\n super(message)\n }\n}\n\ntype TaskUpdateHandler<T> = (update: Update<T>) => void\n\nexport function createTask<\n T extends keyof RequenceTask.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>) {\n const taskUpdateHandlers = new Set<TaskUpdateHandler<T>>()\n\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const prepareUrl = `${apiBaseUrl}/task/prepare/${options.taskTemplate}`\n\n const payloadPromise = createRemotePromise<{\n taskId: string\n urls?: { watch: string; show: string }\n }>()\n\n let isMonitoring = false\n const startMonitoring = async () => {\n if (isMonitoring) {\n return\n }\n\n isMonitoring = true\n const payload = await payloadPromise\n\n if (!payload.urls) {\n resultPromise.resolve({\n getInput() {\n return input\n },\n getMeta() {\n return meta\n },\n getError(_alias) {\n return null\n },\n getData(_alias) {\n return null\n },\n getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return ''\n },\n } as Result<T>)\n return\n }\n\n const eventSource = new EventSource(payload.urls.watch, {\n fetch: (input, init) =>\n fetch(input, {\n ...init,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }),\n })\n\n const taskEvents: Array<Update<T>['type']> = [\n 'taskStart',\n 'taskError',\n 'taskEnd',\n 'nodeStart',\n 'nodeUpdate',\n 'nodeDefer',\n 'nodeError',\n 'nodeEnd',\n ]\n\n let input: unknown = null\n let meta: unknown = null\n taskEvents.forEach((taskEvent) => {\n eventSource.addEventListener(taskEvent, (event) => {\n const updateResult = eventSchema.safeParse(event)\n\n if (!updateResult.success) {\n eventSource.close()\n resultPromise.reject(\n new TaskError(\n `Invalid ${taskEvent} update received`,\n options.taskTemplate,\n ),\n )\n return\n }\n\n const update = updateResult.data\n\n if (update.type === 'taskEnd' || update.type === 'taskError') {\n eventSource.close()\n }\n\n if (update.type === 'taskStart') {\n input = update.input\n meta = update.meta\n }\n\n if (update.type === 'taskEnd') {\n const getPartialResult = (alias: string) =>\n update.partialResults.find(\n (partialResult) => partialResult.node.alias === alias,\n )\n\n resultPromise.resolve({\n getInput() {\n return mapOutput(input)\n },\n getMeta() {\n return mapOutput(meta)\n },\n getError(alias) {\n return getPartialResult(alias)?.error ?? null\n },\n getData(alias) {\n if (!alias) {\n return mapOutput(update.result)\n }\n\n return mapOutput(getPartialResult(alias)?.data ?? null)\n },\n getTaskId() {\n return payload.taskId\n },\n getTaskUrl() {\n return payload.urls?.show ?? ''\n },\n } as Result<T>)\n }\n\n if (update.type === 'taskError') {\n resultPromise.reject(\n new TaskError(update.error, options.taskTemplate),\n )\n }\n\n const extendedUpdate =\n update.type === 'nodeUpdate'\n ? {\n ...update,\n output: update.output === '__default__' ? null : update.output,\n data: mapOutput(update.data),\n }\n : update\n taskUpdateHandlers.forEach((handler) =>\n handler(extendedUpdate as Update<T>),\n )\n })\n })\n }\n\n const taskMetaPromise = createRemotePromise<{\n id: string\n showUrl: string | null\n }>()\n const resultPromise = createRemotePromise<Result<T>>(startMonitoring)\n\n ;(async () => {\n const prepareResponse = await fetch(prepareUrl, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!prepareResponse.ok) {\n const error = new TaskError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n taskMetaPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const prepareData = (await prepareResponse.json()) as {\n taskId: string\n finalizeUrl: string\n fileUrls?: { uploadUrl: string; streamUrl: string }\n }\n\n const mappedParams = await mapInput({\n value: {\n name: options.name,\n input: options.input,\n meta: options.meta,\n },\n options: {\n uploadUrl: prepareData.fileUrls?.uploadUrl,\n streamUrl: prepareData.fileUrls?.streamUrl,\n },\n })\n\n const finalizeResponse = await fetch(prepareData.finalizeUrl, {\n method: 'POST',\n body: JSON.stringify(mappedParams),\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n })\n\n if (!finalizeResponse.ok) {\n const error = new TaskError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n taskMetaPromise.reject(error)\n resultPromise.reject(error)\n return\n }\n\n const payload = (await finalizeResponse.json()) as {\n taskId: string\n urls?: {\n show: string\n watch: string\n }\n }\n taskMetaPromise.resolve({\n id: payload.taskId,\n showUrl: payload.urls?.show ?? null,\n })\n payloadPromise.resolve(payload)\n if (onUpdate) {\n taskUpdateHandlers.add(onUpdate)\n startMonitoring()\n }\n })()\n\n const asyncIterable = callbackToAsyncIterable<Update<T>>(\n (push, _fail, done) => {\n taskUpdateHandlers.add(function handleUpdate(update) {\n push(update)\n if (update.type === 'taskEnd' || update.type === 'taskError') {\n done()\n taskUpdateHandlers.delete(handleUpdate)\n }\n })\n\n startMonitoring()\n },\n )\n\n return Object.assign(resultPromise.promise, asyncIterable, {\n async getTaskId() {\n const meta = await taskMetaPromise\n return meta.id\n },\n async getTaskUrl() {\n const meta = await taskMetaPromise\n return meta.showUrl\n },\n async abort(reason?: string) {\n const meta = await taskMetaPromise\n await abortTask({\n taskId: meta.id,\n accessToken: options.accessToken,\n reason,\n })\n },\n })\n}\n",
15
14
  "import { readFileSync } from 'node:fs'\n\nimport { deobfuscate } from '@requence/helpers'\n\nexport default function getAccessToken(accessToken?: string) {\n let token =\n accessToken ??\n process.env.REQUENCE_TASK_ACCESS_TOKEN ??\n process.env.REQUENCE_ACCESS_TOKEN\n\n if (!token) {\n const pkgJson = JSON.parse(readFileSync('package.json', 'utf-8'))\n token = pkgJson.requence?.task?.accessToken ?? pkgJson.requence?.accessToken\n }\n\n if (!token) {\n throw new Error(\n 'No access token found\\nYou can provide the access token as argument to createTask,\\nas environment variable REQUENCE_ACCESS_TOKEN or\\nin your package.json in requence.accessToken',\n )\n }\n\n const parts = deobfuscate(token)\n if (parts.length < 2 || parts[0] !== 'api') {\n throw new Error('Invalid api key')\n }\n\n return {\n token: parts[1],\n apiBaseUrl: parts[2],\n }\n}\n",
15
+ "import getAccessToken from './utils/getAccessToken.ts'\n\nclass TaskAbortError extends Error {\n constructor(\n message: string,\n public readonly taskId: string,\n ) {\n super(message)\n }\n}\n\ninterface AbortTaskOptions {\n accessToken?: string\n reason?: string\n taskId: string\n}\nexport async function abortTask(options: AbortTaskOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const abortUrl = `${apiBaseUrl}/task/abort/${options.taskId}`\n\n const response = await fetch(abortUrl, {\n method: 'POST',\n body: options.reason ?? '',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n throw new TaskAbortError(await response.text(), options.taskId)\n }\n}\n",
16
+ "import { z } from 'zod'\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & {}\n\ntype IfUnknown<T, Then, Else> = unknown extends T\n ? T extends unknown\n ? Then\n : Else\n : Else\n\ntype IfNull<T, Then, Else> = T extends null\n ? null extends T\n ? Then\n : Else\n : Else\n\nexport type CreateTaskOptions<T> = {\n taskTemplate: T\n name?: string | null\n accessToken?: string\n} & IfNull<\n Input<T>,\n { input?: null },\n IfUnknown<Input<T>, { input?: any }, { input: Input<T> }>\n> &\n IfNull<\n Meta<T>,\n { meta?: null },\n IfUnknown<Meta<T>, { meta?: any }, { meta: Meta<T> }>\n >\n\ntype Input<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['input']\n : unknown\ntype Meta<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['meta']\n : unknown\ntype Data<T> = T extends keyof RequenceTask.TaskTemplate\n ? Prettify<RequenceTask.TaskTemplate[T]['results']>\n : unknown\ntype NamedData<T, A> = T extends keyof RequenceTask.TaskTemplate\n ? A extends keyof RequenceTask.TaskTemplate[T]['namedResults']\n ? Prettify<RequenceTask.TaskTemplate[T]['namedResults'][A]>\n : unknown\n : unknown\ntype Alias<T> = T extends keyof RequenceTask.TaskTemplate\n ? keyof RequenceTask.TaskTemplate[T]['namedResults']\n : string\n\nexport interface Result<T> {\n getInput(): Input<T>\n getMeta(): Meta<T>\n getData: {\n (): Data<T>\n <A extends Alias<T>>(alias: A): NamedData<T, A>\n }\n getError(alias: Alias<T>): string | null\n getTaskId(): string\n getTaskUrl(): string\n}\n\nconst serviceNodeInfoSchema = z.object({\n id: z.string().uuid(),\n type: z.literal('service'),\n alias: z.string().optional(),\n service: z\n .object({\n id: z.string().uuid(),\n name: z.string(),\n version: z.string(),\n })\n .optional(),\n})\n\nconst logicNodeInfoSchema = z.object({\n id: z.string().uuid(),\n type: z.literal('logic'),\n alias: z.string().optional(),\n logic: z\n .object({\n language: z.enum(['typescript', 'javascript', 'python']),\n })\n .optional(),\n})\n\nconst nodeInfoSchema = z.discriminatedUnion('type', [\n serviceNodeInfoSchema,\n logicNodeInfoSchema,\n])\n\nconst baseUpdate = z.object({\n timestamp: z.coerce.date(),\n taskId: z.string().uuid(),\n})\n\nconst taskStartUpdateSchema = baseUpdate.extend({\n type: z.literal('taskStart'),\n input: z.unknown(),\n meta: z.unknown(),\n})\n\nconst taskErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('taskError'),\n error: z.string(),\n})\n\nconst taskEndUpdateSchema = baseUpdate.extend({\n type: z.literal('taskEnd'),\n result: z.record(z.string(), z.unknown()),\n partialResults: z.array(\n z.object({\n node: nodeInfoSchema,\n timestamp: z.coerce.date().nullable(),\n data: z.unknown(),\n error: z.string().optional(),\n }),\n ),\n})\n\nconst nodeStartUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeStart'),\n node: nodeInfoSchema,\n})\n\nconst nodeUpdateUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeUpdate'),\n node: nodeInfoSchema,\n data: z.unknown(),\n output: z.union([z.null(), z.string()]),\n})\n\nconst nodeErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeError'),\n node: nodeInfoSchema,\n error: z.string(),\n})\n\nconst nodeDeferUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeDefer'),\n node: nodeInfoSchema,\n reason: z.string().optional(),\n})\n\nconst nodeEndUpdateSchema = baseUpdate.extend({\n type: z.literal('nodeEnd'),\n node: nodeInfoSchema,\n})\n\nexport const updateSchema = z.discriminatedUnion('type', [\n taskStartUpdateSchema,\n taskErrorUpdateSchema,\n taskEndUpdateSchema,\n nodeStartUpdateSchema,\n nodeUpdateUpdateSchema,\n nodeErrorUpdateSchema,\n nodeDeferUpdateSchema,\n nodeEndUpdateSchema,\n])\n\nexport type Update<T> =\n | Exclude<z.infer<typeof updateSchema>, { type: 'nodeUpdate' }>\n | (Omit<z.infer<typeof nodeUpdateUpdateSchema>, 'data'> & {\n data: Partial<Data<T>>\n })\n\nexport const eventSchema = z\n .object({ type: z.string(), data: z.string() })\n .transform((event) => ({ type: event.type, ...JSON.parse(event.data) }))\n .pipe(updateSchema)\n",
16
17
  "import { mapData } from '@requence/helpers'\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} from '@requence/helpers/files'\n\nexport default function mapOutput(data: unknown): unknown {\n return mapData(data, {\n Object(obj) {\n if (isFileObject(obj)) {\n return RequenceFile.fromFileObject(obj)\n }\n if (isStreamObject(obj)) {\n return RequenceStream.fromStreamObject(obj)\n }\n },\n })\n}\n",
17
18
  "import { callbackToAsyncIterable } from '@requence/helpers'\nimport { EventSource } from 'eventsource'\n\nimport { type Update, eventSchema } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\nimport mapOutput from './utils/mapOutput.ts'\n\ntype TaskUpdateHandler = (update: Update<unknown>) => void\n\ninterface WatchTasksOptions {\n accessToken?: string\n since: Date\n onUpdate?: TaskUpdateHandler\n}\nexport function watchTasks(options: WatchTasksOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n const taskUpdateHandlers = new Set<TaskUpdateHandler>()\n\n if (options.onUpdate) {\n taskUpdateHandlers.add(options.onUpdate)\n }\n\n const watchUrl = new URL(`${apiBaseUrl}/task/watch-all`)\n watchUrl.searchParams.set('since', options.since.toISOString())\n\n const eventSource = new EventSource(watchUrl, {\n fetch: (input, init) =>\n fetch(input, {\n ...init,\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }),\n })\n\n const asyncIterable = callbackToAsyncIterable<Update<unknown>>((push) => {\n taskUpdateHandlers.add(push)\n })\n\n const taskEvents: Array<Update<unknown>['type']> = [\n 'taskStart',\n 'taskError',\n 'taskEnd',\n 'nodeStart',\n 'nodeUpdate',\n 'nodeDefer',\n 'nodeError',\n 'nodeEnd',\n ]\n\n taskEvents.forEach((taskEvent) => {\n eventSource.addEventListener(taskEvent, (event) => {\n const updateResult = eventSchema.safeParse(event)\n\n if (!updateResult.success) {\n eventSource.close()\n throw new Error('invalid update')\n }\n\n const update = updateResult.data\n const extendedUpdate =\n update.type === 'nodeUpdate'\n ? {\n ...update,\n output: update.output === '__default__' ? null : update.output,\n data: mapOutput(update.data),\n }\n : update\n taskUpdateHandlers.forEach((handler) =>\n handler(extendedUpdate as Update<unknown>),\n )\n })\n })\n\n const stopWatching = () => {\n eventSource.close()\n }\n\n return Object.assign(stopWatching, asyncIterable)\n}\n"
18
19
  ],
19
- "mappings": "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",
20
- "debugId": "422DEFF7B035A45E64756E2164756E21",
20
+ "mappings": "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",
21
+ "debugId": "C8D5E6A0535B4D4764756E2164756E21",
21
22
  "names": []
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAMnD,QAAA,MAAM,WAAW,EAAwC,UAAU,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9D;AAgBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA8ClD,OAAO;eAGR,OAAO;oBAGF,MAAM;oBAsCN,MAAM;EAWzB;AAED,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,WAAW,CAAC,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAMnD,QAAA,MAAM,WAAW,EAAwC,UAAU,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE9D;AAgBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA8ClD,OAAO;eAGR,OAAO;oBAGF,MAAM;oBAuCN,MAAM;EAWzB;AAED,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACnE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,WAAW,CAAC,CAAA"}
@@ -12,14 +12,20 @@ export declare const abortSchema: z.ZodObject<{
12
12
  export type Abort = z.infer<typeof abortSchema>;
13
13
  export declare const nodeOptionsSchema: z.ZodObject<{
14
14
  maxExecutions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
15
+ compliance: z.ZodDefault<z.ZodNullable<z.ZodEnum<["mcp-tool"]>>>;
16
+ exitEarly: z.ZodOptional<z.ZodBoolean>;
15
17
  uploadUrl: z.ZodOptional<z.ZodString>;
16
18
  streamUrl: z.ZodOptional<z.ZodString>;
17
19
  }, "strip", z.ZodTypeAny, {
18
20
  maxExecutions: number;
21
+ compliance: "mcp-tool" | null;
22
+ exitEarly?: boolean | undefined;
19
23
  uploadUrl?: string | undefined;
20
24
  streamUrl?: string | undefined;
21
25
  }, {
22
26
  maxExecutions?: number | undefined;
27
+ compliance?: "mcp-tool" | null | undefined;
28
+ exitEarly?: boolean | undefined;
23
29
  uploadUrl?: string | undefined;
24
30
  streamUrl?: string | undefined;
25
31
  }>;
@@ -809,20 +815,28 @@ export declare const createNodesSchema: z.ZodObject<{
809
815
  meta: z.ZodAny;
810
816
  options: z.ZodObject<{
811
817
  maxExecutions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
818
+ compliance: z.ZodDefault<z.ZodNullable<z.ZodEnum<["mcp-tool"]>>>;
819
+ exitEarly: z.ZodOptional<z.ZodBoolean>;
812
820
  uploadUrl: z.ZodOptional<z.ZodString>;
813
821
  streamUrl: z.ZodOptional<z.ZodString>;
814
822
  }, "strip", z.ZodTypeAny, {
815
823
  maxExecutions: number;
824
+ compliance: "mcp-tool" | null;
825
+ exitEarly?: boolean | undefined;
816
826
  uploadUrl?: string | undefined;
817
827
  streamUrl?: string | undefined;
818
828
  }, {
819
829
  maxExecutions?: number | undefined;
830
+ compliance?: "mcp-tool" | null | undefined;
831
+ exitEarly?: boolean | undefined;
820
832
  uploadUrl?: string | undefined;
821
833
  streamUrl?: string | undefined;
822
834
  }>;
823
835
  }, "strip", z.ZodTypeAny, {
824
836
  options: {
825
837
  maxExecutions: number;
838
+ compliance: "mcp-tool" | null;
839
+ exitEarly?: boolean | undefined;
826
840
  uploadUrl?: string | undefined;
827
841
  streamUrl?: string | undefined;
828
842
  };
@@ -880,6 +894,8 @@ export declare const createNodesSchema: z.ZodObject<{
880
894
  }, {
881
895
  options: {
882
896
  maxExecutions?: number | undefined;
897
+ compliance?: "mcp-tool" | null | undefined;
898
+ exitEarly?: boolean | undefined;
883
899
  uploadUrl?: string | undefined;
884
900
  streamUrl?: string | undefined;
885
901
  };
@@ -1783,20 +1799,28 @@ export declare const commandSchema: z.ZodUnion<[z.ZodObject<{
1783
1799
  meta: z.ZodAny;
1784
1800
  options: z.ZodObject<{
1785
1801
  maxExecutions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1802
+ compliance: z.ZodDefault<z.ZodNullable<z.ZodEnum<["mcp-tool"]>>>;
1803
+ exitEarly: z.ZodOptional<z.ZodBoolean>;
1786
1804
  uploadUrl: z.ZodOptional<z.ZodString>;
1787
1805
  streamUrl: z.ZodOptional<z.ZodString>;
1788
1806
  }, "strip", z.ZodTypeAny, {
1789
1807
  maxExecutions: number;
1808
+ compliance: "mcp-tool" | null;
1809
+ exitEarly?: boolean | undefined;
1790
1810
  uploadUrl?: string | undefined;
1791
1811
  streamUrl?: string | undefined;
1792
1812
  }, {
1793
1813
  maxExecutions?: number | undefined;
1814
+ compliance?: "mcp-tool" | null | undefined;
1815
+ exitEarly?: boolean | undefined;
1794
1816
  uploadUrl?: string | undefined;
1795
1817
  streamUrl?: string | undefined;
1796
1818
  }>;
1797
1819
  }, "strip", z.ZodTypeAny, {
1798
1820
  options: {
1799
1821
  maxExecutions: number;
1822
+ compliance: "mcp-tool" | null;
1823
+ exitEarly?: boolean | undefined;
1800
1824
  uploadUrl?: string | undefined;
1801
1825
  streamUrl?: string | undefined;
1802
1826
  };
@@ -1854,6 +1878,8 @@ export declare const commandSchema: z.ZodUnion<[z.ZodObject<{
1854
1878
  }, {
1855
1879
  options: {
1856
1880
  maxExecutions?: number | undefined;
1881
+ compliance?: "mcp-tool" | null | undefined;
1882
+ exitEarly?: boolean | undefined;
1857
1883
  uploadUrl?: string | undefined;
1858
1884
  streamUrl?: string | undefined;
1859
1885
  };
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface AbortTaskOptions {
2
+ accessToken?: string;
3
+ reason?: string;
4
+ taskId: string;
5
+ }
6
+ export declare function abortTask(options: AbortTaskOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=abortTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortTask.d.ts","sourceRoot":"","sources":["../../../../src/abortTask.ts"],"names":[],"mappings":"AAWA,UAAU,gBAAgB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AACD,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,iBAgBxD"}
@@ -5,12 +5,9 @@ export declare class TaskError extends Error {
5
5
  }
6
6
  type TaskUpdateHandler<T> = (update: Update<T>) => void;
7
7
  export declare function createTask<T extends keyof RequenceTask.TaskTemplate | (string & {})>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>): Promise<Result<T>> & AsyncIterable<Update<T>> & {
8
- getTaskId(): Promise<string> & {
9
- resolve: (value: string | PromiseLike<string>) => void;
10
- reject: (reason?: any) => void;
11
- promise: Promise<string>;
12
- };
13
- getTaskUrl(): void;
8
+ getTaskId(): Promise<string>;
9
+ getTaskUrl(): Promise<string | null>;
10
+ abort(reason?: string): Promise<void>;
14
11
  };
15
12
  export {};
16
13
  //# sourceMappingURL=createTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createTask.d.ts","sourceRoot":"","sources":["../../../../src/createTask.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAA;AAInB,qBAAa,SAAU,SAAQ,KAAK;aAGhB,YAAY,EAAE,MAAM;gBADpC,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,MAAM;CAIvC;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAEvD,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,YAAY,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACzD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;;;;EAgP/D"}
1
+ {"version":3,"file":"createTask.d.ts","sourceRoot":"","sources":["../../../../src/createTask.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAA;AAInB,qBAAa,SAAU,SAAQ,KAAK;aAGhB,YAAY,EAAE,MAAM;gBADpC,OAAO,EAAE,MAAM,EACC,YAAY,EAAE,MAAM;CAIvC;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;AAEvD,wBAAgB,UAAU,CACxB,CAAC,SAAS,MAAM,YAAY,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EACzD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;mBAyPvC,MAAM;EAS9B"}
@@ -1,4 +1,5 @@
1
1
  export { createTask } from './createTask.ts';
2
2
  export { watchTasks } from './watchTasks.ts';
3
+ export { abortTask } from './abortTask.ts';
3
4
  export { RequenceFile, RequenceStream } from '../../helpers/src/files/index.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@requence/task",
3
3
  "type": "module",
4
- "version": "1.0.0-alpha.17",
4
+ "version": "1.0.0-alpha.19",
5
5
  "bin": {
6
6
  "requence-task": "build/cli.js"
7
7
  },