crewai-cli 1.14.8a2.dev20260623__tar.gz → 1.14.8a3__tar.gz
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.
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/PKG-INFO +2 -2
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/pyproject.toml +1 -1
- crewai_cli-1.14.8a3/src/crewai_cli/__init__.py +1 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/run_declarative_flow.py +24 -55
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/pyproject.toml +1 -1
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/declarative_flow/pyproject.toml +1 -1
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/pyproject.toml +1 -1
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/pyproject.toml +1 -1
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_run_declarative_flow.py +37 -0
- crewai_cli-1.14.8a2.dev20260623/src/crewai_cli/__init__.py +0 -1
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/.gitignore +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/README.md +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/add_crew_to_flow.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/constants.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/auth0.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/base_provider.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/entra_id.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/keycloak.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/okta.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/providers/workos.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/token.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/utils.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/checkpoint_cli.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/checkpoint_tui.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/cli.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/command.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/config.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/constants.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/create_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/create_flow.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/create_json_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/crew_chat.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/crew_run_tui.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/deploy/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/deploy/archive.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/deploy/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/deploy/validate.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/enterprise/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/enterprise/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/evaluate_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/experimental/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/experimental/skills/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/experimental/skills/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/git.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/install_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/memory_tui.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/organization/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/organization/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/plot_flow.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/plus_api.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/provider.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/py.typed +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/remote_template/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/remote_template/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/replay_from_task.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/reset_memories_command.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/run_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/settings/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/settings/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/shared/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/shared/token_manager.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/task_outputs.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/AGENTS.md +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/.gitignore +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/README.md +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/config/agents.yaml +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/config/tasks.yaml +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/knowledge/user_preference.txt +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/skills/.gitkeep +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/tools/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/tools/custom_tool.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/declarative_flow/.gitignore +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/declarative_flow/README.md +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/declarative_flow/flow.yaml +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/.gitignore +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/README.md +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/crews/content_crew/config/agents.yaml +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/crews/content_crew/config/tasks.yaml +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/crews/content_crew/content_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/skills/.gitkeep +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/tools/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/tools/custom_tool.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/.gitignore +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/README.md +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/src/{{folder_name}}/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/src/{{folder_name}}/tool.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/tools/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/tools/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/train_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/triggers/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/triggers/main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/tui_picker.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/update_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/user_data.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/utils.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/version.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_auth0.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_entra_id.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_keycloak.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_okta.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_workos.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/test_auth_main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/test_utils.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/deploy/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/deploy/test_archive.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/deploy/test_deploy_main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/deploy/test_validate.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/enterprise/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/enterprise/test_main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/experimental/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/experimental/skills/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/experimental/skills/test_main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/organization/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/organization/test_main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/skills/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_cli.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_click_compatibility.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_config.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_constants.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_create_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_create_flow.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_crew_run_tui.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_crew_test.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_flow_commands.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_git.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_install_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_plus_api.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_run_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_settings_command.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_token_manager.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_train_crew.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_utils.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/test_version.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/tools/__init__.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/tools/test_main.py +0 -0
- {crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/triggers/test_main.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crewai-cli
|
|
3
|
-
Version: 1.14.
|
|
3
|
+
Version: 1.14.8a3
|
|
4
4
|
Summary: CLI for CrewAI — scaffold, run, deploy and manage AI agent crews.
|
|
5
5
|
Project-URL: Homepage, https://crewai.com
|
|
6
6
|
Project-URL: Documentation, https://docs.crewai.com
|
|
@@ -10,7 +10,7 @@ Requires-Python: <3.14,>=3.10
|
|
|
10
10
|
Requires-Dist: appdirs~=1.4.4
|
|
11
11
|
Requires-Dist: certifi
|
|
12
12
|
Requires-Dist: click<9,>=8.1.7
|
|
13
|
-
Requires-Dist: crewai-core==1.14.
|
|
13
|
+
Requires-Dist: crewai-core==1.14.8a3
|
|
14
14
|
Requires-Dist: cryptography>=42.0
|
|
15
15
|
Requires-Dist: httpx~=0.28.1
|
|
16
16
|
Requires-Dist: packaging>=23.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.14.8a3"
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/run_declarative_flow.py
RENAMED
|
@@ -6,6 +6,7 @@ import subprocess
|
|
|
6
6
|
from typing import Any
|
|
7
7
|
|
|
8
8
|
import click
|
|
9
|
+
from pydantic import ValidationError
|
|
9
10
|
|
|
10
11
|
from crewai_cli.utils import build_env_with_all_tool_credentials
|
|
11
12
|
|
|
@@ -65,7 +66,6 @@ def load_declarative_flow(definition: str) -> Any:
|
|
|
65
66
|
"""Load a declarative Flow instance from a definition path."""
|
|
66
67
|
try:
|
|
67
68
|
from crewai.flow.flow import Flow
|
|
68
|
-
from crewai.flow.flow_definition import FlowDefinition
|
|
69
69
|
except ImportError as exc:
|
|
70
70
|
click.echo(
|
|
71
71
|
"Running declarative flows requires the full crewai package.",
|
|
@@ -74,14 +74,30 @@ def load_declarative_flow(definition: str) -> Any:
|
|
|
74
74
|
raise SystemExit(1) from exc
|
|
75
75
|
|
|
76
76
|
definition_path = Path(definition).expanduser()
|
|
77
|
-
|
|
77
|
+
try:
|
|
78
|
+
if not definition_path.is_file():
|
|
79
|
+
if definition_path.exists():
|
|
80
|
+
click.echo(
|
|
81
|
+
f"Invalid --definition path: {definition} is not a file.",
|
|
82
|
+
err=True,
|
|
83
|
+
)
|
|
84
|
+
raise SystemExit(1)
|
|
85
|
+
click.echo(
|
|
86
|
+
f"Invalid --definition path: {definition} does not exist.", err=True
|
|
87
|
+
)
|
|
88
|
+
raise SystemExit(1)
|
|
89
|
+
except OSError as exc:
|
|
90
|
+
click.echo(f"Invalid --definition path: {definition} ({exc})", err=True)
|
|
91
|
+
raise SystemExit(1) from exc
|
|
78
92
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
try:
|
|
94
|
+
return Flow.from_declaration(path=definition_path)
|
|
95
|
+
except (OSError, UnicodeError, ValueError, ValidationError) as exc:
|
|
96
|
+
click.echo(
|
|
97
|
+
f"Unable to read --definition path {definition_path}: {exc}",
|
|
98
|
+
err=True,
|
|
99
|
+
)
|
|
100
|
+
raise SystemExit(1) from exc
|
|
85
101
|
|
|
86
102
|
|
|
87
103
|
def configured_project_declarative_flow(
|
|
@@ -154,53 +170,6 @@ def _parse_inputs(inputs: str | None) -> dict[str, Any] | None:
|
|
|
154
170
|
return parsed
|
|
155
171
|
|
|
156
172
|
|
|
157
|
-
def _read_declarative_flow_source(path: Path, definition: str) -> str:
|
|
158
|
-
try:
|
|
159
|
-
if path.is_file():
|
|
160
|
-
source = _read_declarative_flow_file(path)
|
|
161
|
-
elif path.exists():
|
|
162
|
-
click.echo(
|
|
163
|
-
f"Invalid --definition path: {definition} is not a file.", err=True
|
|
164
|
-
)
|
|
165
|
-
raise SystemExit(1)
|
|
166
|
-
else:
|
|
167
|
-
click.echo(
|
|
168
|
-
f"Invalid --definition path: {definition} does not exist.", err=True
|
|
169
|
-
)
|
|
170
|
-
raise SystemExit(1)
|
|
171
|
-
except OSError as exc:
|
|
172
|
-
click.echo(f"Invalid --definition path: {definition} ({exc})", err=True)
|
|
173
|
-
raise SystemExit(1) from exc
|
|
174
|
-
|
|
175
|
-
return source
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
def _read_declarative_flow_file(path: Path) -> str:
|
|
179
|
-
try:
|
|
180
|
-
source = path.read_text(encoding="utf-8")
|
|
181
|
-
except (OSError, UnicodeError) as exc:
|
|
182
|
-
click.echo(
|
|
183
|
-
f"Unable to read --definition path {path}: {exc}",
|
|
184
|
-
err=True,
|
|
185
|
-
)
|
|
186
|
-
raise SystemExit(1) from exc
|
|
187
|
-
return source
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
def _parse_declarative_flow(
|
|
191
|
-
flow_definition_cls: type[Any], source: str, *, source_path: Path
|
|
192
|
-
) -> Any:
|
|
193
|
-
if _looks_like_json(source):
|
|
194
|
-
return flow_definition_cls.from_json(source, source_path=source_path)
|
|
195
|
-
|
|
196
|
-
return flow_definition_cls.from_yaml(source, source_path=source_path)
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
def _looks_like_json(source: str) -> bool:
|
|
200
|
-
stripped = source.lstrip()
|
|
201
|
-
return stripped.startswith("{")
|
|
202
|
-
|
|
203
|
-
|
|
204
173
|
def _format_result(result: Any) -> str:
|
|
205
174
|
raw_result = getattr(result, "raw", result)
|
|
206
175
|
if isinstance(raw_result, str):
|
|
@@ -60,6 +60,43 @@ def test_run_declarative_flow_reports_missing_file(
|
|
|
60
60
|
)
|
|
61
61
|
|
|
62
62
|
|
|
63
|
+
def test_run_declarative_flow_reports_empty_file(
|
|
64
|
+
tmp_path: Path, capsys: pytest.CaptureFixture[str]
|
|
65
|
+
) -> None:
|
|
66
|
+
definition_path = tmp_path / "flow.yaml"
|
|
67
|
+
definition_path.write_text(" \n", encoding="utf-8")
|
|
68
|
+
|
|
69
|
+
with pytest.raises(SystemExit):
|
|
70
|
+
run_declarative_flow_module.run_declarative_flow(str(definition_path))
|
|
71
|
+
|
|
72
|
+
assert "Flow declaration file is empty" in capsys.readouterr().err
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
@pytest.mark.parametrize(
|
|
76
|
+
"contents, expected_error",
|
|
77
|
+
[
|
|
78
|
+
("[]\n", "Flow declaration must contain a mapping"),
|
|
79
|
+
("schema: crewai.flow/v1\nmethods: {}\n", "Field required"),
|
|
80
|
+
],
|
|
81
|
+
)
|
|
82
|
+
def test_load_declarative_flow_reports_invalid_declarations(
|
|
83
|
+
tmp_path: Path,
|
|
84
|
+
capsys: pytest.CaptureFixture[str],
|
|
85
|
+
contents: str,
|
|
86
|
+
expected_error: str,
|
|
87
|
+
) -> None:
|
|
88
|
+
definition_path = tmp_path / "flow.yaml"
|
|
89
|
+
definition_path.write_text(contents, encoding="utf-8")
|
|
90
|
+
|
|
91
|
+
with pytest.raises(SystemExit) as exc_info:
|
|
92
|
+
run_declarative_flow_module.load_declarative_flow(str(definition_path))
|
|
93
|
+
|
|
94
|
+
assert exc_info.value.code == 1
|
|
95
|
+
stderr = capsys.readouterr().err
|
|
96
|
+
assert f"Unable to read --definition path {definition_path}:" in stderr
|
|
97
|
+
assert expected_error in stderr
|
|
98
|
+
|
|
99
|
+
|
|
63
100
|
def test_run_declarative_flow_in_project_env_uses_uv(
|
|
64
101
|
monkeypatch: pytest.MonkeyPatch, tmp_path: Path
|
|
65
102
|
) -> None:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.14.8a2.dev20260623"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/__init__.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/constants.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/token.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/authentication/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/enterprise/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/experimental/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/experimental/skills/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/organization/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/remote_template/__init__.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/remote_template/main.py
RENAMED
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/reset_memories_command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/shared/token_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/__init__.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/.gitignore
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/README.md
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/crew.py
RENAMED
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/crew/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/.gitignore
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/README.md
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/flow/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/.gitignore
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/src/crewai_cli/templates/tool/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/__init__.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_auth0.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/providers/test_okta.py
RENAMED
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/authentication/test_auth_main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/experimental/skills/__init__.py
RENAMED
|
File without changes
|
{crewai_cli-1.14.8a2.dev20260623 → crewai_cli-1.14.8a3}/tests/experimental/skills/test_main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|