openadapt-ml 0.1.0__tar.gz → 0.2.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.
Files changed (348) hide show
  1. openadapt_ml-0.2.1/.github/workflows/test.yml +41 -0
  2. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/.gitignore +33 -0
  3. openadapt_ml-0.2.1/CLAUDE.md +1488 -0
  4. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/PKG-INFO +312 -69
  5. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/README.md +299 -67
  6. openadapt_ml-0.2.1/RETRIEVAL_QUICKSTART.md +238 -0
  7. openadapt_ml-0.2.1/deprecated/Dockerfile.simple +26 -0
  8. openadapt_ml-0.2.1/deprecated/README.md +7 -0
  9. openadapt_ml-0.2.1/deprecated/docs/WAA_ACR_DESIGN.md +87 -0
  10. openadapt_ml-0.2.1/deprecated/docs/WAA_APPROACH_REVIEW.md +440 -0
  11. openadapt_ml-0.2.1/deprecated/docs/WAA_EVAL_ATTEMPTS.md +443 -0
  12. openadapt_ml-0.2.1/deprecated/docs/WAA_RELIABILITY_ANALYSIS.md +514 -0
  13. openadapt_ml-0.2.1/deprecated/docs/WINDOWS_PRODUCT_KEY_RCA.md +345 -0
  14. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1/deprecated}/docs/azure_waa_setup.md +48 -4
  15. openadapt_ml-0.2.1/deprecated/docs/waa_setup.md +330 -0
  16. openadapt_ml-0.2.1/deprecated/tmp_dockerfile_winarena.txt +64 -0
  17. openadapt_ml-0.2.1/deprecated/waa_deploy/Dockerfile +138 -0
  18. openadapt_ml-0.2.1/deprecated/waa_deploy/Dockerfile.backup +289 -0
  19. openadapt_ml-0.2.1/deprecated/waa_deploy/Dockerfile.simplified +139 -0
  20. openadapt_ml-0.2.1/deprecated/waa_deploy/__init__.py +10 -0
  21. openadapt_ml-0.2.1/deprecated/waa_deploy/api_agent.py +540 -0
  22. openadapt_ml-0.2.1/deprecated/waa_deploy/start_waa_server.bat +53 -0
  23. openadapt_ml-0.2.1/docs/ARCHITECTURE_DECISIONS.md +325 -0
  24. openadapt_ml-0.2.1/docs/AZURE_DASHBOARD_SPEC.md +403 -0
  25. openadapt_ml-0.2.1/docs/CLEANUP_NOTES.md +277 -0
  26. openadapt_ml-0.2.1/docs/GEMINI_GROUNDING_QUICKSTART.md +274 -0
  27. openadapt_ml-0.2.1/docs/IMPLEMENTATION_SUMMARY_GEMINI_GROUNDING.md +322 -0
  28. openadapt_ml-0.2.1/docs/PRIORITY_2_COMPLETION_SUMMARY.md +330 -0
  29. openadapt_ml-0.2.1/docs/REPOSITORY_HISTORY.md +70 -0
  30. openadapt_ml-0.2.1/docs/REPO_CONSOLIDATION_PLAN.md +1076 -0
  31. openadapt_ml-0.2.1/docs/SEGMENTATION_TEST_PLAN.md +298 -0
  32. openadapt_ml-0.2.1/docs/SEGMENTATION_TEST_RESULTS.md +292 -0
  33. openadapt_ml-0.2.1/docs/VM_MONITOR_SCREENSHOT_IMPLEMENTATION.md +410 -0
  34. openadapt_ml-0.2.1/docs/WAA_PARALLELIZATION_DESIGN.md +331 -0
  35. openadapt_ml-0.2.1/docs/WAA_UNATTENDED_SCALABLE.md +298 -0
  36. openadapt_ml-0.2.1/docs/analysis_jan2026.md +491 -0
  37. openadapt_ml-0.2.1/docs/architecture_diagram.md +496 -0
  38. openadapt_ml-0.2.1/docs/background_task_visibility.md +744 -0
  39. openadapt_ml-0.2.1/docs/benchmark_run_ui_design.md +361 -0
  40. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/benchmark_viewer_integration.md +60 -15
  41. openadapt_ml-0.2.1/docs/benchmark_viewer_ux_improvements.md +330 -0
  42. openadapt_ml-0.2.1/docs/capture_format_decision.md +229 -0
  43. openadapt_ml-0.2.1/docs/chrome_extension_design.md +1202 -0
  44. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/cloud_gpu_training.md +60 -1
  45. openadapt_ml-0.2.1/docs/current_state_dec2024.md +223 -0
  46. openadapt_ml-0.2.1/docs/demo_prompt_experiment.md +214 -0
  47. openadapt_ml-0.2.1/docs/demo_retrieval_design.md +666 -0
  48. openadapt_ml-0.2.1/docs/desktop_app_plan.md +389 -0
  49. openadapt_ml-0.2.1/docs/enterprise/COORDS_VS_MARKS_ABLATION.md +99 -0
  50. openadapt_ml-0.2.1/docs/enterprise/README.md +44 -0
  51. openadapt_ml-0.2.1/docs/enterprise_integration.md +459 -0
  52. openadapt_ml-0.2.1/docs/experiments/demo_conditioned_prompting_results.md +340 -0
  53. openadapt_ml-0.2.1/docs/experiments/multi_step_experiment_design.md +354 -0
  54. openadapt_ml-0.2.1/docs/experiments/representation_shootout_design.md +396 -0
  55. openadapt_ml-0.2.1/docs/experiments/waa_benchmark_results_jan2026.md +148 -0
  56. openadapt_ml-0.2.1/docs/experiments/waa_demo_experiment_design.md +430 -0
  57. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/gemini_grounding.md +2 -4
  58. openadapt_ml-0.2.1/docs/github_org_profile_content.md +266 -0
  59. openadapt_ml-0.2.1/docs/github_org_update_plan.md +492 -0
  60. openadapt_ml-0.2.1/docs/grpo_training_report.md +997 -0
  61. openadapt_ml-0.2.1/docs/images/benchmark_viewer.png +0 -0
  62. openadapt_ml-0.2.1/docs/infra_refactor_design.md +986 -0
  63. openadapt_ml-0.2.1/docs/live_benchmark_monitoring_fix.md +265 -0
  64. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/live_inference_design.md +1 -1
  65. openadapt_ml-0.2.1/docs/mock_adapter_evaluation_fix.md +379 -0
  66. openadapt_ml-0.2.1/docs/new_openadapt_architecture.md +849 -0
  67. openadapt_ml-0.2.1/docs/openadapt_capture_migration_detailed.md +1434 -0
  68. openadapt_ml-0.2.1/docs/openadapt_capture_migration_plan.md +148 -0
  69. openadapt_ml-0.2.1/docs/openadapt_integration_plan.md +594 -0
  70. openadapt_ml-0.2.1/docs/parallelization_implementation.md +1141 -0
  71. openadapt_ml-0.2.1/docs/parquet_export_design.md +299 -0
  72. openadapt_ml-0.2.1/docs/perception_integration.md +175 -0
  73. openadapt_ml-0.2.1/docs/qwen3_vl_embedding_design.md +2420 -0
  74. openadapt_ml-0.2.1/docs/qwen3_vl_embedding_literature_review.md +892 -0
  75. openadapt_ml-0.2.1/docs/qwen3_vl_embedding_research.md +569 -0
  76. openadapt_ml-0.2.1/docs/research/cua_waa_comparison.md +607 -0
  77. openadapt_ml-0.2.1/docs/research_thesis.md +69 -0
  78. openadapt_ml-0.2.1/docs/safety_gate_design.md +376 -0
  79. openadapt_ml-0.2.1/docs/schema/README.md +206 -0
  80. openadapt_ml-0.2.1/docs/schema/episode.schema.json +904 -0
  81. openadapt_ml-0.2.1/docs/schema_consolidation_plan.md +282 -0
  82. openadapt_ml-0.2.1/docs/screenshots/vm_monitor_dashboard_full.png +0 -0
  83. openadapt_ml-0.2.1/docs/screenshots/vm_monitor_details.png +0 -0
  84. openadapt_ml-0.2.1/docs/screenshots/vm_monitor_terminal.png +0 -0
  85. openadapt_ml-0.2.1/docs/semantic_element_capture.md +618 -0
  86. openadapt_ml-0.2.1/docs/smart_mock_agent_design.md +349 -0
  87. openadapt_ml-0.2.1/docs/sse_architecture.md +432 -0
  88. openadapt_ml-0.2.1/docs/sse_benchmark_endpoint.md +252 -0
  89. openadapt_ml-0.2.1/docs/sse_frontend_integration.md +888 -0
  90. openadapt_ml-0.2.1/docs/sse_quick_reference.md +257 -0
  91. openadapt_ml-0.2.1/docs/sse_usage_examples.md +487 -0
  92. openadapt_ml-0.2.1/docs/trl_unsloth_integration_analysis.md +1188 -0
  93. openadapt_ml-0.2.1/docs/viewer_architecture_survey.md +610 -0
  94. openadapt_ml-0.2.1/docs/viewer_consolidation_design.md +501 -0
  95. openadapt_ml-0.2.1/docs/viewer_redesign_proposal.md +780 -0
  96. openadapt_ml-0.2.1/docs/vm_monitor_screenshot_analysis.md +609 -0
  97. openadapt_ml-0.2.1/docs/waa_demo_recording_guide.md +209 -0
  98. openadapt_ml-0.2.1/docs/waa_live_adapter_design.md +660 -0
  99. openadapt_ml-0.2.1/docs/waa_network_architecture.md +157 -0
  100. openadapt_ml-0.2.1/docs/waa_parallelization_plan.md +281 -0
  101. openadapt_ml-0.2.1/docs/waa_speedup_options.md +94 -0
  102. openadapt_ml-0.2.1/docs/waa_vanilla_automation.md +73 -0
  103. openadapt_ml-0.2.1/docs/website_redesign_plan.md +592 -0
  104. openadapt_ml-0.2.1/examples/demo_retrieval_example.py +234 -0
  105. openadapt_ml-0.2.1/examples/retrieval_with_capture.py +132 -0
  106. openadapt_ml-0.2.1/examples/train_from_json.py +294 -0
  107. openadapt_ml-0.2.1/experiment_results/representation_shootout/results_20260116_142335.json +96 -0
  108. openadapt_ml-0.2.1/experiments/qwen_login/2b_dev_fixed/plots/qwen_base_vs_ft.png +0 -0
  109. openadapt_ml-0.2.1/experiments/qwen_login/registration_som_eval.json +20 -0
  110. openadapt_ml-0.2.1/negative_control_results/NEGATIVE_CONTROL_REPORT.md +215 -0
  111. openadapt_ml-0.2.1/negative_control_results/RESULTS_SUMMARY.txt +137 -0
  112. openadapt_ml-0.2.1/negative_control_results/negative_control_20251231_005135.json +64 -0
  113. openadapt_ml-0.2.1/openadapt_ml/baselines/__init__.py +121 -0
  114. openadapt_ml-0.2.1/openadapt_ml/baselines/adapter.py +185 -0
  115. openadapt_ml-0.2.1/openadapt_ml/baselines/cli.py +314 -0
  116. openadapt_ml-0.2.1/openadapt_ml/baselines/config.py +448 -0
  117. openadapt_ml-0.2.1/openadapt_ml/baselines/parser.py +922 -0
  118. openadapt_ml-0.2.1/openadapt_ml/baselines/prompts.py +787 -0
  119. openadapt_ml-0.2.1/openadapt_ml/benchmarks/__init__.py +31 -0
  120. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/benchmarks/agent.py +297 -374
  121. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/benchmarks/azure.py +62 -24
  122. openadapt_ml-0.2.1/openadapt_ml/benchmarks/azure_ops_tracker.py +521 -0
  123. openadapt_ml-0.2.1/openadapt_ml/benchmarks/cli.py +2007 -0
  124. openadapt_ml-0.2.1/openadapt_ml/benchmarks/trace_export.py +631 -0
  125. openadapt_ml-0.2.1/openadapt_ml/benchmarks/viewer.py +1236 -0
  126. openadapt_ml-0.2.1/openadapt_ml/benchmarks/vm_monitor.py +1111 -0
  127. openadapt_ml-0.2.1/openadapt_ml/benchmarks/waa_deploy/Dockerfile +216 -0
  128. openadapt_ml-0.2.1/openadapt_ml/benchmarks/waa_deploy/__init__.py +10 -0
  129. openadapt_ml-0.2.1/openadapt_ml/benchmarks/waa_deploy/api_agent.py +540 -0
  130. openadapt_ml-0.2.1/openadapt_ml/benchmarks/waa_deploy/start_waa_server.bat +53 -0
  131. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/cloud/azure_inference.py +3 -5
  132. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/cloud/lambda_labs.py +722 -307
  133. openadapt_ml-0.2.1/openadapt_ml/cloud/local.py +3895 -0
  134. openadapt_ml-0.2.1/openadapt_ml/cloud/ssh_tunnel.py +595 -0
  135. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/datasets/next_action.py +125 -96
  136. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/evals/grounding.py +32 -9
  137. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/evals/plot_eval_metrics.py +15 -13
  138. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/evals/trajectory_matching.py +120 -57
  139. openadapt_ml-0.2.1/openadapt_ml/experiments/demo_prompt/__init__.py +19 -0
  140. openadapt_ml-0.2.1/openadapt_ml/experiments/demo_prompt/format_demo.py +236 -0
  141. openadapt_ml-0.2.1/openadapt_ml/experiments/demo_prompt/results/experiment_20251231_002125.json +83 -0
  142. openadapt_ml-0.2.1/openadapt_ml/experiments/demo_prompt/results/experiment_n30_20251231_165958.json +1100 -0
  143. openadapt_ml-0.2.1/openadapt_ml/experiments/demo_prompt/results/multistep_20251231_025051.json +182 -0
  144. openadapt_ml-0.2.1/openadapt_ml/experiments/demo_prompt/run_experiment.py +541 -0
  145. openadapt_ml-0.2.1/openadapt_ml/experiments/representation_shootout/__init__.py +70 -0
  146. openadapt_ml-0.2.1/openadapt_ml/experiments/representation_shootout/conditions.py +708 -0
  147. openadapt_ml-0.2.1/openadapt_ml/experiments/representation_shootout/config.py +390 -0
  148. openadapt_ml-0.2.1/openadapt_ml/experiments/representation_shootout/evaluator.py +659 -0
  149. openadapt_ml-0.2.1/openadapt_ml/experiments/representation_shootout/runner.py +687 -0
  150. openadapt_ml-0.2.1/openadapt_ml/experiments/waa_demo/__init__.py +10 -0
  151. openadapt_ml-0.2.1/openadapt_ml/experiments/waa_demo/demos.py +357 -0
  152. openadapt_ml-0.2.1/openadapt_ml/experiments/waa_demo/runner.py +732 -0
  153. openadapt_ml-0.2.1/openadapt_ml/experiments/waa_demo/tasks.py +151 -0
  154. openadapt_ml-0.2.1/openadapt_ml/export/__init__.py +9 -0
  155. openadapt_ml-0.2.1/openadapt_ml/export/__main__.py +6 -0
  156. openadapt_ml-0.2.1/openadapt_ml/export/cli.py +89 -0
  157. openadapt_ml-0.2.1/openadapt_ml/export/parquet.py +277 -0
  158. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/grounding/detector.py +18 -14
  159. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/ingest/__init__.py +11 -10
  160. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/ingest/capture.py +97 -86
  161. openadapt_ml-0.2.1/openadapt_ml/ingest/loader.py +283 -0
  162. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/ingest/synthetic.py +344 -193
  163. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/models/api_adapter.py +14 -4
  164. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/models/base_adapter.py +10 -2
  165. openadapt_ml-0.2.1/openadapt_ml/models/providers/__init__.py +288 -0
  166. openadapt_ml-0.2.1/openadapt_ml/models/providers/anthropic.py +266 -0
  167. openadapt_ml-0.2.1/openadapt_ml/models/providers/base.py +299 -0
  168. openadapt_ml-0.2.1/openadapt_ml/models/providers/google.py +376 -0
  169. openadapt_ml-0.2.1/openadapt_ml/models/providers/openai.py +342 -0
  170. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/models/qwen_vl.py +46 -19
  171. openadapt_ml-0.2.1/openadapt_ml/perception/__init__.py +35 -0
  172. openadapt_ml-0.2.1/openadapt_ml/perception/integration.py +399 -0
  173. openadapt_ml-0.2.1/openadapt_ml/retrieval/README.md +226 -0
  174. openadapt_ml-0.2.1/openadapt_ml/retrieval/USAGE.md +391 -0
  175. openadapt_ml-0.2.1/openadapt_ml/retrieval/__init__.py +91 -0
  176. openadapt_ml-0.2.1/openadapt_ml/retrieval/demo_retriever.py +843 -0
  177. openadapt_ml-0.2.1/openadapt_ml/retrieval/embeddings.py +630 -0
  178. openadapt_ml-0.2.1/openadapt_ml/retrieval/index.py +194 -0
  179. openadapt_ml-0.2.1/openadapt_ml/retrieval/retriever.py +162 -0
  180. openadapt_ml-0.2.1/openadapt_ml/runtime/__init__.py +50 -0
  181. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/runtime/policy.py +27 -14
  182. openadapt_ml-0.2.1/openadapt_ml/runtime/safety_gate.py +471 -0
  183. openadapt_ml-0.2.1/openadapt_ml/schema/__init__.py +113 -0
  184. openadapt_ml-0.2.1/openadapt_ml/schema/converters.py +588 -0
  185. openadapt_ml-0.2.1/openadapt_ml/schema/episode.py +470 -0
  186. openadapt_ml-0.2.1/openadapt_ml/scripts/capture_screenshots.py +530 -0
  187. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/scripts/compare.py +102 -61
  188. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/scripts/demo_policy.py +4 -1
  189. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/scripts/eval_policy.py +19 -14
  190. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/scripts/make_gif.py +1 -1
  191. openadapt_ml-0.2.1/openadapt_ml/scripts/prepare_synthetic.py +42 -0
  192. openadapt_ml-0.2.1/openadapt_ml/scripts/train.py +197 -0
  193. openadapt_ml-0.2.1/openadapt_ml/segmentation/README.md +920 -0
  194. openadapt_ml-0.2.1/openadapt_ml/segmentation/__init__.py +97 -0
  195. openadapt_ml-0.2.1/openadapt_ml/segmentation/adapters/__init__.py +5 -0
  196. openadapt_ml-0.2.1/openadapt_ml/segmentation/adapters/capture_adapter.py +420 -0
  197. openadapt_ml-0.2.1/openadapt_ml/segmentation/annotator.py +610 -0
  198. openadapt_ml-0.2.1/openadapt_ml/segmentation/cache.py +290 -0
  199. openadapt_ml-0.2.1/openadapt_ml/segmentation/cli.py +674 -0
  200. openadapt_ml-0.2.1/openadapt_ml/segmentation/deduplicator.py +656 -0
  201. openadapt_ml-0.2.1/openadapt_ml/segmentation/frame_describer.py +788 -0
  202. openadapt_ml-0.2.1/openadapt_ml/segmentation/pipeline.py +340 -0
  203. openadapt_ml-0.2.1/openadapt_ml/segmentation/schemas.py +622 -0
  204. openadapt_ml-0.2.1/openadapt_ml/segmentation/segment_extractor.py +634 -0
  205. openadapt_ml-0.2.1/openadapt_ml/training/azure_ops_viewer.py +1097 -0
  206. openadapt_ml-0.2.1/openadapt_ml/training/benchmark_viewer.py +4774 -0
  207. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/training/shared_ui.py +7 -7
  208. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/training/stub_provider.py +57 -35
  209. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/training/trainer.py +255 -441
  210. openadapt_ml-0.2.1/openadapt_ml/training/trl_trainer.py +403 -0
  211. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/training/viewer.py +323 -108
  212. openadapt_ml-0.2.1/openadapt_ml/training/viewer_components.py +180 -0
  213. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/pyproject.toml +21 -3
  214. openadapt_ml-0.2.1/scripts/generate_vm_screenshots.py +193 -0
  215. openadapt_ml-0.2.1/scripts/generate_vm_screenshots_simple.py +190 -0
  216. openadapt_ml-0.2.1/scripts/p0_validate_demo_persistence.py +358 -0
  217. openadapt_ml-0.2.1/scripts/p1_episode_success_ab_test.py +967 -0
  218. openadapt_ml-0.2.1/scripts/run_demo_experiment.py +240 -0
  219. openadapt_ml-0.2.1/scripts/run_demo_experiment_n30.py +371 -0
  220. openadapt_ml-0.2.1/scripts/run_multistep_experiment.py +402 -0
  221. openadapt_ml-0.2.1/scripts/waa_bootstrap_helper.sh +85 -0
  222. openadapt_ml-0.2.1/scripts/waa_bootstrap_local.sh +132 -0
  223. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/tests/benchmarks/test_api_agent.py +2 -2
  224. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/tests/benchmarks/test_waa.py +9 -7
  225. openadapt_ml-0.2.1/tests/integration/test_benchmark_viewer.py +61 -0
  226. openadapt_ml-0.2.1/tests/integration/test_data_collection.py +170 -0
  227. openadapt_ml-0.2.1/tests/integration/test_live_eval.py +79 -0
  228. openadapt_ml-0.2.1/tests/integration/test_sse_endpoint.py +88 -0
  229. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/tests/test_action_parsing.py +17 -20
  230. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/tests/test_api_adapter.py +10 -2
  231. openadapt_ml-0.2.1/tests/test_baselines.py +619 -0
  232. openadapt_ml-0.2.1/tests/test_batching.py +54 -0
  233. openadapt_ml-0.2.1/tests/test_capture_adapter.py +48 -0
  234. openadapt_ml-0.2.1/tests/test_demo_persistence.py +400 -0
  235. openadapt_ml-0.2.1/tests/test_demo_retrieval.py +743 -0
  236. openadapt_ml-0.2.1/tests/test_gemini_grounding_imports.py +190 -0
  237. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/tests/test_local_cli.py +35 -74
  238. openadapt_ml-0.2.1/tests/test_mock_labeling.py +85 -0
  239. openadapt_ml-0.2.1/tests/test_negative_control.py +265 -0
  240. openadapt_ml-0.2.1/tests/test_parquet_export.py +174 -0
  241. openadapt_ml-0.2.1/tests/test_providers.py +492 -0
  242. openadapt_ml-0.2.1/tests/test_retrieval.py +243 -0
  243. openadapt_ml-0.2.1/tests/test_segmentation_pipeline.py +293 -0
  244. openadapt_ml-0.2.1/tests/test_terminal_output.py +28 -0
  245. openadapt_ml-0.2.1/tests/test_training_dummy.py +90 -0
  246. openadapt_ml-0.2.1/tests/test_trl_trainer.py +733 -0
  247. openadapt_ml-0.2.1/tests/test_viewer_screenshots.py +40 -0
  248. openadapt_ml-0.2.1/tests/test_waa_demo.py +358 -0
  249. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/uv.lock +1902 -44
  250. openadapt_ml-0.1.0/CLAUDE.md +0 -620
  251. openadapt_ml-0.1.0/docs/azure_acr_authentication.md +0 -159
  252. openadapt_ml-0.1.0/examples/train_from_json.py +0 -153
  253. openadapt_ml-0.1.0/openadapt_ml/benchmarks/__init__.py +0 -125
  254. openadapt_ml-0.1.0/openadapt_ml/benchmarks/base.py +0 -366
  255. openadapt_ml-0.1.0/openadapt_ml/benchmarks/cli.py +0 -884
  256. openadapt_ml-0.1.0/openadapt_ml/benchmarks/data_collection.py +0 -432
  257. openadapt_ml-0.1.0/openadapt_ml/benchmarks/runner.py +0 -381
  258. openadapt_ml-0.1.0/openadapt_ml/benchmarks/waa.py +0 -704
  259. openadapt_ml-0.1.0/openadapt_ml/cloud/local.py +0 -790
  260. openadapt_ml-0.1.0/openadapt_ml/ingest/loader.py +0 -232
  261. openadapt_ml-0.1.0/openadapt_ml/schemas/__init__.py +0 -53
  262. openadapt_ml-0.1.0/openadapt_ml/schemas/sessions.py +0 -122
  263. openadapt_ml-0.1.0/openadapt_ml/schemas/validation.py +0 -252
  264. openadapt_ml-0.1.0/openadapt_ml/scripts/prepare_synthetic.py +0 -43
  265. openadapt_ml-0.1.0/openadapt_ml/scripts/train.py +0 -174
  266. openadapt_ml-0.1.0/openadapt_ml/training/benchmark_viewer.py +0 -1538
  267. openadapt_ml-0.1.0/scripts/fix_acr_auth.py +0 -212
  268. openadapt_ml-0.1.0/tests/test_training_dummy.py +0 -26
  269. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/.env.example +0 -0
  270. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/.github/workflows/publish.yml +0 -0
  271. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/.gitmodules +0 -0
  272. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/.python-version +0 -0
  273. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/LICENSE +0 -0
  274. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen2_5vl_synthetic.yaml +0 -0
  275. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_capture.yaml +0 -0
  276. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_capture_4bit.yaml +0 -0
  277. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_capture_batched.yaml +0 -0
  278. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_synthetic.yaml +0 -0
  279. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_synthetic_coord_v2.yaml +0 -0
  280. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_synthetic_dev.yaml +0 -0
  281. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_synthetic_registration_som.yaml +0 -0
  282. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/configs/qwen3vl_synthetic_som.yaml +0 -0
  283. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/NEXT_STEPS_GROUNDING_ARCHITECTURE.md +0 -0
  284. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/PRIVACY_IMPLEMENTATION_PLAN.md +0 -0
  285. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/RECORD_IMPLEMENTATION_PLAN.md +0 -0
  286. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/auto_shutoff_design.md +0 -0
  287. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/batching_and_schedulers.md +0 -0
  288. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/benchmark_integration_plan.md +0 -0
  289. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/benchmark_next_steps.md +0 -0
  290. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/benchmark_viewer_phase2.md +0 -0
  291. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/dashboard_architecture.md +0 -0
  292. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/design.md +0 -0
  293. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/early_termination.md +0 -0
  294. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/eval_json_schema.md +0 -0
  295. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/gui_actor_integration.md +0 -0
  296. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/dashboard/training_bottom.png +0 -0
  297. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/dashboard/training_top.png +0 -0
  298. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/dashboard/viewer_bottom.png +0 -0
  299. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/dashboard/viewer_top.png +0 -0
  300. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/grounding_demo.png +0 -0
  301. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/grounding_demo_full.png +0 -0
  302. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/training-dashboard.png +0 -0
  303. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/images/viewer-comparison.png +0 -0
  304. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/opencua_integration.md +0 -0
  305. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/output_artifacts_and_media.md +0 -0
  306. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/prediction_loading_architecture.md +0 -0
  307. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/qwen_login_experiment.md +0 -0
  308. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/roadmap.md +0 -0
  309. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/set_of_marks_implementation.md +0 -0
  310. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/som_implementation_verification.md +0 -0
  311. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/state_and_next_steps_qwen_login.md +0 -0
  312. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/stub_training_adapter.md +0 -0
  313. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/synthetic_login_jitter_and_ablation.md +0 -0
  314. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/training_feedback_ux.md +0 -0
  315. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/unified_compute_architecture.md +0 -0
  316. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/viewer_eval_integration.md +0 -0
  317. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/viewer_layout_redesign.md +0 -0
  318. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/vision.md +0 -0
  319. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/docs/wandb_integration.md +0 -0
  320. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/examples/README.md +0 -0
  321. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/examples/sample_data.json +0 -0
  322. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/examples/test_gemini_grounding.py +0 -0
  323. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/2b_dev/media/qwen3_2b_login_demo.gif +0 -0
  324. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/2b_dev/media/qwen3_2b_login_demo_session_0001.gif +0 -0
  325. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/2b_dev/plots/base_vs_ft.png +0 -0
  326. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/2b_dev/plots/qwen3_2b_base_vs_ft_hardened_v2.png +0 -0
  327. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/2b_dev/plots/qwen_vs_apis.png +0 -0
  328. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/8b_hero/plots/qwen3_8b_base_vs_ft_hardened_v2.png +0 -0
  329. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/SOM_INVESTIGATION_REPORT.md +0 -0
  330. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/comprehensive_comparison.png +0 -0
  331. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/login_demo.gif +0 -0
  332. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/experiments/qwen_login/registration_demo.gif +0 -0
  333. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/__init__.py +0 -0
  334. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/cloud/__init__.py +0 -0
  335. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/config.py +0 -0
  336. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/datasets/__init__.py +0 -0
  337. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/evals/__init__.py +0 -0
  338. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/grounding/__init__.py +0 -0
  339. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/grounding/base.py +0 -0
  340. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/models/__init__.py +0 -0
  341. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/models/dummy_adapter.py +0 -0
  342. {openadapt_ml-0.1.0/openadapt_ml/runtime → openadapt_ml-0.2.1/openadapt_ml/scripts}/__init__.py +0 -0
  343. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/openadapt_ml/scripts/run_qwen_login_benchmark.py +0 -0
  344. {openadapt_ml-0.1.0/openadapt_ml/scripts → openadapt_ml-0.2.1/openadapt_ml/training}/__init__.py +0 -0
  345. {openadapt_ml-0.1.0 → openadapt_ml-0.2.1}/scripts/setup_azure.py +0 -0
  346. {openadapt_ml-0.1.0/openadapt_ml/training → openadapt_ml-0.2.1/tests}/__init__.py +0 -0
  347. {openadapt_ml-0.1.0/tests → openadapt_ml-0.2.1/tests/benchmarks}/__init__.py +0 -0
  348. {openadapt_ml-0.1.0/tests/benchmarks → openadapt_ml-0.2.1/tests/integration}/__init__.py +0 -0
@@ -0,0 +1,41 @@
1
+ name: Test
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - '**'
7
+ push:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ${{ matrix.os }}
14
+ strategy:
15
+ matrix:
16
+ os: [ubuntu-latest, macos-latest]
17
+ python-version: ['3.10', '3.11']
18
+
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v4
25
+ with:
26
+ version: "latest"
27
+
28
+ - name: Set up Python ${{ matrix.python-version }}
29
+ run: uv python install ${{ matrix.python-version }}
30
+
31
+ - name: Install dependencies
32
+ run: uv sync --all-extras
33
+
34
+ - name: Run ruff linter (check)
35
+ run: uv run ruff check openadapt_ml/
36
+
37
+ - name: Run ruff formatter (check)
38
+ run: uv run ruff format --check openadapt_ml/
39
+
40
+ - name: Run pytest
41
+ run: uv run pytest tests/ -v
@@ -1,6 +1,7 @@
1
1
  # Python-generated files
2
2
  __pycache__/
3
3
  *.py[oc]
4
+ *.pyc
4
5
  build/
5
6
  dist/
6
7
  wheels/
@@ -17,6 +18,7 @@ local_context_openadapt_ml_internal.md
17
18
  synthetic/
18
19
  synthetic_train/
19
20
  synthetic_train_dev/
21
+ synthetic_*/
20
22
 
21
23
  # Local OS cruft
22
24
  .DS_Store
@@ -36,6 +38,37 @@ checkpoints_*/
36
38
  eval_*.json
37
39
  benchmark_results/
38
40
  debug_*/
41
+ training_output*/
42
+
43
+ # JSONL data files (generated during experiments)
44
+ *.jsonl
45
+
46
+ # Live benchmark tracking
47
+ benchmark_live.json
48
+
49
+ # Experiment results directories
50
+ p0_results/
51
+ p1_results/
52
+
53
+ # External dependencies (cloned repos, vendored code)
54
+ external/
55
+
56
+ # Demo recordings
57
+ demos/
58
+
59
+ # Pytest cache
60
+ .pytest_cache/
61
+
62
+ # Coverage files
63
+ .coverage
64
+ .coverage.*
65
+ htmlcov/
66
+
67
+ # Analysis/debug artifacts
68
+ cli_analysis.json
69
+ dead_code_candidates.json
70
+ segmentation_output/
39
71
 
40
72
  # Internal documentation (not for public repo)
41
73
  docs/internal/
74
+ docs/private/