@synnaxlabs/client 0.44.2 → 0.44.3

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.
@@ -165,7 +165,7 @@ export declare const streamerConfigZ: z.ZodUnion<[z.ZodObject<{
165
165
  } | undefined;
166
166
  }[]>>]>;
167
167
  downsampleFactor: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
168
- useExperimentalCodec: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
168
+ useHighPerformanceCodec: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
169
169
  }, z.core.$strip>, z.ZodPipe<z.ZodUnion<readonly [z.ZodUnion<[z.ZodArray<z.ZodNumber>, z.ZodPipe<z.ZodNumber, z.ZodTransform<number[], number>>]>, z.ZodUnion<[z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodPipe<z.ZodUnion<[z.ZodArray<z.ZodObject<{
170
170
  name: z.ZodString;
171
171
  key: z.ZodNumber;
@@ -277,7 +277,7 @@ export declare const streamerConfigZ: z.ZodUnion<[z.ZodObject<{
277
277
  }[]>>]>, z.ZodTransform<{
278
278
  channels: string[] | number[];
279
279
  downsampleFactor: number;
280
- useExperimentalCodec: boolean;
280
+ useHighPerformanceCodec: boolean;
281
281
  }, string[] | number[]>>]>;
282
282
  export type StreamerConfig = z.input<typeof streamerConfigZ>;
283
283
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../src/framer/streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamer.d.ts","sourceRoot":"","sources":["../../src/framer/streamer.ts"],"names":[],"mappings":"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"}
@@ -48,8 +48,8 @@ declare const netWriterConfigZ: z.ZodObject<{
48
48
  value: z.ZodBigInt;
49
49
  }, z.core.$strip>, z.ZodTransform<TimeSpan, {
50
50
  value: bigint;
51
- }>>, z.ZodPipe<z.ZodString, z.ZodTransform<TimeSpan, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<TimeSpan, number>>, z.ZodCustom<TimeSpan, TimeSpan>]>>;
52
- useExperimentalCodec: z.ZodDefault<z.ZodBoolean>;
51
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<TimeSpan, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<TimeSpan, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<TimeSpan, bigint>>, z.ZodCustom<TimeSpan, TimeSpan>, z.ZodPipe<z.ZodCustom<TimeStamp, TimeStamp>, z.ZodTransform<TimeSpan, TimeStamp>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').Rate, import('@synnaxlabs/x').Rate>, z.ZodTransform<TimeSpan, import('@synnaxlabs/x').Rate>>]>>;
52
+ useHighPerformanceCodec: z.ZodDefault<z.ZodBoolean>;
53
53
  keys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
54
54
  }, z.core.$strip>;
55
55
  export type NetWriterConfig = z.input<typeof netWriterConfigZ>;
@@ -75,8 +75,8 @@ export declare const writerConfigZ: z.ZodUnion<[z.ZodObject<{
75
75
  value: z.ZodBigInt;
76
76
  }, z.core.$strip>, z.ZodTransform<TimeSpan, {
77
77
  value: bigint;
78
- }>>, z.ZodPipe<z.ZodString, z.ZodTransform<TimeSpan, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<TimeSpan, number>>, z.ZodCustom<TimeSpan, TimeSpan>]>>;
79
- useExperimentalCodec: z.ZodDefault<z.ZodBoolean>;
78
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<TimeSpan, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<TimeSpan, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<TimeSpan, bigint>>, z.ZodCustom<TimeSpan, TimeSpan>, z.ZodPipe<z.ZodCustom<TimeStamp, TimeStamp>, z.ZodTransform<TimeSpan, TimeStamp>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').Rate, import('@synnaxlabs/x').Rate>, z.ZodTransform<TimeSpan, import('@synnaxlabs/x').Rate>>]>>;
79
+ useHighPerformanceCodec: z.ZodDefault<z.ZodBoolean>;
80
80
  channels: z.ZodUnion<readonly [z.ZodUnion<[z.ZodArray<z.ZodNumber>, z.ZodPipe<z.ZodNumber, z.ZodTransform<number[], number>>]>, z.ZodUnion<[z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>, z.ZodPipe<z.ZodUnion<[z.ZodArray<z.ZodObject<{
81
81
  name: z.ZodString;
82
82
  key: z.ZodNumber;
@@ -284,7 +284,7 @@ export declare const writerConfigZ: z.ZodUnion<[z.ZodObject<{
284
284
  errOnUnauthorized: boolean;
285
285
  enableAutoCommit: boolean;
286
286
  autoIndexPersistInterval: TimeSpan;
287
- useExperimentalCodec: boolean;
287
+ useHighPerformanceCodec: boolean;
288
288
  channels: string[] | number[];
289
289
  start?: TimeStamp | undefined;
290
290
  controlSubject?: {
@@ -317,8 +317,8 @@ declare const reqZ: z.ZodObject<{
317
317
  value: z.ZodBigInt;
318
318
  }, z.core.$strip>, z.ZodTransform<TimeSpan, {
319
319
  value: bigint;
320
- }>>, z.ZodPipe<z.ZodString, z.ZodTransform<TimeSpan, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<TimeSpan, number>>, z.ZodCustom<TimeSpan, TimeSpan>]>>;
321
- useExperimentalCodec: z.ZodDefault<z.ZodBoolean>;
320
+ }>>, z.ZodPipe<z.ZodString, z.ZodTransform<TimeSpan, string>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<TimeSpan, number>>, z.ZodPipe<z.ZodBigInt, z.ZodTransform<TimeSpan, bigint>>, z.ZodCustom<TimeSpan, TimeSpan>, z.ZodPipe<z.ZodCustom<TimeStamp, TimeStamp>, z.ZodTransform<TimeSpan, TimeStamp>>, z.ZodPipe<z.ZodCustom<import('@synnaxlabs/x').Rate, import('@synnaxlabs/x').Rate>, z.ZodTransform<TimeSpan, import('@synnaxlabs/x').Rate>>]>>;
321
+ useHighPerformanceCodec: z.ZodDefault<z.ZodBoolean>;
322
322
  keys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
323
323
  }, z.core.$strip>>;
324
324
  frame: z.ZodOptional<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/framer/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/framer/writer.ts"],"names":[],"mappings":"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"}
@@ -125,8 +125,15 @@ export declare class Client {
125
125
  sugar<Type extends z.ZodLiteral<string> = z.ZodLiteral<string>, Config extends z.ZodType = z.ZodType, StatusData extends z.ZodType = z.ZodType>(payloads: Payload<Type, Config, StatusData>[], schemas?: Schemas<Type, Config, StatusData>): Task<Type, Config, StatusData>[];
126
126
  sugar<Type extends z.ZodLiteral<string> = z.ZodLiteral<string>, Config extends z.ZodType = z.ZodType, StatusData extends z.ZodType = z.ZodType>(payload: Payload<Type, Config, StatusData>, schemas?: Schemas<Type, Config, StatusData>): Task<Type, Config, StatusData>;
127
127
  executeCommand(task: Key, type: string, args?: {}): Promise<string>;
128
+ executeCommand(commands: NewCommand[]): Promise<string[]>;
128
129
  executeCommandSync<StatusData extends z.ZodType = z.ZodType>(task: Key, type: string, timeout: CrudeTimeSpan, args?: {}, name?: string, statusDataZ?: StatusData): Promise<Status<StatusData>>;
130
+ executeCommandSync<StatusData extends z.ZodType = z.ZodType>(commands: NewCommand[], timeout: CrudeTimeSpan, statusDataZ?: StatusData): Promise<Status<StatusData>[]>;
129
131
  }
130
132
  export declare const ontologyID: (key: Key) => ontology.ID;
133
+ export interface NewCommand {
134
+ task: Key;
135
+ type: string;
136
+ args?: {};
137
+ }
131
138
  export {};
132
139
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/task/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EACL,KAAK,GAAG,EAER,KAAK,GAAG,EAER,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAClD,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAUpD,qBAAa,IAAI,CACf,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;IAExC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAgB;IAE9C,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAG/B;IAED,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAGpC;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAG/B;gBAGC,EACE,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAgB,EAChB,QAAgB,EAChB,MAAM,GACP,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAC3C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAC3B,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,EAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM;IAmB7B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAS/C;IAED,IAAI,UAAU,IAAI,QAAQ,CAAC,EAAE,CAE5B;IAEK,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,EAAE,GACR,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAYxB,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;CAMzD;AAED,QAAA,MAAM,YAAY;;;;;;;;iBAQhB,CAAC;AAEH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;KAOvB,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,QAAA,MAAM,kBAAkB;;;;;;;;iBAAe,CAAC;AACxC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAqD,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,KAAK,eAAe,CAClB,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IACtC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;CAC7C,CAAC;AAaF,MAAM,WAAW,eAAgB,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC;CAAG;AAgCxE,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAG1C,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,cAAc,EAAE,QAAQ,CAAC,MAAM,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM;IAQtB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;IAEjD,MAAM,CACV,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,CACV,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAC1B,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IA2BtC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxC,QAAQ,CACZ,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACjC,MAAM,SAAS,CAAC,CAAC,OAAO,EACxB,UAAU,SAAS,CAAC,CAAC,OAAO,EAE5B,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IACjD,QAAQ,CACZ,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACjC,MAAM,SAAS,CAAC,CAAC,OAAO,EACxB,UAAU,SAAS,CAAC,CAAC,OAAO,EAE5B,IAAI,EAAE,iBAAiB,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GAClE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAyBlD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjE,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAK5E,KAAK,CACH,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAC7C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;IAEnC,KAAK,CACH,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;IAgC3B,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE,kBAAkB,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/D,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,EAAE,EACT,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,GAAE,UAAiD,GAC7D,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAe/B;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,GAAG,KAAG,QAAQ,CAAC,EAA6B,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/hardware/task/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EACL,KAAK,GAAG,EAER,KAAK,GAAG,EAER,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAClD,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAUpD,qBAAa,IAAI,CACf,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;IAExC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAgB;IAE9C,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAG/B;IAED,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAGpC;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAG/B;gBAGC,EACE,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAgB,EAChB,QAAgB,EAChB,MAAM,GACP,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAC3C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAC3B,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,EAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM;IAmB7B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAS/C;IAED,IAAI,UAAU,IAAI,QAAQ,CAAC,EAAE,CAE5B;IAEK,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,EAAE,GACR,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAYxB,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;CAMzD;AAED,QAAA,MAAM,YAAY;;;;;;;;iBAQhB,CAAC;AAEH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;KAOvB,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,QAAA,MAAM,kBAAkB;;;;;;;;iBAAe,CAAC;AACxC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAqD,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,KAAK,eAAe,CAClB,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IACtC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;CAC7C,CAAC;AAaF,MAAM,WAAW,eAAgB,SAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC;CAAG;AAgCxE,qBAAa,MAAM;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAG1C,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAC1B,cAAc,EAAE,QAAQ,CAAC,MAAM,EAC/B,WAAW,EAAE,MAAM,CAAC,MAAM;IAQtB,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;IAEjD,MAAM,CACV,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,CACV,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAC1B,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GACzC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IA2BtC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxC,QAAQ,CACZ,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACjC,MAAM,SAAS,CAAC,CAAC,OAAO,EACxB,UAAU,SAAS,CAAC,CAAC,OAAO,EAE5B,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IACjD,QAAQ,CACZ,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACjC,MAAM,SAAS,CAAC,CAAC,OAAO,EACxB,UAAU,SAAS,CAAC,CAAC,OAAO,EAE5B,IAAI,EAAE,iBAAiB,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GAClE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAyBlD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjE,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAK5E,KAAK,CACH,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAC7C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;IAEnC,KAAK,CACH,IAAI,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EACxD,MAAM,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EACpC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAExC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,GAC1C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;IAgC3B,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnE,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYzD,kBAAkB,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/D,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,IAAI,CAAC,EAAE,EAAE,EACT,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,UAAU,GACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACxB,kBAAkB,CAAC,UAAU,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/D,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,UAAU,GACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;CAqCjC;AAED,eAAO,MAAM,UAAU,GAAI,KAAK,GAAG,KAAG,QAAQ,CAAC,EAA6B,CAAC;AAS7E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,EAAE,CAAC;CACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/testutil/client.ts"],"names":[],"mappings":"AASA,OAAO,MAAM,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,iBAAiB,EAAE,WAK/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAG,MAChB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/testutil/client.ts"],"names":[],"mappings":"AAWA,OAAO,MAAM,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,iBAAiB,EAAE,WAU/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAG,MAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synnaxlabs/client",
3
- "version": "0.44.2",
3
+ "version": "0.44.3",
4
4
  "description": "The Synnax Client Library",
5
5
  "keywords": [
6
6
  "synnax",
@@ -26,8 +26,8 @@
26
26
  "dependencies": {
27
27
  "async-mutex": "^0.5.0",
28
28
  "zod": "^4.0.2",
29
- "@synnaxlabs/freighter": "^0.44.0",
30
- "@synnaxlabs/x": "^0.44.2"
29
+ "@synnaxlabs/x": "^0.44.3",
30
+ "@synnaxlabs/freighter": "^0.44.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@vitest/coverage-v8": "^3.2.4",
@@ -322,7 +322,7 @@ describe("Streamer", () => {
322
322
  it("should correctly call the underlying streamer methods", async () => {
323
323
  const streamer = new MockStreamer();
324
324
  const openMock = vi.fn();
325
- const config = { channels: [1, 2, 3], useExperimentalCodec: false };
325
+ const config = { channels: [1, 2, 3], useHighPerformanceCodec: true };
326
326
  const fr = new Frame({ 1: new Series([1]) });
327
327
  const hardened = await HardenedStreamer.open(
328
328
  async (cfg) => {
@@ -41,8 +41,9 @@ const intermediateStreamerConfigZ = z.object({
41
41
  channels: paramsZ,
42
42
  /** Optional factor to downsample the data by. Defaults to 1 (no downsampling). */
43
43
  downsampleFactor: z.number().optional().default(1),
44
- /** Whether to use the experimental codec for streaming. Defaults to true. */
45
- useExperimentalCodec: z.boolean().optional().default(false),
44
+ /** useHighPerformanceCodec sets whether the writer will use the synnax frame
45
+ /* encoder as opposed to the standard JSON encoding mechanisms for frames. */
46
+ useHighPerformanceCodec: z.boolean().optional().default(true),
46
47
  });
47
48
 
48
49
  export const streamerConfigZ = intermediateStreamerConfigZ.or(
@@ -103,7 +104,7 @@ export const createStreamOpener =
103
104
  async (config) => {
104
105
  const cfg = streamerConfigZ.parse(config);
105
106
  const adapter = await ReadAdapter.open(retriever, cfg.channels);
106
- if (cfg.useExperimentalCodec)
107
+ if (cfg.useHighPerformanceCodec)
107
108
  client = client.withCodec(new WSStreamerCodec(adapter.codec));
108
109
  const stream = await client.stream(ENDPOINT, reqZ, resZ);
109
110
  const streamer = new CoreStreamer(stream, adapter);
@@ -55,30 +55,40 @@ const writerModeZ = z.enum(WriterMode).or(
55
55
  export type CrudeWriterMode = z.input<typeof writerModeZ>;
56
56
 
57
57
  const baseWriterConfigZ = z.object({
58
- // start sets the starting timestamp for the first sample in the writer.
58
+ /** start sets the starting timestamp for the first sample in the writer. */
59
59
  start: TimeStamp.z.optional(),
60
- // controlSubject sets the control subject of the writer.
60
+ /** controlSubject sets the control subject of the writer. */
61
61
  controlSubject: control.subjectZ.optional(),
62
- // authorities set the control authority to set for each channel on the writer.
63
- // Defaults to absolute authority. If not working with concurrent control,
64
- // it's best to leave this as the default.
62
+ /** authorities set the control authority to set for each channel on the writer.
63
+ * Defaults to absolute authority. If not working with concurrent control,
64
+ * it's best to leave this as the default.
65
+ */
65
66
  authorities: z
66
67
  .union([control.authorityZ.transform((a) => [a]), control.authorityZ.array()])
67
68
  .default([control.ABSOLUTE_AUTHORITY]),
68
- // mode sets the persistence and streaming mode of the writer. The default
69
- // mode is WriterModePersistStream.
69
+ /** mode sets the persistence and streaming mode of the writer. The default
70
+ * mode is WriterModePersistStream.
71
+ */
70
72
  mode: writerModeZ.default(WriterMode.PersistStream),
71
- // errOnUnauthorized sets whether the writer raises an error when it attempts to write
72
- // to a channel without permission.
73
+ /**
74
+ * errOnUnauthorized sets whether the writer raises an error when it attempts to write
75
+ * to a channel without permission.
76
+ */
73
77
  errOnUnauthorized: z.boolean().default(false),
74
- // enableAutoCommit determines whether the writer will automatically commit.
75
- // If enableAutoCommit is true, then the writer will commit after each write, and
76
- // will flush that commit to index after the specified autoIndexPersistInterval.
78
+ /**
79
+ * enableAutoCommit determines whether the writer will automatically commit.
80
+ * If enableAutoCommit is true, then the writer will commit after each write, and
81
+ * will flush that commit to index after the specified autoIndexPersistInterval.
82
+ */
77
83
  enableAutoCommit: z.boolean().default(false),
78
- // autoIndexPersistInterval sets the interval at which commits to the index will be
84
+ /** autoIndexPersistInterval sets the interval at which commits will be flushed to
85
+ * disk. */
79
86
  autoIndexPersistInterval: TimeSpan.z.default(TimeSpan.SECOND),
80
- // useExperimentalCodec sets whether the writer will use the experimental codec.
81
- useExperimentalCodec: z.boolean().default(false),
87
+ /*
88
+ * useHighPerformanceCodec sets whether the writer will use the synnax frame
89
+ * encoder as opposed to the standard JSON encoding mechanisms for frames.
90
+ */
91
+ useHighPerformanceCodec: z.boolean().default(true),
82
92
  });
83
93
 
84
94
  const netWriterConfigZ = baseWriterConfigZ.extend({
@@ -198,7 +208,7 @@ export class Writer {
198
208
  ): Promise<Writer> {
199
209
  const cfg = writerConfigZ.parse(config);
200
210
  const adapter = await WriteAdapter.open(retriever, cfg.channels);
201
- if (cfg.useExperimentalCodec)
211
+ if (cfg.useHighPerformanceCodec)
202
212
  client = client.withCodec(new WSWriterCodec(adapter.codec));
203
213
  const stream = await client.stream(Writer.ENDPOINT, reqZ, resZ);
204
214
  const writer = new Writer(stream, adapter);
@@ -8,7 +8,7 @@
8
8
  // included in the file licenses/APL.txt.
9
9
 
10
10
  import { sendRequired, type UnaryClient } from "@synnaxlabs/freighter";
11
- import { caseconv, id } from "@synnaxlabs/x";
11
+ import { caseconv, id, strings } from "@synnaxlabs/x";
12
12
  import { array } from "@synnaxlabs/x/array";
13
13
  import { type CrudeTimeSpan, TimeSpan } from "@synnaxlabs/x/telem";
14
14
  import { z } from "zod";
@@ -409,7 +409,17 @@ export class Client {
409
409
  return isSingle ? res[0] : res;
410
410
  }
411
411
 
412
- async executeCommand(task: Key, type: string, args?: {}): Promise<string> {
412
+ async executeCommand(task: Key, type: string, args?: {}): Promise<string>;
413
+
414
+ async executeCommand(commands: NewCommand[]): Promise<string[]>;
415
+
416
+ async executeCommand(
417
+ task: Key | NewCommand[],
418
+ type?: string,
419
+ args?: {},
420
+ ): Promise<string | string[]> {
421
+ if (Array.isArray(task)) return await executeCommands(this.frameClient, task);
422
+ if (type == null) throw new Error("Type is required");
413
423
  return await executeCommand(this.frameClient, task, type, args);
414
424
  }
415
425
 
@@ -419,8 +429,35 @@ export class Client {
419
429
  timeout: CrudeTimeSpan,
420
430
  args?: {},
421
431
  name?: string,
432
+ statusDataZ?: StatusData,
433
+ ): Promise<Status<StatusData>>;
434
+ async executeCommandSync<StatusData extends z.ZodType = z.ZodType>(
435
+ commands: NewCommand[],
436
+ timeout: CrudeTimeSpan,
437
+ statusDataZ?: StatusData,
438
+ ): Promise<Status<StatusData>[]>;
439
+
440
+ async executeCommandSync<StatusData extends z.ZodType = z.ZodType>(
441
+ task: Key | NewCommand[],
442
+ type: string | CrudeTimeSpan,
443
+ timeout?: CrudeTimeSpan | StatusData,
444
+ args?: {},
445
+ name?: string,
422
446
  statusDataZ: StatusData = z.unknown() as unknown as StatusData,
423
- ): Promise<Status<StatusData>> {
447
+ ): Promise<Status<StatusData> | Status<StatusData>[]> {
448
+ if (Array.isArray(task)) {
449
+ const retrieveNames = async () => {
450
+ const ts = await this.retrieve({ keys: task.map((t) => t.task) });
451
+ return ts.map((t) => t.name);
452
+ };
453
+ return await executeCommandsSync(
454
+ this.frameClient,
455
+ task,
456
+ type as CrudeTimeSpan,
457
+ statusDataZ,
458
+ retrieveNames,
459
+ );
460
+ }
424
461
  const retrieveName = async () => {
425
462
  const t = await this.retrieve({ key: task });
426
463
  return t.name;
@@ -428,8 +465,8 @@ export class Client {
428
465
  return await executeCommandSync(
429
466
  this.frameClient,
430
467
  task,
431
- type,
432
- timeout,
468
+ type as string,
469
+ timeout as CrudeTimeSpan,
433
470
  name ?? retrieveName,
434
471
  statusDataZ,
435
472
  args,
@@ -444,13 +481,24 @@ const executeCommand = async (
444
481
  task: Key,
445
482
  type: string,
446
483
  args?: {},
447
- ): Promise<string> => {
484
+ ): Promise<string> => (await executeCommands(frameClient, [{ args, task, type }]))[0];
485
+
486
+ export interface NewCommand {
487
+ task: Key;
488
+ type: string;
489
+ args?: {};
490
+ }
491
+
492
+ const executeCommands = async (
493
+ frameClient: framer.Client | null,
494
+ commands: NewCommand[],
495
+ ): Promise<string[]> => {
448
496
  if (frameClient == null) throw NOT_CREATED_ERROR;
449
- const key = id.create();
450
497
  const w = await frameClient.openWriter(COMMAND_CHANNEL_NAME);
451
- await w.write(COMMAND_CHANNEL_NAME, [{ args, key, task, type }]);
498
+ const cmds = commands.map((c) => ({ ...c, key: id.create() }));
499
+ await w.write(COMMAND_CHANNEL_NAME, cmds);
452
500
  await w.close();
453
- return key;
501
+ return cmds.map((c) => c.key);
454
502
  };
455
503
 
456
504
  const executeCommandSync = async <StatusData extends z.ZodType = z.ZodType>(
@@ -461,24 +509,45 @@ const executeCommandSync = async <StatusData extends z.ZodType = z.ZodType>(
461
509
  tskName: string | (() => Promise<string>),
462
510
  statusDataZ: StatusData,
463
511
  args?: {},
464
- ): Promise<Status<StatusData>> => {
512
+ ): Promise<Status<StatusData>> =>
513
+ (
514
+ await executeCommandsSync(
515
+ frameClient,
516
+ [{ args, task, type }],
517
+ timeout,
518
+ statusDataZ,
519
+ tskName,
520
+ )
521
+ )[0];
522
+
523
+ const executeCommandsSync = async <StatusData extends z.ZodType = z.ZodType>(
524
+ frameClient: framer.Client | null,
525
+ commands: NewCommand[],
526
+ timeout: CrudeTimeSpan,
527
+ statusDataZ: StatusData,
528
+ tskName: string | string[] | (() => Promise<string | string[]>),
529
+ ): Promise<Status<StatusData>[]> => {
465
530
  if (frameClient == null) throw NOT_CREATED_ERROR;
466
531
  const streamer = await frameClient.openStreamer(STATUS_CHANNEL_NAME);
467
- const cmdKey = await executeCommand(frameClient, task, type, args);
532
+ const cmdKeys = await executeCommands(frameClient, commands);
468
533
  const parsedTimeout = new TimeSpan(timeout);
469
-
534
+ let states: Status<StatusData>[] = [];
470
535
  let timeoutID: NodeJS.Timeout | undefined;
471
536
  const timeoutPromise = new Promise<never>((_, reject) => {
472
537
  timeoutID = setTimeout(() => {
473
- void (async () =>
474
- reject(await formatTimeoutError(type, tskName, parsedTimeout, task)))();
538
+ void (async () => {
539
+ const taskKeys = commands.map((c) => c.task);
540
+ reject(await formatTimeoutError("command", tskName, parsedTimeout, taskKeys));
541
+ })();
475
542
  }, parsedTimeout.milliseconds);
476
543
  });
477
544
  try {
478
545
  while (true) {
479
546
  const frame = await Promise.race([streamer.read(), timeoutPromise]);
480
547
  const state = statusZ(statusDataZ).parse(frame.at(-1)[STATUS_CHANNEL_NAME]);
481
- if (state.key === cmdKey) return state;
548
+ if (!cmdKeys.includes(state.key)) continue;
549
+ states = [...states.filter((s) => s.key !== state.key), state];
550
+ if (states.length === cmdKeys.length) return states;
482
551
  }
483
552
  } finally {
484
553
  clearTimeout(timeoutID);
@@ -488,21 +557,25 @@ const executeCommandSync = async <StatusData extends z.ZodType = z.ZodType>(
488
557
 
489
558
  const formatTimeoutError = async (
490
559
  type: string,
491
- name: string | (() => Promise<string>),
560
+ name: string | string[] | (() => Promise<string | string[]>),
492
561
  timeout: TimeSpan,
493
- key: Key,
562
+ key: Key | Key[],
494
563
  ): Promise<Error> => {
495
564
  const formattedType = caseconv.capitalize(type);
496
565
  const formattedTimeout = timeout.toString();
497
566
  try {
498
- const name_ = typeof name === "string" ? name : await name();
567
+ let names: string[];
568
+ if (typeof name === "string") names = [name];
569
+ else if (Array.isArray(name)) names = name;
570
+ else names = array.toArray(await name());
571
+ const formattedName = strings.naturalLanguageJoin(names);
499
572
  return new Error(
500
- `${formattedType} command to ${name_} timed out after ${formattedTimeout}`,
573
+ `${formattedType} command to ${formattedName} timed out after ${formattedTimeout}`,
501
574
  );
502
575
  } catch (e) {
503
576
  console.error("Failed to retrieve task name for timeout error:", e);
504
577
  return new Error(
505
- `${formattedType} command to task with key ${key} timed out after ${formattedTimeout}`,
578
+ `${formattedType} command to task with key ${strings.naturalLanguageJoin(key)} timed out after ${formattedTimeout}`,
506
579
  );
507
580
  }
508
581
  };
@@ -7,6 +7,8 @@
7
7
  // License, use of this software will be governed by the Apache License, Version 2.0,
8
8
  // included in the file licenses/APL.txt.
9
9
 
10
+ import { TimeSpan } from "@synnaxlabs/x";
11
+
10
12
  import Synnax, { type SynnaxProps } from "@/client";
11
13
 
12
14
  export const TEST_CLIENT_PROPS: SynnaxProps = {
@@ -14,6 +16,11 @@ export const TEST_CLIENT_PROPS: SynnaxProps = {
14
16
  port: 9090,
15
17
  username: "synnax",
16
18
  password: "seldon",
19
+ retry: {
20
+ maxRetries: 4,
21
+ baseInterval: TimeSpan.seconds(1),
22
+ scale: 1.5,
23
+ },
17
24
  };
18
25
 
19
26
  export const createTestClient = (props?: Partial<SynnaxProps>): Synnax =>