plato-sdk-v2 2.3.11__tar.gz → 2.6.1__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.3.11 → plato_sdk_v2-2.6.1}/PKG-INFO +1 -1
- plato_sdk_v2-2.6.1/VERSION +1 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/__init__.py +1 -1
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/get_scores_by_user.py +7 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_testcases.py +14 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/setup_sandbox.py +2 -2
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/models/__init__.py +42 -2
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/config.py +14 -6
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/otel.py +16 -3
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/runner.py +68 -30
- plato_sdk_v2-2.6.1/plato/chronos/api/admin/__init__.py +17 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/admin/clear_database_api_admin_clear_db_post.py +57 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/admin/sync_agents_api_admin_sync_agents_post.py +67 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/admin/sync_all_api_admin_sync_all_post.py +67 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/admin/sync_runtimes_api_admin_sync_runtimes_post.py +67 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/admin/sync_worlds_api_admin_sync_worlds_post.py +67 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/list_agents.py +5 -5
- plato_sdk_v2-2.6.1/plato/chronos/api/checkpoints/__init__.py +8 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/checkpoints/list_checkpoints.py +52 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/checkpoints/preview_checkpoint.py +74 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/events/__init__.py +8 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/events/get_session_event.py +68 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/events/list_session_events.py +62 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/jobs/launch_job.py +8 -2
- plato_sdk_v2-2.6.1/plato/chronos/api/otel/__init__.py +8 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/otel/get_session_traces_api_otel_sessions__session_id__traces_get.py +56 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/otel/receive_traces_api_otel_v1_traces_post.py +49 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/list_registry_agents_api_registry_agents_get.py +5 -5
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/runtimes/__init__.py +2 -1
- plato_sdk_v2-2.6.1/plato/chronos/api/runtimes/get_runtime_logs.py +61 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/__init__.py +33 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/close_session.py +66 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/complete_session.py +74 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/create_session.py +69 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/get_session.py +80 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/get_session_bash_logs_download.py +61 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/get_session_envs.py +62 -0
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/get_session_live_logs.py +62 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/sessions/get_session_logs.py +3 -3
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/get_session_status.py +62 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/sessions/list_sessions.py +20 -2
- plato_sdk_v2-2.6.1/plato/chronos/api/sessions/list_tags.py +80 -0
- plato_sdk_v2-2.3.11/plato/chronos/api/sessions/get_session.py → plato_sdk_v2-2.6.1/plato/chronos/api/sessions/update_session_tags.py +12 -6
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/models/__init__.py +241 -196
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/agent.py +7 -7
- plato_sdk_v2-2.6.1/plato/v1/cli/chronos.py +829 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/sandbox.py +47 -1
- plato_sdk_v2-2.6.1/plato/v1/cli/templates/world-runner.Dockerfile +27 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/world.py +10 -43
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/__init__.py +8 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/async_/__init__.py +4 -0
- plato_sdk_v2-2.6.1/plato/v2/async_/chronos.py +419 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/sync/__init__.py +3 -0
- plato_sdk_v2-2.6.1/plato/v2/sync/chronos.py +419 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/worlds/__init__.py +12 -1
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/worlds/base.py +78 -3
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/worlds/config.py +58 -17
- plato_sdk_v2-2.6.1/plato/worlds/runner.py +142 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/test_code_world.py +4 -5
- plato_sdk_v2-2.3.11/VERSION +0 -1
- plato_sdk_v2-2.3.11/plato/chronos/api/sessions/__init__.py +0 -10
- plato_sdk_v2-2.3.11/plato/v1/cli/chronos.py +0 -219
- plato_sdk_v2-2.3.11/plato/worlds/runner.py +0 -599
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/.claude/agents/sim-creator.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/.gitignore +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/BUILDING_SIMS.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/README.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/ci/CLAUDE.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/ci/deploy.sh +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/ci/lint.sh +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/ci/setup.sh +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/ci/version-bump.sh +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/AGENT_SPEC.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/CLI.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/GENERATING_SIM_SDKS.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/SIMULATOR_LIFECYCLE.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/SIM_CREATOR.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/cli/agent.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/cli/flows.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/cli/pm.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/cli/sandbox.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/cli/sims.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/cli/world.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/sim-creation-pipeline.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skill-restructure-plan.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/SIM-CREATION-ARCHITECTURE.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-config/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-creator/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-debugger/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-flow-audit/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-flow-clear/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-flow-mutations/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-flow-run/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-research/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-review/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-sandbox-login/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-sandbox-services/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-sandbox-start/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-sandbox-worker/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-snapshot/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-submit/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/skills/sim-validate/SKILL.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/testcommit +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/docs/unit.sh +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/agent_artifacts/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/agent_artifacts/archive_agent_artifact.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/agent_artifacts/create_agent_artifact.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/agent_artifacts/get_agent_artifact_by_public_id.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/agent_artifacts/get_agent_artifacts.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/cleanup_stale_vms.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/get_dispatchers.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/get_nodes_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/get_snapshot_lineage.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/get_snapshots_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/pause_resume_dispatchers.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/cluster/prefetch_snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/backup.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/cleanup.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/close.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/close_async.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/create.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/create_batch.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/create_simulator.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/evaluate_session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/generate_mutations.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/generate_mutations_single.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_active_session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_app_sim_worker_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_cdp_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_flows.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_interface_worker_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_job_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_job_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_job_worker_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_proxy_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_public_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_simulator_by_name.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_simulators.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_state.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/get_worker_ready.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/log_state_mutation.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/rescore_simulator_sessions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/reset.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/score.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/send_heartbeat.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/env/update_simulator.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/create_test_case_review.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/evaluate_python.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/get_all_test_case_reviews.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/get_scoring.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/get_test_case_review.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/human_in_the_loop_scoring.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/start_eval_from_git.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/create_gitea_repository.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/create_simulator_repository.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/delete_gitea_repository.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_accessible_simulators.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_gitea_credentials.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_gitea_repository.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_my_gitea_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_my_repositories.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_repository_branches.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_repository_contents.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_simulator_file_content.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_simulator_repository.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_simulator_repository_branches.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/gitea/get_simulator_repository_contents.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/jobs/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/jobs/get_job_by_id.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/jobs/get_jobs_by_group_id.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/jobs/get_keepalive_jobs.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/jobs/list_jobs.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/jobs/update_job_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/create_annotator_assignment.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/create_org_api_key.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/create_org_policy.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/delete_org_api_key.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/delete_org_policy.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/get_annotator_assignments.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/get_org_api_key_policies.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/get_org_api_keys.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/get_org_policies.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/get_organization_concurrency_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/get_organization_members.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/update_annotator_assignment_stage.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/organization/update_organization_concurrency_limit.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/queue/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/queue/get_queue_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/queue/get_vm_detail.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/queue/get_vms.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/queue/get_workers.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/checkpoint_vm.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/close_vm.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/create_vm.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/execute_ssh_command.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/get_operation_events.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/healthy_services.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/healthy_worker.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/save_vm_snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/setup_root_access.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/setup_sandbox.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/sandbox/start_worker.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/analyze_labels.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/archive_session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/archive_session_logs_endpoint.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/create_from_labels.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/create_session_from_browser.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/create_session_from_env_recording.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/create_session_from_har.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_env_recording.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_grouped_replay_sessions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_logs_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_network_requests.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_next_session_for_annotator.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_public_benchmark_sessions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_replay_score_data.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_rrweb_actions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_rrweb_events.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_screen_recording.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_session_replays.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_sessions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_sessions_for_archival.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/get_ui_events.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/restore_session_logs.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/score_session_with_config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/search_sessions_by_ids.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/set_session_output.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/update_session_public.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/session/update_session_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/add_simulator_review.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/batch_create_test_cases.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/batch_get_artifact_metadata.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_all_simulators_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_db_config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_env_flows.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_plato_config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_sessions_batch_by_job_groups.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_sessions_by_job_group.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_simulator_by_name.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_simulator_id.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_simulator_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_simulator_version_details.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_simulator_versions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_start_path.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/get_version_by_tag.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/list_simulators.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/list_simulators_by_org.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/list_simulators_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/register.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/update_simulator.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/update_simulator_status.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/simulator/update_tag.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/archive_organization_test_case_assignments.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/archive_organization_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/archive_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/assign_testcase_to_organizations.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/auto_verify_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/bulk_archive_testcases.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/convert_text_to_structured_data.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/create_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/create_testcase_set.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/delete_testcase_set.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/filter_human_recorder_testcases.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/generate_outcome_schema.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/generate_prediction.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/generate_prediction_from_steps.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/generate_scoring_config_from_sessions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/generate_state_mutations_config_route.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_human_recorder_tab_counts.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_human_recorder_testcases.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_merged_mutations.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_mutation_groups_for_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_next_testcase_for_scoring.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_organization_test_case_assignments.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_testcase_metadata_for_scoring.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_testcase_sets.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_testcases_in_set.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/mark_organization_test_case_completed.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/update_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/version_bump_testcase.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/get_agent_ecr_token.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/get_agent_schema.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/get_agent_versions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/import_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/list_docker_agents.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/lookup_agent_version.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/agents/register_docker_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/artifacts/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/artifacts/get_artifact.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos/launch_job.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos_packages/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos_packages/get_package_versions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos_packages/list_chronos_packages.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos_packages/lookup_package_version.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos_packages/register_chronos_package.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/chronos_packages/upload_chronos_package.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/cluster/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/cluster/get_node_config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/checkpoint.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/close.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/connect_routing_info.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/connect_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/disk_snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/execute.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/get_flows.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/get_plato_config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/log_for_job.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/make.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/public_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/reset.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/set_date.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/setup_sandbox.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/snapshot_store.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/state.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/jobs/wait_for_ready.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/pypi/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/pypi/download_package.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/pypi/get_package_schema.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/pypi/package_index.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/pypi/simple_index.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/pypi/upload_package.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/create.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/deploy.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/handle_get_existing_public_ids.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/handle_import.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/list_releases.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/prep_release_assigned_testcases.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/releases/update.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/checkpoint.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/close.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/disk_snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/evaluate.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/execute.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_connect_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_presigned_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_public_url.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_s3_content.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_session_details.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_session_documents.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_session_flows.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_session_logs.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/get_session_plato_config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/heartbeat.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/list_jobs.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/list_sessions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/log_job_mutation.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/make.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/reset.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/set_date.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/snapshot_store.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/state.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/upload_session_documents.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/wait_for_ready.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/user/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/user/get_current_user.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/version/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/version/check.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/client.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/errors.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/py.typed +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/cli.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/instruction.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/parser.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/python.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/instruction/helpers.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/instruction/init.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/api_init.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/client.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/endpoint.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/errors.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/package_init.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/tag_init.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_sims_generator/templates/python/version_init.py.jinja +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/artifacts.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/base.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/build.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/agents/trajectory.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/create_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/delete_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/get_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/get_agent_schema.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/get_agent_versions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/agents/lookup_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/auth/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/auth/debug_auth_api_auth_debug_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/auth/get_auth_status_api_auth_status_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/auth/get_current_user_route_api_auth_me_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/default/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/default/health.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/jobs/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/get_agent_schema_api_registry_agents__agent_name__schema_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/get_agent_versions_api_registry_agents__agent_name__versions_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/get_world_schema_api_registry_worlds__package_name__schema_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/get_world_versions_api_registry_worlds__package_name__versions_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/registry/list_registry_worlds_api_registry_worlds_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/runtimes/create_runtime.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/runtimes/delete_runtime.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/runtimes/get_runtime.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/runtimes/list_runtimes.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/runtimes/test_runtime.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/secrets/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/secrets/create_secret.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/secrets/delete_secret.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/secrets/get_secret.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/secrets/list_secrets.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/secrets/update_secret.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/sessions/get_session_logs_download.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/status/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/status/get_status_api_status_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/status/get_version_info_api_version_get.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/templates/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/templates/create_template.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/templates/delete_template.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/templates/get_template.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/templates/list_templates.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/templates/update_template.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/trajectories/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/trajectories/get_trajectory.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/trajectories/list_trajectories.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/worlds/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/worlds/create_world.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/worlds/delete_world.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/worlds/get_world.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/api/worlds/list_worlds.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/client.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/errors.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/chronos/py.typed +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/py.typed +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/sims/README.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/sims/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/sims/agent_helpers.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/sims/cli.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/sims/generate_clients.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/sims/registry.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/audit_ui.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/main.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/pm.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/ssh.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/utils.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli/verify.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/cli.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/config.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/doordash_tasks.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/loadtest.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/test_env.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/test_env_custom_browser.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/test_env_sync.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/test_reuse_env.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/examples/test_run.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/exceptions.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/README.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/api-client.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/background.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/build-sdk.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/content.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/manifest.json +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/offscreen.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/offscreen.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/options.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/options.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/package-lock.json +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/package.json +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/plato-sdk-bundle.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/plato-sdk-bundle.js.map +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/popup.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/popup.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/review-panel.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/review-panel.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/review-success.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/review-success.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/session-active.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/session-active.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/session-ended.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/session-ended.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/session-setup.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/session-setup.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/sessions.html +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/sessions.js +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/extensions/envgen-recorder/styles.css +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/flow_executor.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/models/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/models/build_models.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/models/env.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/models/flow.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/models/sandbox.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/models/task.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/sandbox_sdk.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/sdk.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/sync_env.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/sync_flow_executor.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/sync_sdk.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v1/utils/proxytunnel.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/async_/artifact.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/async_/client.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/async_/environment.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/async_/flow_executor.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/async_/session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/models.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/sync/artifact.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/sync/client.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/sync/environment.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/sync/flow_executor.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/sync/session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/types.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/utils/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/utils/db_cleanup.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/utils/models.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/v2/utils/proxy_tunnel.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/worlds/README.md +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/worlds/build_hook.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/pyproject.toml +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/scripts/get_all_artifact_targets.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/conftest.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/test_browser_agent.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/test_chronos_callback.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/test_cleanup_snapshot.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/integration/test_harbor_agent_runner.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/sims/__init__.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/sims/conftest.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/sims/test_agent_helpers.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_heartbeat_keepalive.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_session_serialization.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_set_date.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_v2_imports.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_v2_multisim_integration.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_v2_session.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/tests/test_version.py +0 -0
- {plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.6.1
|
{plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/evals/get_scores_by_user.py
RENAMED
|
@@ -15,6 +15,7 @@ def _build_request_args(
|
|
|
15
15
|
page_size: int | None = None,
|
|
16
16
|
days: float | None = None,
|
|
17
17
|
include_human_results: bool | None = False,
|
|
18
|
+
date: str | None = None,
|
|
18
19
|
authorization: str | None = None,
|
|
19
20
|
x_api_key: str | None = None,
|
|
20
21
|
) -> dict[str, Any]:
|
|
@@ -32,6 +33,8 @@ def _build_request_args(
|
|
|
32
33
|
params["days"] = days
|
|
33
34
|
if include_human_results is not None:
|
|
34
35
|
params["include_human_results"] = include_human_results
|
|
36
|
+
if date is not None:
|
|
37
|
+
params["date"] = date
|
|
35
38
|
|
|
36
39
|
headers: dict[str, str] = {}
|
|
37
40
|
if authorization is not None:
|
|
@@ -54,6 +57,7 @@ def sync(
|
|
|
54
57
|
page_size: int | None = None,
|
|
55
58
|
days: float | None = None,
|
|
56
59
|
include_human_results: bool | None = False,
|
|
60
|
+
date: str | None = None,
|
|
57
61
|
authorization: str | None = None,
|
|
58
62
|
x_api_key: str | None = None,
|
|
59
63
|
) -> Any:
|
|
@@ -65,6 +69,7 @@ def sync(
|
|
|
65
69
|
page_size=page_size,
|
|
66
70
|
days=days,
|
|
67
71
|
include_human_results=include_human_results,
|
|
72
|
+
date=date,
|
|
68
73
|
authorization=authorization,
|
|
69
74
|
x_api_key=x_api_key,
|
|
70
75
|
)
|
|
@@ -81,6 +86,7 @@ async def asyncio(
|
|
|
81
86
|
page_size: int | None = None,
|
|
82
87
|
days: float | None = None,
|
|
83
88
|
include_human_results: bool | None = False,
|
|
89
|
+
date: str | None = None,
|
|
84
90
|
authorization: str | None = None,
|
|
85
91
|
x_api_key: str | None = None,
|
|
86
92
|
) -> Any:
|
|
@@ -92,6 +98,7 @@ async def asyncio(
|
|
|
92
98
|
page_size=page_size,
|
|
93
99
|
days=days,
|
|
94
100
|
include_human_results=include_human_results,
|
|
101
|
+
date=date,
|
|
95
102
|
authorization=authorization,
|
|
96
103
|
x_api_key=x_api_key,
|
|
97
104
|
)
|
{plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v1/testcases/get_testcases.py
RENAMED
|
@@ -25,6 +25,8 @@ def _build_request_args(
|
|
|
25
25
|
is_sample: bool | None = None,
|
|
26
26
|
rejected: bool | None = None,
|
|
27
27
|
exclude_assigned_to_annotators: bool | None = None,
|
|
28
|
+
workorder: str | None = None,
|
|
29
|
+
infeasible: bool | None = None,
|
|
28
30
|
authorization: str | None = None,
|
|
29
31
|
x_api_key: str | None = None,
|
|
30
32
|
) -> dict[str, Any]:
|
|
@@ -62,6 +64,10 @@ def _build_request_args(
|
|
|
62
64
|
params["rejected"] = rejected
|
|
63
65
|
if exclude_assigned_to_annotators is not None:
|
|
64
66
|
params["exclude_assigned_to_annotators"] = exclude_assigned_to_annotators
|
|
67
|
+
if workorder is not None:
|
|
68
|
+
params["workorder"] = workorder
|
|
69
|
+
if infeasible is not None:
|
|
70
|
+
params["infeasible"] = infeasible
|
|
65
71
|
|
|
66
72
|
headers: dict[str, str] = {}
|
|
67
73
|
if authorization is not None:
|
|
@@ -94,6 +100,8 @@ def sync(
|
|
|
94
100
|
is_sample: bool | None = None,
|
|
95
101
|
rejected: bool | None = None,
|
|
96
102
|
exclude_assigned_to_annotators: bool | None = None,
|
|
103
|
+
workorder: str | None = None,
|
|
104
|
+
infeasible: bool | None = None,
|
|
97
105
|
authorization: str | None = None,
|
|
98
106
|
x_api_key: str | None = None,
|
|
99
107
|
) -> Any:
|
|
@@ -115,6 +123,8 @@ def sync(
|
|
|
115
123
|
is_sample=is_sample,
|
|
116
124
|
rejected=rejected,
|
|
117
125
|
exclude_assigned_to_annotators=exclude_assigned_to_annotators,
|
|
126
|
+
workorder=workorder,
|
|
127
|
+
infeasible=infeasible,
|
|
118
128
|
authorization=authorization,
|
|
119
129
|
x_api_key=x_api_key,
|
|
120
130
|
)
|
|
@@ -141,6 +151,8 @@ async def asyncio(
|
|
|
141
151
|
is_sample: bool | None = None,
|
|
142
152
|
rejected: bool | None = None,
|
|
143
153
|
exclude_assigned_to_annotators: bool | None = None,
|
|
154
|
+
workorder: str | None = None,
|
|
155
|
+
infeasible: bool | None = None,
|
|
144
156
|
authorization: str | None = None,
|
|
145
157
|
x_api_key: str | None = None,
|
|
146
158
|
) -> Any:
|
|
@@ -162,6 +174,8 @@ async def asyncio(
|
|
|
162
174
|
is_sample=is_sample,
|
|
163
175
|
rejected=rejected,
|
|
164
176
|
exclude_assigned_to_annotators=exclude_assigned_to_annotators,
|
|
177
|
+
workorder=workorder,
|
|
178
|
+
infeasible=infeasible,
|
|
165
179
|
authorization=authorization,
|
|
166
180
|
x_api_key=x_api_key,
|
|
167
181
|
)
|
{plato_sdk_v2-2.3.11 → plato_sdk_v2-2.6.1}/plato/_generated/api/v2/sessions/setup_sandbox.py
RENAMED
|
@@ -53,7 +53,7 @@ def sync(
|
|
|
53
53
|
- Mounting /dev/vdb to /mnt/docker for Docker storage
|
|
54
54
|
- Configuring Docker with overlay2 storage driver
|
|
55
55
|
- Setting up ECR and Docker Hub authentication
|
|
56
|
-
-
|
|
56
|
+
- Adding plato user to docker group for shared Docker access"""
|
|
57
57
|
|
|
58
58
|
request_args = _build_request_args(
|
|
59
59
|
session_id=session_id,
|
|
@@ -84,7 +84,7 @@ async def asyncio(
|
|
|
84
84
|
- Mounting /dev/vdb to /mnt/docker for Docker storage
|
|
85
85
|
- Configuring Docker with overlay2 storage driver
|
|
86
86
|
- Setting up ECR and Docker Hub authentication
|
|
87
|
-
-
|
|
87
|
+
- Adding plato user to docker group for shared Docker access"""
|
|
88
88
|
|
|
89
89
|
request_args = _build_request_args(
|
|
90
90
|
session_id=session_id,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
3
|
-
# timestamp: 2026-01-
|
|
2
|
+
# filename: tmppwt3ublb.json
|
|
3
|
+
# timestamp: 2026-01-23T22:08:30+00:00
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
@@ -840,6 +840,14 @@ class CreateSnapshotResult(BaseModel):
|
|
|
840
840
|
"""
|
|
841
841
|
ID of the created snapshot artifact
|
|
842
842
|
"""
|
|
843
|
+
success: Annotated[bool | None, Field(title="Success")] = True
|
|
844
|
+
"""
|
|
845
|
+
Whether snapshot creation succeeded
|
|
846
|
+
"""
|
|
847
|
+
error: Annotated[str | None, Field(title="Error")] = None
|
|
848
|
+
"""
|
|
849
|
+
Error message if failed
|
|
850
|
+
"""
|
|
843
851
|
|
|
844
852
|
|
|
845
853
|
class CreateTestCaseFromLabelsRequest(BaseModel):
|
|
@@ -1714,6 +1722,20 @@ class NodeNatsConfig(BaseModel):
|
|
|
1714
1722
|
subject_prefix: Annotated[str | None, Field(title="Subject Prefix")] = "firecracker"
|
|
1715
1723
|
|
|
1716
1724
|
|
|
1725
|
+
class NodeNebulaConfig(BaseModel):
|
|
1726
|
+
model_config = ConfigDict(
|
|
1727
|
+
extra="allow",
|
|
1728
|
+
)
|
|
1729
|
+
lighthouse_upstream: Annotated[str | None, Field(title="Lighthouse Upstream")] = "100.64.1.1:4242"
|
|
1730
|
+
"""
|
|
1731
|
+
Nebula lighthouse upstream address (host:port) for mesh connectivity.
|
|
1732
|
+
"""
|
|
1733
|
+
lighthouse_ip: Annotated[str | None, Field(title="Lighthouse Ip")] = "100.64.1.1"
|
|
1734
|
+
"""
|
|
1735
|
+
Nebula lighthouse mesh IP address.
|
|
1736
|
+
"""
|
|
1737
|
+
|
|
1738
|
+
|
|
1717
1739
|
class NodePolicyConfig(BaseModel):
|
|
1718
1740
|
model_config = ConfigDict(
|
|
1719
1741
|
extra="allow",
|
|
@@ -1808,6 +1830,10 @@ class NodeSnapshotStoreConfig(BaseModel):
|
|
|
1808
1830
|
"""
|
|
1809
1831
|
Worker threads for snapshot-store compression.
|
|
1810
1832
|
"""
|
|
1833
|
+
upload_workers: Annotated[int | None, Field(title="Upload Workers")] = 6
|
|
1834
|
+
"""
|
|
1835
|
+
Number of concurrent snapshot upload jobs.
|
|
1836
|
+
"""
|
|
1811
1837
|
upload_max_attempts: Annotated[int | None, Field(title="Upload Max Attempts")] = 3
|
|
1812
1838
|
"""
|
|
1813
1839
|
Max upload attempts for snapshot-store uploads.
|
|
@@ -1846,6 +1872,12 @@ class NodeStreamConfig(BaseModel):
|
|
|
1846
1872
|
resource_matcher_key_prefix: Annotated[str | None, Field(title="Resource Matcher Key Prefix")] = (
|
|
1847
1873
|
"vm-resource-matcher"
|
|
1848
1874
|
)
|
|
1875
|
+
artifact_upload_notification_channel: Annotated[str | None, Field(title="Artifact Upload Notification Channel")] = (
|
|
1876
|
+
"artifact-upload-notifications"
|
|
1877
|
+
)
|
|
1878
|
+
"""
|
|
1879
|
+
Pubsub channel for artifact upload status updates.
|
|
1880
|
+
"""
|
|
1849
1881
|
|
|
1850
1882
|
|
|
1851
1883
|
class OODRequestLogInput(BaseModel):
|
|
@@ -4358,6 +4390,10 @@ class NodeConfig(BaseModel):
|
|
|
4358
4390
|
"""
|
|
4359
4391
|
Build configuration including SSH keys for VMs
|
|
4360
4392
|
"""
|
|
4393
|
+
nebula: NodeNebulaConfig | None = None
|
|
4394
|
+
"""
|
|
4395
|
+
Nebula mesh VPN configuration for lighthouse connectivity
|
|
4396
|
+
"""
|
|
4361
4397
|
|
|
4362
4398
|
|
|
4363
4399
|
class QueueStatusResponse(BaseModel):
|
|
@@ -4501,6 +4537,8 @@ class TestCaseCreateRequest(BaseModel):
|
|
|
4501
4537
|
simulatorId: Annotated[int | None, Field(title="Simulatorid")] = None
|
|
4502
4538
|
simulatorArtifactId: Annotated[str | None, Field(title="Simulatorartifactid")] = None
|
|
4503
4539
|
simulatorArtifactIds: Annotated[list[str] | None, Field(title="Simulatorartifactids")] = None
|
|
4540
|
+
workorder: Annotated[str | None, Field(title="Workorder")] = None
|
|
4541
|
+
infeasible: Annotated[bool | None, Field(title="Infeasible")] = None
|
|
4504
4542
|
|
|
4505
4543
|
|
|
4506
4544
|
class TestCaseUpdateRequest(BaseModel):
|
|
@@ -4525,6 +4563,8 @@ class TestCaseUpdateRequest(BaseModel):
|
|
|
4525
4563
|
simulatorArtifactId: Annotated[str | None, Field(title="Simulatorartifactid")] = None
|
|
4526
4564
|
simulatorArtifactIds: Annotated[list[str] | None, Field(title="Simulatorartifactids")] = None
|
|
4527
4565
|
mutationIgnoreConfig: DatabaseIgnoreConfig | None = None
|
|
4566
|
+
workorder: Annotated[str | None, Field(title="Workorder")] = None
|
|
4567
|
+
infeasible: Annotated[bool | None, Field(title="Infeasible")] = None
|
|
4528
4568
|
|
|
4529
4569
|
|
|
4530
4570
|
class WaitForReadyResponse(BaseModel):
|
|
@@ -18,7 +18,6 @@ Example:
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
20
|
import json
|
|
21
|
-
from pathlib import Path
|
|
22
21
|
from typing import Any
|
|
23
22
|
|
|
24
23
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
@@ -147,9 +146,18 @@ class AgentConfig(BaseSettings):
|
|
|
147
146
|
return result
|
|
148
147
|
|
|
149
148
|
@classmethod
|
|
150
|
-
def
|
|
151
|
-
"""Load config from
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
149
|
+
def from_env(cls) -> AgentConfig:
|
|
150
|
+
"""Load config from AGENT_CONFIG_B64 environment variable.
|
|
151
|
+
|
|
152
|
+
The runner passes config as base64-encoded JSON in the
|
|
153
|
+
AGENT_CONFIG_B64 environment variable.
|
|
154
|
+
"""
|
|
155
|
+
import base64
|
|
156
|
+
import os
|
|
157
|
+
|
|
158
|
+
config_b64 = os.environ.get("AGENT_CONFIG_B64")
|
|
159
|
+
if not config_b64:
|
|
160
|
+
raise ValueError("AGENT_CONFIG_B64 environment variable not set")
|
|
161
|
+
config_json = base64.b64decode(config_b64).decode()
|
|
162
|
+
data = json.loads(config_json)
|
|
155
163
|
return cls(**data)
|
|
@@ -164,8 +164,12 @@ def init_tracing(
|
|
|
164
164
|
_module_logger.error(f"Failed to initialize tracing: {e}")
|
|
165
165
|
|
|
166
166
|
|
|
167
|
-
def shutdown_tracing() -> None:
|
|
168
|
-
"""Shutdown the tracer provider and flush spans.
|
|
167
|
+
def shutdown_tracing(timeout_millis: int = 30000) -> None:
|
|
168
|
+
"""Shutdown the tracer provider and flush spans.
|
|
169
|
+
|
|
170
|
+
Args:
|
|
171
|
+
timeout_millis: Timeout in milliseconds to wait for flush (default 30s)
|
|
172
|
+
"""
|
|
169
173
|
global _tracer_provider, _initialized, _log_handler
|
|
170
174
|
|
|
171
175
|
# Remove log handler
|
|
@@ -179,9 +183,18 @@ def shutdown_tracing() -> None:
|
|
|
179
183
|
|
|
180
184
|
if _tracer_provider:
|
|
181
185
|
try:
|
|
186
|
+
# Force flush all pending spans before shutdown
|
|
187
|
+
print(f"[OTel] Flushing spans (timeout={timeout_millis}ms)...")
|
|
188
|
+
flush_success = _tracer_provider.force_flush(timeout_millis=timeout_millis)
|
|
189
|
+
if flush_success:
|
|
190
|
+
print("[OTel] Span flush completed successfully")
|
|
191
|
+
else:
|
|
192
|
+
print("[OTel] Span flush timed out or failed")
|
|
193
|
+
|
|
182
194
|
_tracer_provider.shutdown()
|
|
183
|
-
|
|
195
|
+
print("[OTel] Tracing shutdown complete")
|
|
184
196
|
except Exception as e:
|
|
197
|
+
print(f"[OTel] Error shutting down tracer: {e}")
|
|
185
198
|
_module_logger.warning(f"Error shutting down tracer: {e}")
|
|
186
199
|
|
|
187
200
|
_tracer_provider = None
|
|
@@ -10,44 +10,45 @@ Agents emit their own OTel spans for trajectory events. This runner:
|
|
|
10
10
|
from __future__ import annotations
|
|
11
11
|
|
|
12
12
|
import asyncio
|
|
13
|
+
import base64
|
|
13
14
|
import json
|
|
14
15
|
import logging
|
|
15
16
|
import os
|
|
16
17
|
import platform
|
|
17
|
-
import
|
|
18
|
+
import uuid
|
|
18
19
|
|
|
19
20
|
from opentelemetry import trace
|
|
20
21
|
|
|
21
|
-
from plato.agents.artifacts import upload_artifacts
|
|
22
|
-
|
|
23
22
|
logger = logging.getLogger(__name__)
|
|
24
23
|
|
|
25
24
|
|
|
26
25
|
async def run_agent(
|
|
27
26
|
image: str,
|
|
28
27
|
config: dict,
|
|
29
|
-
secrets: dict[str, str],
|
|
30
28
|
instruction: str,
|
|
31
|
-
workspace: str,
|
|
29
|
+
workspace: str | None = None,
|
|
32
30
|
logs_dir: str | None = None,
|
|
33
31
|
pull: bool = True,
|
|
34
|
-
) ->
|
|
32
|
+
) -> str:
|
|
35
33
|
"""Run an agent in a Docker container.
|
|
36
34
|
|
|
37
35
|
Args:
|
|
38
36
|
image: Docker image URI
|
|
39
|
-
config: Agent configuration dict
|
|
40
|
-
secrets: Secret values (API keys, etc.)
|
|
37
|
+
config: Agent configuration dict (includes secrets)
|
|
41
38
|
instruction: Task instruction for the agent
|
|
42
|
-
workspace:
|
|
43
|
-
logs_dir:
|
|
39
|
+
workspace: Docker volume name for workspace (created if None)
|
|
40
|
+
logs_dir: Ignored (kept for backwards compatibility)
|
|
44
41
|
pull: Whether to pull the image first
|
|
45
42
|
|
|
43
|
+
Returns:
|
|
44
|
+
The container name that was created (for cleanup purposes)
|
|
45
|
+
|
|
46
46
|
Note: Agents handle their own OTel tracing. This runner only passes
|
|
47
47
|
the trace context (TRACEPARENT) so agent spans link to the parent step.
|
|
48
|
-
"""
|
|
49
|
-
logs_dir = logs_dir or tempfile.mkdtemp(prefix="agent_logs_")
|
|
50
48
|
|
|
49
|
+
Note: This uses Docker volumes (not bind mounts) for DIND compatibility.
|
|
50
|
+
The workspace parameter should be a Docker volume name.
|
|
51
|
+
"""
|
|
51
52
|
# Get session info from environment variables
|
|
52
53
|
session_id = os.environ.get("SESSION_ID")
|
|
53
54
|
otel_url = os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT")
|
|
@@ -64,15 +65,41 @@ async def run_agent(
|
|
|
64
65
|
)
|
|
65
66
|
await pull_proc.wait()
|
|
66
67
|
|
|
67
|
-
#
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
# Encode config as base64 to pass via environment variable
|
|
69
|
+
# This avoids file mount issues in Docker-in-Docker scenarios
|
|
70
|
+
config_json = json.dumps(config)
|
|
71
|
+
config_b64 = base64.b64encode(config_json.encode()).decode()
|
|
72
|
+
|
|
73
|
+
# Generate a unique container name for inspection
|
|
74
|
+
container_name = f"agent-{uuid.uuid4().hex[:8]}"
|
|
75
|
+
|
|
76
|
+
# Use WORKSPACE_VOLUME env var if set (for DIND compatibility)
|
|
77
|
+
# Otherwise create a new volume
|
|
78
|
+
workspace_volume = os.environ.get("WORKSPACE_VOLUME") or workspace or f"workspace-{uuid.uuid4().hex[:8]}"
|
|
79
|
+
if not os.environ.get("WORKSPACE_VOLUME") and not workspace:
|
|
80
|
+
await asyncio.create_subprocess_exec(
|
|
81
|
+
"docker",
|
|
82
|
+
"volume",
|
|
83
|
+
"create",
|
|
84
|
+
workspace_volume,
|
|
85
|
+
stdout=asyncio.subprocess.DEVNULL,
|
|
86
|
+
stderr=asyncio.subprocess.DEVNULL,
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
# Create logs volume
|
|
90
|
+
logs_volume = f"logs-{uuid.uuid4().hex[:8]}"
|
|
91
|
+
await asyncio.create_subprocess_exec(
|
|
92
|
+
"docker",
|
|
93
|
+
"volume",
|
|
94
|
+
"create",
|
|
95
|
+
logs_volume,
|
|
96
|
+
stdout=asyncio.subprocess.DEVNULL,
|
|
97
|
+
stderr=asyncio.subprocess.DEVNULL,
|
|
98
|
+
)
|
|
72
99
|
|
|
73
100
|
try:
|
|
74
101
|
# Build docker command
|
|
75
|
-
docker_cmd = ["docker", "run", "--rm", "--privileged"]
|
|
102
|
+
docker_cmd = ["docker", "run", "--rm", "--privileged", "--name", container_name]
|
|
76
103
|
|
|
77
104
|
# Determine if we need host networking
|
|
78
105
|
use_host_network = False
|
|
@@ -97,18 +124,19 @@ async def run_agent(
|
|
|
97
124
|
if use_host_network:
|
|
98
125
|
docker_cmd.extend(["--network=host", "--add-host=localhost:127.0.0.1"])
|
|
99
126
|
|
|
127
|
+
# Use Docker volumes instead of bind mounts for DIND compatibility
|
|
100
128
|
docker_cmd.extend(
|
|
101
129
|
[
|
|
102
130
|
"-v",
|
|
103
|
-
f"{
|
|
104
|
-
"-v",
|
|
105
|
-
f"{logs_dir}:/logs",
|
|
131
|
+
f"{workspace_volume}:/workspace",
|
|
106
132
|
"-v",
|
|
107
|
-
f"{
|
|
133
|
+
f"{logs_volume}:/logs",
|
|
108
134
|
"-v",
|
|
109
135
|
"/var/run/docker.sock:/var/run/docker.sock",
|
|
110
136
|
"-w",
|
|
111
137
|
"/workspace",
|
|
138
|
+
"-e",
|
|
139
|
+
f"AGENT_CONFIG_B64={config_b64}",
|
|
112
140
|
]
|
|
113
141
|
)
|
|
114
142
|
|
|
@@ -143,14 +171,13 @@ async def run_agent(
|
|
|
143
171
|
]
|
|
144
172
|
)
|
|
145
173
|
|
|
146
|
-
for key, value in secrets.items():
|
|
147
|
-
docker_cmd.extend(["-e", f"{key.upper()}={value}"])
|
|
148
|
-
|
|
149
174
|
docker_cmd.append(image)
|
|
150
175
|
|
|
151
176
|
# Pass instruction via CLI arg
|
|
152
177
|
docker_cmd.extend(["--instruction", instruction])
|
|
153
178
|
|
|
179
|
+
logger.debug(f"Starting container: {container_name}")
|
|
180
|
+
|
|
154
181
|
# Run container - agents emit their own OTel spans
|
|
155
182
|
# Use large limit to handle agents that output long lines (e.g., JSON with file contents)
|
|
156
183
|
process = await asyncio.create_subprocess_exec(
|
|
@@ -160,7 +187,7 @@ async def run_agent(
|
|
|
160
187
|
limit=100 * 1024 * 1024, # 100MB buffer limit
|
|
161
188
|
)
|
|
162
189
|
|
|
163
|
-
#
|
|
190
|
+
# Stream and capture output for error reporting using chunked reads to handle large lines
|
|
164
191
|
output_lines: list[str] = []
|
|
165
192
|
assert process.stdout is not None
|
|
166
193
|
buffer = ""
|
|
@@ -176,10 +203,13 @@ async def run_agent(
|
|
|
176
203
|
while "\n" in buffer:
|
|
177
204
|
line, buffer = buffer.split("\n", 1)
|
|
178
205
|
output_lines.append(line)
|
|
206
|
+
# Print agent output in real-time
|
|
207
|
+
print(f"[agent] {line}")
|
|
179
208
|
|
|
180
209
|
# Handle any remaining content in buffer
|
|
181
210
|
if buffer.strip():
|
|
182
211
|
output_lines.append(buffer)
|
|
212
|
+
print(f"[agent] {buffer}")
|
|
183
213
|
|
|
184
214
|
await process.wait()
|
|
185
215
|
|
|
@@ -189,8 +219,16 @@ async def run_agent(
|
|
|
189
219
|
raise RuntimeError(f"Agent failed with exit code {exit_code}\n\nAgent output:\n{error_context}")
|
|
190
220
|
|
|
191
221
|
finally:
|
|
192
|
-
|
|
222
|
+
# Clean up volumes
|
|
223
|
+
await asyncio.create_subprocess_exec(
|
|
224
|
+
"docker",
|
|
225
|
+
"volume",
|
|
226
|
+
"rm",
|
|
227
|
+
"-f",
|
|
228
|
+
logs_volume,
|
|
229
|
+
stdout=asyncio.subprocess.DEVNULL,
|
|
230
|
+
stderr=asyncio.subprocess.DEVNULL,
|
|
231
|
+
)
|
|
232
|
+
# Note: workspace_volume is not cleaned up as it may be shared
|
|
193
233
|
|
|
194
|
-
|
|
195
|
-
if upload_url:
|
|
196
|
-
await upload_artifacts(upload_url, logs_dir)
|
|
234
|
+
return container_name
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""API endpoints."""
|
|
2
|
+
|
|
3
|
+
from . import (
|
|
4
|
+
clear_database_api_admin_clear_db_post,
|
|
5
|
+
sync_agents_api_admin_sync_agents_post,
|
|
6
|
+
sync_all_api_admin_sync_all_post,
|
|
7
|
+
sync_runtimes_api_admin_sync_runtimes_post,
|
|
8
|
+
sync_worlds_api_admin_sync_worlds_post,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"sync_agents_api_admin_sync_agents_post",
|
|
13
|
+
"sync_worlds_api_admin_sync_worlds_post",
|
|
14
|
+
"sync_runtimes_api_admin_sync_runtimes_post",
|
|
15
|
+
"sync_all_api_admin_sync_all_post",
|
|
16
|
+
"clear_database_api_admin_clear_db_post",
|
|
17
|
+
]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""Clear Database"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from plato.chronos.errors import raise_for_status
|
|
10
|
+
from plato.chronos.models import ClearDbResult
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _build_request_args(
|
|
14
|
+
x_api_key: str | None = None,
|
|
15
|
+
) -> dict[str, Any]:
|
|
16
|
+
"""Build request arguments."""
|
|
17
|
+
url = "/api/admin/clear-db"
|
|
18
|
+
|
|
19
|
+
headers: dict[str, str] = {}
|
|
20
|
+
if x_api_key is not None:
|
|
21
|
+
headers["X-API-Key"] = x_api_key
|
|
22
|
+
|
|
23
|
+
return {
|
|
24
|
+
"method": "POST",
|
|
25
|
+
"url": url,
|
|
26
|
+
"headers": headers,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def sync(
|
|
31
|
+
client: httpx.Client,
|
|
32
|
+
x_api_key: str | None = None,
|
|
33
|
+
) -> ClearDbResult:
|
|
34
|
+
"""Clear ALL data from the database. Only available in local environment."""
|
|
35
|
+
|
|
36
|
+
request_args = _build_request_args(
|
|
37
|
+
x_api_key=x_api_key,
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
response = client.request(**request_args)
|
|
41
|
+
raise_for_status(response)
|
|
42
|
+
return ClearDbResult.model_validate(response.json())
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
async def asyncio(
|
|
46
|
+
client: httpx.AsyncClient,
|
|
47
|
+
x_api_key: str | None = None,
|
|
48
|
+
) -> ClearDbResult:
|
|
49
|
+
"""Clear ALL data from the database. Only available in local environment."""
|
|
50
|
+
|
|
51
|
+
request_args = _build_request_args(
|
|
52
|
+
x_api_key=x_api_key,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
response = await client.request(**request_args)
|
|
56
|
+
raise_for_status(response)
|
|
57
|
+
return ClearDbResult.model_validate(response.json())
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""Sync Agents"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from plato.chronos.errors import raise_for_status
|
|
10
|
+
from plato.chronos.models import SyncResult
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _build_request_args(
|
|
14
|
+
source_url: str,
|
|
15
|
+
x_api_key: str | None = None,
|
|
16
|
+
) -> dict[str, Any]:
|
|
17
|
+
"""Build request arguments."""
|
|
18
|
+
url = "/api/admin/sync/agents"
|
|
19
|
+
|
|
20
|
+
params: dict[str, Any] = {}
|
|
21
|
+
if source_url is not None:
|
|
22
|
+
params["source_url"] = source_url
|
|
23
|
+
|
|
24
|
+
headers: dict[str, str] = {}
|
|
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
|
+
"params": params,
|
|
32
|
+
"headers": headers,
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def sync(
|
|
37
|
+
client: httpx.Client,
|
|
38
|
+
source_url: str,
|
|
39
|
+
x_api_key: str | None = None,
|
|
40
|
+
) -> SyncResult:
|
|
41
|
+
"""Sync agents from source Chronos to local database."""
|
|
42
|
+
|
|
43
|
+
request_args = _build_request_args(
|
|
44
|
+
source_url=source_url,
|
|
45
|
+
x_api_key=x_api_key,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
response = client.request(**request_args)
|
|
49
|
+
raise_for_status(response)
|
|
50
|
+
return SyncResult.model_validate(response.json())
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
async def asyncio(
|
|
54
|
+
client: httpx.AsyncClient,
|
|
55
|
+
source_url: str,
|
|
56
|
+
x_api_key: str | None = None,
|
|
57
|
+
) -> SyncResult:
|
|
58
|
+
"""Sync agents from source Chronos to local database."""
|
|
59
|
+
|
|
60
|
+
request_args = _build_request_args(
|
|
61
|
+
source_url=source_url,
|
|
62
|
+
x_api_key=x_api_key,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
response = await client.request(**request_args)
|
|
66
|
+
raise_for_status(response)
|
|
67
|
+
return SyncResult.model_validate(response.json())
|