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,17 +1,13 @@
|
|
|
1
|
-
from pygeai.core.models import Organization, Project
|
|
2
1
|
from pygeai.core.files.managers import FileManager
|
|
3
2
|
from pygeai.core.files.models import UploadFile
|
|
4
3
|
|
|
5
|
-
organization = Organization(id="4aa15b61-d3c7-4a5c-99b8-052d18a04ff2")
|
|
6
|
-
project = Project(id="1956c032-3c66-4435-acb8-6a06e52f819f")
|
|
7
|
-
|
|
8
4
|
file = UploadFile(
|
|
9
5
|
path="test.txt",
|
|
10
6
|
name="TestyFile",
|
|
11
7
|
folder="TestyTestTemp"
|
|
12
8
|
)
|
|
13
9
|
|
|
14
|
-
file_manager = FileManager(
|
|
10
|
+
file_manager = FileManager()
|
|
15
11
|
|
|
16
12
|
response = file_manager.upload_file(file)
|
|
17
13
|
print(response)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Sample script demonstrating the usage of GAMClient to interact with GAM OAuth 2.0 endpoints.
|
|
3
|
+
|
|
4
|
+
This script shows how to:
|
|
5
|
+
1. Obtain an access token using username and password.
|
|
6
|
+
2. Fetch user information using the access token.
|
|
7
|
+
3. Refresh an access token using a refresh token.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import argparse
|
|
11
|
+
import getpass
|
|
12
|
+
from pygeai.gam.clients import GAMClient
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def main():
|
|
16
|
+
"""
|
|
17
|
+
Main function to demonstrate the usage of GAMClient for GAM OAuth 2.0 authentication.
|
|
18
|
+
"""
|
|
19
|
+
parser = argparse.ArgumentParser(description="GAM OAuth 2.0 Authentication Script")
|
|
20
|
+
parser.add_argument("--username", "-u", required=True, help="Username for authentication")
|
|
21
|
+
parser.add_argument("--client-id", "--cid", required=True, help="Client ID for the application")
|
|
22
|
+
parser.add_argument("--client-secret", "--cs", required=True, help="Client secret for the application")
|
|
23
|
+
args = parser.parse_args()
|
|
24
|
+
|
|
25
|
+
password = getpass.getpass("Enter password for {}: ".format(args.username))
|
|
26
|
+
|
|
27
|
+
try:
|
|
28
|
+
gam_client = GAMClient()
|
|
29
|
+
except Exception as e:
|
|
30
|
+
print(f"Error initializing GAMClient: {e}")
|
|
31
|
+
return
|
|
32
|
+
|
|
33
|
+
# Step 1: Get Access Token
|
|
34
|
+
print("=== Step 1: Obtaining Access Token ===")
|
|
35
|
+
try:
|
|
36
|
+
access_token_response = gam_client.get_access_token(
|
|
37
|
+
client_id=args.client_id,
|
|
38
|
+
client_secret=args.client_secret,
|
|
39
|
+
username=args.username,
|
|
40
|
+
password=password,
|
|
41
|
+
scope="gam_user_data+gam_user_roles",
|
|
42
|
+
authentication_type_name="local",
|
|
43
|
+
initial_properties={"Id": "Company", "Value": "GeneXus"},
|
|
44
|
+
repository="",
|
|
45
|
+
request_token_type="OAuth"
|
|
46
|
+
)
|
|
47
|
+
print("Access Token Response:")
|
|
48
|
+
print(access_token_response)
|
|
49
|
+
|
|
50
|
+
access_token = access_token_response.get("access_token", "")
|
|
51
|
+
refresh_token = access_token_response.get("refresh_token", "")
|
|
52
|
+
if not access_token:
|
|
53
|
+
print("Error: No access token received.")
|
|
54
|
+
return
|
|
55
|
+
except Exception as e:
|
|
56
|
+
print(f"Error obtaining access token: {e}")
|
|
57
|
+
return
|
|
58
|
+
|
|
59
|
+
# Step 2: Get User Information
|
|
60
|
+
print("\n=== Step 2: Fetching User Information ===")
|
|
61
|
+
try:
|
|
62
|
+
user_info_response = gam_client.get_user_info(access_token=access_token)
|
|
63
|
+
print("User Info Response:")
|
|
64
|
+
print(user_info_response)
|
|
65
|
+
except Exception as e:
|
|
66
|
+
print(f"Error fetching user information: {e}")
|
|
67
|
+
return
|
|
68
|
+
|
|
69
|
+
# Step 3: Refresh Access Token (if refresh_token is available)
|
|
70
|
+
if refresh_token:
|
|
71
|
+
print("\n=== Step 3: Refreshing Access Token ===")
|
|
72
|
+
try:
|
|
73
|
+
refresh_token_response = gam_client.refresh_access_token(
|
|
74
|
+
client_id=args.client_id,
|
|
75
|
+
client_secret=args.client_secret,
|
|
76
|
+
refresh_token=refresh_token
|
|
77
|
+
)
|
|
78
|
+
print("Refresh Token Response:")
|
|
79
|
+
print(refresh_token_response)
|
|
80
|
+
except Exception as e:
|
|
81
|
+
print(f"Error refreshing access token: {e}")
|
|
82
|
+
else:
|
|
83
|
+
print("\n=== Step 3: Skipping Refresh Token (No refresh token available) ===")
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
if __name__ == "__main__":
|
|
87
|
+
main()
|
|
@@ -24,23 +24,23 @@ def rollback():
|
|
|
24
24
|
print("\n=== Initiating Rollback ===")
|
|
25
25
|
if created_entities["instance_id"]:
|
|
26
26
|
print(f"Deleting instance {created_entities['instance_id']}...")
|
|
27
|
-
result = manager.abort_instance(
|
|
27
|
+
result = manager.abort_instance(instance_id=created_entities["instance_id"])
|
|
28
28
|
print(f"Rollback: {result}")
|
|
29
29
|
if created_entities["process_id"]:
|
|
30
30
|
print(f"Deleting process {created_entities['process_id']}...")
|
|
31
|
-
result = manager.delete_process(
|
|
31
|
+
result = manager.delete_process(process_id=created_entities["process_id"])
|
|
32
32
|
print(f"Rollback: {result}")
|
|
33
33
|
if created_entities["task_id"]:
|
|
34
34
|
print(f"Deleting task {created_entities['task_id']}...")
|
|
35
|
-
result = manager.delete_task(
|
|
35
|
+
result = manager.delete_task(task_id=created_entities["task_id"])
|
|
36
36
|
print(f"Rollback: {result}")
|
|
37
37
|
if created_entities["tool_id"]:
|
|
38
38
|
print(f"Deleting tool {created_entities['tool_id']}...")
|
|
39
|
-
result = manager.delete_tool(
|
|
39
|
+
result = manager.delete_tool(tool_id=created_entities["tool_id"])
|
|
40
40
|
print(f"Rollback: {result}")
|
|
41
41
|
if created_entities["agent_id"]:
|
|
42
42
|
print(f"Deleting agent {created_entities['agent_id']}...")
|
|
43
|
-
result = manager.delete_agent(
|
|
43
|
+
result = manager.delete_agent(agent_id=created_entities["agent_id"])
|
|
44
44
|
print(f"Rollback: {result}")
|
|
45
45
|
print("Rollback complete.")
|
|
46
46
|
|
|
@@ -67,13 +67,14 @@ def main():
|
|
|
67
67
|
timeout=30,
|
|
68
68
|
sampling=Sampling(temperature=0.7, top_k=40, top_p=0.9)
|
|
69
69
|
),
|
|
70
|
+
strategy_name="Dynamic Prompting",
|
|
70
71
|
models=ModelList(models=[
|
|
71
72
|
Model(name="gpt-4"),
|
|
72
73
|
Model(name="gpt-3.5-turbo")
|
|
73
74
|
])
|
|
74
75
|
)
|
|
75
76
|
)
|
|
76
|
-
create_agent_result = manager.create_agent(
|
|
77
|
+
create_agent_result = manager.create_agent(agent=agent, automatic_publish=False)
|
|
77
78
|
if isinstance(create_agent_result, Agent):
|
|
78
79
|
print(f"Success: Created Agent: {create_agent_result.name}, ID: {create_agent_result.id}")
|
|
79
80
|
created_entities["agent_id"] = create_agent_result.id
|
|
@@ -84,7 +85,7 @@ def main():
|
|
|
84
85
|
|
|
85
86
|
print("Updating agent description...")
|
|
86
87
|
agent.description = "Updated agent for testing workflows with enhanced capabilities"
|
|
87
|
-
update_agent_result = manager.update_agent(
|
|
88
|
+
update_agent_result = manager.update_agent(agent=agent, automatic_publish=False)
|
|
88
89
|
if isinstance(update_agent_result, Agent):
|
|
89
90
|
print(f"Success: Updated Agent: {update_agent_result.description}")
|
|
90
91
|
else:
|
|
@@ -93,7 +94,7 @@ def main():
|
|
|
93
94
|
exit()
|
|
94
95
|
|
|
95
96
|
print("Publishing agent revision '1'...")
|
|
96
|
-
publish_agent_result = manager.publish_agent_revision(
|
|
97
|
+
publish_agent_result = manager.publish_agent_revision(agent_id=created_entities["agent_id"], revision="1")
|
|
97
98
|
if isinstance(publish_agent_result, Agent):
|
|
98
99
|
print(f"Success: Published Agent Revision: {publish_agent_result.name}")
|
|
99
100
|
else:
|
|
@@ -102,7 +103,7 @@ def main():
|
|
|
102
103
|
exit()
|
|
103
104
|
|
|
104
105
|
print("Retrieving latest agent version...")
|
|
105
|
-
latest_agent = manager.get_agent(
|
|
106
|
+
latest_agent = manager.get_agent(agent_id=created_entities["agent_id"])
|
|
106
107
|
if isinstance(latest_agent, Agent):
|
|
107
108
|
print(f"Success: Latest Agent: {latest_agent.name}, Description: {latest_agent.description}")
|
|
108
109
|
else:
|
|
@@ -121,7 +122,7 @@ def main():
|
|
|
121
122
|
ToolParameter(key="max_length", data_type="Integer", description="Maximum length of output", is_required=False, value="100")
|
|
122
123
|
]
|
|
123
124
|
)
|
|
124
|
-
create_tool_result = manager.create_tool(
|
|
125
|
+
create_tool_result = manager.create_tool(tool=tool, automatic_publish=False)
|
|
125
126
|
if isinstance(create_tool_result, Tool):
|
|
126
127
|
print(f"Success: Created Tool: {create_tool_result.name}, ID: {create_tool_result.id}")
|
|
127
128
|
created_entities["tool_id"] = create_tool_result.id
|
|
@@ -132,7 +133,7 @@ def main():
|
|
|
132
133
|
|
|
133
134
|
print("Updating tool description...")
|
|
134
135
|
tool.description = "Updated tool for enhanced text processing"
|
|
135
|
-
update_tool_result = manager.update_tool(
|
|
136
|
+
update_tool_result = manager.update_tool(tool=tool, automatic_publish=False)
|
|
136
137
|
if isinstance(update_tool_result, Tool):
|
|
137
138
|
print(f"Success: Updated Tool: {update_tool_result.description}")
|
|
138
139
|
else:
|
|
@@ -141,7 +142,7 @@ def main():
|
|
|
141
142
|
exit()
|
|
142
143
|
|
|
143
144
|
print("Publishing tool revision '1'...")
|
|
144
|
-
publish_tool_result = manager.publish_tool_revision(
|
|
145
|
+
publish_tool_result = manager.publish_tool_revision(tool_id=created_entities["tool_id"], revision="1")
|
|
145
146
|
if isinstance(publish_tool_result, Tool):
|
|
146
147
|
print(f"Success: Published Tool Revision: {publish_tool_result.name}")
|
|
147
148
|
else:
|
|
@@ -150,7 +151,7 @@ def main():
|
|
|
150
151
|
exit()
|
|
151
152
|
|
|
152
153
|
print("Retrieving latest tool version...")
|
|
153
|
-
latest_tool = manager.get_tool(
|
|
154
|
+
latest_tool = manager.get_tool(tool_id=created_entities["tool_id"])
|
|
154
155
|
if isinstance(latest_tool, Tool):
|
|
155
156
|
print(f"Success: Latest Tool: {latest_tool.name}, Description: {latest_tool.description}")
|
|
156
157
|
else:
|
|
@@ -166,7 +167,7 @@ def main():
|
|
|
166
167
|
description="Processes text data using an agent",
|
|
167
168
|
title_template="Text Processing Task #{{id}}"
|
|
168
169
|
)
|
|
169
|
-
create_task_result = manager.create_task(
|
|
170
|
+
create_task_result = manager.create_task(task=task, automatic_publish=False)
|
|
170
171
|
if isinstance(create_task_result, Task):
|
|
171
172
|
print(f"Success: Created Task: {create_task_result.name}, ID: {create_task_result.id}")
|
|
172
173
|
created_entities["task_id"] = create_task_result.id
|
|
@@ -180,7 +181,7 @@ def main():
|
|
|
180
181
|
|
|
181
182
|
print("Updating task description...")
|
|
182
183
|
task.description = "Updated task for text processing with agent collaboration"
|
|
183
|
-
update_task_result = manager.update_task(
|
|
184
|
+
update_task_result = manager.update_task(task=task, automatic_publish=False)
|
|
184
185
|
if isinstance(update_task_result, Task):
|
|
185
186
|
print(f"Success: Updated Task: {update_task_result.description}")
|
|
186
187
|
else:
|
|
@@ -189,7 +190,7 @@ def main():
|
|
|
189
190
|
exit()
|
|
190
191
|
|
|
191
192
|
print("Publishing task revision '1'...")
|
|
192
|
-
publish_task_result = manager.publish_task_revision(
|
|
193
|
+
publish_task_result = manager.publish_task_revision(task_id=created_entities["task_id"], revision="1")
|
|
193
194
|
if isinstance(publish_task_result, Task):
|
|
194
195
|
print(f"Success: Published Task Revision: {publish_task_result.name}")
|
|
195
196
|
else:
|
|
@@ -198,7 +199,7 @@ def main():
|
|
|
198
199
|
exit()
|
|
199
200
|
|
|
200
201
|
print("Retrieving latest task version...")
|
|
201
|
-
latest_task = manager.get_task(
|
|
202
|
+
latest_task = manager.get_task(task_id=created_entities["task_id"])
|
|
202
203
|
if isinstance(latest_task, Task):
|
|
203
204
|
print(f"Success: Latest Task: {latest_task.name}, Description: {latest_task.description}")
|
|
204
205
|
else:
|
|
@@ -238,7 +239,7 @@ def main():
|
|
|
238
239
|
SequenceFlow(key="flow4", source_key="analysis_complete", target_key="end")
|
|
239
240
|
]
|
|
240
241
|
)
|
|
241
|
-
create_process_result = manager.create_process(
|
|
242
|
+
create_process_result = manager.create_process(process=process, automatic_publish=False)
|
|
242
243
|
if isinstance(create_process_result, AgenticProcess):
|
|
243
244
|
print(f"Success: Created Process: {create_process_result.name}, ID: {create_process_result.id}")
|
|
244
245
|
created_entities["process_id"] = create_process_result.id
|
|
@@ -249,7 +250,7 @@ def main():
|
|
|
249
250
|
|
|
250
251
|
print("Updating process description...")
|
|
251
252
|
process.description = "Updated process for advanced text analysis"
|
|
252
|
-
update_process_result = manager.update_process(
|
|
253
|
+
update_process_result = manager.update_process(process=process, automatic_publish=False)
|
|
253
254
|
if isinstance(update_process_result, AgenticProcess):
|
|
254
255
|
print(f"Success: Updated Process: {update_process_result.description}")
|
|
255
256
|
else:
|
|
@@ -258,7 +259,7 @@ def main():
|
|
|
258
259
|
exit()
|
|
259
260
|
|
|
260
261
|
print("Publishing process revision '1'...")
|
|
261
|
-
publish_process_result = manager.publish_process_revision(
|
|
262
|
+
publish_process_result = manager.publish_process_revision(process_id=created_entities["process_id"], revision="1")
|
|
262
263
|
if isinstance(publish_process_result, AgenticProcess):
|
|
263
264
|
print(f"Success: Published Process Revision: {publish_process_result.name}")
|
|
264
265
|
else:
|
|
@@ -267,7 +268,7 @@ def main():
|
|
|
267
268
|
exit()
|
|
268
269
|
|
|
269
270
|
print("Retrieving latest process version...")
|
|
270
|
-
latest_process = manager.get_process(
|
|
271
|
+
latest_process = manager.get_process(process_id=created_entities["process_id"])
|
|
271
272
|
if isinstance(latest_process, AgenticProcess):
|
|
272
273
|
print(f"Success: Latest Process: {latest_process.name}, Description: {latest_process.description}")
|
|
273
274
|
else:
|
|
@@ -296,7 +297,7 @@ def main():
|
|
|
296
297
|
exit()
|
|
297
298
|
|
|
298
299
|
print("Retrieving instance information...")
|
|
299
|
-
instance_info = manager.get_instance(
|
|
300
|
+
instance_info = manager.get_instance(instance_id=created_entities["instance_id"])
|
|
300
301
|
if isinstance(instance_info, ProcessInstance):
|
|
301
302
|
print(f"Success: Instance Info: Process: {instance_info.process.name}, Subject: {instance_info.subject}")
|
|
302
303
|
else:
|
|
@@ -305,7 +306,7 @@ def main():
|
|
|
305
306
|
exit()
|
|
306
307
|
|
|
307
308
|
print("Retrieving instance history...")
|
|
308
|
-
history = manager.get_instance_history(
|
|
309
|
+
history = manager.get_instance_history(instance_id=created_entities["instance_id"])
|
|
309
310
|
if isinstance(history, dict):
|
|
310
311
|
print(f"Success: Instance History: {history}")
|
|
311
312
|
else:
|
|
@@ -320,5 +321,6 @@ if __name__ == "__main__":
|
|
|
320
321
|
try:
|
|
321
322
|
main()
|
|
322
323
|
except Exception as e:
|
|
324
|
+
breakpoint()
|
|
323
325
|
rollback()
|
|
324
326
|
print(f"\n# Critical error: {e}")
|
|
@@ -22,23 +22,23 @@ def rollback():
|
|
|
22
22
|
print("\n=== Initiating Rollback ===")
|
|
23
23
|
if created_entities["instance_id"]:
|
|
24
24
|
print(f"Deleting instance {created_entities['instance_id']}...")
|
|
25
|
-
result = manager.abort_instance(
|
|
25
|
+
result = manager.abort_instance(instance_id=created_entities["instance_id"])
|
|
26
26
|
print(f"Rollback: {result}")
|
|
27
27
|
if created_entities["process_id"]:
|
|
28
28
|
print(f"Deleting process {created_entities['process_id']}...")
|
|
29
|
-
result = manager.delete_process(
|
|
29
|
+
result = manager.delete_process(process_id=created_entities["process_id"])
|
|
30
30
|
print(f"Rollback: {result}")
|
|
31
31
|
if created_entities["task_id"]:
|
|
32
32
|
print(f"Deleting task {created_entities['task_id']}...")
|
|
33
|
-
result = manager.delete_task(
|
|
33
|
+
result = manager.delete_task(task_id=created_entities["task_id"])
|
|
34
34
|
print(f"Rollback: {result}")
|
|
35
35
|
if created_entities["tool_id"]:
|
|
36
36
|
print(f"Deleting tool {created_entities['tool_id']}...")
|
|
37
|
-
result = manager.delete_tool(
|
|
37
|
+
result = manager.delete_tool(tool_id=created_entities["tool_id"])
|
|
38
38
|
print(f"Rollback: {result}")
|
|
39
39
|
if created_entities["agent_id"]:
|
|
40
40
|
print(f"Deleting agent {created_entities['agent_id']}...")
|
|
41
|
-
result = manager.delete_agent(
|
|
41
|
+
result = manager.delete_agent(agent_id=created_entities["agent_id"])
|
|
42
42
|
print(f"Rollback: {result}")
|
|
43
43
|
print("Rollback complete.")
|
|
44
44
|
|
|
@@ -82,7 +82,7 @@ def main():
|
|
|
82
82
|
revision=1,
|
|
83
83
|
status="pending"
|
|
84
84
|
)
|
|
85
|
-
create_tool_result = manager.create_tool(
|
|
85
|
+
create_tool_result = manager.create_tool(tool=tool, automatic_publish=False)
|
|
86
86
|
if isinstance(create_tool_result, Tool):
|
|
87
87
|
print(f"Success: Created Tool: {create_tool_result.name}, ID: {create_tool_result.id}")
|
|
88
88
|
created_entities["tool_id"] = create_tool_result.id
|
|
@@ -107,7 +107,7 @@ def main():
|
|
|
107
107
|
value="English"
|
|
108
108
|
)
|
|
109
109
|
)
|
|
110
|
-
update_tool_result = manager.update_tool(
|
|
110
|
+
update_tool_result = manager.update_tool(tool=tool, automatic_publish=False)
|
|
111
111
|
if isinstance(update_tool_result, Tool):
|
|
112
112
|
print(f"Success: Updated Tool: {update_tool_result.description}")
|
|
113
113
|
else:
|
|
@@ -116,7 +116,7 @@ def main():
|
|
|
116
116
|
exit()
|
|
117
117
|
|
|
118
118
|
print("Publishing tool revision '1'...")
|
|
119
|
-
publish_tool_result = manager.publish_tool_revision(
|
|
119
|
+
publish_tool_result = manager.publish_tool_revision(tool_id=created_entities["tool_id"], revision="1")
|
|
120
120
|
if isinstance(publish_tool_result, Tool):
|
|
121
121
|
print(f"Success: Published Tool Revision: {publish_tool_result.name}")
|
|
122
122
|
else:
|
|
@@ -125,7 +125,7 @@ def main():
|
|
|
125
125
|
exit()
|
|
126
126
|
|
|
127
127
|
print("Retrieving latest tool version...")
|
|
128
|
-
latest_tool = manager.get_tool(
|
|
128
|
+
latest_tool = manager.get_tool(tool_id=created_entities["tool_id"])
|
|
129
129
|
if isinstance(latest_tool, Tool):
|
|
130
130
|
print(f"Success: Latest Tool: {latest_tool.name}, Description: {latest_tool.description}")
|
|
131
131
|
else:
|
|
@@ -184,7 +184,7 @@ def main():
|
|
|
184
184
|
revision=1,
|
|
185
185
|
status="pending"
|
|
186
186
|
)
|
|
187
|
-
create_agent_result = manager.create_agent(
|
|
187
|
+
create_agent_result = manager.create_agent(agent=agent, automatic_publish=False)
|
|
188
188
|
if isinstance(create_agent_result, Agent):
|
|
189
189
|
print(f"Success: Created Agent: {create_agent_result.name}, ID: {create_agent_result.id}")
|
|
190
190
|
created_entities["agent_id"] = create_agent_result.id
|
|
@@ -200,7 +200,7 @@ def main():
|
|
|
200
200
|
agent.description = "Improved agent for text summarization tasks"
|
|
201
201
|
agent.job_description = "Summarizes text and extracts key insights"
|
|
202
202
|
|
|
203
|
-
update_agent_result = manager.update_agent(
|
|
203
|
+
update_agent_result = manager.update_agent(agent=agent, automatic_publish=False)
|
|
204
204
|
if isinstance(update_agent_result, Agent):
|
|
205
205
|
print(f"Success: Updated Agent: {update_agent_result.description}")
|
|
206
206
|
else:
|
|
@@ -209,7 +209,7 @@ def main():
|
|
|
209
209
|
exit()
|
|
210
210
|
|
|
211
211
|
print("Publishing agent revision '1'...")
|
|
212
|
-
publish_agent_result = manager.publish_agent_revision(
|
|
212
|
+
publish_agent_result = manager.publish_agent_revision(agent_id=created_entities["agent_id"], revision="1")
|
|
213
213
|
if isinstance(publish_agent_result, Agent):
|
|
214
214
|
print(f"Success: Published Agent Revision: {publish_agent_result.name}")
|
|
215
215
|
else:
|
|
@@ -218,7 +218,7 @@ def main():
|
|
|
218
218
|
exit()
|
|
219
219
|
|
|
220
220
|
print("Retrieving latest agent version...")
|
|
221
|
-
latest_agent = manager.get_agent(
|
|
221
|
+
latest_agent = manager.get_agent(agent_id=created_entities["agent_id"])
|
|
222
222
|
if isinstance(latest_agent, Agent):
|
|
223
223
|
print(f"Success: Latest Agent: {latest_agent.name}, Description: {latest_agent.description}")
|
|
224
224
|
else:
|
|
@@ -259,7 +259,7 @@ def main():
|
|
|
259
259
|
revision=1,
|
|
260
260
|
status="pending"
|
|
261
261
|
)
|
|
262
|
-
create_task_result = manager.create_task(
|
|
262
|
+
create_task_result = manager.create_task(task=task, automatic_publish=False)
|
|
263
263
|
if isinstance(create_task_result, Task):
|
|
264
264
|
print(f"Success: Created Task: {create_task_result.name}, ID: {create_task_result.id}")
|
|
265
265
|
created_entities["task_id"] = create_task_result.id
|
|
@@ -275,7 +275,7 @@ def main():
|
|
|
275
275
|
task.description = "Enhanced task for text summarization and analysis"
|
|
276
276
|
task.prompt_data.instructions = "Summarize text and highlight key insights."
|
|
277
277
|
|
|
278
|
-
update_task_result = manager.update_task(
|
|
278
|
+
update_task_result = manager.update_task(task=task, automatic_publish=False)
|
|
279
279
|
if isinstance(update_task_result, Task):
|
|
280
280
|
print(f"Success: Updated Task: {update_task_result.description}")
|
|
281
281
|
else:
|
|
@@ -284,7 +284,7 @@ def main():
|
|
|
284
284
|
exit()
|
|
285
285
|
|
|
286
286
|
print("Publishing task revision '1'...")
|
|
287
|
-
publish_task_result = manager.publish_task_revision(
|
|
287
|
+
publish_task_result = manager.publish_task_revision(task_id=created_entities["task_id"], revision="1")
|
|
288
288
|
if isinstance(publish_task_result, Task):
|
|
289
289
|
print(f"Success: Published Task Revision: {publish_task_result.name}")
|
|
290
290
|
else:
|
|
@@ -293,7 +293,7 @@ def main():
|
|
|
293
293
|
exit()
|
|
294
294
|
|
|
295
295
|
print("Retrieving latest task version...")
|
|
296
|
-
latest_task = manager.get_task(
|
|
296
|
+
latest_task = manager.get_task(task_id=created_entities["task_id"])
|
|
297
297
|
if isinstance(latest_task, Task):
|
|
298
298
|
print(f"Success: Latest Task: {latest_task.name}, Description: {latest_task.description}")
|
|
299
299
|
else:
|
|
@@ -358,7 +358,7 @@ def main():
|
|
|
358
358
|
revision=1,
|
|
359
359
|
status="pending"
|
|
360
360
|
)
|
|
361
|
-
create_process_result = manager.create_process(
|
|
361
|
+
create_process_result = manager.create_process(process=process, automatic_publish=False)
|
|
362
362
|
if isinstance(create_process_result, AgenticProcess):
|
|
363
363
|
print(f"Success: Created Process: {create_process_result.name}, ID: {create_process_result.id}")
|
|
364
364
|
created_entities["process_id"] = create_process_result.id
|
|
@@ -373,7 +373,7 @@ def main():
|
|
|
373
373
|
process.description = "Optimized process for text summarization workflows"
|
|
374
374
|
process.agentic_activities[0].name = "Advanced Text Summarization"
|
|
375
375
|
|
|
376
|
-
update_process_result = manager.update_process(
|
|
376
|
+
update_process_result = manager.update_process(process=process, automatic_publish=False)
|
|
377
377
|
if isinstance(update_process_result, AgenticProcess):
|
|
378
378
|
print(f"Success: Updated Process: {update_process_result.description}")
|
|
379
379
|
else:
|
|
@@ -382,7 +382,7 @@ def main():
|
|
|
382
382
|
exit()
|
|
383
383
|
|
|
384
384
|
print("Publishing process revision '1'...")
|
|
385
|
-
publish_process_result = manager.publish_process_revision(
|
|
385
|
+
publish_process_result = manager.publish_process_revision(process_id=created_entities["process_id"], revision="1")
|
|
386
386
|
if isinstance(publish_process_result, AgenticProcess):
|
|
387
387
|
print(f"Success: Published Process Revision: {publish_process_result.name}")
|
|
388
388
|
else:
|
|
@@ -391,7 +391,7 @@ def main():
|
|
|
391
391
|
exit()
|
|
392
392
|
|
|
393
393
|
print("Retrieving latest process version...")
|
|
394
|
-
latest_process = manager.get_process(
|
|
394
|
+
latest_process = manager.get_process(process_id=created_entities["process_id"])
|
|
395
395
|
if isinstance(latest_process, AgenticProcess):
|
|
396
396
|
print(f"Success: Latest Process: {latest_process.name}, Description: {latest_process.description}")
|
|
397
397
|
else:
|
|
@@ -417,7 +417,7 @@ def main():
|
|
|
417
417
|
exit()
|
|
418
418
|
|
|
419
419
|
print("Retrieving instance information...")
|
|
420
|
-
instance_info = manager.get_instance(
|
|
420
|
+
instance_info = manager.get_instance(instance_id=created_entities["instance_id"])
|
|
421
421
|
if isinstance(instance_info, ProcessInstance):
|
|
422
422
|
print(f"Success: Instance Info: Process: {instance_info.process.name}, Subject: {instance_info.subject}")
|
|
423
423
|
else:
|
|
@@ -426,7 +426,7 @@ def main():
|
|
|
426
426
|
exit()
|
|
427
427
|
|
|
428
428
|
print("Retrieving instance history...")
|
|
429
|
-
history = manager.get_instance_history(
|
|
429
|
+
history = manager.get_instance_history(instance_id=created_entities["instance_id"])
|
|
430
430
|
if isinstance(history, dict):
|
|
431
431
|
print(f"Success: Instance History: {history}")
|
|
432
432
|
else:
|
|
@@ -3,9 +3,9 @@ from pygeai.lab.models import Agent, AgentData, Prompt, LlmConfig, Model, Sampli
|
|
|
3
3
|
|
|
4
4
|
agent = Agent(
|
|
5
5
|
status="active",
|
|
6
|
-
name="
|
|
7
|
-
access_scope="
|
|
8
|
-
public_name="com.genexus.geai.public_translator_24",
|
|
6
|
+
name="Private Translator V6",
|
|
7
|
+
access_scope="private",
|
|
8
|
+
# public_name="com.genexus.geai.public_translator_24",
|
|
9
9
|
job_description="Translates",
|
|
10
10
|
avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
|
|
11
11
|
description="Agent that translates from any language to english.",
|
|
@@ -26,6 +26,7 @@ agent = Agent(
|
|
|
26
26
|
PromptExample(input_data="esto es una prueba pincheguey [keep-slang]", output='{"translated_text":"this is a test pal","summary":"prueba"}')
|
|
27
27
|
]
|
|
28
28
|
),
|
|
29
|
+
strategy_name="Dynamic Prompting",
|
|
29
30
|
llm_config=LlmConfig(
|
|
30
31
|
max_tokens=5000,
|
|
31
32
|
timeout=0,
|
|
@@ -38,14 +39,10 @@ agent = Agent(
|
|
|
38
39
|
|
|
39
40
|
manager = AILabManager()
|
|
40
41
|
result = manager.create_agent(
|
|
41
|
-
project_id="2ca6883f-6778-40bb-bcc1-85451fb11107",
|
|
42
42
|
agent=agent,
|
|
43
43
|
automatic_publish=False
|
|
44
44
|
)
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
print(f"Agent: {agent.to_dict()}")
|
|
49
|
-
else:
|
|
50
|
-
print("Errors:", result.errors)
|
|
47
|
+
print(f"Agent: {agent.to_dict()}")
|
|
51
48
|
|
|
@@ -39,14 +39,10 @@ agent = Agent(
|
|
|
39
39
|
|
|
40
40
|
manager = AILabManager()
|
|
41
41
|
result = manager.create_agent(
|
|
42
|
-
project_id="2ca6883f-6778-40bb-bcc1-85451fb11107",
|
|
43
42
|
agent=agent,
|
|
44
43
|
automatic_publish=False
|
|
45
44
|
)
|
|
46
45
|
|
|
47
46
|
|
|
48
|
-
|
|
49
|
-
print(f"Agent: {agent.to_dict()}")
|
|
50
|
-
else:
|
|
51
|
-
print("Errors:", result.errors)
|
|
47
|
+
print(f"Agent: {agent.to_dict()}")
|
|
52
48
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from pygeai.lab.managers import AILabManager
|
|
2
|
+
from pygeai.lab.models import Agent, AgentData, Prompt, LlmConfig, Model, Sampling, PromptExample, PromptOutput
|
|
3
|
+
|
|
4
|
+
agent = Agent(
|
|
5
|
+
id="f64ba214-152b-4dd4-be0d-2920da415f5d",
|
|
6
|
+
status="active",
|
|
7
|
+
name="Private Translator V25",
|
|
8
|
+
access_scope="private",
|
|
9
|
+
public_name="com.genexus.geai.private_translator#",
|
|
10
|
+
job_description="Translates",
|
|
11
|
+
avatar_image="https://www.shareicon.net/data/128x128/2016/11/09/851442_logo_512x512.png",
|
|
12
|
+
description="Agent that translates from any language to english.",
|
|
13
|
+
is_draft=False,
|
|
14
|
+
is_readonly=False,
|
|
15
|
+
revision=1,
|
|
16
|
+
version=None,
|
|
17
|
+
agent_data=AgentData(
|
|
18
|
+
prompt=Prompt(
|
|
19
|
+
instructions="the user will provide a text, you must return the same text translated to english",
|
|
20
|
+
inputs=["text", "avoid slang indicator"],
|
|
21
|
+
outputs=[
|
|
22
|
+
PromptOutput(key="translated_text", description="translated text, with slang or not depending on the indication. in plain text."),
|
|
23
|
+
PromptOutput(key="summary", description="a summary in the original language of the text to be translated, also in plain text.")
|
|
24
|
+
],
|
|
25
|
+
examples=[
|
|
26
|
+
PromptExample(input_data="opitiiiis mundo [no-slang]", output='{"translated_text":"hello world","summary":"saludo"}'),
|
|
27
|
+
PromptExample(input_data="esto es una prueba pincheguey [keep-slang]", output='{"translated_text":"this is a test pal","summary":"prueba"}')
|
|
28
|
+
]
|
|
29
|
+
),
|
|
30
|
+
llm_config=LlmConfig(
|
|
31
|
+
max_tokens=5000,
|
|
32
|
+
timeout=0,
|
|
33
|
+
sampling=Sampling(temperature=0.5, top_k=0, top_p=0)
|
|
34
|
+
),
|
|
35
|
+
models=[Model(name="gpt-4-turbo-preview")]
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
manager = AILabManager()
|
|
41
|
+
result = manager.create_agent(
|
|
42
|
+
agent=agent,
|
|
43
|
+
automatic_publish=False
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
print(f"Agent: {agent.to_dict()}")
|
|
48
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from pygeai.lab.managers import AILabManager
|
|
2
|
+
from pygeai.lab.models import Agent, AgentData, Prompt, LlmConfig, Model, Permission
|
|
3
|
+
|
|
4
|
+
# Create an agent with permissions configured
|
|
5
|
+
agent = Agent(
|
|
6
|
+
name="Agent_With_Permissions",
|
|
7
|
+
description="Agent demonstrating permissions configuration",
|
|
8
|
+
access_scope="private",
|
|
9
|
+
is_draft=True,
|
|
10
|
+
sharing_scope="organization",
|
|
11
|
+
permissions=Permission(
|
|
12
|
+
allow_chat_sharing=True,
|
|
13
|
+
allow_external_execution=False
|
|
14
|
+
),
|
|
15
|
+
agent_data=AgentData(
|
|
16
|
+
prompt=Prompt(
|
|
17
|
+
instructions="You are a collaborative assistant that can be shared within the organization",
|
|
18
|
+
inputs=["user_query"]
|
|
19
|
+
),
|
|
20
|
+
llm_config=LlmConfig(max_tokens=2000),
|
|
21
|
+
strategy_name="Dynamic Prompting",
|
|
22
|
+
models=[Model(name="gpt-4-turbo-preview")]
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
manager = AILabManager()
|
|
27
|
+
result = manager.create_agent(agent=agent, automatic_publish=False)
|
|
28
|
+
|
|
29
|
+
print(f"Created agent: {result.name}")
|
|
30
|
+
print(f"Agent ID: {result.id}")
|
|
31
|
+
print(f"Sharing scope: {result.sharing_scope}")
|
|
32
|
+
if result.permissions:
|
|
33
|
+
print(f"\nPermissions:")
|
|
34
|
+
print(f" - Allow chat sharing: {result.permissions.allow_chat_sharing}")
|
|
35
|
+
print(f" - Allow external execution: {result.permissions.allow_external_execution}")
|
|
36
|
+
if result.effective_permissions:
|
|
37
|
+
print(f"\nEffective Permissions:")
|
|
38
|
+
print(f" - Allow chat sharing: {result.effective_permissions.allow_chat_sharing}")
|
|
39
|
+
print(f" - Allow external execution: {result.effective_permissions.allow_external_execution}")
|