foodforthought-cli 0.2.7__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. ate/__init__.py +6 -0
  2. ate/__main__.py +16 -0
  3. ate/auth/__init__.py +1 -0
  4. ate/auth/device_flow.py +141 -0
  5. ate/auth/token_store.py +96 -0
  6. ate/behaviors/__init__.py +100 -0
  7. ate/behaviors/approach.py +399 -0
  8. ate/behaviors/common.py +686 -0
  9. ate/behaviors/tree.py +454 -0
  10. ate/cli.py +855 -3995
  11. ate/client.py +90 -0
  12. ate/commands/__init__.py +168 -0
  13. ate/commands/auth.py +389 -0
  14. ate/commands/bridge.py +448 -0
  15. ate/commands/data.py +185 -0
  16. ate/commands/deps.py +111 -0
  17. ate/commands/generate.py +384 -0
  18. ate/commands/memory.py +907 -0
  19. ate/commands/parts.py +166 -0
  20. ate/commands/primitive.py +399 -0
  21. ate/commands/protocol.py +288 -0
  22. ate/commands/recording.py +524 -0
  23. ate/commands/repo.py +154 -0
  24. ate/commands/simulation.py +291 -0
  25. ate/commands/skill.py +303 -0
  26. ate/commands/skills.py +487 -0
  27. ate/commands/team.py +147 -0
  28. ate/commands/workflow.py +271 -0
  29. ate/detection/__init__.py +38 -0
  30. ate/detection/base.py +142 -0
  31. ate/detection/color_detector.py +399 -0
  32. ate/detection/trash_detector.py +322 -0
  33. ate/drivers/__init__.py +39 -0
  34. ate/drivers/ble_transport.py +405 -0
  35. ate/drivers/mechdog.py +942 -0
  36. ate/drivers/wifi_camera.py +477 -0
  37. ate/interfaces/__init__.py +187 -0
  38. ate/interfaces/base.py +273 -0
  39. ate/interfaces/body.py +267 -0
  40. ate/interfaces/detection.py +282 -0
  41. ate/interfaces/locomotion.py +422 -0
  42. ate/interfaces/manipulation.py +408 -0
  43. ate/interfaces/navigation.py +389 -0
  44. ate/interfaces/perception.py +362 -0
  45. ate/interfaces/sensors.py +247 -0
  46. ate/interfaces/types.py +371 -0
  47. ate/llm_proxy.py +239 -0
  48. ate/mcp_server.py +387 -0
  49. ate/memory/__init__.py +35 -0
  50. ate/memory/cloud.py +244 -0
  51. ate/memory/context.py +269 -0
  52. ate/memory/embeddings.py +184 -0
  53. ate/memory/export.py +26 -0
  54. ate/memory/merge.py +146 -0
  55. ate/memory/migrate/__init__.py +34 -0
  56. ate/memory/migrate/base.py +89 -0
  57. ate/memory/migrate/pipeline.py +189 -0
  58. ate/memory/migrate/sources/__init__.py +13 -0
  59. ate/memory/migrate/sources/chroma.py +170 -0
  60. ate/memory/migrate/sources/pinecone.py +120 -0
  61. ate/memory/migrate/sources/qdrant.py +110 -0
  62. ate/memory/migrate/sources/weaviate.py +160 -0
  63. ate/memory/reranker.py +353 -0
  64. ate/memory/search.py +26 -0
  65. ate/memory/store.py +548 -0
  66. ate/recording/__init__.py +83 -0
  67. ate/recording/demonstration.py +378 -0
  68. ate/recording/session.py +415 -0
  69. ate/recording/upload.py +304 -0
  70. ate/recording/visual.py +416 -0
  71. ate/recording/wrapper.py +95 -0
  72. ate/robot/__init__.py +221 -0
  73. ate/robot/agentic_servo.py +856 -0
  74. ate/robot/behaviors.py +493 -0
  75. ate/robot/ble_capture.py +1000 -0
  76. ate/robot/ble_enumerate.py +506 -0
  77. ate/robot/calibration.py +668 -0
  78. ate/robot/calibration_state.py +388 -0
  79. ate/robot/commands.py +3735 -0
  80. ate/robot/direction_calibration.py +554 -0
  81. ate/robot/discovery.py +441 -0
  82. ate/robot/introspection.py +330 -0
  83. ate/robot/llm_system_id.py +654 -0
  84. ate/robot/locomotion_calibration.py +508 -0
  85. ate/robot/manager.py +270 -0
  86. ate/robot/marker_generator.py +611 -0
  87. ate/robot/perception.py +502 -0
  88. ate/robot/primitives.py +614 -0
  89. ate/robot/profiles.py +281 -0
  90. ate/robot/registry.py +322 -0
  91. ate/robot/servo_mapper.py +1153 -0
  92. ate/robot/skill_upload.py +675 -0
  93. ate/robot/target_calibration.py +500 -0
  94. ate/robot/teach.py +515 -0
  95. ate/robot/types.py +242 -0
  96. ate/robot/visual_labeler.py +1048 -0
  97. ate/robot/visual_servo_loop.py +494 -0
  98. ate/robot/visual_servoing.py +570 -0
  99. ate/robot/visual_system_id.py +906 -0
  100. ate/transports/__init__.py +121 -0
  101. ate/transports/base.py +394 -0
  102. ate/transports/ble.py +405 -0
  103. ate/transports/hybrid.py +444 -0
  104. ate/transports/serial.py +345 -0
  105. ate/urdf/__init__.py +30 -0
  106. ate/urdf/capture.py +582 -0
  107. ate/urdf/cloud.py +491 -0
  108. ate/urdf/collision.py +271 -0
  109. ate/urdf/commands.py +708 -0
  110. ate/urdf/depth.py +360 -0
  111. ate/urdf/inertial.py +312 -0
  112. ate/urdf/kinematics.py +330 -0
  113. ate/urdf/lifting.py +415 -0
  114. ate/urdf/meshing.py +300 -0
  115. ate/urdf/models/__init__.py +110 -0
  116. ate/urdf/models/depth_anything.py +253 -0
  117. ate/urdf/models/sam2.py +324 -0
  118. ate/urdf/motion_analysis.py +396 -0
  119. ate/urdf/pipeline.py +468 -0
  120. ate/urdf/scale.py +256 -0
  121. ate/urdf/scan_session.py +411 -0
  122. ate/urdf/segmentation.py +299 -0
  123. ate/urdf/synthesis.py +319 -0
  124. ate/urdf/topology.py +336 -0
  125. ate/urdf/validation.py +371 -0
  126. {foodforthought_cli-0.2.7.dist-info → foodforthought_cli-0.3.0.dist-info}/METADATA +9 -1
  127. foodforthought_cli-0.3.0.dist-info/RECORD +166 -0
  128. {foodforthought_cli-0.2.7.dist-info → foodforthought_cli-0.3.0.dist-info}/WHEEL +1 -1
  129. foodforthought_cli-0.2.7.dist-info/RECORD +0 -44
  130. {foodforthought_cli-0.2.7.dist-info → foodforthought_cli-0.3.0.dist-info}/entry_points.txt +0 -0
  131. {foodforthought_cli-0.2.7.dist-info → foodforthought_cli-0.3.0.dist-info}/top_level.txt +0 -0
ate/robot/__init__.py ADDED
@@ -0,0 +1,221 @@
1
+ """
2
+ Robot management system for ATE.
3
+
4
+ Provides:
5
+ - Auto-discovery of robots on network and USB
6
+ - Robot profiles for easy configuration
7
+ - Capability introspection
8
+ - Interactive setup wizard
9
+
10
+ Example usage:
11
+ from ate.robot import RobotManager, discover_robots
12
+
13
+ # Auto-discover robots
14
+ found = discover_robots()
15
+ # > [DiscoveredRobot(type='mechdog', port='/dev/cu.usbserial-10', camera_ip='192.168.1.100')]
16
+
17
+ # Load saved profile
18
+ manager = RobotManager()
19
+ dog = manager.get_robot("my_mechdog")
20
+
21
+ # Introspect capabilities
22
+ info = manager.get_capabilities(dog)
23
+ # > {'locomotion': ['walk', 'turn', 'stand'], 'camera': ['get_image']}
24
+ """
25
+
26
+ from .discovery import (
27
+ DiscoveredRobot,
28
+ discover_robots,
29
+ discover_serial_robots,
30
+ discover_network_cameras,
31
+ )
32
+
33
+ from .profiles import (
34
+ RobotProfile,
35
+ load_profile,
36
+ save_profile,
37
+ list_profiles,
38
+ delete_profile,
39
+ )
40
+
41
+ from .registry import (
42
+ RobotRegistry,
43
+ KNOWN_ROBOTS,
44
+ get_robot_info,
45
+ )
46
+
47
+ from .introspection import (
48
+ get_capabilities,
49
+ get_methods,
50
+ test_capability,
51
+ )
52
+
53
+ from .manager import (
54
+ RobotManager,
55
+ )
56
+
57
+ from .primitives import (
58
+ PrimitiveLibrary,
59
+ Primitive,
60
+ CompoundSkill,
61
+ Behavior,
62
+ HardwareRequirement,
63
+ create_mechdog_primitives,
64
+ )
65
+
66
+ from .perception import (
67
+ PerceptionSystem,
68
+ PerceptionResult,
69
+ LivePerceptionExecutor,
70
+ )
71
+
72
+ from .behaviors import (
73
+ BehaviorExecutor,
74
+ BehaviorResult,
75
+ DetectionResult,
76
+ )
77
+
78
+ from .visual_servoing import (
79
+ VisualServoController,
80
+ GreenBallDetector,
81
+ TargetDetection,
82
+ ServoState,
83
+ create_mechdog_servo_controller,
84
+ )
85
+
86
+ from .agentic_servo import (
87
+ AgenticServoController,
88
+ HaikuServoAgent,
89
+ AgentDecision,
90
+ run_agentic_pickup,
91
+ run_agentic_pickup_wifi,
92
+ )
93
+
94
+ from .servo_mapper import (
95
+ ServoProbe,
96
+ ServoMapperAgent,
97
+ ServoMapping,
98
+ ServoRange,
99
+ ServoType,
100
+ PrimitiveGenerator,
101
+ run_servo_mapping,
102
+ )
103
+
104
+ from .calibration_state import (
105
+ CalibrationState,
106
+ DirectionMapping,
107
+ check_prerequisite,
108
+ require_direction_calibration,
109
+ )
110
+
111
+ from .direction_calibration import (
112
+ DirectionCalibrator,
113
+ TwitchResult,
114
+ run_direction_calibration,
115
+ load_direction_calibration,
116
+ get_toward_direction,
117
+ )
118
+
119
+ from .visual_servo_loop import (
120
+ VisualServoLoop,
121
+ ServoConfig,
122
+ ServoRole,
123
+ ServoState,
124
+ ServoResult,
125
+ ServoIteration,
126
+ load_direction_calibration_for_servos,
127
+ )
128
+
129
+ from .target_calibration import (
130
+ TargetProfile,
131
+ TargetCalibrator,
132
+ HSVRange,
133
+ run_target_calibration,
134
+ list_target_profiles,
135
+ detect_with_profile,
136
+ )
137
+
138
+ __all__ = [
139
+ # Discovery
140
+ "DiscoveredRobot",
141
+ "discover_robots",
142
+ "discover_serial_robots",
143
+ "discover_network_cameras",
144
+ # Profiles
145
+ "RobotProfile",
146
+ "load_profile",
147
+ "save_profile",
148
+ "list_profiles",
149
+ "delete_profile",
150
+ # Registry
151
+ "RobotRegistry",
152
+ "KNOWN_ROBOTS",
153
+ "get_robot_info",
154
+ # Introspection
155
+ "get_capabilities",
156
+ "get_methods",
157
+ "test_capability",
158
+ # Manager
159
+ "RobotManager",
160
+ # Primitives
161
+ "PrimitiveLibrary",
162
+ "Primitive",
163
+ "CompoundSkill",
164
+ "Behavior",
165
+ "HardwareRequirement",
166
+ "create_mechdog_primitives",
167
+ # Perception
168
+ "PerceptionSystem",
169
+ "PerceptionResult",
170
+ "LivePerceptionExecutor",
171
+ # Behaviors
172
+ "BehaviorExecutor",
173
+ "BehaviorResult",
174
+ "DetectionResult",
175
+ # Visual Servoing
176
+ "VisualServoController",
177
+ "GreenBallDetector",
178
+ "TargetDetection",
179
+ "ServoState",
180
+ "create_mechdog_servo_controller",
181
+ # Agentic Servoing
182
+ "AgenticServoController",
183
+ "HaikuServoAgent",
184
+ "AgentDecision",
185
+ "run_agentic_pickup",
186
+ "run_agentic_pickup_wifi",
187
+ # Servo Mapping
188
+ "ServoProbe",
189
+ "ServoMapperAgent",
190
+ "ServoMapping",
191
+ "ServoRange",
192
+ "ServoType",
193
+ "PrimitiveGenerator",
194
+ "run_servo_mapping",
195
+ # Calibration State Machine
196
+ "CalibrationState",
197
+ "DirectionMapping",
198
+ "check_prerequisite",
199
+ "require_direction_calibration",
200
+ # Direction Calibration (Twitch Test)
201
+ "DirectionCalibrator",
202
+ "TwitchResult",
203
+ "run_direction_calibration",
204
+ "load_direction_calibration",
205
+ "get_toward_direction",
206
+ # Visual Servo Loop
207
+ "VisualServoLoop",
208
+ "ServoConfig",
209
+ "ServoRole",
210
+ "ServoState",
211
+ "ServoResult",
212
+ "ServoIteration",
213
+ "load_direction_calibration_for_servos",
214
+ # Target Detection Calibration
215
+ "TargetProfile",
216
+ "TargetCalibrator",
217
+ "HSVRange",
218
+ "run_target_calibration",
219
+ "list_target_profiles",
220
+ "detect_with_profile",
221
+ ]