@requence/task 1.0.0-alpha.43 → 1.0.0-alpha.45

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/index.js +138 -131
  3. package/build/index.js.map +11 -11
  4. package/build/types/helpers/src/files/mapOutput.d.ts.map +1 -1
  5. package/build/types/helpers/src/index.d.ts +3 -2
  6. package/build/types/helpers/src/index.d.ts.map +1 -1
  7. package/build/types/helpers/src/jsonschema/zod.d.ts +1 -0
  8. package/build/types/helpers/src/jsonschema/zod.d.ts.map +1 -1
  9. package/build/types/helpers/src/protocol/NodeTree.d.ts +31 -14
  10. package/build/types/helpers/src/protocol/NodeTree.d.ts.map +1 -1
  11. package/build/types/helpers/src/protocol/command.d.ts +4 -12
  12. package/build/types/helpers/src/protocol/command.d.ts.map +1 -1
  13. package/build/types/helpers/src/protocol/nodeType.d.ts +2 -0
  14. package/build/types/helpers/src/protocol/nodeType.d.ts.map +1 -1
  15. package/build/types/helpers/src/protocol/taskOptions.d.ts +0 -3
  16. package/build/types/helpers/src/protocol/taskOptions.d.ts.map +1 -1
  17. package/build/types/helpers/src/protocol/templateNodeTypes.d.ts +32 -0
  18. package/build/types/helpers/src/protocol/templateNodeTypes.d.ts.map +1 -1
  19. package/build/types/helpers/src/protocol/treeNodes.d.ts +10 -6
  20. package/build/types/helpers/src/protocol/treeNodes.d.ts.map +1 -1
  21. package/build/types/helpers/src/utils/debounce.d.ts +4 -0
  22. package/build/types/helpers/src/utils/debounce.d.ts.map +1 -0
  23. package/build/types/helpers/src/utils/guards.d.ts +3 -0
  24. package/build/types/helpers/src/utils/guards.d.ts.map +1 -0
  25. package/build/types/helpers/src/utils/obj.d.ts +4 -0
  26. package/build/types/helpers/src/utils/obj.d.ts.map +1 -0
  27. package/build/types/helpers/src/utils/requenceCallback.d.ts.map +1 -1
  28. package/build/types/helpers/src/utils/types.d.ts +3 -0
  29. package/build/types/helpers/src/utils/types.d.ts.map +1 -1
  30. package/build/types/task/src/createTask.d.ts +6 -10
  31. package/build/types/task/src/createTask.d.ts.map +1 -1
  32. package/build/types/task/src/getTask.d.ts +1 -0
  33. package/build/types/task/src/getTask.d.ts.map +1 -1
  34. package/build/types/task/src/recreateTask.d.ts +1 -10
  35. package/build/types/task/src/recreateTask.d.ts.map +1 -1
  36. package/build/types/task/src/types.d.ts +2 -1
  37. package/build/types/task/src/types.d.ts.map +1 -1
  38. package/package.json +3 -3
  39. package/build/types/helpers/src/utils/createRemotePromise.d.ts +0 -7
  40. package/build/types/helpers/src/utils/createRemotePromise.d.ts.map +0 -1
  41. package/build/types/helpers/src/utils/isRecord.d.ts +0 -2
  42. package/build/types/helpers/src/utils/isRecord.d.ts.map +0 -1
@@ -1,26 +1,26 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../helpers/src/utils/callbackToAsyncIterator.ts", "../../helpers/src/utils/isRecord.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/utils/requenceCallback.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../../helpers/src/files/streamObject.ts", "../../helpers/src/files/fileObject.ts", "../../helpers/src/utils/resolveRequenceTypes.ts", "../src/createTask.ts", "../src/utils/getAccessToken.ts", "../src/abortTask.ts", "../src/types.ts", "../src/watchTasks.ts", "../src/getTask.ts", "../src/recreateTask.ts"],
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/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 './isRecord.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 let resolvePromise!: (arg: T) => void\n const promise = new Promise<T>((resolve) => {\n resolvePromise = resolve\n })\n\n const executor = (arg: T) => {\n resolvePromise(arg)\n callback?.(arg)\n }\n\n return Object.assign(executor, {\n response() {\n return promise\n },\n })\n}\n",
9
- "import {\n RequenceFile,\n RequenceStream,\n toFileObject,\n toStreamObject,\n} from './index.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",
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 { 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",
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\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 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 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.assign(asyncIterable, Object.getOwnPropertyDescriptors(methods))\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 {\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 }\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 }\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 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} & 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\nexport const 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",
18
+ "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
19
  "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",
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 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
21
  "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
22
  ],
23
- "mappings": "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",
24
- "debugId": "20B15F69CC7D046964756E2164756E21",
23
+ "mappings": "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",
24
+ "debugId": "1B1F4B631C601AA564756E2164756E21",
25
25
  "names": []
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mapOutput.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/mapOutput.ts"],"names":[],"mappings":"AAMA,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"}
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/isRecord.ts';
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,gCAAgC,CAAA;AAC9C,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA"}
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, data }: NodeTreeOptions);
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;
@@ -87,20 +97,19 @@ export declare class NodeTree {
87
97
  id: string;
88
98
  type: "exit";
89
99
  alias?: string | undefined;
100
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
90
101
  } | {
91
102
  id: string;
92
103
  type: "comment";
93
104
  text: string;
94
105
  alias?: string | undefined;
95
- })[] | ExtendedEdge[] | Map<string, {
96
- data: unknown;
97
- overwrite: boolean;
98
- }>)[];
99
- static get ERROR(): string;
100
- getPossiblePathsTo(nodeId: string, allowMultipleOutputs?: boolean): {
101
- nodeId: string;
106
+ })[], ExtendedEdge[], Map<string, DataSet>, {
107
+ node: Node;
102
108
  name: OutputName;
103
- }[][];
109
+ }[][], Map<string, Record<string, unknown>>];
110
+ static unpack([nodes, edges, _data, _cycles, _overriddenNodeData]: ReturnType<typeof NodeTree.prototype.pack>): NodeTree;
111
+ static get ERROR(): string;
112
+ getCriticalGroups(nodeId: string, allowMultipleOutputs?: boolean): CriticalGroup[];
104
113
  getNodes(condition?: (node: Node) => boolean): ({
105
114
  id: string;
106
115
  type: "entry";
@@ -164,6 +173,7 @@ export declare class NodeTree {
164
173
  id: string;
165
174
  type: "exit";
166
175
  alias?: string | undefined;
176
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
167
177
  } | {
168
178
  id: string;
169
179
  type: "comment";
@@ -234,6 +244,7 @@ export declare class NodeTree {
234
244
  id: string;
235
245
  type: "exit";
236
246
  alias?: string | undefined;
247
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
237
248
  } | {
238
249
  id: string;
239
250
  type: "comment";
@@ -304,6 +315,7 @@ export declare class NodeTree {
304
315
  id: string;
305
316
  type: "exit";
306
317
  alias?: string | undefined;
318
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
307
319
  } | {
308
320
  id: string;
309
321
  type: "comment";
@@ -373,12 +385,14 @@ export declare class NodeTree {
373
385
  id: string;
374
386
  type: "exit";
375
387
  alias?: string | undefined;
388
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
376
389
  } | {
377
390
  id: string;
378
391
  type: "comment";
379
392
  text: string;
380
393
  alias?: string | undefined;
381
394
  })[];
395
+ isInCycle(nodeId: string, outputName?: OutputName): boolean;
382
396
  /**
383
397
  * normally a node is "reached" when all incoming edges are traversed with the following exceptions:
384
398
  *
@@ -454,6 +468,7 @@ export declare class NodeTree {
454
468
  id: string;
455
469
  type: "exit";
456
470
  alias?: string | undefined;
471
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
457
472
  } | {
458
473
  id: string;
459
474
  type: "comment";
@@ -469,11 +484,13 @@ export declare class NodeTree {
469
484
  getData(nodeId: string, outputName: OutputName): unknown;
470
485
  traversed(sourceNodeId: string, targetNodeId: string): boolean;
471
486
  getAllData(): Map<string, Map<OutputName, unknown>>;
487
+ private getAggregatedDataSetsByNode;
472
488
  getAggregatedDataByNode(targetNodeId: string): Record<string, unknown>;
473
489
  getAggregatedData(targetNodeId: string): Record<string, unknown>;
474
490
  getAggregatedEdgeData(edgeId: string): Record<string, unknown>;
475
491
  reset(): void;
476
492
  gc(): void;
493
+ overrideAggregatedNodeData(nodeId: string, data: Record<string, unknown>): void;
477
494
  }
478
495
  export {};
479
496
  //# sourceMappingURL=NodeTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTree.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/NodeTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeTree.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/NodeTree.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,6 @@ export declare const createCommandSchema: z.ZodPipe<z.ZodObject<{
17
17
  input: z.ZodAny;
18
18
  options: z.ZodObject<{
19
19
  maxExecutions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
20
- compliance: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
21
- MCP_TOOL: "MCP_TOOL";
22
- }>>>;
23
20
  mode: z.ZodDefault<z.ZodEnum<{
24
21
  LINEAR: "LINEAR";
25
22
  CONTINUOUS: "CONTINUOUS";
@@ -100,6 +97,7 @@ export declare const createCommandSchema: z.ZodPipe<z.ZodObject<{
100
97
  id: string;
101
98
  type: "exit";
102
99
  alias?: string | undefined;
100
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
103
101
  } | {
104
102
  id: string;
105
103
  type: "comment";
@@ -117,7 +115,6 @@ export declare const createCommandSchema: z.ZodPipe<z.ZodObject<{
117
115
  id: string;
118
116
  options: {
119
117
  maxExecutions: number;
120
- compliance: "MCP_TOOL" | null;
121
118
  mode: "LINEAR" | "CONTINUOUS";
122
119
  };
123
120
  tree: {
@@ -184,6 +181,7 @@ export declare const createCommandSchema: z.ZodPipe<z.ZodObject<{
184
181
  id: string;
185
182
  type: "exit";
186
183
  alias?: string | undefined;
184
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
187
185
  } | {
188
186
  id: string;
189
187
  type: "comment";
@@ -204,7 +202,6 @@ export declare const createCommandSchema: z.ZodPipe<z.ZodObject<{
204
202
  input: any;
205
203
  options: {
206
204
  maxExecutions: number;
207
- compliance: "MCP_TOOL" | null;
208
205
  mode: "LINEAR" | "CONTINUOUS";
209
206
  priority: number;
210
207
  uploadUrl?: string | undefined;
@@ -229,7 +226,6 @@ export declare const createCommandSchema: z.ZodPipe<z.ZodObject<{
229
226
  input: any;
230
227
  options: {
231
228
  maxExecutions: number;
232
- compliance: "MCP_TOOL" | null;
233
229
  mode: "LINEAR" | "CONTINUOUS";
234
230
  priority: number;
235
231
  uploadUrl?: string | undefined;
@@ -259,9 +255,6 @@ export declare const commandSchema: z.ZodUnion<readonly [z.ZodObject<{
259
255
  input: z.ZodAny;
260
256
  options: z.ZodObject<{
261
257
  maxExecutions: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
262
- compliance: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
263
- MCP_TOOL: "MCP_TOOL";
264
- }>>>;
265
258
  mode: z.ZodDefault<z.ZodEnum<{
266
259
  LINEAR: "LINEAR";
267
260
  CONTINUOUS: "CONTINUOUS";
@@ -342,6 +335,7 @@ export declare const commandSchema: z.ZodUnion<readonly [z.ZodObject<{
342
335
  id: string;
343
336
  type: "exit";
344
337
  alias?: string | undefined;
338
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
345
339
  } | {
346
340
  id: string;
347
341
  type: "comment";
@@ -359,7 +353,6 @@ export declare const commandSchema: z.ZodUnion<readonly [z.ZodObject<{
359
353
  id: string;
360
354
  options: {
361
355
  maxExecutions: number;
362
- compliance: "MCP_TOOL" | null;
363
356
  mode: "LINEAR" | "CONTINUOUS";
364
357
  };
365
358
  tree: {
@@ -426,6 +419,7 @@ export declare const commandSchema: z.ZodUnion<readonly [z.ZodObject<{
426
419
  id: string;
427
420
  type: "exit";
428
421
  alias?: string | undefined;
422
+ inputSchema?: import("json-schema").JSONSchema7 | undefined;
429
423
  } | {
430
424
  id: string;
431
425
  type: "comment";
@@ -446,7 +440,6 @@ export declare const commandSchema: z.ZodUnion<readonly [z.ZodObject<{
446
440
  input: any;
447
441
  options: {
448
442
  maxExecutions: number;
449
- compliance: "MCP_TOOL" | null;
450
443
  mode: "LINEAR" | "CONTINUOUS";
451
444
  priority: number;
452
445
  uploadUrl?: string | undefined;
@@ -471,7 +464,6 @@ export declare const commandSchema: z.ZodUnion<readonly [z.ZodObject<{
471
464
  input: any;
472
465
  options: {
473
466
  maxExecutions: number;
474
- compliance: "MCP_TOOL" | null;
475
467
  mode: "LINEAR" | "CONTINUOUS";
476
468
  priority: number;
477
469
  uploadUrl?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAK1B,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuB3B,CAAA;AAEL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAqD,CAAA;AAC/E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/protocol/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAK1B,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuB3B,CAAA;AAEL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAqD,CAAA;AAC/E,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA"}