pygeai 0.1.51b3__py3-none-any.whl → 0.6.0b15__py3-none-any.whl
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.
Potentially problematic release.
This version of pygeai might be problematic. Click here for more details.
- pygeai/__init__.py +9 -1
- pygeai/_docs/Makefile +20 -0
- pygeai/_docs/make.bat +35 -0
- pygeai/_docs/source/conf.py +117 -0
- pygeai/_docs/source/content/ai_lab/cli.rst +747 -0
- pygeai/_docs/source/content/ai_lab/models.rst +1734 -0
- pygeai/_docs/source/content/ai_lab/runner.rst +253 -0
- pygeai/_docs/source/content/ai_lab/spec.rst +431 -0
- pygeai/_docs/source/content/ai_lab/usage.rst +1011 -0
- pygeai/_docs/source/content/ai_lab.rst +102 -0
- pygeai/_docs/source/content/analytics.rst +598 -0
- pygeai/_docs/source/content/api_reference/admin.rst +161 -0
- pygeai/_docs/source/content/api_reference/assistant.rst +326 -0
- pygeai/_docs/source/content/api_reference/auth.rst +379 -0
- pygeai/_docs/source/content/api_reference/chat.rst +754 -0
- pygeai/_docs/source/content/api_reference/embeddings.rst +154 -0
- pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
- pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
- pygeai/_docs/source/content/api_reference/files.rst +592 -0
- pygeai/_docs/source/content/api_reference/gam.rst +401 -0
- pygeai/_docs/source/content/api_reference/health.rst +58 -0
- pygeai/_docs/source/content/api_reference/project.rst +738 -0
- pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
- pygeai/_docs/source/content/api_reference/rag.rst +710 -0
- pygeai/_docs/source/content/api_reference/rerank.rst +94 -0
- pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
- pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
- pygeai/_docs/source/content/api_reference.rst +58 -0
- pygeai/_docs/source/content/authentication.rst +295 -0
- pygeai/_docs/source/content/chat_gui.rst +121 -0
- pygeai/_docs/source/content/cli.rst +203 -0
- pygeai/_docs/source/content/debugger.rst +651 -0
- pygeai/_docs/source/content/intro.rst +67 -0
- pygeai/_docs/source/content/migration.rst +929 -0
- pygeai/_docs/source/content/modules.rst +7 -0
- pygeai/_docs/source/content/quickstart.rst +143 -0
- pygeai/_docs/source/content/samples.rst +394 -0
- pygeai/_docs/source/index.rst +75 -0
- pygeai/_docs/source/modules.rst +7 -0
- pygeai/_docs/source/pygeai.admin.rst +29 -0
- pygeai/_docs/source/pygeai.analytics.rst +53 -0
- pygeai/_docs/source/pygeai.assistant.data.rst +21 -0
- pygeai/_docs/source/pygeai.assistant.data_analyst.rst +29 -0
- pygeai/_docs/source/pygeai.assistant.rag.rst +53 -0
- pygeai/_docs/source/pygeai.assistant.rst +55 -0
- pygeai/_docs/source/pygeai.auth.rst +29 -0
- pygeai/_docs/source/pygeai.chat.rst +69 -0
- pygeai/_docs/source/pygeai.cli.commands.flows.rst +10 -0
- pygeai/_docs/source/pygeai.cli.commands.lab.rst +53 -0
- pygeai/_docs/source/pygeai.cli.commands.rst +222 -0
- pygeai/_docs/source/pygeai.cli.rst +62 -0
- pygeai/_docs/source/pygeai.cli.texts.rst +21 -0
- pygeai/_docs/source/pygeai.core.base.rst +53 -0
- pygeai/_docs/source/pygeai.core.common.rst +37 -0
- pygeai/_docs/source/pygeai.core.embeddings.rst +61 -0
- pygeai/_docs/source/pygeai.core.feedback.rst +37 -0
- pygeai/_docs/source/pygeai.core.files.rst +61 -0
- pygeai/_docs/source/pygeai.core.llm.rst +29 -0
- pygeai/_docs/source/pygeai.core.plugins.rst +37 -0
- pygeai/_docs/source/pygeai.core.rerank.rst +53 -0
- pygeai/_docs/source/pygeai.core.rst +63 -0
- pygeai/_docs/source/pygeai.core.secrets.rst +29 -0
- pygeai/_docs/source/pygeai.core.services.llm.rst +29 -0
- pygeai/_docs/source/pygeai.core.services.rst +37 -0
- pygeai/_docs/source/pygeai.core.utils.rst +37 -0
- pygeai/_docs/source/pygeai.dbg.rst +21 -0
- pygeai/_docs/source/pygeai.evaluation.dataset.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.plan.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.result.rst +29 -0
- pygeai/_docs/source/pygeai.evaluation.rst +31 -0
- pygeai/_docs/source/pygeai.flows.rst +29 -0
- pygeai/_docs/source/pygeai.gam.rst +29 -0
- pygeai/_docs/source/pygeai.health.rst +29 -0
- pygeai/_docs/source/pygeai.lab.agents.rst +37 -0
- pygeai/_docs/source/pygeai.lab.processes.rst +37 -0
- pygeai/_docs/source/pygeai.lab.rst +65 -0
- pygeai/_docs/source/pygeai.lab.spec.rst +29 -0
- pygeai/_docs/source/pygeai.lab.strategies.rst +37 -0
- pygeai/_docs/source/pygeai.lab.tools.rst +37 -0
- pygeai/_docs/source/pygeai.man.man1.rst +10 -0
- pygeai/_docs/source/pygeai.man.rst +18 -0
- pygeai/_docs/source/pygeai.migration.rst +29 -0
- pygeai/_docs/source/pygeai.organization.limits.rst +45 -0
- pygeai/_docs/source/pygeai.organization.rst +61 -0
- pygeai/_docs/source/pygeai.proxy.rst +53 -0
- pygeai/_docs/source/pygeai.rst +35 -0
- pygeai/_docs/source/pygeai.tests.admin.rst +21 -0
- pygeai/_docs/source/pygeai.tests.analytics.rst +45 -0
- pygeai/_docs/source/pygeai.tests.assistants.rag.rst +37 -0
- pygeai/_docs/source/pygeai.tests.assistants.rst +45 -0
- pygeai/_docs/source/pygeai.tests.auth.rst +29 -0
- pygeai/_docs/source/pygeai.tests.chat.rst +45 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.lab.rst +37 -0
- pygeai/_docs/source/pygeai.tests.cli.commands.rst +165 -0
- pygeai/_docs/source/pygeai.tests.cli.docker.rst +10 -0
- pygeai/_docs/source/pygeai.tests.cli.rst +46 -0
- pygeai/_docs/source/pygeai.tests.core.base.data.rst +29 -0
- pygeai/_docs/source/pygeai.tests.core.base.rst +45 -0
- pygeai/_docs/source/pygeai.tests.core.common.data.rst +10 -0
- pygeai/_docs/source/pygeai.tests.core.common.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.embeddings.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.feedback.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.files.rst +53 -0
- pygeai/_docs/source/pygeai.tests.core.llm.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.plugins.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.rerank.rst +37 -0
- pygeai/_docs/source/pygeai.tests.core.rst +39 -0
- pygeai/_docs/source/pygeai.tests.core.secrets.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.services.rst +21 -0
- pygeai/_docs/source/pygeai.tests.core.utils.rst +21 -0
- pygeai/_docs/source/pygeai.tests.dbg.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.dataset.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.plan.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.result.rst +21 -0
- pygeai/_docs/source/pygeai.tests.evaluation.rst +20 -0
- pygeai/_docs/source/pygeai.tests.gam.rst +21 -0
- pygeai/_docs/source/pygeai.tests.health.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.assistants.rag.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.assistants.rst +18 -0
- pygeai/_docs/source/pygeai.tests.integration.chat.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.agents.rst +69 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.processes.rst +77 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.reasoning_strategies.rst +37 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.rst +21 -0
- pygeai/_docs/source/pygeai.tests.integration.lab.tools.rst +77 -0
- pygeai/_docs/source/pygeai.tests.integration.rst +20 -0
- pygeai/_docs/source/pygeai.tests.lab.agents.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.processes.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.rst +49 -0
- pygeai/_docs/source/pygeai.tests.lab.spec.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.strategies.rst +29 -0
- pygeai/_docs/source/pygeai.tests.lab.tools.rst +29 -0
- pygeai/_docs/source/pygeai.tests.migration.rst +29 -0
- pygeai/_docs/source/pygeai.tests.organization.limits.rst +29 -0
- pygeai/_docs/source/pygeai.tests.organization.rst +53 -0
- pygeai/_docs/source/pygeai.tests.proxy.rst +61 -0
- pygeai/_docs/source/pygeai.tests.rst +33 -0
- pygeai/admin/clients.py +14 -11
- pygeai/admin/endpoints.py +2 -2
- pygeai/analytics/clients.py +505 -0
- pygeai/analytics/endpoints.py +35 -0
- pygeai/analytics/managers.py +606 -0
- pygeai/analytics/mappers.py +207 -0
- pygeai/analytics/responses.py +240 -0
- pygeai/assistant/clients.py +18 -45
- pygeai/assistant/data/clients.py +1 -0
- pygeai/assistant/data_analyst/clients.py +8 -12
- pygeai/assistant/managers.py +195 -157
- pygeai/assistant/mappers.py +4 -2
- pygeai/assistant/rag/clients.py +27 -67
- pygeai/assistant/rag/mappers.py +12 -6
- pygeai/assistant/rag/models.py +301 -159
- pygeai/auth/__init__.py +0 -0
- pygeai/auth/clients.py +129 -0
- pygeai/auth/endpoints.py +6 -0
- pygeai/chat/clients.py +308 -37
- pygeai/chat/endpoints.py +3 -0
- pygeai/chat/iris.py +2 -8
- pygeai/chat/managers.py +9 -6
- pygeai/chat/session.py +38 -0
- pygeai/chat/settings.py +6 -0
- pygeai/chat/ui.py +678 -0
- pygeai/cli/__init__.py +0 -1
- pygeai/cli/commands/admin.py +7 -10
- pygeai/cli/commands/analytics.py +533 -0
- pygeai/cli/commands/assistant.py +9 -9
- pygeai/cli/commands/auth.py +299 -0
- pygeai/cli/commands/base.py +71 -9
- pygeai/cli/commands/chat.py +676 -19
- pygeai/cli/commands/common.py +28 -24
- pygeai/cli/commands/configuration.py +66 -13
- pygeai/cli/commands/docs.py +105 -0
- pygeai/cli/commands/embeddings.py +58 -11
- pygeai/cli/commands/evaluation.py +38 -38
- pygeai/cli/commands/feedback.py +3 -4
- pygeai/cli/commands/files.py +7 -8
- pygeai/cli/commands/gam.py +85 -10
- pygeai/cli/commands/lab/ai_lab.py +340 -484
- pygeai/cli/commands/lab/options.py +8 -0
- pygeai/cli/commands/lab/spec.py +273 -0
- pygeai/cli/commands/lab/utils.py +13 -0
- pygeai/cli/commands/llm.py +6 -7
- pygeai/cli/commands/migrate.py +1064 -436
- pygeai/cli/commands/organization.py +516 -11
- pygeai/cli/commands/rag.py +13 -14
- pygeai/cli/commands/rerank.py +3 -5
- pygeai/cli/commands/secrets.py +8 -9
- pygeai/cli/commands/usage_limits.py +18 -20
- pygeai/cli/commands/validators.py +144 -1
- pygeai/cli/commands/version.py +4 -5
- pygeai/cli/error_handler.py +151 -0
- pygeai/cli/geai.py +170 -31
- pygeai/cli/geai_proxy.py +86 -25
- pygeai/cli/install_man.py +93 -22
- pygeai/cli/parsers.py +75 -25
- pygeai/cli/texts/help.py +265 -28
- pygeai/core/base/clients.py +53 -12
- pygeai/core/base/mappers.py +11 -2
- pygeai/core/base/session.py +95 -11
- pygeai/core/common/config.py +78 -14
- pygeai/core/common/exceptions.py +96 -6
- pygeai/core/embeddings/__init__.py +19 -0
- pygeai/core/embeddings/clients.py +23 -5
- pygeai/core/embeddings/managers.py +9 -4
- pygeai/core/embeddings/mappers.py +16 -2
- pygeai/core/embeddings/responses.py +9 -2
- pygeai/core/feedback/clients.py +8 -3
- pygeai/core/files/clients.py +23 -24
- pygeai/core/files/managers.py +121 -30
- pygeai/core/files/responses.py +4 -3
- pygeai/core/handlers.py +10 -1
- pygeai/core/llm/clients.py +22 -29
- pygeai/core/models.py +127 -11
- pygeai/core/plugins/clients.py +6 -6
- pygeai/core/rerank/clients.py +9 -3
- pygeai/core/rerank/managers.py +22 -5
- pygeai/core/secrets/clients.py +16 -37
- pygeai/core/services/response.py +18 -0
- pygeai/core/services/rest.py +159 -49
- pygeai/core/utils/__init__.py +0 -0
- pygeai/core/utils/console.py +83 -0
- pygeai/core/utils/parsers.py +32 -0
- pygeai/core/utils/validators.py +10 -0
- pygeai/dbg/__init__.py +3 -0
- pygeai/dbg/debugger.py +854 -14
- pygeai/evaluation/clients.py +7 -4
- pygeai/evaluation/dataset/clients.py +46 -44
- pygeai/evaluation/plan/clients.py +28 -26
- pygeai/evaluation/result/clients.py +38 -5
- pygeai/gam/clients.py +50 -28
- pygeai/gam/endpoints.py +2 -1
- pygeai/health/__init__.py +0 -0
- pygeai/health/clients.py +24 -0
- pygeai/health/endpoints.py +1 -0
- pygeai/lab/__init__.py +0 -90
- pygeai/lab/agents/clients.py +203 -162
- pygeai/lab/agents/endpoints.py +4 -0
- pygeai/lab/agents/mappers.py +57 -7
- pygeai/lab/clients.py +24 -0
- pygeai/lab/constants.py +3 -0
- pygeai/lab/managers.py +571 -541
- pygeai/lab/models.py +108 -19
- pygeai/lab/processes/clients.py +332 -340
- pygeai/lab/processes/mappers.py +3 -3
- pygeai/lab/runners.py +90 -0
- pygeai/lab/spec/__init__.py +0 -0
- pygeai/lab/spec/loader.py +24 -0
- pygeai/lab/spec/parsers.py +39 -0
- pygeai/lab/strategies/clients.py +67 -63
- pygeai/lab/strategies/mappers.py +1 -1
- pygeai/lab/tools/clients.py +85 -118
- pygeai/lab/tools/endpoints.py +4 -0
- pygeai/lab/tools/mappers.py +5 -5
- pygeai/man/man1/geai-proxy.1 +116 -0
- pygeai/man/man1/geai.1 +2580 -66
- pygeai/migration/__init__.py +33 -0
- pygeai/migration/strategies.py +468 -146
- pygeai/migration/tools.py +170 -3
- pygeai/organization/clients.py +245 -50
- pygeai/organization/endpoints.py +17 -8
- pygeai/organization/limits/clients.py +34 -32
- pygeai/organization/limits/managers.py +108 -49
- pygeai/organization/managers.py +347 -53
- pygeai/organization/mappers.py +102 -2
- pygeai/organization/responses.py +58 -1
- pygeai/proxy/clients.py +6 -3
- pygeai/proxy/config.py +14 -1
- pygeai/proxy/managers.py +61 -33
- pygeai/proxy/servers.py +196 -51
- pygeai/proxy/tool.py +33 -16
- pygeai/tests/admin/__init__.py +0 -0
- pygeai/tests/admin/test_clients.py +148 -0
- pygeai/tests/analytics/__init__.py +0 -0
- pygeai/tests/analytics/test_clients.py +86 -0
- pygeai/tests/analytics/test_managers.py +94 -0
- pygeai/tests/analytics/test_mappers.py +84 -0
- pygeai/tests/analytics/test_responses.py +73 -0
- pygeai/tests/assistants/rag/test_clients.py +346 -0
- pygeai/tests/assistants/rag/test_models.py +292 -0
- pygeai/tests/assistants/test_clients.py +176 -82
- pygeai/tests/assistants/test_managers.py +191 -57
- pygeai/tests/auth/__init__.py +0 -0
- pygeai/tests/auth/test_clients.py +289 -0
- pygeai/tests/auth/test_oauth.py +172 -0
- pygeai/tests/auth/test_session_logging.py +150 -0
- pygeai/tests/chat/__init__.py +0 -0
- pygeai/tests/chat/test_clients.py +393 -0
- pygeai/tests/chat/test_iris.py +38 -0
- pygeai/tests/chat/test_session.py +62 -0
- pygeai/tests/chat/test_ui.py +224 -0
- pygeai/tests/cli/commands/__init__.py +0 -0
- pygeai/tests/cli/commands/lab/__init__.py +0 -0
- pygeai/tests/cli/commands/lab/test_ai_lab.py +786 -0
- pygeai/tests/cli/commands/lab/test_common.py +208 -0
- pygeai/tests/cli/commands/lab/test_spec.py +246 -0
- pygeai/tests/cli/commands/test_assistant.py +202 -0
- pygeai/tests/cli/commands/test_chat.py +130 -0
- pygeai/tests/cli/commands/test_common.py +350 -0
- pygeai/tests/cli/commands/test_embeddings.py +132 -0
- pygeai/tests/cli/commands/test_evaluation.py +656 -0
- pygeai/tests/cli/commands/test_feedback.py +65 -0
- pygeai/tests/cli/commands/test_files.py +161 -0
- pygeai/tests/cli/commands/test_gam.py +201 -0
- pygeai/tests/cli/commands/test_llm.py +114 -0
- pygeai/tests/cli/commands/test_migrate.py +176 -0
- pygeai/tests/cli/commands/test_organization.py +276 -0
- pygeai/tests/cli/commands/test_rag.py +266 -0
- pygeai/tests/cli/commands/test_rerank.py +110 -0
- pygeai/tests/cli/commands/test_secrets.py +171 -0
- pygeai/tests/cli/commands/test_show_help.py +41 -0
- pygeai/tests/cli/commands/test_usage_limits.py +412 -0
- pygeai/tests/cli/commands/test_validators.py +160 -0
- pygeai/tests/cli/commands/test_version.py +81 -0
- pygeai/tests/cli/docker/__init__.py +0 -0
- pygeai/tests/cli/test_credentials_flag.py +316 -0
- pygeai/tests/cli/test_error_handler.py +225 -0
- pygeai/tests/cli/test_geai_driver.py +154 -0
- pygeai/tests/cli/test_parsers.py +5 -5
- pygeai/tests/core/base/data/models.py +7 -0
- pygeai/tests/core/base/test_mappers.py +43 -11
- pygeai/tests/core/base/test_models.py +3 -1
- pygeai/tests/core/base/test_responses.py +53 -0
- pygeai/tests/core/common/__init__.py +0 -0
- pygeai/tests/core/common/data/__init__.py +0 -0
- pygeai/tests/core/common/test_config.py +186 -0
- pygeai/tests/core/common/test_decorators.py +69 -0
- pygeai/tests/core/embeddings/__init__.py +0 -0
- pygeai/tests/core/embeddings/test_clients.py +225 -0
- pygeai/tests/core/embeddings/test_managers.py +171 -0
- pygeai/tests/core/embeddings/test_mappers.py +142 -0
- pygeai/tests/core/feedback/__init__.py +0 -0
- pygeai/tests/core/feedback/test_clients.py +64 -0
- pygeai/tests/core/files/test_clients.py +128 -0
- pygeai/tests/core/files/test_managers.py +124 -78
- pygeai/tests/core/files/test_mappers.py +137 -0
- pygeai/tests/core/files/test_models.py +103 -0
- pygeai/tests/core/files/test_responses.py +122 -0
- pygeai/tests/core/llm/__init__.py +0 -0
- pygeai/tests/core/llm/test_clients.py +142 -0
- pygeai/tests/core/plugins/__init__.py +0 -0
- pygeai/tests/core/plugins/test_clients.py +66 -0
- pygeai/tests/core/rerank/test_clients.py +76 -0
- pygeai/tests/core/rerank/test_managers.py +61 -39
- pygeai/tests/core/secrets/__init__.py +0 -0
- pygeai/tests/core/secrets/test_clients.py +264 -0
- pygeai/tests/core/services/__init__.py +0 -0
- pygeai/tests/core/services/test_rest.py +273 -0
- pygeai/tests/core/test_handlers.py +66 -0
- pygeai/tests/core/utils/__init__.py +0 -0
- pygeai/tests/core/utils/test_console.py +80 -0
- pygeai/tests/dbg/__init__.py +0 -0
- pygeai/tests/dbg/test_debugger.py +591 -0
- pygeai/tests/evaluation/__init__.py +0 -0
- pygeai/tests/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/evaluation/dataset/test_clients.py +265 -0
- pygeai/tests/evaluation/plan/__init__.py +0 -0
- pygeai/tests/evaluation/plan/test_clients.py +195 -0
- pygeai/tests/evaluation/result/__init__.py +0 -0
- pygeai/tests/evaluation/result/test_clients.py +66 -0
- pygeai/tests/gam/__init__.py +0 -0
- pygeai/tests/gam/test_clients.py +195 -0
- pygeai/tests/health/__init__.py +0 -0
- pygeai/tests/health/test_clients.py +41 -0
- pygeai/tests/integration/__init__.py +0 -0
- pygeai/tests/integration/assistants/__init__.py +0 -0
- pygeai/tests/integration/assistants/rag/__init__.py +0 -0
- pygeai/tests/integration/assistants/rag/test_create_rag.py +91 -0
- pygeai/tests/integration/chat/__init__.py +0 -0
- pygeai/tests/integration/chat/test_generate_image.py +158 -0
- pygeai/tests/integration/lab/__init__.py +0 -0
- pygeai/tests/integration/lab/agents/__init__.py +0 -0
- pygeai/tests/integration/lab/agents/test_agents_list.py +106 -0
- pygeai/tests/integration/lab/agents/test_create_agent.py +319 -0
- pygeai/tests/integration/lab/agents/test_create_sharing_link.py +70 -0
- pygeai/tests/integration/lab/agents/test_delete_agent.py +75 -0
- pygeai/tests/integration/lab/agents/test_get_agent.py +94 -0
- pygeai/tests/integration/lab/agents/test_publish_agent_revision.py +127 -0
- pygeai/tests/integration/lab/agents/test_update_agent.py +250 -0
- pygeai/tests/integration/lab/processes/__init__.py +0 -0
- pygeai/tests/integration/lab/processes/test_create_process.py +345 -0
- pygeai/tests/integration/lab/processes/test_create_task.py +211 -0
- pygeai/tests/integration/lab/processes/test_delete_process.py +111 -0
- pygeai/tests/integration/lab/processes/test_get_process.py +201 -0
- pygeai/tests/integration/lab/processes/test_list_process_instances.py +91 -0
- pygeai/tests/integration/lab/processes/test_list_processes.py +138 -0
- pygeai/tests/integration/lab/processes/test_publish_process_revision.py +232 -0
- pygeai/tests/integration/lab/processes/test_update_process.py +289 -0
- pygeai/tests/integration/lab/reasoning_strategies/__init__.py +0 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_get_reasoning_strategy.py +70 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_list_reasoning_strategies.py +93 -0
- pygeai/tests/integration/lab/reasoning_strategies/test_update_reasoning_strategy.py +149 -0
- pygeai/tests/integration/lab/tools/__init__.py +0 -0
- pygeai/tests/integration/lab/tools/test_create_tool.py +288 -0
- pygeai/tests/integration/lab/tools/test_delete_tool.py +87 -0
- pygeai/tests/integration/lab/tools/test_get_parameter.py +98 -0
- pygeai/tests/integration/lab/tools/test_get_tool.py +91 -0
- pygeai/tests/integration/lab/tools/test_list_tools.py +106 -0
- pygeai/tests/integration/lab/tools/test_publish_tool_revision.py +119 -0
- pygeai/tests/integration/lab/tools/test_set_parameter.py +114 -0
- pygeai/tests/integration/lab/tools/test_update_tool.py +267 -0
- pygeai/tests/lab/agents/__init__.py +0 -0
- pygeai/tests/lab/agents/test_clients.py +481 -0
- pygeai/tests/lab/agents/test_mappers.py +440 -0
- pygeai/tests/lab/processes/__init__.py +0 -0
- pygeai/tests/lab/processes/test_clients.py +1416 -0
- pygeai/tests/lab/processes/test_mappers.py +1092 -0
- pygeai/tests/lab/spec/__init__.py +0 -0
- pygeai/tests/lab/spec/test_loader.py +59 -0
- pygeai/tests/lab/spec/test_parsers.py +182 -0
- pygeai/tests/lab/strategies/__init__.py +0 -0
- pygeai/tests/lab/strategies/test_clients.py +241 -0
- pygeai/tests/lab/strategies/test_mappers.py +132 -0
- pygeai/tests/lab/test_managers.py +553 -0
- pygeai/tests/lab/test_models.py +500 -3
- pygeai/tests/lab/tools/__init__.py +0 -0
- pygeai/tests/lab/tools/test_clients.py +521 -0
- pygeai/tests/lab/tools/test_mappers.py +198 -0
- pygeai/tests/migration/__init__.py +0 -0
- pygeai/tests/migration/test_strategies.py +405 -0
- pygeai/tests/migration/test_tools.py +159 -0
- pygeai/tests/organization/limits/test_clients.py +567 -0
- pygeai/tests/organization/limits/test_managers.py +298 -56
- pygeai/tests/organization/test_clients.py +600 -30
- pygeai/tests/organization/test_managers.py +424 -0
- pygeai/tests/organization/test_mappers.py +153 -0
- pygeai/tests/organization/test_responses.py +137 -0
- pygeai/tests/proxy/__init__.py +1 -0
- pygeai/tests/proxy/test_clients.py +397 -0
- pygeai/tests/proxy/test_config.py +171 -0
- pygeai/tests/proxy/test_integration.py +305 -0
- pygeai/tests/proxy/test_managers.py +312 -0
- pygeai/tests/proxy/test_servers.py +387 -0
- pygeai/tests/proxy/test_tool.py +176 -0
- pygeai/tests/snippets/analytics/__init__.py +0 -0
- pygeai/tests/snippets/analytics/get_agent_usage_per_user.py +16 -0
- pygeai/tests/snippets/analytics/get_agents_created_and_modified.py +11 -0
- pygeai/tests/snippets/analytics/get_average_cost_per_request.py +10 -0
- pygeai/tests/snippets/analytics/get_overall_error_rate.py +10 -0
- pygeai/tests/snippets/analytics/get_top_10_agents_by_requests.py +12 -0
- pygeai/tests/snippets/analytics/get_total_active_users.py +10 -0
- pygeai/tests/snippets/analytics/get_total_cost.py +10 -0
- pygeai/tests/snippets/analytics/get_total_requests_per_day.py +12 -0
- pygeai/tests/snippets/analytics/get_total_tokens.py +12 -0
- pygeai/tests/snippets/auth/__init__.py +0 -0
- pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
- pygeai/tests/snippets/chat/get_response.py +15 -0
- pygeai/tests/snippets/chat/get_response_complete_example.py +67 -0
- pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
- pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
- pygeai/tests/snippets/chat/get_response_with_instructions.py +19 -0
- pygeai/tests/snippets/chat/get_response_with_metadata.py +24 -0
- pygeai/tests/snippets/chat/get_response_with_parallel_tools.py +58 -0
- pygeai/tests/snippets/chat/get_response_with_reasoning.py +21 -0
- pygeai/tests/snippets/chat/get_response_with_store.py +38 -0
- pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
- pygeai/tests/snippets/chat/get_response_with_truncation.py +24 -0
- pygeai/tests/snippets/dbg/__init__.py +0 -0
- pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
- pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
- pygeai/tests/snippets/dbg/file_debugging.py +72 -0
- pygeai/tests/snippets/dbg/module_debugging.py +61 -0
- pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
- pygeai/tests/snippets/dbg/stepping_example.py +40 -0
- pygeai/tests/snippets/embeddings/cache_example.py +31 -0
- pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
- pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
- pygeai/tests/snippets/embeddings/openai_example.py +30 -0
- pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
- pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
- pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
- pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
- pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
- pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
- pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
- pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
- pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
- pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
- pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
- pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
- pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
- pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
- pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
- pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
- pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
- pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
- pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
- pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
- pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
- pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
- pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
- pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
- pygeai/tests/snippets/files/delete_file.py +1 -4
- pygeai/tests/snippets/files/get_file_content.py +2 -4
- pygeai/tests/snippets/files/get_file_data.py +1 -4
- pygeai/tests/snippets/files/get_file_list.py +1 -6
- pygeai/tests/snippets/files/upload_file.py +1 -5
- pygeai/tests/snippets/gam/gam_access_token.py +87 -0
- pygeai/tests/snippets/lab/agentic_flow_example_1.py +25 -23
- pygeai/tests/snippets/lab/agentic_flow_example_4.py +23 -23
- pygeai/tests/snippets/lab/agents/create_agent.py +5 -8
- pygeai/tests/snippets/lab/agents/create_agent_2.py +1 -5
- pygeai/tests/snippets/lab/agents/create_agent_edge_case.py +48 -0
- pygeai/tests/snippets/lab/agents/create_agent_with_permissions.py +39 -0
- pygeai/tests/snippets/lab/agents/create_agent_with_properties.py +46 -0
- pygeai/tests/snippets/lab/agents/create_agent_without_instructions.py +48 -0
- pygeai/tests/snippets/lab/agents/delete_agent.py +1 -5
- pygeai/tests/snippets/lab/agents/get_agent.py +2 -11
- pygeai/tests/snippets/lab/agents/get_agent_with_new_fields.py +62 -0
- pygeai/tests/snippets/lab/agents/get_sharing_link.py +2 -7
- pygeai/tests/snippets/lab/agents/list_agents.py +4 -7
- pygeai/tests/snippets/lab/agents/publish_agent_revision.py +2 -6
- pygeai/tests/snippets/lab/agents/update_agent.py +1 -5
- pygeai/tests/snippets/lab/agents/update_agent_properties.py +50 -0
- pygeai/tests/snippets/lab/assistant_to_agent.py +191 -0
- pygeai/tests/snippets/lab/crud_ui.py +462 -0
- pygeai/tests/snippets/lab/processes/create_process.py +3 -5
- pygeai/tests/snippets/lab/processes/create_task.py +3 -5
- pygeai/tests/snippets/lab/processes/jobs/list_jobs.py +10 -19
- pygeai/tests/snippets/lab/processes/kbs/create_kb.py +2 -5
- pygeai/tests/snippets/lab/processes/kbs/get_kb.py +10 -16
- pygeai/tests/snippets/lab/processes/kbs/list_kbs.py +13 -20
- pygeai/tests/snippets/lab/processes/kbs/try_all.py +5 -7
- pygeai/tests/snippets/lab/processes/list_processes.py +5 -7
- pygeai/tests/snippets/lab/runner_1.py +1 -1
- pygeai/tests/snippets/lab/samples/summarize_files.py +3 -3
- pygeai/tests/snippets/lab/strategies/create_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/strategies/get_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/strategies/list_reasoning_strategies.py +3 -6
- pygeai/tests/snippets/lab/strategies/update_reasoning_strategy.py +2 -5
- pygeai/tests/snippets/lab/tools/create_tool.py +4 -10
- pygeai/tests/snippets/lab/tools/create_tool_edge_case.py +50 -0
- pygeai/tests/snippets/lab/tools/delete_tool.py +2 -6
- pygeai/tests/snippets/lab/tools/get_parameter.py +5 -7
- pygeai/tests/snippets/lab/tools/get_tool.py +5 -7
- pygeai/tests/snippets/lab/tools/list_tools.py +3 -7
- pygeai/tests/snippets/lab/tools/publish_tool_revision.py +3 -5
- pygeai/tests/snippets/lab/tools/set_parameters.py +4 -9
- pygeai/tests/snippets/lab/tools/update_tool.py +4 -8
- pygeai/tests/snippets/lab/use_cases/__init__.py +0 -0
- pygeai/tests/snippets/lab/use_cases/create_cli_expert.py +1640 -0
- pygeai/tests/snippets/lab/use_cases/create_lab_expert.py +4541 -0
- pygeai/tests/snippets/lab/use_cases/create_tool_headless_web_browser.py +133 -0
- pygeai/tests/snippets/lab/use_cases/create_web_designer.py +189 -0
- pygeai/tests/snippets/lab/use_cases/create_web_reader.py +185 -0
- pygeai/tests/snippets/lab/{file_summarizer_example.py → use_cases/file_summarizer_example.py} +3 -3
- pygeai/tests/snippets/lab/{file_summarizer_example_2.py → use_cases/file_summarizer_example_2.py} +12 -12
- pygeai/tests/snippets/lab/use_cases/update_cli_expert.py +1773 -0
- pygeai/tests/snippets/lab/use_cases/update_lab_expert.py +4541 -0
- pygeai/tests/snippets/lab/use_cases/update_web_designer.py +188 -0
- pygeai/tests/snippets/lab/use_cases/update_web_reader.py +195 -0
- pygeai/tests/snippets/lab/use_cases/update_web_reader_with_tool.py +210 -0
- pygeai/tests/snippets/migrate/__init__.py +45 -0
- pygeai/tests/snippets/migrate/agent_migration.py +110 -0
- pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
- pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
- pygeai/tests/snippets/migrate/process_migration.py +64 -0
- pygeai/tests/snippets/migrate/project_migration.py +42 -0
- pygeai/tests/snippets/migrate/tool_migration.py +64 -0
- pygeai/tests/snippets/organization/add_project_member.py +10 -0
- pygeai/tests/snippets/organization/add_project_member_batch.py +44 -0
- pygeai/tests/snippets/organization/create_project.py +2 -2
- pygeai/tests/snippets/organization/get_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_organization_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_members.py +6 -0
- pygeai/tests/snippets/organization/get_project_memberships.py +12 -0
- pygeai/tests/snippets/organization/get_project_roles.py +6 -0
- pygeai/vendor/a2a/__init__.py +1 -0
- pygeai/vendor/a2a/auth/__init__.py +0 -0
- pygeai/vendor/a2a/auth/user.py +31 -0
- pygeai/vendor/a2a/client/__init__.py +19 -0
- pygeai/vendor/a2a/client/client.py +425 -0
- pygeai/vendor/a2a/client/errors.py +33 -0
- pygeai/vendor/a2a/client/helpers.py +22 -0
- pygeai/vendor/a2a/py.typed +0 -0
- pygeai/vendor/a2a/server/__init__.py +1 -0
- pygeai/vendor/a2a/server/agent_execution/__init__.py +18 -0
- pygeai/vendor/a2a/server/agent_execution/agent_executor.py +44 -0
- pygeai/vendor/a2a/server/agent_execution/context.py +155 -0
- pygeai/vendor/a2a/server/agent_execution/request_context_builder.py +20 -0
- pygeai/vendor/a2a/server/agent_execution/simple_request_context_builder.py +77 -0
- pygeai/vendor/a2a/server/apps/__init__.py +16 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/__init__.py +16 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/fastapi_app.py +88 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/jsonrpc_app.py +426 -0
- pygeai/vendor/a2a/server/apps/jsonrpc/starlette_app.py +123 -0
- pygeai/vendor/a2a/server/context.py +23 -0
- pygeai/vendor/a2a/server/events/__init__.py +21 -0
- pygeai/vendor/a2a/server/events/event_consumer.py +149 -0
- pygeai/vendor/a2a/server/events/event_queue.py +156 -0
- pygeai/vendor/a2a/server/events/in_memory_queue_manager.py +85 -0
- pygeai/vendor/a2a/server/events/queue_manager.py +35 -0
- pygeai/vendor/a2a/server/request_handlers/__init__.py +20 -0
- pygeai/vendor/a2a/server/request_handlers/default_request_handler.py +435 -0
- pygeai/vendor/a2a/server/request_handlers/jsonrpc_handler.py +327 -0
- pygeai/vendor/a2a/server/request_handlers/request_handler.py +161 -0
- pygeai/vendor/a2a/server/request_handlers/response_helpers.py +133 -0
- pygeai/vendor/a2a/server/tasks/__init__.py +20 -0
- pygeai/vendor/a2a/server/tasks/inmemory_push_notifier.py +62 -0
- pygeai/vendor/a2a/server/tasks/inmemory_task_store.py +51 -0
- pygeai/vendor/a2a/server/tasks/push_notifier.py +25 -0
- pygeai/vendor/a2a/server/tasks/result_aggregator.py +151 -0
- pygeai/vendor/a2a/server/tasks/task_manager.py +253 -0
- pygeai/vendor/a2a/server/tasks/task_store.py +22 -0
- pygeai/vendor/a2a/server/tasks/task_updater.py +155 -0
- pygeai/vendor/a2a/types.py +1624 -0
- pygeai/vendor/a2a/utils/__init__.py +40 -0
- pygeai/vendor/a2a/utils/artifact.py +72 -0
- pygeai/vendor/a2a/utils/errors.py +69 -0
- pygeai/vendor/a2a/utils/helpers.py +176 -0
- pygeai/vendor/a2a/utils/message.py +83 -0
- pygeai/vendor/a2a/utils/task.py +57 -0
- pygeai/vendor/a2a/utils/telemetry.py +299 -0
- pygeai-0.6.0b15.dist-info/METADATA +205 -0
- pygeai-0.6.0b15.dist-info/RECORD +799 -0
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/WHEEL +1 -1
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/entry_points.txt +2 -1
- {pygeai-0.1.51b3.dist-info → pygeai-0.6.0b15.dist-info}/licenses/LICENSE +13 -1
- pygeai-0.6.0b15.dist-info/top_level.txt +1 -0
- docs/geai-proxy/README.md +0 -145
- docs/source/conf.py +0 -45
- pygeai/tests/core/test_managers.py +0 -233
- pygeai-0.1.51b3.dist-info/METADATA +0 -130
- pygeai-0.1.51b3.dist-info/RECORD +0 -324
- pygeai-0.1.51b3.dist-info/top_level.txt +0 -3
- scripts/bump_beta_version.py +0 -56
- {scripts → pygeai/analytics}/__init__.py +0 -0
- /pygeai/tests/snippets/lab/{c_code_fixer_agent_flow.py → use_cases/c_code_fixer_agent_flow.py} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
|
-
import sys
|
|
3
2
|
|
|
3
|
+
from pygeai import logger
|
|
4
4
|
from pygeai.cli.commands import Command, Option, ArgumentsEnum
|
|
5
5
|
from pygeai.cli.commands.builders import build_help_text
|
|
6
6
|
from pygeai.cli.commands.common import get_boolean_value
|
|
@@ -8,10 +8,13 @@ from pygeai.cli.commands.lab.common import get_agent_data_prompt_inputs, get_age
|
|
|
8
8
|
get_agent_data_prompt_examples, get_tool_parameters
|
|
9
9
|
from pygeai.cli.texts.help import AI_LAB_HELP_TEXT
|
|
10
10
|
from pygeai.core.common.exceptions import MissingRequirementException, WrongArgumentError
|
|
11
|
+
from pygeai.core.utils.console import Console
|
|
12
|
+
from pygeai.cli.commands.lab.options import PROJECT_ID_OPTION
|
|
11
13
|
from pygeai.lab.agents.clients import AgentClient
|
|
12
14
|
from pygeai.lab.processes.clients import AgenticProcessClient
|
|
13
15
|
from pygeai.lab.strategies.clients import ReasoningStrategyClient
|
|
14
|
-
from pygeai.lab.tools.clients import ToolClient
|
|
16
|
+
from pygeai.lab.tools.clients import ToolClient
|
|
17
|
+
from pygeai.lab.constants import VALID_SCOPES
|
|
15
18
|
|
|
16
19
|
|
|
17
20
|
def show_help():
|
|
@@ -19,7 +22,7 @@ def show_help():
|
|
|
19
22
|
Displays help text in stdout
|
|
20
23
|
"""
|
|
21
24
|
help_text = build_help_text(ai_lab_commands, AI_LAB_HELP_TEXT)
|
|
22
|
-
|
|
25
|
+
Console.write_stdout(help_text)
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
def list_agents(option_list: list):
|
|
@@ -47,12 +50,8 @@ def list_agents(option_list: list):
|
|
|
47
50
|
if option_flag.name == "allow_external":
|
|
48
51
|
allow_external = get_boolean_value(option_arg)
|
|
49
52
|
|
|
50
|
-
|
|
51
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
52
|
-
|
|
53
|
-
client = AgentClient()
|
|
53
|
+
client = AgentClient(project_id=project_id)
|
|
54
54
|
result = client.list_agents(
|
|
55
|
-
project_id=project_id,
|
|
56
55
|
status=status,
|
|
57
56
|
start=start,
|
|
58
57
|
count=count,
|
|
@@ -60,16 +59,11 @@ def list_agents(option_list: list):
|
|
|
60
59
|
allow_drafts=allow_drafts,
|
|
61
60
|
allow_external=allow_external,
|
|
62
61
|
)
|
|
63
|
-
|
|
62
|
+
Console.write_stdout(f"Agent list: \n{result}")
|
|
64
63
|
|
|
65
64
|
|
|
66
65
|
list_agents_options = [
|
|
67
|
-
|
|
68
|
-
"project_id",
|
|
69
|
-
["--project-id", "--pid"],
|
|
70
|
-
"ID of the project",
|
|
71
|
-
True
|
|
72
|
-
),
|
|
66
|
+
PROJECT_ID_OPTION,
|
|
73
67
|
Option(
|
|
74
68
|
"status",
|
|
75
69
|
["--status"],
|
|
@@ -126,6 +120,7 @@ def create_agent(option_list: list):
|
|
|
126
120
|
agent_data_llm_temperature = None
|
|
127
121
|
agent_data_llm_top_k = None
|
|
128
122
|
agent_data_llm_top_p = None
|
|
123
|
+
agent_data_strategy_name = None
|
|
129
124
|
agent_data_model_name = None
|
|
130
125
|
agent_data_resource_pools = None
|
|
131
126
|
automatic_publish = False
|
|
@@ -200,6 +195,8 @@ def create_agent(option_list: list):
|
|
|
200
195
|
agent_data_llm_top_k = option_arg
|
|
201
196
|
if option_flag.name == "agent_data_llm_top_p":
|
|
202
197
|
agent_data_llm_top_p = option_arg
|
|
198
|
+
if option_flag.name == "agent_data_strategy_name":
|
|
199
|
+
agent_data_strategy_name = option_arg
|
|
203
200
|
if option_flag.name == "agent_data_model_name":
|
|
204
201
|
agent_data_model_name = option_arg
|
|
205
202
|
if option_flag.name == "agent_data_resource_pools":
|
|
@@ -216,10 +213,11 @@ def create_agent(option_list: list):
|
|
|
216
213
|
if option_flag.name == "automatic_publish":
|
|
217
214
|
automatic_publish = get_boolean_value(option_arg)
|
|
218
215
|
|
|
219
|
-
if not
|
|
220
|
-
raise MissingRequirementException("
|
|
221
|
-
|
|
222
|
-
|
|
216
|
+
if not name:
|
|
217
|
+
raise MissingRequirementException("Cannot create assistant without specifying name.")
|
|
218
|
+
|
|
219
|
+
if access_scope == 'public' and not public_name:
|
|
220
|
+
raise MissingRequirementException("If access scope is public, public name must be defined.")
|
|
223
221
|
|
|
224
222
|
prompt_inputs = get_agent_data_prompt_inputs(agent_data_prompt_inputs)
|
|
225
223
|
prompt_outputs = get_agent_data_prompt_outputs(agent_data_prompt_outputs)
|
|
@@ -244,9 +242,8 @@ def create_agent(option_list: list):
|
|
|
244
242
|
{"name": agent_data_model_name}
|
|
245
243
|
]
|
|
246
244
|
|
|
247
|
-
client = AgentClient()
|
|
245
|
+
client = AgentClient(project_id=project_id)
|
|
248
246
|
result = client.create_agent(
|
|
249
|
-
project_id=project_id,
|
|
250
247
|
name=name,
|
|
251
248
|
access_scope=access_scope,
|
|
252
249
|
public_name=public_name,
|
|
@@ -255,20 +252,16 @@ def create_agent(option_list: list):
|
|
|
255
252
|
description=description,
|
|
256
253
|
agent_data_prompt=agent_data_prompt,
|
|
257
254
|
agent_data_llm_config=agent_data_llm_config,
|
|
255
|
+
agent_data_strategy_name=agent_data_strategy_name,
|
|
258
256
|
agent_data_models=agent_data_models,
|
|
259
257
|
agent_data_resource_pools=agent_data_resource_pools,
|
|
260
258
|
automatic_publish=automatic_publish
|
|
261
259
|
)
|
|
262
|
-
|
|
260
|
+
Console.write_stdout(f"New agent detail: \n{result}")
|
|
263
261
|
|
|
264
262
|
|
|
265
263
|
create_agent_options = [
|
|
266
|
-
|
|
267
|
-
"project_id",
|
|
268
|
-
["--project-id", "--pid"],
|
|
269
|
-
"Unique identifier of the project where the agent will be created",
|
|
270
|
-
True
|
|
271
|
-
),
|
|
264
|
+
PROJECT_ID_OPTION,
|
|
272
265
|
Option(
|
|
273
266
|
"name",
|
|
274
267
|
["--name", "-n"],
|
|
@@ -360,6 +353,12 @@ create_agent_options = [
|
|
|
360
353
|
"TopP sampling parameter for LLM (currently unused)",
|
|
361
354
|
True
|
|
362
355
|
),
|
|
356
|
+
Option(
|
|
357
|
+
"agent_data_strategy_name",
|
|
358
|
+
["--agent-data-strategy-name", "--strategy-name"],
|
|
359
|
+
"Name of the reasoning strategy to use",
|
|
360
|
+
True
|
|
361
|
+
),
|
|
363
362
|
Option(
|
|
364
363
|
"agent_data_model_name",
|
|
365
364
|
["--agent-data-model-name", "--adm-name"],
|
|
@@ -401,27 +400,21 @@ def get_agent(option_list: list):
|
|
|
401
400
|
if option_flag.name == "allow_drafts":
|
|
402
401
|
allow_drafts = get_boolean_value(option_arg)
|
|
403
402
|
|
|
404
|
-
if not
|
|
405
|
-
raise MissingRequirementException("
|
|
403
|
+
if not agent_id:
|
|
404
|
+
raise MissingRequirementException("Agent ID must be specified.")
|
|
406
405
|
|
|
407
|
-
client = AgentClient()
|
|
406
|
+
client = AgentClient(project_id=project_id)
|
|
408
407
|
result = client.get_agent(
|
|
409
|
-
project_id=project_id,
|
|
410
408
|
agent_id=agent_id,
|
|
411
409
|
revision=revision,
|
|
412
410
|
version=version,
|
|
413
411
|
allow_drafts=allow_drafts,
|
|
414
412
|
)
|
|
415
|
-
|
|
413
|
+
Console.write_stdout(f"Agent detail: \n{result}")
|
|
416
414
|
|
|
417
415
|
|
|
418
416
|
get_agent_options = [
|
|
419
|
-
|
|
420
|
-
"project_id",
|
|
421
|
-
["--project-id", "--pid"],
|
|
422
|
-
"ID of the project",
|
|
423
|
-
True
|
|
424
|
-
),
|
|
417
|
+
PROJECT_ID_OPTION,
|
|
425
418
|
Option(
|
|
426
419
|
"agent_id",
|
|
427
420
|
["--agent-id", "--aid"],
|
|
@@ -449,34 +442,119 @@ get_agent_options = [
|
|
|
449
442
|
]
|
|
450
443
|
|
|
451
444
|
|
|
452
|
-
def
|
|
445
|
+
def export_agent(option_list: list):
|
|
453
446
|
project_id = None
|
|
454
447
|
agent_id = None
|
|
448
|
+
file = None
|
|
455
449
|
|
|
456
450
|
for option_flag, option_arg in option_list:
|
|
457
451
|
if option_flag.name == "project_id":
|
|
458
452
|
project_id = option_arg
|
|
459
453
|
if option_flag.name == "agent_id":
|
|
460
454
|
agent_id = option_arg
|
|
455
|
+
if option_flag.name == "file":
|
|
456
|
+
file = option_arg
|
|
461
457
|
|
|
462
|
-
if not
|
|
463
|
-
raise MissingRequirementException("
|
|
458
|
+
if not agent_id:
|
|
459
|
+
raise MissingRequirementException("Agent ID must be specified.")
|
|
464
460
|
|
|
465
|
-
client = AgentClient()
|
|
466
|
-
result = client.
|
|
467
|
-
project_id=project_id,
|
|
461
|
+
client = AgentClient(project_id=project_id)
|
|
462
|
+
result = client.export_agent(
|
|
468
463
|
agent_id=agent_id,
|
|
469
464
|
)
|
|
470
|
-
|
|
465
|
+
if file:
|
|
466
|
+
try:
|
|
467
|
+
data = json.loads(result) if isinstance(result, str) else result
|
|
468
|
+
with open(file, "w") as f:
|
|
469
|
+
json.dump(data, f, indent=4)
|
|
470
|
+
Console.write_stdout(f"Result from API saved to {file}.")
|
|
471
|
+
except json.JSONDecodeError as e:
|
|
472
|
+
logger.error(f"Result from API endpoint is not in JSON format: {e}")
|
|
473
|
+
Console.write_stderr(f"Result from API endpoint is not in JSON format.")
|
|
474
|
+
else:
|
|
475
|
+
Console.write_stdout(f"Agent spec: \n{result}")
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
export_agent_options = [
|
|
479
|
+
PROJECT_ID_OPTION,
|
|
480
|
+
Option(
|
|
481
|
+
"agent_id",
|
|
482
|
+
["--agent-id", "--aid"],
|
|
483
|
+
"ID of the agent to retrieve",
|
|
484
|
+
True
|
|
485
|
+
),
|
|
486
|
+
Option(
|
|
487
|
+
"file",
|
|
488
|
+
["--file", "-f"],
|
|
489
|
+
"File path to save export specification for agent",
|
|
490
|
+
True
|
|
491
|
+
),
|
|
492
|
+
]
|
|
471
493
|
|
|
472
494
|
|
|
473
|
-
|
|
495
|
+
def import_agent(option_list: list):
|
|
496
|
+
project_id = None
|
|
497
|
+
file = None
|
|
498
|
+
|
|
499
|
+
for option_flag, option_arg in option_list:
|
|
500
|
+
if option_flag.name == "project_id":
|
|
501
|
+
project_id = option_arg
|
|
502
|
+
if option_flag.name == "file":
|
|
503
|
+
file = option_arg
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
if not file:
|
|
507
|
+
raise MissingRequirementException("File path to spec must be specified.")
|
|
508
|
+
|
|
509
|
+
try:
|
|
510
|
+
with open(file, "r") as f:
|
|
511
|
+
agent_data = json.load(f)
|
|
512
|
+
except json.JSONDecodeError as e:
|
|
513
|
+
logger.error(f"File is not in JSON format: {e}")
|
|
514
|
+
Console.write_stderr(f"File is not in JSON format.")
|
|
515
|
+
|
|
516
|
+
client = AgentClient(project_id=project_id)
|
|
517
|
+
result = client.import_agent(
|
|
518
|
+
data=agent_data
|
|
519
|
+
)
|
|
520
|
+
|
|
521
|
+
Console.write_stdout(f"Agent import details: {result}")
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
import_agent_options = [
|
|
526
|
+
PROJECT_ID_OPTION,
|
|
474
527
|
Option(
|
|
475
|
-
"
|
|
476
|
-
["--
|
|
477
|
-
"
|
|
528
|
+
"file",
|
|
529
|
+
["--file", "-f"],
|
|
530
|
+
"File path to save export specification for agent",
|
|
478
531
|
True
|
|
479
532
|
),
|
|
533
|
+
]
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
def create_sharing_link(option_list: list):
|
|
537
|
+
project_id = None
|
|
538
|
+
agent_id = None
|
|
539
|
+
|
|
540
|
+
for option_flag, option_arg in option_list:
|
|
541
|
+
if option_flag.name == "project_id":
|
|
542
|
+
project_id = option_arg
|
|
543
|
+
if option_flag.name == "agent_id":
|
|
544
|
+
agent_id = option_arg
|
|
545
|
+
|
|
546
|
+
if not agent_id:
|
|
547
|
+
raise MissingRequirementException("Agent ID must be specified.")
|
|
548
|
+
|
|
549
|
+
client = AgentClient(project_id=project_id)
|
|
550
|
+
result = client.create_sharing_link(
|
|
551
|
+
agent_id=agent_id,
|
|
552
|
+
)
|
|
553
|
+
Console.write_stdout(f"Sharing token: \n{result}")
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
create_sharing_link_options = [
|
|
557
|
+
PROJECT_ID_OPTION,
|
|
480
558
|
Option(
|
|
481
559
|
"agent_id",
|
|
482
560
|
["--agent-id", "--aid"],
|
|
@@ -499,25 +577,19 @@ def publish_agent_revision(option_list: list):
|
|
|
499
577
|
if option_flag.name == "revision":
|
|
500
578
|
revision = option_arg
|
|
501
579
|
|
|
502
|
-
if not (
|
|
503
|
-
raise MissingRequirementException("
|
|
580
|
+
if not (agent_id and revision):
|
|
581
|
+
raise MissingRequirementException("Agent ID and revision must be specified.")
|
|
504
582
|
|
|
505
|
-
client = AgentClient()
|
|
583
|
+
client = AgentClient(project_id=project_id)
|
|
506
584
|
result = client.publish_agent_revision(
|
|
507
|
-
project_id=project_id,
|
|
508
585
|
agent_id=agent_id,
|
|
509
586
|
revision=revision
|
|
510
587
|
)
|
|
511
|
-
|
|
588
|
+
Console.write_stdout(f"Published revision detail: \n{result}")
|
|
512
589
|
|
|
513
590
|
|
|
514
591
|
publish_agent_revision_options = [
|
|
515
|
-
|
|
516
|
-
"project_id",
|
|
517
|
-
["--project-id", "--pid"],
|
|
518
|
-
"ID of the project",
|
|
519
|
-
True
|
|
520
|
-
),
|
|
592
|
+
PROJECT_ID_OPTION,
|
|
521
593
|
Option(
|
|
522
594
|
"agent_id",
|
|
523
595
|
["--agent-id", "--aid"],
|
|
@@ -543,24 +615,18 @@ def delete_agent(option_list: list):
|
|
|
543
615
|
if option_flag.name == "agent_id":
|
|
544
616
|
agent_id = option_arg
|
|
545
617
|
|
|
546
|
-
if not
|
|
547
|
-
raise MissingRequirementException("
|
|
618
|
+
if not agent_id:
|
|
619
|
+
raise MissingRequirementException("Agent ID must be specified.")
|
|
548
620
|
|
|
549
|
-
client = AgentClient()
|
|
621
|
+
client = AgentClient(project_id=project_id)
|
|
550
622
|
result = client.delete_agent(
|
|
551
|
-
project_id=project_id,
|
|
552
623
|
agent_id=agent_id,
|
|
553
624
|
)
|
|
554
|
-
|
|
625
|
+
Console.write_stdout(f"Deleted agent detail: \n{result}")
|
|
555
626
|
|
|
556
627
|
|
|
557
628
|
delete_agent_options = [
|
|
558
|
-
|
|
559
|
-
"project_id",
|
|
560
|
-
["--project-id", "--pid"],
|
|
561
|
-
"ID of the project",
|
|
562
|
-
True
|
|
563
|
-
),
|
|
629
|
+
PROJECT_ID_OPTION,
|
|
564
630
|
Option(
|
|
565
631
|
"agent_id",
|
|
566
632
|
["--agent-id", "--aid"],
|
|
@@ -588,6 +654,7 @@ def update_agent(option_list: list):
|
|
|
588
654
|
agent_data_llm_temperature = None
|
|
589
655
|
agent_data_llm_top_k = None
|
|
590
656
|
agent_data_llm_top_p = None
|
|
657
|
+
agent_data_strategy_name = None
|
|
591
658
|
agent_data_model_name = None
|
|
592
659
|
agent_data_resource_pools = None
|
|
593
660
|
automatic_publish = False
|
|
@@ -664,7 +731,9 @@ def update_agent(option_list: list):
|
|
|
664
731
|
if option_flag.name == "agent_data_llm_top_k":
|
|
665
732
|
agent_data_llm_top_k = option_arg
|
|
666
733
|
if option_flag.name == "agent_data_llm_top_p":
|
|
667
|
-
|
|
734
|
+
agent_data_llm_top_k = option_arg
|
|
735
|
+
if option_flag.name == "agent_data_strategy_name":
|
|
736
|
+
agent_data_strategy_name = option_arg
|
|
668
737
|
if option_flag.name == "agent_data_model_name":
|
|
669
738
|
agent_data_model_name = option_arg
|
|
670
739
|
if option_flag.name == "agent_data_resource_pools":
|
|
@@ -683,9 +752,6 @@ def update_agent(option_list: list):
|
|
|
683
752
|
if option_flag.name == "upsert":
|
|
684
753
|
upsert = get_boolean_value(option_arg)
|
|
685
754
|
|
|
686
|
-
if not project_id:
|
|
687
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
688
|
-
|
|
689
755
|
if not (name and access_scope and public_name):
|
|
690
756
|
raise MissingRequirementException("Cannot update assistant without specifying name, access scope and public name")
|
|
691
757
|
|
|
@@ -712,9 +778,8 @@ def update_agent(option_list: list):
|
|
|
712
778
|
{"name": agent_data_model_name}
|
|
713
779
|
]
|
|
714
780
|
|
|
715
|
-
client = AgentClient()
|
|
781
|
+
client = AgentClient(project_id=project_id)
|
|
716
782
|
result = client.update_agent(
|
|
717
|
-
project_id=project_id,
|
|
718
783
|
agent_id=agent_id,
|
|
719
784
|
name=name,
|
|
720
785
|
access_scope=access_scope,
|
|
@@ -724,21 +789,17 @@ def update_agent(option_list: list):
|
|
|
724
789
|
description=description,
|
|
725
790
|
agent_data_prompt=agent_data_prompt,
|
|
726
791
|
agent_data_llm_config=agent_data_llm_config,
|
|
792
|
+
agent_data_strategy_name=agent_data_strategy_name,
|
|
727
793
|
agent_data_models=agent_data_models,
|
|
728
794
|
agent_data_resource_pools=agent_data_resource_pools,
|
|
729
795
|
automatic_publish=automatic_publish,
|
|
730
796
|
upsert=upsert
|
|
731
797
|
)
|
|
732
|
-
|
|
798
|
+
Console.write_stdout(f"Updated agent detail: \n{result}")
|
|
733
799
|
|
|
734
800
|
|
|
735
801
|
update_agent_options = [
|
|
736
|
-
|
|
737
|
-
"project_id",
|
|
738
|
-
["--project-id", "--pid"],
|
|
739
|
-
"Unique identifier of the project where the agent will be created",
|
|
740
|
-
True
|
|
741
|
-
),
|
|
802
|
+
PROJECT_ID_OPTION,
|
|
742
803
|
Option(
|
|
743
804
|
"agent_id",
|
|
744
805
|
["--agent-id", "--aid"],
|
|
@@ -836,6 +897,12 @@ update_agent_options = [
|
|
|
836
897
|
"TopP sampling parameter for LLM (currently unused)",
|
|
837
898
|
True
|
|
838
899
|
),
|
|
900
|
+
Option(
|
|
901
|
+
"agent_data_strategy_name",
|
|
902
|
+
["--agent-data-strategy-name", "--strategy-name"],
|
|
903
|
+
"Name of the reasoning strategy to use",
|
|
904
|
+
True
|
|
905
|
+
),
|
|
839
906
|
Option(
|
|
840
907
|
"agent_data_model_name",
|
|
841
908
|
["--agent-data-model-name", "--adm-name"],
|
|
@@ -923,8 +990,6 @@ def create_tool(option_list: list):
|
|
|
923
990
|
if option_flag.name == "automatic_publish":
|
|
924
991
|
automatic_publish = get_boolean_value(option_arg)
|
|
925
992
|
|
|
926
|
-
if not project_id:
|
|
927
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
928
993
|
if not name:
|
|
929
994
|
raise MissingRequirementException("Tool name must be specified.")
|
|
930
995
|
if access_scope == "public" and not public_name:
|
|
@@ -936,9 +1001,8 @@ def create_tool(option_list: list):
|
|
|
936
1001
|
|
|
937
1002
|
tool_parameters = get_tool_parameters(parameters)
|
|
938
1003
|
|
|
939
|
-
client = ToolClient()
|
|
1004
|
+
client = ToolClient(project_id=project_id)
|
|
940
1005
|
result = client.create_tool(
|
|
941
|
-
project_id=project_id,
|
|
942
1006
|
name=name,
|
|
943
1007
|
description=description,
|
|
944
1008
|
scope=scope,
|
|
@@ -951,16 +1015,11 @@ def create_tool(option_list: list):
|
|
|
951
1015
|
parameters=tool_parameters,
|
|
952
1016
|
automatic_publish=automatic_publish
|
|
953
1017
|
)
|
|
954
|
-
|
|
1018
|
+
Console.write_stdout(f"New tool detail: \n{result}")
|
|
955
1019
|
|
|
956
1020
|
|
|
957
1021
|
create_tool_options = [
|
|
958
|
-
|
|
959
|
-
"project_id",
|
|
960
|
-
["--project-id", "--pid"],
|
|
961
|
-
"Unique identifier of the project where the tool will be created",
|
|
962
|
-
True
|
|
963
|
-
),
|
|
1022
|
+
PROJECT_ID_OPTION,
|
|
964
1023
|
Option(
|
|
965
1024
|
"name",
|
|
966
1025
|
["--name", "-n"],
|
|
@@ -1055,15 +1114,11 @@ def list_tools(option_list: list):
|
|
|
1055
1114
|
if option_flag.name == "allow_external":
|
|
1056
1115
|
allow_external = get_boolean_value(option_arg)
|
|
1057
1116
|
|
|
1058
|
-
if not project_id:
|
|
1059
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
1060
|
-
|
|
1061
1117
|
if scope and scope not in VALID_SCOPES:
|
|
1062
1118
|
raise ValueError(f"Scope must be one of {', '.join(VALID_SCOPES)}.")
|
|
1063
1119
|
|
|
1064
|
-
client = ToolClient()
|
|
1120
|
+
client = ToolClient(project_id=project_id)
|
|
1065
1121
|
result = client.list_tools(
|
|
1066
|
-
project_id=project_id,
|
|
1067
1122
|
id=id,
|
|
1068
1123
|
count=count,
|
|
1069
1124
|
access_scope=access_scope,
|
|
@@ -1071,16 +1126,11 @@ def list_tools(option_list: list):
|
|
|
1071
1126
|
scope=scope,
|
|
1072
1127
|
allow_external=allow_external,
|
|
1073
1128
|
)
|
|
1074
|
-
|
|
1129
|
+
Console.write_stdout(f"Tool list: \n{result}")
|
|
1075
1130
|
|
|
1076
1131
|
|
|
1077
1132
|
list_tools_options = [
|
|
1078
|
-
|
|
1079
|
-
"project_id",
|
|
1080
|
-
["--project-id", "--pid"],
|
|
1081
|
-
"ID of the project",
|
|
1082
|
-
True
|
|
1083
|
-
),
|
|
1133
|
+
PROJECT_ID_OPTION,
|
|
1084
1134
|
Option(
|
|
1085
1135
|
"id",
|
|
1086
1136
|
["--id"],
|
|
@@ -1139,27 +1189,21 @@ def get_tool(option_list: list):
|
|
|
1139
1189
|
if option_flag.name == "allow_drafts":
|
|
1140
1190
|
allow_drafts = get_boolean_value(option_arg)
|
|
1141
1191
|
|
|
1142
|
-
if not
|
|
1143
|
-
raise MissingRequirementException("
|
|
1192
|
+
if not tool_id:
|
|
1193
|
+
raise MissingRequirementException("Tool ID must be specified.")
|
|
1144
1194
|
|
|
1145
|
-
client = ToolClient()
|
|
1195
|
+
client = ToolClient(project_id=project_id)
|
|
1146
1196
|
result = client.get_tool(
|
|
1147
|
-
project_id=project_id,
|
|
1148
1197
|
tool_id=tool_id,
|
|
1149
1198
|
revision=revision,
|
|
1150
1199
|
version=version,
|
|
1151
1200
|
allow_drafts=allow_drafts,
|
|
1152
1201
|
)
|
|
1153
|
-
|
|
1202
|
+
Console.write_stdout(f"Tool detail: \n{result}")
|
|
1154
1203
|
|
|
1155
1204
|
|
|
1156
1205
|
get_tool_options = [
|
|
1157
|
-
|
|
1158
|
-
"project_id",
|
|
1159
|
-
["--project-id", "--pid"],
|
|
1160
|
-
"ID of the project",
|
|
1161
|
-
True
|
|
1162
|
-
),
|
|
1206
|
+
PROJECT_ID_OPTION,
|
|
1163
1207
|
Option(
|
|
1164
1208
|
"tool_id",
|
|
1165
1209
|
["--tool-id", "--tid"],
|
|
@@ -1187,6 +1231,57 @@ get_tool_options = [
|
|
|
1187
1231
|
]
|
|
1188
1232
|
|
|
1189
1233
|
|
|
1234
|
+
def export_tool(option_list: list):
|
|
1235
|
+
project_id = None
|
|
1236
|
+
tool_id = None
|
|
1237
|
+
file = None
|
|
1238
|
+
|
|
1239
|
+
for option_flag, option_arg in option_list:
|
|
1240
|
+
if option_flag.name == "project_id":
|
|
1241
|
+
project_id = option_arg
|
|
1242
|
+
if option_flag.name == "tool_id":
|
|
1243
|
+
tool_id = option_arg
|
|
1244
|
+
if option_flag.name == "file":
|
|
1245
|
+
file = option_arg
|
|
1246
|
+
|
|
1247
|
+
if not tool_id:
|
|
1248
|
+
raise MissingRequirementException("Tool ID must be specified.")
|
|
1249
|
+
|
|
1250
|
+
client = ToolClient(project_id=project_id)
|
|
1251
|
+
result = client.export_tool(
|
|
1252
|
+
tool_id=tool_id,
|
|
1253
|
+
)
|
|
1254
|
+
Console.write_stdout(f"Tool spec: \n{result}")
|
|
1255
|
+
if file:
|
|
1256
|
+
try:
|
|
1257
|
+
data = json.loads(result) if isinstance(result, str) else result
|
|
1258
|
+
with open(file, "w") as f:
|
|
1259
|
+
json.dump(data, f, indent=4)
|
|
1260
|
+
Console.write_stdout(f"Result from API saved to {file}.")
|
|
1261
|
+
except json.JSONDecodeError as e:
|
|
1262
|
+
logger.error(f"Result from API endpoint is not in JSON format: {e}")
|
|
1263
|
+
Console.write_stderr(f"Result from API endpoint is not in JSON format.")
|
|
1264
|
+
|
|
1265
|
+
|
|
1266
|
+
|
|
1267
|
+
export_tool_options = [
|
|
1268
|
+
PROJECT_ID_OPTION,
|
|
1269
|
+
Option(
|
|
1270
|
+
"tool_id",
|
|
1271
|
+
["--tool-id", "--tid"],
|
|
1272
|
+
"ID of the tool to retrieve",
|
|
1273
|
+
True
|
|
1274
|
+
),
|
|
1275
|
+
Option(
|
|
1276
|
+
"file",
|
|
1277
|
+
["--file", "-f"],
|
|
1278
|
+
"File path to save export specification for tool",
|
|
1279
|
+
True
|
|
1280
|
+
),
|
|
1281
|
+
]
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1190
1285
|
def delete_tool(option_list: list):
|
|
1191
1286
|
project_id = None
|
|
1192
1287
|
tool_id = None
|
|
@@ -1195,30 +1290,24 @@ def delete_tool(option_list: list):
|
|
|
1195
1290
|
for option_flag, option_arg in option_list:
|
|
1196
1291
|
if option_flag.name == "project_id":
|
|
1197
1292
|
project_id = option_arg
|
|
1198
|
-
|
|
1293
|
+
if option_flag.name == "tool_id":
|
|
1199
1294
|
tool_id = option_arg
|
|
1200
1295
|
elif option_flag.name == "tool_name":
|
|
1201
1296
|
tool_name = option_arg
|
|
1202
1297
|
|
|
1203
|
-
if not
|
|
1204
|
-
raise MissingRequirementException("
|
|
1298
|
+
if not (tool_id or tool_name):
|
|
1299
|
+
raise MissingRequirementException("Either Tool ID or Tool Name must be specified.")
|
|
1205
1300
|
|
|
1206
|
-
client = ToolClient()
|
|
1301
|
+
client = ToolClient(project_id=project_id)
|
|
1207
1302
|
result = client.delete_tool(
|
|
1208
|
-
project_id=project_id,
|
|
1209
1303
|
tool_id=tool_id,
|
|
1210
1304
|
tool_name=tool_name
|
|
1211
1305
|
)
|
|
1212
|
-
|
|
1306
|
+
Console.write_stdout(f"Deleted tool detail: \n{result}")
|
|
1213
1307
|
|
|
1214
1308
|
|
|
1215
1309
|
delete_tool_options = [
|
|
1216
|
-
|
|
1217
|
-
"project_id",
|
|
1218
|
-
["--project-id", "--pid"],
|
|
1219
|
-
"ID of the project",
|
|
1220
|
-
True
|
|
1221
|
-
),
|
|
1310
|
+
PROJECT_ID_OPTION,
|
|
1222
1311
|
Option(
|
|
1223
1312
|
"tool_id",
|
|
1224
1313
|
["--tool-id", "--tid"],
|
|
@@ -1298,8 +1387,6 @@ def update_tool(option_list: list):
|
|
|
1298
1387
|
if option_flag.name == "upsert":
|
|
1299
1388
|
upsert = get_boolean_value(option_arg)
|
|
1300
1389
|
|
|
1301
|
-
if not project_id:
|
|
1302
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
1303
1390
|
if not tool_id:
|
|
1304
1391
|
raise MissingRequirementException("Tool ID must be specified.")
|
|
1305
1392
|
if access_scope == "public" and not public_name:
|
|
@@ -1311,9 +1398,8 @@ def update_tool(option_list: list):
|
|
|
1311
1398
|
|
|
1312
1399
|
tool_parameters = get_tool_parameters(parameters)
|
|
1313
1400
|
|
|
1314
|
-
client = ToolClient()
|
|
1401
|
+
client = ToolClient(project_id=project_id)
|
|
1315
1402
|
result = client.update_tool(
|
|
1316
|
-
project_id=project_id,
|
|
1317
1403
|
tool_id=tool_id,
|
|
1318
1404
|
name=name,
|
|
1319
1405
|
description=description,
|
|
@@ -1328,16 +1414,11 @@ def update_tool(option_list: list):
|
|
|
1328
1414
|
automatic_publish=automatic_publish,
|
|
1329
1415
|
upsert=upsert
|
|
1330
1416
|
)
|
|
1331
|
-
|
|
1417
|
+
Console.write_stdout(f"Updated tool detail: \n{result}")
|
|
1332
1418
|
|
|
1333
1419
|
|
|
1334
1420
|
update_tool_options = [
|
|
1335
|
-
|
|
1336
|
-
"project_id",
|
|
1337
|
-
["--project-id", "--pid"],
|
|
1338
|
-
"Unique identifier of the project containing the tool",
|
|
1339
|
-
True
|
|
1340
|
-
),
|
|
1421
|
+
PROJECT_ID_OPTION,
|
|
1341
1422
|
Option(
|
|
1342
1423
|
"tool_id",
|
|
1343
1424
|
["--tool-id", "--tid"],
|
|
@@ -1432,25 +1513,19 @@ def publish_tool_revision(option_list: list):
|
|
|
1432
1513
|
if option_flag.name == "revision":
|
|
1433
1514
|
revision = option_arg
|
|
1434
1515
|
|
|
1435
|
-
if not (
|
|
1436
|
-
raise MissingRequirementException("
|
|
1516
|
+
if not (tool_id and revision):
|
|
1517
|
+
raise MissingRequirementException("Tool ID and revision must be specified.")
|
|
1437
1518
|
|
|
1438
|
-
client = ToolClient()
|
|
1519
|
+
client = ToolClient(project_id=project_id)
|
|
1439
1520
|
result = client.publish_tool_revision(
|
|
1440
|
-
project_id=project_id,
|
|
1441
1521
|
tool_id=tool_id,
|
|
1442
1522
|
revision=revision
|
|
1443
1523
|
)
|
|
1444
|
-
|
|
1524
|
+
Console.write_stdout(f"Published revision detail: \n{result}")
|
|
1445
1525
|
|
|
1446
1526
|
|
|
1447
1527
|
publish_tool_revision_options = [
|
|
1448
|
-
|
|
1449
|
-
"project_id",
|
|
1450
|
-
["--project-id", "--pid"],
|
|
1451
|
-
"ID of the project",
|
|
1452
|
-
True
|
|
1453
|
-
),
|
|
1528
|
+
PROJECT_ID_OPTION,
|
|
1454
1529
|
Option(
|
|
1455
1530
|
"tool_id",
|
|
1456
1531
|
["--tool-id", "--tid"],
|
|
@@ -1488,28 +1563,22 @@ def get_parameter(option_list: list):
|
|
|
1488
1563
|
if option_flag.name == "version":
|
|
1489
1564
|
version = option_arg
|
|
1490
1565
|
|
|
1491
|
-
if not (
|
|
1492
|
-
raise MissingRequirementException("
|
|
1566
|
+
if not (tool_public_name or tool_id):
|
|
1567
|
+
raise MissingRequirementException("Tool public name or ID must be specified.")
|
|
1493
1568
|
|
|
1494
|
-
client = ToolClient()
|
|
1569
|
+
client = ToolClient(project_id=project_id)
|
|
1495
1570
|
result = client.get_parameter(
|
|
1496
|
-
project_id=project_id,
|
|
1497
1571
|
tool_id=tool_id,
|
|
1498
1572
|
tool_public_name=tool_public_name,
|
|
1499
1573
|
revision=revision,
|
|
1500
1574
|
version=version,
|
|
1501
1575
|
allow_drafts=allow_drafts,
|
|
1502
1576
|
)
|
|
1503
|
-
|
|
1577
|
+
Console.write_stdout(f"Parameter detail: \n{result}")
|
|
1504
1578
|
|
|
1505
1579
|
|
|
1506
1580
|
get_parameter_options = [
|
|
1507
|
-
|
|
1508
|
-
"project_id",
|
|
1509
|
-
["--project-id", "--pid"],
|
|
1510
|
-
"ID of the project",
|
|
1511
|
-
True
|
|
1512
|
-
),
|
|
1581
|
+
PROJECT_ID_OPTION,
|
|
1513
1582
|
Option(
|
|
1514
1583
|
"tool_id",
|
|
1515
1584
|
["--tool-id", "--tid"],
|
|
@@ -1571,8 +1640,6 @@ def set_parameter(option_list: list):
|
|
|
1571
1640
|
"\"isRequired\": true, \"type\": \"config\", \"fromSecret\": false, \"value\": \"config_value\"}'"
|
|
1572
1641
|
)
|
|
1573
1642
|
|
|
1574
|
-
if not project_id:
|
|
1575
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
1576
1643
|
if not (tool_public_name or tool_id):
|
|
1577
1644
|
raise MissingRequirementException("Tool public name or ID must be specified.")
|
|
1578
1645
|
if not parameters:
|
|
@@ -1580,23 +1647,17 @@ def set_parameter(option_list: list):
|
|
|
1580
1647
|
|
|
1581
1648
|
tool_parameters = get_tool_parameters(parameters)
|
|
1582
1649
|
|
|
1583
|
-
client = ToolClient()
|
|
1650
|
+
client = ToolClient(project_id=project_id)
|
|
1584
1651
|
result = client.set_parameter(
|
|
1585
|
-
project_id=project_id,
|
|
1586
1652
|
tool_id=tool_id,
|
|
1587
1653
|
tool_public_name=tool_public_name,
|
|
1588
1654
|
parameters=tool_parameters
|
|
1589
1655
|
)
|
|
1590
|
-
|
|
1656
|
+
Console.write_stdout(f"Set parameter detail: \n{result}")
|
|
1591
1657
|
|
|
1592
1658
|
|
|
1593
1659
|
set_parameter_options = [
|
|
1594
|
-
|
|
1595
|
-
"project_id",
|
|
1596
|
-
["--project-id", "--pid"],
|
|
1597
|
-
"ID of the project",
|
|
1598
|
-
True
|
|
1599
|
-
),
|
|
1660
|
+
PROJECT_ID_OPTION,
|
|
1600
1661
|
Option(
|
|
1601
1662
|
"tool_id",
|
|
1602
1663
|
["--tool-id", "--tid"],
|
|
@@ -1657,7 +1718,7 @@ def list_reasoning_strategies(option_list: list):
|
|
|
1657
1718
|
allow_external=allow_external,
|
|
1658
1719
|
access_scope=access_scope,
|
|
1659
1720
|
)
|
|
1660
|
-
|
|
1721
|
+
Console.write_stdout(f"Reasoning strategies list: \n{result}")
|
|
1661
1722
|
|
|
1662
1723
|
|
|
1663
1724
|
list_reasoning_strategies_options = [
|
|
@@ -1695,7 +1756,6 @@ list_reasoning_strategies_options = [
|
|
|
1695
1756
|
|
|
1696
1757
|
|
|
1697
1758
|
def create_reasoning_strategy(option_list: list):
|
|
1698
|
-
project_id = None
|
|
1699
1759
|
name = None
|
|
1700
1760
|
system_prompt = None
|
|
1701
1761
|
access_scope = "public"
|
|
@@ -1704,8 +1764,6 @@ def create_reasoning_strategy(option_list: list):
|
|
|
1704
1764
|
automatic_publish = False
|
|
1705
1765
|
|
|
1706
1766
|
for option_flag, option_arg in option_list:
|
|
1707
|
-
if option_flag.name == "project_id":
|
|
1708
|
-
project_id = option_arg
|
|
1709
1767
|
if option_flag.name == "name":
|
|
1710
1768
|
name = option_arg
|
|
1711
1769
|
if option_flag.name == "system_prompt":
|
|
@@ -1728,8 +1786,6 @@ def create_reasoning_strategy(option_list: list):
|
|
|
1728
1786
|
if option_flag.name == "automatic_publish":
|
|
1729
1787
|
automatic_publish = get_boolean_value(option_arg)
|
|
1730
1788
|
|
|
1731
|
-
if not project_id:
|
|
1732
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
1733
1789
|
if not name:
|
|
1734
1790
|
raise MissingRequirementException("Name must be specified.")
|
|
1735
1791
|
if not system_prompt:
|
|
@@ -1749,7 +1805,6 @@ def create_reasoning_strategy(option_list: list):
|
|
|
1749
1805
|
|
|
1750
1806
|
client = ReasoningStrategyClient()
|
|
1751
1807
|
result = client.create_reasoning_strategy(
|
|
1752
|
-
project_id=project_id,
|
|
1753
1808
|
name=name,
|
|
1754
1809
|
system_prompt=system_prompt,
|
|
1755
1810
|
access_scope=access_scope,
|
|
@@ -1757,16 +1812,10 @@ def create_reasoning_strategy(option_list: list):
|
|
|
1757
1812
|
localized_descriptions=localized_descriptions,
|
|
1758
1813
|
automatic_publish=automatic_publish
|
|
1759
1814
|
)
|
|
1760
|
-
|
|
1815
|
+
Console.write_stdout(f"Created reasoning strategy detail: \n{result}")
|
|
1761
1816
|
|
|
1762
1817
|
|
|
1763
1818
|
create_reasoning_strategy_options = [
|
|
1764
|
-
Option(
|
|
1765
|
-
"project_id",
|
|
1766
|
-
["--project-id", "--pid"],
|
|
1767
|
-
"ID of the project",
|
|
1768
|
-
True
|
|
1769
|
-
),
|
|
1770
1819
|
Option(
|
|
1771
1820
|
"name",
|
|
1772
1821
|
["--name", "-n"],
|
|
@@ -1809,7 +1858,6 @@ create_reasoning_strategy_options = [
|
|
|
1809
1858
|
|
|
1810
1859
|
|
|
1811
1860
|
def update_reasoning_strategy(option_list: list):
|
|
1812
|
-
project_id = None
|
|
1813
1861
|
reasoning_strategy_id = None
|
|
1814
1862
|
name = None
|
|
1815
1863
|
system_prompt = None
|
|
@@ -1820,8 +1868,6 @@ def update_reasoning_strategy(option_list: list):
|
|
|
1820
1868
|
upsert = False
|
|
1821
1869
|
|
|
1822
1870
|
for option_flag, option_arg in option_list:
|
|
1823
|
-
if option_flag.name == "project_id":
|
|
1824
|
-
project_id = option_arg
|
|
1825
1871
|
if option_flag.name == "reasoning_strategy_id":
|
|
1826
1872
|
reasoning_strategy_id = option_arg
|
|
1827
1873
|
if option_flag.name == "name":
|
|
@@ -1847,10 +1893,8 @@ def update_reasoning_strategy(option_list: list):
|
|
|
1847
1893
|
automatic_publish = get_boolean_value(option_arg)
|
|
1848
1894
|
if option_flag.name == "upsert":
|
|
1849
1895
|
# upsert = get_boolean_value(option_arg)
|
|
1850
|
-
|
|
1896
|
+
Console.write_stdout("Upsert is not yet supported for reasoning strategies. Coming soon.")
|
|
1851
1897
|
|
|
1852
|
-
if not project_id:
|
|
1853
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
1854
1898
|
if not reasoning_strategy_id:
|
|
1855
1899
|
raise MissingRequirementException("Reasoning strategy ID must be specified.")
|
|
1856
1900
|
|
|
@@ -1870,7 +1914,6 @@ def update_reasoning_strategy(option_list: list):
|
|
|
1870
1914
|
|
|
1871
1915
|
client = ReasoningStrategyClient()
|
|
1872
1916
|
result = client.update_reasoning_strategy(
|
|
1873
|
-
project_id=project_id,
|
|
1874
1917
|
reasoning_strategy_id=reasoning_strategy_id,
|
|
1875
1918
|
name=name,
|
|
1876
1919
|
system_prompt=system_prompt,
|
|
@@ -1880,16 +1923,10 @@ def update_reasoning_strategy(option_list: list):
|
|
|
1880
1923
|
automatic_publish=automatic_publish,
|
|
1881
1924
|
upsert=upsert
|
|
1882
1925
|
)
|
|
1883
|
-
|
|
1926
|
+
Console.write_stdout(f"Updated reasoning strategy detail: \n{result}")
|
|
1884
1927
|
|
|
1885
1928
|
|
|
1886
1929
|
update_reasoning_strategy_options = [
|
|
1887
|
-
Option(
|
|
1888
|
-
"project_id",
|
|
1889
|
-
["--project-id", "--pid"],
|
|
1890
|
-
"ID of the project",
|
|
1891
|
-
True
|
|
1892
|
-
),
|
|
1893
1930
|
Option(
|
|
1894
1931
|
"reasoning_strategy_id",
|
|
1895
1932
|
["--reasoning-strategy-id", "--rsid"],
|
|
@@ -1944,39 +1981,27 @@ update_reasoning_strategy_options = [
|
|
|
1944
1981
|
|
|
1945
1982
|
|
|
1946
1983
|
def get_reasoning_strategy(option_list: list):
|
|
1947
|
-
project_id = None
|
|
1948
1984
|
reasoning_strategy_id = None
|
|
1949
1985
|
reasoning_strategy_name = None
|
|
1950
1986
|
|
|
1951
1987
|
for option_flag, option_arg in option_list:
|
|
1952
|
-
if option_flag.name == "project_id":
|
|
1953
|
-
project_id = option_arg
|
|
1954
1988
|
if option_flag.name == "reasoning_strategy_id":
|
|
1955
1989
|
reasoning_strategy_id = option_arg
|
|
1956
1990
|
if option_flag.name == "reasoning_strategy_name":
|
|
1957
1991
|
reasoning_strategy_name = option_arg
|
|
1958
1992
|
|
|
1959
|
-
if not project_id:
|
|
1960
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
1961
1993
|
if not (reasoning_strategy_id or reasoning_strategy_name):
|
|
1962
1994
|
raise MissingRequirementException("Either reasoning strategy ID or name must be specified.")
|
|
1963
1995
|
|
|
1964
1996
|
client = ReasoningStrategyClient()
|
|
1965
1997
|
result = client.get_reasoning_strategy(
|
|
1966
|
-
project_id=project_id,
|
|
1967
1998
|
reasoning_strategy_id=reasoning_strategy_id,
|
|
1968
1999
|
reasoning_strategy_name=reasoning_strategy_name
|
|
1969
2000
|
)
|
|
1970
|
-
|
|
2001
|
+
Console.write_stdout(f"Reasoning strategy detail: \n{result}")
|
|
1971
2002
|
|
|
1972
2003
|
|
|
1973
2004
|
get_reasoning_strategy_options = [
|
|
1974
|
-
Option(
|
|
1975
|
-
"project_id",
|
|
1976
|
-
["--project-id", "--pid"],
|
|
1977
|
-
"ID of the project",
|
|
1978
|
-
True
|
|
1979
|
-
),
|
|
1980
2005
|
Option(
|
|
1981
2006
|
"reasoning_strategy_id",
|
|
1982
2007
|
["--reasoning-strategy-id", "--rsid"],
|
|
@@ -2099,16 +2124,13 @@ def create_process(option_list: list):
|
|
|
2099
2124
|
if option_flag.name == "automatic_publish":
|
|
2100
2125
|
automatic_publish = get_boolean_value(option_arg)
|
|
2101
2126
|
|
|
2102
|
-
if not project_id:
|
|
2103
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2104
2127
|
if not key:
|
|
2105
2128
|
raise MissingRequirementException("Key must be specified.")
|
|
2106
2129
|
if not name:
|
|
2107
2130
|
raise MissingRequirementException("Name must be specified.")
|
|
2108
2131
|
|
|
2109
|
-
client = AgenticProcessClient()
|
|
2132
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2110
2133
|
result = client.create_process(
|
|
2111
|
-
project_id=project_id,
|
|
2112
2134
|
key=key,
|
|
2113
2135
|
name=name,
|
|
2114
2136
|
description=description,
|
|
@@ -2121,16 +2143,11 @@ def create_process(option_list: list):
|
|
|
2121
2143
|
sequence_flows=sequence_flows if sequence_flows else None,
|
|
2122
2144
|
automatic_publish=automatic_publish
|
|
2123
2145
|
)
|
|
2124
|
-
|
|
2146
|
+
Console.write_stdout(f"Created process detail: \n{result}")
|
|
2125
2147
|
|
|
2126
2148
|
|
|
2127
2149
|
create_process_options = [
|
|
2128
|
-
|
|
2129
|
-
"project_id",
|
|
2130
|
-
["--project-id", "--pid"],
|
|
2131
|
-
"ID of the project",
|
|
2132
|
-
True
|
|
2133
|
-
),
|
|
2150
|
+
PROJECT_ID_OPTION,
|
|
2134
2151
|
Option(
|
|
2135
2152
|
"key",
|
|
2136
2153
|
["--key", "-k"],
|
|
@@ -2324,14 +2341,11 @@ def update_process(option_list: list):
|
|
|
2324
2341
|
if option_flag.name == "upsert":
|
|
2325
2342
|
upsert = get_boolean_value(option_arg)
|
|
2326
2343
|
|
|
2327
|
-
if not project_id:
|
|
2328
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2329
2344
|
if not (process_id or name):
|
|
2330
2345
|
raise MissingRequirementException("Either process ID or name must be specified.")
|
|
2331
2346
|
|
|
2332
|
-
client = AgenticProcessClient()
|
|
2347
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2333
2348
|
result = client.update_process(
|
|
2334
|
-
project_id=project_id,
|
|
2335
2349
|
process_id=process_id,
|
|
2336
2350
|
name=name,
|
|
2337
2351
|
key=key,
|
|
@@ -2346,16 +2360,11 @@ def update_process(option_list: list):
|
|
|
2346
2360
|
automatic_publish=automatic_publish,
|
|
2347
2361
|
upsert=upsert
|
|
2348
2362
|
)
|
|
2349
|
-
|
|
2363
|
+
Console.write_stdout(f"Updated process detail: \n{result}")
|
|
2350
2364
|
|
|
2351
2365
|
|
|
2352
2366
|
update_process_options = [
|
|
2353
|
-
|
|
2354
|
-
"project_id",
|
|
2355
|
-
["--project-id", "--pid"],
|
|
2356
|
-
"ID of the project",
|
|
2357
|
-
True
|
|
2358
|
-
),
|
|
2367
|
+
PROJECT_ID_OPTION,
|
|
2359
2368
|
Option(
|
|
2360
2369
|
"process_id",
|
|
2361
2370
|
["--process-id", "--pid"],
|
|
@@ -2473,30 +2482,22 @@ def get_process(option_list: list):
|
|
|
2473
2482
|
if option_flag.name == "allow_drafts":
|
|
2474
2483
|
allow_drafts = get_boolean_value(option_arg)
|
|
2475
2484
|
|
|
2476
|
-
if not project_id:
|
|
2477
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2478
2485
|
if not (process_id or process_name):
|
|
2479
2486
|
raise MissingRequirementException("Either process ID or process name must be specified.")
|
|
2480
2487
|
|
|
2481
|
-
client = AgenticProcessClient()
|
|
2488
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2482
2489
|
result = client.get_process(
|
|
2483
|
-
project_id=project_id,
|
|
2484
2490
|
process_id=process_id,
|
|
2485
2491
|
process_name=process_name,
|
|
2486
2492
|
revision=revision,
|
|
2487
2493
|
version=version,
|
|
2488
2494
|
allow_drafts=allow_drafts
|
|
2489
2495
|
)
|
|
2490
|
-
|
|
2496
|
+
Console.write_stdout(f"Process detail: \n{result}")
|
|
2491
2497
|
|
|
2492
2498
|
|
|
2493
2499
|
get_process_options = [
|
|
2494
|
-
|
|
2495
|
-
"project_id",
|
|
2496
|
-
["--project-id", "--pid"],
|
|
2497
|
-
"ID of the project",
|
|
2498
|
-
True
|
|
2499
|
-
),
|
|
2500
|
+
PROJECT_ID_OPTION,
|
|
2500
2501
|
Option(
|
|
2501
2502
|
"process_id",
|
|
2502
2503
|
["--process-id", "--pid"],
|
|
@@ -2555,12 +2556,8 @@ def list_processes(option_list: list):
|
|
|
2555
2556
|
if option_flag.name == "allow_draft":
|
|
2556
2557
|
allow_draft = get_boolean_value(option_arg)
|
|
2557
2558
|
|
|
2558
|
-
|
|
2559
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2560
|
-
|
|
2561
|
-
client = AgenticProcessClient()
|
|
2559
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2562
2560
|
result = client.list_processes(
|
|
2563
|
-
project_id=project_id,
|
|
2564
2561
|
id=id,
|
|
2565
2562
|
name=name,
|
|
2566
2563
|
status=status,
|
|
@@ -2568,16 +2565,11 @@ def list_processes(option_list: list):
|
|
|
2568
2565
|
count=count,
|
|
2569
2566
|
allow_draft=allow_draft
|
|
2570
2567
|
)
|
|
2571
|
-
|
|
2568
|
+
Console.write_stdout(f"Process list: \n{result}")
|
|
2572
2569
|
|
|
2573
2570
|
|
|
2574
2571
|
list_processes_options = [
|
|
2575
|
-
|
|
2576
|
-
"project_id",
|
|
2577
|
-
["--project-id", "--pid"],
|
|
2578
|
-
"ID of the project",
|
|
2579
|
-
True
|
|
2580
|
-
),
|
|
2572
|
+
PROJECT_ID_OPTION,
|
|
2581
2573
|
Option(
|
|
2582
2574
|
"id",
|
|
2583
2575
|
["--id"],
|
|
@@ -2636,29 +2628,21 @@ def list_processes_instances(option_list: list):
|
|
|
2636
2628
|
if option_flag.name == "count":
|
|
2637
2629
|
count = option_arg
|
|
2638
2630
|
|
|
2639
|
-
if not project_id:
|
|
2640
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2641
2631
|
if not process_id:
|
|
2642
2632
|
raise MissingRequirementException("Process ID must be specified.")
|
|
2643
2633
|
|
|
2644
|
-
client = AgenticProcessClient()
|
|
2634
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2645
2635
|
result = client.list_process_instances(
|
|
2646
|
-
project_id=project_id,
|
|
2647
2636
|
process_id=process_id,
|
|
2648
2637
|
is_active=is_active,
|
|
2649
2638
|
start=start,
|
|
2650
2639
|
count=count
|
|
2651
2640
|
)
|
|
2652
|
-
|
|
2641
|
+
Console.write_stdout(f"Process instances list: \n{result}")
|
|
2653
2642
|
|
|
2654
2643
|
|
|
2655
2644
|
list_processes_instances_options = [
|
|
2656
|
-
|
|
2657
|
-
"project_id",
|
|
2658
|
-
["--project-id", "--pid"],
|
|
2659
|
-
"ID of the project",
|
|
2660
|
-
True
|
|
2661
|
-
),
|
|
2645
|
+
PROJECT_ID_OPTION,
|
|
2662
2646
|
Option(
|
|
2663
2647
|
"process_id",
|
|
2664
2648
|
["--process-id", "--pid"],
|
|
@@ -2699,27 +2683,19 @@ def delete_process(option_list: list):
|
|
|
2699
2683
|
if option_flag.name == "process_name":
|
|
2700
2684
|
process_name = option_arg
|
|
2701
2685
|
|
|
2702
|
-
if not project_id:
|
|
2703
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2704
2686
|
if not (process_id or process_name):
|
|
2705
2687
|
raise MissingRequirementException("Either process ID or process name must be specified.")
|
|
2706
2688
|
|
|
2707
|
-
client = AgenticProcessClient()
|
|
2689
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2708
2690
|
result = client.delete_process(
|
|
2709
|
-
project_id=project_id,
|
|
2710
2691
|
process_id=process_id,
|
|
2711
2692
|
process_name=process_name
|
|
2712
2693
|
)
|
|
2713
|
-
|
|
2694
|
+
Console.write_stdout(f"Delete process result: \n{result}")
|
|
2714
2695
|
|
|
2715
2696
|
|
|
2716
2697
|
delete_process_options = [
|
|
2717
|
-
|
|
2718
|
-
"project_id",
|
|
2719
|
-
["--project-id", "--pid"],
|
|
2720
|
-
"ID of the project",
|
|
2721
|
-
True
|
|
2722
|
-
),
|
|
2698
|
+
PROJECT_ID_OPTION,
|
|
2723
2699
|
Option(
|
|
2724
2700
|
"process_id",
|
|
2725
2701
|
["--process-id", "--pid"],
|
|
@@ -2751,30 +2727,22 @@ def publish_process_revision(option_list: list):
|
|
|
2751
2727
|
if option_flag.name == "revision":
|
|
2752
2728
|
revision = option_arg
|
|
2753
2729
|
|
|
2754
|
-
if not project_id:
|
|
2755
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2756
2730
|
if not (process_id or process_name):
|
|
2757
2731
|
raise MissingRequirementException("Either process ID or process name must be specified.")
|
|
2758
2732
|
if not revision:
|
|
2759
2733
|
raise MissingRequirementException("Revision must be specified.")
|
|
2760
2734
|
|
|
2761
|
-
client = AgenticProcessClient()
|
|
2735
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2762
2736
|
result = client.publish_process_revision(
|
|
2763
|
-
project_id=project_id,
|
|
2764
2737
|
process_id=process_id,
|
|
2765
2738
|
process_name=process_name,
|
|
2766
2739
|
revision=revision
|
|
2767
2740
|
)
|
|
2768
|
-
|
|
2741
|
+
Console.write_stdout(f"Published process revision detail: \n{result}")
|
|
2769
2742
|
|
|
2770
2743
|
|
|
2771
2744
|
publish_process_revision_options = [
|
|
2772
|
-
|
|
2773
|
-
"project_id",
|
|
2774
|
-
["--project-id", "--pid"],
|
|
2775
|
-
"ID of the project",
|
|
2776
|
-
True
|
|
2777
|
-
),
|
|
2745
|
+
PROJECT_ID_OPTION,
|
|
2778
2746
|
Option(
|
|
2779
2747
|
"process_id",
|
|
2780
2748
|
["--process-id", "--pid"],
|
|
@@ -2837,14 +2805,11 @@ def create_task(option_list: list):
|
|
|
2837
2805
|
if option_flag.name == "automatic_publish":
|
|
2838
2806
|
automatic_publish = get_boolean_value(option_arg)
|
|
2839
2807
|
|
|
2840
|
-
if not project_id:
|
|
2841
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2842
2808
|
if not name:
|
|
2843
2809
|
raise MissingRequirementException("Task name must be specified.")
|
|
2844
2810
|
|
|
2845
|
-
client = AgenticProcessClient()
|
|
2811
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2846
2812
|
result = client.create_task(
|
|
2847
|
-
project_id=project_id,
|
|
2848
2813
|
name=name,
|
|
2849
2814
|
description=description,
|
|
2850
2815
|
title_template=title_template,
|
|
@@ -2853,16 +2818,11 @@ def create_task(option_list: list):
|
|
|
2853
2818
|
artifact_types=artifact_types,
|
|
2854
2819
|
automatic_publish=automatic_publish
|
|
2855
2820
|
)
|
|
2856
|
-
|
|
2821
|
+
Console.write_stdout(f"Created task detail: \n{result}")
|
|
2857
2822
|
|
|
2858
2823
|
|
|
2859
2824
|
create_task_options = [
|
|
2860
|
-
|
|
2861
|
-
"project_id",
|
|
2862
|
-
["--project-id", "--pid"],
|
|
2863
|
-
"ID of the project",
|
|
2864
|
-
True
|
|
2865
|
-
),
|
|
2825
|
+
PROJECT_ID_OPTION,
|
|
2866
2826
|
Option(
|
|
2867
2827
|
"name",
|
|
2868
2828
|
["--name", "-n"],
|
|
@@ -2921,27 +2881,19 @@ def get_task(option_list: list):
|
|
|
2921
2881
|
if option_flag.name == "task_name":
|
|
2922
2882
|
task_name = option_arg
|
|
2923
2883
|
|
|
2924
|
-
if not project_id:
|
|
2925
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2926
2884
|
if not (task_id or task_name):
|
|
2927
2885
|
raise MissingRequirementException("Either task ID or task name must be specified.")
|
|
2928
2886
|
|
|
2929
|
-
client = AgenticProcessClient()
|
|
2887
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2930
2888
|
result = client.get_task(
|
|
2931
|
-
project_id=project_id,
|
|
2932
2889
|
task_id=task_id,
|
|
2933
2890
|
task_name=task_name
|
|
2934
2891
|
)
|
|
2935
|
-
|
|
2892
|
+
Console.write_stdout(f"Task detail: \n{result}")
|
|
2936
2893
|
|
|
2937
2894
|
|
|
2938
2895
|
get_task_options = [
|
|
2939
|
-
|
|
2940
|
-
"project_id",
|
|
2941
|
-
["--project-id", "--pid"],
|
|
2942
|
-
"ID of the project",
|
|
2943
|
-
True
|
|
2944
|
-
),
|
|
2896
|
+
PROJECT_ID_OPTION,
|
|
2945
2897
|
Option(
|
|
2946
2898
|
"task_id",
|
|
2947
2899
|
["--task-id", "--tid"],
|
|
@@ -2976,27 +2928,18 @@ def list_tasks(option_list: list):
|
|
|
2976
2928
|
if option_flag.name == "allow_drafts":
|
|
2977
2929
|
allow_drafts = get_boolean_value(option_arg)
|
|
2978
2930
|
|
|
2979
|
-
|
|
2980
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
2981
|
-
|
|
2982
|
-
client = AgenticProcessClient()
|
|
2931
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
2983
2932
|
result = client.list_tasks(
|
|
2984
|
-
project_id=project_id,
|
|
2985
2933
|
id=id,
|
|
2986
2934
|
start=start,
|
|
2987
2935
|
count=count,
|
|
2988
2936
|
allow_drafts=allow_drafts
|
|
2989
2937
|
)
|
|
2990
|
-
|
|
2938
|
+
Console.write_stdout(f"Task list: \n{result}")
|
|
2991
2939
|
|
|
2992
2940
|
|
|
2993
2941
|
list_tasks_options = [
|
|
2994
|
-
|
|
2995
|
-
"project_id",
|
|
2996
|
-
["--project-id", "--pid"],
|
|
2997
|
-
"ID of the project",
|
|
2998
|
-
True
|
|
2999
|
-
),
|
|
2942
|
+
PROJECT_ID_OPTION,
|
|
3000
2943
|
Option(
|
|
3001
2944
|
"id",
|
|
3002
2945
|
["--id"],
|
|
@@ -3068,14 +3011,11 @@ def update_task(option_list: list):
|
|
|
3068
3011
|
if option_flag.name == "upsert":
|
|
3069
3012
|
upsert = get_boolean_value(option_arg)
|
|
3070
3013
|
|
|
3071
|
-
if not project_id:
|
|
3072
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3073
3014
|
if not (task_id or name):
|
|
3074
3015
|
raise MissingRequirementException("Either task ID or name must be specified.")
|
|
3075
3016
|
|
|
3076
|
-
client = AgenticProcessClient()
|
|
3017
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3077
3018
|
result = client.update_task(
|
|
3078
|
-
project_id=project_id,
|
|
3079
3019
|
task_id=task_id,
|
|
3080
3020
|
name=name,
|
|
3081
3021
|
description=description,
|
|
@@ -3086,16 +3026,11 @@ def update_task(option_list: list):
|
|
|
3086
3026
|
automatic_publish=automatic_publish,
|
|
3087
3027
|
upsert=upsert
|
|
3088
3028
|
)
|
|
3089
|
-
|
|
3029
|
+
Console.write_stdout(f"Updated task detail: \n{result}")
|
|
3090
3030
|
|
|
3091
3031
|
|
|
3092
3032
|
update_task_options = [
|
|
3093
|
-
|
|
3094
|
-
"project_id",
|
|
3095
|
-
["--project-id", "--pid"],
|
|
3096
|
-
"ID of the project",
|
|
3097
|
-
True
|
|
3098
|
-
),
|
|
3033
|
+
PROJECT_ID_OPTION,
|
|
3099
3034
|
Option(
|
|
3100
3035
|
"task_id",
|
|
3101
3036
|
["--task-id", "--tid"],
|
|
@@ -3166,27 +3101,19 @@ def delete_task(option_list: list):
|
|
|
3166
3101
|
if option_flag.name == "task_name":
|
|
3167
3102
|
task_name = option_arg
|
|
3168
3103
|
|
|
3169
|
-
if not project_id:
|
|
3170
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3171
3104
|
if not (task_id or task_name):
|
|
3172
3105
|
raise MissingRequirementException("Either task ID or task name must be specified.")
|
|
3173
3106
|
|
|
3174
|
-
client = AgenticProcessClient()
|
|
3107
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3175
3108
|
result = client.delete_task(
|
|
3176
|
-
project_id=project_id,
|
|
3177
3109
|
task_id=task_id,
|
|
3178
3110
|
task_name = task_name
|
|
3179
3111
|
)
|
|
3180
|
-
|
|
3112
|
+
Console.write_stdout(f"Delete task result: \n{result}")
|
|
3181
3113
|
|
|
3182
3114
|
|
|
3183
3115
|
delete_task_options = [
|
|
3184
|
-
|
|
3185
|
-
"project_id",
|
|
3186
|
-
["--project-id", "--pid"],
|
|
3187
|
-
"ID of the project",
|
|
3188
|
-
True
|
|
3189
|
-
),
|
|
3116
|
+
PROJECT_ID_OPTION,
|
|
3190
3117
|
Option(
|
|
3191
3118
|
"task_id",
|
|
3192
3119
|
["--task-id", "--tid"],
|
|
@@ -3218,30 +3145,22 @@ def publish_task_revision(option_list: list):
|
|
|
3218
3145
|
if option_flag.name == "revision":
|
|
3219
3146
|
revision = option_arg
|
|
3220
3147
|
|
|
3221
|
-
if not project_id:
|
|
3222
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3223
3148
|
if not (task_id or task_name):
|
|
3224
3149
|
raise MissingRequirementException("Either task ID or task name must be specified.")
|
|
3225
3150
|
if not revision:
|
|
3226
3151
|
raise MissingRequirementException("Revision must be specified.")
|
|
3227
3152
|
|
|
3228
|
-
client = AgenticProcessClient()
|
|
3153
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3229
3154
|
result = client.publish_task_revision(
|
|
3230
|
-
project_id=project_id,
|
|
3231
3155
|
task_id=task_id,
|
|
3232
3156
|
task_name=task_name,
|
|
3233
3157
|
revision=revision
|
|
3234
3158
|
)
|
|
3235
|
-
|
|
3159
|
+
Console.write_stdout(f"Published task revision detail: \n{result}")
|
|
3236
3160
|
|
|
3237
3161
|
|
|
3238
3162
|
publish_task_revision_options = [
|
|
3239
|
-
|
|
3240
|
-
"project_id",
|
|
3241
|
-
["--project-id", "--pid"],
|
|
3242
|
-
"ID of the project",
|
|
3243
|
-
True
|
|
3244
|
-
),
|
|
3163
|
+
PROJECT_ID_OPTION,
|
|
3245
3164
|
Option(
|
|
3246
3165
|
"task_id",
|
|
3247
3166
|
["--task-id", "--tid"],
|
|
@@ -3287,28 +3206,20 @@ def start_instance(option_list: list):
|
|
|
3287
3206
|
"Variables must be a JSON list: '[{\"key\": \"location\", \"value\": \"Paris\"}]'"
|
|
3288
3207
|
)
|
|
3289
3208
|
|
|
3290
|
-
if not project_id:
|
|
3291
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3292
3209
|
if not process_name:
|
|
3293
3210
|
raise MissingRequirementException("Process name must be specified.")
|
|
3294
3211
|
|
|
3295
|
-
client = AgenticProcessClient()
|
|
3212
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3296
3213
|
result = client.start_instance(
|
|
3297
|
-
project_id=project_id,
|
|
3298
3214
|
process_name=process_name,
|
|
3299
3215
|
subject=subject,
|
|
3300
3216
|
variables=variables
|
|
3301
3217
|
)
|
|
3302
|
-
|
|
3218
|
+
Console.write_stdout(f"Started instance detail: \n{result}")
|
|
3303
3219
|
|
|
3304
3220
|
|
|
3305
3221
|
start_instance_options = [
|
|
3306
|
-
|
|
3307
|
-
"project_id",
|
|
3308
|
-
["--project-id", "--pid"],
|
|
3309
|
-
"ID of the project",
|
|
3310
|
-
True
|
|
3311
|
-
),
|
|
3222
|
+
PROJECT_ID_OPTION,
|
|
3312
3223
|
Option(
|
|
3313
3224
|
"process_name",
|
|
3314
3225
|
["--process-name", "--pn"],
|
|
@@ -3340,26 +3251,18 @@ def abort_instance(option_list: list):
|
|
|
3340
3251
|
if option_flag.name == "instance_id":
|
|
3341
3252
|
instance_id = option_arg
|
|
3342
3253
|
|
|
3343
|
-
if not project_id:
|
|
3344
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3345
3254
|
if not instance_id:
|
|
3346
3255
|
raise MissingRequirementException("Instance ID must be specified.")
|
|
3347
3256
|
|
|
3348
|
-
client = AgenticProcessClient()
|
|
3257
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3349
3258
|
result = client.abort_instance(
|
|
3350
|
-
project_id=project_id,
|
|
3351
3259
|
instance_id=instance_id
|
|
3352
3260
|
)
|
|
3353
|
-
|
|
3261
|
+
Console.write_stdout(f"Abort instance result: \n{result}")
|
|
3354
3262
|
|
|
3355
3263
|
|
|
3356
3264
|
abort_instance_options = [
|
|
3357
|
-
|
|
3358
|
-
"project_id",
|
|
3359
|
-
["--project-id", "--pid"],
|
|
3360
|
-
"ID of the project",
|
|
3361
|
-
True
|
|
3362
|
-
),
|
|
3265
|
+
PROJECT_ID_OPTION,
|
|
3363
3266
|
Option(
|
|
3364
3267
|
"instance_id",
|
|
3365
3268
|
["--instance-id", "--iid"],
|
|
@@ -3379,26 +3282,18 @@ def get_instance(option_list: list):
|
|
|
3379
3282
|
if option_flag.name == "instance_id":
|
|
3380
3283
|
instance_id = option_arg
|
|
3381
3284
|
|
|
3382
|
-
if not project_id:
|
|
3383
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3384
3285
|
if not instance_id:
|
|
3385
3286
|
raise MissingRequirementException("Instance ID must be specified.")
|
|
3386
3287
|
|
|
3387
|
-
client = AgenticProcessClient()
|
|
3288
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3388
3289
|
result = client.get_instance(
|
|
3389
|
-
project_id=project_id,
|
|
3390
3290
|
instance_id=instance_id
|
|
3391
3291
|
)
|
|
3392
|
-
|
|
3292
|
+
Console.write_stdout(f"Instance detail: \n{result}")
|
|
3393
3293
|
|
|
3394
3294
|
|
|
3395
3295
|
get_instance_options = [
|
|
3396
|
-
|
|
3397
|
-
"project_id",
|
|
3398
|
-
["--project-id", "--pid"],
|
|
3399
|
-
"ID of the project",
|
|
3400
|
-
True
|
|
3401
|
-
),
|
|
3296
|
+
PROJECT_ID_OPTION,
|
|
3402
3297
|
Option(
|
|
3403
3298
|
"instance_id",
|
|
3404
3299
|
["--instance-id", "--iid"],
|
|
@@ -3418,26 +3313,18 @@ def get_instance_history(option_list: list):
|
|
|
3418
3313
|
if option_flag.name == "instance_id":
|
|
3419
3314
|
instance_id = option_arg
|
|
3420
3315
|
|
|
3421
|
-
if not project_id:
|
|
3422
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3423
3316
|
if not instance_id:
|
|
3424
3317
|
raise MissingRequirementException("Instance ID must be specified.")
|
|
3425
3318
|
|
|
3426
|
-
client = AgenticProcessClient()
|
|
3319
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3427
3320
|
result = client.get_instance_history(
|
|
3428
|
-
project_id=project_id,
|
|
3429
3321
|
instance_id=instance_id
|
|
3430
3322
|
)
|
|
3431
|
-
|
|
3323
|
+
Console.write_stdout(f"Instance history: \n{result}")
|
|
3432
3324
|
|
|
3433
3325
|
|
|
3434
3326
|
get_instance_history_options = [
|
|
3435
|
-
|
|
3436
|
-
"project_id",
|
|
3437
|
-
["--project-id", "--pid"],
|
|
3438
|
-
"ID of the project",
|
|
3439
|
-
True
|
|
3440
|
-
),
|
|
3327
|
+
PROJECT_ID_OPTION,
|
|
3441
3328
|
Option(
|
|
3442
3329
|
"instance_id",
|
|
3443
3330
|
["--instance-id", "--iid"],
|
|
@@ -3456,26 +3343,18 @@ def get_thread_information(option_list: list):
|
|
|
3456
3343
|
if option_flag.name == "thread_id":
|
|
3457
3344
|
thread_id = option_arg
|
|
3458
3345
|
|
|
3459
|
-
if not project_id:
|
|
3460
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3461
3346
|
if not thread_id:
|
|
3462
3347
|
raise MissingRequirementException("Thread ID must be specified.")
|
|
3463
3348
|
|
|
3464
|
-
client = AgenticProcessClient()
|
|
3349
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3465
3350
|
result = client.get_thread_information(
|
|
3466
|
-
project_id=project_id,
|
|
3467
3351
|
thread_id=thread_id
|
|
3468
3352
|
)
|
|
3469
|
-
|
|
3353
|
+
Console.write_stdout(f"Thread information: \n{result}")
|
|
3470
3354
|
|
|
3471
3355
|
|
|
3472
3356
|
get_thread_information_options = [
|
|
3473
|
-
|
|
3474
|
-
"project_id",
|
|
3475
|
-
["--project-id", "--pid"],
|
|
3476
|
-
"ID of the project",
|
|
3477
|
-
True
|
|
3478
|
-
),
|
|
3357
|
+
PROJECT_ID_OPTION,
|
|
3479
3358
|
Option(
|
|
3480
3359
|
"thread_id",
|
|
3481
3360
|
["--thread-id", "--tid"],
|
|
@@ -3498,29 +3377,21 @@ def send_user_signal(option_list: list):
|
|
|
3498
3377
|
if option_flag.name == "signal_name":
|
|
3499
3378
|
signal_name = option_arg
|
|
3500
3379
|
|
|
3501
|
-
if not project_id:
|
|
3502
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3503
3380
|
if not instance_id:
|
|
3504
3381
|
raise MissingRequirementException("Instance ID must be specified.")
|
|
3505
3382
|
if not signal_name:
|
|
3506
3383
|
raise MissingRequirementException("Signal name must be specified.")
|
|
3507
3384
|
|
|
3508
|
-
client = AgenticProcessClient()
|
|
3385
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3509
3386
|
result = client.send_user_signal(
|
|
3510
|
-
project_id=project_id,
|
|
3511
3387
|
instance_id=instance_id,
|
|
3512
3388
|
signal_name=signal_name
|
|
3513
3389
|
)
|
|
3514
|
-
|
|
3390
|
+
Console.write_stdout(f"Send user signal result: \n{result}")
|
|
3515
3391
|
|
|
3516
3392
|
|
|
3517
3393
|
send_user_signal_options = [
|
|
3518
|
-
|
|
3519
|
-
"project_id",
|
|
3520
|
-
["--project-id", "--pid"],
|
|
3521
|
-
"ID of the project",
|
|
3522
|
-
True
|
|
3523
|
-
),
|
|
3394
|
+
PROJECT_ID_OPTION,
|
|
3524
3395
|
Option(
|
|
3525
3396
|
"instance_id",
|
|
3526
3397
|
["--instance-id", "--iid"],
|
|
@@ -3568,28 +3439,20 @@ def create_kb(option_list: list):
|
|
|
3568
3439
|
"Metadata must be a JSON list of strings: '[\"meta1\", \"meta2\"]'"
|
|
3569
3440
|
)
|
|
3570
3441
|
|
|
3571
|
-
if not project_id:
|
|
3572
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3573
3442
|
if not name:
|
|
3574
3443
|
raise MissingRequirementException("Name must be specified.")
|
|
3575
3444
|
|
|
3576
|
-
client = AgenticProcessClient()
|
|
3445
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3577
3446
|
result = client.create_kb(
|
|
3578
|
-
project_id=project_id,
|
|
3579
3447
|
name=name,
|
|
3580
3448
|
artifacts=artifacts,
|
|
3581
3449
|
metadata=metadata
|
|
3582
3450
|
)
|
|
3583
|
-
|
|
3451
|
+
Console.write_stdout(f"Created knowledge base detail: \n{result}")
|
|
3584
3452
|
|
|
3585
3453
|
|
|
3586
3454
|
create_kb_options = [
|
|
3587
|
-
|
|
3588
|
-
"project_id",
|
|
3589
|
-
["--project-id", "--pid"],
|
|
3590
|
-
"ID of the project",
|
|
3591
|
-
True
|
|
3592
|
-
),
|
|
3455
|
+
PROJECT_ID_OPTION,
|
|
3593
3456
|
Option(
|
|
3594
3457
|
"name",
|
|
3595
3458
|
["--name", "-n"],
|
|
@@ -3624,27 +3487,19 @@ def get_kb(option_list: list):
|
|
|
3624
3487
|
if option_flag.name == "kb_name":
|
|
3625
3488
|
kb_name = option_arg
|
|
3626
3489
|
|
|
3627
|
-
if not project_id:
|
|
3628
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3629
3490
|
if not (kb_id or kb_name):
|
|
3630
3491
|
raise MissingRequirementException("Either KB ID or KB name must be specified.")
|
|
3631
3492
|
|
|
3632
|
-
client = AgenticProcessClient()
|
|
3493
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3633
3494
|
result = client.get_kb(
|
|
3634
|
-
project_id=project_id,
|
|
3635
3495
|
kb_id=kb_id,
|
|
3636
3496
|
kb_name=kb_name
|
|
3637
3497
|
)
|
|
3638
|
-
|
|
3498
|
+
Console.write_stdout(f"Knowledge base detail: \n{result}")
|
|
3639
3499
|
|
|
3640
3500
|
|
|
3641
3501
|
get_kb_options = [
|
|
3642
|
-
|
|
3643
|
-
"project_id",
|
|
3644
|
-
["--project-id", "--pid"],
|
|
3645
|
-
"ID of the project",
|
|
3646
|
-
True
|
|
3647
|
-
),
|
|
3502
|
+
PROJECT_ID_OPTION,
|
|
3648
3503
|
Option(
|
|
3649
3504
|
"kb_id",
|
|
3650
3505
|
["--kb-id", "--kid"],
|
|
@@ -3676,26 +3531,17 @@ def list_kbs(option_list: list):
|
|
|
3676
3531
|
if option_flag.name == "count":
|
|
3677
3532
|
count = option_arg
|
|
3678
3533
|
|
|
3679
|
-
|
|
3680
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3681
|
-
|
|
3682
|
-
client = AgenticProcessClient()
|
|
3534
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3683
3535
|
result = client.list_kbs(
|
|
3684
|
-
project_id=project_id,
|
|
3685
3536
|
name=name,
|
|
3686
3537
|
start=start,
|
|
3687
3538
|
count=count
|
|
3688
3539
|
)
|
|
3689
|
-
|
|
3540
|
+
Console.write_stdout(f"Knowledge base list: \n{result}")
|
|
3690
3541
|
|
|
3691
3542
|
|
|
3692
3543
|
list_kbs_options = [
|
|
3693
|
-
|
|
3694
|
-
"project_id",
|
|
3695
|
-
["--project-id", "--pid"],
|
|
3696
|
-
"ID of the project",
|
|
3697
|
-
True
|
|
3698
|
-
),
|
|
3544
|
+
PROJECT_ID_OPTION,
|
|
3699
3545
|
Option(
|
|
3700
3546
|
"name",
|
|
3701
3547
|
["--name", "-n"],
|
|
@@ -3730,27 +3576,19 @@ def delete_kb(option_list: list):
|
|
|
3730
3576
|
if option_flag.name == "kb_name":
|
|
3731
3577
|
kb_name = option_arg
|
|
3732
3578
|
|
|
3733
|
-
if not project_id:
|
|
3734
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3735
3579
|
if not (kb_id or kb_name):
|
|
3736
3580
|
raise MissingRequirementException("Either KB ID or KB name must be specified.")
|
|
3737
3581
|
|
|
3738
|
-
client = AgenticProcessClient()
|
|
3582
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3739
3583
|
result = client.delete_kb(
|
|
3740
|
-
project_id=project_id,
|
|
3741
3584
|
kb_id=kb_id,
|
|
3742
3585
|
kb_name=kb_name
|
|
3743
3586
|
)
|
|
3744
|
-
|
|
3587
|
+
Console.write_stdout(f"Delete knowledge base result: \n{result}")
|
|
3745
3588
|
|
|
3746
3589
|
|
|
3747
3590
|
delete_kb_options = [
|
|
3748
|
-
|
|
3749
|
-
"project_id",
|
|
3750
|
-
["--project-id", "--pid"],
|
|
3751
|
-
"ID of the project",
|
|
3752
|
-
True
|
|
3753
|
-
),
|
|
3591
|
+
PROJECT_ID_OPTION,
|
|
3754
3592
|
Option(
|
|
3755
3593
|
"kb_id",
|
|
3756
3594
|
["--kb-id", "--kid"],
|
|
@@ -3790,28 +3628,19 @@ def list_jobs(option_list: list):
|
|
|
3790
3628
|
if option_flag.name == "name":
|
|
3791
3629
|
name = option_arg
|
|
3792
3630
|
|
|
3793
|
-
|
|
3794
|
-
raise MissingRequirementException("Project ID must be specified.")
|
|
3795
|
-
|
|
3796
|
-
client = AgenticProcessClient()
|
|
3631
|
+
client = AgenticProcessClient(project_id=project_id)
|
|
3797
3632
|
result = client.list_jobs(
|
|
3798
|
-
project_id=project_id,
|
|
3799
3633
|
start=start,
|
|
3800
3634
|
count=count,
|
|
3801
3635
|
topic=topic,
|
|
3802
3636
|
token=token,
|
|
3803
3637
|
name=name
|
|
3804
3638
|
)
|
|
3805
|
-
|
|
3639
|
+
Console.write_stdout(f"Job list: \n{result}")
|
|
3806
3640
|
|
|
3807
3641
|
|
|
3808
3642
|
list_jobs_options = [
|
|
3809
|
-
|
|
3810
|
-
"project_id",
|
|
3811
|
-
["--project-id", "--pid"],
|
|
3812
|
-
"ID of the project",
|
|
3813
|
-
True
|
|
3814
|
-
),
|
|
3643
|
+
PROJECT_ID_OPTION,
|
|
3815
3644
|
Option(
|
|
3816
3645
|
"start",
|
|
3817
3646
|
["--start", "-s"],
|
|
@@ -3884,6 +3713,24 @@ ai_lab_commands = [
|
|
|
3884
3713
|
[],
|
|
3885
3714
|
get_agent_options
|
|
3886
3715
|
),
|
|
3716
|
+
Command(
|
|
3717
|
+
"export_agent",
|
|
3718
|
+
["export-agent", "ea"],
|
|
3719
|
+
"Export agent",
|
|
3720
|
+
export_agent,
|
|
3721
|
+
ArgumentsEnum.REQUIRED,
|
|
3722
|
+
[],
|
|
3723
|
+
export_agent_options
|
|
3724
|
+
),
|
|
3725
|
+
Command(
|
|
3726
|
+
"import_agent",
|
|
3727
|
+
["import-agent", "ia"],
|
|
3728
|
+
"Import agent",
|
|
3729
|
+
import_agent,
|
|
3730
|
+
ArgumentsEnum.REQUIRED,
|
|
3731
|
+
[],
|
|
3732
|
+
import_agent_options
|
|
3733
|
+
),
|
|
3887
3734
|
Command(
|
|
3888
3735
|
"create_sharing_link",
|
|
3889
3736
|
["create-sharing-link", "csl"],
|
|
@@ -3948,6 +3795,15 @@ ai_lab_commands = [
|
|
|
3948
3795
|
[],
|
|
3949
3796
|
get_tool_options
|
|
3950
3797
|
),
|
|
3798
|
+
#Command(
|
|
3799
|
+
# "export_tool",
|
|
3800
|
+
# ["export-tool", "et"],
|
|
3801
|
+
# "Export tool",
|
|
3802
|
+
# export_tool,
|
|
3803
|
+
# ArgumentsEnum.REQUIRED,
|
|
3804
|
+
# [],
|
|
3805
|
+
# export_tool_options
|
|
3806
|
+
#),
|
|
3951
3807
|
Command(
|
|
3952
3808
|
"delete_tool",
|
|
3953
3809
|
["delete-tool", "dt"],
|