@requence/service 1.0.0-alpha.38 → 1.0.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @requence/service
2
2
 
3
+ ## 1.0.0-alpha.39
4
+
5
+ ### Patch Changes
6
+
7
+ - e50d691: use setup code to consume and create queues
8
+
3
9
  ## 1.0.0-alpha.38
4
10
 
5
11
  ### Patch Changes
package/build/index.js CHANGED
@@ -643,12 +643,12 @@ function createConnection({
643
643
  });
644
644
  const connectionId = crypto.randomUUID();
645
645
  const backchannelQueue = `${queue}-backchannel-${connectionId}`;
646
- const channel = connection.createChannel({
647
- async setup(channel2) {
648
- await channel2.checkExchange(exchange);
649
- await channel2.checkExchange(`${exchange}-retry`);
650
- await channel2.checkQueue(queue);
651
- await channel2.prefetch(prefetch);
646
+ const channelWrapper = connection.createChannel({
647
+ async setup(channel) {
648
+ await channel.checkExchange(exchange);
649
+ await channel.checkExchange(`${exchange}-retry`);
650
+ await channel.checkQueue(queue);
651
+ await channel.prefetch(prefetch);
652
652
  }
653
653
  });
654
654
  const publish = ({
@@ -657,7 +657,7 @@ function createConnection({
657
657
  messageId,
658
658
  priority,
659
659
  ...headers
660
- }) => channel.publish(exchange, "", Buffer.from(JSON.stringify(data ?? null)), {
660
+ }) => channelWrapper.publish(exchange, "", Buffer.from(JSON.stringify(data ?? null)), {
661
661
  correlationId: messageId,
662
662
  contentType: "application/json",
663
663
  persistent: true,
@@ -665,17 +665,18 @@ function createConnection({
665
665
  headers: {
666
666
  outputName: outputName ?? null,
667
667
  connectionId,
668
- libVersion: "javascript@1.0.0-alpha.38",
668
+ libVersion: "javascript@1.0.0-alpha.39",
669
669
  ...headers
670
670
  }
671
671
  });
672
672
  const generatorTerminators = new Map;
673
673
  const callbacks = new Map;
674
- channel.waitForConnect().then(() => channel.assertQueue(backchannelQueue, {
675
- exclusive: true
676
- })).then(() => {
677
- channel.bindQueue(backchannelQueue, "service", backchannelQueue);
678
- channel.consume(backchannelQueue, async (message) => {
674
+ channelWrapper.addSetup(async (channel) => {
675
+ await channel.assertQueue(backchannelQueue, {
676
+ exclusive: true
677
+ });
678
+ await channel.bindQueue(backchannelQueue, "service", backchannelQueue);
679
+ await channel.consume(backchannelQueue, async (message) => {
679
680
  const result = backchannelMessageSchema.safeParse(message);
680
681
  if (!result.success) {
681
682
  return;
@@ -695,215 +696,220 @@ function createConnection({
695
696
  noAck: true
696
697
  });
697
698
  });
698
- channel.consume(queue, async (message) => {
699
- let publishIndex = 0;
700
- const donePromises = [];
701
- const registeredCallbackIds = new Set;
702
- let removeActiveMessage = () => {};
703
- const { messageId, taskId } = headerSchema.parse(message);
704
- try {
705
- let deferred = false;
706
- let deferredReason = null;
707
- activeMessages.add(messageId);
708
- removeActiveMessage = () => activeMessages.delete(messageId);
709
- const payload = payloadSchema.parse(message);
710
- const [extendedContext, terminatePromise] = createContextHelper({
711
- taskId,
712
- input: mapInput(payload.input),
713
- configuration: mapInput(payload.configuration),
714
- onLog(debugMethod, data) {
715
- publish({
716
- index: publishIndex++,
717
- version,
718
- messageId,
719
- taskId,
720
- data,
721
- debugMethod,
722
- priority: message.properties.priority,
723
- debug: true
724
- });
725
- },
726
- onDefer(reason) {
727
- deferred = true;
728
- deferredReason = reason || null;
729
- return obfuscate(taskId, messageId, payload.options.uploadUrl ?? "", payload.options.streamUrl ?? "");
730
- },
731
- onCallback(params) {
732
- publish({
733
- index: 0,
734
- version,
735
- taskId,
736
- messageId,
737
- data: params.arg,
738
- outputName: params.outputName,
739
- connectionId: params.sourceId,
740
- callbackId: params.callbackId,
741
- propertyPath: params.propertyPath
742
- });
743
- }
744
- });
745
- await publish({
746
- index: publishIndex++,
747
- version,
748
- messageId,
749
- taskId,
750
- priority: message.properties.priority,
751
- begin: true
752
- });
753
- if (isMessageHandlerGenerator(messageHandler)) {
754
- const generator = messageHandler(extendedContext);
755
- const terminationPromise = createRemotePromise();
756
- generatorTerminators.set(messageId, (reason) => {
757
- generator.return();
758
- terminationPromise.resolve(abortSymbol);
759
- terminatePromise.resolve(reason);
699
+ channelWrapper.addSetup(async (channel) => {
700
+ channel.consume(queue, async (message) => {
701
+ if (!message) {
702
+ return;
703
+ }
704
+ let publishIndex = 0;
705
+ const donePromises = [];
706
+ const registeredCallbackIds = new Set;
707
+ let removeActiveMessage = () => {};
708
+ const { messageId, taskId } = headerSchema.parse(message);
709
+ try {
710
+ let deferred = false;
711
+ let deferredReason = null;
712
+ activeMessages.add(messageId);
713
+ removeActiveMessage = () => activeMessages.delete(messageId);
714
+ const payload = payloadSchema.parse(message);
715
+ const [extendedContext, terminatePromise] = createContextHelper({
716
+ taskId,
717
+ input: mapInput(payload.input),
718
+ configuration: mapInput(payload.configuration),
719
+ onLog(debugMethod, data) {
720
+ publish({
721
+ index: publishIndex++,
722
+ version,
723
+ messageId,
724
+ taskId,
725
+ data,
726
+ debugMethod,
727
+ priority: message.properties.priority,
728
+ debug: true
729
+ });
730
+ },
731
+ onDefer(reason) {
732
+ deferred = true;
733
+ deferredReason = reason || null;
734
+ return obfuscate(taskId, messageId, payload.options.uploadUrl ?? "", payload.options.streamUrl ?? "");
735
+ },
736
+ onCallback(params) {
737
+ publish({
738
+ index: 0,
739
+ version,
740
+ taskId,
741
+ messageId,
742
+ data: params.arg,
743
+ outputName: params.outputName,
744
+ connectionId: params.sourceId,
745
+ callbackId: params.callbackId,
746
+ propertyPath: params.propertyPath
747
+ });
748
+ }
760
749
  });
761
- await handlerStorage.run(extendedContext, async () => {
762
- while (true) {
763
- const next = await Promise.race([
764
- terminationPromise,
765
- generator.next()
766
- ]);
767
- if (next === abortSymbol) {
768
- break;
769
- }
770
- const { value: result, done } = next;
771
- if (deferred) {
772
- deferred = false;
773
- console.warn("returning a value in a deferred message resets the deferred status");
774
- }
775
- const donePromise = createRemotePromise();
776
- donePromises.push(donePromise);
777
- const { value, outputName } = await unwrapResult({
778
- result,
779
- options: payload.options,
780
- onDone: donePromise.resolve,
781
- onCallback: (callback) => {
782
- const callbackId = crypto.randomUUID();
783
- registeredCallbackIds.add(callbackId);
784
- callbacks.set(callbackId, callback);
785
- return {
786
- sourceId: connectionId,
787
- callbackId
788
- };
750
+ await publish({
751
+ index: publishIndex++,
752
+ version,
753
+ messageId,
754
+ taskId,
755
+ priority: message.properties.priority,
756
+ begin: true
757
+ });
758
+ if (isMessageHandlerGenerator(messageHandler)) {
759
+ const generator = messageHandler(extendedContext);
760
+ const terminationPromise = createRemotePromise();
761
+ generatorTerminators.set(messageId, (reason) => {
762
+ generator.return();
763
+ terminationPromise.resolve(abortSymbol);
764
+ terminatePromise.resolve(reason);
765
+ });
766
+ await handlerStorage.run(extendedContext, async () => {
767
+ while (true) {
768
+ const next = await Promise.race([
769
+ terminationPromise,
770
+ generator.next()
771
+ ]);
772
+ if (next === abortSymbol) {
773
+ break;
789
774
  }
790
- });
791
- if (!done || typeof value !== "undefined") {
792
- publish({
793
- index: publishIndex++,
794
- version,
795
- messageId,
796
- taskId,
797
- data: value,
798
- priority: message.properties.priority,
799
- outputName
775
+ const { value: result, done } = next;
776
+ if (deferred) {
777
+ deferred = false;
778
+ console.warn("returning a value in a deferred message resets the deferred status");
779
+ }
780
+ const donePromise = createRemotePromise();
781
+ donePromises.push(donePromise);
782
+ const { value, outputName } = await unwrapResult({
783
+ result,
784
+ options: payload.options,
785
+ onDone: donePromise.resolve,
786
+ onCallback: (callback) => {
787
+ const callbackId = crypto.randomUUID();
788
+ registeredCallbackIds.add(callbackId);
789
+ callbacks.set(callbackId, callback);
790
+ return {
791
+ sourceId: connectionId,
792
+ callbackId
793
+ };
794
+ }
800
795
  });
796
+ if (!done || typeof value !== "undefined") {
797
+ publish({
798
+ index: publishIndex++,
799
+ version,
800
+ messageId,
801
+ taskId,
802
+ data: value,
803
+ priority: message.properties.priority,
804
+ outputName
805
+ });
806
+ }
807
+ if (done) {
808
+ break;
809
+ }
801
810
  }
802
- if (done) {
803
- break;
811
+ });
812
+ } else {
813
+ const result = await handlerStorage.run(extendedContext, () => messageHandler(extendedContext));
814
+ const donePromise = createRemotePromise();
815
+ donePromises.push(donePromise);
816
+ const { value, outputName } = await unwrapResult({
817
+ result,
818
+ options: payload.options,
819
+ onDone: donePromise.resolve,
820
+ onCallback: () => {
821
+ throw new Error("callbacks can only be used in generator functions");
804
822
  }
823
+ });
824
+ if (deferred && value) {
825
+ console.warn("returning a value in a deferred message resets the deferred status");
826
+ deferred = false;
805
827
  }
806
- });
807
- } else {
808
- const result = await handlerStorage.run(extendedContext, () => messageHandler(extendedContext));
809
- const donePromise = createRemotePromise();
810
- donePromises.push(donePromise);
811
- const { value, outputName } = await unwrapResult({
812
- result,
813
- options: payload.options,
814
- onDone: donePromise.resolve,
815
- onCallback: () => {
816
- throw new Error("callbacks can only be used in generator functions");
828
+ if (!deferred || value) {
829
+ publish({
830
+ index: publishIndex++,
831
+ version,
832
+ messageId,
833
+ taskId,
834
+ data: value,
835
+ priority: message.properties.priority,
836
+ outputName
837
+ });
817
838
  }
818
- });
819
- if (deferred && value) {
820
- console.warn("returning a value in a deferred message resets the deferred status");
821
- deferred = false;
822
839
  }
823
- if (!deferred || value) {
840
+ setImmediate(async () => {
841
+ if (!deferred) {
842
+ await Promise.allSettled(donePromises);
843
+ }
824
844
  publish({
825
845
  index: publishIndex++,
826
846
  version,
827
847
  messageId,
828
848
  taskId,
829
- data: value,
849
+ data: deferredReason,
830
850
  priority: message.properties.priority,
831
- outputName
851
+ deferred,
852
+ done: !deferred
832
853
  });
854
+ channel.ack(message);
855
+ });
856
+ } catch (error) {
857
+ if (error instanceof SkipError) {
858
+ channel.nack(message);
859
+ return;
833
860
  }
834
- }
835
- setImmediate(async () => {
836
- if (!deferred) {
837
- await Promise.allSettled(donePromises);
861
+ if (error instanceof RetryError) {
862
+ channel.ack(message);
863
+ const properties = {
864
+ ...message.properties,
865
+ expiration: error.delay || 1000
866
+ };
867
+ channel.publish(`${exchange}-retry`, version, message.content, properties);
868
+ return;
838
869
  }
839
- publish({
840
- index: publishIndex++,
841
- version,
842
- messageId,
843
- taskId,
844
- data: deferredReason,
845
- priority: message.properties.priority,
846
- deferred,
847
- done: !deferred
848
- });
849
- channel.ack(message);
850
- });
851
- } catch (error) {
852
- if (error instanceof SkipError) {
853
- channel.nack(message);
854
- return;
855
- }
856
- if (error instanceof RetryError) {
857
- channel.ack(message);
858
- const properties = {
859
- ...message.properties,
860
- expiration: error.delay || 1000
861
- };
862
- channel.publish(`${exchange}-retry`, version, message.content, properties);
863
- return;
864
- }
865
- if (error instanceof AbortError && error.message.length > 0) {
866
- channel.ack(message);
867
- channel.publish(`${exchange}-retry`, "operator", error.message, {
868
- ...message.properties,
869
- contentType: "text/plain",
870
- headers: {
871
- ...message.properties.headers,
872
- index: publishIndex++,
873
- libVersion: "javascript@1.0.0-alpha.38",
874
- abort: true
875
- }
876
- });
877
- return;
878
- }
879
- if (error instanceof Error) {
880
- if (!silent) {
881
- console.error(`Encountered an error inside service handler:`);
882
- console.error(error);
870
+ if (error instanceof AbortError && error.message.length > 0) {
871
+ channelWrapper.ack(message);
872
+ channelWrapper.publish(`${exchange}-retry`, "operator", error.message, {
873
+ ...message.properties,
874
+ contentType: "text/plain",
875
+ headers: {
876
+ ...message.properties.headers,
877
+ index: publishIndex++,
878
+ libVersion: "javascript@1.0.0-alpha.39",
879
+ abort: true
880
+ }
881
+ });
882
+ return;
883
883
  }
884
- channel.ack(message);
885
- channel.publish(`${exchange}-retry`, "operator", message.content, {
886
- ...message.properties,
887
- headers: {
888
- ...message.properties.headers,
889
- version,
890
- exception: true,
891
- index: publishIndex++,
892
- libVersion: "javascript@1.0.0-alpha.38",
893
- "error-message": error.message || "error in service handler"
884
+ if (error instanceof Error) {
885
+ if (!silent) {
886
+ console.error(`Encountered an error inside service handler:`);
887
+ console.error(error);
894
888
  }
895
- });
896
- return;
889
+ channel.ack(message);
890
+ channel.publish(`${exchange}-retry`, "operator", message.content, {
891
+ ...message.properties,
892
+ headers: {
893
+ ...message.properties.headers,
894
+ version,
895
+ exception: true,
896
+ index: publishIndex++,
897
+ libVersion: "javascript@1.0.0-alpha.39",
898
+ "error-message": error.message || "error in service handler"
899
+ }
900
+ });
901
+ return;
902
+ }
903
+ } finally {
904
+ generatorTerminators.delete(messageId);
905
+ registeredCallbackIds.forEach((id) => callbacks.delete(id));
906
+ removeActiveMessage();
897
907
  }
898
- } finally {
899
- generatorTerminators.delete(messageId);
900
- registeredCallbackIds.forEach((id) => callbacks.delete(id));
901
- removeActiveMessage();
902
- }
908
+ });
903
909
  });
904
910
  const api = {
905
911
  close: async () => {
906
- await channel.close();
912
+ await channelWrapper.close();
907
913
  await connection.close();
908
914
  },
909
915
  open: () => connectedPromise.then(() => api),
@@ -973,7 +979,7 @@ function createConnection({
973
979
  },
974
980
  abort(error) {
975
981
  checkActiveMessage();
976
- channel.publish(`${exchange}-retry`, "operator", error instanceof Error ? error.message : error, {
982
+ channelWrapper.publish(`${exchange}-retry`, "operator", error instanceof Error ? error.message : error, {
977
983
  persistent: true,
978
984
  correlationId: messageId,
979
985
  expiration: 0,
@@ -981,7 +987,7 @@ function createConnection({
981
987
  contentType: "text/plain",
982
988
  headers: {
983
989
  taskId,
984
- libVersion: "javascript@1.0.0-alpha.38",
990
+ libVersion: "javascript@1.0.0-alpha.39",
985
991
  index: publishIndex++,
986
992
  abort: true
987
993
  }
@@ -1141,5 +1147,5 @@ export {
1141
1147
  RequenceFile
1142
1148
  };
1143
1149
 
1144
- //# debugId=273749A56937938E64756E2164756E21
1150
+ //# debugId=060ABB1D5ED9646F64756E2164756E21
1145
1151
  //# sourceMappingURL=index.js.map
@@ -13,12 +13,12 @@
13
13
  "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",
14
14
  "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",
15
15
  "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",
16
- "import {\n type RemotePromise,\n createRemotePromise,\n deobfuscate,\n obfuscate,\n} from '@requence/helpers'\nimport {\n type AmqpConnectionManagerOptions,\n type Options,\n connect,\n} from 'amqp-connection-manager'\nimport type { ConfirmChannel } from 'amqplib'\nimport { z } from 'zod/v4'\n\nimport createContextHelper, {\n AbortError,\n type ContextHelper,\n type JSONValue,\n RetryError,\n SkipError,\n handlerStorage,\n processData,\n unwrapResult,\n} from './helpers.ts'\nimport { libVersion } from './macro.ts' with { type: 'macro' }\nimport mapInput from './mapInput.ts'\n\ntype Input<V extends keyof RequenceService.Version> =\n RequenceService.Version[V]['input']\ntype Configuration<V extends keyof RequenceService.Version> =\n RequenceService.Version[V]['configuration']\ntype OutputName<\n V extends keyof RequenceService.Version,\n K = keyof RequenceService.Version[V]['outputs'],\n> = K extends '__default__' ? null : K\n\ntype OutputValue<\n V extends keyof RequenceService.Version,\n O extends OutputName<V> | null,\n> = RequenceService.Version[V]['outputs'][O extends null ? '__default__' : O]\n\ninterface ServiceContextHelper<V extends keyof RequenceService.Version>\n extends Omit<\n ContextHelper,\n 'input' | 'configuration' | 'getData' | 'getConfiguration' | 'toOutput'\n > {\n input: Input<V>\n configuration: Configuration<V>\n\n toOutput<O extends OutputName<V>>(\n name: O,\n value: OutputValue<V, O>,\n ): '__output_value__'\n}\n\ntype ReturnValue<V extends keyof RequenceService.Version> =\n | ReturnType<ServiceContextHelper<V>['toOutput']>\n | OutputValue<V, null>\n | '__output_value__'\n\ntype ApiOutputName<V> = V extends keyof RequenceService.Version\n ? OutputName<V>\n : string | null\ntype ApiOutputValue<V, O> = V extends keyof RequenceService.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.tuple([z.uuid(), z.uuid()]).rest(z.string()))\n .transform((arr) => ({\n taskId: arr[0],\n messageId: arr[1],\n uploadUrl: arr[2] || undefined,\n streamUrl: arr[3] || undefined,\n }))\n\nconst headerSchema = z\n .object({\n properties: z.object({\n correlationId: z.uuid(),\n headers: z.object({\n taskId: z.uuid(),\n }),\n }),\n })\n .transform((msg) => ({\n messageId: msg.properties.correlationId,\n taskId: msg.properties.headers.taskId,\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 input: z.unknown(),\n configuration: z.unknown(),\n options: z.object({\n uploadUrl: z.url().optional(),\n streamUrl: z.url().optional(),\n }),\n }),\n )\n\nconst backchannelMessageSchema = z\n .object({\n content: z\n .instanceof(Buffer)\n .transform((content) => JSON.parse(content.toString()))\n .pipe(\n z.discriminatedUnion('type', [\n z.object({\n type: z.literal('stop'),\n }),\n z.object({\n type: z.literal('callback'),\n callbackId: z.uuid(),\n arg: z.any(),\n }),\n ]),\n ),\n properties: z.object({\n correlationId: z.string(),\n }),\n })\n .transform((message) => ({\n payload: message.content,\n messageId: message.properties.correlationId,\n }))\n\nconst abortSymbol = Symbol()\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 connectionOptions?: AmqpConnectionManagerOptions['connectionOptions']\n}\n\ntype MessageHandlerContext<V> = V extends keyof RequenceService.Version\n ? ServiceContextHelper<V>\n : ContextHelper\ntype MessageHandlerReturnValue<V> = V extends keyof RequenceService.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<\n MessageHandlerReturnValue<V>,\n MessageHandlerReturnValue<V> | void,\n void\n>\ntype MessageHandlerAsyncGenerator<V> = (\n context: MessageHandlerContext<V>,\n) => AsyncGenerator<\n MessageHandlerReturnValue<V>,\n MessageHandlerReturnValue<V> | void,\n void\n>\n\nexport type MessageHandler<V> = V extends keyof RequenceService.Version\n ? RequenceService.Version[V]['mode'] extends 'linear'\n ? MessageHandlerFunction<V>\n :\n | MessageHandlerAsyncGenerator<V>\n | MessageHandlerGenerator<V>\n | MessageHandlerFunction<V>\n :\n | MessageHandlerAsyncGenerator<V>\n | MessageHandlerGenerator<V>\n | MessageHandlerFunction<V>\n\nfunction isMessageHandlerGenerator<V extends keyof RequenceService.Version>(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n handler: Function,\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 }: ConnectionOptions,\n messageHandler: MessageHandler<V>,\n) {\n const queue = `${url.username}@${version}`\n const exchange = url.username\n const connection = connect(url.toString(), { connectionOptions })\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 connectionId = crypto.randomUUID()\n const backchannelQueue = `${queue}-backchannel-${connectionId}`\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 priority,\n ...headers\n }: {\n index: number\n data?: unknown\n outputName?: string | null\n messageId: string\n taskId: string\n priority?: number\n version: string\n debugMethod?: 'log' | 'warn' | 'info' | 'error'\n debug?: boolean\n connectionId?: string\n callbackId?: string\n propertyPath?: (string | number)[]\n begin?: boolean\n deferred?: boolean\n done?: boolean\n }) =>\n channel.publish(exchange, '', Buffer.from(JSON.stringify(data ?? null)), {\n correlationId: messageId,\n contentType: 'application/json',\n persistent: true,\n priority,\n headers: {\n outputName: outputName ?? null,\n connectionId,\n libVersion: libVersion(),\n ...headers,\n },\n })\n\n const generatorTerminators = new Map<string, (reason: string) => void>()\n const callbacks = new Map<string, (...args: any[]) => void>()\n\n channel\n .waitForConnect()\n .then(() =>\n channel.assertQueue(backchannelQueue, {\n exclusive: true,\n }),\n )\n .then(() => {\n channel.bindQueue(backchannelQueue, 'service', backchannelQueue)\n channel.consume(\n backchannelQueue,\n async (message) => {\n const result = backchannelMessageSchema.safeParse(message)\n\n if (!result.success) {\n return\n }\n\n const backchannelMessage = result.data\n\n switch (backchannelMessage.payload.type) {\n case 'stop': {\n generatorTerminators.get(backchannelMessage.messageId)?.(\n 'task stopped',\n )\n break\n }\n case 'callback': {\n callbacks.get(backchannelMessage.payload.callbackId)?.(\n backchannelMessage.payload.arg,\n )\n break\n }\n }\n },\n {\n noAck: true,\n },\n )\n })\n\n channel.consume(queue, async (message) => {\n let publishIndex = 0\n const donePromises: Array<Promise<void>> = []\n const registeredCallbackIds = new Set<string>()\n let removeActiveMessage = () => {}\n\n const { messageId, taskId } = headerSchema.parse(message)\n\n try {\n let deferred = false\n let deferredReason: string | null = null\n\n activeMessages.add(messageId)\n removeActiveMessage = () => activeMessages.delete(messageId)\n\n const payload = payloadSchema.parse(message)\n\n const [extendedContext, terminatePromise] = createContextHelper({\n taskId,\n input: mapInput(payload.input),\n configuration: mapInput(payload.configuration),\n onLog(debugMethod, data) {\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data,\n debugMethod,\n priority: message.properties.priority,\n debug: true,\n })\n },\n onDefer(reason) {\n deferred = true\n deferredReason = reason || null\n\n return obfuscate(\n taskId,\n messageId,\n payload.options.uploadUrl ?? '',\n payload.options.streamUrl ?? '',\n )\n },\n onCallback(params) {\n publish({\n index: 0,\n version,\n taskId,\n messageId,\n data: params.arg,\n outputName: params.outputName,\n connectionId: params.sourceId,\n callbackId: params.callbackId,\n propertyPath: params.propertyPath,\n })\n },\n }) as unknown as [MessageHandlerContext<V>, RemotePromise<string>]\n\n await publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n priority: message.properties.priority,\n begin: true,\n })\n\n if (isMessageHandlerGenerator(messageHandler)) {\n const generator = messageHandler(extendedContext)\n const terminationPromise = createRemotePromise<typeof abortSymbol>()\n generatorTerminators.set(messageId, (reason) => {\n generator.return()\n terminationPromise.resolve(abortSymbol)\n terminatePromise.resolve(reason)\n })\n\n await handlerStorage.run(extendedContext as ContextHelper, async () => {\n while (true) {\n const next = await Promise.race([\n terminationPromise,\n generator.next(),\n ])\n if (next === abortSymbol) {\n break\n }\n\n const { value: result, done } = next\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 options: payload.options,\n onDone: donePromise.resolve,\n onCallback: (callback) => {\n const callbackId = crypto.randomUUID()\n registeredCallbackIds.add(callbackId)\n callbacks.set(callbackId, callback)\n return {\n sourceId: connectionId,\n callbackId,\n }\n },\n })\n\n if (!done || typeof value !== 'undefined') {\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: value,\n priority: message.properties.priority,\n outputName,\n })\n }\n\n if (done) {\n break\n }\n }\n })\n } else {\n const result = await handlerStorage.run(\n extendedContext as ContextHelper,\n () => messageHandler(extendedContext),\n )\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n const { value, outputName } = await unwrapResult({\n result,\n options: payload.options,\n onDone: donePromise.resolve,\n onCallback: () => {\n throw new Error('callbacks can only be used in generator functions')\n },\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 index: publishIndex++,\n version,\n messageId,\n taskId,\n data: value,\n priority: message.properties.priority,\n outputName,\n })\n }\n }\n\n setImmediate(async () => {\n if (!deferred) {\n await Promise.allSettled(donePromises)\n }\n\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: deferredReason,\n priority: message.properties.priority,\n deferred,\n done: !deferred,\n })\n\n channel.ack(message)\n })\n } catch (error) {\n if (error instanceof SkipError) {\n channel.nack(message)\n return\n }\n if (error instanceof RetryError) {\n channel.ack(message)\n const properties: Options.Publish = {\n ...message.properties,\n expiration: error.delay || 1_000, // 1s\n }\n channel.publish(\n `${exchange}-retry`,\n version, // to other services\n message.content,\n properties,\n )\n\n return\n }\n\n if (error instanceof AbortError && error.message.length > 0) {\n channel.ack(message)\n channel.publish(\n `${exchange}-retry`,\n 'operator', //back to operator\n error.message,\n {\n ...message.properties,\n contentType: 'text/plain',\n headers: {\n ...message.properties.headers,\n index: publishIndex++,\n libVersion: libVersion(),\n abort: true,\n },\n },\n )\n\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.ack(message)\n channel.publish(\n `${exchange}-retry`,\n 'operator', // back to operator\n message.content,\n {\n ...message.properties,\n headers: {\n ...message.properties.headers,\n version,\n exception: true,\n index: publishIndex++,\n libVersion: libVersion(),\n 'error-message': error.message || 'error in service handler',\n },\n },\n )\n\n return\n }\n } finally {\n generatorTerminators.delete(messageId)\n registeredCallbackIds.forEach((id) => callbacks.delete(id))\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 let publishIndex = 0\n const { taskId, messageId, ...options } =\n messageKeySchema.parse(messageKey)\n\n const checkActiveMessage = () => {\n if (activeMessages.has(messageId)) {\n throw new Error(\n 'Cannot send deferred message while callback handler is still running',\n )\n }\n }\n\n const registeredCallbackIds = new Set<string>()\n const donePromises: Array<Promise<void>> = []\n\n await actor({\n async sendToOutput(outputName, data) {\n checkActiveMessage()\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: await processData({\n outputName: outputName as string | null,\n data,\n options,\n onDone: donePromise.resolve,\n onCallback: (callback) => {\n const callbackId = crypto.randomUUID()\n registeredCallbackIds.add(callbackId)\n callbacks.set(callbackId, callback)\n\n return {\n sourceId: connectionId,\n callbackId,\n }\n },\n }),\n outputName: outputName as string | null,\n })\n },\n async send(data) {\n checkActiveMessage()\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: await processData({\n outputName: null,\n data,\n options,\n onDone: donePromise.resolve,\n onCallback: (callback) => {\n const callbackId = crypto.randomUUID()\n registeredCallbackIds.add(callbackId)\n callbacks.set(callbackId, callback)\n return {\n sourceId: connectionId,\n callbackId,\n }\n },\n }),\n })\n },\n abort(error) {\n checkActiveMessage()\n channel.publish(\n `${exchange}-retry`,\n 'operator',\n error instanceof Error ? error.message : error,\n {\n persistent: true,\n correlationId: messageId,\n expiration: 0,\n priority: 0,\n contentType: 'text/plain',\n headers: {\n taskId,\n libVersion: libVersion(),\n index: publishIndex++,\n abort: true,\n },\n },\n )\n },\n })\n\n setImmediate(async () => {\n await Promise.allSettled(donePromises)\n\n registeredCallbackIds.forEach((id) => callbacks.delete(id))\n\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n done: true,\n })\n })\n },\n }\n return api\n}\n",
16
+ "import {\n type RemotePromise,\n createRemotePromise,\n deobfuscate,\n obfuscate,\n} from '@requence/helpers'\nimport {\n type AmqpConnectionManagerOptions,\n type Options,\n connect,\n} from 'amqp-connection-manager'\nimport type { ConfirmChannel } from 'amqplib'\nimport { z } from 'zod/v4'\n\nimport createContextHelper, {\n AbortError,\n type ContextHelper,\n type JSONValue,\n RetryError,\n SkipError,\n handlerStorage,\n processData,\n unwrapResult,\n} from './helpers.ts'\nimport { libVersion } from './macro.ts' with { type: 'macro' }\nimport mapInput from './mapInput.ts'\n\ntype Input<V extends keyof RequenceService.Version> =\n RequenceService.Version[V]['input']\ntype Configuration<V extends keyof RequenceService.Version> =\n RequenceService.Version[V]['configuration']\ntype OutputName<\n V extends keyof RequenceService.Version,\n K = keyof RequenceService.Version[V]['outputs'],\n> = K extends '__default__' ? null : K\n\ntype OutputValue<\n V extends keyof RequenceService.Version,\n O extends OutputName<V> | null,\n> = RequenceService.Version[V]['outputs'][O extends null ? '__default__' : O]\n\ninterface ServiceContextHelper<V extends keyof RequenceService.Version>\n extends Omit<\n ContextHelper,\n 'input' | 'configuration' | 'getData' | 'getConfiguration' | 'toOutput'\n > {\n input: Input<V>\n configuration: Configuration<V>\n\n toOutput<O extends OutputName<V>>(\n name: O,\n value: OutputValue<V, O>,\n ): '__output_value__'\n}\n\ntype ReturnValue<V extends keyof RequenceService.Version> =\n | ReturnType<ServiceContextHelper<V>['toOutput']>\n | OutputValue<V, null>\n | '__output_value__'\n\ntype ApiOutputName<V> = V extends keyof RequenceService.Version\n ? OutputName<V>\n : string | null\ntype ApiOutputValue<V, O> = V extends keyof RequenceService.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.tuple([z.uuid(), z.uuid()]).rest(z.string()))\n .transform((arr) => ({\n taskId: arr[0],\n messageId: arr[1],\n uploadUrl: arr[2] || undefined,\n streamUrl: arr[3] || undefined,\n }))\n\nconst headerSchema = z\n .object({\n properties: z.object({\n correlationId: z.uuid(),\n headers: z.object({\n taskId: z.uuid(),\n }),\n }),\n })\n .transform((msg) => ({\n messageId: msg.properties.correlationId,\n taskId: msg.properties.headers.taskId,\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 input: z.unknown(),\n configuration: z.unknown(),\n options: z.object({\n uploadUrl: z.url().optional(),\n streamUrl: z.url().optional(),\n }),\n }),\n )\n\nconst backchannelMessageSchema = z\n .object({\n content: z\n .instanceof(Buffer)\n .transform((content) => JSON.parse(content.toString()))\n .pipe(\n z.discriminatedUnion('type', [\n z.object({\n type: z.literal('stop'),\n }),\n z.object({\n type: z.literal('callback'),\n callbackId: z.uuid(),\n arg: z.any(),\n }),\n ]),\n ),\n properties: z.object({\n correlationId: z.string(),\n }),\n })\n .transform((message) => ({\n payload: message.content,\n messageId: message.properties.correlationId,\n }))\n\nconst abortSymbol = Symbol()\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 connectionOptions?: AmqpConnectionManagerOptions['connectionOptions']\n}\n\ntype MessageHandlerContext<V> = V extends keyof RequenceService.Version\n ? ServiceContextHelper<V>\n : ContextHelper\ntype MessageHandlerReturnValue<V> = V extends keyof RequenceService.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<\n MessageHandlerReturnValue<V>,\n MessageHandlerReturnValue<V> | void,\n void\n>\ntype MessageHandlerAsyncGenerator<V> = (\n context: MessageHandlerContext<V>,\n) => AsyncGenerator<\n MessageHandlerReturnValue<V>,\n MessageHandlerReturnValue<V> | void,\n void\n>\n\nexport type MessageHandler<V> = V extends keyof RequenceService.Version\n ? RequenceService.Version[V]['mode'] extends 'linear'\n ? MessageHandlerFunction<V>\n :\n | MessageHandlerAsyncGenerator<V>\n | MessageHandlerGenerator<V>\n | MessageHandlerFunction<V>\n :\n | MessageHandlerAsyncGenerator<V>\n | MessageHandlerGenerator<V>\n | MessageHandlerFunction<V>\n\nfunction isMessageHandlerGenerator<V extends keyof RequenceService.Version>(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n handler: Function,\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 }: ConnectionOptions,\n messageHandler: MessageHandler<V>,\n) {\n const queue = `${url.username}@${version}`\n const exchange = url.username\n const connection = connect(url.toString(), { connectionOptions })\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 connectionId = crypto.randomUUID()\n const backchannelQueue = `${queue}-backchannel-${connectionId}`\n const channelWrapper = 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 priority,\n ...headers\n }: {\n index: number\n data?: unknown\n outputName?: string | null\n messageId: string\n taskId: string\n priority?: number\n version: string\n debugMethod?: 'log' | 'warn' | 'info' | 'error'\n debug?: boolean\n connectionId?: string\n callbackId?: string\n propertyPath?: (string | number)[]\n begin?: boolean\n deferred?: boolean\n done?: boolean\n }) =>\n channelWrapper.publish(\n exchange,\n '',\n Buffer.from(JSON.stringify(data ?? null)),\n {\n correlationId: messageId,\n contentType: 'application/json',\n persistent: true,\n priority,\n headers: {\n outputName: outputName ?? null,\n connectionId,\n libVersion: libVersion(),\n ...headers,\n },\n },\n )\n\n const generatorTerminators = new Map<string, (reason: string) => void>()\n const callbacks = new Map<string, (...args: any[]) => void>()\n\n channelWrapper.addSetup(async (channel: ConfirmChannel) => {\n await channel.assertQueue(backchannelQueue, {\n exclusive: true,\n })\n\n await channel.bindQueue(backchannelQueue, 'service', backchannelQueue)\n\n await channel.consume(\n backchannelQueue,\n async (message) => {\n const result = backchannelMessageSchema.safeParse(message)\n\n if (!result.success) {\n return\n }\n\n const backchannelMessage = result.data\n\n switch (backchannelMessage.payload.type) {\n case 'stop': {\n generatorTerminators.get(backchannelMessage.messageId)?.(\n 'task stopped',\n )\n break\n }\n case 'callback': {\n callbacks.get(backchannelMessage.payload.callbackId)?.(\n backchannelMessage.payload.arg,\n )\n break\n }\n }\n },\n {\n noAck: true,\n },\n )\n })\n\n channelWrapper.addSetup(async (channel: ConfirmChannel) => {\n channel.consume(queue, async (message) => {\n if (!message) {\n return\n }\n\n let publishIndex = 0\n const donePromises: Array<Promise<void>> = []\n const registeredCallbackIds = new Set<string>()\n let removeActiveMessage = () => {}\n\n const { messageId, taskId } = headerSchema.parse(message)\n\n try {\n let deferred = false\n let deferredReason: string | null = null\n\n activeMessages.add(messageId)\n removeActiveMessage = () => activeMessages.delete(messageId)\n\n const payload = payloadSchema.parse(message)\n\n const [extendedContext, terminatePromise] = createContextHelper({\n taskId,\n input: mapInput(payload.input),\n configuration: mapInput(payload.configuration),\n onLog(debugMethod, data) {\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data,\n debugMethod,\n priority: message.properties.priority,\n debug: true,\n })\n },\n onDefer(reason) {\n deferred = true\n deferredReason = reason || null\n\n return obfuscate(\n taskId,\n messageId,\n payload.options.uploadUrl ?? '',\n payload.options.streamUrl ?? '',\n )\n },\n onCallback(params) {\n publish({\n index: 0,\n version,\n taskId,\n messageId,\n data: params.arg,\n outputName: params.outputName,\n connectionId: params.sourceId,\n callbackId: params.callbackId,\n propertyPath: params.propertyPath,\n })\n },\n }) as unknown as [MessageHandlerContext<V>, RemotePromise<string>]\n\n await publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n priority: message.properties.priority,\n begin: true,\n })\n\n if (isMessageHandlerGenerator(messageHandler)) {\n const generator = messageHandler(extendedContext)\n const terminationPromise = createRemotePromise<typeof abortSymbol>()\n generatorTerminators.set(messageId, (reason) => {\n generator.return()\n terminationPromise.resolve(abortSymbol)\n terminatePromise.resolve(reason)\n })\n\n await handlerStorage.run(\n extendedContext as ContextHelper,\n async () => {\n while (true) {\n const next = await Promise.race([\n terminationPromise,\n generator.next(),\n ])\n if (next === abortSymbol) {\n break\n }\n\n const { value: result, done } = next\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 options: payload.options,\n onDone: donePromise.resolve,\n onCallback: (callback) => {\n const callbackId = crypto.randomUUID()\n registeredCallbackIds.add(callbackId)\n callbacks.set(callbackId, callback)\n return {\n sourceId: connectionId,\n callbackId,\n }\n },\n })\n\n if (!done || typeof value !== 'undefined') {\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: value,\n priority: message.properties.priority,\n outputName,\n })\n }\n\n if (done) {\n break\n }\n }\n },\n )\n } else {\n const result = await handlerStorage.run(\n extendedContext as ContextHelper,\n () => messageHandler(extendedContext),\n )\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n const { value, outputName } = await unwrapResult({\n result,\n options: payload.options,\n onDone: donePromise.resolve,\n onCallback: () => {\n throw new Error(\n 'callbacks can only be used in generator functions',\n )\n },\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 index: publishIndex++,\n version,\n messageId,\n taskId,\n data: value,\n priority: message.properties.priority,\n outputName,\n })\n }\n }\n\n setImmediate(async () => {\n if (!deferred) {\n await Promise.allSettled(donePromises)\n }\n\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: deferredReason,\n priority: message.properties.priority,\n deferred,\n done: !deferred,\n })\n\n channel.ack(message)\n })\n } catch (error) {\n if (error instanceof SkipError) {\n channel.nack(message)\n return\n }\n if (error instanceof RetryError) {\n channel.ack(message)\n const properties: Options.Publish = {\n ...message.properties,\n expiration: error.delay || 1_000, // 1s\n }\n channel.publish(\n `${exchange}-retry`,\n version, // to other services\n message.content,\n properties,\n )\n\n return\n }\n\n if (error instanceof AbortError && error.message.length > 0) {\n channelWrapper.ack(message)\n channelWrapper.publish(\n `${exchange}-retry`,\n 'operator', //back to operator\n error.message,\n {\n ...message.properties,\n contentType: 'text/plain',\n headers: {\n ...message.properties.headers,\n index: publishIndex++,\n libVersion: libVersion(),\n abort: true,\n },\n },\n )\n\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.ack(message)\n channel.publish(\n `${exchange}-retry`,\n 'operator', // back to operator\n message.content,\n {\n ...message.properties,\n headers: {\n ...message.properties.headers,\n version,\n exception: true,\n index: publishIndex++,\n libVersion: libVersion(),\n 'error-message': error.message || 'error in service handler',\n },\n },\n )\n\n return\n }\n } finally {\n generatorTerminators.delete(messageId)\n registeredCallbackIds.forEach((id) => callbacks.delete(id))\n removeActiveMessage()\n }\n })\n })\n\n const api: ConnectionApi<V> = {\n close: async () => {\n await channelWrapper.close()\n await connection.close()\n },\n open: () => connectedPromise.then(() => api),\n\n async act(messageKey, actor) {\n let publishIndex = 0\n const { taskId, messageId, ...options } =\n messageKeySchema.parse(messageKey)\n\n const checkActiveMessage = () => {\n if (activeMessages.has(messageId)) {\n throw new Error(\n 'Cannot send deferred message while callback handler is still running',\n )\n }\n }\n\n const registeredCallbackIds = new Set<string>()\n const donePromises: Array<Promise<void>> = []\n\n await actor({\n async sendToOutput(outputName, data) {\n checkActiveMessage()\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: await processData({\n outputName: outputName as string | null,\n data,\n options,\n onDone: donePromise.resolve,\n onCallback: (callback) => {\n const callbackId = crypto.randomUUID()\n registeredCallbackIds.add(callbackId)\n callbacks.set(callbackId, callback)\n\n return {\n sourceId: connectionId,\n callbackId,\n }\n },\n }),\n outputName: outputName as string | null,\n })\n },\n async send(data) {\n checkActiveMessage()\n const donePromise = createRemotePromise()\n donePromises.push(donePromise)\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n data: await processData({\n outputName: null,\n data,\n options,\n onDone: donePromise.resolve,\n onCallback: (callback) => {\n const callbackId = crypto.randomUUID()\n registeredCallbackIds.add(callbackId)\n callbacks.set(callbackId, callback)\n return {\n sourceId: connectionId,\n callbackId,\n }\n },\n }),\n })\n },\n abort(error) {\n checkActiveMessage()\n channelWrapper.publish(\n `${exchange}-retry`,\n 'operator',\n error instanceof Error ? error.message : error,\n {\n persistent: true,\n correlationId: messageId,\n expiration: 0,\n priority: 0,\n contentType: 'text/plain',\n headers: {\n taskId,\n libVersion: libVersion(),\n index: publishIndex++,\n abort: true,\n },\n },\n )\n },\n })\n\n setImmediate(async () => {\n await Promise.allSettled(donePromises)\n\n registeredCallbackIds.forEach((id) => callbacks.delete(id))\n\n publish({\n index: publishIndex++,\n version,\n messageId,\n taskId,\n done: true,\n })\n })\n },\n }\n return api\n}\n",
17
17
  "import { AsyncLocalStorage } from 'node:async_hooks'\n\nimport {\n createRemotePromise,\n mapData,\n resolveRequenceTypes,\n} from '@requence/helpers'\nimport { mapOutput } from '@requence/helpers/files'\nimport type { TaskOptions } 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 SkipError extends Error {}\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\nexport function processData(params: {\n data: unknown\n outputName: null | string\n options: Pick<TaskOptions, 'uploadUrl' | 'streamUrl'>\n onCallback: (callback: (...args: any[]) => void) => {\n callbackId: string\n sourceId: string\n }\n onDone: () => void\n}) {\n return mapOutput({\n value: mapData(params.data, {\n Function(data, path) {\n return {\n ...params.onCallback(data),\n outputName: params.outputName,\n propertyPath: path,\n __REQUENCE_type: 'RequenceCallback',\n }\n },\n }),\n options: params.options,\n onDone: params.onDone,\n })\n}\n\nexport async function unwrapResult(params: {\n result: unknown\n options: Pick<TaskOptions, 'uploadUrl' | 'streamUrl'>\n onCallback: (callback: (...args: any[]) => void) => {\n callbackId: string\n sourceId: string\n }\n onDone: () => void\n}) {\n if (isOutputValue(params.result)) {\n return {\n value: await processData({\n outputName: params.result[OUTPUT_VALUE],\n data: params.result.value,\n options: params.options,\n onDone: params.onDone,\n onCallback: params.onCallback,\n }),\n outputName: params.result[OUTPUT_VALUE],\n }\n }\n return {\n value: await processData({\n outputName: null,\n data: params.result,\n options: params.options,\n onDone: params.onDone,\n onCallback: params.onCallback,\n }),\n outputName: null,\n }\n}\n\nexport default function createContextHelper(options: {\n taskId: string\n input: unknown\n configuration: unknown\n onLog: (method: 'log' | 'warn' | 'info' | 'error', data: any[]) => void\n onDefer: (reason?: string) => string\n onCallback: (params: {\n sourceId: string\n callbackId: string\n outputName: string | null\n propertyPath: (string | number)[]\n arg: unknown\n }) => void\n}) {\n const terminatePromise = createRemotePromise<string>()\n\n return [\n {\n taskId: options.taskId,\n input: resolveRequenceTypes(options.input, options.onCallback),\n configuration: resolveRequenceTypes(options.configuration, () => {\n throw new Error('configuration may not have callbacks')\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 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 skip() {\n throw new SkipError()\n },\n terminated: terminatePromise.promise,\n },\n terminatePromise,\n ] as const\n}\n\nexport type ContextHelper = ReturnType<typeof createContextHelper>[0]\n\nexport const handlerStorage = new AsyncLocalStorage<ContextHelper>()\n",
18
18
  "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",
19
19
  "import { handlerStorage } from './helpers.ts'\n\nfunction isAsyncIterable<T>(\n iterable: Iterable<T> | AsyncIterable<T>,\n): iterable is AsyncIterable<T> {\n return typeof (iterable as any)[Symbol.asyncIterator] === 'function'\n}\n\nexport function wrapIterable<T extends Iterable<any> | AsyncIterable<any>>(\n iterable: T,\n): T {\n const context = handlerStorage.getStore()\n\n if (!context) {\n return iterable\n }\n\n let terminated = false\n\n context.terminated.then(() => {\n terminated = true\n })\n\n if (isAsyncIterable(iterable)) {\n return {\n [Symbol.asyncIterator]() {\n const iterator = iterable[Symbol.asyncIterator]()\n\n return {\n async next() {\n const result = await Promise.race([\n context.terminated,\n iterator.next(),\n ])\n\n if (terminated) {\n return { done: true, value: undefined }\n }\n\n return result\n },\n }\n },\n } as T\n }\n\n return {\n [Symbol.iterator]() {\n const iterator = iterable[Symbol.iterator]()\n\n return {\n next() {\n if (terminated) {\n return { done: true, value: undefined }\n }\n const result = iterator.next()\n return result\n },\n }\n },\n } as T\n}\n\nexport function asyncEventEmitter<T>(initial: Array<T> = []) {\n const context = handlerStorage.getStore()\n\n let terminated = false\n context?.terminated.then(() => {\n terminated = true\n })\n\n let resolve: (value: T) => void\n const initialValues = structuredClone(initial)\n return {\n push: (value: T) => {\n if (resolve) {\n resolve(value)\n } else {\n initialValues.push(value)\n }\n },\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return {\n async next() {\n if (initialValues.length > 0) {\n return { value: initialValues.shift()!, done: false }\n }\n const defer = Promise.withResolvers<T>()\n resolve = defer.resolve\n\n if (context) {\n const value = await Promise.race([\n defer.promise,\n context.terminated,\n ])\n\n return terminated\n ? { done: true, value: undefined }\n : { done: false, value: value as Awaited<T> }\n }\n\n return { value: await defer.promise, done: false }\n },\n }\n },\n }\n}\n"
20
20
  ],
21
- "mappings": "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",
22
- "debugId": "273749A56937938E64756E2164756E21",
21
+ "mappings": "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",
22
+ "debugId": "060ABB1D5ED9646F64756E2164756E21",
23
23
  "names": []
24
24
  }
@@ -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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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@requence/service",
3
3
  "type": "module",
4
- "version": "1.0.0-alpha.38",
4
+ "version": "1.0.0-alpha.39",
5
5
  "bin": {
6
6
  "requence-service": "build/cli.js"
7
7
  },