@requence/service 1.0.0-alpha.13 → 1.0.0-alpha.14

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 (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/chunk-6w7td62p.js +56 -0
  3. package/build/chunk-6w7td62p.js.map +10 -0
  4. package/build/cli.js +1 -1
  5. package/build/index.js +330 -164
  6. package/build/index.js.map +12 -7
  7. package/build/types/helpers/src/files/mapOutput.d.ts +4 -1
  8. package/build/types/helpers/src/files/mapOutput.d.ts.map +1 -1
  9. package/build/types/helpers/src/index.d.ts +8 -6
  10. package/build/types/helpers/src/index.d.ts.map +1 -1
  11. package/build/types/helpers/src/protocol/update.d.ts +8 -8
  12. package/build/types/helpers/src/utils/callbackToAsyncIterator.d.ts +3 -0
  13. package/build/types/helpers/src/utils/callbackToAsyncIterator.d.ts.map +1 -0
  14. package/build/types/helpers/src/utils/clone.d.ts +3 -0
  15. package/build/types/helpers/src/utils/clone.d.ts.map +1 -0
  16. package/build/types/helpers/src/utils/createObjectProxy.d.ts +2 -0
  17. package/build/types/helpers/src/utils/createObjectProxy.d.ts.map +1 -0
  18. package/build/types/helpers/src/{createRemotePromise.d.ts → utils/createRemotePromise.d.ts} +1 -1
  19. package/build/types/helpers/src/utils/createRemotePromise.d.ts.map +1 -0
  20. package/build/types/helpers/src/utils/isRecord.d.ts +2 -0
  21. package/build/types/helpers/src/utils/isRecord.d.ts.map +1 -0
  22. package/build/types/helpers/src/{utils.d.ts → utils/mapData.d.ts} +1 -5
  23. package/build/types/helpers/src/utils/mapData.d.ts.map +1 -0
  24. package/build/types/helpers/src/utils/matchSchema.d.ts +4 -0
  25. package/build/types/helpers/src/utils/matchSchema.d.ts.map +1 -0
  26. package/build/types/helpers/src/utils/obfuscate.d.ts.map +1 -0
  27. package/build/types/service/src/createAmqpConnection.d.ts.map +1 -1
  28. package/build/types/service/src/helpers.d.ts +1 -1
  29. package/build/types/service/src/helpers.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/build/chunk-fa95vcc4.js +0 -156
  32. package/build/chunk-fa95vcc4.js.map +0 -13
  33. package/build/types/helpers/src/clone.d.ts +0 -3
  34. package/build/types/helpers/src/clone.d.ts.map +0 -1
  35. package/build/types/helpers/src/createObjectProxy.d.ts +0 -2
  36. package/build/types/helpers/src/createObjectProxy.d.ts.map +0 -1
  37. package/build/types/helpers/src/createRemotePromise.d.ts.map +0 -1
  38. package/build/types/helpers/src/obfuscate.d.ts.map +0 -1
  39. package/build/types/helpers/src/utils.d.ts.map +0 -1
  40. /package/build/types/helpers/src/{obfuscate.d.ts → utils/obfuscate.d.ts} +0 -0
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../../helpers/src/context/context.ts", "../../helpers/src/files/index.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/isValidMimeType.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../../helpers/src/protocol/command.ts", "../../helpers/src/protocol/nodes.ts", "../../helpers/src/protocol/getNodeOutputs.ts", "../../helpers/src/protocol/createNodeMaps.ts", "../../helpers/src/protocol/getPossiblePaths.ts", "../../helpers/src/protocol/identifyNode.ts", "../../helpers/src/protocol/node.ts", "../../helpers/src/jsonschema/zod.ts", "../../helpers/src/jsonschema/validate.ts", "../src/createAmqpConnection.ts", "../src/helpers.ts", "../src/mapInput.ts"],
3
+ "sources": ["../src/index.ts", "../../helpers/src/utils/clone.ts", "../../helpers/src/utils/createObjectProxy.ts", "../../helpers/src/utils/createRemotePromise.ts", "../../helpers/src/utils/isRecord.ts", "../../helpers/src/utils/mapData.ts", "../../helpers/src/context/context.ts", "../../helpers/src/files/index.ts", "../../helpers/src/files/mapOutput.ts", "../../helpers/src/files/isValidMimeType.ts", "../../helpers/src/files/RequenceFile.ts", "../../helpers/src/files/RequenceStream.ts", "../../helpers/src/protocol/command.ts", "../../helpers/src/protocol/nodes.ts", "../../helpers/src/protocol/getNodeOutputs.ts", "../../helpers/src/protocol/createNodeMaps.ts", "../../helpers/src/protocol/getPossiblePaths.ts", "../../helpers/src/protocol/identifyNode.ts", "../../helpers/src/protocol/node.ts", "../../helpers/src/jsonschema/zod.ts", "../../helpers/src/jsonschema/validate.ts", "../src/createAmqpConnection.ts", "../src/helpers.ts", "../src/mapInput.ts"],
4
4
  "sourcesContent": [
5
5
  "import { readFileSync } from 'node:fs'\n\nimport { deobfuscate } from '@requence/helpers'\nimport { z } from 'zod'\n\nimport createAmqpConnection, {\n type ConnectionApi,\n type MessageHandler,\n} from './createAmqpConnection.ts'\n\nexport { RequenceFile, RequenceStream } from '@requence/helpers/files'\n\nexport type ServiceApi<V extends keyof Requence.Version | (string & {})> =\n ConnectionApi<V>\n\ninterface ServiceOptions<V extends string> {\n accessToken?: string\n version: V\n prefetch?: number\n connectionTimeout?: number\n silent?: boolean\n}\n\nconst connectionOptionsSchema = z.object({\n url: z.union([\n z\n .string()\n .regex(/^amqps?:\\/\\/(.+):(.+)@(.+)$/)\n .transform((str) => new URL(str)),\n z\n .instanceof(URL)\n .refine((url) => url.protocol.match(/^amqps?:/), 'Wrong protocol'),\n ]),\n version: z.string(),\n silent: z.boolean().optional(),\n prefetch: z.number().int().optional(),\n connectionTimeout: z.number().positive().default(3_000),\n})\n\nexport function createService<V extends keyof Requence.Version | (string & {})>(\n version: V,\n messageHandler: MessageHandler<V>,\n): ServiceApi<V>\nexport function createService<V extends keyof Requence.Version | (string & {})>(\n options: ServiceOptions<V>,\n messageHandler: MessageHandler<V>,\n): ServiceApi<V>\nexport function createService<V extends keyof Requence.Version | (string & {})>(\n optionsOrVersion: ServiceOptions<V> | string,\n optionalMessageHandler?: MessageHandler<V>,\n) {\n let options: ServiceOptions<V>\n let messageHandler: MessageHandler<V>\n if (typeof optionsOrVersion === 'string') {\n options = {\n version: optionsOrVersion as V,\n }\n messageHandler = optionalMessageHandler as MessageHandler<V>\n } else {\n options = optionsOrVersion\n messageHandler = optionalMessageHandler as MessageHandler<V>\n }\n\n const token =\n options.accessToken ??\n process.env.REQUENCE_ACCESS_TOKEN ??\n JSON.parse(readFileSync('package.json', 'utf-8')).requence?.accessToken\n\n if (!token) {\n throw new Error('No service key found')\n }\n\n const parts = deobfuscate(token)\n if (parts.length < 2 || parts[0] !== 'service') {\n throw new Error('Invalid service key')\n }\n\n const connectionOptions = {\n ...options,\n url: parts[1],\n }\n\n return createAmqpConnection<V>(\n connectionOptionsSchema.parse(connectionOptions),\n messageHandler,\n )\n}\n",
6
- "import { z } from 'zod'\n\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} from '../files/index.ts'\nimport type { Nodes } from '../protocol/nodes.ts'\nimport { mapData } from '../utils.ts'\n\nexport const contextSchema = z.object({\n input: z.any(),\n meta: z.any(),\n tenant: z.object({ name: z.string() }),\n data: z.record(z.string(), z.any()),\n errors: z.record(z.string(), z.string()),\n dates: z.record(z.string(), z.string().datetime()),\n})\n\nexport type Context = z.infer<typeof contextSchema>\n\nfunction isRecord(data: unknown): data is Record<string, any> {\n return typeof data === 'object' && data !== null && !Array.isArray(data)\n}\n\nconst internalKey = Symbol.for('internal') as unknown as 'internal'\n\nexport function getInternalContext(contextHelper: ContextHelper) {\n return (contextHelper as InternalContextHelper)[internalKey]\n}\n\nfunction resolveRequenceTypes(data: any) {\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 })\n}\n\nexport function createContextHelper(context: Context, nodes: Nodes) {\n const results = new Map(\n nodes.map((node) => [\n node.id,\n {\n node,\n executionDate:\n node.id in context.dates ? new Date(context.dates[node.id]) : null,\n data: resolveRequenceTypes(context.data[node.id] ?? null),\n error: context.errors[node.id] ?? null,\n },\n ]),\n )\n\n const lookUpMap = new Map<string, Array<string>>()\n\n for (const node of nodes) {\n const alias =\n typeof node.meta?.mapAlias === 'string'\n ? node.meta.mapAlias\n : 'alias' in node && node.alias\n if (alias) {\n if (lookUpMap.has(alias)) {\n lookUpMap.get(alias)!.push(node.id)\n } else {\n lookUpMap.set(alias, [node.id])\n }\n }\n\n const name =\n typeof node.meta?.mapName === 'string'\n ? node.meta.mapName\n : node.type === 'service' && node.name\n if (name) {\n if (lookUpMap.has(name)) {\n lookUpMap.get(name)!.push(node.id)\n } else {\n lookUpMap.set(name, [node.id])\n }\n }\n }\n\n return {\n [internalKey]: {\n results,\n },\n getInput(): unknown {\n return context.input\n },\n getMeta(): unknown {\n return context.meta\n },\n getData(alias?: string) {\n if (alias) {\n const nodeIds = lookUpMap.get(alias)\n if (!nodeIds) {\n return null\n }\n\n const combinedData = nodeIds\n .map((nodeId) => results.get(nodeId)?.data)\n .filter(Boolean)\n\n if (combinedData.length === 0) {\n return null\n }\n\n if (combinedData.length === 1) {\n return combinedData[0]\n }\n\n if (combinedData.every(isRecord)) {\n return combinedData.reduce((acc, data) => ({ ...acc, ...data }), {})\n }\n return combinedData\n }\n\n return Array.from(results.values())\n .filter((result) => result.executionDate && isRecord(result.data))\n .toSorted(\n (a, b) => a.executionDate!.getTime() - b.executionDate!.getTime(),\n )\n .reduce(\n (acc, result) => ({\n ...acc,\n ...result.data,\n }),\n isRecord(context.input) ? resolveRequenceTypes(context.input) : {},\n )\n },\n getError(alias: string) {\n const nodeIds = lookUpMap.get(alias)\n if (!nodeIds) {\n return null\n }\n return nodeIds\n .map((nodeId) => results.get(nodeId)?.error)\n .filter((str) => typeof str === 'string')\n .join('\\n')\n },\n }\n}\n\ntype InternalContextHelper = ReturnType<typeof createContextHelper>\nexport type ContextHelper = Omit<InternalContextHelper, typeof internalKey>\n",
6
+ "export const CLONE_SYMBOL = Symbol('original')\n\nexport function clone(data: any): any {\n if (typeof data !== 'object' || data === null) {\n return data\n }\n\n const target = (data as any)[CLONE_SYMBOL]\n if (target) {\n return clone(target)\n }\n\n if (Array.isArray(data)) {\n return data.map(clone)\n }\n\n return Object.fromEntries(\n Object.entries(data).map(([key, value]) => [key, clone(value)]),\n )\n}\n",
7
+ "import { CLONE_SYMBOL } from './clone.ts'\n\nexport function createObjectProxy(\n obj: Record<string, unknown>,\n onChange: (newObj: Record<string, unknown>) => void,\n) {\n return new Proxy(obj, {\n set(target, property, newValue) {\n const result = Reflect.set(target, property, newValue)\n onChange(target)\n return result\n },\n deleteProperty(target, property) {\n const result = Reflect.deleteProperty(target, property)\n onChange(target)\n return result\n },\n get(target, property, receiver) {\n if (property === CLONE_SYMBOL) {\n return target\n }\n\n const result = Reflect.get(target, property, receiver)\n\n if (typeof result === 'object' && result !== null) {\n return createObjectProxy(result, () => onChange(target))\n }\n\n return result\n },\n })\n}\n",
8
+ "export function createRemotePromise<T = void>(\n onAwait?: (\n resolve: (value: T) => void,\n reject: (error: any) => void,\n ) => void | Promise<void>,\n) {\n let resolvePromise!: (value: T | PromiseLike<T>) => void\n let rejectPromise!: (reason?: any) => void\n\n const internalPromise = new Promise<T>((resolve, reject) => {\n resolvePromise = resolve\n rejectPromise = reject\n })\n\n let isAwaited = false\n\n const wrappedPromise = new Proxy(internalPromise, {\n get(target, property: keyof PromiseLike<T>) {\n if (\n property === 'then' ||\n property === 'catch' ||\n property === 'finally'\n ) {\n if (!isAwaited && onAwait) {\n isAwaited = true\n onAwait(resolvePromise, rejectPromise)\n }\n return target[property].bind(target)\n }\n\n return target[property]\n },\n })\n\n return Object.assign(wrappedPromise, {\n resolve: resolvePromise,\n reject: rejectPromise,\n promise: wrappedPromise,\n })\n}\n\nexport type RemotePromise<T> = ReturnType<typeof createRemotePromise<T>>\n",
9
+ "import { z } from 'zod'\n\nconst recordSchema = z.record(z.unknown())\nexport function isRecord(data: unknown): data is Record<string, unknown> {\n return recordSchema.safeParse(data).success\n}\n",
10
+ "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}\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\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 const traverseData = (data: any, path: Array<string | number>): any => {\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 (isRecord(data)) {\n return resolve(visitors.Object?.(data, path), (resolvedData) => {\n if (resolvedData) {\n return resolvedData\n }\n\n const entries = Object.entries(data).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 return data\n }\n\n return traverseData(data, [])\n}\n",
11
+ "import { z } from 'zod'\n\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} from '../files/index.ts'\nimport type { Nodes } from '../protocol/nodes.ts'\nimport { mapData } from '../utils/mapData.ts'\n\nexport const contextSchema = z.object({\n input: z.any(),\n meta: z.any(),\n tenant: z.object({ name: z.string() }),\n data: z.record(z.string(), z.any()),\n errors: z.record(z.string(), z.string()),\n dates: z.record(z.string(), z.string().datetime()),\n})\n\nexport type Context = z.infer<typeof contextSchema>\n\nfunction isRecord(data: unknown): data is Record<string, any> {\n return typeof data === 'object' && data !== null && !Array.isArray(data)\n}\n\nconst internalKey = Symbol.for('internal') as unknown as 'internal'\n\nexport function getInternalContext(contextHelper: ContextHelper) {\n return (contextHelper as InternalContextHelper)[internalKey]\n}\n\nfunction resolveRequenceTypes(data: any) {\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 })\n}\n\nexport function createContextHelper(context: Context, nodes: Nodes) {\n const results = new Map(\n nodes.map((node) => [\n node.id,\n {\n node,\n executionDate:\n node.id in context.dates ? new Date(context.dates[node.id]) : null,\n data: resolveRequenceTypes(context.data[node.id] ?? null),\n error: context.errors[node.id] ?? null,\n },\n ]),\n )\n\n const lookUpMap = new Map<string, Array<string>>()\n\n for (const node of nodes) {\n const alias =\n typeof node.meta?.mapAlias === 'string'\n ? node.meta.mapAlias\n : 'alias' in node && node.alias\n if (alias) {\n if (lookUpMap.has(alias)) {\n lookUpMap.get(alias)!.push(node.id)\n } else {\n lookUpMap.set(alias, [node.id])\n }\n }\n\n const name =\n typeof node.meta?.mapName === 'string'\n ? node.meta.mapName\n : node.type === 'service' && node.name\n if (name) {\n if (lookUpMap.has(name)) {\n lookUpMap.get(name)!.push(node.id)\n } else {\n lookUpMap.set(name, [node.id])\n }\n }\n }\n\n return {\n [internalKey]: {\n results,\n },\n getInput(): unknown {\n return context.input\n },\n getMeta(): unknown {\n return context.meta\n },\n getData(alias?: string) {\n if (alias) {\n const nodeIds = lookUpMap.get(alias)\n if (!nodeIds) {\n return null\n }\n\n const combinedData = nodeIds\n .map((nodeId) => results.get(nodeId)?.data)\n .filter(Boolean)\n\n if (combinedData.length === 0) {\n return null\n }\n\n if (combinedData.length === 1) {\n return combinedData[0]\n }\n\n if (combinedData.every(isRecord)) {\n return combinedData.reduce((acc, data) => ({ ...acc, ...data }), {})\n }\n return combinedData\n }\n\n return Array.from(results.values())\n .filter((result) => result.executionDate && isRecord(result.data))\n .toSorted(\n (a, b) => a.executionDate!.getTime() - b.executionDate!.getTime(),\n )\n .reduce(\n (acc, result) => ({\n ...acc,\n ...result.data,\n }),\n isRecord(context.input) ? resolveRequenceTypes(context.input) : {},\n )\n },\n getError(alias: string) {\n const nodeIds = lookUpMap.get(alias)\n if (!nodeIds) {\n return null\n }\n return nodeIds\n .map((nodeId) => results.get(nodeId)?.error)\n .filter((str) => typeof str === 'string')\n .join('\\n')\n },\n }\n}\n\ntype InternalContextHelper = ReturnType<typeof createContextHelper>\nexport type ContextHelper = Omit<InternalContextHelper, typeof internalKey>\n",
7
12
  "import { z } from 'zod'\n\nexport * from './mapOutput.ts'\nexport * from './isValidMimeType.ts'\nexport * from './RequenceFile.ts'\nexport * from './RequenceStream.ts'\n\nconst fileObjectSchema = z.object({\n size: z.number().int().positive(),\n mime: z.string(),\n url: z.string().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\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 toStreamObject(streamInfo: {\n mime: string\n url: string\n}): StreamObject {\n return {\n ...streamInfo,\n __REQUENCE_type: 'RequenceStream',\n }\n}\n\nexport function isStreamObject(data: unknown): data is StreamObject {\n return streamObjectSchema.safeParse(data).success\n}\n",
8
- "import {\n RequenceFile,\n RequenceStream,\n toFileObject,\n toStreamObject,\n} from './index.ts'\nimport type { NodeOptions } from '../protocol/command.ts'\nimport { mapData } from '../utils.ts'\n\nasync function upload(\n uploadUrl: string,\n body: BodyInit | null,\n contentType?: string | null,\n) {\n const uploadResponse = await fetch(uploadUrl, {\n method: 'POST',\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 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 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 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(\n value: unknown,\n nodeOptions: NodeOptions,\n eventHandlers?: {\n onFail?: (error: Error) => void\n onSkip?: () => void\n onDone?: () => void\n },\n) {\n const streamPromises: Array<Promise<any>> = []\n const mapped = await mapData(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 (nodeOptions.uploadUrl) {\n try {\n if (obj instanceof Blob) {\n return await upload(nodeOptions.uploadUrl, obj, obj.type)\n }\n\n if (obj instanceof RequenceFile) {\n return await upload(\n nodeOptions.uploadUrl,\n await obj.blob(),\n obj.mimeType,\n )\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n eventHandlers?.onFail?.(error)\n return null\n }\n } else {\n eventHandlers?.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 (nodeOptions.streamUrl) {\n try {\n if (obj instanceof Response && obj.body) {\n const [streamObject, streamPromise] = await stream(\n nodeOptions.streamUrl,\n obj.body,\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 nodeOptions.streamUrl,\n obj.stream(),\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 eventHandlers?.onFail?.(error)\n return null\n }\n } else {\n eventHandlers?.onSkip?.()\n return null\n }\n }\n },\n })\n\n Promise.allSettled(streamPromises).then(() => eventHandlers?.onDone?.())\n\n return mapped\n}\n",
13
+ "import {\n RequenceFile,\n RequenceStream,\n toFileObject,\n toStreamObject,\n} from './index.ts'\nimport type { NodeOptions } from '../protocol/command.ts'\nimport { mapData } from '../utils/mapData.ts'\n\nasync function upload(\n uploadUrl: string,\n body: BodyInit | null,\n signal?: AbortSignal,\n contentType?: string | null,\n) {\n const uploadResponse = await fetch(uploadUrl, {\n method: 'POST',\n signal,\n headers: contentType\n ? {\n 'Content-Type': contentType,\n }\n : {},\n body,\n })\n\n const data = await uploadResponse.json()\n if (!data || typeof data !== 'object') {\n throw new Error('invalid upload response')\n }\n\n return toFileObject(data as { size: number; mime: string; url: string })\n}\n\n/**\n * nodejs closes the stream when no data where pushed before executing fetch,\n * this way we wait for the first bytes, the executing fetch\n * All that gets obsolete once we use bun.\n */\nasync function stream(\n streamUrl: string,\n stream: ReadableStream,\n signal?: AbortSignal,\n contentType?: string | null,\n) {\n const [testStream, dataStream] = stream.tee()\n\n const reader = testStream.getReader()\n const dataPromise = reader.read().then(({ done }) => {\n if (done) {\n throw new Error('No streaming date received')\n }\n\n reader.cancel()\n })\n\n const streamResponse = await fetch(streamUrl, {\n method: 'POST',\n signal,\n headers: contentType ? { 'Content-Type': contentType } : {},\n })\n\n const data = await streamResponse.json()\n if (!data || typeof data !== 'object') {\n throw new Error('invalid stream response')\n }\n\n const { mime, url } = data as { mime: string; url: string }\n await dataPromise\n\n // don't wait\n const done = fetch(url, {\n method: 'POST',\n signal,\n duplex: 'half', // this is not typed but needed for nodejs to handle readable streams\n body: dataStream,\n } as RequestInit)\n\n return [toStreamObject({ mime, url }), done] as const\n}\n\nexport async function mapOutput(params: {\n value: unknown\n options: Pick<NodeOptions, 'uploadUrl' | 'streamUrl'>\n onFail?: (error: Error) => void\n onSkip?: () => void\n onDone?: () => void\n signal?: AbortSignal\n}) {\n const streamPromises: Array<Promise<any>> = []\n const mapped = await mapData(params.value, {\n async Object(obj) {\n if (obj instanceof Blob || obj instanceof RequenceFile) {\n // don't reupload existing files\n if (obj instanceof RequenceFile && obj.fileObject) {\n return obj.fileObject\n }\n\n if (params.options.uploadUrl) {\n try {\n if (obj instanceof Blob) {\n return await upload(\n params.options.uploadUrl,\n obj,\n params.signal,\n obj.type,\n )\n }\n\n if (obj instanceof RequenceFile) {\n return await upload(\n params.options.uploadUrl,\n await obj.blob(),\n params.signal,\n obj.mimeType,\n )\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n params.onFail?.(error)\n return null\n }\n } else {\n params.onSkip?.()\n return null\n }\n }\n\n if (obj instanceof Response || obj instanceof RequenceStream) {\n if (obj instanceof RequenceStream && obj.streamObject) {\n return obj.streamObject\n }\n\n if (params.options.streamUrl) {\n try {\n if (obj instanceof Response && obj.body) {\n const [streamObject, streamPromise] = await stream(\n params.options.streamUrl,\n obj.body,\n params.signal,\n obj.headers.get('Content-Type'),\n )\n streamPromises.push(streamPromise)\n return streamObject\n }\n\n if (obj instanceof RequenceStream) {\n const [streamObject, streamPromise] = await stream(\n params.options.streamUrl,\n obj.stream(),\n params.signal,\n obj.mimeType,\n )\n streamPromises.push(streamPromise)\n return streamObject\n }\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n params.onFail?.(error)\n return null\n }\n } else {\n params.onSkip?.()\n return null\n }\n }\n },\n })\n\n Promise.allSettled(streamPromises).then(() => params.onDone?.())\n\n return mapped\n}\n",
9
14
  "import mime from 'mime-types'\n\nexport function isValidMimeType(\n fileInfo: { ext?: string; mime: string },\n accept: string,\n) {\n const ext = fileInfo.ext ?? (mime.extension(fileInfo.mime) || '???')\n\n const mimeType = fileInfo.mime.toLowerCase().split(';')[0].trim()\n const acceptTypes = accept\n .split(',')\n .map((type) => type.toLowerCase().split(';')[0].trim())\n\n return acceptTypes.some((acceptedType) => {\n if (acceptedType === '*/*') {\n return true\n }\n\n if (acceptedType.endsWith('/*')) {\n const baseType = acceptedType.split('/')[0]\n return mimeType.startsWith(baseType + '/')\n }\n\n if (acceptedType.includes('/')) {\n return mimeType === acceptedType\n }\n\n if (acceptedType.startsWith('.')) {\n return ext.toLowerCase().endsWith(acceptedType)\n }\n\n return false\n })\n}\n",
10
15
  "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
16
  "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",
@@ -18,11 +23,11 @@
18
23
  "import { z } from 'zod'\n\nimport {\n jsonSchema7NullSchema,\n jsonSchema7ObjectSchema,\n jsonSchema7Schema,\n} from '../jsonschema/zod.ts'\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & {}\n\nconst outputDefinitionSchema = z\n .object({\n schema: jsonSchema7Schema.nullable().optional(),\n })\n\n .and(\n z.union([\n z.object({\n default: z.literal(false).default(false),\n name: z.string().min(1),\n }),\n z.object({\n default: z.literal(true).default(true),\n }),\n ]),\n )\n .and(\n z.union([\n z.object({\n exit: z.literal(false).default(false),\n target: z.string().min(1),\n }),\n z.object({ exit: z.literal(true) }),\n ]),\n )\n\nexport type Output = Prettify<z.infer<typeof outputDefinitionSchema>>\n\nconst defaultOutputSchema = z\n .union([\n z.string().min(1),\n z.object({ default: z.literal(true).default(true), exit: z.literal(true) }),\n z.object({\n default: z.literal(true).default(true),\n exit: z.literal(false).default(false),\n target: z.string().min(1),\n }),\n ])\n .transform<Output>((output) => {\n if (typeof output === 'string') {\n return {\n default: true,\n exit: false,\n target: output,\n }\n }\n\n return output\n })\n\nconst outputSchema = z\n .union([z.string().min(1), outputDefinitionSchema])\n .transform<Output>((output) => {\n if (typeof output === 'string') {\n return {\n default: true,\n exit: false,\n target: output,\n }\n }\n\n return output\n })\n\nfunction validateOutputs(outputs: Array<Output>, ctx: z.RefinementCtx) {\n const exitOutputs = new Set(\n outputs\n .filter((output) => output.exit)\n .map((output) => (output.default ? '__default__' : output.name)),\n )\n\n outputs\n .filter((output) => !output.exit)\n .forEach((output) => {\n const name = output.default ? '__default__' : output.name\n if (exitOutputs.has(name)) {\n ctx.addIssue({\n code: 'custom',\n message: output.default\n ? `default exit output cannot be mixed with target output \"${output.target}\"`\n : `named exit output \"${name}\" cannot be mixed with target output \"${output.target}\"`,\n })\n }\n })\n\n const targets = new Map<string, Set<string>>()\n\n outputs.forEach((output) => {\n const name = output.default ? '__default__' : output.name\n const target = output.exit ? '__exit__' : output.target\n if (!targets.has(name)) {\n targets.set(name, new Set())\n }\n\n const knownTargets = targets.get(name)!\n if (knownTargets.has(target)) {\n ctx.addIssue({\n code: 'custom',\n message: [\n output.default\n ? 'duplicate default output'\n : `duplicate named output \"${name}\"`,\n output.exit ? 'for exit' : `for target \"${target}\"`,\n ].join(' '),\n })\n }\n knownTargets.add(target)\n })\n}\n\nconst defaultOutputsSchema = z\n .array(defaultOutputSchema)\n .default([])\n .superRefine(validateOutputs)\n\nconst outputsSchema = z\n .array(outputSchema)\n .default([])\n .superRefine(validateOutputs)\n\nconst idSchema = z\n .string()\n .uuid()\n .default(() => crypto.randomUUID())\n\nconst metaSchema = z.record(z.any()).optional()\n\nexport const entryNodeSchema = z.object({\n type: z.literal('entry'),\n id: z.literal('__entry__').default('__entry__'),\n output: defaultOutputsSchema,\n inputSchema: jsonSchema7Schema.default({ type: 'null' }),\n metaSchema: jsonSchema7Schema.default({ type: 'null' }),\n meta: metaSchema,\n})\n\nexport type InputEntryNode = z.input<typeof entryNodeSchema>\n\nexport const serviceNodeSchema = z.object({\n type: z.literal('service'),\n output: outputsSchema,\n inputSchema: z\n .union([jsonSchema7ObjectSchema, jsonSchema7NullSchema])\n .default({ type: 'null' }),\n id: idSchema,\n name: z.string(),\n version: z.string(),\n configuration: z.any().optional(),\n configurationSchema: jsonSchema7Schema.default({ type: 'null' }),\n alias: z.string().optional(),\n ttl: z.number().int().min(1).optional(),\n retry: z.number().int().min(1).optional(),\n retryDelay: z.number().int().min(100).optional(),\n meta: metaSchema,\n})\nexport type InputServiceNode = z.input<typeof serviceNodeSchema>\n\nexport const catchNodeSchema = z.object({\n type: z.literal('catch'),\n output: outputsSchema,\n id: idSchema,\n subject: z.string(),\n meta: metaSchema,\n})\nexport type InputCacheNode = z.input<typeof catchNodeSchema>\n\nexport const logicNodeSchema = z.object({\n type: z.literal('logic'),\n alias: z.string().optional(),\n output: outputsSchema,\n id: idSchema,\n script: z.string(),\n concurrency: z.boolean().default(true),\n language: z\n .enum(['javascript', 'python', 'typescript'])\n .default('javascript'),\n\n maxExecutionTime: z.number().int().min(0).default(1000),\n meta: metaSchema,\n})\nexport type InputLogicNode = z.input<typeof logicNodeSchema>\n\nexport const orNodeSchema = z.object({\n id: idSchema,\n type: z.literal('or'),\n alias: z.string().optional(),\n output: outputsSchema,\n meta: metaSchema,\n})\nexport type InputOrNode = z.input<typeof orNodeSchema>\n\nexport const nodeSchema = z.discriminatedUnion('type', [\n entryNodeSchema,\n serviceNodeSchema,\n catchNodeSchema,\n logicNodeSchema,\n orNodeSchema,\n])\nexport type InputNode = z.input<typeof nodeSchema>\n",
19
24
  "import { z } from 'zod'\n\nimport type { JSONSchema7 } from './types.ts'\nimport { Ajv } from './validate.ts'\n\nexport const jsonSchema7Schema = z.custom<JSONSchema7>(\n (value) => {\n const ajv = new Ajv()\n return ajv.validateSchema(value)\n },\n { message: 'Invalid json schema' },\n)\n\nexport const jsonSchema7ObjectSchema = z\n .object({\n type: z.literal('object'),\n })\n .and(jsonSchema7Schema)\n\nexport const jsonSchema7NullSchema = z.object({\n type: z.literal('null'),\n})\n\nexport type JSONSchema7Object = z.infer<typeof jsonSchema7ObjectSchema>\nexport type JSONSchema7Null = z.infer<typeof jsonSchema7NullSchema>\n",
20
25
  "import {\n Ajv as BaseAjv,\n type ErrorObject,\n type KeywordDefinition,\n type Options,\n} from 'ajv'\nimport type { JSONSchema7 } from 'json-schema'\n\nimport mapSchema from './mapSchema.ts'\nimport {\n isFileObject,\n isStreamObject,\n isValidMimeType,\n} from '../files/index.ts'\n\nexport class ValidationError extends Error {\n constructor(\n message: string,\n public readonly property?: string,\n ) {\n super(property ? `${property}: ${message}` : message)\n }\n}\n\nexport const acceptKeyword: KeywordDefinition = {\n keyword: 'accept',\n type: 'object',\n metaSchema: {\n type: 'string',\n pattern:\n '^\\\\s*(?:(?:\\\\w+/\\\\*|\\\\w+/[-+.\\\\w]+|\\\\*/\\\\*))(?:\\\\s*,\\\\s*(?:(?:\\\\w+/\\\\*|\\\\w+/[-+.\\\\w]+|\\\\*/\\\\*)))*\\\\s*$',\n },\n}\n\nexport const acceptKeywordEnforced: KeywordDefinition = {\n ...acceptKeyword,\n compile: (accept: string) =>\n function validate(data) {\n const errors: Partial<ErrorObject>[] = ((validate as any).errors = [])\n\n if (isFileObject(data) || isStreamObject(data)) {\n if (!isValidMimeType(data, accept)) {\n errors.push({ message: `must be of type ${accept}` })\n return false\n }\n } else {\n errors.push({ message: 'invalid file type' })\n return false\n }\n\n return true\n },\n}\n\nexport const requenceTypeKeywords: KeywordDefinition = {\n keyword: 'requenceType',\n metaSchema: {\n enum: ['file', 'stream'],\n },\n}\n\nexport const instanceOfKeyword: KeywordDefinition = {\n keyword: 'instanceOf',\n schemaType: 'string',\n compile: (schema) =>\n function validate(data) {\n const errors: Partial<ErrorObject>[] = ((validate as any).errors = [])\n if (typeof data !== 'object' || !data || !('constructor' in data)) {\n errors.push({ message: 'not a object' })\n return false\n }\n\n if (data.constructor.name !== schema) {\n errors.push({ message: `must be instanceof ${schema}` })\n return false\n }\n\n return true\n },\n}\n\nexport const maxByteLengthKeyword: KeywordDefinition = {\n keyword: 'maxByteLength',\n type: 'object',\n metaSchema: {\n type: 'integer',\n minimum: 0,\n },\n}\n\nexport const maxByteLengthKeywordEnforced: KeywordDefinition = {\n ...maxByteLengthKeyword,\n compile: (maxByteLength: number) =>\n function validate(data) {\n const errors: Partial<ErrorObject>[] = ((validate as any).errors = [])\n if (isFileObject(data)) {\n if (data.size > maxByteLength) {\n errors.push({\n message: `file size must by lower tan ${maxByteLength}`,\n })\n return false\n }\n } else {\n errors.push({ message: 'invalid file type' })\n return false\n }\n\n return true\n },\n}\n\nexport class Ajv extends BaseAjv {\n constructor(options?: Options & { enforeFileKeywords?: boolean }) {\n super({\n ...options,\n keywords: [\n options?.enforeFileKeywords ? acceptKeywordEnforced : acceptKeyword,\n options?.enforeFileKeywords\n ? maxByteLengthKeywordEnforced\n : maxByteLengthKeyword,\n requenceTypeKeywords,\n instanceOfKeyword,\n ],\n })\n }\n}\n\nexport function validate<T extends JSONSchema7>(options: {\n schema: T\n value: unknown\n property?: string\n allowAdditionalProperties?: boolean\n enforeFileKeywords?: boolean\n}) {\n const ajv = new Ajv({\n coerceTypes: true,\n enforeFileKeywords: options.enforeFileKeywords,\n })\n\n const value = structuredClone(options.value)\n const schema = options.allowAdditionalProperties\n ? mapSchema(options.schema, {\n Object: (objectSchema) => ({\n ...objectSchema,\n additionalProperties: true,\n }),\n })\n : options.schema\n\n const validate = ajv.compile(schema)\n const valid = validate(value)\n\n if (valid) {\n return value\n }\n const error = validate.errors![0]\n throw new ValidationError(\n error.message!,\n [options.property, ...error.instancePath.split('/')]\n .filter(Boolean)\n .join('/'),\n )\n}\n",
21
- "import { clone, deobfuscate, obfuscate } from '@requence/helpers'\nimport { contextSchema } from '@requence/helpers/context'\nimport { nodeOptionsSchema, nodesSchema } from '@requence/helpers/protocol'\nimport { connect } from 'amqp-connection-manager'\nimport type { ConfirmChannel } from 'amqplib'\nimport { z } from 'zod'\n\nimport createContextHelper, {\n AbortError,\n type ContextHelper,\n type JSONValue,\n RetryError,\n unwrapResult,\n} from './helpers.ts'\nimport mapInput from './mapInput.ts'\n\ntype Input<V extends keyof Requence.Version> = Requence.Version[V]['input']\ntype Configuration<V extends keyof Requence.Version> =\n Requence.Version[V]['configuration']\ntype OutputName<\n V extends keyof Requence.Version,\n K = keyof Requence.Version[V]['outputs'],\n> = K extends '__default__' ? null : K\n\ntype OutputValue<\n V extends keyof Requence.Version,\n O extends OutputName<V> | null,\n> = Requence.Version[V]['outputs'][O extends null ? '__default__' : O]\n\ninterface ServiceContextHelper<V extends keyof Requence.Version>\n extends Omit<ContextHelper, 'getData' | 'getConfiguration' | 'toOutput'> {\n getData: {\n (): Input<V>\n }\n getConfiguration(): Configuration<V>\n toOutput<O extends OutputName<V>>(\n name: O,\n value: OutputValue<V, O>,\n ): '__output_value__'\n}\n\ntype ReturnValue<V extends keyof Requence.Version> =\n | ReturnType<ServiceContextHelper<V>['toOutput']>\n | OutputValue<V, null>\n | '__output_value__'\n\ntype ApiOutputName<V> = V extends keyof Requence.Version\n ? OutputName<V>\n : string | null\ntype ApiOutputValue<V, O> = V extends keyof Requence.Version\n ? O extends OutputName<V>\n ? OutputValue<V, O>\n : unknown\n : unknown\n\ninterface ActorApi<V> {\n sendToOutput<O extends ApiOutputName<V>>(\n outputName: O,\n data: ApiOutputValue<V, O>,\n ): void\n send(data: ApiOutputValue<V, null>): void\n abort(error: string | Error): void\n}\n\nexport interface ConnectionApi<V> {\n close(): Promise<void>\n open(): Promise<ConnectionApi<V>>\n act(\n messageKey: string,\n actor: (api: ActorApi<V>) => void | Promise<void>,\n ): Promise<void>\n}\n\nconst messageKeySchema = z\n .string()\n .transform((str) => deobfuscate(str))\n .pipe(z.array(z.string().uuid()).length(3))\n .transform((arr) => ({\n taskId: arr[0],\n serviceId: arr[1],\n messageId: arr[2],\n }))\n\nconst headerSchema = z\n .object({\n properties: z.object({\n correlationId: z.string().uuid(),\n headers: z.object({\n version: z.string(),\n taskId: z.string().uuid(),\n serviceId: z.string().uuid(),\n }),\n }),\n })\n .transform((msg) => ({\n version: msg.properties.headers.version,\n messageId: msg.properties.correlationId,\n taskId: msg.properties.headers.taskId,\n serviceId: msg.properties.headers.serviceId,\n }))\n\nconst payloadSchema = z\n .object({ content: z.instanceof(Buffer) })\n .transform((msg) => JSON.parse(msg.content.toString()))\n .pipe(\n z.object({\n context: contextSchema,\n meta: z.object({\n nodes: nodesSchema,\n state: z.record(z.any()),\n options: nodeOptionsSchema,\n }),\n }),\n )\n\ntype MaybePromise<T> = T | Promise<T>\n\ninterface ConnectionOptions {\n url: URL\n version: string\n connectionTimeout: number\n prefetch?: number\n silent?: boolean\n}\n\ntype MessageHandlerContext<V> = V extends keyof Requence.Version\n ? ServiceContextHelper<V>\n : ContextHelper\ntype MessageHandlerReturnValue<V> = V extends keyof Requence.Version\n ? ReturnValue<V>\n : JSONValue\n\ntype MessageHandlerFunction<V> = (\n context: MessageHandlerContext<V>,\n) => MaybePromise<MessageHandlerReturnValue<V> | void>\n\ntype MessageHandlerGenerator<V> = (\n context: MessageHandlerContext<V>,\n) => Generator<MessageHandlerReturnValue<V>, MessageHandlerReturnValue<V>, void>\ntype MessageHandlerAsyncGenerator<V> = (\n context: MessageHandlerContext<V>,\n) => AsyncGenerator<\n MessageHandlerReturnValue<V>,\n MessageHandlerReturnValue<V>,\n void\n>\n\nexport type MessageHandler<V> =\n | MessageHandlerAsyncGenerator<V>\n | MessageHandlerGenerator<V>\n | MessageHandlerFunction<V>\n\nfunction isMessageHandlerGenerator<V extends keyof Requence.Version>(\n handler: MessageHandler<V>,\n): handler is MessageHandlerGenerator<V> | MessageHandlerAsyncGenerator<V> {\n return (\n handler.constructor.name === 'GeneratorFunction' ||\n handler.constructor.name === 'AsyncGeneratorFunction'\n )\n}\n\nconst activeMessages = new Set<string>()\n\nexport default function createConnection<V>(\n {\n url,\n version,\n prefetch = 1,\n silent = false,\n connectionTimeout,\n }: ConnectionOptions,\n messageHandler: MessageHandler<V>,\n) {\n const queue = `${url.username}@${version}`\n const exchange = url.username\n const connection = connect(url.toString())\n\n const connectedPromise = new Promise<void>((resolve, reject) => {\n const unsubscribe = () => {\n clearTimeout(timeout)\n connection.removeListener('connect', handleConnect)\n connection.removeListener('connectFailed', handleConnectFailed)\n }\n\n const timeout = setTimeout(() => {\n handleConnectFailed({ err: 'Connection timeout' })\n }, connectionTimeout)\n\n const handleConnect = () => {\n unsubscribe()\n resolve()\n }\n\n const handleConnectFailed = ({ err }: { err: string }) => {\n unsubscribe()\n reject(new Error(err))\n }\n\n connection.addListener('connect', handleConnect)\n connection.addListener('connectFailed', handleConnectFailed)\n })\n\n const channel = connection.createChannel({\n async setup(channel: ConfirmChannel) {\n await channel.checkExchange(exchange)\n await channel.checkExchange(`${exchange}-retry`)\n await channel.checkQueue(queue)\n await channel.prefetch(prefetch)\n },\n })\n\n const publish = ({\n data,\n outputName,\n messageId,\n ...headers\n }: {\n data?: unknown\n outputName?: string | null\n messageId: string\n serviceId: string\n taskId: string\n [property: string]: any\n }) => {\n channel.publish(exchange, '', Buffer.from(JSON.stringify(data ?? null)), {\n correlationId: messageId,\n contentType: 'application/json',\n headers: {\n outputName: outputName ?? null,\n ...headers,\n },\n })\n }\n\n channel.consume(queue, async (message) => {\n // this is a error retry message, we don't need those\n if (\n message.properties.headers?.abort ||\n message.properties.headers?.exception\n ) {\n channel.nack(message, false, false)\n return\n }\n\n let removeActiveMessage = () => {}\n try {\n let deferred = false\n let deferredReason: string | null = null\n const { messageId, serviceId, taskId } = headerSchema.parse(message)\n\n activeMessages.add(messageId)\n removeActiveMessage = () => activeMessages.delete(messageId)\n\n const payload = payloadSchema.parse(message)\n\n let acked = false\n const ack = () => {\n if (!acked) {\n acked = true\n channel.ack(message)\n }\n }\n\n let immediateUpdateState: ReturnType<typeof setImmediate>\n\n const extendedContext = createContextHelper({\n serviceId,\n context: mapInput(payload.context) as typeof payload.context,\n nodes: mapInput(payload.meta.nodes) as typeof payload.meta.nodes,\n taskId,\n state: payload.meta.state,\n onStateChange(newState) {\n clearImmediate(immediateUpdateState)\n immediateUpdateState = setImmediate(() => {\n publish({\n messageId,\n taskId,\n serviceId,\n data: clone(newState),\n state: true,\n })\n })\n },\n onLog(debugMethod, data) {\n publish({\n messageId,\n taskId,\n serviceId,\n data,\n debugMethod,\n debug: true,\n })\n },\n onDefer(reason) {\n deferred = true\n deferredReason = reason || null\n ack()\n return obfuscate(taskId, serviceId, messageId)\n },\n }) as unknown as MessageHandlerContext<V>\n\n if (isMessageHandlerGenerator(messageHandler)) {\n const generator = messageHandler(extendedContext)\n while (true) {\n const { value: result, done } = await generator.next()\n ack()\n\n if (deferred) {\n deferred = false\n console.warn(\n 'returning a value in a deferred message resets the deferred status',\n )\n }\n const { value, outputName } = await unwrapResult(\n result,\n payload.meta.options,\n )\n\n if (!done || typeof value !== 'undefined') {\n publish({\n messageId,\n taskId,\n serviceId,\n data: value,\n outputName,\n })\n }\n\n if (done) {\n break\n }\n }\n } else {\n const result = await messageHandler(extendedContext)\n ack()\n const { value, outputName } = await unwrapResult(\n result,\n payload.meta.options,\n )\n if (deferred && value) {\n console.warn(\n 'returning a value in a deferred message resets the deferred status',\n )\n deferred = false\n }\n\n if (!deferred || value) {\n publish({\n messageId,\n taskId,\n serviceId,\n data: value,\n outputName,\n })\n }\n }\n\n setImmediate(() =>\n publish({\n messageId,\n taskId,\n serviceId,\n data: deferredReason,\n deferred,\n done: !deferred,\n }),\n )\n } catch (error) {\n if (error instanceof RetryError) {\n const properties = {\n ...message.properties,\n expiration: error.delay || 1_000, // 1s\n }\n\n channel.publish(\n `${exchange}-retry`,\n 'retry', // to other services\n message.content,\n properties,\n )\n channel.ack(message)\n return\n }\n\n if (error instanceof AbortError && error.message.length > 0) {\n // requeue the message with extreme lowest expiration and lowest priority\n // so that no service will have the change to read this message\n channel.publish(\n `${exchange}-retry`,\n 'requeue', //back to operator\n error.message,\n {\n ...message.properties,\n expiration: 0,\n priority: 0,\n contentType: 'text/plain',\n headers: {\n ...message.properties.headers,\n abort: true,\n },\n },\n )\n\n channel.ack(message)\n return\n }\n\n if (error instanceof Error) {\n if (!silent) {\n console.error(`Encountered an error inside service handler:`)\n console.error(error)\n }\n\n channel.publish(\n `${exchange}-retry`,\n 'requeue', // back to operator\n message.content,\n {\n ...message.properties,\n expiration: 0,\n priority: 0,\n headers: {\n ...message.properties.headers,\n exception: true,\n 'error-message': error.message || 'error in service handler',\n },\n },\n )\n\n channel.ack(message)\n return\n }\n\n channel.nack(message, false, false)\n } finally {\n removeActiveMessage()\n }\n })\n\n const api: ConnectionApi<V> = {\n close: async () => {\n await channel.close()\n await connection.close()\n },\n open: () => connectedPromise.then(() => api),\n\n async act(messageKey, actor) {\n const { taskId, serviceId, messageId } =\n messageKeySchema.parse(messageKey)\n\n if (activeMessages.has(messageId)) {\n throw new Error(\n 'Cannot send deferred message while callback handler is still running',\n )\n }\n\n await actor({\n sendToOutput(outputName, data) {\n publish({\n messageId,\n taskId,\n serviceId,\n data,\n outputName: outputName as string | null,\n })\n },\n send(data) {\n publish({\n messageId,\n taskId,\n serviceId,\n data,\n })\n },\n abort(error) {\n channel.publish(\n `${exchange}-retry`,\n 'requeue',\n error instanceof Error ? error.message : error,\n {\n correlationId: messageId,\n expiration: 0,\n priority: 0,\n contentType: 'text/plain',\n headers: {\n taskId,\n serviceId,\n abort: true,\n },\n },\n )\n },\n })\n\n setImmediate(() =>\n publish({\n messageId,\n taskId,\n serviceId,\n done: true,\n }),\n )\n },\n }\n return api\n}\n",
22
- "import { createObjectProxy } from '@requence/helpers'\nimport type { Context } from '@requence/helpers/context'\nimport { mapOutput } from '@requence/helpers/files'\nimport type {\n NodeOptions,\n Nodes,\n ServiceNode,\n} from '@requence/helpers/protocol'\n\nexport type JSONValue =\n | string\n | number\n | boolean\n | { [x: string]: JSONValue }\n | Array<JSONValue>\n | null\n\nexport class RetryError extends Error {\n constructor(public delay?: number) {\n super()\n }\n}\n\nexport class AbortError extends Error {}\n\nconst OUTPUT_VALUE = Symbol('output_value')\n\ntype OutputValue = {\n [OUTPUT_VALUE]: string | null\n value: any\n}\n\nfunction isOutputValue(value: unknown): value is OutputValue {\n return value !== null && typeof value === 'object' && OUTPUT_VALUE in value\n}\n\nfunction isRecord(data: unknown): data is Record<string, any> {\n return typeof data === 'object' && data !== null && !Array.isArray(data)\n}\n\nexport async function unwrapResult(result: unknown, options: NodeOptions) {\n if (isOutputValue(result)) {\n return {\n value: await mapOutput(result.value, options),\n outputName: result[OUTPUT_VALUE],\n }\n }\n return { value: await mapOutput(result, options), outputName: null }\n}\n\ntype NodeResult = {\n executionDate: null | Date\n data: any | null\n error: string | null\n}\n\nexport default function createContextHelper(options: {\n serviceId: string\n taskId: string\n context: Context\n nodes: Nodes\n state: Record<string, any>\n onLog: (method: 'log' | 'warn' | 'info' | 'error', data: any[]) => void\n onDefer: (reason?: string) => string\n onStateChange: (newObj: Record<string, unknown>) => void\n}) {\n const nodes = new Map<string, Nodes[number] & NodeResult>(\n options.nodes.map((node) => [\n node.id,\n Object.assign(node, {\n executionDate:\n node.id in options.context.dates\n ? new Date(options.context.dates[node.id])\n : null,\n data: options.context.data[node.id] ?? null,\n error: options.context.errors[node.id] ?? null,\n }),\n ]),\n )\n\n return {\n taskId: options.taskId,\n\n getInput(): unknown {\n return options.context.input\n },\n\n getMeta(): unknown {\n return options.context.meta\n },\n\n getData() {\n return Array.from(nodes.values())\n .filter((result) => result.executionDate && isRecord(result.data))\n .toSorted(\n (a, b) => a.executionDate!.getTime() - b.executionDate!.getTime(),\n )\n .reduce(\n (acc, result) => ({\n ...acc,\n ...result.data,\n }),\n isRecord(options.context.input) ? { ...options.context.input } : {},\n )\n },\n\n toOutput(name: string | null, value: unknown): OutputValue {\n return {\n [OUTPUT_VALUE]: name,\n value,\n }\n },\n defer: options.onDefer,\n\n getConfiguration(): unknown {\n const result = nodes.get(options.serviceId)\n if (result?.type === 'service') {\n return result.configuration ?? null\n }\n\n return null\n },\n\n getNode() {\n return nodes.get(options.serviceId)! as ServiceNode & NodeResult\n },\n\n getNodes() {\n return Array.from(nodes.values())\n },\n\n state: createObjectProxy(options.state, options.onStateChange) as Record<\n string,\n any\n >,\n debug: {\n log(...data: any[]) {\n options.onLog('log', data)\n },\n info(...data: any[]) {\n options.onLog('info', data)\n },\n warn(...data: any[]) {\n options.onLog('warn', data)\n },\n error(...data: any[]) {\n options.onLog('error', data)\n },\n },\n retry(delay?: number) {\n throw new RetryError(delay)\n },\n abort(reason?: string) {\n throw new AbortError(reason)\n },\n }\n}\n\nexport type ContextHelper = ReturnType<typeof createContextHelper>\n",
26
+ "import {\n clone,\n createRemotePromise,\n deobfuscate,\n obfuscate,\n} from '@requence/helpers'\nimport { contextSchema } from '@requence/helpers/context'\nimport { mapOutput } from '@requence/helpers/files'\nimport { nodeOptionsSchema, nodesSchema } from '@requence/helpers/protocol'\nimport { connect } from 'amqp-connection-manager'\nimport type { ConfirmChannel } from 'amqplib'\nimport { z } from 'zod'\n\nimport createContextHelper, {\n AbortError,\n type ContextHelper,\n type JSONValue,\n RetryError,\n unwrapResult,\n} from './helpers.ts'\nimport mapInput from './mapInput.ts'\n\ntype Input<V extends keyof Requence.Version> = Requence.Version[V]['input']\ntype Configuration<V extends keyof Requence.Version> =\n Requence.Version[V]['configuration']\ntype OutputName<\n V extends keyof Requence.Version,\n K = keyof Requence.Version[V]['outputs'],\n> = K extends '__default__' ? null : K\n\ntype OutputValue<\n V extends keyof Requence.Version,\n O extends OutputName<V> | null,\n> = Requence.Version[V]['outputs'][O extends null ? '__default__' : O]\n\ninterface ServiceContextHelper<V extends keyof Requence.Version>\n extends Omit<ContextHelper, 'getData' | 'getConfiguration' | 'toOutput'> {\n getData: {\n (): Input<V>\n }\n getConfiguration(): Configuration<V>\n toOutput<O extends OutputName<V>>(\n name: O,\n value: OutputValue<V, O>,\n ): '__output_value__'\n}\n\ntype ReturnValue<V extends keyof Requence.Version> =\n | ReturnType<ServiceContextHelper<V>['toOutput']>\n | OutputValue<V, null>\n | '__output_value__'\n\ntype ApiOutputName<V> = V extends keyof Requence.Version\n ? OutputName<V>\n : string | null\ntype ApiOutputValue<V, O> = V extends keyof Requence.Version\n ? O extends OutputName<V>\n ? OutputValue<V, O>\n : unknown\n : unknown\n\ninterface ActorApi<V> {\n sendToOutput<O extends ApiOutputName<V>>(\n outputName: O,\n data: ApiOutputValue<V, O>,\n ): void\n send(data: ApiOutputValue<V, null>): void\n abort(error: string | Error): void\n}\n\nexport interface ConnectionApi<V> {\n close(): Promise<void>\n open(): Promise<ConnectionApi<V>>\n act(\n messageKey: string,\n actor: (api: ActorApi<V>) => void | Promise<void>,\n ): Promise<void>\n}\n\nconst messageKeySchema = z\n .string()\n .transform((str) => deobfuscate(str))\n .pipe(\n z\n .tuple([z.string().uuid(), z.string().uuid(), z.string().uuid()])\n .rest(z.string()),\n )\n .transform((arr) => ({\n taskId: arr[0],\n serviceId: arr[1],\n messageId: arr[2],\n uploadUrl: arr[3] || undefined,\n streamUrl: arr[4] || undefined,\n }))\n\nconst headerSchema = z\n .object({\n properties: z.object({\n correlationId: z.string().uuid(),\n headers: z.object({\n version: z.string(),\n taskId: z.string().uuid(),\n serviceId: z.string().uuid(),\n }),\n }),\n })\n .transform((msg) => ({\n version: msg.properties.headers.version,\n messageId: msg.properties.correlationId,\n taskId: msg.properties.headers.taskId,\n serviceId: msg.properties.headers.serviceId,\n }))\n\nconst payloadSchema = z\n .object({ content: z.instanceof(Buffer) })\n .transform((msg) => JSON.parse(msg.content.toString()))\n .pipe(\n z.object({\n context: contextSchema,\n meta: z.object({\n nodes: nodesSchema,\n state: z.record(z.any()),\n options: nodeOptionsSchema,\n }),\n }),\n )\n\ntype MaybePromise<T> = T | Promise<T>\n\ninterface ConnectionOptions {\n url: URL\n version: string\n connectionTimeout: number\n prefetch?: number\n silent?: boolean\n}\n\ntype MessageHandlerContext<V> = V extends keyof Requence.Version\n ? ServiceContextHelper<V>\n : ContextHelper\ntype MessageHandlerReturnValue<V> = V extends keyof Requence.Version\n ? ReturnValue<V>\n : JSONValue\n\ntype MessageHandlerFunction<V> = (\n context: MessageHandlerContext<V>,\n) => MaybePromise<MessageHandlerReturnValue<V> | void>\n\ntype MessageHandlerGenerator<V> = (\n context: MessageHandlerContext<V>,\n) => Generator<MessageHandlerReturnValue<V>, MessageHandlerReturnValue<V>, void>\ntype MessageHandlerAsyncGenerator<V> = (\n context: MessageHandlerContext<V>,\n) => AsyncGenerator<\n MessageHandlerReturnValue<V>,\n MessageHandlerReturnValue<V>,\n void\n>\n\nexport type MessageHandler<V> =\n | MessageHandlerAsyncGenerator<V>\n | MessageHandlerGenerator<V>\n | MessageHandlerFunction<V>\n\nfunction isMessageHandlerGenerator<V extends keyof Requence.Version>(\n handler: MessageHandler<V>,\n): handler is MessageHandlerGenerator<V> | MessageHandlerAsyncGenerator<V> {\n return (\n handler.constructor.name === 'GeneratorFunction' ||\n handler.constructor.name === 'AsyncGeneratorFunction'\n )\n}\n\nconst activeMessages = new Set<string>()\n\nexport default function createConnection<V>(\n {\n url,\n version,\n prefetch = 1,\n silent = false,\n connectionTimeout,\n }: ConnectionOptions,\n messageHandler: MessageHandler<V>,\n) {\n const queue = `${url.username}@${version}`\n const exchange = url.username\n const connection = connect(url.toString())\n\n const connectedPromise = new Promise<void>((resolve, reject) => {\n const unsubscribe = () => {\n clearTimeout(timeout)\n connection.removeListener('connect', handleConnect)\n connection.removeListener('connectFailed', handleConnectFailed)\n }\n\n const timeout = setTimeout(() => {\n handleConnectFailed({ err: 'Connection timeout' })\n }, connectionTimeout)\n\n const handleConnect = () => {\n unsubscribe()\n resolve()\n }\n\n const handleConnectFailed = ({ err }: { err: string }) => {\n unsubscribe()\n reject(new Error(err))\n }\n\n connection.addListener('connect', handleConnect)\n connection.addListener('connectFailed', handleConnectFailed)\n })\n\n const channel = connection.createChannel({\n async setup(channel: ConfirmChannel) {\n await channel.checkExchange(exchange)\n await channel.checkExchange(`${exchange}-retry`)\n await channel.checkQueue(queue)\n await channel.prefetch(prefetch)\n },\n })\n\n const publish = ({\n data,\n outputName,\n messageId,\n ...headers\n }: {\n data?: unknown\n outputName?: string | null\n messageId: string\n serviceId: string\n taskId: string\n [property: string]: any\n }) => {\n channel.publish(exchange, '', Buffer.from(JSON.stringify(data ?? null)), {\n correlationId: messageId,\n contentType: 'application/json',\n headers: {\n outputName: outputName ?? null,\n ...headers,\n },\n })\n }\n\n channel.consume(queue, async (message) => {\n // this is a error retry message, we don't need those\n if (\n message.properties.headers?.abort ||\n message.properties.headers?.exception\n ) {\n channel.nack(message, false, false)\n return\n }\n\n const donePromises: Array<Promise<void>> = []\n let removeActiveMessage = () => {}\n try {\n let deferred = false\n let deferredReason: string | null = null\n const { messageId, serviceId, taskId } = headerSchema.parse(message)\n\n activeMessages.add(messageId)\n removeActiveMessage = () => activeMessages.delete(messageId)\n\n const payload = payloadSchema.parse(message)\n\n let acked = false\n const ack = () => {\n if (!acked) {\n acked = true\n channel.ack(message)\n }\n }\n\n let immediateUpdateState: ReturnType<typeof setImmediate>\n\n const extendedContext = createContextHelper({\n serviceId,\n context: mapInput(payload.context) as typeof payload.context,\n nodes: mapInput(payload.meta.nodes) as typeof payload.meta.nodes,\n taskId,\n state: payload.meta.state,\n onStateChange(newState) {\n clearImmediate(immediateUpdateState)\n immediateUpdateState = setImmediate(() => {\n publish({\n messageId,\n taskId,\n serviceId,\n data: clone(newState),\n state: true,\n })\n })\n },\n onLog(debugMethod, data) {\n publish({\n messageId,\n taskId,\n serviceId,\n data,\n debugMethod,\n debug: true,\n })\n },\n onDefer(reason) {\n deferred = true\n deferredReason = reason || null\n ack()\n return obfuscate(\n taskId,\n serviceId,\n messageId,\n payload.meta.options.uploadUrl ?? '',\n payload.meta.options.streamUrl ?? '',\n )\n },\n }) as unknown as MessageHandlerContext<V>\n\n if (isMessageHandlerGenerator(messageHandler)) {\n const generator = messageHandler(extendedContext)\n while (true) {\n const { value: result, done } = await generator.next()\n ack()\n\n if (deferred) {\n deferred = false\n console.warn(\n 'returning a value in a deferred message resets the deferred status',\n )\n }\n\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n\n const { value, outputName } = await unwrapResult(\n result,\n payload.meta.options,\n donePromise.resolve,\n )\n\n if (!done || typeof value !== 'undefined') {\n publish({\n messageId,\n taskId,\n serviceId,\n data: value,\n outputName,\n })\n }\n\n if (done) {\n break\n }\n }\n } else {\n const result = await messageHandler(extendedContext)\n ack()\n\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n const { value, outputName } = await unwrapResult(\n result,\n payload.meta.options,\n donePromise.resolve,\n )\n if (deferred && value) {\n console.warn(\n 'returning a value in a deferred message resets the deferred status',\n )\n deferred = false\n }\n\n if (!deferred || value) {\n publish({\n messageId,\n taskId,\n serviceId,\n data: value,\n outputName,\n })\n }\n }\n\n setImmediate(async () => {\n if (!deferred) {\n await Promise.allSettled(donePromises)\n }\n publish({\n messageId,\n taskId,\n serviceId,\n data: deferredReason,\n deferred,\n done: !deferred,\n })\n })\n } catch (error) {\n if (error instanceof RetryError) {\n const properties = {\n ...message.properties,\n expiration: error.delay || 1_000, // 1s\n }\n\n channel.publish(\n `${exchange}-retry`,\n 'retry', // to other services\n message.content,\n properties,\n )\n channel.ack(message)\n return\n }\n\n if (error instanceof AbortError && error.message.length > 0) {\n // requeue the message with extreme lowest expiration and lowest priority\n // so that no service will have the change to read this message\n channel.publish(\n `${exchange}-retry`,\n 'requeue', //back to operator\n error.message,\n {\n ...message.properties,\n expiration: 0,\n priority: 0,\n contentType: 'text/plain',\n headers: {\n ...message.properties.headers,\n abort: true,\n },\n },\n )\n\n channel.ack(message)\n return\n }\n\n if (error instanceof Error) {\n if (!silent) {\n console.error(`Encountered an error inside service handler:`)\n console.error(error)\n }\n\n channel.publish(\n `${exchange}-retry`,\n 'requeue', // back to operator\n message.content,\n {\n ...message.properties,\n expiration: 0,\n priority: 0,\n headers: {\n ...message.properties.headers,\n exception: true,\n 'error-message': error.message || 'error in service handler',\n },\n },\n )\n\n channel.ack(message)\n return\n }\n\n channel.nack(message, false, false)\n } finally {\n removeActiveMessage()\n }\n })\n\n const api: ConnectionApi<V> = {\n close: async () => {\n await channel.close()\n await connection.close()\n },\n open: () => connectedPromise.then(() => api),\n\n async act(messageKey, actor) {\n const { taskId, serviceId, messageId, ...options } =\n messageKeySchema.parse(messageKey)\n\n if (activeMessages.has(messageId)) {\n throw new Error(\n 'Cannot send deferred message while callback handler is still running',\n )\n }\n\n const donePromises: Array<Promise<void>> = []\n\n await actor({\n async sendToOutput(outputName, data) {\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n publish({\n messageId,\n taskId,\n serviceId,\n data: await mapOutput({\n value: data,\n options,\n onDone: donePromise.resolve,\n }),\n outputName: outputName as string | null,\n })\n },\n async send(data) {\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n publish({\n messageId,\n taskId,\n serviceId,\n data: await mapOutput({\n value: data,\n options,\n onDone: donePromise.resolve,\n }),\n })\n },\n abort(error) {\n channel.publish(\n `${exchange}-retry`,\n 'requeue',\n error instanceof Error ? error.message : error,\n {\n correlationId: messageId,\n expiration: 0,\n priority: 0,\n contentType: 'text/plain',\n headers: {\n taskId,\n serviceId,\n abort: true,\n },\n },\n )\n },\n })\n\n setImmediate(async () => {\n await Promise.allSettled(donePromises)\n publish({\n messageId,\n taskId,\n serviceId,\n done: true,\n })\n })\n },\n }\n return api\n}\n",
27
+ "import { createObjectProxy } from '@requence/helpers'\nimport type { Context } from '@requence/helpers/context'\nimport { mapOutput } from '@requence/helpers/files'\nimport type {\n NodeOptions,\n Nodes,\n ServiceNode,\n} from '@requence/helpers/protocol'\n\nexport type JSONValue =\n | string\n | number\n | boolean\n | { [x: string]: JSONValue }\n | Array<JSONValue>\n | null\n\nexport class RetryError extends Error {\n constructor(public delay?: number) {\n super()\n }\n}\n\nexport class AbortError extends Error {}\n\nconst OUTPUT_VALUE = Symbol('output_value')\n\ntype OutputValue = {\n [OUTPUT_VALUE]: string | null\n value: any\n}\n\nfunction isOutputValue(value: unknown): value is OutputValue {\n return value !== null && typeof value === 'object' && OUTPUT_VALUE in value\n}\n\nfunction isRecord(data: unknown): data is Record<string, any> {\n return typeof data === 'object' && data !== null && !Array.isArray(data)\n}\n\nexport async function unwrapResult(\n result: unknown,\n options: Pick<NodeOptions, 'uploadUrl' | 'streamUrl'>,\n onDone: () => void,\n) {\n if (isOutputValue(result)) {\n return {\n value: await mapOutput({ value: result.value, options, onDone }),\n outputName: result[OUTPUT_VALUE],\n }\n }\n return {\n value: await mapOutput({ value: result, options, onDone }),\n outputName: null,\n }\n}\n\ntype NodeResult = {\n executionDate: null | Date\n data: any | null\n error: string | null\n}\n\nexport default function createContextHelper(options: {\n serviceId: string\n taskId: string\n context: Context\n nodes: Nodes\n state: Record<string, any>\n onLog: (method: 'log' | 'warn' | 'info' | 'error', data: any[]) => void\n onDefer: (reason?: string) => string\n onStateChange: (newObj: Record<string, unknown>) => void\n}) {\n const nodes = new Map<string, Nodes[number] & NodeResult>(\n options.nodes.map((node) => [\n node.id,\n Object.assign(node, {\n executionDate:\n node.id in options.context.dates\n ? new Date(options.context.dates[node.id])\n : null,\n data: options.context.data[node.id] ?? null,\n error: options.context.errors[node.id] ?? null,\n }),\n ]),\n )\n\n return {\n taskId: options.taskId,\n\n getInput(): unknown {\n return options.context.input\n },\n\n getMeta(): unknown {\n return options.context.meta\n },\n\n getData() {\n return Array.from(nodes.values())\n .filter((result) => result.executionDate && isRecord(result.data))\n .toSorted(\n (a, b) => a.executionDate!.getTime() - b.executionDate!.getTime(),\n )\n .reduce(\n (acc, result) => ({\n ...acc,\n ...result.data,\n }),\n isRecord(options.context.input) ? { ...options.context.input } : {},\n )\n },\n\n toOutput(name: string | null, value: unknown): OutputValue {\n return {\n [OUTPUT_VALUE]: name,\n value,\n }\n },\n defer: options.onDefer,\n\n getConfiguration(): unknown {\n const result = nodes.get(options.serviceId)\n if (result?.type === 'service') {\n return result.configuration ?? null\n }\n\n return null\n },\n\n getNode() {\n return nodes.get(options.serviceId)! as ServiceNode & NodeResult\n },\n\n getNodes() {\n return Array.from(nodes.values())\n },\n\n state: createObjectProxy(options.state, options.onStateChange) as Record<\n string,\n any\n >,\n debug: {\n log(...data: any[]) {\n options.onLog('log', data)\n },\n info(...data: any[]) {\n options.onLog('info', data)\n },\n warn(...data: any[]) {\n options.onLog('warn', data)\n },\n error(...data: any[]) {\n options.onLog('error', data)\n },\n },\n retry(delay?: number) {\n throw new RetryError(delay)\n },\n abort(reason?: string) {\n throw new AbortError(reason)\n },\n }\n}\n\nexport type ContextHelper = ReturnType<typeof createContextHelper>\n",
23
28
  "import { mapData } from '@requence/helpers'\nimport {\n RequenceFile,\n RequenceStream,\n isFileObject,\n isStreamObject,\n} from '@requence/helpers/files'\n\nexport default function mapInput(data: unknown): unknown {\n return mapData(data, {\n Object(obj) {\n if (isFileObject(obj)) {\n return RequenceFile.fromFileObject(obj)\n }\n if (isStreamObject(obj)) {\n return RequenceStream.fromStreamObject(obj)\n }\n },\n })\n}\n"
24
29
  ],
25
- "mappings": "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",
26
- "debugId": "566CE181EC007E2D64756E2164756E21",
30
+ "mappings": "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",
31
+ "debugId": "41E805E9FDA0F22664756E2164756E21",
27
32
  "names": []
28
33
  }
@@ -1,7 +1,10 @@
1
1
  import type { NodeOptions } from '../protocol/command.ts';
2
- export declare function mapOutput(value: unknown, nodeOptions: NodeOptions, eventHandlers?: {
2
+ export declare function mapOutput(params: {
3
+ value: unknown;
4
+ options: Pick<NodeOptions, 'uploadUrl' | 'streamUrl'>;
3
5
  onFail?: (error: Error) => void;
4
6
  onSkip?: () => void;
5
7
  onDone?: () => void;
8
+ signal?: AbortSignal;
6
9
  }): Promise<unknown>;
7
10
  //# sourceMappingURL=mapOutput.d.ts.map
@@ -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,wBAAwB,CAAA;AAsEzD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE;IACd,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;CACpB,oBAiFF"}
1
+ {"version":3,"file":"mapOutput.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/files/mapOutput.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AA2EzD,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,7 +1,9 @@
1
- export * from './utils.ts';
2
- export * from './obfuscate.ts';
3
- export { default as clone } from './clone.ts';
4
- export { default as createObjectProxy } from './createObjectProxy.ts';
5
- export { default as createRemotePromise } from './createRemotePromise.ts';
6
- export { type RemotePromise } from './createRemotePromise.ts';
1
+ export * from './utils/matchSchema.ts';
2
+ export * from './utils/obfuscate.ts';
3
+ export * from './utils/clone.ts';
4
+ export * from './utils/createObjectProxy.ts';
5
+ export * from './utils/createRemotePromise.ts';
6
+ export * from './utils/callbackToAsyncIterator.ts';
7
+ export * from './utils/mapData.ts';
8
+ export * from './utils/isRecord.ts';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../helpers/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,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,gCAAgC,CAAA;AAC9C,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA"}
@@ -108,8 +108,8 @@ declare const nodeErrorUpdateSchema: z.ZodObject<z.objectUtil.extendShape<z.obje
108
108
  }>;
109
109
  }>, "strip", z.ZodTypeAny, {
110
110
  type: "NODE_ERROR";
111
- timestamp: Date;
112
111
  error: string;
112
+ timestamp: Date;
113
113
  nodeId: string;
114
114
  context: {
115
115
  errors: Record<string, string>;
@@ -123,8 +123,8 @@ declare const nodeErrorUpdateSchema: z.ZodObject<z.objectUtil.extendShape<z.obje
123
123
  };
124
124
  }, {
125
125
  type: "NODE_ERROR";
126
- timestamp: number;
127
126
  error: string;
127
+ timestamp: number;
128
128
  nodeId: string;
129
129
  context: {
130
130
  errors: Record<string, string>;
@@ -334,7 +334,7 @@ declare const nodeDebugUpdateSchema: z.ZodObject<z.objectUtil.extendShape<z.obje
334
334
  meta?: any;
335
335
  input?: any;
336
336
  };
337
- severity: "log" | "error" | "info" | "warn";
337
+ severity: "error" | "log" | "info" | "warn";
338
338
  data?: unknown;
339
339
  }, {
340
340
  type: "NODE_DEBUG";
@@ -350,7 +350,7 @@ declare const nodeDebugUpdateSchema: z.ZodObject<z.objectUtil.extendShape<z.obje
350
350
  meta?: any;
351
351
  input?: any;
352
352
  };
353
- severity: "log" | "error" | "info" | "warn";
353
+ severity: "error" | "log" | "info" | "warn";
354
354
  data?: unknown;
355
355
  }>;
356
356
  export type NodeDebugUpdate = z.infer<typeof nodeDebugUpdateSchema>;
@@ -1656,8 +1656,8 @@ export declare const updateSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
1656
1656
  }>;
1657
1657
  }>, "strip", z.ZodTypeAny, {
1658
1658
  type: "NODE_ERROR";
1659
- timestamp: Date;
1660
1659
  error: string;
1660
+ timestamp: Date;
1661
1661
  nodeId: string;
1662
1662
  context: {
1663
1663
  errors: Record<string, string>;
@@ -1671,8 +1671,8 @@ export declare const updateSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
1671
1671
  };
1672
1672
  }, {
1673
1673
  type: "NODE_ERROR";
1674
- timestamp: number;
1675
1674
  error: string;
1675
+ timestamp: number;
1676
1676
  nodeId: string;
1677
1677
  context: {
1678
1678
  errors: Record<string, string>;
@@ -1876,7 +1876,7 @@ export declare const updateSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
1876
1876
  meta?: any;
1877
1877
  input?: any;
1878
1878
  };
1879
- severity: "log" | "error" | "info" | "warn";
1879
+ severity: "error" | "log" | "info" | "warn";
1880
1880
  data?: unknown;
1881
1881
  }, {
1882
1882
  type: "NODE_DEBUG";
@@ -1892,7 +1892,7 @@ export declare const updateSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<
1892
1892
  meta?: any;
1893
1893
  input?: any;
1894
1894
  };
1895
- severity: "log" | "error" | "info" | "warn";
1895
+ severity: "error" | "log" | "info" | "warn";
1896
1896
  data?: unknown;
1897
1897
  }>, z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
1898
1898
  timestamp: z.ZodEffects<z.ZodNumber, Date, number>;
@@ -0,0 +1,3 @@
1
+ export declare function callbackToAsyncIterator<T>(subscribe: (push: (value: T) => void, fail: (error: Error) => void, end: () => void) => void): AsyncIterator<T>;
2
+ export declare function callbackToAsyncIterable<T>(...args: Parameters<typeof callbackToAsyncIterator<T>>): AsyncIterable<T>;
3
+ //# sourceMappingURL=callbackToAsyncIterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callbackToAsyncIterator.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/callbackToAsyncIterator.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,SAAS,EAAE,CACT,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EACxB,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC5B,GAAG,EAAE,MAAM,IAAI,KACZ,IAAI,GACR,aAAa,CAAC,CAAC,CAAC,CAgDlB;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACrD,aAAa,CAAC,CAAC,CAAC,CAMlB"}
@@ -0,0 +1,3 @@
1
+ export declare const CLONE_SYMBOL: unique symbol;
2
+ export declare function clone(data: any): any;
3
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/clone.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAAqB,CAAA;AAE9C,wBAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAiBpC"}
@@ -0,0 +1,2 @@
1
+ export declare function createObjectProxy(obj: Record<string, unknown>, onChange: (newObj: Record<string, unknown>) => void): Record<string, unknown>;
2
+ //# sourceMappingURL=createObjectProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createObjectProxy.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/createObjectProxy.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,2BA2BpD"}
@@ -1,4 +1,4 @@
1
- export default function createRemotePromise<T = void>(onAwait?: (resolve: (value: T) => void, reject: (error: any) => void) => void | Promise<void>): Promise<T> & {
1
+ export declare function createRemotePromise<T = void>(onAwait?: (resolve: (value: T) => void, reject: (error: any) => void) => void | Promise<void>): Promise<T> & {
2
2
  resolve: (value: T | PromiseLike<T>) => void;
3
3
  reject: (reason?: any) => void;
4
4
  promise: Promise<T>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRemotePromise.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/createRemotePromise.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,IAAI,EAC1C,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,KACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;qBAEI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI;sBAC1B,GAAG,KAAK,IAAI;;EAgC3C;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function isRecord(data: unknown): data is Record<string, unknown>;
2
+ //# sourceMappingURL=isRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isRecord.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/isRecord.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvE"}
@@ -1,7 +1,3 @@
1
- import { z } from 'zod';
2
- export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema, input: unknown): input is z.infer<Schema>;
3
- export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema): (input: unknown) => input is z.infer<Schema>;
4
- export declare function isRecord(data: unknown): data is Record<string, unknown>;
5
1
  type DataVistor<T> = (data: T, path: Array<string | number>) => Promise<any> | any;
6
2
  interface DataVistors {
7
3
  Null?: DataVistor<null>;
@@ -14,4 +10,4 @@ interface DataVistors {
14
10
  type HasPromiseVistor<T extends DataVistors, Then, Else> = T[keyof T] extends (...args: any[]) => any ? Promise<any> extends ReturnType<T[keyof T]> ? Then : Else : Else;
15
11
  export declare function mapData<Output, Input = unknown, V extends DataVistors = DataVistors>(data: Input, visitors: V): HasPromiseVistor<V, Promise<unknown extends Output ? Input : Output>, unknown extends Output ? Input : Output>;
16
12
  export {};
17
- //# sourceMappingURL=utils.d.ts.map
13
+ //# sourceMappingURL=mapData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapData.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/mapData.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,CAAC,CAAC,IAAI,CACnB,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KACzB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;AAEvB,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,KAAK,gBAAgB,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAC5E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,GACJ,OAAO,CAAC,GAAG,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACzC,IAAI,GACJ,IAAI,GACN,IAAI,CAAA;AAiBR,wBAAgB,OAAO,CACrB,MAAM,EACN,KAAK,GAAG,OAAO,EACf,CAAC,SAAS,WAAW,GAAG,WAAW,EAEnC,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,CAAC,GACV,gBAAgB,CACjB,CAAC,EACD,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EAChD,OAAO,SAAS,MAAM,GAAG,KAAK,GAAG,MAAM,CACxC,CAyDA"}
@@ -0,0 +1,4 @@
1
+ import type { z } from 'zod';
2
+ export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema, input: unknown): input is z.infer<Schema>;
3
+ export declare function matchSchema<Schema extends z.ZodSchema>(schema: Schema): (input: unknown) => input is z.infer<Schema>;
4
+ //# sourceMappingURL=matchSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchSchema.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/matchSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,wBAAgB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC3B,wBAAgB,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EACpD,MAAM,EAAE,MAAM,GACb,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obfuscate.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/obfuscate.ts"],"names":[],"mappings":"AAUA,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,UA0BhD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAU1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,YA4BtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAmqpConnection.d.ts","sourceRoot":"","sources":["../../../../src/createAmqpConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAmqpConnection.d.ts","sourceRoot":"","sources":["../../../../src/createAmqpConnection.ts"],"names":[],"mappings":"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"}