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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/index.js +137 -131
  3. package/build/index.js.map +11 -11
  4. package/build/types/helpers/src/files/mapOutput.d.ts.map +1 -1
  5. package/build/types/helpers/src/index.d.ts +3 -2
  6. package/build/types/helpers/src/index.d.ts.map +1 -1
  7. package/build/types/helpers/src/jsonschema/zod.d.ts +1 -0
  8. package/build/types/helpers/src/jsonschema/zod.d.ts.map +1 -1
  9. package/build/types/helpers/src/protocol/NodeTree.d.ts +31 -14
  10. package/build/types/helpers/src/protocol/NodeTree.d.ts.map +1 -1
  11. package/build/types/helpers/src/protocol/command.d.ts +4 -12
  12. package/build/types/helpers/src/protocol/command.d.ts.map +1 -1
  13. package/build/types/helpers/src/protocol/nodeType.d.ts +2 -0
  14. package/build/types/helpers/src/protocol/nodeType.d.ts.map +1 -1
  15. package/build/types/helpers/src/protocol/taskOptions.d.ts +0 -3
  16. package/build/types/helpers/src/protocol/taskOptions.d.ts.map +1 -1
  17. package/build/types/helpers/src/protocol/templateNodeTypes.d.ts +32 -0
  18. package/build/types/helpers/src/protocol/templateNodeTypes.d.ts.map +1 -1
  19. package/build/types/helpers/src/protocol/treeNodes.d.ts +10 -6
  20. package/build/types/helpers/src/protocol/treeNodes.d.ts.map +1 -1
  21. package/build/types/helpers/src/utils/debounce.d.ts +4 -0
  22. package/build/types/helpers/src/utils/debounce.d.ts.map +1 -0
  23. package/build/types/helpers/src/utils/guards.d.ts +3 -0
  24. package/build/types/helpers/src/utils/guards.d.ts.map +1 -0
  25. package/build/types/helpers/src/utils/obj.d.ts +4 -0
  26. package/build/types/helpers/src/utils/obj.d.ts.map +1 -0
  27. package/build/types/helpers/src/utils/requenceCallback.d.ts.map +1 -1
  28. package/build/types/helpers/src/utils/types.d.ts +3 -0
  29. package/build/types/helpers/src/utils/types.d.ts.map +1 -1
  30. package/build/types/task/src/createTask.d.ts +1 -1
  31. package/build/types/task/src/createTask.d.ts.map +1 -1
  32. package/build/types/task/src/getTask.d.ts +1 -0
  33. package/build/types/task/src/getTask.d.ts.map +1 -1
  34. package/build/types/task/src/types.d.ts +2 -1
  35. package/build/types/task/src/types.d.ts.map +1 -1
  36. package/package.json +3 -3
  37. package/build/types/helpers/src/utils/createRemotePromise.d.ts +0 -7
  38. package/build/types/helpers/src/utils/createRemotePromise.d.ts.map +0 -1
  39. package/build/types/helpers/src/utils/isRecord.d.ts +0 -2
  40. package/build/types/helpers/src/utils/isRecord.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @requence/task
2
2
 
3
+ ## 1.0.0-alpha.45
4
+
5
+ ### Patch Changes
6
+
7
+ - 3a4654c: road to 1.0
8
+
3
9
  ## 1.0.0-alpha.44
4
10
 
5
11
  ### Patch Changes
package/build/index.js CHANGED
@@ -49,12 +49,13 @@ function callbackToAsyncIterable(...args) {
49
49
  };
50
50
  }
51
51
 
52
- // ../helpers/src/utils/isRecord.ts
52
+ // ../helpers/src/utils/guards.ts
53
53
  import { z } from "zod/v4";
54
54
  var recordSchema = z.record(z.string(), z.unknown());
55
55
  function isRecord(data) {
56
56
  return recordSchema.safeParse(data).success;
57
57
  }
58
+ var uuidSchema = z.uuid();
58
59
 
59
60
  // ../helpers/src/utils/mapData.ts
60
61
  function resolve(value, onResolve) {
@@ -153,110 +154,22 @@ function isCallbackObject(data) {
153
154
  return callbackObjectSchema.safeParse(data).success;
154
155
  }
155
156
 
156
- // ../helpers/src/files/mapOutput.ts
157
- async function upload(uploadUrl, body, signal, contentType) {
158
- const uploadResponse = await fetch(uploadUrl, {
159
- method: "POST",
160
- signal,
161
- headers: contentType ? {
162
- "Content-Type": contentType
163
- } : {},
164
- body
165
- });
166
- const data = await uploadResponse.json();
167
- if (!data || typeof data !== "object") {
168
- throw new Error("invalid upload response");
169
- }
170
- return toFileObject(data);
171
- }
172
- async function stream(streamUrl, stream2, signal, contentType) {
173
- const [testStream, dataStream] = stream2.tee();
174
- const reader = testStream.getReader();
175
- const dataPromise = reader.read().then(({ done: done2 }) => {
176
- if (done2) {
177
- throw new Error("No streaming date received");
178
- }
179
- reader.cancel();
180
- });
181
- const streamResponse = await fetch(streamUrl, {
182
- method: "POST",
183
- signal,
184
- headers: contentType ? { "Content-Type": contentType } : {}
185
- });
186
- const data = await streamResponse.json();
187
- if (!data || typeof data !== "object") {
188
- throw new Error("invalid stream response");
189
- }
190
- const { mime, url } = data;
191
- await dataPromise;
192
- const done = fetch(url, {
193
- method: "POST",
194
- signal,
195
- duplex: "half",
196
- body: dataStream
197
- });
198
- return [toStreamObject({ mime, url }), done];
157
+ // ../helpers/src/files/fileObject.ts
158
+ import { z as z3 } from "zod/v4";
159
+ var fileObjectSchema = z3.object({
160
+ size: z3.int().positive(),
161
+ mime: z3.string(),
162
+ url: z3.url(),
163
+ __REQUENCE_type: z3.literal("RequenceFile")
164
+ });
165
+ function toFileObject(fileInfo) {
166
+ return {
167
+ ...fileInfo,
168
+ __REQUENCE_type: "RequenceFile"
169
+ };
199
170
  }
200
- async function mapOutput(params) {
201
- const streamPromises = [];
202
- const mapped = await mapData(params.value, {
203
- async Object(obj) {
204
- if (obj instanceof Blob || obj instanceof RequenceFile) {
205
- if (obj instanceof RequenceFile && obj.fileObject) {
206
- return obj.fileObject;
207
- }
208
- if (params.options.uploadUrl) {
209
- try {
210
- if (obj instanceof Blob) {
211
- return await upload(params.options.uploadUrl, obj, params.signal, obj.type);
212
- }
213
- if (obj instanceof RequenceFile) {
214
- return await upload(params.options.uploadUrl, await obj.blob(), params.signal, obj.mimeType);
215
- }
216
- } catch (error) {
217
- if (!(error instanceof Error)) {
218
- throw error;
219
- }
220
- params.onFail?.(error);
221
- return null;
222
- }
223
- } else {
224
- params.onSkip?.();
225
- return null;
226
- }
227
- }
228
- if (obj instanceof Response || obj instanceof RequenceStream) {
229
- if (obj instanceof RequenceStream && obj.streamObject) {
230
- return obj.streamObject;
231
- }
232
- if (params.options.streamUrl) {
233
- try {
234
- if (obj instanceof Response && obj.body) {
235
- const [streamObject, streamPromise] = await stream(params.options.streamUrl, obj.body, params.signal, obj.headers.get("Content-Type"));
236
- streamPromises.push(streamPromise);
237
- return streamObject;
238
- }
239
- if (obj instanceof RequenceStream) {
240
- const [streamObject, streamPromise] = await stream(params.options.streamUrl, obj.stream(), params.signal, obj.mimeType);
241
- streamPromises.push(streamPromise);
242
- return streamObject;
243
- }
244
- } catch (error) {
245
- if (!(error instanceof Error)) {
246
- throw error;
247
- }
248
- params.onFail?.(error);
249
- return null;
250
- }
251
- } else {
252
- params.onSkip?.();
253
- return null;
254
- }
255
- }
256
- }
257
- });
258
- Promise.allSettled(streamPromises).then(() => params.onDone?.());
259
- return mapped;
171
+ function isFileObject(data) {
172
+ return fileObjectSchema.safeParse(data).success;
260
173
  }
261
174
 
262
175
  // ../helpers/src/files/RequenceFile.ts
@@ -323,15 +236,15 @@ class RequenceStream {
323
236
  #data;
324
237
  #stream = null;
325
238
  #options;
326
- constructor(stream2, options) {
327
- this.#data = stream2;
239
+ constructor(stream, options) {
240
+ this.#data = stream;
328
241
  this.#options = options;
329
242
  }
330
- static fromStreamObject(stream2) {
243
+ static fromStreamObject(stream) {
331
244
  const instance = new this(null, {
332
245
  type: "x/x"
333
246
  });
334
- instance.#stream = stream2;
247
+ instance.#stream = stream;
335
248
  return instance;
336
249
  }
337
250
  get streamObject() {
@@ -380,11 +293,11 @@ class RequenceStream {
380
293
  }
381
294
 
382
295
  // ../helpers/src/files/streamObject.ts
383
- import { z as z3 } from "zod/v4";
384
- var streamObjectSchema = z3.object({
385
- mime: z3.string(),
386
- url: z3.string().url(),
387
- __REQUENCE_type: z3.literal("RequenceStream")
296
+ import { z as z4 } from "zod/v4";
297
+ var streamObjectSchema = z4.object({
298
+ mime: z4.string(),
299
+ url: z4.string().url(),
300
+ __REQUENCE_type: z4.literal("RequenceStream")
388
301
  });
389
302
  function isStreamObject(data) {
390
303
  return streamObjectSchema.safeParse(data).success;
@@ -396,22 +309,110 @@ function toStreamObject(streamInfo) {
396
309
  };
397
310
  }
398
311
 
399
- // ../helpers/src/files/fileObject.ts
400
- import { z as z4 } from "zod/v4";
401
- var fileObjectSchema = z4.object({
402
- size: z4.int().positive(),
403
- mime: z4.string(),
404
- url: z4.url(),
405
- __REQUENCE_type: z4.literal("RequenceFile")
406
- });
407
- function toFileObject(fileInfo) {
408
- return {
409
- ...fileInfo,
410
- __REQUENCE_type: "RequenceFile"
411
- };
312
+ // ../helpers/src/files/mapOutput.ts
313
+ async function upload(uploadUrl, body, signal, contentType) {
314
+ const uploadResponse = await fetch(uploadUrl, {
315
+ method: "POST",
316
+ signal,
317
+ headers: contentType ? {
318
+ "Content-Type": contentType
319
+ } : {},
320
+ body
321
+ });
322
+ const data = await uploadResponse.json();
323
+ if (!data || typeof data !== "object") {
324
+ throw new Error("invalid upload response");
325
+ }
326
+ return toFileObject(data);
412
327
  }
413
- function isFileObject(data) {
414
- return fileObjectSchema.safeParse(data).success;
328
+ async function stream(streamUrl, stream2, signal, contentType) {
329
+ const [testStream, dataStream] = stream2.tee();
330
+ const reader = testStream.getReader();
331
+ const dataPromise = reader.read().then(({ done: done2 }) => {
332
+ if (done2) {
333
+ throw new Error("No streaming date received");
334
+ }
335
+ reader.cancel();
336
+ });
337
+ const streamResponse = await fetch(streamUrl, {
338
+ method: "POST",
339
+ signal,
340
+ headers: contentType ? { "Content-Type": contentType } : {}
341
+ });
342
+ const data = await streamResponse.json();
343
+ if (!data || typeof data !== "object") {
344
+ throw new Error("invalid stream response");
345
+ }
346
+ const { mime, url } = data;
347
+ await dataPromise;
348
+ const done = fetch(url, {
349
+ method: "POST",
350
+ signal,
351
+ duplex: "half",
352
+ body: dataStream
353
+ });
354
+ return [toStreamObject({ mime, url }), done];
355
+ }
356
+ async function mapOutput(params) {
357
+ const streamPromises = [];
358
+ const mapped = await mapData(params.value, {
359
+ async Object(obj) {
360
+ if (obj instanceof Blob || obj instanceof RequenceFile) {
361
+ if (obj instanceof RequenceFile && obj.fileObject) {
362
+ return obj.fileObject;
363
+ }
364
+ if (params.options.uploadUrl) {
365
+ try {
366
+ if (obj instanceof Blob) {
367
+ return await upload(params.options.uploadUrl, obj, params.signal, obj.type);
368
+ }
369
+ if (obj instanceof RequenceFile) {
370
+ return await upload(params.options.uploadUrl, await obj.blob(), params.signal, obj.mimeType);
371
+ }
372
+ } catch (error) {
373
+ if (!(error instanceof Error)) {
374
+ throw error;
375
+ }
376
+ params.onFail?.(error);
377
+ return null;
378
+ }
379
+ } else {
380
+ params.onSkip?.();
381
+ return null;
382
+ }
383
+ }
384
+ if (obj instanceof Response || obj instanceof RequenceStream) {
385
+ if (obj instanceof RequenceStream && obj.streamObject) {
386
+ return obj.streamObject;
387
+ }
388
+ if (params.options.streamUrl) {
389
+ try {
390
+ if (obj instanceof Response && obj.body) {
391
+ const [streamObject, streamPromise] = await stream(params.options.streamUrl, obj.body, params.signal, obj.headers.get("Content-Type"));
392
+ streamPromises.push(streamPromise);
393
+ return streamObject;
394
+ }
395
+ if (obj instanceof RequenceStream) {
396
+ const [streamObject, streamPromise] = await stream(params.options.streamUrl, obj.stream(), params.signal, obj.mimeType);
397
+ streamPromises.push(streamPromise);
398
+ return streamObject;
399
+ }
400
+ } catch (error) {
401
+ if (!(error instanceof Error)) {
402
+ throw error;
403
+ }
404
+ params.onFail?.(error);
405
+ return null;
406
+ }
407
+ } else {
408
+ params.onSkip?.();
409
+ return null;
410
+ }
411
+ }
412
+ }
413
+ });
414
+ Promise.allSettled(streamPromises).then(() => params.onDone?.());
415
+ return mapped;
415
416
  }
416
417
 
417
418
  // ../helpers/src/utils/resolveRequenceTypes.ts
@@ -434,6 +435,7 @@ function resolveRequenceTypes(data, onCallback) {
434
435
  }
435
436
 
436
437
  // src/createTask.ts
438
+ import chalk from "chalk";
437
439
  import { createEventSource } from "eventsource-client";
438
440
 
439
441
  // src/utils/getAccessToken.ts
@@ -717,6 +719,9 @@ function createTask(options, onUpdate) {
717
719
  return;
718
720
  }
719
721
  const prepareData = await prepareResponse.json();
722
+ if (prepareData.branch !== "live" && !options.suppressBranchWarning) {
723
+ console.warn(chalk.hex("#eab308")("task is executed in", chalk.bold(prepareData.branch), "branch"));
724
+ }
720
725
  taskIdPromiseWithResolvers.resolve(prepareData.taskId);
721
726
  const mappedParams = await mapOutput({
722
727
  value: {
@@ -775,7 +780,6 @@ function createTask(options, onUpdate) {
775
780
  return resultPromiseWithResolvers.promise.finally.bind(resultPromiseWithResolvers.promise);
776
781
  },
777
782
  get then() {
778
- console.log("THEN!");
779
783
  startMonitoring();
780
784
  return resultPromiseWithResolvers.promise.then.bind(resultPromiseWithResolvers.promise);
781
785
  },
@@ -935,7 +939,8 @@ var taskSchema = z6.object({
935
939
  taskTemplate: z6.string(),
936
940
  name: z6.string(),
937
941
  nodesData: z6.array(z6.object({ alias: z6.string(), data: z6.unknown() })),
938
- nodesError: z6.array(z6.object({ alias: z6.string(), error: z6.string() }))
942
+ nodesError: z6.array(z6.object({ alias: z6.string(), error: z6.string() })),
943
+ branch: z6.union([z6.literal("live"), z6.string()])
939
944
  });
940
945
  async function getTask(taskIdOrOptions) {
941
946
  const taskId = typeof taskIdOrOptions === "string" ? taskIdOrOptions : taskIdOrOptions.taskId;
@@ -967,6 +972,7 @@ async function getTask(taskIdOrOptions) {
967
972
  statusText: taskData.statusText,
968
973
  taskTemplate: taskData.taskTemplate,
969
974
  name: taskData.name,
975
+ branch: taskData.branch,
970
976
  context
971
977
  };
972
978
  }
@@ -992,5 +998,5 @@ export {
992
998
  RequenceFile
993
999
  };
994
1000
 
995
- //# debugId=ACFFAB2F3C0AA3BD64756E2164756E21
1001
+ //# debugId=1B1F4B631C601AA564756E2164756E21
996
1002
  //# sourceMappingURL=index.js.map