@requence/task 1.0.0-alpha.44 → 1.0.0-alpha.46
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 +12 -0
- package/build/cli.js +7 -7
- package/build/cli.js.map +2 -2
- package/build/index.js +167 -131
- package/build/index.js.map +12 -11
- package/build/types/helpers/src/files/mapOutput.d.ts.map +1 -1
- package/build/types/helpers/src/index.d.ts +3 -2
- package/build/types/helpers/src/index.d.ts.map +1 -1
- package/build/types/helpers/src/jsonschema/zod.d.ts +1 -0
- package/build/types/helpers/src/jsonschema/zod.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/NodeTree.d.ts +37 -14
- package/build/types/helpers/src/protocol/NodeTree.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/command.d.ts +8 -12
- package/build/types/helpers/src/protocol/command.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/nodeType.d.ts +4 -0
- package/build/types/helpers/src/protocol/nodeType.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/taskOptions.d.ts +0 -3
- package/build/types/helpers/src/protocol/taskOptions.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/templateNodeTypes.d.ts +32 -0
- package/build/types/helpers/src/protocol/templateNodeTypes.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/treeNodes.d.ts +20 -6
- package/build/types/helpers/src/protocol/treeNodes.d.ts.map +1 -1
- package/build/types/helpers/src/protocol/update.d.ts +2 -0
- package/build/types/helpers/src/protocol/update.d.ts.map +1 -1
- package/build/types/helpers/src/utils/debounce.d.ts +4 -0
- package/build/types/helpers/src/utils/debounce.d.ts.map +1 -0
- package/build/types/helpers/src/utils/guards.d.ts +3 -0
- package/build/types/helpers/src/utils/guards.d.ts.map +1 -0
- package/build/types/helpers/src/utils/obj.d.ts +4 -0
- package/build/types/helpers/src/utils/obj.d.ts.map +1 -0
- package/build/types/helpers/src/utils/requenceCallback.d.ts.map +1 -1
- package/build/types/helpers/src/utils/types.d.ts +3 -0
- package/build/types/helpers/src/utils/types.d.ts.map +1 -1
- package/build/types/task/src/createTask.d.ts +2 -1
- package/build/types/task/src/createTask.d.ts.map +1 -1
- package/build/types/task/src/getTask.d.ts +1 -0
- package/build/types/task/src/getTask.d.ts.map +1 -1
- package/build/types/task/src/index.d.ts +1 -0
- package/build/types/task/src/index.d.ts.map +1 -1
- package/build/types/task/src/protectTask.d.ts +7 -0
- package/build/types/task/src/protectTask.d.ts.map +1 -0
- package/build/types/task/src/types.d.ts +2 -1
- package/build/types/task/src/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/build/types/helpers/src/utils/createRemotePromise.d.ts +0 -7
- package/build/types/helpers/src/utils/createRemotePromise.d.ts.map +0 -1
- package/build/types/helpers/src/utils/isRecord.d.ts +0 -2
- package/build/types/helpers/src/utils/isRecord.d.ts.map +0 -1
package/build/index.js.map
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/
|
|
3
|
+
"sources": ["../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/guards.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/utils/requenceCallback.ts", "../../helpers/src/files/fileObject.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../../helpers/src/files/streamObject.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/utils/resolveRequenceTypes.ts", "../src/createTask.ts", "../src/utils/getAccessToken.ts", "../src/abortTask.ts", "../src/protectTask.ts", "../src/types.ts", "../src/watchTasks.ts", "../src/getTask.ts", "../src/recreateTask.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"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",
|
|
6
|
-
"import { z } from 'zod/v4'\n\nconst recordSchema = z.record(z.string(), z.unknown())\nexport function isRecord(data: unknown): data is Record<string, unknown> {\n return recordSchema.safeParse(data).success\n}\n",
|
|
7
|
-
"import { isRecord } from './
|
|
8
|
-
"import { z } from 'zod/v4'\n\nconst callbackObjectSchema = z.object({\n sourceId: z.string(),\n outputName: z.string().nullable(),\n propertyPath: z.array(z.union([z.string(), z.int()])),\n callbackId: z.uuid(),\n __REQUENCE_type: z.literal('RequenceCallback'),\n})\n\nexport type CallbackObject = z.infer<typeof callbackObjectSchema>\n\nexport function isCallbackObject(data: unknown): data is CallbackObject {\n return callbackObjectSchema.safeParse(data).success\n}\n\nexport type RequenceCallback<T> = (arg: T) => void\nexport type WrappedRequenceCallback<T> = RequenceCallback<T> & {\n response(): Promise<T>\n}\n\nexport function createCallback<T>(\n callback?: (arg: T) => void,\n): WrappedRequenceCallback<T> {\n
|
|
9
|
-
"import {
|
|
6
|
+
"import { z } from 'zod/v4'\n\nconst recordSchema = z.record(z.string(), z.unknown())\nexport function isRecord(data: unknown): data is Record<string, unknown> {\n return recordSchema.safeParse(data).success\n}\n\nconst uuidSchema = z.uuid()\nexport function isUuid(data: unknown): data is string {\n return uuidSchema.safeParse(data).success\n}\n",
|
|
7
|
+
"import { isRecord } from './guards.ts'\n\ntype DataVistor<T> = (\n data: T,\n path: Array<string | number>,\n) => Promise<any> | any\n\ninterface DataVistors {\n Null?: DataVistor<null>\n String?: DataVistor<string>\n Number?: DataVistor<number>\n Object?: DataVistor<object>\n Array?: DataVistor<Array<any>>\n Buffer?: DataVistor<Buffer>\n Function?: DataVistor<(...args: any[]) => any>\n Symbol?: DataVistor<symbol>\n}\n\ntype HasPromiseVistor<T extends DataVistors, Then, Else> = T[keyof T] extends (\n ...args: any[]\n) => any\n ? Promise<any> extends ReturnType<T[keyof T]>\n ? Then\n : Else\n : Else\n\nfunction resolve<T>(value: T | Promise<T>, onResolve: (value: T) => void) {\n if (value instanceof Promise) {\n return Promise.resolve()\n .then(() => value)\n .then(onResolve)\n }\n return onResolve(value)\n}\n\nfunction notUndefined(value: unknown, fallback: unknown) {\n return resolve(value, (resolvedValue) =>\n typeof resolvedValue === 'undefined' ? fallback : resolvedValue,\n )\n}\n\nclass AbortMapData extends Error {}\n\nexport function mapData<\n Output,\n Input = unknown,\n V extends DataVistors = DataVistors,\n>(\n data: Input,\n visitors: V,\n): HasPromiseVistor<\n V,\n Promise<unknown extends Output ? Input : Output>,\n unknown extends Output ? Input : Output\n> {\n let aborted = false\n const traverseData = (data: any, path: Array<string | number>): any => {\n if (aborted) {\n return data\n }\n try {\n if (Array.isArray(data)) {\n return resolve(visitors.Array?.(data, path), (resolvedData) => {\n if (resolvedData) {\n return resolvedData\n }\n const items = data.map((item, index) =>\n traverseData(item, [...path, index]),\n )\n if (items.some((item) => item instanceof Promise)) {\n return Promise.all(items)\n }\n\n return items\n })\n }\n if (data === null) {\n return notUndefined(visitors.Null?.(data, path), data)\n }\n if (typeof Buffer !== 'undefined' && Buffer.isBuffer(data)) {\n return notUndefined(visitors.Buffer?.(data, path), data)\n }\n if (typeof data === 'string') {\n return notUndefined(visitors.String?.(data, path), data)\n }\n if (typeof data === 'number') {\n return notUndefined(visitors.Number?.(data, path), data)\n }\n if (typeof data === 'symbol') {\n return notUndefined(visitors.Symbol?.(data, path), data)\n }\n if (typeof data === 'function') {\n return notUndefined(visitors.Function?.(data, path), data)\n }\n if (isRecord(data)) {\n return resolve(\n visitors.Object?.(structuredClone(data), path),\n (resolvedData) => {\n const nextData = resolvedData ?? data\n if (!isRecord(nextData)) {\n return nextData\n }\n const entries = Object.entries(nextData).map(([key, value]) => [\n key,\n traverseData(value, [...path, key]),\n ])\n\n if (entries.some(([, value]) => value instanceof Promise)) {\n return Promise.all(\n entries.map(([key, value]) =>\n Promise.resolve()\n .then(() => value)\n .then((resolvedValue) => [key, resolvedValue]),\n ),\n ).then((entries) => Object.fromEntries(entries))\n }\n\n return Object.fromEntries(entries)\n },\n )\n }\n if (typeof data === 'object' && data) {\n return notUndefined(visitors.Object?.(data, path), data)\n }\n return data\n } catch (error) {\n if (error instanceof AbortMapData) {\n aborted = true\n return data\n }\n throw error\n }\n }\n\n return traverseData(data, [])\n}\n\nmapData.abort = () => {\n throw new AbortMapData()\n}\n",
|
|
8
|
+
"import { z } from 'zod/v4'\n\nconst callbackObjectSchema = z.object({\n sourceId: z.string(),\n outputName: z.string().nullable(),\n propertyPath: z.array(z.union([z.string(), z.int()])),\n callbackId: z.uuid(),\n __REQUENCE_type: z.literal('RequenceCallback'),\n})\n\nexport type CallbackObject = z.infer<typeof callbackObjectSchema>\n\nexport function isCallbackObject(data: unknown): data is CallbackObject {\n return callbackObjectSchema.safeParse(data).success\n}\n\nexport type RequenceCallback<T> = (arg: T) => void\nexport type WrappedRequenceCallback<T> = RequenceCallback<T> & {\n response(): Promise<T>\n}\n\nexport function createCallback<T>(\n callback?: (arg: T) => void,\n): WrappedRequenceCallback<T> {\n const { promise, resolve } = Promise.withResolvers<T>()\n\n const executor = (arg: T) => {\n resolve(arg)\n callback?.(arg)\n }\n\n return Object.assign(executor, {\n response() {\n return promise\n },\n })\n}\n",
|
|
9
|
+
"import { z } from 'zod/v4'\n\nconst fileObjectSchema = z.object({\n size: z.int().positive(),\n mime: z.string(),\n url: z.url(),\n __REQUENCE_type: z.literal('RequenceFile'),\n})\n\nexport type FileObject = z.infer<typeof fileObjectSchema>\n\nexport function toFileObject(fileInfo: {\n size: number\n mime: string\n url: string\n}): FileObject {\n return {\n ...fileInfo,\n __REQUENCE_type: 'RequenceFile',\n }\n}\n\nexport function isFileObject(data: unknown): data is FileObject {\n return fileObjectSchema.safeParse(data).success\n}\n",
|
|
10
10
|
"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",
|
|
11
11
|
"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",
|
|
12
12
|
"import { z } from 'zod/v4'\n\nconst streamObjectSchema = z.object({\n mime: z.string(),\n url: z.string().url(),\n __REQUENCE_type: z.literal('RequenceStream'),\n})\n\nexport type StreamObject = z.infer<typeof streamObjectSchema>\n\nexport function isStreamObject(data: unknown): data is StreamObject {\n return streamObjectSchema.safeParse(data).success\n}\n\nexport function toStreamObject(streamInfo: {\n mime: string\n url: string\n}): StreamObject {\n return {\n ...streamInfo,\n __REQUENCE_type: 'RequenceStream',\n }\n}\n",
|
|
13
|
-
"import {
|
|
13
|
+
"import { toFileObject } from './fileObject.ts'\nimport { RequenceFile } from './RequenceFile.ts'\nimport { RequenceStream } from './RequenceStream.ts'\nimport { toStreamObject } from './streamObject.ts'\nimport type { TaskOptions } from '../protocol/taskOptions.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<TaskOptions, '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",
|
|
14
14
|
"import { mapData } from './mapData.ts'\nimport { isCallbackObject } from './requenceCallback.ts'\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} from '../files/index.ts'\n\nexport function resolveRequenceTypes(\n data: any,\n onCallback?: (params: {\n sourceId: string\n callbackId: string\n outputName: string | null\n propertyPath: (string | number)[]\n arg: unknown\n }) => void,\n) {\n return mapData(data, {\n Object(obj) {\n if (isFileObject(obj)) {\n return RequenceFile.fromFileObject(obj)\n }\n\n if (isStreamObject(obj)) {\n return RequenceStream.fromStreamObject(obj)\n }\n\n if (isCallbackObject(obj)) {\n return (arg: unknown) => {\n onCallback?.({ ...obj, arg })\n }\n }\n },\n })\n}\n",
|
|
15
|
-
"import {\n callbackToAsyncIterable,\n resolveRequenceTypes,\n} from '@requence/helpers'\nimport { mapOutput as mapInput } from '@requence/helpers/files'\nimport { type FetchLike, createEventSource } from 'eventsource-client'\n\nimport { abortTask } from './abortTask.ts'\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n prioritySchema,\n} from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\nexport class TaskPrepareError extends Error {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n ) {\n super(message)\n }\n}\n\nexport class TaskError extends TaskPrepareError {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n public readonly taskId: string,\n ) {\n super(message, taskTemplate)\n }\n}\n\ntype TaskUpdateHandler<T> = (update: Update<T>) => void\n\ntype Task<T extends keyof RequenceTask.TaskTemplate | (string & {})> =\n AsyncIterable<Update<T>> &\n Pick<Promise<Result<T>>, 'then' | 'catch' | 'finally'> & {\n getTaskId(): Promise<string>\n getTaskUrl(): Promise<string | null>\n abort(reason?: string): Promise<void>\n }\n\nexport function createTask<\n T extends keyof RequenceTask.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>): Task<T> {\n const taskUpdateHandlers = new Set<TaskUpdateHandler<T>>()\n const priority = prioritySchema.parse(options.priority)\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const prepareUrl = `${apiBaseUrl}/task/prepare/${options.taskTemplate}`\n\n const payloadPromiseWithResolvers = Promise.withResolvers<{\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 payloadPromiseWithResolvers.promise\n\n if (!payload.urls) {\n resultPromiseWithResolvers.resolve({\n input: options.input,\n taskId: payload.taskId,\n taskUrl: '',\n result: null,\n getNodeData(_alias) {\n return null\n },\n getNodeError(_alias) {\n return null\n },\n } as Result<T>)\n return\n }\n\n const taskStorage: {\n input: unknown\n data: Record<string, unknown>\n errors: Record<string, string>\n result: unknown\n } = { input: null, data: {}, errors: {}, result: null }\n\n let since: Date | null = null\n let lastResponse: Response\n const customFetch: FetchLike = async (url, init) => {\n const response = await fetch(url, init)\n lastResponse = response\n return response\n }\n const eventSource = createEventSource({\n method: 'POST',\n fetch: customFetch,\n url: payload.urls.watch,\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n get body() {\n return JSON.stringify({ since: since ? since.toISOString() : null })\n },\n onScheduleReconnect() {\n since = new Date()\n },\n async onDisconnect() {\n if (lastResponse.status === 200) {\n eventSource.close()\n }\n },\n onMessage({ event, data }) {\n const updateResult = eventSchema.safeParse({ event, data })\n\n if (!updateResult.success) {\n eventSource.close()\n resultPromiseWithResolvers.reject(\n new TaskError(\n `Invalid ${event} update received`,\n options.taskTemplate,\n payload.taskId,\n ),\n )\n return\n }\n\n const update = updateResult.data\n\n switch (update.type) {\n case 'taskStart': {\n taskStorage.input = resolveRequenceTypes(update.input, () => {\n throw new Error('input may not have callbacks')\n })\n break\n }\n case 'nodeUpdate': {\n if (update.node.alias) {\n taskStorage.data[update.node.alias] = resolveRequenceTypes(\n update.data,\n )\n }\n break\n }\n case 'nodeError': {\n if (update.node.alias) {\n taskStorage.errors[update.node.alias] = update.error\n }\n break\n }\n case 'taskEnd': {\n taskStorage.result = resolveRequenceTypes(update.result)\n eventSource.close()\n break\n }\n case 'taskError':\n case 'taskAborted': {\n eventSource.close()\n break\n }\n }\n\n const context: Update<unknown>['context'] = {\n taskId: update.taskId,\n input: taskStorage.input,\n getNodeData(alias) {\n return taskStorage.data[alias] ?? null\n },\n getNodeError(alias) {\n return taskStorage.errors[alias] ?? null\n },\n result: taskStorage.result,\n }\n\n const contextUpdate = {\n ...update,\n context,\n }\n\n if (contextUpdate.type === 'taskEnd') {\n resultPromiseWithResolvers.resolve({\n ...context,\n taskUrl: payload.urls?.show ?? '',\n } as Result<T>)\n }\n\n if (\n contextUpdate.type === 'taskError' ||\n contextUpdate.type === 'taskAborted'\n ) {\n resultPromiseWithResolvers.reject(\n new TaskError(\n contextUpdate.reason ??\n (contextUpdate.type === 'taskError'\n ? 'Task failed'\n : 'Task aborted'),\n options.taskTemplate,\n payload.taskId,\n ),\n )\n }\n\n taskUpdateHandlers.forEach((handler) =>\n handler(contextUpdate as Update<T>),\n )\n },\n })\n }\n\n const taskIdPromiseWithResolvers = Promise.withResolvers<string>()\n const taskUrlPromiseWithResolvers = Promise.withResolvers<string | null>()\n const resultPromiseWithResolvers = Promise.withResolvers<Result<T>>()\n\n let rejectTaskIdPromise = false\n let rejectTaskUrlPromise = false\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 TaskPrepareError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n if (rejectTaskIdPromise) {\n taskIdPromiseWithResolvers.reject(error)\n }\n if (rejectTaskUrlPromise) {\n taskUrlPromiseWithResolvers.reject(error)\n }\n if (isMonitoring) {\n resultPromiseWithResolvers.reject(error)\n }\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 taskIdPromiseWithResolvers.resolve(prepareData.taskId)\n\n const mappedParams = await mapInput({\n value: {\n name: options.name,\n input: options.input,\n priority,\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 finalizeResponse.text(),\n options.taskTemplate,\n prepareData.taskId,\n )\n if (rejectTaskUrlPromise) {\n taskUrlPromiseWithResolvers.reject(error)\n }\n if (isMonitoring) {\n resultPromiseWithResolvers.reject(error)\n }\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 taskUrlPromiseWithResolvers.resolve(payload.urls?.show ?? null)\n payloadPromiseWithResolvers.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 (\n update.type === 'taskEnd' ||\n update.type === 'taskError' ||\n update.type === 'taskAborted'\n ) {\n done()\n taskUpdateHandlers.delete(handleUpdate)\n }\n })\n\n startMonitoring()\n },\n )\n\n const methods = {\n get catch() {\n startMonitoring()\n return resultPromiseWithResolvers.promise.catch.bind(\n resultPromiseWithResolvers.promise,\n )\n },\n get finally() {\n startMonitoring()\n return resultPromiseWithResolvers.promise.finally.bind(\n resultPromiseWithResolvers.promise,\n )\n },\n get then() {\n console.log('THEN!')\n startMonitoring()\n return resultPromiseWithResolvers.promise.then.bind(\n resultPromiseWithResolvers.promise,\n )\n },\n async getTaskId() {\n rejectTaskIdPromise = true\n return taskIdPromiseWithResolvers.promise\n },\n async getTaskUrl() {\n rejectTaskUrlPromise = true\n return taskUrlPromiseWithResolvers.promise\n },\n async abort(reason?: string) {\n const taskId = await taskIdPromiseWithResolvers.promise\n await abortTask({\n taskId,\n accessToken: options.accessToken,\n reason,\n })\n },\n }\n\n return Object.defineProperties(\n asyncIterable,\n Object.getOwnPropertyDescriptors(methods),\n ) as any\n}\n",
|
|
15
|
+
"import {\n callbackToAsyncIterable,\n resolveRequenceTypes,\n} from '@requence/helpers'\nimport { mapOutput as mapInput } from '@requence/helpers/files'\nimport chalk from 'chalk'\nimport { type FetchLike, createEventSource } from 'eventsource-client'\n\nimport { abortTask } from './abortTask.ts'\nimport { protectTask } from './protectTask.ts'\nimport {\n type CreateTaskOptions,\n type Result,\n type Update,\n eventSchema,\n prioritySchema,\n} from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\nclass TaskPrepareError extends Error {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n ) {\n super(message)\n }\n}\n\nexport class TaskError extends TaskPrepareError {\n constructor(\n message: string,\n public readonly taskTemplate: string,\n public readonly taskId: string,\n ) {\n super(message, taskTemplate)\n }\n}\n\ntype TaskUpdateHandler<T> = (update: Update<T>) => void\n\ntype Task<T extends keyof RequenceTask.TaskTemplate | (string & {})> =\n AsyncIterable<Update<T>> &\n Pick<Promise<Result<T>>, 'then' | 'catch' | 'finally'> & {\n getTaskId(): Promise<string>\n getTaskUrl(): Promise<string | null>\n abort(reason?: string): Promise<void>\n protect(): Promise<void>\n }\n\nexport function createTask<\n T extends keyof RequenceTask.TaskTemplate | (string & {}),\n>(options: CreateTaskOptions<T>, onUpdate?: TaskUpdateHandler<T>): Task<T> {\n const taskUpdateHandlers = new Set<TaskUpdateHandler<T>>()\n const priority = prioritySchema.parse(options.priority)\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const prepareUrl = `${apiBaseUrl}/task/prepare/${options.taskTemplate}`\n\n const payloadPromiseWithResolvers = Promise.withResolvers<{\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 payloadPromiseWithResolvers.promise\n\n if (!payload.urls) {\n resultPromiseWithResolvers.resolve({\n input: options.input,\n taskId: payload.taskId,\n taskUrl: '',\n result: null,\n getNodeData(_alias) {\n return null\n },\n getNodeError(_alias) {\n return null\n },\n } as Result<T>)\n return\n }\n\n const taskStorage: {\n input: unknown\n data: Record<string, unknown>\n errors: Record<string, string>\n result: unknown\n } = { input: null, data: {}, errors: {}, result: null }\n\n let since: Date | null = null\n let lastResponse: Response\n const customFetch: FetchLike = async (url, init) => {\n const response = await fetch(url, init)\n lastResponse = response\n return response\n }\n const eventSource = createEventSource({\n method: 'POST',\n fetch: customFetch,\n url: payload.urls.watch,\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n get body() {\n return JSON.stringify({ since: since ? since.toISOString() : null })\n },\n onScheduleReconnect() {\n since = new Date()\n },\n async onDisconnect() {\n if (lastResponse.status === 200) {\n eventSource.close()\n }\n },\n onMessage({ event, data }) {\n const updateResult = eventSchema.safeParse({ event, data })\n\n if (!updateResult.success) {\n eventSource.close()\n resultPromiseWithResolvers.reject(\n new TaskError(\n `Invalid ${event} update received`,\n options.taskTemplate,\n payload.taskId,\n ),\n )\n return\n }\n\n const update = updateResult.data\n\n switch (update.type) {\n case 'taskStart': {\n taskStorage.input = resolveRequenceTypes(update.input, () => {\n throw new Error('input may not have callbacks')\n })\n break\n }\n case 'nodeUpdate': {\n if (update.node.alias) {\n taskStorage.data[update.node.alias] = resolveRequenceTypes(\n update.data,\n )\n }\n break\n }\n case 'nodeError': {\n if (update.node.alias) {\n taskStorage.errors[update.node.alias] = update.error\n }\n break\n }\n case 'taskEnd': {\n taskStorage.result = resolveRequenceTypes(update.result)\n eventSource.close()\n break\n }\n case 'taskError':\n case 'taskAborted': {\n eventSource.close()\n break\n }\n }\n\n const context: Update<unknown>['context'] = {\n taskId: update.taskId,\n input: taskStorage.input,\n getNodeData(alias) {\n return taskStorage.data[alias] ?? null\n },\n getNodeError(alias) {\n return taskStorage.errors[alias] ?? null\n },\n result: taskStorage.result,\n }\n\n const contextUpdate = {\n ...update,\n context,\n }\n\n if (contextUpdate.type === 'taskEnd') {\n resultPromiseWithResolvers.resolve({\n ...context,\n taskUrl: payload.urls?.show ?? '',\n } as Result<T>)\n }\n\n if (\n contextUpdate.type === 'taskError' ||\n contextUpdate.type === 'taskAborted'\n ) {\n resultPromiseWithResolvers.reject(\n new TaskError(\n contextUpdate.reason ??\n (contextUpdate.type === 'taskError'\n ? 'Task failed'\n : 'Task aborted'),\n options.taskTemplate,\n payload.taskId,\n ),\n )\n }\n\n taskUpdateHandlers.forEach((handler) =>\n handler(contextUpdate as Update<T>),\n )\n },\n })\n }\n\n const taskIdPromiseWithResolvers = Promise.withResolvers<string>()\n const taskUrlPromiseWithResolvers = Promise.withResolvers<string | null>()\n const resultPromiseWithResolvers = Promise.withResolvers<Result<T>>()\n\n let rejectTaskIdPromise = false\n let rejectTaskUrlPromise = false\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 TaskPrepareError(\n await prepareResponse.text(),\n options.taskTemplate,\n )\n if (rejectTaskIdPromise) {\n taskIdPromiseWithResolvers.reject(error)\n }\n if (rejectTaskUrlPromise) {\n taskUrlPromiseWithResolvers.reject(error)\n }\n if (isMonitoring) {\n resultPromiseWithResolvers.reject(error)\n }\n return\n }\n\n const prepareData = (await prepareResponse.json()) as {\n taskId: string\n finalizeUrl: string\n branch: string\n fileUrls?: { uploadUrl: string; streamUrl: string }\n }\n\n if (prepareData.branch !== 'live' && !options.suppressBranchWarning) {\n console.warn(\n chalk.hex('#eab308')(\n 'task is executed in',\n chalk.bold(prepareData.branch),\n 'branch',\n ),\n )\n }\n\n taskIdPromiseWithResolvers.resolve(prepareData.taskId)\n\n const mappedParams = await mapInput({\n value: {\n name: options.name,\n input: options.input,\n priority,\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 finalizeResponse.text(),\n options.taskTemplate,\n prepareData.taskId,\n )\n if (rejectTaskUrlPromise) {\n taskUrlPromiseWithResolvers.reject(error)\n }\n if (isMonitoring) {\n resultPromiseWithResolvers.reject(error)\n }\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 taskUrlPromiseWithResolvers.resolve(payload.urls?.show ?? null)\n payloadPromiseWithResolvers.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 (\n update.type === 'taskEnd' ||\n update.type === 'taskError' ||\n update.type === 'taskAborted'\n ) {\n done()\n taskUpdateHandlers.delete(handleUpdate)\n }\n })\n\n startMonitoring()\n },\n )\n\n const methods = {\n get catch() {\n startMonitoring()\n return resultPromiseWithResolvers.promise.catch.bind(\n resultPromiseWithResolvers.promise,\n )\n },\n get finally() {\n startMonitoring()\n return resultPromiseWithResolvers.promise.finally.bind(\n resultPromiseWithResolvers.promise,\n )\n },\n get then() {\n startMonitoring()\n return resultPromiseWithResolvers.promise.then.bind(\n resultPromiseWithResolvers.promise,\n )\n },\n async getTaskId() {\n rejectTaskIdPromise = true\n return taskIdPromiseWithResolvers.promise\n },\n async getTaskUrl() {\n rejectTaskUrlPromise = true\n return taskUrlPromiseWithResolvers.promise\n },\n async abort(reason?: string) {\n const taskId = await taskIdPromiseWithResolvers.promise\n await abortTask({\n taskId,\n accessToken: options.accessToken,\n reason,\n })\n },\n async protect() {\n const taskId = await taskIdPromiseWithResolvers.promise\n await protectTask({\n taskId,\n accessToken: options.accessToken,\n })\n },\n }\n\n return Object.defineProperties(\n asyncIterable,\n Object.getOwnPropertyDescriptors(methods),\n ) as any\n}\n",
|
|
16
16
|
"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 access token')\n }\n\n return {\n token: parts[1],\n apiBaseUrl: parts[2],\n }\n}\n",
|
|
17
17
|
"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",
|
|
18
|
-
"import
|
|
18
|
+
"import getAccessToken from './utils/getAccessToken.ts'\n\nclass TaskProtectError extends Error {\n constructor(\n message: string,\n public readonly taskId: string,\n ) {\n super(message)\n }\n}\n\ninterface ProtectTaskOptions {\n accessToken?: string\n taskId: string\n}\nexport async function protectTask(options: ProtectTaskOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const protectUrl = `${apiBaseUrl}/task/protect/${options.taskId}`\n\n const response = await fetch(protectUrl, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n throw new TaskProtectError(await response.text(), options.taskId)\n }\n}\n",
|
|
19
|
+
"import type { Prettify } from '@requence/helpers'\nimport { z } from 'zod/v4'\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 priority?: number\n accessToken?: string\n suppressBranchWarning?: boolean\n} & IfNull<\n Input<T>,\n { input?: null },\n IfUnknown<Input<T>, { input?: any }, { input: Input<T> }>\n>\n\ntype Input<T> = T extends keyof RequenceTask.TaskTemplate\n ? RequenceTask.TaskTemplate[T]['input']\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 input: Input<T>\n result: Data<T>\n taskId: string\n taskUrl: string\n getNodeData<A extends Alias<T>>(alias: A): NamedData<T, A>\n getNodeError(alias: Alias<T>): string | null\n}\n\ntype Context<T> = Omit<Result<T>, 'taskUrl'>\n\nconst nodeInfoSchema = z.object({\n id: z.uuid(),\n type: z.literal(['service', 'logic', 'or', 'reference']),\n alias: z.string().optional(),\n})\n\nconst baseUpdate = z.object({\n timestamp: z.coerce.date(),\n taskId: z.uuid(),\n name: z.string(),\n updateId: z.uuid(),\n})\n\nconst taskStartUpdateSchema = baseUpdate.extend({\n type: z.literal('taskStart'),\n input: z.unknown(),\n rootTaskId: z.uuid().nullable().default(null),\n})\n\nconst taskErrorUpdateSchema = baseUpdate.extend({\n type: z.literal('taskError'),\n reason: z.string().optional(),\n})\n\nconst taskAbortUpdateSchema = baseUpdate.extend({\n type: z.literal('taskAborted'),\n reason: z.string().optional(),\n})\n\nconst taskEndUpdateSchema = baseUpdate.extend({\n type: z.literal('taskEnd'),\n result: z.record(z.string(), z.any()),\n exit: z.string().nullable(),\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\nconst updateSchema = z.discriminatedUnion('type', [\n taskStartUpdateSchema,\n taskErrorUpdateSchema,\n taskAbortUpdateSchema,\n taskEndUpdateSchema,\n nodeStartUpdateSchema,\n nodeUpdateUpdateSchema,\n nodeErrorUpdateSchema,\n nodeDeferUpdateSchema,\n nodeEndUpdateSchema,\n])\n\ntype BaseUpdate = z.infer<typeof updateSchema>\n\nexport type Update<T> = Prettify<\n | (Exclude<BaseUpdate, { type: 'taskEnd' } | { type: 'nodeUpdate' }> & {\n context: Context<Partial<T>>\n })\n | (Extract<BaseUpdate, { type: 'nodeUpdate' }> & {\n context: Context<Partial<T>>\n data: Partial<Data<T>>\n })\n | (Extract<BaseUpdate, { type: 'taskEnd' }> & { context: Context<T> })\n>\n\nexport const eventSchema = z\n .object({ event: z.string(), data: z.string() })\n .transform((event) => ({ type: event.event, ...JSON.parse(event.data) }))\n .pipe(updateSchema)\n\nexport const prioritySchema = z\n .int('priority has to be an integer')\n .min(0, 'min priority is 0')\n .max(4, 'max priority is 4')\n .default(2)\n // map 4-0 to 0-10\n .transform((value) => ((4 - value) * 10) / 4)\n",
|
|
19
20
|
"import {\n callbackToAsyncIterable,\n resolveRequenceTypes,\n} from '@requence/helpers'\nimport { type FetchLike, createEventSource } from 'eventsource-client'\n\nimport { type Update, eventSchema } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\ntype WatchUpdate = Update<unknown> & {\n incomplete: boolean\n updateId: string\n rootTaskId: string | null\n}\n\ntype TaskUpdateHandler = (update: WatchUpdate) => void\n\ninterface WatchTasksOptions {\n accessToken?: string\n since: Date\n filter?: {\n only?: Update<unknown>['type'][]\n }\n onUpdate?: TaskUpdateHandler\n onError?: (status: number, reason?: string) => void\n onConnect?: () => void\n onReconnecting?: () => void\n}\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 taskStorage = new Map<\n string,\n {\n input?: unknown\n data: Record<string, unknown>\n errors: Record<string, string>\n result: unknown\n incomplete: boolean\n rootTaskId: string | null\n }\n >()\n\n let startDate = options.since\n let lastResponse: Response\n const customFetch: FetchLike = async (url, init) => {\n const response = await fetch(url, init)\n lastResponse = response\n return response\n }\n\n const eventSource = createEventSource({\n url: new URL(`${apiBaseUrl}/task/watch-all`),\n fetch: customFetch,\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n get body() {\n return JSON.stringify({\n since: startDate.toISOString(),\n filter: options.filter,\n })\n },\n method: 'POST',\n onScheduleReconnect() {\n startDate = new Date()\n options.onReconnecting?.()\n },\n onConnect() {\n options.onConnect?.()\n },\n async onDisconnect() {\n if (lastResponse) {\n options.onError?.(lastResponse.status, lastResponse.statusText)\n }\n },\n onMessage({ id, event, data }) {\n const updateResult = eventSchema.safeParse({ event, data })\n\n if (!updateResult.success) {\n eventSource.close()\n throw new Error('invalid update')\n }\n\n const update = updateResult.data\n\n if (!taskStorage.has(update.taskId)) {\n taskStorage.set(update.taskId, {\n input: null,\n data: {},\n errors: {},\n result: null,\n incomplete: true,\n rootTaskId: null,\n })\n }\n\n const storageEntry = taskStorage.get(update.taskId)!\n\n switch (update.type) {\n case 'taskStart': {\n storageEntry.input = resolveRequenceTypes(update.input, () => {\n throw new Error('input may not have callbacks')\n })\n storageEntry.incomplete = false\n storageEntry.rootTaskId = update.rootTaskId\n break\n }\n case 'nodeUpdate': {\n if (update.node.alias) {\n storageEntry.data[update.node.alias] = resolveRequenceTypes(\n update.data,\n )\n }\n break\n }\n case 'nodeError': {\n if (update.node.alias) {\n storageEntry.errors[update.node.alias] = update.error\n }\n break\n }\n\n case 'taskEnd': {\n storageEntry.result = resolveRequenceTypes(update.result)\n taskStorage.delete(update.taskId)\n break\n }\n case 'taskError': {\n taskStorage.delete(update.taskId)\n break\n }\n }\n\n const context: Update<unknown>['context'] = {\n taskId: update.taskId,\n input: storageEntry.input,\n getNodeData(alias) {\n return storageEntry.data[alias] ?? null\n },\n getNodeError(alias) {\n return storageEntry.errors[alias] ?? null\n },\n result: storageEntry.result,\n }\n\n const contextUpdate = {\n ...update,\n context,\n updateId: id,\n incomplete: storageEntry.incomplete,\n rootTaskId: storageEntry.rootTaskId,\n }\n\n taskUpdateHandlers.forEach((handler) =>\n handler(contextUpdate as WatchUpdate),\n )\n },\n })\n\n const asyncIterable = callbackToAsyncIterable<WatchUpdate>((push) => {\n taskUpdateHandlers.add(push)\n })\n\n const stopWatching = () => {\n eventSource.close()\n }\n\n return Object.assign(stopWatching, asyncIterable)\n}\n",
|
|
20
|
-
"import { resolveRequenceTypes } from '@requence/helpers'\nimport { z } from 'zod/v4'\n\nimport type { Update } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\nconst taskSchema = z.object({\n status: z.literal([\n 'SUCCESSFUL',\n 'FAILED',\n 'IDLE',\n 'PENDING',\n 'RUNNING',\n 'STOPPED',\n ]),\n statusText: z.string().nullable(),\n input: z.unknown(),\n result: z.unknown(),\n taskTemplate: z.string(),\n name: z.string(),\n nodesData: z.array(z.object({ alias: z.string(), data: z.unknown() })),\n nodesError: z.array(z.object({ alias: z.string(), error: z.string() })),\n})\n\ninterface GetTaskOptions {\n accessToken?: string\n taskId: string\n}\n\nexport async function getTask(taskIdOrOptions: string | GetTaskOptions) {\n const taskId =\n typeof taskIdOrOptions === 'string'\n ? taskIdOrOptions\n : taskIdOrOptions.taskId\n const { apiBaseUrl, token } = getAccessToken(\n typeof taskIdOrOptions === 'string'\n ? undefined\n : taskIdOrOptions.accessToken,\n )\n\n const response = await fetch(new URL(`${apiBaseUrl}/task/${taskId}`), {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n throw new Error('Task not found')\n }\n\n const taskData = taskSchema.parse(await response.json())\n\n const context: Update<unknown>['context'] = {\n taskId,\n input: resolveRequenceTypes(taskData.input, () => {\n throw new Error('input may not have callbacks')\n }),\n getNodeData(alias) {\n return resolveRequenceTypes(\n taskData.nodesData.find((d) => d.alias === alias)?.data,\n )\n },\n getNodeError(alias) {\n return taskData.nodesError.find((d) => d.alias === alias)?.error ?? null\n },\n result: resolveRequenceTypes(taskData.result),\n }\n\n return {\n status: taskData.status,\n statusText: taskData.statusText,\n taskTemplate: taskData.taskTemplate,\n name: taskData.name,\n context,\n }\n}\n",
|
|
21
|
+
"import { resolveRequenceTypes } from '@requence/helpers'\nimport { z } from 'zod/v4'\n\nimport type { Update } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\nconst taskSchema = z.object({\n status: z.literal([\n 'SUCCESSFUL',\n 'FAILED',\n 'IDLE',\n 'PENDING',\n 'RUNNING',\n 'STOPPED',\n ]),\n statusText: z.string().nullable(),\n input: z.unknown(),\n result: z.unknown(),\n taskTemplate: z.string(),\n name: z.string(),\n nodesData: z.array(z.object({ alias: z.string(), data: z.unknown() })),\n nodesError: z.array(z.object({ alias: z.string(), error: z.string() })),\n branch: z.union([z.literal('live'), z.string()]) as z.ZodType<\n 'live' | (string & {})\n >,\n})\n\ninterface GetTaskOptions {\n accessToken?: string\n taskId: string\n}\n\nexport async function getTask(taskIdOrOptions: string | GetTaskOptions) {\n const taskId =\n typeof taskIdOrOptions === 'string'\n ? taskIdOrOptions\n : taskIdOrOptions.taskId\n const { apiBaseUrl, token } = getAccessToken(\n typeof taskIdOrOptions === 'string'\n ? undefined\n : taskIdOrOptions.accessToken,\n )\n\n const response = await fetch(new URL(`${apiBaseUrl}/task/${taskId}`), {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n throw new Error('Task not found')\n }\n\n const taskData = taskSchema.parse(await response.json())\n\n const context: Update<unknown>['context'] = {\n taskId,\n input: resolveRequenceTypes(taskData.input, () => {\n throw new Error('input may not have callbacks')\n }),\n getNodeData(alias) {\n return resolveRequenceTypes(\n taskData.nodesData.find((d) => d.alias === alias)?.data,\n )\n },\n getNodeError(alias) {\n return taskData.nodesError.find((d) => d.alias === alias)?.error ?? null\n },\n result: resolveRequenceTypes(taskData.result),\n }\n\n return {\n status: taskData.status,\n statusText: taskData.statusText,\n taskTemplate: taskData.taskTemplate,\n name: taskData.name,\n branch: taskData.branch,\n context,\n }\n}\n",
|
|
21
22
|
"import { createTask } from './createTask.ts'\nimport { getTask } from './getTask.ts'\n\ninterface RecreateTaskOptions {\n taskId: string\n name?: string\n accessToken?: string\n priority?: number\n}\nexport async function recreateTask(\n options: RecreateTaskOptions,\n onUpdate?: Parameters<typeof createTask>[1],\n) {\n const task = await getTask(options.taskId)\n return createTask(\n {\n taskTemplate: task.taskTemplate,\n accessToken: options.accessToken,\n name: options.name ?? task.name,\n priority: options.priority,\n input: task.context.input,\n },\n onUpdate,\n )\n}\n"
|
|
22
23
|
],
|
|
23
|
-
"mappings": "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",
|
|
24
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "A68A986E1DFD941B64756E2164756E21",
|
|
25
26
|
"names": []
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapOutput.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/mapOutput.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapOutput.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/mapOutput.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AA2E7D,wBAAsB,SAAS,CAAC,MAAM,EAAE;IACtC,KAAK,EAAE,OAAO,CAAA;IACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC,CAAA;IACrD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,oBAwFA"}
|
|
@@ -2,11 +2,12 @@ export * from './utils/matchSchema.ts';
|
|
|
2
2
|
export * from './utils/obfuscate.ts';
|
|
3
3
|
export * from './utils/clone.ts';
|
|
4
4
|
export * from './utils/createObjectProxy.ts';
|
|
5
|
-
export * from './utils/createRemotePromise.ts';
|
|
6
5
|
export * from './utils/callbackToAsyncIterator.ts';
|
|
7
6
|
export * from './utils/mapData.ts';
|
|
8
|
-
export * from './utils/
|
|
7
|
+
export * from './utils/guards.ts';
|
|
9
8
|
export * from './utils/resolveRequenceTypes.ts';
|
|
10
9
|
export * from './utils/requenceCallback.ts';
|
|
11
10
|
export * from './utils/types.ts';
|
|
11
|
+
export * from './utils/debounce.ts';
|
|
12
|
+
export * from './utils/obj.ts';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA"}
|
|
@@ -13,4 +13,5 @@ export declare const jsonSchema7RefSchema: z.ZodIntersection<z.ZodObject<{
|
|
|
13
13
|
export type JSONSchema7Object = z.output<typeof jsonSchema7ObjectSchema>;
|
|
14
14
|
export type JSONSchema7Null = z.output<typeof jsonSchema7NullSchema>;
|
|
15
15
|
export type JSONSchema7Ref = z.output<typeof jsonSchema7RefSchema>;
|
|
16
|
+
export type ExtendedJSONSchema7Object = JSONSchema7Object | JSONSchema7Null | JSONSchema7Object;
|
|
16
17
|
//# sourceMappingURL=zod.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/jsonschema/zod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7C,eAAO,MAAM,iBAAiB,uCAuC5B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;yDAIX,CAAA;AAEzB,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;yDAIR,CAAA;AAEzB,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/jsonschema/zod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAG1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7C,eAAO,MAAM,iBAAiB,uCAuC5B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;yDAIX,CAAA;AAEzB,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;yDAIR,CAAA;AAEzB,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACpE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAElE,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAA"}
|
|
@@ -4,18 +4,28 @@ type ExtendedEdge = Edge & {
|
|
|
4
4
|
traversed: number;
|
|
5
5
|
data?: string;
|
|
6
6
|
};
|
|
7
|
+
type Cycle = {
|
|
8
|
+
node: Node;
|
|
9
|
+
name: OutputName;
|
|
10
|
+
}[];
|
|
11
|
+
type CriticalGroup = {
|
|
12
|
+
nodeId: string;
|
|
13
|
+
name: OutputName;
|
|
14
|
+
}[];
|
|
15
|
+
type DataSet = {
|
|
16
|
+
data: unknown;
|
|
17
|
+
overwrite: boolean;
|
|
18
|
+
time: number;
|
|
19
|
+
};
|
|
7
20
|
interface NodeTreeOptions {
|
|
8
21
|
nodes: Node[];
|
|
9
22
|
edges: Edge[] | ExtendedEdge[];
|
|
10
|
-
data?: Map<string, {
|
|
11
|
-
data: unknown;
|
|
12
|
-
overwrite: boolean;
|
|
13
|
-
}>;
|
|
14
23
|
}
|
|
15
24
|
export declare class NodeTree {
|
|
16
25
|
private nodes;
|
|
17
26
|
private edges;
|
|
18
27
|
private data;
|
|
28
|
+
private overriddenNodeData;
|
|
19
29
|
readonly cycles: {
|
|
20
30
|
node: Node;
|
|
21
31
|
name: OutputName;
|
|
@@ -23,8 +33,8 @@ export declare class NodeTree {
|
|
|
23
33
|
readonly entryNode: Extract<Node, {
|
|
24
34
|
type: 'entry';
|
|
25
35
|
}>;
|
|
26
|
-
constructor({ nodes, edges
|
|
27
|
-
pack(): (
|
|
36
|
+
constructor({ nodes, edges }: NodeTreeOptions, _data?: Map<string, DataSet>, _cycles?: Cycle[] | null, _overriddenNodeData?: Map<string, Record<string, unknown>>);
|
|
37
|
+
pack(): readonly [({
|
|
28
38
|
id: string;
|
|
29
39
|
type: "entry";
|
|
30
40
|
inputSchema: import("json-schema").JSONSchema7;
|
|
@@ -71,6 +81,7 @@ export declare class NodeTree {
|
|
|
71
81
|
id: string;
|
|
72
82
|
type: "reference";
|
|
73
83
|
reference: string;
|
|
84
|
+
enabled: boolean;
|
|
74
85
|
inputSchema: ({
|
|
75
86
|
type: "object";
|
|
76
87
|
} & import("json-schema").JSONSchema7) | {
|
|
@@ -87,20 +98,19 @@ export declare class NodeTree {
|
|
|
87
98
|
id: string;
|
|
88
99
|
type: "exit";
|
|
89
100
|
alias?: string | undefined;
|
|
101
|
+
inputSchema?: import("json-schema").JSONSchema7 | undefined;
|
|
90
102
|
} | {
|
|
91
103
|
id: string;
|
|
92
104
|
type: "comment";
|
|
93
105
|
text: string;
|
|
94
106
|
alias?: string | undefined;
|
|
95
|
-
})[]
|
|
96
|
-
|
|
97
|
-
overwrite: boolean;
|
|
98
|
-
}>)[];
|
|
99
|
-
static get ERROR(): string;
|
|
100
|
-
getPossiblePathsTo(nodeId: string, allowMultipleOutputs?: boolean): {
|
|
101
|
-
nodeId: string;
|
|
107
|
+
})[], ExtendedEdge[], Map<string, DataSet>, {
|
|
108
|
+
node: Node;
|
|
102
109
|
name: OutputName;
|
|
103
|
-
}[][];
|
|
110
|
+
}[][], Map<string, Record<string, unknown>>];
|
|
111
|
+
static unpack([nodes, edges, _data, _cycles, _overriddenNodeData]: ReturnType<typeof NodeTree.prototype.pack>): NodeTree;
|
|
112
|
+
static get ERROR(): string;
|
|
113
|
+
getCriticalGroups(nodeId: string, allowMultipleOutputs?: boolean): CriticalGroup[];
|
|
104
114
|
getNodes(condition?: (node: Node) => boolean): ({
|
|
105
115
|
id: string;
|
|
106
116
|
type: "entry";
|
|
@@ -148,6 +158,7 @@ export declare class NodeTree {
|
|
|
148
158
|
id: string;
|
|
149
159
|
type: "reference";
|
|
150
160
|
reference: string;
|
|
161
|
+
enabled: boolean;
|
|
151
162
|
inputSchema: ({
|
|
152
163
|
type: "object";
|
|
153
164
|
} & import("json-schema").JSONSchema7) | {
|
|
@@ -164,6 +175,7 @@ export declare class NodeTree {
|
|
|
164
175
|
id: string;
|
|
165
176
|
type: "exit";
|
|
166
177
|
alias?: string | undefined;
|
|
178
|
+
inputSchema?: import("json-schema").JSONSchema7 | undefined;
|
|
167
179
|
} | {
|
|
168
180
|
id: string;
|
|
169
181
|
type: "comment";
|
|
@@ -218,6 +230,7 @@ export declare class NodeTree {
|
|
|
218
230
|
id: string;
|
|
219
231
|
type: "reference";
|
|
220
232
|
reference: string;
|
|
233
|
+
enabled: boolean;
|
|
221
234
|
inputSchema: ({
|
|
222
235
|
type: "object";
|
|
223
236
|
} & import("json-schema").JSONSchema7) | {
|
|
@@ -234,6 +247,7 @@ export declare class NodeTree {
|
|
|
234
247
|
id: string;
|
|
235
248
|
type: "exit";
|
|
236
249
|
alias?: string | undefined;
|
|
250
|
+
inputSchema?: import("json-schema").JSONSchema7 | undefined;
|
|
237
251
|
} | {
|
|
238
252
|
id: string;
|
|
239
253
|
type: "comment";
|
|
@@ -288,6 +302,7 @@ export declare class NodeTree {
|
|
|
288
302
|
id: string;
|
|
289
303
|
type: "reference";
|
|
290
304
|
reference: string;
|
|
305
|
+
enabled: boolean;
|
|
291
306
|
inputSchema: ({
|
|
292
307
|
type: "object";
|
|
293
308
|
} & import("json-schema").JSONSchema7) | {
|
|
@@ -304,6 +319,7 @@ export declare class NodeTree {
|
|
|
304
319
|
id: string;
|
|
305
320
|
type: "exit";
|
|
306
321
|
alias?: string | undefined;
|
|
322
|
+
inputSchema?: import("json-schema").JSONSchema7 | undefined;
|
|
307
323
|
} | {
|
|
308
324
|
id: string;
|
|
309
325
|
type: "comment";
|
|
@@ -357,6 +373,7 @@ export declare class NodeTree {
|
|
|
357
373
|
id: string;
|
|
358
374
|
type: "reference";
|
|
359
375
|
reference: string;
|
|
376
|
+
enabled: boolean;
|
|
360
377
|
inputSchema: ({
|
|
361
378
|
type: "object";
|
|
362
379
|
} & import("json-schema").JSONSchema7) | {
|
|
@@ -373,12 +390,14 @@ export declare class NodeTree {
|
|
|
373
390
|
id: string;
|
|
374
391
|
type: "exit";
|
|
375
392
|
alias?: string | undefined;
|
|
393
|
+
inputSchema?: import("json-schema").JSONSchema7 | undefined;
|
|
376
394
|
} | {
|
|
377
395
|
id: string;
|
|
378
396
|
type: "comment";
|
|
379
397
|
text: string;
|
|
380
398
|
alias?: string | undefined;
|
|
381
399
|
})[];
|
|
400
|
+
isInCycle(nodeId: string, outputName?: OutputName): boolean;
|
|
382
401
|
/**
|
|
383
402
|
* normally a node is "reached" when all incoming edges are traversed with the following exceptions:
|
|
384
403
|
*
|
|
@@ -438,6 +457,7 @@ export declare class NodeTree {
|
|
|
438
457
|
id: string;
|
|
439
458
|
type: "reference";
|
|
440
459
|
reference: string;
|
|
460
|
+
enabled: boolean;
|
|
441
461
|
inputSchema: ({
|
|
442
462
|
type: "object";
|
|
443
463
|
} & import("json-schema").JSONSchema7) | {
|
|
@@ -454,6 +474,7 @@ export declare class NodeTree {
|
|
|
454
474
|
id: string;
|
|
455
475
|
type: "exit";
|
|
456
476
|
alias?: string | undefined;
|
|
477
|
+
inputSchema?: import("json-schema").JSONSchema7 | undefined;
|
|
457
478
|
} | {
|
|
458
479
|
id: string;
|
|
459
480
|
type: "comment";
|
|
@@ -469,11 +490,13 @@ export declare class NodeTree {
|
|
|
469
490
|
getData(nodeId: string, outputName: OutputName): unknown;
|
|
470
491
|
traversed(sourceNodeId: string, targetNodeId: string): boolean;
|
|
471
492
|
getAllData(): Map<string, Map<OutputName, unknown>>;
|
|
493
|
+
private getAggregatedDataSetsByNode;
|
|
472
494
|
getAggregatedDataByNode(targetNodeId: string): Record<string, unknown>;
|
|
473
495
|
getAggregatedData(targetNodeId: string): Record<string, unknown>;
|
|
474
496
|
getAggregatedEdgeData(edgeId: string): Record<string, unknown>;
|
|
475
497
|
reset(): void;
|
|
476
498
|
gc(): void;
|
|
499
|
+
overrideAggregatedNodeData(nodeId: string, data: Record<string, unknown>): void;
|
|
477
500
|
}
|
|
478
501
|
export {};
|
|
479
502
|
//# sourceMappingURL=NodeTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTree.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/NodeTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,CAAA;AAEtC,KAAK,YAAY,GAAG,IAAI,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"NodeTree.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/NodeTree.ts"],"names":[],"mappings":"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"}
|