plato-sdk-v2 2.7.8__tar.gz → 2.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/PKG-INFO +1 -1
- plato_sdk_v2-2.8.0/VERSION +1 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/__init__.py +1 -1
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/__init__.py +2 -0
- plato_sdk_v2-2.8.0/plato/_generated/api/v2/sessions/remove_job.py +89 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/models/__init__.py +64 -4
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/get_agent_versions.py +5 -5
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/list_agents.py +5 -5
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/get_agent_versions_api_registry_agents__agent_name__versions_get.py +5 -5
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/list_registry_agents_api_registry_agents_get.py +5 -5
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/models/__init__.py +21 -21
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/session.py +158 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/session.py +158 -0
- plato_sdk_v2-2.7.8/VERSION +0 -1
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/.claude/agents/sim-creator.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/.gitignore +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/BUILDING_SIMS.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/README.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/CLAUDE.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/deploy.sh +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/lint.sh +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/setup.sh +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/version-bump.sh +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/AGENT_SPEC.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/CLI.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/GENERATING_SIM_SDKS.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/SIMULATOR_LIFECYCLE.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/SIM_CREATOR.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/agent.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/flows.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/pm.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/sandbox.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/sims.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/world.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/sim-creation-pipeline.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skill-restructure-plan.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/SIM-CREATION-ARCHITECTURE.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-config/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-creator/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-debugger/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-audit/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-clear/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-mutations/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-run/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-research/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-review/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-login/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-services/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-start/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-worker/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-snapshot/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-submit/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-validate/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/trajectory-analysis/SKILL.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/testcommit +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/unit.sh +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/examples/test_session_isolation.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/examples/test_session_network.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/archive_agent_artifact.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/create_agent_artifact.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/get_agent_artifact_by_public_id.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/get_agent_artifacts.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/cleanup_stale_vms.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_dispatchers.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_nodes_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_snapshot_lineage.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_snapshots_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/pause_resume_dispatchers.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/prefetch_snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/backup.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/cleanup.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/close.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/close_async.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/create.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/create_batch.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/create_simulator.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/evaluate_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/generate_mutations.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/generate_mutations_single.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_active_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_app_sim_worker_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_cdp_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_flows.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_interface_worker_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_job_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_job_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_job_worker_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_proxy_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_public_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_simulator_by_name.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_simulators.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_state.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_worker_ready.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/log_state_mutation.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/rescore_simulator_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/reset.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/score.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/send_heartbeat.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/update_simulator.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/create_test_case_review.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/evaluate_python.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_all_test_case_reviews.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_scores_by_user.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_scoring.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_test_case_review.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/human_in_the_loop_scoring.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/start_eval_from_git.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/create_gitea_repository.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/create_simulator_repository.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/delete_gitea_repository.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_accessible_simulators.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_gitea_credentials.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_gitea_repository.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_my_gitea_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_my_repositories.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_repository_branches.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_repository_contents.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_file_content.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_repository.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_repository_branches.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_repository_contents.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/get_job_by_id.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/get_jobs_by_group_id.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/get_keepalive_jobs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/list_jobs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/update_job_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/create_annotator_assignment.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/create_org_api_key.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/create_org_policy.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/delete_org_api_key.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/delete_org_policy.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_annotator_assignments.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_org_api_key_policies.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_org_api_keys.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_org_policies.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_organization_concurrency_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_organization_members.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/update_annotator_assignment_stage.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/update_organization_concurrency_limit.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_queue_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_vm_detail.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_vms.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_workers.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/checkpoint_vm.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/close_vm.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/create_vm.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/execute_ssh_command.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/get_operation_events.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/healthy_services.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/healthy_worker.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/save_vm_snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/setup_root_access.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/setup_sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/start_worker.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/analyze_labels.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/archive_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/archive_session_logs_endpoint.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_from_labels.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_session_from_browser.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_session_from_env_recording.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_session_from_har.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_env_recording.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_grouped_replay_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_logs_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_network_requests.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_next_session_for_annotator.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_public_benchmark_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_replay_score_data.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_rrweb_actions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_rrweb_events.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_screen_recording.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_session_replays.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_sessions_for_archival.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_ui_events.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/restore_session_logs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/score_session_with_config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/search_sessions_by_ids.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/set_session_output.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/update_session_public.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/update_session_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/add_simulator_review.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/batch_create_test_cases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/batch_get_artifact_metadata.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_all_simulators_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_db_config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_env_flows.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_plato_config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_sessions_batch_by_job_groups.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_sessions_by_job_group.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_by_name.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_id.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_version_details.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_versions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_start_path.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_version_by_tag.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/list_simulators.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/list_simulators_by_org.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/list_simulators_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/register.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/update_simulator.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/update_simulator_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/update_tag.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/archive_organization_test_case_assignments.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/archive_organization_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/archive_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/assign_testcase_to_organizations.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/auto_verify_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/bulk_archive_testcases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/convert_text_to_structured_data.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/create_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/create_testcase_set.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/delete_testcase_set.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/filter_human_recorder_testcases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_outcome_schema.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_prediction.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_prediction_from_steps.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_scoring_config_from_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_state_mutations_config_route.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_human_recorder_tab_counts.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_human_recorder_testcases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_merged_mutations.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_mutation_groups_for_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_next_testcase_for_scoring.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_organization_test_case_assignments.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcase_metadata_for_scoring.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcase_sets.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcases_in_set.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/mark_organization_test_case_completed.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/update_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/version_bump_testcase.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/clear_all.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/clear_single_cache.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/delete_key.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/get_stats.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/list_cache_names.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/get_agent_ecr_token.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/get_agent_schema.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/get_agent_versions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/import_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/list_docker_agents.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/lookup_agent_version.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/register_docker_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/artifacts/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/artifacts/get_artifact.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos/launch_job.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/get_package_versions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/list_chronos_packages.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/lookup_package_version.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/register_chronos_package.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/upload_chronos_package.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/cluster/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/cluster/get_node_config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/checkpoint.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/close.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/connect_routing_info.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/connect_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/disk_snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/execute.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/get_flows.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/get_plato_config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/log_for_job.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/make.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/public_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/reset.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/set_date.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/setup_sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/snapshot_store.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/state.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/wait_for_ready.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/add_member.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/create_network.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/delete_network.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/get_network.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/list_members.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/list_networks.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/remove_member.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/update_member.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/download_package.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/get_package_schema.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/package_index.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/simple_index.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/upload_package.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/create.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/deploy.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/handle_get_existing_public_ids.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/handle_import.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/list_releases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/prep_release_assigned_testcases.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/update.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/add_job.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/add_ssh_key.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/checkpoint.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/close.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/connect_network.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/disk_snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/evaluate.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/execute.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_connect_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_presigned_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_public_url.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_s3_content.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_details.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_documents.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_flows.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_logs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_plato_config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/heartbeat.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/list_jobs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/list_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/log_job_mutation.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/make.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/reset.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/set_date.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/setup_sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/snapshot_store.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/state.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/upload_session_documents.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/wait_for_ready.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/user/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/user/get_current_user.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/version/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/version/check.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/client.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/errors.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/py.typed +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/cli.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/instruction.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/parser.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/python.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/instruction/helpers.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/instruction/init.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/api_init.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/client.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/endpoint.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/errors.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/package_init.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/tag_init.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/version_init.py.jinja +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/artifacts.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/base.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/build.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/otel.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/runner.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/trajectory.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/clear_database_api_admin_clear_db_post.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/sync_agents_api_admin_sync_agents_post.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/sync_all_api_admin_sync_all_post.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/sync_runtimes_api_admin_sync_runtimes_post.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/sync_worlds_api_admin_sync_worlds_post.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/create_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/delete_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/get_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/get_agent_schema.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/lookup_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/auth/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/auth/debug_auth_api_auth_debug_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/auth/get_auth_status_api_auth_status_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/auth/get_current_user_route_api_auth_me_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/checkpoints/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/checkpoints/list_checkpoints.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/checkpoints/preview_checkpoint.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/default/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/default/health.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/events/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/events/get_session_event.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/events/list_session_events.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/jobs/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/jobs/launch_job.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/otel/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/otel/get_session_traces_api_otel_sessions__session_id__traces_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/otel/receive_traces_api_otel_v1_traces_post.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/get_agent_schema_api_registry_agents__agent_name__schema_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/get_world_schema_api_registry_worlds__package_name__schema_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/get_world_versions_api_registry_worlds__package_name__versions_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/list_registry_worlds_api_registry_worlds_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/create_runtime.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/delete_runtime.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/get_runtime.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/get_runtime_logs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/list_runtimes.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/test_runtime.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/create_secret.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/delete_secret.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/get_secret.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/list_secrets.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/update_secret.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/close_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/complete_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/create_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_bash_logs_download.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_envs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_live_logs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_logs.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_logs_download.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_status.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/list_session_creators.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/list_sessions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/list_tags.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/update_session_tags.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/status/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/status/get_status_api_status_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/status/get_version_info_api_version_get.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/create_template.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/delete_template.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/get_template.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/list_templates.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/update_template.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/trajectories/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/trajectories/get_trajectory.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/trajectories/list_trajectories.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/create_world.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/delete_world.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/get_world.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/list_worlds.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/client.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/errors.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/py.typed +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/audit_ui.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/chronos.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/main.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/pm.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/proxy.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/utils.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/verify.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/world.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/py.typed +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/README.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/agent_helpers.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/cli.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/generate_clients.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/registry.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/audit_ui.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/chronos.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/main.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/pm.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/proxy.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/ssh.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/templates/world-runner.Dockerfile +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/utils.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/verify.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/world.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/doordash_tasks.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/loadtest.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_env.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_env_custom_browser.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_env_sync.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_reuse_env.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_run.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/exceptions.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/README.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/api-client.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/background.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/build-sdk.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/content.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/manifest.json +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/offscreen.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/offscreen.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/options.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/options.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/package-lock.json +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/package.json +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/plato-sdk-bundle.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/plato-sdk-bundle.js.map +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/popup.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/popup.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-panel.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-panel.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-success.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-success.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-active.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-active.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-ended.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-ended.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-setup.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-setup.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/sessions.html +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/sessions.js +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/styles.css +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/flow_executor.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/build_models.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/env.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/flow.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/task.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sandbox_sdk.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sdk.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sync_env.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sync_flow_executor.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sync_sdk.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/utils/proxytunnel.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/artifact.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/chronos.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/client.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/environment.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/flow_executor.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/models.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/artifact.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/chronos.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/client.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/environment.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/flow_executor.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/sandbox.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/types.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/db_cleanup.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/gateway_tunnel.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/models.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/proxy_tunnel.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/README.md +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/base.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/build_hook.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/config.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/runner.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/pyproject.toml +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/scripts/get_all_artifact_targets.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/conftest.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_browser_agent.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_chronos_callback.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_cleanup_snapshot.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_code_world.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_harbor_agent_runner.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/sims/__init__.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/sims/conftest.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/sims/test_agent_helpers.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_heartbeat_keepalive.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_session_serialization.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_set_date.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_v2_imports.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_v2_multisim_integration.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_v2_session.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_version.py +0 -0
- {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.8.0
|
|
@@ -23,6 +23,7 @@ from . import (
|
|
|
23
23
|
list_sessions,
|
|
24
24
|
log_job_mutation,
|
|
25
25
|
make,
|
|
26
|
+
remove_job,
|
|
26
27
|
reset,
|
|
27
28
|
set_date,
|
|
28
29
|
setup_sandbox,
|
|
@@ -37,6 +38,7 @@ __all__ = [
|
|
|
37
38
|
"make",
|
|
38
39
|
"list_jobs",
|
|
39
40
|
"add_job",
|
|
41
|
+
"remove_job",
|
|
40
42
|
"reset",
|
|
41
43
|
"heartbeat",
|
|
42
44
|
"connect_network",
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"""Remove Job"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from plato._generated.errors import raise_for_status
|
|
10
|
+
from plato._generated.models import RemoveJobRequest, RemoveJobResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _build_request_args(
|
|
14
|
+
session_id: str,
|
|
15
|
+
body: RemoveJobRequest,
|
|
16
|
+
authorization: str | None = None,
|
|
17
|
+
x_api_key: str | None = None,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
"""Build request arguments."""
|
|
20
|
+
url = f"/api/v2/sessions/{session_id}/remove-job"
|
|
21
|
+
|
|
22
|
+
headers: dict[str, str] = {}
|
|
23
|
+
if authorization is not None:
|
|
24
|
+
headers["authorization"] = authorization
|
|
25
|
+
if x_api_key is not None:
|
|
26
|
+
headers["X-API-Key"] = x_api_key
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
"method": "POST",
|
|
30
|
+
"url": url,
|
|
31
|
+
"json": body.model_dump(mode="json", exclude_none=True),
|
|
32
|
+
"headers": headers,
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def sync(
|
|
37
|
+
client: httpx.Client,
|
|
38
|
+
session_id: str,
|
|
39
|
+
body: RemoveJobRequest,
|
|
40
|
+
authorization: str | None = None,
|
|
41
|
+
x_api_key: str | None = None,
|
|
42
|
+
) -> RemoveJobResponse:
|
|
43
|
+
"""Remove a job from a session.
|
|
44
|
+
|
|
45
|
+
This will:
|
|
46
|
+
1. Remove the job from the session's network (if connected)
|
|
47
|
+
2. Shut down the VM associated with the job
|
|
48
|
+
3. Cancel the job in the system
|
|
49
|
+
|
|
50
|
+
Use this to clean up individual jobs without closing the entire session."""
|
|
51
|
+
|
|
52
|
+
request_args = _build_request_args(
|
|
53
|
+
session_id=session_id,
|
|
54
|
+
body=body,
|
|
55
|
+
authorization=authorization,
|
|
56
|
+
x_api_key=x_api_key,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
response = client.request(**request_args)
|
|
60
|
+
raise_for_status(response)
|
|
61
|
+
return RemoveJobResponse.model_validate(response.json())
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
async def asyncio(
|
|
65
|
+
client: httpx.AsyncClient,
|
|
66
|
+
session_id: str,
|
|
67
|
+
body: RemoveJobRequest,
|
|
68
|
+
authorization: str | None = None,
|
|
69
|
+
x_api_key: str | None = None,
|
|
70
|
+
) -> RemoveJobResponse:
|
|
71
|
+
"""Remove a job from a session.
|
|
72
|
+
|
|
73
|
+
This will:
|
|
74
|
+
1. Remove the job from the session's network (if connected)
|
|
75
|
+
2. Shut down the VM associated with the job
|
|
76
|
+
3. Cancel the job in the system
|
|
77
|
+
|
|
78
|
+
Use this to clean up individual jobs without closing the entire session."""
|
|
79
|
+
|
|
80
|
+
request_args = _build_request_args(
|
|
81
|
+
session_id=session_id,
|
|
82
|
+
body=body,
|
|
83
|
+
authorization=authorization,
|
|
84
|
+
x_api_key=x_api_key,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
response = await client.request(**request_args)
|
|
88
|
+
raise_for_status(response)
|
|
89
|
+
return RemoveJobResponse.model_validate(response.json())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
3
|
-
# timestamp: 2026-01-
|
|
2
|
+
# filename: tmp2hcn27e0.json
|
|
3
|
+
# timestamp: 2026-01-29T22:45:52+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -1158,6 +1158,14 @@ class EnvFromArtifact(BaseModel):
|
|
|
1158
1158
|
"""
|
|
1159
1159
|
|
|
1160
1160
|
|
|
1161
|
+
class RootfsStorageBackend(Enum):
|
|
1162
|
+
sparse_s3 = "sparse-s3"
|
|
1163
|
+
blockdiff = "blockdiff"
|
|
1164
|
+
blockdiff_checkpoint = "blockdiff_checkpoint"
|
|
1165
|
+
blockdiff_disk = "blockdiff_disk"
|
|
1166
|
+
snapshot_store = "snapshot-store"
|
|
1167
|
+
|
|
1168
|
+
|
|
1161
1169
|
class EnvFromSimulator(BaseModel):
|
|
1162
1170
|
model_config = ConfigDict(
|
|
1163
1171
|
extra="allow",
|
|
@@ -1929,6 +1937,11 @@ class NodeSessionNetworkConfig(BaseModel):
|
|
|
1929
1937
|
"""
|
|
1930
1938
|
|
|
1931
1939
|
|
|
1940
|
+
class DefaultRootfsStorageBackend(Enum):
|
|
1941
|
+
sparse_s3 = "sparse-s3"
|
|
1942
|
+
snapshot_store = "snapshot-store"
|
|
1943
|
+
|
|
1944
|
+
|
|
1932
1945
|
class NodeSnapshotStoreConfig(BaseModel):
|
|
1933
1946
|
model_config = ConfigDict(
|
|
1934
1947
|
extra="allow",
|
|
@@ -1977,9 +1990,12 @@ class NodeSnapshotStoreConfig(BaseModel):
|
|
|
1977
1990
|
"""
|
|
1978
1991
|
Local storage root for snapshot-store data.
|
|
1979
1992
|
"""
|
|
1980
|
-
|
|
1993
|
+
default_rootfs_storage_backend: Annotated[
|
|
1994
|
+
DefaultRootfsStorageBackend | None,
|
|
1995
|
+
Field(title="Default Rootfs Storage Backend"),
|
|
1996
|
+
] = DefaultRootfsStorageBackend.sparse_s3
|
|
1981
1997
|
"""
|
|
1982
|
-
|
|
1998
|
+
Default rootfs storage backend. 'sparse-s3' uses S3 archives, 'snapshot-store' uses FUSE-based dedup.
|
|
1983
1999
|
"""
|
|
1984
2000
|
|
|
1985
2001
|
|
|
@@ -2334,6 +2350,38 @@ class ReleaseStatus(Enum):
|
|
|
2334
2350
|
failed = "failed"
|
|
2335
2351
|
|
|
2336
2352
|
|
|
2353
|
+
class RemoveJobRequest(BaseModel):
|
|
2354
|
+
model_config = ConfigDict(
|
|
2355
|
+
extra="allow",
|
|
2356
|
+
)
|
|
2357
|
+
job_id: Annotated[str, Field(title="Job Id")]
|
|
2358
|
+
"""
|
|
2359
|
+
Job ID to remove from the session
|
|
2360
|
+
"""
|
|
2361
|
+
|
|
2362
|
+
|
|
2363
|
+
class RemoveJobResponse(BaseModel):
|
|
2364
|
+
model_config = ConfigDict(
|
|
2365
|
+
extra="allow",
|
|
2366
|
+
)
|
|
2367
|
+
session_id: Annotated[str, Field(title="Session Id")]
|
|
2368
|
+
"""
|
|
2369
|
+
Session ID the job was removed from
|
|
2370
|
+
"""
|
|
2371
|
+
job_id: Annotated[str, Field(title="Job Id")]
|
|
2372
|
+
"""
|
|
2373
|
+
Job ID that was removed
|
|
2374
|
+
"""
|
|
2375
|
+
success: Annotated[bool, Field(title="Success")]
|
|
2376
|
+
"""
|
|
2377
|
+
Whether the removal was successful
|
|
2378
|
+
"""
|
|
2379
|
+
message: Annotated[str | None, Field(title="Message")] = None
|
|
2380
|
+
"""
|
|
2381
|
+
Status message or error details
|
|
2382
|
+
"""
|
|
2383
|
+
|
|
2384
|
+
|
|
2337
2385
|
class RepositoryResponse(BaseModel):
|
|
2338
2386
|
model_config = ConfigDict(
|
|
2339
2387
|
extra="allow",
|
|
@@ -4324,6 +4372,18 @@ class EnvFromResource(BaseModel):
|
|
|
4324
4372
|
"""
|
|
4325
4373
|
Custom name for this environment
|
|
4326
4374
|
"""
|
|
4375
|
+
docker_image_url: Annotated[str | None, Field(title="Docker Image Url")] = None
|
|
4376
|
+
"""
|
|
4377
|
+
Custom Docker image URL (ECR). If not set, uses default from settings.
|
|
4378
|
+
"""
|
|
4379
|
+
rootfs_storage_backend: Annotated[RootfsStorageBackend | None, Field(title="Rootfs Storage Backend")] = None
|
|
4380
|
+
"""
|
|
4381
|
+
Storage backend for rootfs ('sparse-s3' or 'snapshot-store'). If not set, uses default.
|
|
4382
|
+
"""
|
|
4383
|
+
upload_rootfs: Annotated[bool | None, Field(title="Upload Rootfs")] = True
|
|
4384
|
+
"""
|
|
4385
|
+
Upload rootfs to S3/snapshot-store if not already cached. Set to False for one-off VMs.
|
|
4386
|
+
"""
|
|
4327
4387
|
|
|
4328
4388
|
|
|
4329
4389
|
class ExecuteCommandResponse(BaseModel):
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import ChronosModelsAgentAgentVersionsResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -32,7 +32,7 @@ def sync(
|
|
|
32
32
|
client: httpx.Client,
|
|
33
33
|
name: str,
|
|
34
34
|
x_api_key: str | None = None,
|
|
35
|
-
) ->
|
|
35
|
+
) -> ChronosModelsAgentAgentVersionsResponse:
|
|
36
36
|
"""Get all versions of an agent by name."""
|
|
37
37
|
|
|
38
38
|
request_args = _build_request_args(
|
|
@@ -42,14 +42,14 @@ def sync(
|
|
|
42
42
|
|
|
43
43
|
response = client.request(**request_args)
|
|
44
44
|
raise_for_status(response)
|
|
45
|
-
return
|
|
45
|
+
return ChronosModelsAgentAgentVersionsResponse.model_validate(response.json())
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
async def asyncio(
|
|
49
49
|
client: httpx.AsyncClient,
|
|
50
50
|
name: str,
|
|
51
51
|
x_api_key: str | None = None,
|
|
52
|
-
) ->
|
|
52
|
+
) -> ChronosModelsAgentAgentVersionsResponse:
|
|
53
53
|
"""Get all versions of an agent by name."""
|
|
54
54
|
|
|
55
55
|
request_args = _build_request_args(
|
|
@@ -59,4 +59,4 @@ async def asyncio(
|
|
|
59
59
|
|
|
60
60
|
response = await client.request(**request_args)
|
|
61
61
|
raise_for_status(response)
|
|
62
|
-
return
|
|
62
|
+
return ChronosModelsAgentAgentVersionsResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import ChronosModelsAgentAgentListResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -30,7 +30,7 @@ def _build_request_args(
|
|
|
30
30
|
def sync(
|
|
31
31
|
client: httpx.Client,
|
|
32
32
|
x_api_key: str | None = None,
|
|
33
|
-
) ->
|
|
33
|
+
) -> ChronosModelsAgentAgentListResponse:
|
|
34
34
|
"""List all agents for the org."""
|
|
35
35
|
|
|
36
36
|
request_args = _build_request_args(
|
|
@@ -39,13 +39,13 @@ def sync(
|
|
|
39
39
|
|
|
40
40
|
response = client.request(**request_args)
|
|
41
41
|
raise_for_status(response)
|
|
42
|
-
return
|
|
42
|
+
return ChronosModelsAgentAgentListResponse.model_validate(response.json())
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
async def asyncio(
|
|
46
46
|
client: httpx.AsyncClient,
|
|
47
47
|
x_api_key: str | None = None,
|
|
48
|
-
) ->
|
|
48
|
+
) -> ChronosModelsAgentAgentListResponse:
|
|
49
49
|
"""List all agents for the org."""
|
|
50
50
|
|
|
51
51
|
request_args = _build_request_args(
|
|
@@ -54,4 +54,4 @@ async def asyncio(
|
|
|
54
54
|
|
|
55
55
|
response = await client.request(**request_args)
|
|
56
56
|
raise_for_status(response)
|
|
57
|
-
return
|
|
57
|
+
return ChronosModelsAgentAgentListResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import AgentVersionsResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args(
|
|
@@ -25,7 +25,7 @@ def _build_request_args(
|
|
|
25
25
|
def sync(
|
|
26
26
|
client: httpx.Client,
|
|
27
27
|
agent_name: str,
|
|
28
|
-
) ->
|
|
28
|
+
) -> AgentVersionsResponse:
|
|
29
29
|
"""Get versions for an agent from the registry."""
|
|
30
30
|
|
|
31
31
|
request_args = _build_request_args(
|
|
@@ -34,13 +34,13 @@ def sync(
|
|
|
34
34
|
|
|
35
35
|
response = client.request(**request_args)
|
|
36
36
|
raise_for_status(response)
|
|
37
|
-
return
|
|
37
|
+
return AgentVersionsResponse.model_validate(response.json())
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
async def asyncio(
|
|
41
41
|
client: httpx.AsyncClient,
|
|
42
42
|
agent_name: str,
|
|
43
|
-
) ->
|
|
43
|
+
) -> AgentVersionsResponse:
|
|
44
44
|
"""Get versions for an agent from the registry."""
|
|
45
45
|
|
|
46
46
|
request_args = _build_request_args(
|
|
@@ -49,4 +49,4 @@ async def asyncio(
|
|
|
49
49
|
|
|
50
50
|
response = await client.request(**request_args)
|
|
51
51
|
raise_for_status(response)
|
|
52
|
-
return
|
|
52
|
+
return AgentVersionsResponse.model_validate(response.json())
|
|
@@ -7,7 +7,7 @@ from typing import Any
|
|
|
7
7
|
import httpx
|
|
8
8
|
|
|
9
9
|
from plato.chronos.errors import raise_for_status
|
|
10
|
-
from plato.chronos.models import
|
|
10
|
+
from plato.chronos.models import AgentListResponse
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def _build_request_args() -> dict[str, Any]:
|
|
@@ -22,23 +22,23 @@ def _build_request_args() -> dict[str, Any]:
|
|
|
22
22
|
|
|
23
23
|
def sync(
|
|
24
24
|
client: httpx.Client,
|
|
25
|
-
) ->
|
|
25
|
+
) -> AgentListResponse:
|
|
26
26
|
"""List all agents from the registry with their ECR image URIs."""
|
|
27
27
|
|
|
28
28
|
request_args = _build_request_args()
|
|
29
29
|
|
|
30
30
|
response = client.request(**request_args)
|
|
31
31
|
raise_for_status(response)
|
|
32
|
-
return
|
|
32
|
+
return AgentListResponse.model_validate(response.json())
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
async def asyncio(
|
|
36
36
|
client: httpx.AsyncClient,
|
|
37
|
-
) ->
|
|
37
|
+
) -> AgentListResponse:
|
|
38
38
|
"""List all agents from the registry with their ECR image URIs."""
|
|
39
39
|
|
|
40
40
|
request_args = _build_request_args()
|
|
41
41
|
|
|
42
42
|
response = await client.request(**request_args)
|
|
43
43
|
raise_for_status(response)
|
|
44
|
-
return
|
|
44
|
+
return AgentListResponse.model_validate(response.json())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
3
|
-
# timestamp: 2026-01-
|
|
2
|
+
# filename: tmpi9d4hw2u.json
|
|
3
|
+
# timestamp: 2026-01-29T22:45:54+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -30,6 +30,13 @@ class AgentInfo(BaseModel):
|
|
|
30
30
|
image_uri: Annotated[str, Field(title="Image Uri")]
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
class AgentListResponse(BaseModel):
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
extra="allow",
|
|
36
|
+
)
|
|
37
|
+
agents: Annotated[list[AgentInfo], Field(title="Agents")]
|
|
38
|
+
|
|
39
|
+
|
|
33
40
|
class AgentLookupResponse(BaseModel):
|
|
34
41
|
model_config = ConfigDict(
|
|
35
42
|
extra="allow",
|
|
@@ -71,14 +78,6 @@ class AgentVersionInfo(BaseModel):
|
|
|
71
78
|
created_at: Annotated[AwareDatetime, Field(title="Created At")]
|
|
72
79
|
|
|
73
80
|
|
|
74
|
-
class AgentVersionsResponse(BaseModel):
|
|
75
|
-
model_config = ConfigDict(
|
|
76
|
-
extra="allow",
|
|
77
|
-
)
|
|
78
|
-
name: Annotated[str, Field(title="Name")]
|
|
79
|
-
versions: Annotated[list[AgentVersionInfo], Field(title="Versions")]
|
|
80
|
-
|
|
81
|
-
|
|
82
81
|
class AuthStatusResponse(BaseModel):
|
|
83
82
|
model_config = ConfigDict(
|
|
84
83
|
extra="allow",
|
|
@@ -566,13 +565,6 @@ class WorldVersionsResponse(BaseModel):
|
|
|
566
565
|
versions: Annotated[list[str], Field(title="Versions")]
|
|
567
566
|
|
|
568
567
|
|
|
569
|
-
class ChronosApiRegistryAgentListResponse(BaseModel):
|
|
570
|
-
model_config = ConfigDict(
|
|
571
|
-
extra="allow",
|
|
572
|
-
)
|
|
573
|
-
agents: Annotated[list[AgentInfo], Field(title="Agents")]
|
|
574
|
-
|
|
575
|
-
|
|
576
568
|
class ChronosApiRegistryAgentSchemaResponse(BaseModel):
|
|
577
569
|
model_config = ConfigDict(
|
|
578
570
|
extra="allow",
|
|
@@ -592,12 +584,19 @@ class ChronosApiRegistryAgentVersionInfo(BaseModel):
|
|
|
592
584
|
created_at: Annotated[str | None, Field(title="Created At")] = None
|
|
593
585
|
|
|
594
586
|
|
|
595
|
-
class
|
|
587
|
+
class ChronosModelsAgentAgentListResponse(BaseModel):
|
|
588
|
+
model_config = ConfigDict(
|
|
589
|
+
extra="allow",
|
|
590
|
+
)
|
|
591
|
+
agents: Annotated[list[AgentResponse], Field(title="Agents")]
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
class ChronosModelsAgentAgentVersionsResponse(BaseModel):
|
|
596
595
|
model_config = ConfigDict(
|
|
597
596
|
extra="allow",
|
|
598
597
|
)
|
|
599
598
|
name: Annotated[str, Field(title="Name")]
|
|
600
|
-
versions: Annotated[list[
|
|
599
|
+
versions: Annotated[list[AgentVersionInfo], Field(title="Versions")]
|
|
601
600
|
|
|
602
601
|
|
|
603
602
|
class ChronosModelsSessionWorldInfo(BaseModel):
|
|
@@ -610,11 +609,12 @@ class ChronosModelsSessionWorldInfo(BaseModel):
|
|
|
610
609
|
config_schema: Annotated[dict[str, Any] | None, Field(title="Config Schema")] = None
|
|
611
610
|
|
|
612
611
|
|
|
613
|
-
class
|
|
612
|
+
class AgentVersionsResponse(BaseModel):
|
|
614
613
|
model_config = ConfigDict(
|
|
615
614
|
extra="allow",
|
|
616
615
|
)
|
|
617
|
-
|
|
616
|
+
name: Annotated[str, Field(title="Name")]
|
|
617
|
+
versions: Annotated[list[ChronosApiRegistryAgentVersionInfo], Field(title="Versions")]
|
|
618
618
|
|
|
619
619
|
|
|
620
620
|
class CreatorsListResponse(BaseModel):
|
|
@@ -23,6 +23,8 @@ if TYPE_CHECKING:
|
|
|
23
23
|
|
|
24
24
|
from plato._generated.api.v2.jobs import get_flows as jobs_get_flows
|
|
25
25
|
from plato._generated.api.v2.jobs import public_url as jobs_public_url
|
|
26
|
+
from plato._generated.api.v2.jobs import wait_for_ready as jobs_wait_for_ready
|
|
27
|
+
from plato._generated.api.v2.sessions import add_job as sessions_add_job
|
|
26
28
|
from plato._generated.api.v2.sessions import close as sessions_close
|
|
27
29
|
from plato._generated.api.v2.sessions import connect_network as sessions_connect_network
|
|
28
30
|
from plato._generated.api.v2.sessions import disk_snapshot as sessions_disk_snapshot
|
|
@@ -31,6 +33,7 @@ from plato._generated.api.v2.sessions import execute as sessions_execute
|
|
|
31
33
|
from plato._generated.api.v2.sessions import get_public_url as sessions_get_public_url
|
|
32
34
|
from plato._generated.api.v2.sessions import heartbeat as sessions_heartbeat
|
|
33
35
|
from plato._generated.api.v2.sessions import make as sessions_make
|
|
36
|
+
from plato._generated.api.v2.sessions import remove_job as sessions_remove_job
|
|
34
37
|
from plato._generated.api.v2.sessions import reset as sessions_reset
|
|
35
38
|
from plato._generated.api.v2.sessions import set_date as sessions_set_date
|
|
36
39
|
from plato._generated.api.v2.sessions import setup_sandbox as sessions_setup_sandbox
|
|
@@ -39,6 +42,7 @@ from plato._generated.api.v2.sessions import snapshot_store as sessions_snapshot
|
|
|
39
42
|
from plato._generated.api.v2.sessions import state as sessions_state
|
|
40
43
|
from plato._generated.api.v2.sessions import wait_for_ready as sessions_wait_for_ready
|
|
41
44
|
from plato._generated.models import (
|
|
45
|
+
AddJobRequest,
|
|
42
46
|
AppApiV2SchemasSessionCreateSnapshotRequest,
|
|
43
47
|
AppApiV2SchemasSessionCreateSnapshotResponse,
|
|
44
48
|
AppApiV2SchemasSessionEvaluateResponse,
|
|
@@ -49,10 +53,12 @@ from plato._generated.models import (
|
|
|
49
53
|
CreateDiskSnapshotResponse,
|
|
50
54
|
CreateSessionFromEnvs,
|
|
51
55
|
CreateSessionFromTask,
|
|
56
|
+
EnvironmentContext,
|
|
52
57
|
Envs,
|
|
53
58
|
ExecuteCommandRequest,
|
|
54
59
|
ExecuteCommandResponse,
|
|
55
60
|
Flow,
|
|
61
|
+
RemoveJobRequest,
|
|
56
62
|
ResetSessionRequest,
|
|
57
63
|
ResetSessionResponse,
|
|
58
64
|
RunSessionSource,
|
|
@@ -780,6 +786,158 @@ class Session:
|
|
|
780
786
|
|
|
781
787
|
return result
|
|
782
788
|
|
|
789
|
+
async def add_env(
|
|
790
|
+
self,
|
|
791
|
+
env: EnvFromSimulator | EnvFromArtifact | EnvFromResource,
|
|
792
|
+
*,
|
|
793
|
+
timeout: int = 1800,
|
|
794
|
+
heartbeat_timeout: int | None = None,
|
|
795
|
+
wait_for_ready: bool = True,
|
|
796
|
+
) -> Environment:
|
|
797
|
+
"""Add a new environment to this session.
|
|
798
|
+
|
|
799
|
+
The new environment will:
|
|
800
|
+
1. Become part of the session's job group
|
|
801
|
+
2. Be matched to an available VM via the resource matcher
|
|
802
|
+
3. Automatically join the session's WireGuard network if one exists
|
|
803
|
+
|
|
804
|
+
Args:
|
|
805
|
+
env: Environment configuration (from Env.simulator(), Env.artifact(), or Env.resource()).
|
|
806
|
+
timeout: VM timeout in seconds (default: 1800).
|
|
807
|
+
heartbeat_timeout: Per-VM heartbeat timeout. None=use default (300s), 0=disabled.
|
|
808
|
+
wait_for_ready: If True, wait for the job to be ready before returning (default: True).
|
|
809
|
+
|
|
810
|
+
Returns:
|
|
811
|
+
Environment object for the new job.
|
|
812
|
+
|
|
813
|
+
Raises:
|
|
814
|
+
RuntimeError: If session is closed or job creation fails.
|
|
815
|
+
TimeoutError: If wait_for_ready=True and the job doesn't become ready within timeout.
|
|
816
|
+
"""
|
|
817
|
+
self._check_closed()
|
|
818
|
+
|
|
819
|
+
# Auto-generate alias if not set
|
|
820
|
+
if env.alias is None:
|
|
821
|
+
existing_aliases = {e.alias for e in self.envs}
|
|
822
|
+
unique_alias = f"env-{uuid.uuid4().hex[:8]}"
|
|
823
|
+
while unique_alias in existing_aliases:
|
|
824
|
+
unique_alias = f"env-{uuid.uuid4().hex[:8]}"
|
|
825
|
+
env.alias = unique_alias
|
|
826
|
+
|
|
827
|
+
# Build request
|
|
828
|
+
request = AddJobRequest(
|
|
829
|
+
env=env,
|
|
830
|
+
timeout=timeout,
|
|
831
|
+
heartbeat_timeout=heartbeat_timeout,
|
|
832
|
+
)
|
|
833
|
+
|
|
834
|
+
# Call the add_job API
|
|
835
|
+
response = await sessions_add_job.asyncio(
|
|
836
|
+
client=self._http,
|
|
837
|
+
session_id=self.session_id,
|
|
838
|
+
body=request,
|
|
839
|
+
x_api_key=self._api_key,
|
|
840
|
+
)
|
|
841
|
+
|
|
842
|
+
# Check for failures
|
|
843
|
+
if not response.env.success:
|
|
844
|
+
raise RuntimeError(f"Failed to add job: {response.env.error}")
|
|
845
|
+
|
|
846
|
+
if not response.env.job_id:
|
|
847
|
+
raise RuntimeError("Backend did not return job_id for new environment")
|
|
848
|
+
|
|
849
|
+
job_id = response.env.job_id
|
|
850
|
+
|
|
851
|
+
# Wait for the job to be ready if requested
|
|
852
|
+
if wait_for_ready:
|
|
853
|
+
ready_response = await jobs_wait_for_ready.asyncio(
|
|
854
|
+
client=self._http,
|
|
855
|
+
job_id=job_id,
|
|
856
|
+
timeout=timeout,
|
|
857
|
+
x_api_key=self._api_key,
|
|
858
|
+
)
|
|
859
|
+
|
|
860
|
+
if not ready_response.ready:
|
|
861
|
+
error = ready_response.error or "Unknown error"
|
|
862
|
+
raise TimeoutError(f"Job {job_id} did not become ready: {error}")
|
|
863
|
+
|
|
864
|
+
# Update internal context with the new environment
|
|
865
|
+
new_env_context = EnvironmentContext(
|
|
866
|
+
job_id=job_id,
|
|
867
|
+
alias=env.alias,
|
|
868
|
+
artifact_id=response.env.artifact_id,
|
|
869
|
+
simulator=getattr(env, "simulator", None),
|
|
870
|
+
)
|
|
871
|
+
|
|
872
|
+
# Add to context's envs list
|
|
873
|
+
if self._context.envs is None:
|
|
874
|
+
self._context.envs = []
|
|
875
|
+
self._context.envs.append(new_env_context)
|
|
876
|
+
|
|
877
|
+
# Reset cached envs to force rebuild
|
|
878
|
+
self._envs = None
|
|
879
|
+
|
|
880
|
+
# Create and return the Environment object
|
|
881
|
+
new_environment = Environment(
|
|
882
|
+
session=self,
|
|
883
|
+
job_id=job_id,
|
|
884
|
+
alias=env.alias,
|
|
885
|
+
artifact_id=response.env.artifact_id,
|
|
886
|
+
)
|
|
887
|
+
|
|
888
|
+
logger.info(f"Added job {job_id} (alias={env.alias}) to session {self.session_id}")
|
|
889
|
+
return new_environment
|
|
890
|
+
|
|
891
|
+
async def remove_env(self, env: Environment | str) -> None:
|
|
892
|
+
"""Remove an environment from this session.
|
|
893
|
+
|
|
894
|
+
This will:
|
|
895
|
+
1. Remove the job from the session's network (if connected)
|
|
896
|
+
2. Shut down the VM associated with the job
|
|
897
|
+
3. Cancel the job in the system
|
|
898
|
+
|
|
899
|
+
Args:
|
|
900
|
+
env: Environment object or alias string to remove.
|
|
901
|
+
|
|
902
|
+
Raises:
|
|
903
|
+
RuntimeError: If session is closed or removal fails.
|
|
904
|
+
ValueError: If environment not found in session.
|
|
905
|
+
"""
|
|
906
|
+
self._check_closed()
|
|
907
|
+
|
|
908
|
+
# Resolve to job_id
|
|
909
|
+
if isinstance(env, str):
|
|
910
|
+
# Find by alias
|
|
911
|
+
found_env = self.get_env(env)
|
|
912
|
+
if not found_env:
|
|
913
|
+
raise ValueError(f"Environment with alias '{env}' not found in session")
|
|
914
|
+
job_id = found_env.job_id
|
|
915
|
+
alias = env
|
|
916
|
+
else:
|
|
917
|
+
job_id = env.job_id
|
|
918
|
+
alias = env.alias
|
|
919
|
+
|
|
920
|
+
# Call the remove_job API
|
|
921
|
+
request = RemoveJobRequest(job_id=job_id)
|
|
922
|
+
response = await sessions_remove_job.asyncio(
|
|
923
|
+
client=self._http,
|
|
924
|
+
session_id=self.session_id,
|
|
925
|
+
body=request,
|
|
926
|
+
x_api_key=self._api_key,
|
|
927
|
+
)
|
|
928
|
+
|
|
929
|
+
if not response.success:
|
|
930
|
+
raise RuntimeError(f"Failed to remove job {job_id}")
|
|
931
|
+
|
|
932
|
+
# Update internal context - remove the environment
|
|
933
|
+
if self._context.envs:
|
|
934
|
+
self._context.envs = [e for e in self._context.envs if e.job_id != job_id]
|
|
935
|
+
|
|
936
|
+
# Reset cached envs to force rebuild
|
|
937
|
+
self._envs = None
|
|
938
|
+
|
|
939
|
+
logger.info(f"Removed job {job_id} (alias={alias}) from session {self.session_id}")
|
|
940
|
+
|
|
783
941
|
async def cleanup_databases(self) -> SessionCleanupResult:
|
|
784
942
|
"""Clean up database audit logs for all environments.
|
|
785
943
|
|