Commit Graph
73 Commits
Author SHA1 Message Date
Waleed Latif 16f5065678 feat(custom-functions): add support for custom functions, tested with & without code provided 2025-02-27 15:03:30 -08:00
Emir Karabeg 18c16c217c Feat/api input (#89)
* feat(api-input): correctly passing in body into executor; need to resolve tag value in blocks following starter

* feat(api-input): input is now resolved

* feat(api-input): cleaned up logs and added comments
2025-02-27 14:01:42 -08:00
Waleed Latif 5c11e9da16 feat(providers): modified all providers to use SDK rather than creating an HTTP request 2025-02-27 13:39:33 -08:00
Waleed Latif fa67494fe7 feat(providers): removed providers from tools directory, added cerebras sdk 2025-02-27 13:29:52 -08:00
Waleed Latif 4d4fbdd253 fix(executor): fix nested resolution of envvars for agents' tools 2025-02-26 17:19:11 -08:00
waleedlatif1 8218a88ce6 Feature/execution (#87)
* feat(executor): split executor into specialized components

* fix(executor): if there is a dependency on a block that is not along the selected path, ignore it; if we are at max iterations for a loop, stop

* feat(exector): cleanup inline comments in executor

* fix(executor): fix issue in removeDownstreamBlocks when we are breaking out of a loop to prevent infinite recursion

* feat(executor/tests): setup initial testing directory

* feat(executor): make the path selection for routing/conditional blocks independent of context, instead of deactivating paths we just activate others
2025-02-26 02:09:56 -08:00
Waleed Latif b2d92d7855 fix(executor/conditional): fixed typo in the conditional block response format 2025-02-24 11:22:28 -08:00
Waleed Latif 460e44a0f9 feat(executor): modified the condition/router blocks to not further wrap blocks since they are pass-through blocks 2025-02-18 18:43:16 -08:00
Waleed Latif 2de386803a feat(executor): improve executor to allow bi-directional dependencies if the block is in the loop 2025-02-18 16:47:37 -08:00
Emir Karabeg dc85adc444 fix(execution-store): allowed for multiple concurrent block executions 2025-02-16 00:49:23 -08:00
Emir Karabeg 6896f74579 feature(workflow-ui): show current block being executed 2025-02-15 21:26:40 -08:00
Emir Karabeg 4c2764f09c feature(console): stream console messages back from executor 2025-02-15 20:01:55 -08:00
Waleed Latif 5184953ab3 Remove old tests, outdated 2025-02-15 19:49:42 -08:00
Waleed Latif 17bca0bcff Added check to throw error if starter block is disabled 2025-02-15 10:44:10 -08:00
Emir Karabeg 5c8bd0551f Changed id back to type on config 2025-02-15 01:21:40 -08:00
Waleed Latif 627a275450 Fixed out-of-order execution in executor 2025-02-14 22:58:45 -08:00
Waleed Latif 058b68186c Enforce start with starter block 2025-02-14 18:58:39 -08:00
Emir Karabeg 73e4bbc3b4 Changed block types config for simplicity 2025-02-14 16:39:14 -08:00
Waleed Latif e9be164dc1 Fixed executor utils to only stringify resolved values for conditional blocks and not for any other blocks 2025-02-13 18:28:08 -08:00
Waleed Latif 071e370de8 Revert utils.ts back so evalator doesn't have JSON issue 2025-02-13 18:05:35 -08:00
Waleed Latif 92838c8b0b Allow conditional block to have multiple outputs going to the same destination block 2025-02-13 16:55:55 -08:00
Waleed Latif b79f5a49a3 Resolved failed to evaluate condition error by adding util to wrap strings before evaluating them 2025-02-13 16:33:28 -08:00
Waleed Latif 03d1d7247d Revert temp fix to executor, didn't work 2025-02-13 13:42:05 -08:00
Waleed Latif 26e7b1c17e Try temp fix to out of order execution 2025-02-13 13:38:09 -08:00
Waleed Latif 8fd25fd813 Add arbitrary 5s wait after condition block to diagnose the out-of-order execution in production 2025-02-13 13:16:59 -08:00
Waleed Latif a1f7407eef Add arbitrary 1s wait after condition block to diagnose the out-of-order execution in production 2025-02-13 13:13:52 -08:00
Waleed Latif 4291d79fc9 Fix bug in executor that always assumed target block for conditional in loop was an agent block 2025-02-13 12:55:16 -08:00
Waleed Latif fce8393560 Updated executor to account for new evaluator logic and to count backward edges in loops in inDegree calculation 2025-02-13 02:19:51 -08:00
Waleed Latif 281e85040d Updated executor to account for new evaluator logic and to count backward edges in loops in inDegree calculation 2025-02-13 02:16:55 -08:00
Waleed Latif 0dbd7a7f2a Updated executor to account for new evaluator logic and to count backward edges in loops in inDegree calculation 2025-02-13 02:01:58 -08:00
Waleed Latif af323a71ab Modify executor to treat evaluator as an 'output' block instead of a 'router' block, looping logic still needs to be updated but forward path works 2025-02-13 00:59:25 -08:00
Waleed Latif c203fbf1d2 Include prior history with responses/justifications in later calls to agent block 2025-02-12 13:33:02 -08:00
Waleed Latif e52233898b Include justification in evaluator response 2025-02-12 12:30:36 -08:00
Waleed Latif 3fb861b85a Added case for when evaluator does not have any target blocks 2025-02-12 12:13:05 -08:00
Waleed Latif ec2150ac3b Modify evaluator to just loop back and forth if there is only one destination in loop 2025-02-12 12:08:46 -08:00
Waleed Latif ac28e09b51 Added maxIterations to serialized loops, executor now uses provided max iterations for each loop from workflow store 2025-02-12 11:24:51 -08:00
Waleed Latif 7ddb4ca0f0 Removed extraneous logs, and treat evaluator block as a pass-through. Added jsdoc annotations to executor functions 2025-02-11 15:18:04 -08:00
Waleed Latif 3d52dec731 Added loops to serialized blob sent to executor, loop between evaluator -> agent works 2025-02-11 14:53:32 -08:00
Waleed Latif 5100e2e2fc Modified evaluator, runs similar to router and selects correct route but doesn't actually continue down that route. WIP 2025-02-11 13:47:22 -08:00
Waleed Latif daa294a0ad Treat conditional block as pass-through for source blocks' output 2025-02-10 17:25:51 -08:00
Waleed Latif 83c88f3990 Added x block/tools, added additional check in executor to check for disconnected, disabled blocks at execution time 2025-02-10 11:52:26 -08:00
Waleed Latif ee733fe707 Small improvement to executor return format 2025-02-08 21:27:22 -08:00
Waleed Latif 30d3e934db Added function execution logic locally instead of 3P API using vm, modified executor to handle connection block (still testing) 2025-02-08 14:21:41 -08:00
Waleed Latif 893954dd71 Add support for arrays in schema 2025-02-07 13:30:29 -08:00
Waleed Latif 01d2a8acd5 Added support for structured response format from agent block in the target block's connectio tags & connection dropdown menu. Tested, resolves values when response format is specified, and when it isn't 2025-02-07 13:01:38 -08:00
Waleed Latif a10a724a51 Added support for response format in agent block. Works in all but deepseek (will fix) and gemini (does not support for this model). If responseformat is not specified, we get the response back wrapped in 'content' like before 2025-02-06 19:59:44 -08:00
Waleed Latif 4df1c8268c Removed duplicate logic to map model name onto provider 2025-02-05 18:27:11 -08:00
Waleed Latif ac079cc295 Added logic in executor to execute router block, traversing down one of the paths. Use BFS to determine available paths, continue down the one that the router decides. If there is no router, we can still continue with parallel block execution. Added recursive envvar resolution in executor as well 2025-02-05 14:11:04 -08:00
Waleed Latif 9493055c60 Added prettier, added husky pre-commit hook to ensure formatting 2025-02-05 03:10:23 -08:00
Waleed Latif e430bee5ea Add the ability to resolve envvar values and connection tags inside of tools sub-block 2025-02-04 18:14:00 -08:00