@hexabot-ai/api 3.3.2 → 3.3.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.
- package/dist/extensions/actions/workflow/call-workflow.action.js +8 -1
- package/dist/extensions/actions/workflow/call-workflow.action.js.map +1 -1
- package/dist/i18n/controllers/translation.controller.d.ts +1 -1
- package/dist/i18n/controllers/translation.controller.js +1 -9
- package/dist/i18n/controllers/translation.controller.js.map +1 -1
- package/dist/i18n/services/translation.service.d.ts +5 -1
- package/dist/i18n/services/translation.service.js +32 -3
- package/dist/i18n/services/translation.service.js.map +1 -1
- package/dist/static/assets/{cssMode-CibBXGrW.js → cssMode-CTDhIT4t.js} +1 -1
- package/dist/static/assets/{freemarker2-7NvEeTKe.js → freemarker2-BQcaYGI2.js} +1 -1
- package/dist/static/assets/{handlebars-BbfYBNXO.js → handlebars-DuL1mZMF.js} +1 -1
- package/dist/static/assets/{html-DLG6BvlD.js → html-fPJhGTqL.js} +1 -1
- package/dist/static/assets/{htmlMode-iXpl7d5V.js → htmlMode-CVt2Ny6I.js} +1 -1
- package/dist/static/assets/{index-BPjGVz_f.js → index-DORU_Bbk.js} +3 -3
- package/dist/static/assets/{javascript-BuG8vffM.js → javascript-BXwN7Yr-.js} +1 -1
- package/dist/static/assets/{jsonMode-DP5Vig9S.js → jsonMode-Cyah7SwA.js} +1 -1
- package/dist/static/assets/{liquid-CRTQV_4V.js → liquid-Cv7SFaQr.js} +1 -1
- package/dist/static/assets/{lspLanguageFeatures-BnMkhqT9.js → lspLanguageFeatures-Db4XZEv3.js} +1 -1
- package/dist/static/assets/{mdx-CQ43QJie.js → mdx-ogt0iyFh.js} +1 -1
- package/dist/static/assets/{python-CQ9HRuTn.js → python-DAn9awcR.js} +1 -1
- package/dist/static/assets/{razor-BY29I0xJ.js → razor-Cq1R70GF.js} +1 -1
- package/dist/static/assets/{tsMode-DnpMBMFq.js → tsMode-DIxEz3Ke.js} +1 -1
- package/dist/static/assets/{typescript-BrYZsZrw.js → typescript-D8I422tf.js} +1 -1
- package/dist/static/assets/{xml-DbNzxxky.js → xml-BaHc4b06.js} +1 -1
- package/dist/static/assets/{yaml-LdVsxyvH.js → yaml-DYl3ZNzt.js} +1 -1
- package/dist/static/index.html +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/workflow/services/agentic.service.d.ts +3 -0
- package/dist/workflow/services/agentic.service.js +61 -0
- package/dist/workflow/services/agentic.service.js.map +1 -1
- package/dist/workflow/types.d.ts +1 -0
- package/dist/workflow/types.js +2 -1
- package/dist/workflow/types.js.map +1 -1
- package/package.json +4 -4
- package/src/extensions/actions/workflow/call-workflow.action.ts +17 -2
- package/src/i18n/controllers/translation.controller.ts +5 -21
- package/src/i18n/services/translation.service.ts +60 -2
- package/src/workflow/services/agentic.service.ts +117 -0
- package/src/workflow/types.ts +6 -0
|
@@ -27,6 +27,9 @@ export declare class AgenticService implements WorkflowCallService {
|
|
|
27
27
|
private createRun;
|
|
28
28
|
private assertCanCallWorkflow;
|
|
29
29
|
private toCallWorkflowResult;
|
|
30
|
+
private findReplayedChildRun;
|
|
31
|
+
private isReplayingRecordedSuspension;
|
|
32
|
+
private toPersistedCallWorkflowResult;
|
|
30
33
|
private resumeParentRunFromChild;
|
|
31
34
|
private resolveRunId;
|
|
32
35
|
private resolveRunDefinition;
|
|
@@ -19,6 +19,7 @@ const i18n_service_1 = require("../../i18n/services/i18n.service");
|
|
|
19
19
|
const logger_service_1 = require("../../logger/logger.service");
|
|
20
20
|
const workflow_context_factory_1 = require("../contexts/workflow-context-factory");
|
|
21
21
|
const workflow_definition_1 = require("../lib/workflow-definition");
|
|
22
|
+
const types_1 = require("../types");
|
|
22
23
|
const workflow_run_service_1 = require("./workflow-run.service");
|
|
23
24
|
const workflow_service_1 = require("./workflow.service");
|
|
24
25
|
const MAX_CALL_STACK_DEPTH = 10;
|
|
@@ -94,6 +95,15 @@ let AgenticService = class AgenticService {
|
|
|
94
95
|
if (!parentRun) {
|
|
95
96
|
throw new Error(`Unable to load parent workflow run ${parentContext.workflowRunId}`);
|
|
96
97
|
}
|
|
98
|
+
const replayedChildRun = await this.findReplayedChildRun(parentRun, workflowId, parentContext);
|
|
99
|
+
if (replayedChildRun) {
|
|
100
|
+
this.logger.log('Reusing recorded child workflow run during parent replay', {
|
|
101
|
+
parentRunId: parentRun.id,
|
|
102
|
+
childRunId: replayedChildRun.id,
|
|
103
|
+
workflowId,
|
|
104
|
+
});
|
|
105
|
+
return this.toPersistedCallWorkflowResult(replayedChildRun);
|
|
106
|
+
}
|
|
97
107
|
const workflow = await this.workflowService.findOneAndPopulate(workflowId);
|
|
98
108
|
if (!workflow) {
|
|
99
109
|
throw new Error(`Workflow with ID ${workflowId} not found`);
|
|
@@ -307,6 +317,57 @@ let AgenticService = class AgenticService {
|
|
|
307
317
|
error: this.stringifyError(result.error),
|
|
308
318
|
};
|
|
309
319
|
}
|
|
320
|
+
async findReplayedChildRun(parentRun, workflowId, parentContext) {
|
|
321
|
+
if (!this.isReplayingRecordedSuspension(parentContext)) {
|
|
322
|
+
return null;
|
|
323
|
+
}
|
|
324
|
+
if (parentRun.suspensionReason !== types_1.AWAITING_CHILD_WORKFLOW_REASON) {
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
const suspensionData = parentRun.suspensionData;
|
|
328
|
+
if (suspensionData?.workflow_id !== workflowId ||
|
|
329
|
+
typeof suspensionData.workflow_run_id !== 'string') {
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
const childRun = await this.workflowRunService.findOneAndPopulate(suspensionData.workflow_run_id);
|
|
333
|
+
if (!childRun ||
|
|
334
|
+
this.resolveRunId(childRun.parentRun) !== parentRun.id ||
|
|
335
|
+
childRun.workflow.id !== workflowId) {
|
|
336
|
+
return null;
|
|
337
|
+
}
|
|
338
|
+
return childRun;
|
|
339
|
+
}
|
|
340
|
+
isReplayingRecordedSuspension(parentContext) {
|
|
341
|
+
try {
|
|
342
|
+
return parentContext.workflow.hasRecordedResult();
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
toPersistedCallWorkflowResult(run) {
|
|
349
|
+
if (run.status === 'finished') {
|
|
350
|
+
return {
|
|
351
|
+
status: 'finished',
|
|
352
|
+
workflow_id: run.workflow.id,
|
|
353
|
+
workflow_run_id: run.id,
|
|
354
|
+
output: run.output ?? {},
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
if (run.status === 'failed') {
|
|
358
|
+
return {
|
|
359
|
+
status: 'failed',
|
|
360
|
+
workflow_id: run.workflow.id,
|
|
361
|
+
workflow_run_id: run.id,
|
|
362
|
+
error: run.error ?? 'Child workflow run failed',
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
return {
|
|
366
|
+
status: 'suspended',
|
|
367
|
+
workflow_id: run.workflow.id,
|
|
368
|
+
workflow_run_id: run.id,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
310
371
|
async resumeParentRunFromChild(childRun, result, event) {
|
|
311
372
|
if (result.status === 'suspended') {
|
|
312
373
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic.service.js","sourceRoot":"","sources":["../../../src/workflow/services/agentic.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentic.service.js","sourceRoot":"","sources":["../../../src/workflow/services/agentic.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,iDAM6B;AAE7B,2CAA4C;AAC5C,yDAAgD;AAEhD,mEAA0D;AAC1D,sFAA6E;AAC7E,mEAA2D;AAC3D,gEAAwD;AAExD,mFAA8E;AAG9E,oEAAqE;AASrE,oCAA0D;AAE1D,iEAA4D;AAC5D,yDAAqD;AAErD,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAQzB,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACmB,eAAgC,EAChC,kBAAsC,EACtC,aAA4B,EAC5B,sBAA8C,EAC9C,MAAqB,EACrB,sBAA8C,EAC9C,IAAiB;QANjB,oBAAe,GAAf,eAAe,CAAiB;QAChC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,WAAM,GAAN,MAAM,CAAe;QACrB,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,SAAI,GAAJ,IAAI,CAAa;IACjC,CAAC;IAUJ,KAAK,CAAC,WAAW,CACf,KAA0B,EAC1B,UAAuC,EAAE;QAEzC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4DAA4D,CAC7D,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,kBAAkB,CAAC,2BAA2B,CACvD,SAAS,CAAC,EAAE,EACZ,QAAQ,EACR,mBAAmB,CACpB,CAAC;YACJ,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE;oBACjD,aAAa,EAAE,SAAS,CAAC,EAAE;oBAC3B,KAAK,EAAE,YAAY,CAAC,EAAE;oBACtB,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE;oBACrC,aAAa,EAAE,YAAY,CAAC,aAAa;oBACzC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;iBAChD,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;oBACvC,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,YAAY;oBACjB,KAAK;iBACN,CAAC,CAAC;gBAEH,OAAO,SAAS,CAAC,GAAG,CAAC;YACvB,CAAC;YAED,MAAM,aAAa,GACjB,OAAO,CAAC,QAAQ;gBAChB,CAAC,mBAAmB;oBAClB,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,mBAAmB,CAAC;oBACpE,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;oBACjE,mBAAmB,EAAE,mBAAmB,IAAI,IAAI;iBACjD,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;oBACjD,UAAU,EAAE,aAAa,CAAC,EAAE;iBAC7B,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBACvC,UAAU,EAAE,aAAa,CAAC,EAAE;aAC7B,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;gBACvC,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,aAAa;gBACvB,KAAK;aACN,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC,GAAG,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,GAAG,CACJ,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAUD,KAAK,CAAC,YAAY,CAAC,EACjB,UAAU,EACV,KAAK,EACL,aAAa,GACO;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,aAAa,CAAC,aAAa,CAC5B,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,sCAAsC,aAAa,CAAC,aAAa,EAAE,CACpE,CAAC;QACJ,CAAC;QAKD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACtD,SAAS,EACT,UAAU,EACV,aAAa,CACd,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,0DAA0D,EAC1D;gBACE,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,UAAU,EAAE,gBAAgB,CAAC,EAAE;gBAC/B,UAAU;aACX,CACF,CAAC;YAEF,OAAO,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,YAAY,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,0BAA0B,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,YAAY,UAAU,cAAc,QAAQ,CAAC,IAAI,kCAAkC,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAY,CACvH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACvC,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,SAAS;YACT,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAOO,KAAK,CAAC,WAAW,CACvB,OAA2B;QAE3B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAChC,MAAM,GAAG,GACP,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;gBAC5C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC;YACJ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,gBAAgB,GAAG,kBAAe,CAAC,cAAc,CAAC,UAAU,EAAE;YAClE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YACzC,YAAY,EAAE,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE;YACvD,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;SACpD,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CACtD,GAAG,EACH,KAAK,EACL,UAAU,CACX,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YAC7C,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;SACnC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,IAAI,EACJ,GAAG,EACH,OAAO,EACP,gBAAgB,EAChB,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CACnD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;YACnD,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;YAClC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC;YACxE,aAAa,EAAE,OAAO,CACpB,QAAQ,CAAC,gBAAgB,CAAC,cAAc,IAAI,QAAQ,CAAC,UAAU,CAChE;SACF,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE;YAChD,GAAG,QAAQ,CAAC,gBAAgB;YAC5B,OAAO,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC,CAAC;QAEH,IAAI,MAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBAC7C,IAAI;gBACJ,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAC5B,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;aACnC,CAAC,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACnE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,wBAAwB,CACjC,GAAG,EACH;oBACE,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;iBACxC,EACD,KAAK,CACN,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YAC7C,IAAI;YACJ,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,EACH,QAAQ,CAAC,MAAM,EACf,MAAM,EACN,QAAQ,CAAC,UAAU,EACnB,OAAO,CACR,CAAC;QAEF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CACnE,GAAG,CAAC,EAAE,CACP,CAAC;QAEF,OAAO,EAAE,GAAG,EAAE,YAAY,IAAI,GAAG,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;IAKO,qBAAqB,CAC3B,KAA0B;QAE1B,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,EAAE,EAAE,QAAQ,IAAI,SAAS,CAAC;QAEtE,OAAO;YACL,CAAC,EAAE,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE,CACjD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;gBACf,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,GAAG;gBACjB,IAAI;aACL,CAAC;SACL,CAAC;IACJ,CAAC;IAQO,KAAK,CAAC,iBAAiB,CAC7B,IAAwB,EACxB,GAAoB,EACpB,OAA+B,EAC/B,gBAAiC,EACjC,UAAoB;QAEpB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC;gBACrD,KAAK,EAAE,GAAG,CAAC,EAAE;aACd,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE;oBAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;iBAC/B;gBACD,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,KAAK,CAAC;oBACX,SAAS,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC1B,OAAO;iBACR,CAAC;aACL,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YACpC,OAAO;YACP,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7D,UAAU,EAAE,GAAG,CAAC,aAAa;gBAC3B,CAAC,CAAC;oBACE,MAAM,EAAE,GAAG,CAAC,aAAa;oBACzB,MAAM,EAAE,GAAG,CAAC,gBAAgB;oBAC5B,IAAI,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;oBACrC,UAAU,EAAE,GAAG,CAAC,oBAAoB,IAAI,SAAS;oBACjD,YAAY,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;oBAC9C,UAAU,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;oBAC1C,YAAY,EAAE,GAAG,CAAC,sBAAsB,IAAI,SAAS;iBACtD;gBACH,CAAC,CAAC,SAAS;YACb,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,cAAc,EAAE,WAAW;SAC5B,CAAC,CAAC;QAEH,OAAO;YACL,MAAM;YACN,UAAU,EAAE,WAAW;YACvB,gBAAgB,EAAE;gBAChB,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;aAC/B;YACD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC;IASO,KAAK,CAAC,SAAS,CACrB,QAAsB,EACtB,KAA0B,EAC1B,UAGI,EAAE;QAEN,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,cAAc,GAAG;YACrB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,GAAG,KAAK,CAAC,cAAc,EAAE;SAC1B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC/C,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACrB,eAAe,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI;YACpD,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,IAAI;YACxC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE;YAC1C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;YACvE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE;SAC9B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE3E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IASO,KAAK,CAAC,qBAAqB,CACjC,SAA0B,EAC1B,gBAAwB;QAExB,IAAI,OAAO,GAA2B,SAAS,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,OAAO,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,IAAI,oBAAoB,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,2CAA2C,oBAAoB,EAAE,CAClE,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,6CAA6C,gBAAgB,EAAE,CAChE,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzD,OAAO,GAAG,WAAW;gBACnB,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,WAAW,CAAC;gBAC/D,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;IACH,CAAC;IAOO,oBAAoB,CAC1B,GAAoB,EACpB,MAAsB;QAEtB,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC5B,eAAe,EAAE,GAAG,CAAC,EAAE;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC5B,eAAe,EAAE,GAAG,CAAC,EAAE;aACxB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC5B,eAAe,EAAE,GAAG,CAAC,EAAE;YACvB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;SACzC,CAAC;IACJ,CAAC;IAaO,KAAK,CAAC,oBAAoB,CAChC,SAA0B,EAC1B,UAAkB,EAClB,aAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,CAAC,gBAAgB,KAAK,sCAA8B,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAGpB,CAAC;QACd,IACE,cAAc,EAAE,WAAW,KAAK,UAAU;YAC1C,OAAO,cAAc,CAAC,eAAe,KAAK,QAAQ,EAClD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAC/D,cAAc,CAAC,eAAe,CAC/B,CAAC;QACF,IACE,CAAC,QAAQ;YACT,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,EAAE;YACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,EACnC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAMO,6BAA6B,CACnC,aAAqC;QAErC,IAAI,CAAC;YACH,OAAO,aAAa,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAKO,6BAA6B,CACnC,GAAoB;QAEpB,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC5B,eAAe,EAAE,GAAG,CAAC,EAAE;gBACvB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;aACzB,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC5B,eAAe,EAAE,GAAG,CAAC,EAAE;gBACvB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,2BAA2B;aAChD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC5B,eAAe,EAAE,GAAG,CAAC,EAAE;SACxB,CAAC;IACJ,CAAC;IAQO,KAAK,CAAC,wBAAwB,CACpC,QAAyB,EACzB,MAAsB,EACtB,KAA0B;QAE1B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GACb,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;gBAC/D,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6DAA6D,EAC7D;gBACE,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,WAAW;gBACX,YAAY,EAAE,SAAS,CAAC,MAAM;aAC/B,CACF,CAAC;YAEF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,SAAS;YACd,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAKO,YAAY,CAClB,GAAuD;QAEvD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC;IACzB,CAAC;IAKO,oBAAoB,CAAC,GAAoB;QAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC;QACzD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrE,OAAO,IAAA,6CAAuB,EAAC,aAAa,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,aAAa,CACzB,GAAoB,EACpB,MAAsB,EACtB,MAAsB,EACtB,UAAoB,EACpB,cAAuC;QAEvC,MAAM,YAAY,GAAG,cAAc,EAAE,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;YAC9C,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE;oBACxC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE;oBAClD,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,YAAY;oBACrB,cAAc,EAAE,UAAU;iBAC3B,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;oBACvC,KAAK,EAAE,GAAG,CAAC,EAAE;iBACd,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE;oBACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM;iBAChC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ,CAAC;YACd;gBACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;oBAC3D,KAAK,EAAE,GAAG,CAAC,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;iBACzC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;oBAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC;iBACzC,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;YAC9C,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACtC,MAAM;YACN,QAAQ;YACR,OAAO,EAAE,YAAY;YACrB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAKO,mBAAmB,CAAC,GAAoB;QAC9C,MAAM,KAAK,GAAmB;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;YACxB,cAAc,EAAE,EAAE;SACnB,CAAC;QACF,MAAM,WAAW,GAAI,GAAG,CAAC,QAAgB,EAAE,KAAK,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACxC,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YAC1C,CAAC;YACD,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC1C,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;YAC9C,CAAC;YACD,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC;QAC1D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAKO,aAAa,CACnB,KAAiC,EACjC,QAAyC;QAEzC,MAAM,IAAI,GAAG,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG;gBACX,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;aACrC,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAKO,YAAY,CAClB,MAAsB,EACtB,QAAqD;QAErD,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QAE/D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAKO,UAAU,CAChB,MAAsB,EACtB,KAAiC,EACjC,cAA+C;QAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QAED,OAAO,cAAc,IAAI,IAAI,CAAC;IAChC,CAAC;IAKO,KAAK,CAAC,aAAa,CACzB,GAAoB,EACpB,MAAsB,EACtB,YAA4C,EAC5C,KAAc;QAEd,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,EACnD,KAAK,EACL;YACE,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,aAAa,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI;SAC3C,CACF,CAAC;QACF,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;YAC/C,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;YAC9B,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SAClC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;YAC9C,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;YACtC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI;YAC3C,QAAQ;YACR,OAAO,EAAE,YAAY;YACrB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAKO,cAAc,CAAC,KAAc;QACnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAMK,AAAN,KAAK,CAAC,kBAAkB,CAAC,EACvB,MAAM,EACN,cAAc,GAIf;QACC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;CACF,CAAA;AAz1BY,wCAAc;AA80BnB;IADL,IAAA,uBAAO,EAAC,wBAAwB,CAAC;;;;wDAWjC;yBAx1BU,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;QACZ,yCAAkB;QACvB,+BAAa;QACJ,iDAAsB;QACtC,8BAAa;QACG,iDAAsB;QACxC,0BAAW;GARzB,cAAc,CAy1B1B"}
|
package/dist/workflow/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { SchemaInstance } from './utils/schema-instance';
|
|
|
6
6
|
export { DirectionType, McpServerTransport, MemoryScope, WorkflowType, WorkflowVersionAction, };
|
|
7
7
|
export type MemoryValue = Record<string, unknown>;
|
|
8
8
|
export type WorkflowResult = WorkflowStartResult | WorkflowResumeResult;
|
|
9
|
+
export declare const AWAITING_CHILD_WORKFLOW_REASON = "awaiting_child_workflow";
|
|
9
10
|
export type CallWorkflowFinishedResult = {
|
|
10
11
|
status: 'finished';
|
|
11
12
|
workflow_id: string;
|
package/dist/workflow/types.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WORKFLOW_CALL_SERVICE = exports.WorkflowVersionAction = exports.WorkflowType = exports.MemoryScope = exports.McpServerTransport = exports.DirectionType = void 0;
|
|
3
|
+
exports.WORKFLOW_CALL_SERVICE = exports.AWAITING_CHILD_WORKFLOW_REASON = exports.WorkflowVersionAction = exports.WorkflowType = exports.MemoryScope = exports.McpServerTransport = exports.DirectionType = void 0;
|
|
4
4
|
const types_1 = require("@hexabot-ai/types");
|
|
5
5
|
Object.defineProperty(exports, "DirectionType", { enumerable: true, get: function () { return types_1.DirectionType; } });
|
|
6
6
|
Object.defineProperty(exports, "McpServerTransport", { enumerable: true, get: function () { return types_1.McpServerTransport; } });
|
|
7
7
|
Object.defineProperty(exports, "MemoryScope", { enumerable: true, get: function () { return types_1.MemoryScope; } });
|
|
8
8
|
Object.defineProperty(exports, "WorkflowType", { enumerable: true, get: function () { return types_1.WorkflowType; } });
|
|
9
9
|
Object.defineProperty(exports, "WorkflowVersionAction", { enumerable: true, get: function () { return types_1.WorkflowVersionAction; } });
|
|
10
|
+
exports.AWAITING_CHILD_WORKFLOW_REASON = 'awaiting_child_workflow';
|
|
10
11
|
exports.WORKFLOW_CALL_SERVICE = Symbol('WORKFLOW_CALL_SERVICE');
|
|
11
12
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":";;;AAYA,6CAS2B;AAOzB,8FAfA,qBAAa,OAeA;AACb,mGAfA,0BAAkB,OAeA;AAClB,4FAfA,mBAAW,OAeA;AACX,6FAfA,oBAAY,OAeA;AACZ,sGAfA,6BAAqB,OAeA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":";;;AAYA,6CAS2B;AAOzB,8FAfA,qBAAa,OAeA;AACb,mGAfA,0BAAkB,OAeA;AAClB,4FAfA,mBAAW,OAeA;AACX,6FAfA,oBAAY,OAeA;AACZ,sGAfA,6BAAqB,OAeA;AAWV,QAAA,8BAA8B,GAAG,yBAAyB,CAAC;AA6C3D,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hexabot-ai/api",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.3",
|
|
5
5
|
"description": "Hexabot is a solution for creating and managing chatbots across multiple channels, leveraging AI for advanced conversational capabilities. It provides a user-friendly interface for building, training, and deploying chatbots with integrated support for various messaging platforms.",
|
|
6
6
|
"author": "Hexastack",
|
|
7
7
|
"license": "FCL-1.0-ALv2",
|
|
@@ -93,8 +93,8 @@
|
|
|
93
93
|
"typeorm": "^0.3.29",
|
|
94
94
|
"yaml": "^2.8.3",
|
|
95
95
|
"zod": "^4.3.6",
|
|
96
|
-
"@hexabot-ai/agentic": "3.2.
|
|
97
|
-
"@hexabot-ai/types": "3.1.
|
|
96
|
+
"@hexabot-ai/agentic": "3.2.3",
|
|
97
|
+
"@hexabot-ai/types": "3.1.3"
|
|
98
98
|
},
|
|
99
99
|
"devDependencies": {
|
|
100
100
|
"@compodoc/compodoc": "^1.2.1",
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
"tsconfig-paths": "^4.2.0",
|
|
144
144
|
"tsconfig-paths-jest": "^0.0.1",
|
|
145
145
|
"typescript": "^5.8.3",
|
|
146
|
-
"@hexabot-ai/frontend": "3.3.
|
|
146
|
+
"@hexabot-ai/frontend": "3.3.3"
|
|
147
147
|
},
|
|
148
148
|
"optionalDependencies": {
|
|
149
149
|
"@css-inline/css-inline-linux-arm64-musl": "^0.14.1",
|
|
@@ -10,7 +10,10 @@ import { z } from 'zod';
|
|
|
10
10
|
import { createAction } from '@/actions/create-action';
|
|
11
11
|
import { WorkflowRuntimeContext } from '@/workflow/contexts/workflow-runtime.context';
|
|
12
12
|
import { workflowResourceRef } from '@/workflow/resource-refs';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
AWAITING_CHILD_WORKFLOW_REASON,
|
|
15
|
+
CallWorkflowResult,
|
|
16
|
+
} from '@/workflow/types';
|
|
14
17
|
|
|
15
18
|
const callWorkflowInputSchema = z.object({
|
|
16
19
|
workflow_id: z.uuid().meta({
|
|
@@ -81,6 +84,18 @@ export const CallWorkflowAction = createAction<
|
|
|
81
84
|
inputSchema: callWorkflowInputSchema,
|
|
82
85
|
outputSchema: callWorkflowFinishedSchema,
|
|
83
86
|
async execute({ input, context }) {
|
|
87
|
+
// Deterministic replay re-executes this action when the parent resumes
|
|
88
|
+
// after the child completed. The child was already spawned by the original
|
|
89
|
+
// execution, so skip the spawn and let suspend() return the recorded
|
|
90
|
+
// child payload immediately.
|
|
91
|
+
if (context.workflow.hasRecordedResult()) {
|
|
92
|
+
const resumeData = await context.workflow.suspend<unknown>({
|
|
93
|
+
reason: AWAITING_CHILD_WORKFLOW_REASON,
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
return assertFinishedResult(callWorkflowResumeSchema.parse(resumeData));
|
|
97
|
+
}
|
|
98
|
+
|
|
84
99
|
// AgenticService owns workflow resolution and run creation because the
|
|
85
100
|
// target workflow is an API-persisted entity, not an agentic DSL primitive.
|
|
86
101
|
const result = await context.services.agentic.callWorkflow({
|
|
@@ -97,7 +112,7 @@ export const CallWorkflowAction = createAction<
|
|
|
97
112
|
// A future event resumes the child leaf first; AgenticService then resumes
|
|
98
113
|
// this parent action with the final child payload.
|
|
99
114
|
const resumeData = await context.workflow.suspend<unknown>({
|
|
100
|
-
reason:
|
|
115
|
+
reason: AWAITING_CHILD_WORKFLOW_REASON,
|
|
101
116
|
data: {
|
|
102
117
|
workflow_id: result.workflow_id,
|
|
103
118
|
workflow_run_id: result.workflow_run_id,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
Post,
|
|
16
16
|
Query,
|
|
17
17
|
} from '@nestjs/common';
|
|
18
|
-
import { FindManyOptions
|
|
18
|
+
import { FindManyOptions } from 'typeorm';
|
|
19
19
|
import { DeleteResult } from 'typeorm/driver/mongodb/typings';
|
|
20
20
|
|
|
21
21
|
import { UuidParam } from '@/utils';
|
|
@@ -85,10 +85,9 @@ export class TranslationController extends BaseOrmController<TranslationOrmEntit
|
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
87
|
* Refresh translations : Add new strings and remove old ones
|
|
88
|
-
* @returns {Promise<any>}
|
|
89
88
|
*/
|
|
90
89
|
@Post('refresh')
|
|
91
|
-
async refresh(): Promise<
|
|
90
|
+
async refresh(): Promise<DeleteResult> {
|
|
92
91
|
const defaultLanguage = await this.languageService.getDefaultLanguage();
|
|
93
92
|
const languages = await this.languageService.getLanguages();
|
|
94
93
|
const defaultTrans: TranslationOrmEntity['translations'] = Object.keys(
|
|
@@ -103,25 +102,10 @@ export class TranslationController extends BaseOrmController<TranslationOrmEntit
|
|
|
103
102
|
},
|
|
104
103
|
{} as { [key: string]: string },
|
|
105
104
|
);
|
|
106
|
-
// Scan workflows
|
|
107
|
-
let strings = await this.translationService.getAllWorkflowStrings();
|
|
108
|
-
// Filter unique and not empty messages
|
|
109
|
-
strings = strings.filter((str, pos) => {
|
|
110
|
-
return str && strings.indexOf(str) == pos;
|
|
111
|
-
});
|
|
112
|
-
// Perform refresh
|
|
113
|
-
const queue = strings.map((str) =>
|
|
114
|
-
this.translationService.findOneOrCreate(
|
|
115
|
-
{ where: { str } },
|
|
116
|
-
{ str, translations: defaultTrans },
|
|
117
|
-
),
|
|
118
|
-
);
|
|
119
|
-
await Promise.all(queue);
|
|
120
|
-
// Purge non existing translations
|
|
121
|
-
const deleteOptions: FindManyOptions<TranslationOrmEntity> =
|
|
122
|
-
strings.length > 0 ? { where: { str: Not(In(strings)) } } : {};
|
|
123
105
|
|
|
124
|
-
return await this.translationService.
|
|
106
|
+
return await this.translationService.refreshWorkflowTranslations(
|
|
107
|
+
defaultTrans,
|
|
108
|
+
);
|
|
125
109
|
}
|
|
126
110
|
|
|
127
111
|
/**
|
|
@@ -14,6 +14,8 @@ import { extractTaskDefinitions as extractTaskDefinitionsFromDefs } from '@hexab
|
|
|
14
14
|
import { Injectable } from '@nestjs/common';
|
|
15
15
|
import { OnEvent } from '@nestjs/event-emitter';
|
|
16
16
|
import jsonata from 'jsonata';
|
|
17
|
+
import { FindManyOptions, In, Not } from 'typeorm';
|
|
18
|
+
import { DeleteResult } from 'typeorm/driver/mongodb/typings';
|
|
17
19
|
|
|
18
20
|
import { I18nService } from '@/i18n/services/i18n.service';
|
|
19
21
|
import { BaseOrmService } from '@/utils/generics/base-orm.service';
|
|
@@ -24,6 +26,9 @@ import { TranslationRepository } from '../repositories/translation.repository';
|
|
|
24
26
|
|
|
25
27
|
@Injectable()
|
|
26
28
|
export class TranslationService extends BaseOrmService<TranslationOrmEntity> {
|
|
29
|
+
/** Number of in-flight batch operations deferring the i18n refresh. */
|
|
30
|
+
private i18nRefreshDeferrals = 0;
|
|
31
|
+
|
|
27
32
|
constructor(
|
|
28
33
|
repository: TranslationRepository,
|
|
29
34
|
private readonly workflowService: WorkflowService,
|
|
@@ -38,6 +43,38 @@ export class TranslationService extends BaseOrmService<TranslationOrmEntity> {
|
|
|
38
43
|
this.i18n.refreshDynamicTranslations(translations);
|
|
39
44
|
}
|
|
40
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Synchronize stored translations with the strings currently used by
|
|
48
|
+
* workflows: create missing ones and purge those no longer referenced.
|
|
49
|
+
*
|
|
50
|
+
* Writes run sequentially with the per-event i18n refresh deferred to a
|
|
51
|
+
* single reload at the end, so a large refresh cannot exhaust the DB pool.
|
|
52
|
+
*
|
|
53
|
+
* @param defaultTranslations - Empty translations map seeded on new strings.
|
|
54
|
+
* @returns The result of purging stale translations.
|
|
55
|
+
*/
|
|
56
|
+
async refreshWorkflowTranslations(
|
|
57
|
+
defaultTranslations: TranslationOrmEntity['translations'],
|
|
58
|
+
): Promise<DeleteResult> {
|
|
59
|
+
return await this.deferI18nRefresh(async () => {
|
|
60
|
+
const strings = [
|
|
61
|
+
...new Set((await this.getAllWorkflowStrings()).filter(Boolean)),
|
|
62
|
+
];
|
|
63
|
+
|
|
64
|
+
for (const str of strings) {
|
|
65
|
+
await this.findOneOrCreate(
|
|
66
|
+
{ where: { str } },
|
|
67
|
+
{ str, translations: { ...defaultTranslations } },
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const deleteOptions: FindManyOptions<TranslationOrmEntity> =
|
|
72
|
+
strings.length > 0 ? { where: { str: Not(In(strings)) } } : {};
|
|
73
|
+
|
|
74
|
+
return await this.deleteMany(deleteOptions);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
41
78
|
/**
|
|
42
79
|
* Return workflow strings marked for translation via $t() inside task
|
|
43
80
|
* JSONata expressions.
|
|
@@ -73,8 +110,29 @@ export class TranslationService extends BaseOrmService<TranslationOrmEntity> {
|
|
|
73
110
|
* Updates the in-memory translations
|
|
74
111
|
*/
|
|
75
112
|
@OnEvent('hook:translation:*')
|
|
76
|
-
handleTranslationsUpdate() {
|
|
77
|
-
this.
|
|
113
|
+
async handleTranslationsUpdate(): Promise<void> {
|
|
114
|
+
if (this.i18nRefreshDeferrals > 0) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
await this.resetI18nTranslations();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Run a batch of translation writes with the event-driven i18n refresh
|
|
123
|
+
* deferred, then reload the in-memory translations once at the end.
|
|
124
|
+
*/
|
|
125
|
+
private async deferI18nRefresh<T>(operation: () => Promise<T>): Promise<T> {
|
|
126
|
+
this.i18nRefreshDeferrals++;
|
|
127
|
+
|
|
128
|
+
try {
|
|
129
|
+
return await operation();
|
|
130
|
+
} finally {
|
|
131
|
+
this.i18nRefreshDeferrals--;
|
|
132
|
+
if (this.i18nRefreshDeferrals === 0) {
|
|
133
|
+
await this.resetI18nTranslations();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
78
136
|
}
|
|
79
137
|
|
|
80
138
|
/**
|
|
@@ -32,6 +32,7 @@ import type {
|
|
|
32
32
|
WorkflowCallService,
|
|
33
33
|
WorkflowResult,
|
|
34
34
|
} from '../types';
|
|
35
|
+
import { AWAITING_CHILD_WORKFLOW_REASON } from '../types';
|
|
35
36
|
|
|
36
37
|
import { WorkflowRunService } from './workflow-run.service';
|
|
37
38
|
import { WorkflowService } from './workflow.service';
|
|
@@ -167,6 +168,27 @@ export class AgenticService implements WorkflowCallService {
|
|
|
167
168
|
);
|
|
168
169
|
}
|
|
169
170
|
|
|
171
|
+
// Defense in depth against deterministic replay: if the parent is
|
|
172
|
+
// re-executing an already-resolved `call_workflow` suspension, reuse the
|
|
173
|
+
// child run it originally spawned instead of creating a duplicate.
|
|
174
|
+
const replayedChildRun = await this.findReplayedChildRun(
|
|
175
|
+
parentRun,
|
|
176
|
+
workflowId,
|
|
177
|
+
parentContext,
|
|
178
|
+
);
|
|
179
|
+
if (replayedChildRun) {
|
|
180
|
+
this.logger.log(
|
|
181
|
+
'Reusing recorded child workflow run during parent replay',
|
|
182
|
+
{
|
|
183
|
+
parentRunId: parentRun.id,
|
|
184
|
+
childRunId: replayedChildRun.id,
|
|
185
|
+
workflowId,
|
|
186
|
+
},
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
return this.toPersistedCallWorkflowResult(replayedChildRun);
|
|
190
|
+
}
|
|
191
|
+
|
|
170
192
|
const workflow = await this.workflowService.findOneAndPopulate(workflowId);
|
|
171
193
|
if (!workflow) {
|
|
172
194
|
throw new Error(`Workflow with ID ${workflowId} not found`);
|
|
@@ -498,6 +520,101 @@ export class AgenticService implements WorkflowCallService {
|
|
|
498
520
|
};
|
|
499
521
|
}
|
|
500
522
|
|
|
523
|
+
/**
|
|
524
|
+
* Detect a deterministic replay of a `call_workflow` suspension and return
|
|
525
|
+
* the child run originally spawned by that call, if any.
|
|
526
|
+
*
|
|
527
|
+
* Replay is identified by the parent runtime control reporting a recorded
|
|
528
|
+
* resume result for the upcoming suspension; the persisted parent
|
|
529
|
+
* suspension metadata then pins which child run the original call created.
|
|
530
|
+
* The runtime signal is required because suspension bookkeeping is not
|
|
531
|
+
* cleared on resume, so metadata alone would also match a later sequential
|
|
532
|
+
* call to the same workflow.
|
|
533
|
+
*/
|
|
534
|
+
private async findReplayedChildRun(
|
|
535
|
+
parentRun: WorkflowRunFull,
|
|
536
|
+
workflowId: string,
|
|
537
|
+
parentContext: WorkflowRuntimeContext,
|
|
538
|
+
): Promise<WorkflowRunFull | null> {
|
|
539
|
+
if (!this.isReplayingRecordedSuspension(parentContext)) {
|
|
540
|
+
return null;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
if (parentRun.suspensionReason !== AWAITING_CHILD_WORKFLOW_REASON) {
|
|
544
|
+
return null;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
const suspensionData = parentRun.suspensionData as
|
|
548
|
+
| { workflow_id?: unknown; workflow_run_id?: unknown }
|
|
549
|
+
| null
|
|
550
|
+
| undefined;
|
|
551
|
+
if (
|
|
552
|
+
suspensionData?.workflow_id !== workflowId ||
|
|
553
|
+
typeof suspensionData.workflow_run_id !== 'string'
|
|
554
|
+
) {
|
|
555
|
+
return null;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
const childRun = await this.workflowRunService.findOneAndPopulate(
|
|
559
|
+
suspensionData.workflow_run_id,
|
|
560
|
+
);
|
|
561
|
+
if (
|
|
562
|
+
!childRun ||
|
|
563
|
+
this.resolveRunId(childRun.parentRun) !== parentRun.id ||
|
|
564
|
+
childRun.workflow.id !== workflowId
|
|
565
|
+
) {
|
|
566
|
+
return null;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
return childRun;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
/**
|
|
573
|
+
* Report whether the parent context is replaying a suspension whose resume
|
|
574
|
+
* result is already recorded.
|
|
575
|
+
*/
|
|
576
|
+
private isReplayingRecordedSuspension(
|
|
577
|
+
parentContext: WorkflowRuntimeContext,
|
|
578
|
+
): boolean {
|
|
579
|
+
try {
|
|
580
|
+
return parentContext.workflow.hasRecordedResult();
|
|
581
|
+
} catch {
|
|
582
|
+
// The context may not be attached to a running workflow runtime.
|
|
583
|
+
return false;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* Build the `call_workflow` contract payload from a persisted child run.
|
|
589
|
+
*/
|
|
590
|
+
private toPersistedCallWorkflowResult(
|
|
591
|
+
run: WorkflowRunFull,
|
|
592
|
+
): CallWorkflowResult {
|
|
593
|
+
if (run.status === 'finished') {
|
|
594
|
+
return {
|
|
595
|
+
status: 'finished',
|
|
596
|
+
workflow_id: run.workflow.id,
|
|
597
|
+
workflow_run_id: run.id,
|
|
598
|
+
output: run.output ?? {},
|
|
599
|
+
};
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
if (run.status === 'failed') {
|
|
603
|
+
return {
|
|
604
|
+
status: 'failed',
|
|
605
|
+
workflow_id: run.workflow.id,
|
|
606
|
+
workflow_run_id: run.id,
|
|
607
|
+
error: run.error ?? 'Child workflow run failed',
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
return {
|
|
612
|
+
status: 'suspended',
|
|
613
|
+
workflow_id: run.workflow.id,
|
|
614
|
+
workflow_run_id: run.id,
|
|
615
|
+
};
|
|
616
|
+
}
|
|
617
|
+
|
|
501
618
|
/**
|
|
502
619
|
* Resume a suspended parent run after its child run completes or fails.
|
|
503
620
|
*
|
package/src/workflow/types.ts
CHANGED
|
@@ -37,6 +37,12 @@ export type MemoryValue = Record<string, unknown>;
|
|
|
37
37
|
|
|
38
38
|
export type WorkflowResult = WorkflowStartResult | WorkflowResumeResult;
|
|
39
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Suspension reason used by the `call_workflow` action while its parent run
|
|
42
|
+
* waits for a spawned child run to reach a terminal state.
|
|
43
|
+
*/
|
|
44
|
+
export const AWAITING_CHILD_WORKFLOW_REASON = 'awaiting_child_workflow';
|
|
45
|
+
|
|
40
46
|
/**
|
|
41
47
|
* Payload passed from a child workflow back to the suspended `call_workflow`
|
|
42
48
|
* action in its parent. Only `finished` is exposed as the action output; the
|