@workglow/task-graph 0.0.89 → 0.0.91

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 (60) hide show
  1. package/dist/browser.js +2251 -340
  2. package/dist/browser.js.map +24 -15
  3. package/dist/bun.js +2251 -340
  4. package/dist/bun.js.map +24 -15
  5. package/dist/node.js +2251 -340
  6. package/dist/node.js.map +24 -15
  7. package/dist/task/ConditionUtils.d.ts +47 -0
  8. package/dist/task/ConditionUtils.d.ts.map +1 -0
  9. package/dist/task/ConditionalTask.d.ts +15 -0
  10. package/dist/task/ConditionalTask.d.ts.map +1 -1
  11. package/dist/task/GraphAsTask.d.ts.map +1 -1
  12. package/dist/task/ITask.d.ts +7 -0
  13. package/dist/task/ITask.d.ts.map +1 -1
  14. package/dist/task/IteratorTask.d.ts +177 -0
  15. package/dist/task/IteratorTask.d.ts.map +1 -0
  16. package/dist/task/IteratorTaskRunner.d.ts +36 -0
  17. package/dist/task/IteratorTaskRunner.d.ts.map +1 -0
  18. package/dist/task/MapTask.d.ts +82 -0
  19. package/dist/task/MapTask.d.ts.map +1 -0
  20. package/dist/task/ReduceTask.d.ts +61 -0
  21. package/dist/task/ReduceTask.d.ts.map +1 -0
  22. package/dist/task/StreamTypes.d.ts +96 -0
  23. package/dist/task/StreamTypes.d.ts.map +1 -0
  24. package/dist/task/Task.d.ts +2 -2
  25. package/dist/task/Task.d.ts.map +1 -1
  26. package/dist/task/TaskEvents.d.ts +7 -0
  27. package/dist/task/TaskEvents.d.ts.map +1 -1
  28. package/dist/task/TaskJSON.d.ts +3 -2
  29. package/dist/task/TaskJSON.d.ts.map +1 -1
  30. package/dist/task/TaskRunner.d.ts +7 -0
  31. package/dist/task/TaskRunner.d.ts.map +1 -1
  32. package/dist/task/TaskTypes.d.ts +4 -1
  33. package/dist/task/TaskTypes.d.ts.map +1 -1
  34. package/dist/task/WhileTask.d.ts +214 -0
  35. package/dist/task/WhileTask.d.ts.map +1 -0
  36. package/dist/task/WhileTaskRunner.d.ts +29 -0
  37. package/dist/task/WhileTaskRunner.d.ts.map +1 -0
  38. package/dist/task/index.d.ts +13 -1
  39. package/dist/task/index.d.ts.map +1 -1
  40. package/dist/task/iterationSchema.d.ts +70 -0
  41. package/dist/task/iterationSchema.d.ts.map +1 -0
  42. package/dist/task-graph/Dataflow.d.ts +34 -0
  43. package/dist/task-graph/Dataflow.d.ts.map +1 -1
  44. package/dist/task-graph/DataflowEvents.d.ts +2 -0
  45. package/dist/task-graph/DataflowEvents.d.ts.map +1 -1
  46. package/dist/task-graph/ITaskGraph.d.ts +6 -0
  47. package/dist/task-graph/ITaskGraph.d.ts.map +1 -1
  48. package/dist/task-graph/TaskGraph.d.ts +14 -0
  49. package/dist/task-graph/TaskGraph.d.ts.map +1 -1
  50. package/dist/task-graph/TaskGraphEvents.d.ts +7 -0
  51. package/dist/task-graph/TaskGraphEvents.d.ts.map +1 -1
  52. package/dist/task-graph/TaskGraphRunner.d.ts +25 -0
  53. package/dist/task-graph/TaskGraphRunner.d.ts.map +1 -1
  54. package/dist/task-graph/TaskGraphScheduler.d.ts +9 -0
  55. package/dist/task-graph/TaskGraphScheduler.d.ts.map +1 -1
  56. package/dist/task-graph/Workflow.d.ts +148 -9
  57. package/dist/task-graph/Workflow.d.ts.map +1 -1
  58. package/package.json +7 -7
  59. package/dist/task/TaskJSON.test.d.ts +0 -7
  60. package/dist/task/TaskJSON.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,EACZ,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAoB,SAAS,EAAyB,MAAM,aAAa,CAAC;AACjF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EAEf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,qBAAa,IAAI,CACf,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,YAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAKvC;;OAEG;IACH,OAAc,IAAI,EAAE,YAAY,CAAU;IAE1C;;OAEG;IACH,OAAc,QAAQ,EAAE,MAAM,CAAY;IAE1C;;OAEG;IACH,OAAc,KAAK,EAAE,MAAM,CAAM;IAEjC;;OAEG;IACH,OAAc,SAAS,EAAE,OAAO,CAAQ;IAExC;;;;OAIG;IACH,OAAc,iBAAiB,EAAE,OAAO,CAAS;IAEjD;;OAEG;WACW,WAAW,IAAI,cAAc;IAQ3C;;OAEG;WACW,YAAY,IAAI,cAAc;IAY5C;;;;;;;OAOG;IACU,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOzF;;;;;;;;OAQG;IACU,eAAe,CAC1B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQ9B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAEjE;;;OAGG;IACH,IAAW,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAKrD;IAED;;;;;;;OAOG;IACG,GAAG,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D;;;;;;OAMG;IACU,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE;;;OAGG;IACI,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrC;;OAEG;IACI,WAAW,IAAI,cAAc;IAIpC;;OAEG;IACI,YAAY,IAAI,cAAc;IAIrC,IAAW,IAAI,IAAI,YAAY,CAE9B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,SAAS,IAAI,OAAO,CAK9B;IAMD;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE9B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAEvC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAMxC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,UAAU,CAAsB;IAExC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAK;IAErB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAc;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAKpD;IACD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAEhE;;;;;OAKG;gBACS,mBAAmB,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM;IAuBlF;;OAEG;IACH,0CAA0C,IAAI,OAAO,CAAC,KAAK,CAAC;IAgC5D;;OAEG;IACI,cAAc,IAAI,IAAI;IAI7B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,UAAU;IA+DlB;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKvD;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAiCjD;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,OAAO;IAuE/D;;;;;OAKG;IACU,WAAW,CACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAQ/B;;OAEG;IACI,SAAS,CAAC,KAAK,SAAS,UAAU,EACvC,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAC3B,MAAM,IAAI;IAIb;;OAEG;IACI,EAAE,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAIpF;;OAEG;IACI,GAAG,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAIrF;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAItF;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAIzF;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI;IAM7F;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI;IAU7F;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAsC;IAErE,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,cAAc;IAU/D;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU;IAmBnE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU;IAI5D;;OAEG;IACU,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBnE;;OAEG;IACI,EAAE,IAAI,OAAO;IAQpB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAuBpB;;;OAGG;IACI,MAAM,IAAI,iBAAiB;IAYlC;;;OAGG;IACI,gBAAgB,IAAI,YAAY;IASvC;;;;;OAKG;IACI,WAAW,IAAI,OAAO;IAQ7B,OAAO,CAAC,kBAAkB,CAExB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;IAEvD;;;OAGG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAM/B;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,SAAS,CAMxB;IAED;;;;;;;OAOG;IACI,eAAe,IAAI,IAAI;CAW/B"}
1
+ {"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../src/task/Task.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,EACZ,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAoB,SAAS,EAAyB,MAAM,aAAa,CAAC;AACjF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EAEf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,qBAAa,IAAI,CACf,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,YAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAKvC;;OAEG;IACH,OAAc,IAAI,EAAE,YAAY,CAAU;IAE1C;;OAEG;IACH,OAAc,QAAQ,EAAE,MAAM,CAAY;IAE1C;;OAEG;IACH,OAAc,KAAK,EAAE,MAAM,CAAM;IAEjC;;OAEG;IACH,OAAc,SAAS,EAAE,OAAO,CAAQ;IAExC;;;;OAIG;IACH,OAAc,iBAAiB,EAAE,OAAO,CAAS;IAEjD;;OAEG;WACW,WAAW,IAAI,cAAc;IAQ3C;;OAEG;WACW,YAAY,IAAI,cAAc;IAY5C;;;;;;;OAOG;IACU,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO1F;;;;;;;;OAQG;IACU,eAAe,CAC1B,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQ9B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAEjE;;;OAGG;IACH,IAAW,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAKrD;IAED;;;;;;;OAOG;IACG,GAAG,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1D;;;;;;OAMG;IACU,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE;;;OAGG;IACI,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrC;;OAEG;IACI,WAAW,IAAI,cAAc;IAIpC;;OAEG;IACI,YAAY,IAAI,cAAc;IAIrC,IAAW,IAAI,IAAI,YAAY,CAE9B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,SAAS,IAAI,OAAO,CAK9B;IAMD;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE9B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAEvC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAMxC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,UAAU,CAAsB;IAExC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAK;IAErB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAc;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAKpD;IACD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC;IAEhE;;;;;OAKG;gBACS,mBAAmB,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,OAAO,CAAC,MAAM,CAAM;IAuBlF;;OAEG;IACH,0CAA0C,IAAI,OAAO,CAAC,KAAK,CAAC;IAgC5D;;OAEG;IACI,cAAc,IAAI,IAAI;IAI7B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,UAAU;IA+DlB;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKvD;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAiCjD;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,OAAO;IAuE/D;;;;;OAKG;IACU,WAAW,CACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAQ/B;;OAEG;IACI,SAAS,CAAC,KAAK,SAAS,UAAU,EACvC,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAC3B,MAAM,IAAI;IAIb;;OAEG;IACI,EAAE,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAIpF;;OAEG;IACI,GAAG,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAIrF;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAItF;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAIzF;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI;IAM7F;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI;IAU7F;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAsC;IAErE,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,cAAc;IAU/D;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU;IAmBnE,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU;IAI5D;;OAEG;IACU,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBnE;;OAEG;IACI,EAAE,IAAI,OAAO;IAQpB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAuBpB;;;OAGG;IACI,MAAM,IAAI,iBAAiB;IAYlC;;;OAGG;IACI,gBAAgB,IAAI,YAAY;IASvC;;;;;OAKG;IACI,WAAW,IAAI,OAAO;IAQ7B,OAAO,CAAC,kBAAkB,CAExB;IAEF;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;IAEvD;;;OAGG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAM/B;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,SAAS,CAMxB;IAED;;;;;;;OAOG;IACI,eAAe,IAAI,IAAI;CAW/B"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { EventParameters, type DataPortSchema } from "@workglow/util";
7
+ import type { StreamEvent } from "./StreamTypes";
7
8
  import { TaskAbortedError, TaskError } from "./TaskError";
8
9
  import { TaskStatus } from "./TaskTypes";
9
10
  /**
@@ -30,6 +31,12 @@ export type TaskEventListeners = {
30
31
  status: (status: TaskStatus) => void;
31
32
  /** Fired when a task's input or output schema changes (for tasks with dynamic schemas) */
32
33
  schemaChange: (inputSchema?: DataPortSchema, outputSchema?: DataPortSchema) => void;
34
+ /** Fired when a streaming task begins producing chunks */
35
+ stream_start: () => void;
36
+ /** Fired for each stream chunk produced by a streaming task */
37
+ stream_chunk: (event: StreamEvent) => void;
38
+ /** Fired when a streaming task finishes (carries final output) */
39
+ stream_end: (output: Record<string, any>) => void;
33
40
  };
34
41
  /** Union type of all possible task event names */
35
42
  export type TaskEvents = keyof TaskEventListeners;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskEvents.d.ts","sourceRoot":"","sources":["../../src/task/TaskEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yCAAyC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,mCAAmC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEzC,4CAA4C;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,yCAAyC;IACzC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEvE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,0CAA0C;IAC1C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAErC,0FAA0F;IAC1F,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACrF,CAAC;AACF,kDAAkD;AAElD,MAAM,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;AAClD,6CAA6C;AAE7C,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,UAAU,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpF,qCAAqC;AAErC,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,UAAU,IAAI,eAAe,CACzE,kBAAkB,EAClB,KAAK,CACN,CAAC"}
1
+ {"version":3,"file":"TaskEvents.d.ts","sourceRoot":"","sources":["../../src/task/TaskEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yCAAyC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,mCAAmC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEzC,4CAA4C;IAC5C,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,yCAAyC;IACzC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEvE,2DAA2D;IAC3D,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB,mDAAmD;IACnD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,0CAA0C;IAC1C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAErC,0FAA0F;IAC1F,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAEpF,0DAA0D;IAC1D,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB,+DAA+D;IAC/D,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE3C,kEAAkE;IAClE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACnD,CAAC;AACF,kDAAkD;AAElD,MAAM,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC;AAClD,6CAA6C;AAE7C,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,UAAU,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpF,qCAAqC;AAErC,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,UAAU,IAAI,eAAe,CACzE,kBAAkB,EAClB,KAAK,CACN,CAAC"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { TaskGraph } from "../task-graph/TaskGraph";
7
7
  import { CompoundMergeStrategy } from "../task-graph/TaskGraphRunner";
8
+ import { GraphAsTask } from "./GraphAsTask";
8
9
  import { DataPorts, TaskInput } from "./TaskTypes";
9
10
  /**
10
11
  * Represents a single task item in the JSON configuration.
@@ -62,7 +63,7 @@ export type DataflowJson = {
62
63
  * Creates a task instance from a JSON task item configuration
63
64
  * Validates required fields and resolves task type from registry
64
65
  */
65
- export declare const createTaskFromDependencyJSON: (item: JsonTaskItem) => import("./ITask").ITask<any, any, any>;
66
+ export declare const createTaskFromDependencyJSON: (item: JsonTaskItem) => GraphAsTask<any, any, any> | import("./ITask").ITask<any, any, any>;
66
67
  /**
67
68
  * Creates a task graph from an array of JSON task items
68
69
  * Recursively processes subtasks for compound tasks
@@ -74,7 +75,7 @@ export declare const createGraphFromDependencyJSON: (jsonItems: JsonTaskItem[])
74
75
  * @returns A new task instance
75
76
  * @throws Error if required fields are missing or invalid
76
77
  */
77
- export declare const createTaskFromGraphJSON: (item: TaskGraphItemJson) => import("./ITask").ITask<any, any, any>;
78
+ export declare const createTaskFromGraphJSON: (item: TaskGraphItemJson) => GraphAsTask<any, any, any> | import("./ITask").ITask<any, any, any>;
78
79
  /**
79
80
  * Creates a TaskGraph instance from its JSON representation
80
81
  * @param graphJsonObj The JSON representation of the task graph
@@ -1 +1 @@
1
- {"version":3,"file":"TaskJSON.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAItE,OAAO,EAAE,SAAS,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAK/D;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IAEZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,sCAAsC;IACtC,YAAY,CAAC,EAAE;QACb,wDAAwD;QACxD,CAAC,CAAC,EAAE,MAAM,GACN;YACE,4BAA4B;YAC5B,EAAE,EAAE,OAAO,CAAC;YAEZ,6CAA6C;YAC7C,MAAM,EAAE,MAAM,CAAC;SAChB,GACD,KAAK,CAAC;YACJ,EAAE,EAAE,OAAO,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACR,CAAC;IAEF,iIAAiI;IACjI,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC,CAAC;;GAEA;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,MAAM,YAAY,2CAS9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,WAAW,YAAY,EAAE,cAMtE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,iBAAiB,2CAS9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,aAAa,cAgBnE,CAAC"}
1
+ {"version":3,"file":"TaskJSON.d.ts","sourceRoot":"","sources":["../../src/task/TaskJSON.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAK/D;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IAEZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wCAAwC;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,sCAAsC;IACtC,YAAY,CAAC,EAAE;QACb,wDAAwD;QACxD,CAAC,CAAC,EAAE,MAAM,GACN;YACE,4BAA4B;YAC5B,EAAE,EAAE,OAAO,CAAC;YAEZ,6CAA6C;YAC7C,MAAM,EAAE,MAAM,CAAC;SAChB,GACD,KAAK,CAAC;YACJ,EAAE,EAAE,OAAO,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACR,CAAC;IAEF,iIAAiI;IACjI,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC,CAAC;;GAEA;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,MAAM,YAAY,wEAS9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GAAI,WAAW,YAAY,EAAE,cAMtE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,iBAAiB,wEAS9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,cAAc,aAAa,cAgBnE,CAAC"}
@@ -66,6 +66,13 @@ export declare class TaskRunner<Input extends TaskInput = TaskInput, Output exte
66
66
  * Protected method for reactive execution delegation
67
67
  */
68
68
  protected executeTaskReactive(input: Input, output: Output): Promise<Output>;
69
+ /**
70
+ * Executes a streaming task by consuming its executeStream() async iterable.
71
+ * In append mode, text-delta chunks are always accumulated into the final
72
+ * output's `text` field, regardless of output cache configuration.
73
+ * In replace mode, the final output comes from the finish event data.
74
+ */
75
+ protected executeStreamingTask(input: Input): Promise<Output | undefined>;
69
76
  /**
70
77
  * Handles task start
71
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/TaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAyB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAA0B,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAE5E;;;GAGG;AACH,qBAAa,UAAU,CACrB,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,UAAU,GAAG,UAAU,CACtC,YAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAC7C;;OAEG;IACH,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,eAAe,UAAS;IAElC;;OAEG;IACH,SAAgB,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAE7C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,eAAe,CAAyB;IAE5D;;;OAGG;gBACS,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAU9C;;;;;OAKG;IACG,GAAG,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAiDnF;;;;OAIG;IACU,WAAW,CAAC,SAAS,GAAE,OAAO,CAAC,KAAK,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCzE;;OAEG;IACI,KAAK,IAAI,IAAI;IAWpB,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAMnD;;OAEG;cACa,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUtE;;OAEG;cACa,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlF;;OAEG;cACa,WAAW,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnE,OAAO,CAAC,cAAc,CAKd;cAEQ,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAS5B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;cACa,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;cAY/B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;OAGG;cACa,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;cAkBtC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;OAIG;cACa,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CAKjB"}
1
+ {"version":3,"file":"TaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/TaskRunner.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,12 @@ import type { Task } from "./Task";
10
10
  * Enum representing the possible states of a task
11
11
  *
12
12
  * PENDING -> PROCESSING -> COMPLETED
13
+ * PENDING -> PROCESSING -> STREAMING -> COMPLETED
13
14
  * PENDING -> PROCESSING -> ABORTING -> FAILED
14
15
  * PENDING -> PROCESSING -> FAILED
15
16
  * PENDING -> DISABLED
16
17
  */
17
- export type TaskStatus = "PENDING" | "DISABLED" | "PROCESSING" | "COMPLETED" | "ABORTING" | "FAILED";
18
+ export type TaskStatus = "PENDING" | "DISABLED" | "PROCESSING" | "STREAMING" | "COMPLETED" | "ABORTING" | "FAILED";
18
19
  export declare const TaskStatus: {
19
20
  /** Task is created but not yet started */
20
21
  readonly PENDING: "PENDING";
@@ -22,6 +23,8 @@ export declare const TaskStatus: {
22
23
  readonly DISABLED: "DISABLED";
23
24
  /** Task is currently running */
24
25
  readonly PROCESSING: "PROCESSING";
26
+ /** Task has begun producing streaming output chunks */
27
+ readonly STREAMING: "STREAMING";
25
28
  /** Task has completed successfully */
26
29
  readonly COMPLETED: "COMPLETED";
27
30
  /** Task is in the process of being aborted */
@@ -1 +1 @@
1
- {"version":3,"file":"TaskTypes.d.ts","sourceRoot":"","sources":["../../src/task/TaskTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU;IACrB,0CAA0C;;IAE1C,gDAAgD;;IAEhD,gCAAgC;;IAEhC,sCAAsC;;IAEtC,8CAA8C;;IAE9C,sBAAsB;;CAE2B,CAAC;AAMpD,MAAM,WAAW,SAAU,SAAQ,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAC1B;IACE,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;CAChD,CAAC;AAGN,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,kCAAkC;AAClC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAM1C,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IAEZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iDAAiD;IACjD,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAE7C,2FAA2F;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iIAAiI;IACjI,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"TaskTypes.d.ts","sourceRoot":"","sources":["../../src/task/TaskTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU;IACrB,0CAA0C;;IAE1C,gDAAgD;;IAEhD,gCAAgC;;IAEhC,uDAAuD;;IAEvD,sCAAsC;;IAEtC,8CAA8C;;IAE9C,sBAAsB;;CAE2B,CAAC;AAMpD,MAAM,WAAW,SAAU,SAAQ,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC;AAElC,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,MAAM,MAAM,kBAAkB,GAC1B;IACE,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,GACD;IACE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;CAChD,CAAC;AAEN,+BAA+B;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,kCAAkC;AAClC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAM1C,MAAM,WAAW,OAAO;IACtB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IAEZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iDAAiD;IACjD,WAAW,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;IAE7C,2FAA2F;IAC3F,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,iIAAiI;IACjI,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { DataPortSchema } from "@workglow/util";
7
+ import { GraphAsTask, GraphAsTaskConfig } from "./GraphAsTask";
8
+ import type { IExecuteContext } from "./ITask";
9
+ import type { TaskInput, TaskOutput, TaskTypeName } from "./TaskTypes";
10
+ import { WhileTaskRunner } from "./WhileTaskRunner";
11
+ /**
12
+ * WhileTask context schema - only has index since count is unknown ahead of time.
13
+ * Properties are marked with "x-ui-iteration": true so the builder
14
+ * knows to hide them from parent-level display.
15
+ */
16
+ export declare const WHILE_CONTEXT_SCHEMA: DataPortSchema;
17
+ /**
18
+ * Condition function type for WhileTask.
19
+ * Receives the current output and iteration count, returns whether to continue looping.
20
+ *
21
+ * @param output - The output from the last iteration
22
+ * @param iteration - The current iteration number (0-based)
23
+ * @returns true to continue looping, false to stop
24
+ */
25
+ export type WhileConditionFn<Output> = (output: Output, iteration: number) => boolean;
26
+ /**
27
+ * Configuration for WhileTask.
28
+ */
29
+ export interface WhileTaskConfig<Output extends TaskOutput = TaskOutput> extends GraphAsTaskConfig {
30
+ /**
31
+ * Condition function that determines whether to continue looping.
32
+ * Called after each iteration with the current output and iteration count.
33
+ * Returns true to continue, false to stop.
34
+ */
35
+ readonly condition?: WhileConditionFn<Output>;
36
+ /**
37
+ * Maximum number of iterations to prevent infinite loops.
38
+ * @default 100
39
+ */
40
+ readonly maxIterations?: number;
41
+ /**
42
+ * Whether to pass the output of each iteration as input to the next.
43
+ * When true, output from iteration N becomes input to iteration N+1.
44
+ * @default true
45
+ */
46
+ readonly chainIterations?: boolean;
47
+ }
48
+ /**
49
+ * WhileTask loops until a condition function returns false.
50
+ *
51
+ * This task is useful for:
52
+ * - Iterative refinement processes
53
+ * - Polling until a condition is met
54
+ * - Convergence algorithms
55
+ * - Retry logic with conditions
56
+ *
57
+ * ## Features
58
+ *
59
+ * - Loops until condition returns false
60
+ * - Configurable maximum iterations (safety limit)
61
+ * - Passes output from each iteration to the next
62
+ * - Access to iteration count in condition function
63
+ *
64
+ * ## Usage
65
+ *
66
+ * ```typescript
67
+ * // Refine until quality threshold
68
+ * workflow
69
+ * .while({
70
+ * condition: (output, iteration) => output.quality < 0.9 && iteration < 10,
71
+ * maxIterations: 20
72
+ * })
73
+ * .refineResult()
74
+ * .evaluateQuality()
75
+ * .endWhile()
76
+ *
77
+ * // Retry until success
78
+ * workflow
79
+ * .while({
80
+ * condition: (output) => !output.success,
81
+ * maxIterations: 5
82
+ * })
83
+ * .attemptOperation()
84
+ * .endWhile()
85
+ * ```
86
+ *
87
+ * @template Input - The input type for the while task
88
+ * @template Output - The output type for the while task
89
+ * @template Config - The configuration type
90
+ */
91
+ export declare class WhileTask<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends WhileTaskConfig<Output> = WhileTaskConfig<Output>> extends GraphAsTask<Input, Output, Config> {
92
+ static type: TaskTypeName;
93
+ static category: string;
94
+ static title: string;
95
+ static description: string;
96
+ /** This task has dynamic schemas based on the inner workflow */
97
+ static hasDynamicSchemas: boolean;
98
+ /**
99
+ * Returns the schema for iteration-context inputs that will be
100
+ * injected into the subgraph InputTask at runtime.
101
+ *
102
+ * WhileTask only provides _iterationIndex since the total count
103
+ * is unknown ahead of time.
104
+ */
105
+ static getIterationContextSchema(): DataPortSchema;
106
+ /**
107
+ * Current iteration count during execution.
108
+ */
109
+ protected _currentIteration: number;
110
+ constructor(input?: Partial<Input>, config?: Partial<Config>);
111
+ _runner: WhileTaskRunner<Input, Output, Config>;
112
+ get runner(): WhileTaskRunner<Input, Output, Config>;
113
+ /**
114
+ * Gets the condition function.
115
+ */
116
+ get condition(): WhileConditionFn<Output> | undefined;
117
+ /**
118
+ * Gets the maximum iterations limit.
119
+ * Falls back to extras.whileConfig.maxIterations for JSON-deserialized tasks.
120
+ */
121
+ get maxIterations(): number;
122
+ /**
123
+ * Whether to chain iteration outputs to inputs.
124
+ * Falls back to extras.whileConfig.chainIterations for JSON-deserialized tasks.
125
+ */
126
+ get chainIterations(): boolean;
127
+ /**
128
+ * Gets the current iteration count.
129
+ */
130
+ get currentIteration(): number;
131
+ /**
132
+ * Execute the while loop.
133
+ */
134
+ /**
135
+ * Builds a condition function from the serialized whileConfig in extras
136
+ * when no condition function is directly provided in config.
137
+ */
138
+ private buildConditionFromExtras;
139
+ /**
140
+ * Analyzes the iterationInputConfig from whileConfig to decompose
141
+ * array inputs into per-iteration scalar values.
142
+ *
143
+ * Returns null if no iterationInputConfig is present (normal while behavior).
144
+ */
145
+ private analyzeArrayInputs;
146
+ /**
147
+ * Builds per-iteration input by picking the i-th element from each array port
148
+ * and passing scalar ports through unchanged.
149
+ */
150
+ private buildIterationInput;
151
+ execute(input: Input, context: IExecuteContext): Promise<Output | undefined>;
152
+ /**
153
+ * Instance method to get the iteration context schema.
154
+ * Can be overridden by subclasses to customize iteration context.
155
+ */
156
+ getIterationContextSchema(): DataPortSchema;
157
+ /**
158
+ * When chainIterations is true, the output schema from the previous
159
+ * iteration becomes part of the input schema for the next iteration.
160
+ * These chained properties should be marked with "x-ui-iteration": true.
161
+ *
162
+ * @returns Schema with chained output properties marked for iteration, or undefined if not chaining
163
+ */
164
+ getChainedOutputSchema(): DataPortSchema | undefined;
165
+ /**
166
+ * Instance input schema override.
167
+ * When iterationInputConfig is present, wraps array-mode ports in array schemas
168
+ * so that the dataflow compatibility check accepts array values.
169
+ */
170
+ inputSchema(): DataPortSchema;
171
+ /**
172
+ * Static input schema for WhileTask.
173
+ */
174
+ static inputSchema(): DataPortSchema;
175
+ /**
176
+ * Static output schema for WhileTask.
177
+ */
178
+ static outputSchema(): DataPortSchema;
179
+ /**
180
+ * Instance output schema - returns final iteration output schema.
181
+ */
182
+ outputSchema(): DataPortSchema;
183
+ }
184
+ declare module "../task-graph/Workflow" {
185
+ interface Workflow {
186
+ /**
187
+ * Starts a while loop that continues until a condition is false.
188
+ * Use .endWhile() to close the loop and return to the parent workflow.
189
+ *
190
+ * @param config - Configuration for the while loop (must include condition)
191
+ * @returns A Workflow in loop builder mode for defining the loop body
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * workflow
196
+ * .while({
197
+ * condition: (output, iteration) => output.quality < 0.9,
198
+ * maxIterations: 10
199
+ * })
200
+ * .refineResult()
201
+ * .endWhile()
202
+ * ```
203
+ */
204
+ while: CreateLoopWorkflow<TaskInput, TaskOutput, WhileTaskConfig<any>>;
205
+ /**
206
+ * Ends the while loop and returns to the parent workflow.
207
+ * Only callable on workflows in loop builder mode.
208
+ *
209
+ * @returns The parent workflow
210
+ */
211
+ endWhile(): Workflow;
212
+ }
213
+ }
214
+ //# sourceMappingURL=WhileTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhileTask.d.ts","sourceRoot":"","sources":["../../src/task/WhileTask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { GraphAsTaskRunner } from "./GraphAsTaskRunner";
7
+ import type { TaskInput, TaskOutput } from "./TaskTypes";
8
+ import type { WhileTask, WhileTaskConfig } from "./WhileTask";
9
+ /**
10
+ * Runner for WhileTask that delegates to the task's execute() method
11
+ * instead of directly running the subgraph once (which is what
12
+ * GraphAsTaskRunner does by default).
13
+ *
14
+ * This follows the same pattern as IteratorTaskRunner.
15
+ */
16
+ export declare class WhileTaskRunner<Input extends TaskInput = TaskInput, Output extends TaskOutput = TaskOutput, Config extends WhileTaskConfig<Output> = WhileTaskConfig<Output>> extends GraphAsTaskRunner<Input, Output, Config> {
17
+ task: WhileTask<Input, Output, Config>;
18
+ /**
19
+ * Override executeTask to call the task's execute() method which
20
+ * contains the while-loop logic, rather than the default
21
+ * GraphAsTaskRunner behavior of running the subgraph once.
22
+ */
23
+ protected executeTask(input: Input): Promise<Output | undefined>;
24
+ /**
25
+ * For WhileTask, reactive runs use the task's reactive hook only.
26
+ */
27
+ executeTaskReactive(input: Input, output: Output): Promise<Output>;
28
+ }
29
+ //# sourceMappingURL=WhileTaskRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhileTaskRunner.d.ts","sourceRoot":"","sources":["../../src/task/WhileTaskRunner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;;GAMG;AACH,qBAAa,eAAe,CAC1B,KAAK,SAAS,SAAS,GAAG,SAAS,EACnC,MAAM,SAAS,UAAU,GAAG,UAAU,EACtC,MAAM,SAAS,eAAe,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAChE,SAAQ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/C;;;;OAIG;cACsB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW/E;;OAEG;IACmB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAIzF"}
@@ -4,12 +4,19 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export * from "./ConditionalTask";
7
+ export * from "./ConditionUtils";
7
8
  export * from "./GraphAsTask";
8
9
  export * from "./GraphAsTaskRunner";
9
10
  export * from "./InputResolver";
10
11
  export * from "./ITask";
12
+ export * from "./iterationSchema";
13
+ export * from "./IteratorTask";
14
+ export * from "./IteratorTaskRunner";
11
15
  export * from "./JobQueueFactory";
12
16
  export * from "./JobQueueTask";
17
+ export * from "./MapTask";
18
+ export * from "./ReduceTask";
19
+ export * from "./StreamTypes";
13
20
  export * from "./Task";
14
21
  export * from "./TaskError";
15
22
  export * from "./TaskEvents";
@@ -17,7 +24,12 @@ export * from "./TaskJSON";
17
24
  export * from "./TaskQueueRegistry";
18
25
  export * from "./TaskRegistry";
19
26
  export * from "./TaskTypes";
27
+ export * from "./WhileTask";
28
+ export * from "./WhileTaskRunner";
20
29
  import { ConditionalTask } from "./ConditionalTask";
21
30
  import { GraphAsTask } from "./GraphAsTask";
22
- export declare const registerBaseTasks: () => (typeof ConditionalTask | typeof GraphAsTask)[];
31
+ import { MapTask } from "./MapTask";
32
+ import { ReduceTask } from "./ReduceTask";
33
+ import { WhileTask } from "./WhileTask";
34
+ export declare const registerBaseTasks: () => (typeof GraphAsTask | typeof ConditionalTask | typeof MapTask | typeof WhileTask | typeof ReduceTask)[];
23
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,eAAO,MAAM,iBAAiB,uDAI7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,iBAAiB,+GAI7B,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ *
6
+ * Shared iteration schema helpers used by IteratorTask/WhileTask and the builder.
7
+ * Re-exports context schemas and adds pure schema functions that operate on DataPortSchema.
8
+ */
9
+ import type { DataPortSchema, PropertySchema } from "@workglow/util";
10
+ import { createArraySchema, createFlexibleSchema, extractBaseSchema, ITERATOR_CONTEXT_SCHEMA, type ExecutionMode, type IterationInputMode, type IterationPropertyConfig } from "./IteratorTask";
11
+ import { WHILE_CONTEXT_SCHEMA } from "./WhileTask";
12
+ export { createArraySchema, createFlexibleSchema, extractBaseSchema, ITERATOR_CONTEXT_SCHEMA, WHILE_CONTEXT_SCHEMA, type ExecutionMode, type IterationInputMode, type IterationPropertyConfig, };
13
+ /** Config for buildIterationInputSchema: mode and optional baseSchema (defaults to extracted from inner). */
14
+ export type IterationInputConfig = Record<string, {
15
+ mode: IterationInputMode;
16
+ baseSchema?: DataPortSchema;
17
+ }>;
18
+ /**
19
+ * Determines if a schema is a flexible type (T | T[]).
20
+ */
21
+ export declare function isFlexibleSchema(schema: DataPortSchema): boolean;
22
+ /**
23
+ * Determines if a schema is strictly an array type.
24
+ */
25
+ export declare function isStrictArraySchema(schema: DataPortSchema): boolean;
26
+ /**
27
+ * Gets the input mode for a schema property.
28
+ */
29
+ export declare function getInputModeFromSchema(schema: DataPortSchema): IterationInputMode;
30
+ /**
31
+ * Get the appropriate iteration context schema for a given task type.
32
+ */
33
+ export declare function getIterationContextSchemaForType(taskType: string): DataPortSchema | undefined;
34
+ /**
35
+ * Merge iteration context schema into an existing InputNode schema.
36
+ */
37
+ export declare function addIterationContextToSchema(existingSchema: DataPortSchema | undefined, parentTaskType: string): DataPortSchema;
38
+ /**
39
+ * Check if a schema property is an iteration-injected input.
40
+ */
41
+ export declare function isIterationProperty(schema: PropertySchema): boolean;
42
+ /**
43
+ * Filter out iteration properties from a schema (for parent display).
44
+ */
45
+ export declare function filterIterationProperties(schema?: DataPortSchema): DataPortSchema | undefined;
46
+ /**
47
+ * Extract only iteration properties from a schema.
48
+ */
49
+ export declare function extractIterationProperties(schema?: DataPortSchema): DataPortSchema | undefined;
50
+ /**
51
+ * Remove iteration properties from a schema (alias for filterIterationProperties).
52
+ */
53
+ export declare function removeIterationProperties(schema?: DataPortSchema): DataPortSchema | undefined;
54
+ /**
55
+ * Merge chained output properties into input schema; marks output properties with "x-ui-iteration": true.
56
+ */
57
+ export declare function mergeChainedOutputToInput(inputSchema: DataPortSchema | undefined, outputSchema: DataPortSchema | undefined): DataPortSchema;
58
+ /**
59
+ * Builds the iteration input schema from the inner schema and optional iteration input configuration.
60
+ */
61
+ export declare function buildIterationInputSchema(innerSchema: DataPortSchema | undefined, config?: IterationInputConfig): DataPortSchema;
62
+ /**
63
+ * Find array-typed ports from an input schema.
64
+ */
65
+ export declare function findArrayPorts(schema: DataPortSchema | undefined): string[];
66
+ /**
67
+ * Wrap a schema's properties in arrays for iteration output.
68
+ */
69
+ export declare function wrapSchemaInArray(schema: DataPortSchema | undefined): DataPortSchema | undefined;
70
+ //# sourceMappingURL=iterationSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterationSchema.d.ts","sourceRoot":"","sources":["../../src/task/iterationSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC7B,CAAC;AAEF,6GAA6G;AAC7G,MAAM,MAAM,oBAAoB,GAAG,MAAM,CACvC,MAAM,EACN;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CAAE,CAC1D,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAsBhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAInE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,kBAAkB,CAIjF;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAQ7F;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,cAAc,EAAE,MAAM,GACrB,cAAc,CA4BhB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAGnE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAiB7F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAe9F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAE7F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,YAAY,EAAE,cAAc,GAAG,SAAS,GACvC,cAAc,CAiChB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,CAAC,EAAE,oBAAoB,GAC5B,cAAc,CA2DhB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,EAAE,CAgB3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAmBhG"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { EventEmitter } from "@workglow/util";
7
+ import type { StreamEvent } from "../task/StreamTypes";
7
8
  import { TaskError } from "../task/TaskError";
8
9
  import { DataflowJson } from "../task/TaskJSON";
9
10
  import { TaskIdType, TaskOutput, TaskStatus } from "../task/TaskTypes";
@@ -26,6 +27,39 @@ export declare class Dataflow {
26
27
  value: any;
27
28
  status: TaskStatus;
28
29
  error: TaskError | undefined;
30
+ /**
31
+ * Active stream for this dataflow edge.
32
+ * Set when a streaming upstream task begins producing chunks.
33
+ * Multiple downstream consumers can each get an independent reader via tee().
34
+ */
35
+ stream: ReadableStream<StreamEvent> | undefined;
36
+ /**
37
+ * Sets the active stream on this dataflow.
38
+ * @param stream The ReadableStream of StreamEvents from the upstream task
39
+ */
40
+ setStream(stream: ReadableStream<StreamEvent>): void;
41
+ /**
42
+ * Gets the active stream from this dataflow, or undefined if not streaming.
43
+ */
44
+ getStream(): ReadableStream<StreamEvent> | undefined;
45
+ /**
46
+ * Consumes the active stream to completion and materializes the value.
47
+ *
48
+ * This is edge-level accumulation for non-streaming downstream tasks that
49
+ * depend on a streaming upstream task (Plan section 5e). The method reads
50
+ * all stream events and determines the final value:
51
+ *
52
+ * - **append mode** (text-delta events): concatenates all textDelta strings.
53
+ * The accumulated text is stored directly as `this.value` (for specific-port
54
+ * dataflows) or wrapped in `{ text }` (for DATAFLOW_ALL_PORTS).
55
+ * - **replace mode** (snapshot events): uses the data from the last snapshot.
56
+ * - **finish with data**: uses the finish payload (covers cache-on append and
57
+ * replace modes where the provider already accumulated).
58
+ *
59
+ * After consumption the stream reference is cleared. Calling this method on
60
+ * a dataflow that has no stream is a no-op.
61
+ */
62
+ awaitStreamValue(): Promise<void>;
29
63
  reset(): void;
30
64
  setStatus(status: TaskStatus): void;
31
65
  setPortData(entireDataBlock: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Dataflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Dataflow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,GAAG,MAAM,IAAI,MAAM,SAAS,MAAM,IAAI,MAAM,GAAG,CAAC;AAE7E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;GAEG;AACH,qBAAa,QAAQ;IAEV,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,MAAM;gBAHxB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM;WAEnB,QAAQ,CACpB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,MAAM,GACvB,cAAc;IAGjB,IAAI,EAAE,IAAI,cAAc,CAOvB;IACM,KAAK,EAAE,GAAG,CAAa;IACvB,MAAM,EAAE,UAAU,CAAsB;IACxC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAE7B,KAAK;IAQL,SAAS,CAAC,MAAM,EAAE,UAAU;IA0BnC,WAAW,CAAC,eAAe,EAAE,GAAG;IAUhC,WAAW,IAAI,UAAU;IAYzB,MAAM,IAAI,YAAY;IAStB,sBAAsB,CACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GACjB,QAAQ,GAAG,SAAS,GAAG,cAAc;IAiDxC;;OAEG;IACH,IAAW,MAAM,IAAI,YAAY,CAAC,sBAAsB,CAAC,CAKxD;IACD,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IAE7D,SAAS,CAAC,KAAK,SAAS,cAAc,EAC3C,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAC/B,MAAM,IAAI;IAIb;;OAEG;IACI,EAAE,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI5F;;OAEG;IACI,GAAG,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI7F;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI9F;;OAEG;IACI,MAAM,CAAC,KAAK,SAAS,cAAc,EACxC,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAI1C;;OAEG;IACI,IAAI,CAAC,KAAK,SAAS,cAAc,EACtC,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,uBAAuB,CAAC,KAAK,CAAC,GACtC,IAAI;CAGR;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,QAAQ,EAAE,cAAc;CAarC"}
1
+ {"version":3,"file":"Dataflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Dataflow.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ import { TaskStatus } from "../task/TaskTypes";
12
12
  export type DataflowEventListeners = {
13
13
  /** Fired when a source task starts execution */
14
14
  start: () => void;
15
+ /** Fired when a source task begins streaming output */
16
+ streaming: () => void;
15
17
  /** Fired when a source task completes successfully */
16
18
  complete: () => void;
17
19
  /** Fired when a source task is disabled */
@@ -1 +1 @@
1
- {"version":3,"file":"DataflowEvents.d.ts","sourceRoot":"","sources":["../../src/task-graph/DataflowEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,mDAAmD;IACnD,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,uDAAuD;IACvD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,2CAA2C;IAC3C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CAAC;AACF,sDAAsD;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC;AAC1D,iDAAiD;AAEjD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,cAAc,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChG,yCAAyC;AAEzC,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,cAAc,IAAI,eAAe,CACjF,sBAAsB,EACtB,KAAK,CACN,CAAC"}
1
+ {"version":3,"file":"DataflowEvents.d.ts","sourceRoot":"","sources":["../../src/task-graph/DataflowEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AAEH,MAAM,MAAM,sBAAsB,GAAG;IACnC,gDAAgD;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,uDAAuD;IACvD,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,mDAAmD;IACnD,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAElC,uDAAuD;IACvD,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,2CAA2C;IAC3C,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC,CAAC;AACF,sDAAsD;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC;AAC1D,iDAAiD;AAEjD,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,cAAc,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChG,yCAAyC;AAEzC,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,cAAc,IAAI,eAAe,CACjF,sBAAsB,EACtB,KAAK,CACN,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ITask } from "../task/ITask";
7
+ import type { StreamEvent } from "../task/StreamTypes";
7
8
  import { JsonTaskItem, TaskGraphJson } from "../task/TaskJSON";
8
9
  import type { TaskIdType, TaskInput, TaskOutput, TaskStatus } from "../task/TaskTypes";
9
10
  import { Dataflow, DataflowIdType } from "./Dataflow";
@@ -37,5 +38,10 @@ export interface ITaskGraph {
37
38
  subscribeToTaskStatus(callback: (taskId: TaskIdType, status: TaskStatus) => void): () => void;
38
39
  subscribeToTaskProgress(callback: (taskId: TaskIdType, progress: number, message?: string, ...args: any[]) => void): () => void;
39
40
  subscribeToDataflowStatus(callback: (dataflowId: DataflowIdType, status: TaskStatus) => void): () => void;
41
+ subscribeToTaskStreaming(callbacks: {
42
+ onStreamStart?: (taskId: TaskIdType) => void;
43
+ onStreamChunk?: (taskId: TaskIdType, event: StreamEvent) => void;
44
+ onStreamEnd?: (taskId: TaskIdType, output: Record<string, any>) => void;
45
+ }): () => void;
40
46
  }
41
47
  //# sourceMappingURL=ITaskGraph.d.ts.map