-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(do-not-merge) new feature trunk: tasks #351
base: dev
Are you sure you want to change the base?
Conversation
Signed-off-by: Diwank Tomer <[email protected]> Co-authored-by: Diwank Tomer <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Reviewed everything up to d1841b8 in 1 minute and 5 seconds
More details
- Looked at
87
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
3
drafted comments based on config settings.
1. agents-api/migrations/migrate_1716939839_task_relations.py:1
- Draft comment:
The shebang line is incorrectly formatted. It should be#!/usr/bin/env python3
without a space after#
to ensure proper execution. - Reason this comment was not posted:
Confidence of 30% on close inspection, compared to threshold of 50%.
2. agents-api/migrations/migrate_1716939839_task_relations.py:10
- Draft comment:
The method of constructing the final query string in therun
function might lead to invalid syntax. Each query should be correctly formatted as a complete JSON object if they are to be joined in this manner. - Reason this comment was not posted:
Confidence of 30% on close inspection, compared to threshold of 50%.
3. agents-api/migrations/migrate_1716939839_task_relations.py:20
- Draft comment:
The type 'Validity' used for 'updated_at_ms' is not a standard SQL type. Please ensure it is correctly defined or replace it with a standard type if it's an error. - Reason this comment was not posted:
Confidence of 40% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_nP7XDMDpmq0Uf9ys
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
* openapi schema, definitions & sdks updated; endpoints added for tasks feature * follow convention for naming routes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 170c301 in 1 minute and 56 seconds
More details
- Looked at
13
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/routers/tasks/routers.py:41
- Draft comment:
Ensure that the function calllist_tasks_query
is correctly named and intended to be used here, as the function name was changed in the endpoint but not inside the function body. - Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_tDOnBnhWOJY4HOiQ
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
* wip(agents-api): cozo queries for tasks Signed-off-by: Diwank Tomer <[email protected]> * doc: Add documentation for the new endpoints * wip: Boilerplate for execution transitions queries * wip: add boilerplate execution transitions queries * wip: task feature routes and models * feat(agents-api): Add tests for task queries and fix bugs Signed-off-by: Diwank Tomer <[email protected]> * fix(agents-api): Fix cozo queries and make tests pass Signed-off-by: Diwank Tomer <[email protected]> --------- Signed-off-by: Diwank Tomer <[email protected]> Co-authored-by: Diwank Tomer <[email protected]> Co-authored-by: Siddharth Balyan <[email protected]>
* wip: Fix openapi.yaml Signed-off-by: Diwank Tomer <[email protected]> * wip: generate sdk files * feat(agents-api): Rename transition.type and execution.status Signed-off-by: Diwank Tomer <[email protected]> * fix(sdks/python): Minor fix Signed-off-by: Diwank Tomer <[email protected]> * wip: demo implementation of tasks Signed-off-by: Diwank Tomer <[email protected]> * wip: demo implementation of tasks Signed-off-by: Diwank Tomer <[email protected]> * wip(agents-api): temporal workflow codec Signed-off-by: Diwank Tomer <[email protected]> * wip: demo implementation of tasks Signed-off-by: Diwank Tomer <[email protected]> * feat(agents-api): Toy implementation of Tasks Signed-off-by: Diwank Tomer <[email protected]> --------- Signed-off-by: Diwank Tomer <[email protected]> Co-authored-by: Diwank Tomer <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on ea7bbff in 1 minute and 53 seconds
More details
- Looked at
109
lines of code in2
files - Skipped
1
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/pyproject.toml:36
- Draft comment:
The PR adds a new dependencycel-python
which is used in theevaluate_step
function. Please update the PR description to include this change for complete documentation. - Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_IcFvtqyNtcgR4xl2
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Signed-off-by: Diwank Tomer <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 5393c4b in 2 minutes and 9 seconds
More details
- Looked at
563
lines of code in6
files - Skipped
1
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/routers/sessions/session.py:84
- Draft comment:
The@cache
decorator is incorrectly applied tollm_generate
, which is not an instance method. This could lead to errors sincecache
expects aself
parameter. Consider refactoringcache
to support both instance and standalone functions or adjust the usage accordingly.
# Consider refactoring cache or using a different approach for caching standalone functions
- Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_lEnYDsIJAe72RRgr
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Signed-off-by: Diwank Tomer <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 16b53fa in 1 minute and 16 seconds
More details
- Looked at
13
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_vBL8MEKpmMdkHwLH
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
|
||
# Transition type | ||
transition_type = ( | ||
"awaiting_input" if should_wait else ("finish" if is_last else "step") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change in the order of conditions for determining transition_type
might introduce logical errors, especially if the workflow is expected to finish on the last step regardless of whether it is awaiting further input. Consider reverting the order or ensuring that the new logic aligns with the intended workflow behavior.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should make it more explicit and document this thoroughly coz otherwise it could get too confusing and coz logical errors for sure
Signed-off-by: Diwank Tomer <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 4248da9 in 1 minute and 49 seconds
More details
- Looked at
39
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/workflows/task_execution.py:123
- Draft comment:
The variableshould_wait
is used here but it's only defined conditionally within thePromptWorkflowStep
case. This can lead to aNameError
if other step types are processed. Consider initializingshould_wait
before the match statement to ensure it always has a defined value.
should_wait = False
- Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_mkz2a3M85NYCIxk1
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 4770cbb in 2 minutes and 12 seconds
More details
- Looked at
20
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/activities/task_steps/__init__.py:3
- Draft comment:
The import statement forcelpy
is commented out. Ifcelpy
is not used in this file or elsewhere in the project, consider removing this line to clean up the code. - Reason this comment was not posted:
Confidence changes required:33%
The import statement forChatCompletion
has been updated to a more specific path, which is generally good for clarity and avoiding potential conflicts. However, the import statement forcelpy
is commented out, which might indicate that it's not used or needed anymore. This could be a cleanup opportunity ifcelpy
is indeed not used elsewhere in the file.
Workflow ID: wflow_2f9gMFV2RkrZ3S4Q
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 9a5a36e in 2 minutes and 4 seconds
More details
- Looked at
143
lines of code in5
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_pUS8SnWCeDIoLd2a
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 836d2c4 in 2 minutes and 26 seconds
More details
- Looked at
161
lines of code in7
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_rDXiWCiv0baSmKb7
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
|
||
class TransitionInfo(BaseModel): | ||
from_: List[str | int] | Tuple[str | int] | ||
to: List[str | int] | None = None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider allowing the to
field in TransitionInfo
to also accept Tuple[str | int]
for consistency with the from_
field.
to: List[str | int] | None = None | |
to: List[str | int] | Tuple[str | int] | None = None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should be Tuple[str, int]
rather than Tuple[str | int]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on ab9011c in 1 minute and 52 seconds
More details
- Looked at
100
lines of code in4
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/models/execution/create_execution_transition.py:17
- Draft comment:
The type annotation for theto
parameter is inconsistent with theTransitionInfo
class definition. Consider aligning the type annotations to ensure consistency and prevent type errors.
to: List[str | int] | None,
- Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_KlpIGBbP6X0vThFy
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 0c3b0fd in 2 minutes and 16 seconds
More details
- Looked at
770
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. sdks/python/julep/managers/task.py:99
- Draft comment:
Usingassert
for input validation is not recommended in production code as it can be skipped with certain Python flags (-O
,-OO
). Consider using explicit exceptions or error handling mechanisms to ensure robustness.
if not is_valid_uuid4(agent_id):
raise ValueError("Invalid UUID format for agent_id")
- Reason this comment was not posted:
Confidence of 20% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_WF0J89L0VXmmzVsj
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on fe94701 in 2 minutes and 48 seconds
More details
- Looked at
36
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_PbBT1gc4zGW5K5mD
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
""" | ||
assert is_valid_uuid4(agent_id) | ||
|
||
return await self._list( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The _list
method in BaseTasksManager
is not defined as an asynchronous method, which could lead to issues when using await
here. Consider modifying the _list
method in the base class to be asynchronous or adjust the implementation here to handle the synchronous nature of _list
.
* feat: Update SDKs and openapi spec Signed-off-by: Diwank Tomer <[email protected]> * feat: Add session_id field to execution relation Signed-off-by: Diwank Tomer <[email protected]> * feat(agents-api): Get execution input query Signed-off-by: Diwank Tomer <[email protected]> * wip Signed-off-by: Diwank Tomer <[email protected]> * feat: Regenerate SDKs Signed-off-by: Julep Developers <[email protected]> * wip Signed-off-by: Diwank Tomer <[email protected]> * wip * feat(tasks): Enable all fields of ExecutionInput Signed-off-by: Diwank Tomer <[email protected]> --------- Signed-off-by: Diwank Tomer <[email protected]> Signed-off-by: Julep Developers <[email protected]> Co-authored-by: Diwank Tomer <[email protected]> Co-authored-by: Julep Developers <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on c72546e in 2 minutes and 30 seconds
More details
- Looked at
368
lines of code in4
files - Skipped
0
files when reviewing. - Skipped posting
2
drafted comments based on config settings.
1. sdks/python/tests/test_tasks.py:55
- Draft comment:
Using random UUIDs foragent_id
andtask_id
in this test case might not accurately test the system's behavior. Consider using actual IDs from the fixtures to ensure the test is meaningful and accurate.
response = client.tasks.start_task_execution(
agent_id=test_task.agent_id,
task_id=test_task.id,
arguments={},
status="enqueued",
)
- Reason this comment was not posted:
Confidence of 30% on close inspection, compared to threshold of 50%.
2. sdks/python/tests/test_tasks.py:107
- Draft comment:
This test case should also use actualagent_id
andtask_id
from the fixtures instead of random UUIDs to ensure the test is meaningful and accurate.
response = await client.tasks.start_task_execution(
agent_id=test_task_async.agent_id,
task_id=test_task_async.id,
arguments={},
status="enqueued",
)
- Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_vm4FULhBwZUtTn64
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
* wip Signed-off-by: Diwank Tomer <[email protected]> * wip Signed-off-by: Diwank Tomer <[email protected]> * wip Signed-off-by: Julep Developers <[email protected]> * feat(tasks): Update execution transition relation Signed-off-by: Diwank Tomer <[email protected]> --------- Signed-off-by: Diwank Tomer <[email protected]> Signed-off-by: Julep Developers <[email protected]> Co-authored-by: Diwank Tomer <[email protected]> Co-authored-by: Julep Developers <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 27ef8fd in 1 minute and 57 seconds
More details
- Looked at
95
lines of code in5
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/routers/tasks/routers.py:81
- Draft comment:
Using default empty lists fortools_available
andworkflows
increate_task_query
might lead to unexpected behavior. Ensure these parameters are validated or have sensible defaults to prevent issues. - Reason this comment was not posted:
Confidence of 40% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_2V80Dia35UcvfMdK
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
transition_info: TransitionInfo, | ||
) -> dict: | ||
print("Running transition step") | ||
# raise NotImplementedError() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The commented out raise NotImplementedError()
might indicate incomplete implementation. If this function is not ready, it should explicitly raise NotImplementedError
to avoid silent failures or unexpected behavior in production.
workflows | ||
} | ||
|
||
:returning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The :returning
clause in the query string is incomplete. Specify the fields to be returned after the :returning
clause to ensure the query functions correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 112d101 in 1 minute and 55 seconds
More details
- Looked at
144
lines of code in4
files - Skipped
0
files when reviewing. - Skipped posting
2
drafted comments based on config settings.
1. agents-api/agents_api/models/task/list_tasks.py:25
- Draft comment:
The comment in thelist_tasks_query
function incorrectly states that it returns apd.DataFrame
. Please update the comment to reflect the actual return type, which is a tuple of a string and a dictionary. - Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
2. agents-api/agents_api/models/task/list_tasks.py:26
- Draft comment:
The comment in thelist_tasks_query
function incorrectly states that it returns apd.DataFrame
. Please update the comment to reflect the actual return type, which is a tuple of a string and a dictionary. - Reason this comment was not posted:
Marked as duplicate.
Workflow ID: wflow_BBziS9At59XOCAgl
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
112d101
to
49eb13d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 49eb13d in 56 seconds
More details
- Looked at
253
lines of code in7
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_Cbrrwf0JLeY9TbHh
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
arguments | ||
} | ||
|
||
:returning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The :returning
clause in the query string is not followed by any specific fields, which could lead to unexpected behavior or errors. Please specify the fields that should be returned after the :returning
clause.
:returning | |
:returning [task_id, execution_id, session_id, status, arguments] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on d76768e in 1 minute and 2 seconds
More details
- Looked at
79
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/routers/tasks/routers.py:49
- Draft comment:
The TODO comment suggests adding:limit 1
to all get queries, but this has not been consistently applied across all relevant queries. Ensure that:limit 1
is added to other get queries likeget_execution_query
andget_execution_transition_query
to maintain consistency and prevent potential bugs. - Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_MBYfmAHazdpaCLZd
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
}, | ||
updated_at = to_int(updated_at_ms) / 1000, | ||
id = to_uuid($task_id), | ||
:limit 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The :limit 1
clause is incorrectly placed inside the query block. It should be outside the closing bracket to limit the results of the entire query.
x_developer_id: Annotated[UUID4, Depends(get_developer_id)], | ||
) -> ResourceCreatedResponse: | ||
# TODO: Do thorough validation of the input against task input schema | ||
# DO NOT let the user specify the status |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function allows the user to specify the execution status, which contradicts the intended behavior as per the TODO comment. The status should be set internally to maintain control over the execution flow.
# DO NOT let the user specify the status | |
status='pending', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on b615e08 in 50 seconds
More details
- Looked at
172
lines of code in4
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_yxfW4Jb56voS0Hf8
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
x_developer_id: Annotated[UUID4, Depends(get_developer_id)], | ||
) -> ResourceCreatedResponse: | ||
# TODO: Do thorough validation of the input against task input schema | ||
resp = create_execution_query( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The status for a new execution should be set to 'pending' by default and not be influenced by user input as per the PR description. This ensures consistency and prevents misuse.
resp = create_execution_query( | |
status='pending', |
b615e08
to
0a20b95
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on 0a20b95 in 1 minute and 10 seconds
More details
- Looked at
736
lines of code in7
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_TPdzLVLkpipRyNj8
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
task_id: UUID, | ||
execution_id: UUID, | ||
session_id: UUID | None = None, | ||
status: Literal[ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new execution status pending
introduced here is not reflected in the OpenAPI schema (openapi.yaml
). This can lead to inconsistencies and should be updated in the OpenAPI documentation to include pending
as a valid status.
status: Literal[ | |
- pending |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on aac036a in 58 seconds
More details
- Looked at
99
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_WUA7hlJvgAiMPjn8
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
|
||
await client.execute_workflow( | ||
"TaskExecutionWorkflow", | ||
args=[execution_input, start, previous_inputs], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure that ExecutionInput
is JSON-serializable or convert it to a JSON-serializable format before passing it to execute_workflow
. This is crucial to prevent runtime serialization errors.
args=[execution_input, start, previous_inputs], | |
args=[execution_input.json(), start, previous_inputs], |
|
||
# TODO: how to get previous_inputs? | ||
# TODO: how to get `start` tuple | ||
background_task.add_task( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variables start
and previous_inputs
are used but not defined or initialized in this scope. Define these variables before using them, or modify the function signature to include these as parameters if they are supposed to be passed into the function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❌ Changes requested. Incremental review on fc44946 in 53 seconds
More details
- Looked at
116
lines of code in1
files - Skipped
0
files when reviewing. - Skipped posting
0
drafted comments based on config settings.
Workflow ID: wflow_IyLYmwwMQi0oMV3c
Want Ellipsis to fix these issues? Tag @ellipsis-dev
in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
).iterrows() | ||
][0] | ||
|
||
validate(request.arguments, task["input_schema"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a check to ensure task['input_schema']
is not None before attempting to validate the request arguments. If the input schema is missing, you should return an appropriate error response.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Looks good to me! Incremental review on 6276f74 in 1 minute and 16 seconds
More details
- Looked at
45
lines of code in2
files - Skipped
0
files when reviewing. - Skipped posting
1
drafted comments based on config settings.
1. agents-api/agents_api/autogen/openapi_model.py:891
- Draft comment:
The removal of thestatus
field from theCreateExecution
model could lead to issues with tracking and updating the status of executions, which is critical for managing the state and workflow of tasks. Please ensure there is a mechanism in place to handle the statuses of executions appropriately. - Reason this comment was not posted:
Confidence of 0% on close inspection, compared to threshold of 50%.
Workflow ID: wflow_LW7PAM7Vxrj7HY0H
You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet
mode, and more.
Todo list
tools_available: "all"
which will automatically add all of the tools that the agent has access toSummary:
Enhances task management with new features, refactoring, and validations, including CRUD operations, workflow execution, and migration scripts.
Key points:
tools_available: "all"
option in task definition to include all tools accessible to the agent (agents-api/agents_api/autogen/openapi_model.py
).agents-api/agents_api/migrations/migrate_1716939839_task_relations.py
.tasks
,executions
,transitions
withup
(create) anddown
(remove) queries.run
function to execute queries formatted as JSON.list_sessions
tolist_tasks
inagents-api/agents_api/routers/tasks/routers.py
.agents-api/activities/task_steps/__init__.py
for various workflow steps.cel-python
dependency inpyproject.toml
.prompt_step
andtransition_step
activities.TaskProtocol
,ExecutionInput
,StepContext
, andTransitionInfo
.create_execution_transition_query
to handle new transition data.llm_generate
and caching mechanism.PydanticPayloadConverter
for better serialization.TaskExecutionWorkflow
to manage task execution flow.agents-api/agents_api/workflows/task_execution.py
to handleawaiting_input
,finish
, andstep
states.TasksManager
andAsyncTasksManager
classes insdks/python/julep/managers/task.py
for task management.Client
andAsyncClient
classes insdks/python/julep/client.py
to include task management capabilities.beartype
decorator.agents-api/tests/test_tasks.py
andsdks/python/tests/test_tasks.py
.Generated with ❤️ by ellipsis.dev