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.
Files changed (596) hide show
  1. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/PKG-INFO +1 -1
  2. plato_sdk_v2-2.8.0/VERSION +1 -0
  3. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/__init__.py +1 -1
  4. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/__init__.py +2 -0
  5. plato_sdk_v2-2.8.0/plato/_generated/api/v2/sessions/remove_job.py +89 -0
  6. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/models/__init__.py +64 -4
  7. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/get_agent_versions.py +5 -5
  8. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/list_agents.py +5 -5
  9. {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
  10. {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
  11. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/models/__init__.py +21 -21
  12. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/session.py +158 -0
  13. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/session.py +158 -0
  14. plato_sdk_v2-2.7.8/VERSION +0 -1
  15. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/.claude/agents/sim-creator.md +0 -0
  16. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/.gitignore +0 -0
  17. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/BUILDING_SIMS.md +0 -0
  18. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/README.md +0 -0
  19. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/CLAUDE.md +0 -0
  20. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/deploy.sh +0 -0
  21. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/lint.sh +0 -0
  22. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/setup.sh +0 -0
  23. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/ci/version-bump.sh +0 -0
  24. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/AGENT_SPEC.md +0 -0
  25. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/CLI.md +0 -0
  26. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/GENERATING_SIM_SDKS.md +0 -0
  27. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/SIMULATOR_LIFECYCLE.md +0 -0
  28. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/SIM_CREATOR.md +0 -0
  29. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/agent.md +0 -0
  30. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/flows.md +0 -0
  31. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/pm.md +0 -0
  32. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/sandbox.md +0 -0
  33. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/sims.md +0 -0
  34. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/cli/world.md +0 -0
  35. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/sim-creation-pipeline.md +0 -0
  36. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skill-restructure-plan.md +0 -0
  37. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/SIM-CREATION-ARCHITECTURE.md +0 -0
  38. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-config/SKILL.md +0 -0
  39. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-creator/SKILL.md +0 -0
  40. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-debugger/SKILL.md +0 -0
  41. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-audit/SKILL.md +0 -0
  42. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-clear/SKILL.md +0 -0
  43. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-mutations/SKILL.md +0 -0
  44. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-flow-run/SKILL.md +0 -0
  45. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-research/SKILL.md +0 -0
  46. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-review/SKILL.md +0 -0
  47. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-login/SKILL.md +0 -0
  48. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-services/SKILL.md +0 -0
  49. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-start/SKILL.md +0 -0
  50. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-sandbox-worker/SKILL.md +0 -0
  51. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-snapshot/SKILL.md +0 -0
  52. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-submit/SKILL.md +0 -0
  53. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/sim-validate/SKILL.md +0 -0
  54. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/skills/trajectory-analysis/SKILL.md +0 -0
  55. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/testcommit +0 -0
  56. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/docs/unit.sh +0 -0
  57. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/examples/test_session_isolation.py +0 -0
  58. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/examples/test_session_network.py +0 -0
  59. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/__init__.py +0 -0
  60. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/__init__.py +0 -0
  61. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/__init__.py +0 -0
  62. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/__init__.py +0 -0
  63. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/archive_agent_artifact.py +0 -0
  64. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/create_agent_artifact.py +0 -0
  65. {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
  66. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/agent_artifacts/get_agent_artifacts.py +0 -0
  67. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/__init__.py +0 -0
  68. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/cleanup_stale_vms.py +0 -0
  69. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_dispatchers.py +0 -0
  70. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_nodes_status.py +0 -0
  71. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_snapshot_lineage.py +0 -0
  72. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/get_snapshots_status.py +0 -0
  73. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/pause_resume_dispatchers.py +0 -0
  74. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/cluster/prefetch_snapshot.py +0 -0
  75. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/__init__.py +0 -0
  76. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/backup.py +0 -0
  77. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/cleanup.py +0 -0
  78. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/close.py +0 -0
  79. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/close_async.py +0 -0
  80. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/create.py +0 -0
  81. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/create_batch.py +0 -0
  82. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/create_simulator.py +0 -0
  83. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/evaluate_session.py +0 -0
  84. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/generate_mutations.py +0 -0
  85. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/generate_mutations_single.py +0 -0
  86. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_active_session.py +0 -0
  87. {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
  88. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_cdp_url.py +0 -0
  89. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_flows.py +0 -0
  90. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_interface_worker_info.py +0 -0
  91. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_job_info.py +0 -0
  92. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_job_status.py +0 -0
  93. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_job_worker_info.py +0 -0
  94. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_proxy_url.py +0 -0
  95. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_public_url.py +0 -0
  96. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_simulator_by_name.py +0 -0
  97. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_simulators.py +0 -0
  98. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_state.py +0 -0
  99. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/get_worker_ready.py +0 -0
  100. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/log_state_mutation.py +0 -0
  101. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/rescore_simulator_sessions.py +0 -0
  102. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/reset.py +0 -0
  103. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/score.py +0 -0
  104. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/send_heartbeat.py +0 -0
  105. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/env/update_simulator.py +0 -0
  106. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/__init__.py +0 -0
  107. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/create_test_case_review.py +0 -0
  108. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/evaluate_python.py +0 -0
  109. {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
  110. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_scores_by_user.py +0 -0
  111. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_scoring.py +0 -0
  112. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/get_test_case_review.py +0 -0
  113. {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
  114. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/evals/start_eval_from_git.py +0 -0
  115. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/__init__.py +0 -0
  116. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/create_gitea_repository.py +0 -0
  117. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/create_simulator_repository.py +0 -0
  118. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/delete_gitea_repository.py +0 -0
  119. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_accessible_simulators.py +0 -0
  120. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_gitea_credentials.py +0 -0
  121. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_gitea_repository.py +0 -0
  122. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_my_gitea_info.py +0 -0
  123. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_my_repositories.py +0 -0
  124. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_repository_branches.py +0 -0
  125. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_repository_contents.py +0 -0
  126. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_file_content.py +0 -0
  127. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_repository.py +0 -0
  128. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_repository_branches.py +0 -0
  129. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/gitea/get_simulator_repository_contents.py +0 -0
  130. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/__init__.py +0 -0
  131. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/get_job_by_id.py +0 -0
  132. {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
  133. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/get_keepalive_jobs.py +0 -0
  134. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/list_jobs.py +0 -0
  135. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/jobs/update_job_status.py +0 -0
  136. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/__init__.py +0 -0
  137. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/create_annotator_assignment.py +0 -0
  138. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/create_org_api_key.py +0 -0
  139. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/create_org_policy.py +0 -0
  140. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/delete_org_api_key.py +0 -0
  141. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/delete_org_policy.py +0 -0
  142. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_annotator_assignments.py +0 -0
  143. {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
  144. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_org_api_keys.py +0 -0
  145. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_org_policies.py +0 -0
  146. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_organization_concurrency_status.py +0 -0
  147. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/get_organization_members.py +0 -0
  148. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/update_annotator_assignment_stage.py +0 -0
  149. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/organization/update_organization_concurrency_limit.py +0 -0
  150. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/__init__.py +0 -0
  151. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_queue_status.py +0 -0
  152. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_vm_detail.py +0 -0
  153. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_vms.py +0 -0
  154. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/queue/get_workers.py +0 -0
  155. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/__init__.py +0 -0
  156. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/checkpoint_vm.py +0 -0
  157. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/close_vm.py +0 -0
  158. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/create_vm.py +0 -0
  159. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/execute_ssh_command.py +0 -0
  160. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/get_operation_events.py +0 -0
  161. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/healthy_services.py +0 -0
  162. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/healthy_worker.py +0 -0
  163. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/save_vm_snapshot.py +0 -0
  164. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/setup_root_access.py +0 -0
  165. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/setup_sandbox.py +0 -0
  166. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/sandbox/start_worker.py +0 -0
  167. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/__init__.py +0 -0
  168. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/analyze_labels.py +0 -0
  169. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/archive_session.py +0 -0
  170. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/archive_session_logs_endpoint.py +0 -0
  171. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_from_labels.py +0 -0
  172. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_session_from_browser.py +0 -0
  173. {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
  174. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/create_session_from_har.py +0 -0
  175. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_env_recording.py +0 -0
  176. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_grouped_replay_sessions.py +0 -0
  177. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_logs_status.py +0 -0
  178. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_network_requests.py +0 -0
  179. {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
  180. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_public_benchmark_sessions.py +0 -0
  181. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_replay_score_data.py +0 -0
  182. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_rrweb_actions.py +0 -0
  183. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_rrweb_events.py +0 -0
  184. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_screen_recording.py +0 -0
  185. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_session.py +0 -0
  186. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_session_replays.py +0 -0
  187. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_sessions.py +0 -0
  188. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_sessions_for_archival.py +0 -0
  189. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/get_ui_events.py +0 -0
  190. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/restore_session_logs.py +0 -0
  191. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/score_session_with_config.py +0 -0
  192. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/search_sessions_by_ids.py +0 -0
  193. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/set_session_output.py +0 -0
  194. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/update_session_public.py +0 -0
  195. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/session/update_session_testcase.py +0 -0
  196. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/__init__.py +0 -0
  197. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/add_simulator_review.py +0 -0
  198. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/batch_create_test_cases.py +0 -0
  199. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/batch_get_artifact_metadata.py +0 -0
  200. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_all_simulators_info.py +0 -0
  201. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_db_config.py +0 -0
  202. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_env_flows.py +0 -0
  203. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_plato_config.py +0 -0
  204. {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
  205. {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
  206. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_by_name.py +0 -0
  207. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_id.py +0 -0
  208. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_info.py +0 -0
  209. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_version_details.py +0 -0
  210. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_simulator_versions.py +0 -0
  211. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_start_path.py +0 -0
  212. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/get_version_by_tag.py +0 -0
  213. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/list_simulators.py +0 -0
  214. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/list_simulators_by_org.py +0 -0
  215. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/list_simulators_status.py +0 -0
  216. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/register.py +0 -0
  217. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/update_simulator.py +0 -0
  218. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/update_simulator_status.py +0 -0
  219. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/simulator/update_tag.py +0 -0
  220. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/__init__.py +0 -0
  221. {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
  222. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/archive_organization_testcase.py +0 -0
  223. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/archive_testcase.py +0 -0
  224. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/assign_testcase_to_organizations.py +0 -0
  225. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/auto_verify_testcase.py +0 -0
  226. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/bulk_archive_testcases.py +0 -0
  227. {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
  228. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/create_testcase.py +0 -0
  229. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/create_testcase_set.py +0 -0
  230. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/delete_testcase_set.py +0 -0
  231. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/filter_human_recorder_testcases.py +0 -0
  232. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_outcome_schema.py +0 -0
  233. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_prediction.py +0 -0
  234. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/generate_prediction_from_steps.py +0 -0
  235. {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
  236. {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
  237. {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
  238. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_human_recorder_testcases.py +0 -0
  239. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_merged_mutations.py +0 -0
  240. {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
  241. {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
  242. {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
  243. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcase.py +0 -0
  244. {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
  245. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcase_sets.py +0 -0
  246. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcases.py +0 -0
  247. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/get_testcases_in_set.py +0 -0
  248. {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
  249. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/update_testcase.py +0 -0
  250. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v1/testcases/version_bump_testcase.py +0 -0
  251. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/__init__.py +0 -0
  252. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/__init__.py +0 -0
  253. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/__init__.py +0 -0
  254. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/clear_all.py +0 -0
  255. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/clear_single_cache.py +0 -0
  256. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/delete_key.py +0 -0
  257. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/get_stats.py +0 -0
  258. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/admin/cache/list_cache_names.py +0 -0
  259. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/__init__.py +0 -0
  260. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/get_agent_ecr_token.py +0 -0
  261. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/get_agent_schema.py +0 -0
  262. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/get_agent_versions.py +0 -0
  263. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/import_agent.py +0 -0
  264. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/list_docker_agents.py +0 -0
  265. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/lookup_agent_version.py +0 -0
  266. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/agents/register_docker_agent.py +0 -0
  267. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/artifacts/__init__.py +0 -0
  268. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/artifacts/get_artifact.py +0 -0
  269. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos/__init__.py +0 -0
  270. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos/launch_job.py +0 -0
  271. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/__init__.py +0 -0
  272. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/get_package_versions.py +0 -0
  273. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/list_chronos_packages.py +0 -0
  274. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/lookup_package_version.py +0 -0
  275. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/register_chronos_package.py +0 -0
  276. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/chronos_packages/upload_chronos_package.py +0 -0
  277. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/cluster/__init__.py +0 -0
  278. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/cluster/get_node_config.py +0 -0
  279. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/__init__.py +0 -0
  280. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/checkpoint.py +0 -0
  281. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/close.py +0 -0
  282. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/connect_routing_info.py +0 -0
  283. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/connect_url.py +0 -0
  284. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/disk_snapshot.py +0 -0
  285. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/execute.py +0 -0
  286. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/get_flows.py +0 -0
  287. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/get_plato_config.py +0 -0
  288. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/log_for_job.py +0 -0
  289. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/make.py +0 -0
  290. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/public_url.py +0 -0
  291. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/reset.py +0 -0
  292. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/set_date.py +0 -0
  293. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/setup_sandbox.py +0 -0
  294. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/snapshot.py +0 -0
  295. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/snapshot_store.py +0 -0
  296. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/state.py +0 -0
  297. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/jobs/wait_for_ready.py +0 -0
  298. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/__init__.py +0 -0
  299. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/add_member.py +0 -0
  300. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/create_network.py +0 -0
  301. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/delete_network.py +0 -0
  302. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/get_network.py +0 -0
  303. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/list_members.py +0 -0
  304. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/list_networks.py +0 -0
  305. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/remove_member.py +0 -0
  306. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/networks/update_member.py +0 -0
  307. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/__init__.py +0 -0
  308. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/download_package.py +0 -0
  309. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/get_package_schema.py +0 -0
  310. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/package_index.py +0 -0
  311. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/simple_index.py +0 -0
  312. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/pypi/upload_package.py +0 -0
  313. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/__init__.py +0 -0
  314. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/create.py +0 -0
  315. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/deploy.py +0 -0
  316. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/get.py +0 -0
  317. {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
  318. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/handle_import.py +0 -0
  319. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/list_releases.py +0 -0
  320. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/prep_release_assigned_testcases.py +0 -0
  321. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/releases/update.py +0 -0
  322. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/add_job.py +0 -0
  323. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/add_ssh_key.py +0 -0
  324. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/checkpoint.py +0 -0
  325. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/close.py +0 -0
  326. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/connect_network.py +0 -0
  327. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/disk_snapshot.py +0 -0
  328. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/evaluate.py +0 -0
  329. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/execute.py +0 -0
  330. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_connect_url.py +0 -0
  331. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_presigned_url.py +0 -0
  332. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_public_url.py +0 -0
  333. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_s3_content.py +0 -0
  334. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_details.py +0 -0
  335. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_documents.py +0 -0
  336. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_flows.py +0 -0
  337. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_logs.py +0 -0
  338. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/get_session_plato_config.py +0 -0
  339. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/heartbeat.py +0 -0
  340. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/list_jobs.py +0 -0
  341. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/list_sessions.py +0 -0
  342. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/log_job_mutation.py +0 -0
  343. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/make.py +0 -0
  344. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/reset.py +0 -0
  345. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/set_date.py +0 -0
  346. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/setup_sandbox.py +0 -0
  347. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/snapshot.py +0 -0
  348. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/snapshot_store.py +0 -0
  349. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/state.py +0 -0
  350. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/upload_session_documents.py +0 -0
  351. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/sessions/wait_for_ready.py +0 -0
  352. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/user/__init__.py +0 -0
  353. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/v2/user/get_current_user.py +0 -0
  354. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/version/__init__.py +0 -0
  355. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/api/version/check.py +0 -0
  356. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/client.py +0 -0
  357. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/errors.py +0 -0
  358. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_generated/py.typed +0 -0
  359. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/__init__.py +0 -0
  360. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/cli.py +0 -0
  361. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/instruction.py +0 -0
  362. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/parser.py +0 -0
  363. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/python.py +0 -0
  364. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/instruction/helpers.py.jinja +0 -0
  365. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/instruction/init.py.jinja +0 -0
  366. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/api_init.py.jinja +0 -0
  367. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/client.py.jinja +0 -0
  368. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/endpoint.py.jinja +0 -0
  369. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/errors.py.jinja +0 -0
  370. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/package_init.py.jinja +0 -0
  371. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/tag_init.py.jinja +0 -0
  372. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/_sims_generator/templates/python/version_init.py.jinja +0 -0
  373. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/__init__.py +0 -0
  374. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/artifacts.py +0 -0
  375. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/base.py +0 -0
  376. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/build.py +0 -0
  377. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/config.py +0 -0
  378. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/otel.py +0 -0
  379. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/runner.py +0 -0
  380. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/agents/trajectory.py +0 -0
  381. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/__init__.py +0 -0
  382. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/__init__.py +0 -0
  383. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/admin/__init__.py +0 -0
  384. {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
  385. {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
  386. {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
  387. {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
  388. {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
  389. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/__init__.py +0 -0
  390. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/create_agent.py +0 -0
  391. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/delete_agent.py +0 -0
  392. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/get_agent.py +0 -0
  393. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/get_agent_schema.py +0 -0
  394. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/agents/lookup_agent.py +0 -0
  395. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/auth/__init__.py +0 -0
  396. {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
  397. {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
  398. {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
  399. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/checkpoints/__init__.py +0 -0
  400. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/checkpoints/list_checkpoints.py +0 -0
  401. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/checkpoints/preview_checkpoint.py +0 -0
  402. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/default/__init__.py +0 -0
  403. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/default/health.py +0 -0
  404. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/events/__init__.py +0 -0
  405. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/events/get_session_event.py +0 -0
  406. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/events/list_session_events.py +0 -0
  407. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/jobs/__init__.py +0 -0
  408. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/jobs/launch_job.py +0 -0
  409. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/otel/__init__.py +0 -0
  410. {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
  411. {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
  412. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/registry/__init__.py +0 -0
  413. {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
  414. {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
  415. {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
  416. {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
  417. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/__init__.py +0 -0
  418. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/create_runtime.py +0 -0
  419. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/delete_runtime.py +0 -0
  420. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/get_runtime.py +0 -0
  421. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/get_runtime_logs.py +0 -0
  422. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/list_runtimes.py +0 -0
  423. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/runtimes/test_runtime.py +0 -0
  424. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/__init__.py +0 -0
  425. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/create_secret.py +0 -0
  426. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/delete_secret.py +0 -0
  427. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/get_secret.py +0 -0
  428. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/list_secrets.py +0 -0
  429. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/secrets/update_secret.py +0 -0
  430. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/__init__.py +0 -0
  431. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/close_session.py +0 -0
  432. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/complete_session.py +0 -0
  433. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/create_session.py +0 -0
  434. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session.py +0 -0
  435. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_bash_logs_download.py +0 -0
  436. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_envs.py +0 -0
  437. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_live_logs.py +0 -0
  438. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_logs.py +0 -0
  439. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_logs_download.py +0 -0
  440. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/get_session_status.py +0 -0
  441. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/list_session_creators.py +0 -0
  442. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/list_sessions.py +0 -0
  443. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/list_tags.py +0 -0
  444. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/sessions/update_session_tags.py +0 -0
  445. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/status/__init__.py +0 -0
  446. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/status/get_status_api_status_get.py +0 -0
  447. {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
  448. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/__init__.py +0 -0
  449. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/create_template.py +0 -0
  450. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/delete_template.py +0 -0
  451. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/get_template.py +0 -0
  452. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/list_templates.py +0 -0
  453. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/templates/update_template.py +0 -0
  454. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/trajectories/__init__.py +0 -0
  455. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/trajectories/get_trajectory.py +0 -0
  456. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/trajectories/list_trajectories.py +0 -0
  457. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/__init__.py +0 -0
  458. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/create_world.py +0 -0
  459. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/delete_world.py +0 -0
  460. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/get_world.py +0 -0
  461. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/api/worlds/list_worlds.py +0 -0
  462. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/client.py +0 -0
  463. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/errors.py +0 -0
  464. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/chronos/py.typed +0 -0
  465. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/__init__.py +0 -0
  466. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/agent.py +0 -0
  467. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/audit_ui.py +0 -0
  468. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/chronos.py +0 -0
  469. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/main.py +0 -0
  470. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/pm.py +0 -0
  471. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/proxy.py +0 -0
  472. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/sandbox.py +0 -0
  473. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/utils.py +0 -0
  474. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/verify.py +0 -0
  475. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/cli/world.py +0 -0
  476. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/py.typed +0 -0
  477. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/README.md +0 -0
  478. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/__init__.py +0 -0
  479. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/agent_helpers.py +0 -0
  480. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/cli.py +0 -0
  481. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/generate_clients.py +0 -0
  482. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/sims/registry.py +0 -0
  483. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/__init__.py +0 -0
  484. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/audit_ui.py +0 -0
  485. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/__init__.py +0 -0
  486. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/agent.py +0 -0
  487. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/chronos.py +0 -0
  488. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/main.py +0 -0
  489. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/pm.py +0 -0
  490. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/proxy.py +0 -0
  491. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/sandbox.py +0 -0
  492. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/ssh.py +0 -0
  493. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/templates/world-runner.Dockerfile +0 -0
  494. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/utils.py +0 -0
  495. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/verify.py +0 -0
  496. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli/world.py +0 -0
  497. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/cli.py +0 -0
  498. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/config.py +0 -0
  499. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/doordash_tasks.py +0 -0
  500. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/loadtest.py +0 -0
  501. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_env.py +0 -0
  502. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_env_custom_browser.py +0 -0
  503. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_env_sync.py +0 -0
  504. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_reuse_env.py +0 -0
  505. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/examples/test_run.py +0 -0
  506. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/exceptions.py +0 -0
  507. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/README.md +0 -0
  508. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/api-client.js +0 -0
  509. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/background.js +0 -0
  510. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/build-sdk.js +0 -0
  511. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/content.js +0 -0
  512. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/manifest.json +0 -0
  513. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/offscreen.html +0 -0
  514. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/offscreen.js +0 -0
  515. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/options.html +0 -0
  516. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/options.js +0 -0
  517. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/package-lock.json +0 -0
  518. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/package.json +0 -0
  519. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/plato-sdk-bundle.js +0 -0
  520. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/plato-sdk-bundle.js.map +0 -0
  521. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/popup.html +0 -0
  522. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/popup.js +0 -0
  523. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-panel.html +0 -0
  524. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-panel.js +0 -0
  525. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-success.html +0 -0
  526. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/review-success.js +0 -0
  527. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-active.html +0 -0
  528. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-active.js +0 -0
  529. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-ended.html +0 -0
  530. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-ended.js +0 -0
  531. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-setup.html +0 -0
  532. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/session-setup.js +0 -0
  533. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/sessions.html +0 -0
  534. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/sessions.js +0 -0
  535. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/extensions/envgen-recorder/styles.css +0 -0
  536. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/flow_executor.py +0 -0
  537. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/__init__.py +0 -0
  538. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/build_models.py +0 -0
  539. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/env.py +0 -0
  540. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/flow.py +0 -0
  541. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/sandbox.py +0 -0
  542. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/models/task.py +0 -0
  543. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sandbox_sdk.py +0 -0
  544. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sdk.py +0 -0
  545. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sync_env.py +0 -0
  546. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sync_flow_executor.py +0 -0
  547. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/sync_sdk.py +0 -0
  548. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v1/utils/proxytunnel.py +0 -0
  549. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/__init__.py +0 -0
  550. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/__init__.py +0 -0
  551. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/artifact.py +0 -0
  552. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/chronos.py +0 -0
  553. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/client.py +0 -0
  554. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/environment.py +0 -0
  555. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/async_/flow_executor.py +0 -0
  556. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/models.py +0 -0
  557. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/__init__.py +0 -0
  558. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/artifact.py +0 -0
  559. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/chronos.py +0 -0
  560. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/client.py +0 -0
  561. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/environment.py +0 -0
  562. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/flow_executor.py +0 -0
  563. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/sync/sandbox.py +0 -0
  564. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/types.py +0 -0
  565. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/__init__.py +0 -0
  566. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/db_cleanup.py +0 -0
  567. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/gateway_tunnel.py +0 -0
  568. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/models.py +0 -0
  569. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/v2/utils/proxy_tunnel.py +0 -0
  570. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/README.md +0 -0
  571. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/__init__.py +0 -0
  572. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/base.py +0 -0
  573. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/build_hook.py +0 -0
  574. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/config.py +0 -0
  575. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/plato/worlds/runner.py +0 -0
  576. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/pyproject.toml +0 -0
  577. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/scripts/get_all_artifact_targets.py +0 -0
  578. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/__init__.py +0 -0
  579. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/__init__.py +0 -0
  580. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/conftest.py +0 -0
  581. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_browser_agent.py +0 -0
  582. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_chronos_callback.py +0 -0
  583. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_cleanup_snapshot.py +0 -0
  584. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_code_world.py +0 -0
  585. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/integration/test_harbor_agent_runner.py +0 -0
  586. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/sims/__init__.py +0 -0
  587. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/sims/conftest.py +0 -0
  588. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/sims/test_agent_helpers.py +0 -0
  589. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_heartbeat_keepalive.py +0 -0
  590. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_session_serialization.py +0 -0
  591. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_set_date.py +0 -0
  592. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_v2_imports.py +0 -0
  593. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_v2_multisim_integration.py +0 -0
  594. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_v2_session.py +0 -0
  595. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/tests/test_version.py +0 -0
  596. {plato_sdk_v2-2.7.8 → plato_sdk_v2-2.8.0}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plato-sdk-v2
3
- Version: 2.7.8
3
+ Version: 2.8.0
4
4
  Summary: Python SDK for the Plato API
5
5
  Author-email: Plato <support@plato.so>
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ 2.8.0
@@ -1,4 +1,4 @@
1
- """Plato API SDK - v0.47.0"""
1
+ """Plato API SDK - v0.48.2"""
2
2
 
3
3
  from . import api, errors, models
4
4
  from .client import AsyncClient, Client
@@ -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: tmpy5rfux2_.json
3
- # timestamp: 2026-01-29T20:47:53+00:00
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
- dedup_rootfs: Annotated[bool | None, Field(title="Dedup Rootfs")] = False
1993
+ default_rootfs_storage_backend: Annotated[
1994
+ DefaultRootfsStorageBackend | None,
1995
+ Field(title="Default Rootfs Storage Backend"),
1996
+ ] = DefaultRootfsStorageBackend.sparse_s3
1981
1997
  """
1982
- Enable rootfs-level dedup via snapshot-store FUSE mount instead of file copy.
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 AgentVersionsResponse
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
- ) -> AgentVersionsResponse:
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 AgentVersionsResponse.model_validate(response.json())
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
- ) -> AgentVersionsResponse:
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 AgentVersionsResponse.model_validate(response.json())
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 AgentListResponse
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
- ) -> AgentListResponse:
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 AgentListResponse.model_validate(response.json())
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
- ) -> AgentListResponse:
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 AgentListResponse.model_validate(response.json())
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 ChronosApiRegistryAgentVersionsResponse
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
- ) -> ChronosApiRegistryAgentVersionsResponse:
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 ChronosApiRegistryAgentVersionsResponse.model_validate(response.json())
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
- ) -> ChronosApiRegistryAgentVersionsResponse:
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 ChronosApiRegistryAgentVersionsResponse.model_validate(response.json())
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 ChronosApiRegistryAgentListResponse
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
- ) -> ChronosApiRegistryAgentListResponse:
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 ChronosApiRegistryAgentListResponse.model_validate(response.json())
32
+ return AgentListResponse.model_validate(response.json())
33
33
 
34
34
 
35
35
  async def asyncio(
36
36
  client: httpx.AsyncClient,
37
- ) -> ChronosApiRegistryAgentListResponse:
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 ChronosApiRegistryAgentListResponse.model_validate(response.json())
44
+ return AgentListResponse.model_validate(response.json())
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
- # filename: tmp9iosw1i3.json
3
- # timestamp: 2026-01-29T20:31:32+00:00
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 ChronosApiRegistryAgentVersionsResponse(BaseModel):
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[ChronosApiRegistryAgentVersionInfo], Field(title="Versions")]
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 AgentListResponse(BaseModel):
612
+ class AgentVersionsResponse(BaseModel):
614
613
  model_config = ConfigDict(
615
614
  extra="allow",
616
615
  )
617
- agents: Annotated[list[AgentResponse], Field(title="Agents")]
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