polyrob 1.1.0__tar.gz → 1.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 (2359) hide show
  1. polyrob-1.2.1/MANIFEST.in +25 -0
  2. polyrob-1.2.1/PKG-INFO +606 -0
  3. polyrob-1.2.1/README.md +502 -0
  4. polyrob-1.2.1/agents/README.md +444 -0
  5. polyrob-1.2.1/agents/__init__.py +144 -0
  6. polyrob-1.2.1/agents/base_agent.py +724 -0
  7. polyrob-1.2.1/agents/personality/character_manager.py +327 -0
  8. polyrob-1.2.1/agents/prompt/__init__.py +46 -0
  9. polyrob-1.2.1/agents/task/__init__.py +166 -0
  10. polyrob-1.2.1/agents/task/agent/async_delegation.py +343 -0
  11. polyrob-1.2.1/agents/task/agent/conversation.py +88 -0
  12. polyrob-1.2.1/agents/task/agent/core/background_review.py +266 -0
  13. polyrob-1.2.1/agents/task/agent/core/construction.py +1580 -0
  14. polyrob-1.2.1/agents/task/agent/core/correspondent_gate.py +324 -0
  15. polyrob-1.2.1/agents/task/agent/core/curator.py +401 -0
  16. polyrob-1.2.1/agents/task/agent/core/env_context.py +121 -0
  17. polyrob-1.2.1/agents/task/agent/core/episodic_digest.py +109 -0
  18. polyrob-1.2.1/agents/task/agent/core/live_health.py +73 -0
  19. polyrob-1.2.1/agents/task/agent/core/llm_runner.py +694 -0
  20. polyrob-1.2.1/agents/task/agent/core/logging_io.py +272 -0
  21. polyrob-1.2.1/agents/task/agent/core/loop_detection.py +321 -0
  22. polyrob-1.2.1/agents/task/agent/core/memory_prefetch.py +360 -0
  23. polyrob-1.2.1/agents/task/agent/core/memory_writer.py +431 -0
  24. polyrob-1.2.1/agents/task/agent/core/model_swap.py +195 -0
  25. polyrob-1.2.1/agents/task/agent/core/next_action_internal.py +1619 -0
  26. polyrob-1.2.1/agents/task/agent/core/output_validation.py +335 -0
  27. polyrob-1.2.1/agents/task/agent/core/owner_thread_inject.py +164 -0
  28. polyrob-1.2.1/agents/task/agent/core/project_context.py +387 -0
  29. polyrob-1.2.1/agents/task/agent/core/result_budget.py +118 -0
  30. polyrob-1.2.1/agents/task/agent/core/result_offload.py +462 -0
  31. polyrob-1.2.1/agents/task/agent/core/result_processing.py +541 -0
  32. polyrob-1.2.1/agents/task/agent/core/run_loop.py +780 -0
  33. polyrob-1.2.1/agents/task/agent/core/runtime_catalog.py +102 -0
  34. polyrob-1.2.1/agents/task/agent/core/step.py +965 -0
  35. polyrob-1.2.1/agents/task/agent/core/step_execution.py +406 -0
  36. polyrob-1.2.1/agents/task/agent/core/step_telemetry.py +223 -0
  37. polyrob-1.2.1/agents/task/agent/core/tool_availability.py +124 -0
  38. polyrob-1.2.1/agents/task/agent/core/untrusted_render.py +98 -0
  39. polyrob-1.2.1/agents/task/agent/core/user_ingress.py +385 -0
  40. polyrob-1.2.1/agents/task/agent/message_manager/service.py +1038 -0
  41. polyrob-1.2.1/agents/task/agent/messages/builders.py +348 -0
  42. polyrob-1.2.1/agents/task/agent/messages/compactor.py +906 -0
  43. polyrob-1.2.1/agents/task/agent/messages/context_references.py +349 -0
  44. polyrob-1.2.1/agents/task/agent/messages/filters.py +518 -0
  45. polyrob-1.2.1/agents/task/agent/messages/foundation_layers.py +203 -0
  46. polyrob-1.2.1/agents/task/agent/messages/foundation_replay.py +251 -0
  47. polyrob-1.2.1/agents/task/agent/messages/guidance.py +359 -0
  48. polyrob-1.2.1/agents/task/agent/messages/persistence.py +519 -0
  49. polyrob-1.2.1/agents/task/agent/messages/retrieval.py +750 -0
  50. polyrob-1.2.1/agents/task/agent/messages/token_counter.py +762 -0
  51. polyrob-1.2.1/agents/task/agent/profile_manager.py +186 -0
  52. polyrob-1.2.1/agents/task/agent/profile_store.py +602 -0
  53. polyrob-1.2.1/agents/task/agent/prompts.py +1664 -0
  54. polyrob-1.2.1/agents/task/agent/service.py +457 -0
  55. polyrob-1.2.1/agents/task/agent/session.py +1191 -0
  56. polyrob-1.2.1/agents/task/agent/skill_allowed_tools.py +55 -0
  57. polyrob-1.2.1/agents/task/agent/skill_manager.py +1674 -0
  58. polyrob-1.2.1/agents/task/agent/skill_store.py +627 -0
  59. polyrob-1.2.1/agents/task/agent/skill_writer.py +700 -0
  60. polyrob-1.2.1/agents/task/agent/sub_agent_manager.py +1296 -0
  61. polyrob-1.2.1/agents/task/config.py +500 -0
  62. polyrob-1.2.1/agents/task/constants.py +858 -0
  63. polyrob-1.2.1/agents/task/conversation_resume.py +205 -0
  64. polyrob-1.2.1/agents/task/goals/board.py +2391 -0
  65. polyrob-1.2.1/agents/task/goals/context.py +223 -0
  66. polyrob-1.2.1/agents/task/goals/dispatcher.py +2358 -0
  67. polyrob-1.2.1/agents/task/goals/escalation.py +156 -0
  68. polyrob-1.2.1/agents/task/goals/memory_scope.py +123 -0
  69. polyrob-1.2.1/agents/task/goals/planner.py +458 -0
  70. polyrob-1.2.1/agents/task/goals/rail_answers.py +92 -0
  71. polyrob-1.2.1/agents/task/goals/rail_proposals.py +148 -0
  72. polyrob-1.2.1/agents/task/goals/rail_templates.py +165 -0
  73. polyrob-1.2.1/agents/task/goals/rails.py +661 -0
  74. polyrob-1.2.1/agents/task/goals/streams.py +769 -0
  75. polyrob-1.2.1/agents/task/path.py +1019 -0
  76. polyrob-1.2.1/agents/task/robust_parse_config.py +337 -0
  77. polyrob-1.2.1/agents/task/runtime/edit_verify.py +132 -0
  78. polyrob-1.2.1/agents/task/runtime/evidence.py +284 -0
  79. polyrob-1.2.1/agents/task/runtime/metering_gate.py +53 -0
  80. polyrob-1.2.1/agents/task/runtime/run_outcome.py +391 -0
  81. polyrob-1.2.1/agents/task/session/cleanup.py +821 -0
  82. polyrob-1.2.1/agents/task/session/hitl_ingress.py +320 -0
  83. polyrob-1.2.1/agents/task/session_class.py +111 -0
  84. polyrob-1.2.1/agents/task/task_agent_chat.py +565 -0
  85. polyrob-1.2.1/agents/task/task_agent_delivery.py +992 -0
  86. polyrob-1.2.1/agents/task/task_agent_support.py +189 -0
  87. polyrob-1.2.1/agents/task/telemetry/manager.py +556 -0
  88. polyrob-1.2.1/agents/task/telemetry/narrate.py +192 -0
  89. polyrob-1.2.1/agents/task/telemetry/sequence.py +156 -0
  90. polyrob-1.2.1/agents/task/telemetry/service.py +1225 -0
  91. polyrob-1.2.1/agents/task/tool_defaults.py +206 -0
  92. polyrob-1.2.1/agents/task/utils.py +619 -0
  93. polyrob-1.2.1/agents/task_agent_lite.py +977 -0
  94. polyrob-1.2.1/api/README.md +746 -0
  95. polyrob-1.2.1/api/a2a/agent_card.py +347 -0
  96. polyrob-1.2.1/api/a2a/streaming.py +503 -0
  97. polyrob-1.2.1/api/a2a/task_handler.py +1144 -0
  98. polyrob-1.2.1/api/admin_endpoints.py +1528 -0
  99. polyrob-1.2.1/api/api_key_auth.py +176 -0
  100. polyrob-1.2.1/api/app.py +1081 -0
  101. polyrob-1.2.1/api/auth_endpoints.py +490 -0
  102. polyrob-1.2.1/api/contributions.py +185 -0
  103. polyrob-1.2.1/api/dependencies.py +282 -0
  104. polyrob-1.2.1/api/jwt_middleware.py +95 -0
  105. polyrob-1.2.1/api/middleware.py +450 -0
  106. polyrob-1.2.1/api/money_contributions.py +187 -0
  107. polyrob-1.2.1/api/openai_compat/models.py +184 -0
  108. polyrob-1.2.1/api/openai_compat/router.py +316 -0
  109. polyrob-1.2.1/api/pack_routes.py +57 -0
  110. polyrob-1.2.1/api/payment_verification.py +137 -0
  111. polyrob-1.2.1/api/request_limits.py +193 -0
  112. polyrob-1.2.1/api/session_preflight.py +23 -0
  113. polyrob-1.2.1/api/task_http_api.py +1871 -0
  114. polyrob-1.2.1/api/upload_sniff.py +39 -0
  115. polyrob-1.2.1/api/upload_store.py +50 -0
  116. polyrob-1.2.1/api/webhooks.py +92 -0
  117. polyrob-1.2.1/api/x402_endpoints.py +516 -0
  118. polyrob-1.2.1/assets/brand/polyrob-avatar-512.png +0 -0
  119. polyrob-1.2.1/assets/brand/polyrob-mark-256.png +0 -0
  120. polyrob-1.2.1/cli/_admin_home.py +222 -0
  121. polyrob-1.2.1/cli/_flag_warn.py +43 -0
  122. polyrob-1.2.1/cli/commands/_errors.py +161 -0
  123. polyrob-1.2.1/cli/commands/_session_control.py +26 -0
  124. polyrob-1.2.1/cli/commands/apps.py +199 -0
  125. polyrob-1.2.1/cli/commands/auth.py +449 -0
  126. polyrob-1.2.1/cli/commands/avatar.py +221 -0
  127. polyrob-1.2.1/cli/commands/browser.py +603 -0
  128. polyrob-1.2.1/cli/commands/chat.py +1106 -0
  129. polyrob-1.2.1/cli/commands/config.py +745 -0
  130. polyrob-1.2.1/cli/commands/cron.py +499 -0
  131. polyrob-1.2.1/cli/commands/dashboard.py +138 -0
  132. polyrob-1.2.1/cli/commands/doctor.py +1454 -0
  133. polyrob-1.2.1/cli/commands/email.py +120 -0
  134. polyrob-1.2.1/cli/commands/gateway.py +329 -0
  135. polyrob-1.2.1/cli/commands/goals.py +670 -0
  136. polyrob-1.2.1/cli/commands/identity.py +126 -0
  137. polyrob-1.2.1/cli/commands/init.py +677 -0
  138. polyrob-1.2.1/cli/commands/journey.py +32 -0
  139. polyrob-1.2.1/cli/commands/kb.py +419 -0
  140. polyrob-1.2.1/cli/commands/model.py +193 -0
  141. polyrob-1.2.1/cli/commands/owner.py +1644 -0
  142. polyrob-1.2.1/cli/commands/owner_memory.py +162 -0
  143. polyrob-1.2.1/cli/commands/pack.py +426 -0
  144. polyrob-1.2.1/cli/commands/rails.py +167 -0
  145. polyrob-1.2.1/cli/commands/service.py +285 -0
  146. polyrob-1.2.1/cli/commands/session.py +727 -0
  147. polyrob-1.2.1/cli/commands/skill_hub.py +795 -0
  148. polyrob-1.2.1/cli/commands/skill_install.py +947 -0
  149. polyrob-1.2.1/cli/commands/soul.py +112 -0
  150. polyrob-1.2.1/cli/commands/surfaces.py +279 -0
  151. polyrob-1.2.1/cli/commands/tools.py +240 -0
  152. polyrob-1.2.1/cli/commands/uninstall.py +185 -0
  153. polyrob-1.2.1/cli/commands/update.py +625 -0
  154. polyrob-1.2.1/cli/commands/wallet.py +1842 -0
  155. polyrob-1.2.1/cli/commands/whatsapp.py +109 -0
  156. polyrob-1.2.1/cli/commands/workers.py +235 -0
  157. polyrob-1.2.1/cli/polyrob.py +332 -0
  158. polyrob-1.2.1/cli/surfaces_config.py +98 -0
  159. polyrob-1.2.1/cli/toolset.py +88 -0
  160. polyrob-1.2.1/cli/ui/approval_prompt.py +53 -0
  161. polyrob-1.2.1/cli/ui/autonomy_live.py +102 -0
  162. polyrob-1.2.1/cli/ui/autonomy_poll.py +81 -0
  163. polyrob-1.2.1/cli/ui/banner.py +242 -0
  164. polyrob-1.2.1/cli/ui/commands/h_a23.py +50 -0
  165. polyrob-1.2.1/cli/ui/commands/h_autonomy.py +184 -0
  166. polyrob-1.2.1/cli/ui/commands/h_avatar.py +66 -0
  167. polyrob-1.2.1/cli/ui/commands/h_cards.py +208 -0
  168. polyrob-1.2.1/cli/ui/commands/h_check.py +13 -0
  169. polyrob-1.2.1/cli/ui/commands/h_config.py +367 -0
  170. polyrob-1.2.1/cli/ui/commands/h_context.py +175 -0
  171. polyrob-1.2.1/cli/ui/commands/h_contributed.py +37 -0
  172. polyrob-1.2.1/cli/ui/commands/h_cron.py +249 -0
  173. polyrob-1.2.1/cli/ui/commands/h_finance.py +275 -0
  174. polyrob-1.2.1/cli/ui/commands/h_gates.py +201 -0
  175. polyrob-1.2.1/cli/ui/commands/h_goal_one.py +57 -0
  176. polyrob-1.2.1/cli/ui/commands/h_goals_view.py +122 -0
  177. polyrob-1.2.1/cli/ui/commands/h_help.py +349 -0
  178. polyrob-1.2.1/cli/ui/commands/h_holdings.py +30 -0
  179. polyrob-1.2.1/cli/ui/commands/h_inbox.py +136 -0
  180. polyrob-1.2.1/cli/ui/commands/h_journey.py +108 -0
  181. polyrob-1.2.1/cli/ui/commands/h_kb.py +115 -0
  182. polyrob-1.2.1/cli/ui/commands/h_mcp.py +241 -0
  183. polyrob-1.2.1/cli/ui/commands/h_money_verbs.py +155 -0
  184. polyrob-1.2.1/cli/ui/commands/h_owner.py +453 -0
  185. polyrob-1.2.1/cli/ui/commands/h_owner_reach.py +127 -0
  186. polyrob-1.2.1/cli/ui/commands/h_pending.py +124 -0
  187. polyrob-1.2.1/cli/ui/commands/h_rail.py +46 -0
  188. polyrob-1.2.1/cli/ui/commands/h_reject.py +136 -0
  189. polyrob-1.2.1/cli/ui/commands/h_rooms.py +400 -0
  190. polyrob-1.2.1/cli/ui/commands/h_run.py +17 -0
  191. polyrob-1.2.1/cli/ui/commands/h_send.py +13 -0
  192. polyrob-1.2.1/cli/ui/commands/h_skills.py +324 -0
  193. polyrob-1.2.1/cli/ui/commands/h_skills_hub.py +90 -0
  194. polyrob-1.2.1/cli/ui/commands/h_swap.py +13 -0
  195. polyrob-1.2.1/cli/ui/commands/h_token.py +79 -0
  196. polyrob-1.2.1/cli/ui/commands/h_workers.py +94 -0
  197. polyrob-1.2.1/cli/ui/commands/handlers.py +1732 -0
  198. polyrob-1.2.1/cli/ui/commands/registry.py +543 -0
  199. polyrob-1.2.1/cli/ui/history.py +51 -0
  200. polyrob-1.2.1/cli/ui/input_policy.py +42 -0
  201. polyrob-1.2.1/cli/ui/json_renderer.py +78 -0
  202. polyrob-1.2.1/cli/ui/persistent_loop.py +204 -0
  203. polyrob-1.2.1/cli/ui/plain_renderer.py +396 -0
  204. polyrob-1.2.1/cli/ui/secrets.py +192 -0
  205. polyrob-1.2.1/cli/ui/state.py +503 -0
  206. polyrob-1.2.1/cli/ui/statusbar.py +319 -0
  207. polyrob-1.2.1/cli/ui/theme.py +181 -0
  208. polyrob-1.2.1/cli/update/agent_state.py +158 -0
  209. polyrob-1.2.1/cli/update/extras.py +143 -0
  210. polyrob-1.2.1/cli/update/packs.py +273 -0
  211. polyrob-1.2.1/cli/update/process_guard.py +325 -0
  212. polyrob-1.2.1/cli/update/runners.py +241 -0
  213. polyrob-1.2.1/config/.env.development.template +279 -0
  214. polyrob-1.2.1/core/action_names.py +40 -0
  215. polyrob-1.2.1/core/activity_class.py +164 -0
  216. polyrob-1.2.1/core/app_service/approval.py +115 -0
  217. polyrob-1.2.1/core/app_service/config.py +156 -0
  218. polyrob-1.2.1/core/app_service/owner_ops.py +164 -0
  219. polyrob-1.2.1/core/app_service/registry.py +460 -0
  220. polyrob-1.2.1/core/app_service/snapshot.py +219 -0
  221. polyrob-1.2.1/core/app_service/supervisor.py +583 -0
  222. polyrob-1.2.1/core/artifacts.py +413 -0
  223. polyrob-1.2.1/core/autonomy_control.py +631 -0
  224. polyrob-1.2.1/core/autonomy_runtime.py +1255 -0
  225. polyrob-1.2.1/core/avatar.py +236 -0
  226. polyrob-1.2.1/core/billing_context.py +60 -0
  227. polyrob-1.2.1/core/book.py +129 -0
  228. polyrob-1.2.1/core/boot_reconcilers.py +32 -0
  229. polyrob-1.2.1/core/bootstrap.py +912 -0
  230. polyrob-1.2.1/core/bootstrap_marker.py +148 -0
  231. polyrob-1.2.1/core/config.py +696 -0
  232. polyrob-1.2.1/core/config_policy/__init__.py +50 -0
  233. polyrob-1.2.1/core/config_policy/autonomy_config.py +558 -0
  234. polyrob-1.2.1/core/config_policy/autonomy_mode.py +145 -0
  235. polyrob-1.2.1/core/config_policy/capability_toggles.py +441 -0
  236. polyrob-1.2.1/core/config_policy/live_apply.py +80 -0
  237. polyrob-1.2.1/core/config_policy/money_regime.py +102 -0
  238. polyrob-1.2.1/core/config_policy/payment_policy.py +158 -0
  239. polyrob-1.2.1/core/config_policy/payment_tools.py +65 -0
  240. polyrob-1.2.1/core/config_policy/policy.py +120 -0
  241. polyrob-1.2.1/core/config_policy/posture_card.py +155 -0
  242. polyrob-1.2.1/core/config_policy/profiles.py +184 -0
  243. polyrob-1.2.1/core/config_policy/rigs.py +232 -0
  244. polyrob-1.2.1/core/config_policy/spend_lane.py +230 -0
  245. polyrob-1.2.1/core/config_service.py +635 -0
  246. polyrob-1.2.1/core/container.py +220 -0
  247. polyrob-1.2.1/core/container_hardening.py +58 -0
  248. polyrob-1.2.1/core/context_fences.py +113 -0
  249. polyrob-1.2.1/core/copy/en.py +86 -0
  250. polyrob-1.2.1/core/copy/glossary.py +131 -0
  251. polyrob-1.2.1/core/credential_verdicts.py +545 -0
  252. polyrob-1.2.1/core/credit_sentinel.py +384 -0
  253. polyrob-1.2.1/core/data_perms.py +303 -0
  254. polyrob-1.2.1/core/db_manifest.py +180 -0
  255. polyrob-1.2.1/core/delivery_channels.py +103 -0
  256. polyrob-1.2.1/core/doc_claims.py +356 -0
  257. polyrob-1.2.1/core/doc_kind.py +181 -0
  258. polyrob-1.2.1/core/effects.py +356 -0
  259. polyrob-1.2.1/core/env_file.py +150 -0
  260. polyrob-1.2.1/core/event_kinds.py +239 -0
  261. polyrob-1.2.1/core/event_log.py +416 -0
  262. polyrob-1.2.1/core/exec_identity.py +76 -0
  263. polyrob-1.2.1/core/flags.py +222 -0
  264. polyrob-1.2.1/core/flags_catalog.py +839 -0
  265. polyrob-1.2.1/core/goal_board_render.py +188 -0
  266. polyrob-1.2.1/core/goal_legibility.py +131 -0
  267. polyrob-1.2.1/core/goal_suppressions.py +193 -0
  268. polyrob-1.2.1/core/goal_vocab.py +65 -0
  269. polyrob-1.2.1/core/initialization.py +997 -0
  270. polyrob-1.2.1/core/install_facts.py +115 -0
  271. polyrob-1.2.1/core/instance.py +845 -0
  272. polyrob-1.2.1/core/instruction_surfaces.py +85 -0
  273. polyrob-1.2.1/core/intel/__init__.py +9 -0
  274. polyrob-1.2.1/core/intel/cache.py +90 -0
  275. polyrob-1.2.1/core/intel/model.py +112 -0
  276. polyrob-1.2.1/core/intel/price.py +331 -0
  277. polyrob-1.2.1/core/interactive_gate.py +265 -0
  278. polyrob-1.2.1/core/kb_grammar.py +53 -0
  279. polyrob-1.2.1/core/lazy_closures/__init__.py +106 -0
  280. polyrob-1.2.1/core/lazy_closures/docs.docx.txt +187 -0
  281. polyrob-1.2.1/core/lazy_closures/docs.pdf.txt +7 -0
  282. polyrob-1.2.1/core/lazy_closures/media.gif.txt +235 -0
  283. polyrob-1.2.1/core/lazy_closures/media.qr.txt +10 -0
  284. polyrob-1.2.1/core/lazy_closures/memory.vector.txt +232 -0
  285. polyrob-1.2.1/core/lazy_closures/provider.anthropic.txt +296 -0
  286. polyrob-1.2.1/core/lazy_closures/provider.gemini.txt +594 -0
  287. polyrob-1.2.1/core/lazy_closures/server.api.txt +783 -0
  288. polyrob-1.2.1/core/lazy_closures/surface.telegram.txt +862 -0
  289. polyrob-1.2.1/core/lazy_closures/tool.anysite.txt +340 -0
  290. polyrob-1.2.1/core/lazy_closures/voice.transcribe.txt +402 -0
  291. polyrob-1.2.1/core/lazy_deps.py +597 -0
  292. polyrob-1.2.1/core/lazy_installer.py +430 -0
  293. polyrob-1.2.1/core/lazy_views.py +57 -0
  294. polyrob-1.2.1/core/lock_closure.py +446 -0
  295. polyrob-1.2.1/core/money/__init__.py +18 -0
  296. polyrob-1.2.1/core/money/authority.py +147 -0
  297. polyrob-1.2.1/core/money/authorize.py +213 -0
  298. polyrob-1.2.1/core/money/classify.py +56 -0
  299. polyrob-1.2.1/core/money/hooks.py +136 -0
  300. polyrob-1.2.1/core/money/ledger.py +463 -0
  301. polyrob-1.2.1/core/money/regime.py +64 -0
  302. polyrob-1.2.1/core/money_verbs.py +99 -0
  303. polyrob-1.2.1/core/open_positions.py +842 -0
  304. polyrob-1.2.1/core/optional_extras.py +146 -0
  305. polyrob-1.2.1/core/owner_create.py +243 -0
  306. polyrob-1.2.1/core/owner_doc_writer.py +115 -0
  307. polyrob-1.2.1/core/owner_remedy.py +332 -0
  308. polyrob-1.2.1/core/packs/__init__.py +10 -0
  309. polyrob-1.2.1/core/packs/index.json +52 -0
  310. polyrob-1.2.1/core/packs/index.py +170 -0
  311. polyrob-1.2.1/core/packs/loader.py +635 -0
  312. polyrob-1.2.1/core/packs/manifest.py +344 -0
  313. polyrob-1.2.1/core/packs/removed.json +1 -0
  314. polyrob-1.2.1/core/packs/retire.py +280 -0
  315. polyrob-1.2.1/core/packs/sdk.py +84 -0
  316. polyrob-1.2.1/core/packs/spec.py +98 -0
  317. polyrob-1.2.1/core/packs/state.py +223 -0
  318. polyrob-1.2.1/core/path_safety.py +179 -0
  319. polyrob-1.2.1/core/payment_config.py +23 -0
  320. polyrob-1.2.1/core/payments/assets.py +357 -0
  321. polyrob-1.2.1/core/position_ledger.py +208 -0
  322. polyrob-1.2.1/core/prefs.py +1559 -0
  323. polyrob-1.2.1/core/publish.py +447 -0
  324. polyrob-1.2.1/core/rails/financial_claims.py +335 -0
  325. polyrob-1.2.1/core/rate_limit.py +296 -0
  326. polyrob-1.2.1/core/recap.py +265 -0
  327. polyrob-1.2.1/core/remedy.py +75 -0
  328. polyrob-1.2.1/core/rules_sweep.py +207 -0
  329. polyrob-1.2.1/core/run_control.py +137 -0
  330. polyrob-1.2.1/core/schedule.py +199 -0
  331. polyrob-1.2.1/core/secret_patterns.py +267 -0
  332. polyrob-1.2.1/core/secret_scrub.py +102 -0
  333. polyrob-1.2.1/core/security/browser_rail.py +282 -0
  334. polyrob-1.2.1/core/security/custody_env.py +146 -0
  335. polyrob-1.2.1/core/security/encryption.py +242 -0
  336. polyrob-1.2.1/core/security/host_execution.py +52 -0
  337. polyrob-1.2.1/core/security/pinned_resolver.py +112 -0
  338. polyrob-1.2.1/core/security/pinned_transport.py +125 -0
  339. polyrob-1.2.1/core/security/process_hardening.py +111 -0
  340. polyrob-1.2.1/core/security/redaction.py +94 -0
  341. polyrob-1.2.1/core/security/refusal_taint.py +110 -0
  342. polyrob-1.2.1/core/security/refusals.py +54 -0
  343. polyrob-1.2.1/core/security/secret_guard.py +636 -0
  344. polyrob-1.2.1/core/security/untrusted_wrap.py +129 -0
  345. polyrob-1.2.1/core/security/workspace_io.py +143 -0
  346. polyrob-1.2.1/core/security_digest.py +242 -0
  347. polyrob-1.2.1/core/security_logging_filter.py +443 -0
  348. polyrob-1.2.1/core/security_speakers.py +130 -0
  349. polyrob-1.2.1/core/self_context_writer.py +548 -0
  350. polyrob-1.2.1/core/self_evolution.py +1023 -0
  351. polyrob-1.2.1/core/session_control.py +104 -0
  352. polyrob-1.2.1/core/session_retention.py +288 -0
  353. polyrob-1.2.1/core/signer/__init__.py +74 -0
  354. polyrob-1.2.1/core/signer/approvals.py +53 -0
  355. polyrob-1.2.1/core/signer/attest.py +79 -0
  356. polyrob-1.2.1/core/signer/caps.py +273 -0
  357. polyrob-1.2.1/core/signer/client.py +66 -0
  358. polyrob-1.2.1/core/signer/protocol.py +251 -0
  359. polyrob-1.2.1/core/signer/provision.py +128 -0
  360. polyrob-1.2.1/core/signer/remote.py +297 -0
  361. polyrob-1.2.1/core/signer/runtime.py +104 -0
  362. polyrob-1.2.1/core/signer/server.py +761 -0
  363. polyrob-1.2.1/core/signer/shadow.py +205 -0
  364. polyrob-1.2.1/core/signer/store.py +194 -0
  365. polyrob-1.2.1/core/status_custody.py +211 -0
  366. polyrob-1.2.1/core/status_economics.py +266 -0
  367. polyrob-1.2.1/core/status_knowledge.py +332 -0
  368. polyrob-1.2.1/core/status_liquidity.py +54 -0
  369. polyrob-1.2.1/core/status_live.py +126 -0
  370. polyrob-1.2.1/core/status_money.py +496 -0
  371. polyrob-1.2.1/core/status_packs.py +48 -0
  372. polyrob-1.2.1/core/status_render.py +270 -0
  373. polyrob-1.2.1/core/status_room_actions.py +71 -0
  374. polyrob-1.2.1/core/status_rules.py +296 -0
  375. polyrob-1.2.1/core/status_sections.py +146 -0
  376. polyrob-1.2.1/core/status_snapshot.py +2128 -0
  377. polyrob-1.2.1/core/status_tools.py +137 -0
  378. polyrob-1.2.1/core/surfaces/__init__.py +37 -0
  379. polyrob-1.2.1/core/surfaces/access.py +332 -0
  380. polyrob-1.2.1/core/surfaces/access_log.py +166 -0
  381. polyrob-1.2.1/core/surfaces/act.py +42 -0
  382. polyrob-1.2.1/core/surfaces/actions.py +147 -0
  383. polyrob-1.2.1/core/surfaces/attachments.py +230 -0
  384. polyrob-1.2.1/core/surfaces/binding.py +251 -0
  385. polyrob-1.2.1/core/surfaces/bootstrap.py +286 -0
  386. polyrob-1.2.1/core/surfaces/bot_pair_guard.py +78 -0
  387. polyrob-1.2.1/core/surfaces/cards.py +906 -0
  388. polyrob-1.2.1/core/surfaces/catalog.py +344 -0
  389. polyrob-1.2.1/core/surfaces/circuit.py +283 -0
  390. polyrob-1.2.1/core/surfaces/command_reply.py +60 -0
  391. polyrob-1.2.1/core/surfaces/config.py +294 -0
  392. polyrob-1.2.1/core/surfaces/continuity.py +80 -0
  393. polyrob-1.2.1/core/surfaces/correspondents.py +561 -0
  394. polyrob-1.2.1/core/surfaces/dead_targets.py +240 -0
  395. polyrob-1.2.1/core/surfaces/dispatcher.py +819 -0
  396. polyrob-1.2.1/core/surfaces/envelopes.py +168 -0
  397. polyrob-1.2.1/core/surfaces/gc.py +77 -0
  398. polyrob-1.2.1/core/surfaces/group_turn.py +292 -0
  399. polyrob-1.2.1/core/surfaces/health.py +92 -0
  400. polyrob-1.2.1/core/surfaces/idempotency.py +175 -0
  401. polyrob-1.2.1/core/surfaces/inbound_attachments.py +409 -0
  402. polyrob-1.2.1/core/surfaces/inbound_webhook.py +335 -0
  403. polyrob-1.2.1/core/surfaces/inbox_render.py +389 -0
  404. polyrob-1.2.1/core/surfaces/ledger_ingest.py +280 -0
  405. polyrob-1.2.1/core/surfaces/media.py +56 -0
  406. polyrob-1.2.1/core/surfaces/message_router.py +514 -0
  407. polyrob-1.2.1/core/surfaces/outbound_allowlist.py +95 -0
  408. polyrob-1.2.1/core/surfaces/outbound_dispatcher.py +322 -0
  409. polyrob-1.2.1/core/surfaces/outbound_queue.py +252 -0
  410. polyrob-1.2.1/core/surfaces/outbound_target.py +168 -0
  411. polyrob-1.2.1/core/surfaces/owner_address.py +76 -0
  412. polyrob-1.2.1/core/surfaces/owner_admin.py +273 -0
  413. polyrob-1.2.1/core/surfaces/owner_intent.py +69 -0
  414. polyrob-1.2.1/core/surfaces/owner_thread.py +634 -0
  415. polyrob-1.2.1/core/surfaces/path_links.py +184 -0
  416. polyrob-1.2.1/core/surfaces/quiet_hours.py +117 -0
  417. polyrob-1.2.1/core/surfaces/recap.py +116 -0
  418. polyrob-1.2.1/core/surfaces/rendering.py +296 -0
  419. polyrob-1.2.1/core/surfaces/room_action_admin.py +311 -0
  420. polyrob-1.2.1/core/surfaces/room_action_store.py +348 -0
  421. polyrob-1.2.1/core/surfaces/room_actions.py +1132 -0
  422. polyrob-1.2.1/core/surfaces/room_caps.py +153 -0
  423. polyrob-1.2.1/core/surfaces/room_policy.py +234 -0
  424. polyrob-1.2.1/core/surfaces/send_policy.py +24 -0
  425. polyrob-1.2.1/core/surfaces/speech_out.py +164 -0
  426. polyrob-1.2.1/core/surfaces/surface.py +320 -0
  427. polyrob-1.2.1/core/surfaces/tappable.py +87 -0
  428. polyrob-1.2.1/core/surfaces/transcription.py +91 -0
  429. polyrob-1.2.1/core/surfaces/turn_reply.py +83 -0
  430. polyrob-1.2.1/core/surfaces/user_delivery.py +1287 -0
  431. polyrob-1.2.1/core/token_check_hook.py +32 -0
  432. polyrob-1.2.1/core/tool_capabilities.py +545 -0
  433. polyrob-1.2.1/core/tool_catalog.py +227 -0
  434. polyrob-1.2.1/core/tool_gates.py +83 -0
  435. polyrob-1.2.1/core/tool_grants.py +306 -0
  436. polyrob-1.2.1/core/verb_policy.py +272 -0
  437. polyrob-1.2.1/core/verb_policy_rows.py +565 -0
  438. polyrob-1.2.1/core/verbs.py +473 -0
  439. polyrob-1.2.1/core/version.py +75 -0
  440. polyrob-1.2.1/core/wallet/__init__.py +46 -0
  441. polyrob-1.2.1/core/wallet/account_journal.py +85 -0
  442. polyrob-1.2.1/core/wallet/activity.py +550 -0
  443. polyrob-1.2.1/core/wallet/address_kind.py +114 -0
  444. polyrob-1.2.1/core/wallet/addresses.py +135 -0
  445. polyrob-1.2.1/core/wallet/agent_wallet.py +353 -0
  446. polyrob-1.2.1/core/wallet/audit_sink.py +424 -0
  447. polyrob-1.2.1/core/wallet/authority.py +15 -0
  448. polyrob-1.2.1/core/wallet/bridge_guard.py +504 -0
  449. polyrob-1.2.1/core/wallet/broadcast/evm.py +431 -0
  450. polyrob-1.2.1/core/wallet/buy_target.py +282 -0
  451. polyrob-1.2.1/core/wallet/chains.py +631 -0
  452. polyrob-1.2.1/core/wallet/collection_mint.py +251 -0
  453. polyrob-1.2.1/core/wallet/collection_registry.py +346 -0
  454. polyrob-1.2.1/core/wallet/collection_reveal.py +229 -0
  455. polyrob-1.2.1/core/wallet/collection_trust.py +371 -0
  456. polyrob-1.2.1/core/wallet/config.py +427 -0
  457. polyrob-1.2.1/core/wallet/deploy_guard.py +431 -0
  458. polyrob-1.2.1/core/wallet/derivation.py +198 -0
  459. polyrob-1.2.1/core/wallet/dex_registry.py +186 -0
  460. polyrob-1.2.1/core/wallet/erc6551.py +614 -0
  461. polyrob-1.2.1/core/wallet/erc8004.py +138 -0
  462. polyrob-1.2.1/core/wallet/evm_facts.py +180 -0
  463. polyrob-1.2.1/core/wallet/factory.py +185 -0
  464. polyrob-1.2.1/core/wallet/journal_log.py +117 -0
  465. polyrob-1.2.1/core/wallet/liquidity_guard.py +378 -0
  466. polyrob-1.2.1/core/wallet/nft_account.py +385 -0
  467. polyrob-1.2.1/core/wallet/nft_holdings.py +399 -0
  468. polyrob-1.2.1/core/wallet/onchain.py +269 -0
  469. polyrob-1.2.1/core/wallet/policy.py +14 -0
  470. polyrob-1.2.1/core/wallet/signer_cap_drift.py +99 -0
  471. polyrob-1.2.1/core/wallet/simulation.py +596 -0
  472. polyrob-1.2.1/core/wallet/solana_onchain.py +230 -0
  473. polyrob-1.2.1/core/wallet/solana_rail.py +210 -0
  474. polyrob-1.2.1/core/wallet/solana_signer.py +216 -0
  475. polyrob-1.2.1/core/wallet/solana_simulation.py +309 -0
  476. polyrob-1.2.1/core/wallet/solana_tx_inspect.py +793 -0
  477. polyrob-1.2.1/core/wallet/solana_x402.py +206 -0
  478. polyrob-1.2.1/core/wallet/spl_facts.py +323 -0
  479. polyrob-1.2.1/core/wallet/spl_token.py +583 -0
  480. polyrob-1.2.1/core/wallet/submission_journal.py +193 -0
  481. polyrob-1.2.1/core/wallet/submission_recovery.py +160 -0
  482. polyrob-1.2.1/core/wallet/submission_release.py +247 -0
  483. polyrob-1.2.1/core/wallet/submission_store.py +297 -0
  484. polyrob-1.2.1/core/wallet/token_origin.py +431 -0
  485. polyrob-1.2.1/core/wallet/token_pins.py +411 -0
  486. polyrob-1.2.1/core/wallet/token_provenance.py +302 -0
  487. polyrob-1.2.1/core/wallet/token_trust.py +449 -0
  488. polyrob-1.2.1/core/wallet/tokens.py +421 -0
  489. polyrob-1.2.1/core/wallet/trade_index.py +100 -0
  490. polyrob-1.2.1/core/wallet/treasury_balance.py +77 -0
  491. polyrob-1.2.1/core/wallet/tx_guard.py +2771 -0
  492. polyrob-1.2.1/core/wallet/tx_notify.py +402 -0
  493. polyrob-1.2.1/core/wallet/view.py +147 -0
  494. polyrob-1.2.1/cron/README.md +78 -0
  495. polyrob-1.2.1/cron/credential_preflight.py +193 -0
  496. polyrob-1.2.1/cron/delivery.py +642 -0
  497. polyrob-1.2.1/cron/digest.py +253 -0
  498. polyrob-1.2.1/cron/preflight.py +100 -0
  499. polyrob-1.2.1/cron/read_job.py +253 -0
  500. polyrob-1.2.1/cron/remedy_streak.py +171 -0
  501. polyrob-1.2.1/cron/rig_edit.py +91 -0
  502. polyrob-1.2.1/cron/runner.py +685 -0
  503. polyrob-1.2.1/cron/schedule.py +15 -0
  504. polyrob-1.2.1/cron/service.py +307 -0
  505. polyrob-1.2.1/cron/write_job.py +152 -0
  506. polyrob-1.2.1/data/prompts/skills/browser-automation/SKILL.md +55 -0
  507. polyrob-1.2.1/data/prompts/skills/crypto-trading-safety/SKILL.md +84 -0
  508. polyrob-1.2.1/data/prompts/skills/dca/SKILL.md +84 -0
  509. polyrob-1.2.1/data/prompts/skills/defi-bridge/SKILL.md +122 -0
  510. polyrob-1.2.1/data/prompts/skills/defi-liquidity/SKILL.md +63 -0
  511. polyrob-1.2.1/data/prompts/skills/document-writing/SKILL.md +33 -0
  512. polyrob-1.2.1/data/prompts/skills/email-comms/SKILL.md +39 -0
  513. polyrob-1.2.1/data/prompts/skills/exits/SKILL.md +99 -0
  514. polyrob-1.2.1/data/prompts/skills/memecoin-scouting/SKILL.md +247 -0
  515. polyrob-1.2.1/data/prompts/skills/person-analyzer/SKILL.md +124 -0
  516. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/SKILL.md +225 -0
  517. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/references/autonomy.md +93 -0
  518. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/references/configuration.md +821 -0
  519. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/references/money-and-safety.md +133 -0
  520. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/references/setup-interview.md +135 -0
  521. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/references/surfaces.md +115 -0
  522. polyrob-1.2.1/data/prompts/skills/polyrob-user-guide/references/wallet-and-identity.md +158 -0
  523. polyrob-1.2.1/data/prompts/skills/position-journal/SKILL.md +102 -0
  524. polyrob-1.2.1/data/prompts/skills/post-trade-verify/SKILL.md +85 -0
  525. polyrob-1.2.1/data/prompts/skills/pre-trade-check/SKILL.md +83 -0
  526. polyrob-1.2.1/data/prompts/skills/robinhood-chain/SKILL.md +124 -0
  527. polyrob-1.2.1/data/prompts/skills/rules.json +1032 -0
  528. polyrob-1.2.1/data/prompts/skills/secret-handling/SKILL.md +32 -0
  529. polyrob-1.2.1/data/prompts/skills/self-deploy/SKILL.md +174 -0
  530. polyrob-1.2.1/data/prompts/skills/sizing-and-risk/SKILL.md +101 -0
  531. polyrob-1.2.1/data/prompts/skills/skill-authoring/SKILL.md +34 -0
  532. polyrob-1.2.1/data/prompts/skills/skill-security-review/SKILL.md +54 -0
  533. polyrob-1.2.1/data/prompts/skills/stable-cash/SKILL.md +55 -0
  534. polyrob-1.2.1/data/prompts/skills/task-planning/SKILL.md +33 -0
  535. polyrob-1.2.1/data/prompts/skills/token-identity/SKILL.md +157 -0
  536. polyrob-1.2.1/data/prompts/skills/token-launch/SKILL.md +176 -0
  537. polyrob-1.2.1/data/prompts/skills/trade-execution/SKILL.md +112 -0
  538. polyrob-1.2.1/data/prompts/skills/treasury-trading/SKILL.md +496 -0
  539. polyrob-1.2.1/data/prompts/skills/verified-tooling/SKILL.md +61 -0
  540. polyrob-1.2.1/data/prompts/skills/web-research/SKILL.md +41 -0
  541. polyrob-1.2.1/data/prompts/skills/x402-pay/SKILL.md +90 -0
  542. polyrob-1.2.1/docs/CONFIGURATION.md +1490 -0
  543. polyrob-1.2.1/docs/guide/api.md +652 -0
  544. polyrob-1.2.1/docs/guide/architecture.md +237 -0
  545. polyrob-1.2.1/docs/guide/cli.md +856 -0
  546. polyrob-1.2.1/docs/guide/configuration.md +769 -0
  547. polyrob-1.2.1/docs/guide/console.md +200 -0
  548. polyrob-1.2.1/docs/guide/conversation.md +65 -0
  549. polyrob-1.2.1/docs/guide/feishu-dingtalk.md +109 -0
  550. polyrob-1.2.1/docs/guide/getting-started.md +414 -0
  551. polyrob-1.2.1/docs/guide/groups.md +582 -0
  552. polyrob-1.2.1/docs/guide/instances.md +250 -0
  553. polyrob-1.2.1/docs/guide/owner-controls.md +367 -0
  554. polyrob-1.2.1/docs/guide/packs.md +140 -0
  555. polyrob-1.2.1/docs/guide/payments.md +1476 -0
  556. polyrob-1.2.1/docs/guide/security-model.md +448 -0
  557. polyrob-1.2.1/docs/guide/self-hosting.md +454 -0
  558. polyrob-1.2.1/docs/guide/skills.md +301 -0
  559. polyrob-1.2.1/docs/guide/streams.md +344 -0
  560. polyrob-1.2.1/docs/guide/x-twitter.md +132 -0
  561. polyrob-1.2.1/migrations/migrate.py +281 -0
  562. polyrob-1.2.1/migrations/version_manager.py +239 -0
  563. polyrob-1.2.1/migrations/versions/v1_10_0_usage_records_cache_creation.py +106 -0
  564. polyrob-1.2.1/modules/README.md +507 -0
  565. polyrob-1.2.1/modules/auth/identity_mapper.py +336 -0
  566. polyrob-1.2.1/modules/auth/siwe_auth.py +395 -0
  567. polyrob-1.2.1/modules/avatar/__init__.py +1 -0
  568. polyrob-1.2.1/modules/avatar/push.py +217 -0
  569. polyrob-1.2.1/modules/cards/__init__.py +1 -0
  570. polyrob-1.2.1/modules/cards/cards.py +392 -0
  571. polyrob-1.2.1/modules/credits/balances.py +79 -0
  572. polyrob-1.2.1/modules/credits/pricing.py +255 -0
  573. polyrob-1.2.1/modules/credits/unified_ledger.py +398 -0
  574. polyrob-1.2.1/modules/credits/usage_tracker.py +867 -0
  575. polyrob-1.2.1/modules/database/auth_tables.py +362 -0
  576. polyrob-1.2.1/modules/eip8004/README.md +1090 -0
  577. polyrob-1.2.1/modules/eip8004/models.py +319 -0
  578. polyrob-1.2.1/modules/eip8004/registration.py +298 -0
  579. polyrob-1.2.1/modules/eip8004/reputation.py +625 -0
  580. polyrob-1.2.1/modules/llm/adapters.py +1107 -0
  581. polyrob-1.2.1/modules/llm/anthropic_client.py +921 -0
  582. polyrob-1.2.1/modules/llm/anthropic_sampling.py +156 -0
  583. polyrob-1.2.1/modules/llm/aux_metering.py +171 -0
  584. polyrob-1.2.1/modules/llm/cache_hints.py +458 -0
  585. polyrob-1.2.1/modules/llm/compat_anthropic.py +101 -0
  586. polyrob-1.2.1/modules/llm/compat_clients.py +151 -0
  587. polyrob-1.2.1/modules/llm/deepseek_client.py +560 -0
  588. polyrob-1.2.1/modules/llm/deferred_tools.py +540 -0
  589. polyrob-1.2.1/modules/llm/gemini_client.py +1361 -0
  590. polyrob-1.2.1/modules/llm/llm_client_registry.py +291 -0
  591. polyrob-1.2.1/modules/llm/llm_factory.py +298 -0
  592. polyrob-1.2.1/modules/llm/llm_manager.py +861 -0
  593. polyrob-1.2.1/modules/llm/messages.py +416 -0
  594. polyrob-1.2.1/modules/llm/model_catalog.py +1591 -0
  595. polyrob-1.2.1/modules/llm/model_pricing.py +65 -0
  596. polyrob-1.2.1/modules/llm/model_registry.py +427 -0
  597. polyrob-1.2.1/modules/llm/model_types.py +260 -0
  598. polyrob-1.2.1/modules/llm/openai_client.py +901 -0
  599. polyrob-1.2.1/modules/llm/openrouter_client.py +960 -0
  600. polyrob-1.2.1/modules/llm/openrouter_reasoning.py +110 -0
  601. polyrob-1.2.1/modules/llm/prefix_stamp.py +105 -0
  602. polyrob-1.2.1/modules/llm/responses_client.py +275 -0
  603. polyrob-1.2.1/modules/llm/seat_probe.py +220 -0
  604. polyrob-1.2.1/modules/llm/token_counter.py +274 -0
  605. polyrob-1.2.1/modules/llm/usage_extract.py +280 -0
  606. polyrob-1.2.1/modules/memory/backend_factory.py +95 -0
  607. polyrob-1.2.1/modules/memory/cache_manager.py +207 -0
  608. polyrob-1.2.1/modules/memory/episodic.py +125 -0
  609. polyrob-1.2.1/modules/memory/local_vector_memory_provider.py +690 -0
  610. polyrob-1.2.1/modules/memory/recall_consolidation.py +292 -0
  611. polyrob-1.2.1/modules/memory/registry.py +273 -0
  612. polyrob-1.2.1/modules/memory/scope.py +277 -0
  613. polyrob-1.2.1/modules/memory/sqlite_curated_store.py +353 -0
  614. polyrob-1.2.1/modules/memory/sqlite_memory_provider.py +466 -0
  615. polyrob-1.2.1/modules/memory/sqlite_scope_store.py +254 -0
  616. polyrob-1.2.1/modules/memory/task/__init__.py +49 -0
  617. polyrob-1.2.1/modules/memory/task/hierarchical_memory.py +787 -0
  618. polyrob-1.2.1/modules/memory/task/semantic_retriever.py +233 -0
  619. polyrob-1.2.1/modules/memory/task/task_context_manager.py +1106 -0
  620. polyrob-1.2.1/modules/payments/deposit_monitor.py +510 -0
  621. polyrob-1.2.1/modules/payments/treasury_sweeper.py +411 -0
  622. polyrob-1.2.1/modules/payments/wallet_generator.py +140 -0
  623. polyrob-1.2.1/modules/x402/inbound_receipts.py +53 -0
  624. polyrob-1.2.1/modules/x402/invoice_jitter.py +358 -0
  625. polyrob-1.2.1/modules/x402/invoicing.py +1169 -0
  626. polyrob-1.2.1/modules/x402/middleware.py +595 -0
  627. polyrob-1.2.1/modules/x402/onchain_probe.py +144 -0
  628. polyrob-1.2.1/modules/x402/settlement_scan.py +952 -0
  629. polyrob-1.2.1/modules/x402/settlement_subscriptions.py +304 -0
  630. polyrob-1.2.1/modules/x402/solana_settlement.py +164 -0
  631. polyrob-1.2.1/modules/x402/subscriptions.py +565 -0
  632. polyrob-1.2.1/modules/x402/x402_integration.py +572 -0
  633. polyrob-1.2.1/packs/discovery/polyrob_discovery/__init__.py +32 -0
  634. polyrob-1.2.1/packs/discovery/polyrob_discovery/anysite/client.py +241 -0
  635. polyrob-1.2.1/packs/discovery/polyrob_discovery/anysite/tool.py +253 -0
  636. polyrob-1.2.1/packs/discovery/polyrob_discovery/pack.toml +48 -0
  637. polyrob-1.2.1/packs/discovery/polyrob_discovery/perplexity.py +322 -0
  638. polyrob-1.2.1/packs/discovery/polyrob_discovery/skills/rules.json +62 -0
  639. polyrob-1.2.1/packs/discovery/polyrob_discovery/skills/web-scraping/SKILL.md +73 -0
  640. polyrob-1.2.1/packs/markets/polyrob_markets/__init__.py +36 -0
  641. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/__init__.py +56 -0
  642. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/models.py +78 -0
  643. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/remote_signing.py +39 -0
  644. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/routes.py +470 -0
  645. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/service.py +1833 -0
  646. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/store.py +375 -0
  647. polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/store_models.py +187 -0
  648. polyrob-1.2.1/packs/markets/polyrob_markets/pack.toml +220 -0
  649. polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/__init__.py +41 -0
  650. polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/models.py +41 -0
  651. polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/routes.py +505 -0
  652. polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/service.py +2152 -0
  653. polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/store.py +574 -0
  654. polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/store_models.py +165 -0
  655. polyrob-1.2.1/packs/markets/polyrob_markets/registration.py +61 -0
  656. polyrob-1.2.1/packs/markets/polyrob_markets/skills/hyperliquid-account-review/SKILL.md +53 -0
  657. polyrob-1.2.1/packs/markets/polyrob_markets/skills/hyperliquid-market-data/SKILL.md +52 -0
  658. polyrob-1.2.1/packs/markets/polyrob_markets/skills/hyperliquid-trading/SKILL.md +111 -0
  659. polyrob-1.2.1/packs/markets/polyrob_markets/skills/polymarket-market-research/SKILL.md +57 -0
  660. polyrob-1.2.1/packs/markets/polyrob_markets/skills/polymarket-portfolio-review/SKILL.md +59 -0
  661. polyrob-1.2.1/packs/markets/polyrob_markets/skills/polymarket-trading/SKILL.md +95 -0
  662. polyrob-1.2.1/packs/markets/polyrob_markets/skills/rules.json +169 -0
  663. polyrob-1.2.1/packs/markets/polyrob_markets/trade_gate.py +203 -0
  664. polyrob-1.2.1/packs/x/polyrob_x/__init__.py +81 -0
  665. polyrob-1.2.1/packs/x/polyrob_x/commands/x.py +86 -0
  666. polyrob-1.2.1/packs/x/polyrob_x/commands/x_account.py +499 -0
  667. polyrob-1.2.1/packs/x/polyrob_x/console_routes.py +111 -0
  668. polyrob-1.2.1/packs/x/polyrob_x/cron_delivery.py +41 -0
  669. polyrob-1.2.1/packs/x/polyrob_x/owner_verbs.py +165 -0
  670. polyrob-1.2.1/packs/x/polyrob_x/pack.toml +137 -0
  671. polyrob-1.2.1/packs/x/polyrob_x/registration.py +49 -0
  672. polyrob-1.2.1/packs/x/polyrob_x/skills/rules.json +100 -0
  673. polyrob-1.2.1/packs/x/polyrob_x/skills/social-discovery/SKILL.md +60 -0
  674. polyrob-1.2.1/packs/x/polyrob_x/skills/x-engagement/SKILL.md +154 -0
  675. polyrob-1.2.1/packs/x/polyrob_x/status.py +73 -0
  676. polyrob-1.2.1/packs/x/polyrob_x/surface/client.py +294 -0
  677. polyrob-1.2.1/packs/x/polyrob_x/surface/harness.py +91 -0
  678. polyrob-1.2.1/packs/x/polyrob_x/surface/launch.py +24 -0
  679. polyrob-1.2.1/packs/x/polyrob_x/surface/poller.py +223 -0
  680. polyrob-1.2.1/packs/x/polyrob_x/surface/probe.py +72 -0
  681. polyrob-1.2.1/packs/x/polyrob_x/twitter_tool.py +2872 -0
  682. polyrob-1.2.1/packs/x/polyrob_x/x_browser/__init__.py +28 -0
  683. polyrob-1.2.1/packs/x/polyrob_x/x_browser/driver.py +353 -0
  684. polyrob-1.2.1/packs/x/polyrob_x/x_browser/escalation.py +134 -0
  685. polyrob-1.2.1/packs/x/polyrob_x/x_browser/registration.py +41 -0
  686. polyrob-1.2.1/packs/x/polyrob_x/x_browser/session_store.py +78 -0
  687. polyrob-1.2.1/packs/x/polyrob_x/x_browser/signup.py +266 -0
  688. polyrob-1.2.1/packs/x/polyrob_x/x_browser/tool.py +585 -0
  689. polyrob-1.2.1/packs/x/polyrob_x/x_login_flow.py +258 -0
  690. polyrob-1.2.1/packs/x/polyrob_x/x_oauth2.py +621 -0
  691. polyrob-1.2.1/polyrob.egg-info/PKG-INFO +606 -0
  692. polyrob-1.2.1/polyrob.egg-info/SOURCES.txt +1659 -0
  693. polyrob-1.2.1/polyrob.egg-info/entry_points.txt +7 -0
  694. polyrob-1.2.1/polyrob.egg-info/requires.txt +104 -0
  695. polyrob-1.2.1/polyrob.egg-info/top_level.txt +17 -0
  696. polyrob-1.2.1/pyproject.toml +152 -0
  697. polyrob-1.2.1/requirements.lock +4690 -0
  698. polyrob-1.2.1/surfaces/README.md +108 -0
  699. polyrob-1.2.1/surfaces/_actor.py +38 -0
  700. polyrob-1.2.1/surfaces/_launch.py +70 -0
  701. polyrob-1.2.1/surfaces/_probe.py +64 -0
  702. polyrob-1.2.1/surfaces/_shared.py +230 -0
  703. polyrob-1.2.1/surfaces/card_builder.py +278 -0
  704. polyrob-1.2.1/surfaces/dingtalk/__init__.py +3 -0
  705. polyrob-1.2.1/surfaces/dingtalk/client.py +266 -0
  706. polyrob-1.2.1/surfaces/dingtalk/events.py +90 -0
  707. polyrob-1.2.1/surfaces/dingtalk/harness.py +77 -0
  708. polyrob-1.2.1/surfaces/dingtalk/launch.py +19 -0
  709. polyrob-1.2.1/surfaces/dingtalk/probe.py +31 -0
  710. polyrob-1.2.1/surfaces/dingtalk/stream.py +190 -0
  711. polyrob-1.2.1/surfaces/dingtalk/surface.py +68 -0
  712. polyrob-1.2.1/surfaces/discord/gateway.py +277 -0
  713. polyrob-1.2.1/surfaces/discord/harness.py +72 -0
  714. polyrob-1.2.1/surfaces/discord/launch.py +14 -0
  715. polyrob-1.2.1/surfaces/discord/probe.py +40 -0
  716. polyrob-1.2.1/surfaces/email/fetchers.py +333 -0
  717. polyrob-1.2.1/surfaces/email/harness.py +375 -0
  718. polyrob-1.2.1/surfaces/email/inbound.py +256 -0
  719. polyrob-1.2.1/surfaces/email/launch.py +59 -0
  720. polyrob-1.2.1/surfaces/email/probe.py +46 -0
  721. polyrob-1.2.1/surfaces/feishu/__init__.py +3 -0
  722. polyrob-1.2.1/surfaces/feishu/cards.py +111 -0
  723. polyrob-1.2.1/surfaces/feishu/client.py +222 -0
  724. polyrob-1.2.1/surfaces/feishu/events.py +142 -0
  725. polyrob-1.2.1/surfaces/feishu/harness.py +143 -0
  726. polyrob-1.2.1/surfaces/feishu/launch.py +55 -0
  727. polyrob-1.2.1/surfaces/feishu/probe.py +47 -0
  728. polyrob-1.2.1/surfaces/feishu/surface.py +109 -0
  729. polyrob-1.2.1/surfaces/feishu/webhook.py +199 -0
  730. polyrob-1.2.1/surfaces/feishu/ws.py +125 -0
  731. polyrob-1.2.1/surfaces/inbox_sources.py +284 -0
  732. polyrob-1.2.1/surfaces/signal/client.py +151 -0
  733. polyrob-1.2.1/surfaces/signal/harness.py +67 -0
  734. polyrob-1.2.1/surfaces/signal/launch.py +17 -0
  735. polyrob-1.2.1/surfaces/signal/probe.py +23 -0
  736. polyrob-1.2.1/surfaces/signal/surface.py +156 -0
  737. polyrob-1.2.1/surfaces/slack/harness.py +86 -0
  738. polyrob-1.2.1/surfaces/slack/launch.py +17 -0
  739. polyrob-1.2.1/surfaces/slack/probe.py +21 -0
  740. polyrob-1.2.1/surfaces/slack/socket_mode.py +167 -0
  741. polyrob-1.2.1/surfaces/slack/surface.py +98 -0
  742. polyrob-1.2.1/surfaces/telegram/actions.py +91 -0
  743. polyrob-1.2.1/surfaces/telegram/card_ops.py +220 -0
  744. polyrob-1.2.1/surfaces/telegram/check_ops.py +160 -0
  745. polyrob-1.2.1/surfaces/telegram/dedup.py +23 -0
  746. polyrob-1.2.1/surfaces/telegram/dev_rail.py +147 -0
  747. polyrob-1.2.1/surfaces/telegram/group_ops.py +1020 -0
  748. polyrob-1.2.1/surfaces/telegram/harness.py +3791 -0
  749. polyrob-1.2.1/surfaces/telegram/history_ops.py +63 -0
  750. polyrob-1.2.1/surfaces/telegram/holdings_ops.py +38 -0
  751. polyrob-1.2.1/surfaces/telegram/inbound.py +300 -0
  752. polyrob-1.2.1/surfaces/telegram/launch.py +21 -0
  753. polyrob-1.2.1/surfaces/telegram/nft_ops.py +260 -0
  754. polyrob-1.2.1/surfaces/telegram/owner_ops.py +1194 -0
  755. polyrob-1.2.1/surfaces/telegram/pay_ops.py +115 -0
  756. polyrob-1.2.1/surfaces/telegram/probe.py +15 -0
  757. polyrob-1.2.1/surfaces/telegram/rail_ops.py +434 -0
  758. polyrob-1.2.1/surfaces/telegram/send_ops.py +386 -0
  759. polyrob-1.2.1/surfaces/telegram/surface.py +439 -0
  760. polyrob-1.2.1/surfaces/telegram/swap_ops.py +223 -0
  761. polyrob-1.2.1/surfaces/telegram/token_ops.py +298 -0
  762. polyrob-1.2.1/surfaces/telegram/why_ops.py +70 -0
  763. {polyrob-1.1.0/tools/controller → polyrob-1.2.1/surfaces/whatsapp}/__init__.py +0 -0
  764. polyrob-1.2.1/surfaces/whatsapp/client.py +77 -0
  765. polyrob-1.2.1/surfaces/whatsapp/harness.py +49 -0
  766. polyrob-1.2.1/surfaces/whatsapp/inbound.py +184 -0
  767. polyrob-1.2.1/surfaces/whatsapp/launch.py +26 -0
  768. polyrob-1.2.1/surfaces/whatsapp/probe.py +27 -0
  769. polyrob-1.2.1/surfaces/whatsapp/surface.py +59 -0
  770. polyrob-1.2.1/tests/test_autonomy_control_ratchet.py +143 -0
  771. polyrob-1.2.1/tests/test_base_deps_ratchet.py +56 -0
  772. polyrob-1.2.1/tests/test_board_create_grant_ratchet.py +74 -0
  773. polyrob-1.2.1/tests/test_browser_launch_ratchet.py +55 -0
  774. polyrob-1.2.1/tests/test_changelog_release.py +146 -0
  775. polyrob-1.2.1/tests/test_conftest_operator_env_guard.py +113 -0
  776. polyrob-1.2.1/tests/test_core_platform_boundary.py +277 -0
  777. polyrob-1.2.1/tests/test_effect_classification_ratchet.py +325 -0
  778. polyrob-1.2.1/tests/test_event_kind_contract.py +148 -0
  779. polyrob-1.2.1/tests/test_file_size_ratchet.py +147 -0
  780. polyrob-1.2.1/tests/test_flag_count_ratchet.py +187 -0
  781. polyrob-1.2.1/tests/test_flag_retirement.py +47 -0
  782. polyrob-1.2.1/tests/test_foundation_order_ratchet.py +142 -0
  783. polyrob-1.2.1/tests/test_history_mutation_ratchet.py +98 -0
  784. polyrob-1.2.1/tests/test_instruction_surface_ratchet.py +30 -0
  785. polyrob-1.2.1/tests/test_knowledge_section_ratchet.py +57 -0
  786. polyrob-1.2.1/tests/test_layering_ratchet.py +263 -0
  787. polyrob-1.2.1/tests/test_owner_context_ratchet.py +96 -0
  788. polyrob-1.2.1/tests/test_rate_limiter_ratchet.py +84 -0
  789. polyrob-1.2.1/tests/test_remedy_grammar_ratchet.py +74 -0
  790. polyrob-1.2.1/tests/test_retired_pack_dist_names_ratchet.py +74 -0
  791. polyrob-1.2.1/tests/test_room_safety_ratchet.py +198 -0
  792. polyrob-1.2.1/tests/test_rule_render_ratchet.py +14 -0
  793. polyrob-1.2.1/tests/test_schema_version.py +60 -0
  794. polyrob-1.2.1/tests/test_status_silence_ratchet.py +115 -0
  795. polyrob-1.2.1/tests/test_verb_policy_literal_ratchet.py +104 -0
  796. polyrob-1.2.1/tests/test_version_consistency.py +129 -0
  797. polyrob-1.2.1/tools/README.md +576 -0
  798. polyrob-1.2.1/tools/__init__.py +406 -0
  799. polyrob-1.2.1/tools/agent_nft/__init__.py +30 -0
  800. polyrob-1.2.1/tools/agent_nft/adopt.py +62 -0
  801. polyrob-1.2.1/tools/agent_nft/core_verbs.py +148 -0
  802. polyrob-1.2.1/tools/agent_nft/guarded.py +117 -0
  803. polyrob-1.2.1/tools/agent_nft/journal_write.py +56 -0
  804. polyrob-1.2.1/tools/agent_nft/registration.py +34 -0
  805. polyrob-1.2.1/tools/agent_nft/reveal.py +282 -0
  806. polyrob-1.2.1/tools/agent_nft/tool.py +415 -0
  807. polyrob-1.2.1/tools/agent_nft/view.py +343 -0
  808. polyrob-1.2.1/tools/agent_nft/withdraw.py +148 -0
  809. polyrob-1.2.1/tools/alchemy/alchemy_tool.py +404 -0
  810. polyrob-1.2.1/tools/app_service/tool.py +333 -0
  811. polyrob-1.2.1/tools/avatar_sources.py +129 -0
  812. polyrob-1.2.1/tools/browser/browser.py +1588 -0
  813. polyrob-1.2.1/tools/browser/child_env.py +129 -0
  814. polyrob-1.2.1/tools/code_exec/backends/docker.py +1186 -0
  815. polyrob-1.2.1/tools/code_exec/backends/local_subprocess.py +160 -0
  816. polyrob-1.2.1/tools/code_exec/backends/ssh.py +322 -0
  817. polyrob-1.2.1/tools/code_exec/limits.py +52 -0
  818. polyrob-1.2.1/tools/code_exec/result.py +47 -0
  819. polyrob-1.2.1/tools/code_exec/tool.py +222 -0
  820. polyrob-1.2.1/tools/coding/edit.py +357 -0
  821. polyrob-1.2.1/tools/coding/lsp.py +220 -0
  822. polyrob-1.2.1/tools/coding/search.py +153 -0
  823. polyrob-1.2.1/tools/coding/textio.py +147 -0
  824. polyrob-1.2.1/tools/coding/tool.py +694 -0
  825. polyrob-1.2.1/tools/controller/_helpers.py +270 -0
  826. polyrob-1.2.1/tools/controller/action_registration.py +1971 -0
  827. polyrob-1.2.1/tools/controller/agent_status_action.py +221 -0
  828. polyrob-1.2.1/tools/controller/approval.py +553 -0
  829. polyrob-1.2.1/tools/controller/approval_interactive.py +330 -0
  830. polyrob-1.2.1/tools/controller/approval_queue.py +1267 -0
  831. polyrob-1.2.1/tools/controller/autonomy_control_action.py +142 -0
  832. polyrob-1.2.1/tools/controller/avatar_action.py +199 -0
  833. polyrob-1.2.1/tools/controller/card_actions.py +215 -0
  834. polyrob-1.2.1/tools/controller/delegation.py +208 -0
  835. polyrob-1.2.1/tools/controller/doc_authoring.py +559 -0
  836. polyrob-1.2.1/tools/controller/effect_hooks.py +185 -0
  837. polyrob-1.2.1/tools/controller/execution.py +971 -0
  838. polyrob-1.2.1/tools/controller/financial_claim_gate.py +189 -0
  839. polyrob-1.2.1/tools/controller/grant_card.py +193 -0
  840. polyrob-1.2.1/tools/controller/insights_action.py +60 -0
  841. polyrob-1.2.1/tools/controller/introspection.py +322 -0
  842. polyrob-1.2.1/tools/controller/mcp_registrar.py +196 -0
  843. polyrob-1.2.1/tools/controller/message_send.py +602 -0
  844. polyrob-1.2.1/tools/controller/owner_ask_action.py +289 -0
  845. polyrob-1.2.1/tools/controller/refusal_taint_gate.py +172 -0
  846. polyrob-1.2.1/tools/controller/registry/schema_generators.py +440 -0
  847. polyrob-1.2.1/tools/controller/registry/service.py +1539 -0
  848. polyrob-1.2.1/tools/controller/room_read_action.py +253 -0
  849. polyrob-1.2.1/tools/controller/service.py +750 -0
  850. polyrob-1.2.1/tools/controller/tool_call_bridge.py +167 -0
  851. polyrob-1.2.1/tools/controller/tool_load_report.py +167 -0
  852. polyrob-1.2.1/tools/controller/tool_management.py +439 -0
  853. polyrob-1.2.1/tools/controller/turn_origin.py +327 -0
  854. polyrob-1.2.1/tools/controller/views.py +498 -0
  855. polyrob-1.2.1/tools/controller/wallet_authority.py +24 -0
  856. polyrob-1.2.1/tools/controller/worker_manage_action.py +123 -0
  857. polyrob-1.2.1/tools/cronjob_tools.py +479 -0
  858. polyrob-1.2.1/tools/dapp_browser/bridge.py +749 -0
  859. polyrob-1.2.1/tools/dapp_browser/js.py +152 -0
  860. polyrob-1.2.1/tools/dapp_browser/tool.py +432 -0
  861. polyrob-1.2.1/tools/defi/__init__.py +68 -0
  862. polyrob-1.2.1/tools/defi/account_mode.py +166 -0
  863. polyrob-1.2.1/tools/defi/agent_registration.py +319 -0
  864. polyrob-1.2.1/tools/defi/book.py +413 -0
  865. polyrob-1.2.1/tools/defi/bridge_evm_leg.py +264 -0
  866. polyrob-1.2.1/tools/defi/bridge_verb.py +920 -0
  867. polyrob-1.2.1/tools/defi/call_verb.py +331 -0
  868. polyrob-1.2.1/tools/defi/data_tool.py +3492 -0
  869. polyrob-1.2.1/tools/defi/deploy_verb.py +531 -0
  870. polyrob-1.2.1/tools/defi/identity_gate.py +328 -0
  871. polyrob-1.2.1/tools/defi/lp_v4.py +284 -0
  872. polyrob-1.2.1/tools/defi/lp_v4_verbs.py +198 -0
  873. polyrob-1.2.1/tools/defi/lp_verbs.py +412 -0
  874. polyrob-1.2.1/tools/defi/payment_quote.py +178 -0
  875. polyrob-1.2.1/tools/defi/pool_metrics.py +176 -0
  876. polyrob-1.2.1/tools/defi/positions_view.py +352 -0
  877. polyrob-1.2.1/tools/defi/price_sources.py +219 -0
  878. polyrob-1.2.1/tools/defi/providers/_http.py +100 -0
  879. polyrob-1.2.1/tools/defi/providers/alchemy_index.py +178 -0
  880. polyrob-1.2.1/tools/defi/providers/base.py +179 -0
  881. polyrob-1.2.1/tools/defi/providers/dexscreener.py +289 -0
  882. polyrob-1.2.1/tools/defi/providers/geckoterminal.py +679 -0
  883. polyrob-1.2.1/tools/defi/providers/goplus.py +465 -0
  884. polyrob-1.2.1/tools/defi/providers/jupiter.py +185 -0
  885. polyrob-1.2.1/tools/defi/providers/jupiter_price.py +62 -0
  886. polyrob-1.2.1/tools/defi/providers/routes/__init__.py +409 -0
  887. polyrob-1.2.1/tools/defi/providers/token_audits.py +235 -0
  888. polyrob-1.2.1/tools/defi/providers/univ3.py +233 -0
  889. polyrob-1.2.1/tools/defi/receipt_wait.py +91 -0
  890. polyrob-1.2.1/tools/defi/reconcile.py +478 -0
  891. polyrob-1.2.1/tools/defi/signer_entry.py +67 -0
  892. polyrob-1.2.1/tools/defi/solana_send_verb.py +537 -0
  893. polyrob-1.2.1/tools/defi/spl_deploy_verb.py +398 -0
  894. polyrob-1.2.1/tools/defi/token_identity_ask.py +306 -0
  895. polyrob-1.2.1/tools/defi/token_screen.py +974 -0
  896. polyrob-1.2.1/tools/defi/trade_tool.py +3268 -0
  897. polyrob-1.2.1/tools/defi/wallet_intel.py +283 -0
  898. polyrob-1.2.1/tools/descriptors.py +384 -0
  899. polyrob-1.2.1/tools/document_parser.py +107 -0
  900. polyrob-1.2.1/tools/dom/__init__.py +0 -0
  901. polyrob-1.2.1/tools/email_tool.py +1107 -0
  902. polyrob-1.2.1/tools/filesystem.py +1414 -0
  903. polyrob-1.2.1/tools/filesystem_doc_kind.py +69 -0
  904. polyrob-1.2.1/tools/filesystem_docproc.py +349 -0
  905. polyrob-1.2.1/tools/filesystem_pdf.py +501 -0
  906. polyrob-1.2.1/tools/git/tool.py +271 -0
  907. polyrob-1.2.1/tools/github/tool.py +249 -0
  908. polyrob-1.2.1/tools/goal_tools.py +945 -0
  909. polyrob-1.2.1/tools/hf_deploy/__init__.py +83 -0
  910. polyrob-1.2.1/tools/hf_deploy/broker.py +281 -0
  911. polyrob-1.2.1/tools/hf_deploy/digest.py +97 -0
  912. polyrob-1.2.1/tools/hf_deploy/tool.py +338 -0
  913. polyrob-1.2.1/tools/kb_autoingest.py +221 -0
  914. polyrob-1.2.1/tools/knowledge_ingest.py +876 -0
  915. polyrob-1.2.1/tools/launchpad/execute.py +276 -0
  916. polyrob-1.2.1/tools/launchpad/provenance.py +51 -0
  917. polyrob-1.2.1/tools/launchpad/tool.py +719 -0
  918. polyrob-1.2.1/tools/mcp/mcp_tool.py +1420 -0
  919. polyrob-1.2.1/tools/mcp/protocol.py +1694 -0
  920. polyrob-1.2.1/tools/mcp/server_manager.py +859 -0
  921. polyrob-1.2.1/tools/mcp/user_mcp_service.py +954 -0
  922. polyrob-1.2.1/tools/publish/tool.py +225 -0
  923. polyrob-1.2.1/tools/self_env/tool.py +263 -0
  924. polyrob-1.2.1/tools/tool_disclosure.py +365 -0
  925. polyrob-1.2.1/tools/tool_search.py +297 -0
  926. polyrob-1.2.1/tools/web_fetch/fetcher.py +159 -0
  927. polyrob-1.2.1/tools/x402/client.py +57 -0
  928. polyrob-1.2.1/tools/x402/discovery.py +337 -0
  929. polyrob-1.2.1/tools/x402/invoice_tool.py +276 -0
  930. polyrob-1.2.1/tools/x402/net_guard.py +121 -0
  931. polyrob-1.2.1/tools/x402/real_client.py +986 -0
  932. polyrob-1.2.1/tools/x402/service.py +477 -0
  933. polyrob-1.2.1/tools/x402/spend_gate.py +98 -0
  934. polyrob-1.2.1/utils/gif_utils.py +450 -0
  935. polyrob-1.2.1/webview/activity.py +768 -0
  936. polyrob-1.2.1/webview/apps_routes.py +79 -0
  937. polyrob-1.2.1/webview/artifacts_api.py +114 -0
  938. polyrob-1.2.1/webview/cards_routes.py +162 -0
  939. polyrob-1.2.1/webview/chat_open.py +347 -0
  940. polyrob-1.2.1/webview/console_commands.py +276 -0
  941. polyrob-1.2.1/webview/contributions.py +64 -0
  942. polyrob-1.2.1/webview/copy/__init__.py +36 -0
  943. polyrob-1.2.1/webview/copy/en.py +1338 -0
  944. polyrob-1.2.1/webview/error_page.py +72 -0
  945. polyrob-1.2.1/webview/feed_routes.py +166 -0
  946. polyrob-1.2.1/webview/host_guard.py +139 -0
  947. polyrob-1.2.1/webview/inbox.py +345 -0
  948. polyrob-1.2.1/webview/knowledge.py +310 -0
  949. polyrob-1.2.1/webview/owner_login_flow.py +60 -0
  950. polyrob-1.2.1/webview/pack_console.py +158 -0
  951. polyrob-1.2.1/webview/pages.py +1832 -0
  952. polyrob-1.2.1/webview/pages_new.py +1827 -0
  953. polyrob-1.2.1/webview/posture_guard.py +311 -0
  954. polyrob-1.2.1/webview/server.py +3074 -0
  955. polyrob-1.2.1/webview/session_access.py +47 -0
  956. polyrob-1.2.1/webview/session_catalog.py +103 -0
  957. polyrob-1.2.1/webview/socket_limits.py +51 -0
  958. polyrob-1.2.1/webview/static/app/agent.js +1370 -0
  959. polyrob-1.2.1/webview/static/app/app.css +591 -0
  960. polyrob-1.2.1/webview/static/app/cards.js +123 -0
  961. polyrob-1.2.1/webview/static/app/chat-open.js +125 -0
  962. polyrob-1.2.1/webview/static/app/chats.js +230 -0
  963. polyrob-1.2.1/webview/static/app/file-attach.js +117 -0
  964. polyrob-1.2.1/webview/static/app/format.js +31 -0
  965. polyrob-1.2.1/webview/static/app/http.js +147 -0
  966. polyrob-1.2.1/webview/static/app/inbox.js +131 -0
  967. polyrob-1.2.1/webview/static/app/live.js +180 -0
  968. polyrob-1.2.1/webview/static/app/money-move.js +151 -0
  969. polyrob-1.2.1/webview/static/app/money-tokens.js +224 -0
  970. polyrob-1.2.1/webview/static/app/money.js +1382 -0
  971. polyrob-1.2.1/webview/static/app/palette.js +337 -0
  972. polyrob-1.2.1/webview/static/app/pause.js +171 -0
  973. polyrob-1.2.1/webview/static/app/transcript.js +968 -0
  974. polyrob-1.2.1/webview/static/app/verbs.en.json +398 -0
  975. polyrob-1.2.1/webview/static/app/work-apps.js +484 -0
  976. polyrob-1.2.1/webview/static/app/work-now.js +589 -0
  977. polyrob-1.2.1/webview/static/app/worklog.js +355 -0
  978. polyrob-1.2.1/webview/static/app/workpane.js +583 -0
  979. polyrob-1.2.1/webview/static/css/components.css +1188 -0
  980. polyrob-1.2.1/webview/static/css/webgate.css +649 -0
  981. polyrob-1.2.1/webview/static/js/admin/activity.js +181 -0
  982. polyrob-1.2.1/webview/static/js/admin/dashboard.js +152 -0
  983. polyrob-1.2.1/webview/static/js/admin/user_detail.js +397 -0
  984. polyrob-1.2.1/webview/static/js/admin/users.js +162 -0
  985. polyrob-1.2.1/webview/static/js/admin/utils.js +221 -0
  986. polyrob-1.2.1/webview/static/js/error-handler.js +323 -0
  987. polyrob-1.2.1/webview/static/js/error-page.js +62 -0
  988. polyrob-1.2.1/webview/stats_service.py +83 -0
  989. polyrob-1.2.1/webview/template_globals.py +71 -0
  990. polyrob-1.2.1/webview/templates/agent.html +279 -0
  991. polyrob-1.2.1/webview/templates/chat.html +219 -0
  992. polyrob-1.2.1/webview/templates/error.html +45 -0
  993. polyrob-1.2.1/webview/templates/inbox.html +163 -0
  994. polyrob-1.2.1/webview/templates/money.html +296 -0
  995. polyrob-1.2.1/webview/templates/owner_login.html +15 -0
  996. polyrob-1.2.1/webview/templates/shell.html +200 -0
  997. polyrob-1.2.1/webview/templates/work.html +279 -0
  998. polyrob-1.2.1/webview/tokens_routes.py +87 -0
  999. polyrob-1.2.1/webview/webgate.py +550 -0
  1000. polyrob-1.2.1/webview/worklog_api.py +171 -0
  1001. polyrob-1.2.1/webview/workspace_paths.py +51 -0
  1002. polyrob-1.2.1/webview/workspace_routes.py +142 -0
  1003. polyrob-1.1.0/MANIFEST.in +0 -23
  1004. polyrob-1.1.0/PKG-INFO +0 -565
  1005. polyrob-1.1.0/README.md +0 -471
  1006. polyrob-1.1.0/agents/README.md +0 -453
  1007. polyrob-1.1.0/agents/__init__.py +0 -161
  1008. polyrob-1.1.0/agents/base_agent.py +0 -738
  1009. polyrob-1.1.0/agents/personality/character_manager.py +0 -313
  1010. polyrob-1.1.0/agents/prompt/__init__.py +0 -58
  1011. polyrob-1.1.0/agents/prompt/base_prompt.py +0 -92
  1012. polyrob-1.1.0/agents/prompt/system.py +0 -354
  1013. polyrob-1.1.0/agents/task/__init__.py +0 -162
  1014. polyrob-1.1.0/agents/task/agent/async_delegation.py +0 -342
  1015. polyrob-1.1.0/agents/task/agent/conversation.py +0 -75
  1016. polyrob-1.1.0/agents/task/agent/core/background_review.py +0 -192
  1017. polyrob-1.1.0/agents/task/agent/core/construction.py +0 -1492
  1018. polyrob-1.1.0/agents/task/agent/core/correspondent_gate.py +0 -463
  1019. polyrob-1.1.0/agents/task/agent/core/curator.py +0 -329
  1020. polyrob-1.1.0/agents/task/agent/core/env_context.py +0 -112
  1021. polyrob-1.1.0/agents/task/agent/core/episodic_digest.py +0 -103
  1022. polyrob-1.1.0/agents/task/agent/core/live_health.py +0 -70
  1023. polyrob-1.1.0/agents/task/agent/core/llm_runner.py +0 -688
  1024. polyrob-1.1.0/agents/task/agent/core/logging_io.py +0 -276
  1025. polyrob-1.1.0/agents/task/agent/core/loop_detection.py +0 -319
  1026. polyrob-1.1.0/agents/task/agent/core/memory_prefetch.py +0 -348
  1027. polyrob-1.1.0/agents/task/agent/core/memory_writer.py +0 -417
  1028. polyrob-1.1.0/agents/task/agent/core/model_swap.py +0 -195
  1029. polyrob-1.1.0/agents/task/agent/core/next_action_internal.py +0 -1568
  1030. polyrob-1.1.0/agents/task/agent/core/output_validation.py +0 -319
  1031. polyrob-1.1.0/agents/task/agent/core/project_context.py +0 -298
  1032. polyrob-1.1.0/agents/task/agent/core/result_budget.py +0 -60
  1033. polyrob-1.1.0/agents/task/agent/core/result_offload.py +0 -242
  1034. polyrob-1.1.0/agents/task/agent/core/result_processing.py +0 -457
  1035. polyrob-1.1.0/agents/task/agent/core/run_loop.py +0 -767
  1036. polyrob-1.1.0/agents/task/agent/core/runtime_catalog.py +0 -17
  1037. polyrob-1.1.0/agents/task/agent/core/step.py +0 -916
  1038. polyrob-1.1.0/agents/task/agent/core/step_execution.py +0 -416
  1039. polyrob-1.1.0/agents/task/agent/core/step_telemetry.py +0 -216
  1040. polyrob-1.1.0/agents/task/agent/core/tool_availability.py +0 -144
  1041. polyrob-1.1.0/agents/task/agent/core/untrusted_render.py +0 -95
  1042. polyrob-1.1.0/agents/task/agent/core/user_ingress.py +0 -352
  1043. polyrob-1.1.0/agents/task/agent/message_manager/service.py +0 -850
  1044. polyrob-1.1.0/agents/task/agent/messages/builders.py +0 -309
  1045. polyrob-1.1.0/agents/task/agent/messages/compactor.py +0 -686
  1046. polyrob-1.1.0/agents/task/agent/messages/context_references.py +0 -271
  1047. polyrob-1.1.0/agents/task/agent/messages/filters.py +0 -343
  1048. polyrob-1.1.0/agents/task/agent/messages/guidance.py +0 -328
  1049. polyrob-1.1.0/agents/task/agent/messages/persistence.py +0 -490
  1050. polyrob-1.1.0/agents/task/agent/messages/retrieval.py +0 -611
  1051. polyrob-1.1.0/agents/task/agent/messages/token_counter.py +0 -663
  1052. polyrob-1.1.0/agents/task/agent/profile_manager.py +0 -105
  1053. polyrob-1.1.0/agents/task/agent/profile_store.py +0 -413
  1054. polyrob-1.1.0/agents/task/agent/prompts.py +0 -1488
  1055. polyrob-1.1.0/agents/task/agent/service.py +0 -468
  1056. polyrob-1.1.0/agents/task/agent/session.py +0 -1142
  1057. polyrob-1.1.0/agents/task/agent/skill_manager.py +0 -1297
  1058. polyrob-1.1.0/agents/task/agent/skill_store.py +0 -617
  1059. polyrob-1.1.0/agents/task/agent/skill_writer.py +0 -640
  1060. polyrob-1.1.0/agents/task/agent/sub_agent_manager.py +0 -1180
  1061. polyrob-1.1.0/agents/task/config.py +0 -485
  1062. polyrob-1.1.0/agents/task/constants.py +0 -758
  1063. polyrob-1.1.0/agents/task/conversation_resume.py +0 -184
  1064. polyrob-1.1.0/agents/task/goals/board.py +0 -2316
  1065. polyrob-1.1.0/agents/task/goals/context.py +0 -219
  1066. polyrob-1.1.0/agents/task/goals/dispatcher.py +0 -2288
  1067. polyrob-1.1.0/agents/task/goals/escalation.py +0 -132
  1068. polyrob-1.1.0/agents/task/goals/planner.py +0 -444
  1069. polyrob-1.1.0/agents/task/goals/streams.py +0 -724
  1070. polyrob-1.1.0/agents/task/path.py +0 -993
  1071. polyrob-1.1.0/agents/task/robust_parse_config.py +0 -334
  1072. polyrob-1.1.0/agents/task/runtime/edit_verify.py +0 -65
  1073. polyrob-1.1.0/agents/task/runtime/evidence.py +0 -283
  1074. polyrob-1.1.0/agents/task/runtime/metering_gate.py +0 -52
  1075. polyrob-1.1.0/agents/task/runtime/run_outcome.py +0 -352
  1076. polyrob-1.1.0/agents/task/session/cleanup.py +0 -680
  1077. polyrob-1.1.0/agents/task/session/hitl_ingress.py +0 -236
  1078. polyrob-1.1.0/agents/task/session_class.py +0 -74
  1079. polyrob-1.1.0/agents/task/task_agent_chat.py +0 -546
  1080. polyrob-1.1.0/agents/task/task_agent_delivery.py +0 -971
  1081. polyrob-1.1.0/agents/task/task_agent_support.py +0 -160
  1082. polyrob-1.1.0/agents/task/telemetry/manager.py +0 -553
  1083. polyrob-1.1.0/agents/task/telemetry/narrate.py +0 -189
  1084. polyrob-1.1.0/agents/task/telemetry/sequence.py +0 -126
  1085. polyrob-1.1.0/agents/task/telemetry/service.py +0 -1207
  1086. polyrob-1.1.0/agents/task/tool_defaults.py +0 -223
  1087. polyrob-1.1.0/agents/task/utils.py +0 -619
  1088. polyrob-1.1.0/agents/task_agent_lite.py +0 -966
  1089. polyrob-1.1.0/api/README.md +0 -746
  1090. polyrob-1.1.0/api/a2a/agent_card.py +0 -370
  1091. polyrob-1.1.0/api/a2a/streaming.py +0 -470
  1092. polyrob-1.1.0/api/a2a/task_handler.py +0 -1069
  1093. polyrob-1.1.0/api/admin_endpoints.py +0 -1525
  1094. polyrob-1.1.0/api/api_key_auth.py +0 -147
  1095. polyrob-1.1.0/api/app.py +0 -1081
  1096. polyrob-1.1.0/api/auth_endpoints.py +0 -465
  1097. polyrob-1.1.0/api/dependencies.py +0 -289
  1098. polyrob-1.1.0/api/hyperliquid_routes.py +0 -445
  1099. polyrob-1.1.0/api/jwt_middleware.py +0 -89
  1100. polyrob-1.1.0/api/middleware.py +0 -422
  1101. polyrob-1.1.0/api/openai_compat/models.py +0 -147
  1102. polyrob-1.1.0/api/openai_compat/router.py +0 -256
  1103. polyrob-1.1.0/api/payment_verification.py +0 -154
  1104. polyrob-1.1.0/api/polymarket_routes.py +0 -477
  1105. polyrob-1.1.0/api/request_limits.py +0 -142
  1106. polyrob-1.1.0/api/task_http_api.py +0 -1875
  1107. polyrob-1.1.0/api/webhooks.py +0 -52
  1108. polyrob-1.1.0/api/x402_endpoints.py +0 -515
  1109. polyrob-1.1.0/avatar/README.md +0 -66
  1110. polyrob-1.1.0/avatar/__init__.py +0 -1
  1111. polyrob-1.1.0/avatar/config/rob.json +0 -7
  1112. polyrob-1.1.0/avatar/mindprint.js +0 -395
  1113. polyrob-1.1.0/avatar/renders/rob.meta.json +0 -20
  1114. polyrob-1.1.0/avatar/renders/rob.png +0 -0
  1115. polyrob-1.1.0/avatar/studio.html +0 -373
  1116. polyrob-1.1.0/avatar/webview/avatar-live.js +0 -44
  1117. polyrob-1.1.0/cli/_admin_home.py +0 -178
  1118. polyrob-1.1.0/cli/_flag_warn.py +0 -39
  1119. polyrob-1.1.0/cli/commands/_errors.py +0 -142
  1120. polyrob-1.1.0/cli/commands/_session_control.py +0 -34
  1121. polyrob-1.1.0/cli/commands/apps.py +0 -199
  1122. polyrob-1.1.0/cli/commands/auth.py +0 -449
  1123. polyrob-1.1.0/cli/commands/browser.py +0 -541
  1124. polyrob-1.1.0/cli/commands/chat.py +0 -1138
  1125. polyrob-1.1.0/cli/commands/config.py +0 -717
  1126. polyrob-1.1.0/cli/commands/cron.py +0 -475
  1127. polyrob-1.1.0/cli/commands/dashboard.py +0 -107
  1128. polyrob-1.1.0/cli/commands/doctor.py +0 -1336
  1129. polyrob-1.1.0/cli/commands/email.py +0 -134
  1130. polyrob-1.1.0/cli/commands/gateway.py +0 -483
  1131. polyrob-1.1.0/cli/commands/goals.py +0 -658
  1132. polyrob-1.1.0/cli/commands/identity.py +0 -126
  1133. polyrob-1.1.0/cli/commands/init.py +0 -577
  1134. polyrob-1.1.0/cli/commands/journey.py +0 -31
  1135. polyrob-1.1.0/cli/commands/kb.py +0 -323
  1136. polyrob-1.1.0/cli/commands/model.py +0 -173
  1137. polyrob-1.1.0/cli/commands/owner.py +0 -1634
  1138. polyrob-1.1.0/cli/commands/pfp.py +0 -479
  1139. polyrob-1.1.0/cli/commands/session.py +0 -654
  1140. polyrob-1.1.0/cli/commands/skill_install.py +0 -792
  1141. polyrob-1.1.0/cli/commands/soul.py +0 -91
  1142. polyrob-1.1.0/cli/commands/tools.py +0 -165
  1143. polyrob-1.1.0/cli/commands/update.py +0 -471
  1144. polyrob-1.1.0/cli/commands/wallet.py +0 -1611
  1145. polyrob-1.1.0/cli/commands/whatsapp.py +0 -100
  1146. polyrob-1.1.0/cli/commands/x.py +0 -84
  1147. polyrob-1.1.0/cli/commands/x_account.py +0 -453
  1148. polyrob-1.1.0/cli/polyrob.py +0 -287
  1149. polyrob-1.1.0/cli/toolset.py +0 -83
  1150. polyrob-1.1.0/cli/ui/approval_prompt.py +0 -33
  1151. polyrob-1.1.0/cli/ui/autonomy_poll.py +0 -62
  1152. polyrob-1.1.0/cli/ui/banner.py +0 -242
  1153. polyrob-1.1.0/cli/ui/commands/h_a23.py +0 -42
  1154. polyrob-1.1.0/cli/ui/commands/h_autonomy.py +0 -170
  1155. polyrob-1.1.0/cli/ui/commands/h_config.py +0 -375
  1156. polyrob-1.1.0/cli/ui/commands/h_context.py +0 -120
  1157. polyrob-1.1.0/cli/ui/commands/h_cron.py +0 -179
  1158. polyrob-1.1.0/cli/ui/commands/h_finance.py +0 -274
  1159. polyrob-1.1.0/cli/ui/commands/h_gates.py +0 -198
  1160. polyrob-1.1.0/cli/ui/commands/h_goal_one.py +0 -55
  1161. polyrob-1.1.0/cli/ui/commands/h_goals_view.py +0 -86
  1162. polyrob-1.1.0/cli/ui/commands/h_help.py +0 -338
  1163. polyrob-1.1.0/cli/ui/commands/h_inbox.py +0 -130
  1164. polyrob-1.1.0/cli/ui/commands/h_journey.py +0 -116
  1165. polyrob-1.1.0/cli/ui/commands/h_kb.py +0 -123
  1166. polyrob-1.1.0/cli/ui/commands/h_mcp.py +0 -239
  1167. polyrob-1.1.0/cli/ui/commands/h_money_verbs.py +0 -150
  1168. polyrob-1.1.0/cli/ui/commands/h_owner.py +0 -450
  1169. polyrob-1.1.0/cli/ui/commands/h_owner_reach.py +0 -89
  1170. polyrob-1.1.0/cli/ui/commands/h_pending.py +0 -122
  1171. polyrob-1.1.0/cli/ui/commands/h_pfp.py +0 -235
  1172. polyrob-1.1.0/cli/ui/commands/h_reject.py +0 -132
  1173. polyrob-1.1.0/cli/ui/commands/h_rooms.py +0 -399
  1174. polyrob-1.1.0/cli/ui/commands/h_skills.py +0 -315
  1175. polyrob-1.1.0/cli/ui/commands/h_token.py +0 -79
  1176. polyrob-1.1.0/cli/ui/commands/handlers.py +0 -1706
  1177. polyrob-1.1.0/cli/ui/commands/registry.py +0 -530
  1178. polyrob-1.1.0/cli/ui/history.py +0 -21
  1179. polyrob-1.1.0/cli/ui/input_policy.py +0 -28
  1180. polyrob-1.1.0/cli/ui/json_renderer.py +0 -51
  1181. polyrob-1.1.0/cli/ui/persistent_loop.py +0 -210
  1182. polyrob-1.1.0/cli/ui/plain_renderer.py +0 -392
  1183. polyrob-1.1.0/cli/ui/secrets.py +0 -183
  1184. polyrob-1.1.0/cli/ui/state.py +0 -462
  1185. polyrob-1.1.0/cli/ui/statusbar.py +0 -297
  1186. polyrob-1.1.0/cli/ui/terminal_render.py +0 -105
  1187. polyrob-1.1.0/cli/ui/theme.py +0 -182
  1188. polyrob-1.1.0/cli/update/process_guard.py +0 -318
  1189. polyrob-1.1.0/cli/update/runners.py +0 -183
  1190. polyrob-1.1.0/config/.env.development.template +0 -263
  1191. polyrob-1.1.0/core/activity_class.py +0 -157
  1192. polyrob-1.1.0/core/app_service/config.py +0 -117
  1193. polyrob-1.1.0/core/app_service/owner_ops.py +0 -155
  1194. polyrob-1.1.0/core/app_service/registry.py +0 -423
  1195. polyrob-1.1.0/core/app_service/snapshot.py +0 -91
  1196. polyrob-1.1.0/core/app_service/supervisor.py +0 -454
  1197. polyrob-1.1.0/core/artifacts.py +0 -342
  1198. polyrob-1.1.0/core/autonomy_control.py +0 -615
  1199. polyrob-1.1.0/core/autonomy_runtime.py +0 -1215
  1200. polyrob-1.1.0/core/book.py +0 -117
  1201. polyrob-1.1.0/core/bootstrap.py +0 -913
  1202. polyrob-1.1.0/core/config.py +0 -811
  1203. polyrob-1.1.0/core/config_policy/__init__.py +0 -33
  1204. polyrob-1.1.0/core/config_policy/autonomy_config.py +0 -516
  1205. polyrob-1.1.0/core/config_policy/autonomy_mode.py +0 -136
  1206. polyrob-1.1.0/core/config_policy/capability_toggles.py +0 -396
  1207. polyrob-1.1.0/core/config_policy/payment_policy.py +0 -157
  1208. polyrob-1.1.0/core/config_policy/payment_tools.py +0 -132
  1209. polyrob-1.1.0/core/config_policy/policy.py +0 -115
  1210. polyrob-1.1.0/core/config_policy/posture_card.py +0 -107
  1211. polyrob-1.1.0/core/config_policy/rigs.py +0 -134
  1212. polyrob-1.1.0/core/config_policy/spend_lane.py +0 -268
  1213. polyrob-1.1.0/core/config_service.py +0 -530
  1214. polyrob-1.1.0/core/container.py +0 -221
  1215. polyrob-1.1.0/core/container_hardening.py +0 -52
  1216. polyrob-1.1.0/core/copy/en.py +0 -57
  1217. polyrob-1.1.0/core/credential_verdicts.py +0 -468
  1218. polyrob-1.1.0/core/credit_sentinel.py +0 -340
  1219. polyrob-1.1.0/core/data_perms.py +0 -280
  1220. polyrob-1.1.0/core/db_manifest.py +0 -172
  1221. polyrob-1.1.0/core/doc_claims.py +0 -232
  1222. polyrob-1.1.0/core/env_file.py +0 -58
  1223. polyrob-1.1.0/core/event_kinds.py +0 -179
  1224. polyrob-1.1.0/core/event_log.py +0 -324
  1225. polyrob-1.1.0/core/exec_identity.py +0 -48
  1226. polyrob-1.1.0/core/flags.py +0 -207
  1227. polyrob-1.1.0/core/flags_catalog.py +0 -751
  1228. polyrob-1.1.0/core/goal_board_render.py +0 -157
  1229. polyrob-1.1.0/core/goal_vocab.py +0 -44
  1230. polyrob-1.1.0/core/initialization.py +0 -994
  1231. polyrob-1.1.0/core/instance.py +0 -870
  1232. polyrob-1.1.0/core/interactive_gate.py +0 -256
  1233. polyrob-1.1.0/core/open_positions.py +0 -316
  1234. polyrob-1.1.0/core/optional_extras.py +0 -107
  1235. polyrob-1.1.0/core/owner_create.py +0 -145
  1236. polyrob-1.1.0/core/owner_doc_writer.py +0 -78
  1237. polyrob-1.1.0/core/owner_remedy.py +0 -318
  1238. polyrob-1.1.0/core/path_safety.py +0 -20
  1239. polyrob-1.1.0/core/payment_config.py +0 -21
  1240. polyrob-1.1.0/core/payments/assets.py +0 -347
  1241. polyrob-1.1.0/core/position_ledger.py +0 -159
  1242. polyrob-1.1.0/core/prefs.py +0 -1471
  1243. polyrob-1.1.0/core/publish.py +0 -321
  1244. polyrob-1.1.0/core/rate_limit.py +0 -245
  1245. polyrob-1.1.0/core/recap.py +0 -257
  1246. polyrob-1.1.0/core/secret_patterns.py +0 -221
  1247. polyrob-1.1.0/core/secret_scrub.py +0 -49
  1248. polyrob-1.1.0/core/security/browser_rail.py +0 -214
  1249. polyrob-1.1.0/core/security/encryption.py +0 -193
  1250. polyrob-1.1.0/core/security/host_execution.py +0 -23
  1251. polyrob-1.1.0/core/security/redaction.py +0 -75
  1252. polyrob-1.1.0/core/security/refusals.py +0 -52
  1253. polyrob-1.1.0/core/security/secret_guard.py +0 -539
  1254. polyrob-1.1.0/core/security/untrusted_wrap.py +0 -107
  1255. polyrob-1.1.0/core/security_digest.py +0 -158
  1256. polyrob-1.1.0/core/security_logging_filter.py +0 -432
  1257. polyrob-1.1.0/core/self_context_writer.py +0 -533
  1258. polyrob-1.1.0/core/self_evolution.py +0 -1015
  1259. polyrob-1.1.0/core/session_control.py +0 -81
  1260. polyrob-1.1.0/core/status_economics.py +0 -228
  1261. polyrob-1.1.0/core/status_liquidity.py +0 -39
  1262. polyrob-1.1.0/core/status_live.py +0 -101
  1263. polyrob-1.1.0/core/status_render.py +0 -239
  1264. polyrob-1.1.0/core/status_snapshot.py +0 -2239
  1265. polyrob-1.1.0/core/surfaces/__init__.py +0 -16
  1266. polyrob-1.1.0/core/surfaces/access.py +0 -316
  1267. polyrob-1.1.0/core/surfaces/access_log.py +0 -149
  1268. polyrob-1.1.0/core/surfaces/act.py +0 -42
  1269. polyrob-1.1.0/core/surfaces/attachments.py +0 -168
  1270. polyrob-1.1.0/core/surfaces/binding.py +0 -245
  1271. polyrob-1.1.0/core/surfaces/bootstrap.py +0 -261
  1272. polyrob-1.1.0/core/surfaces/circuit.py +0 -168
  1273. polyrob-1.1.0/core/surfaces/command_reply.py +0 -57
  1274. polyrob-1.1.0/core/surfaces/config.py +0 -271
  1275. polyrob-1.1.0/core/surfaces/continuity.py +0 -77
  1276. polyrob-1.1.0/core/surfaces/correspondents.py +0 -511
  1277. polyrob-1.1.0/core/surfaces/dead_targets.py +0 -227
  1278. polyrob-1.1.0/core/surfaces/dispatcher.py +0 -730
  1279. polyrob-1.1.0/core/surfaces/envelopes.py +0 -96
  1280. polyrob-1.1.0/core/surfaces/gc.py +0 -30
  1281. polyrob-1.1.0/core/surfaces/group_turn.py +0 -286
  1282. polyrob-1.1.0/core/surfaces/health.py +0 -90
  1283. polyrob-1.1.0/core/surfaces/idempotency.py +0 -74
  1284. polyrob-1.1.0/core/surfaces/inbound_attachments.py +0 -404
  1285. polyrob-1.1.0/core/surfaces/inbound_webhook.py +0 -140
  1286. polyrob-1.1.0/core/surfaces/inbox_render.py +0 -342
  1287. polyrob-1.1.0/core/surfaces/ledger_ingest.py +0 -274
  1288. polyrob-1.1.0/core/surfaces/media.py +0 -40
  1289. polyrob-1.1.0/core/surfaces/message_router.py +0 -470
  1290. polyrob-1.1.0/core/surfaces/outbound_allowlist.py +0 -80
  1291. polyrob-1.1.0/core/surfaces/outbound_dispatcher.py +0 -256
  1292. polyrob-1.1.0/core/surfaces/outbound_queue.py +0 -158
  1293. polyrob-1.1.0/core/surfaces/outbound_target.py +0 -121
  1294. polyrob-1.1.0/core/surfaces/owner_address.py +0 -78
  1295. polyrob-1.1.0/core/surfaces/owner_admin.py +0 -389
  1296. polyrob-1.1.0/core/surfaces/owner_intent.py +0 -193
  1297. polyrob-1.1.0/core/surfaces/path_links.py +0 -175
  1298. polyrob-1.1.0/core/surfaces/quiet_hours.py +0 -72
  1299. polyrob-1.1.0/core/surfaces/recap.py +0 -84
  1300. polyrob-1.1.0/core/surfaces/rendering.py +0 -285
  1301. polyrob-1.1.0/core/surfaces/room_action_admin.py +0 -306
  1302. polyrob-1.1.0/core/surfaces/room_action_store.py +0 -332
  1303. polyrob-1.1.0/core/surfaces/room_actions.py +0 -1132
  1304. polyrob-1.1.0/core/surfaces/room_caps.py +0 -132
  1305. polyrob-1.1.0/core/surfaces/room_policy.py +0 -248
  1306. polyrob-1.1.0/core/surfaces/send_policy.py +0 -14
  1307. polyrob-1.1.0/core/surfaces/surface.py +0 -305
  1308. polyrob-1.1.0/core/surfaces/tappable.py +0 -60
  1309. polyrob-1.1.0/core/surfaces/transcription.py +0 -88
  1310. polyrob-1.1.0/core/surfaces/turn_reply.py +0 -75
  1311. polyrob-1.1.0/core/surfaces/user_delivery.py +0 -1036
  1312. polyrob-1.1.0/core/tool_capabilities.py +0 -211
  1313. polyrob-1.1.0/core/tool_catalog.py +0 -185
  1314. polyrob-1.1.0/core/verbs.py +0 -253
  1315. polyrob-1.1.0/core/version.py +0 -75
  1316. polyrob-1.1.0/core/wallet/__init__.py +0 -5
  1317. polyrob-1.1.0/core/wallet/addresses.py +0 -130
  1318. polyrob-1.1.0/core/wallet/agent_wallet.py +0 -340
  1319. polyrob-1.1.0/core/wallet/audit_sink.py +0 -319
  1320. polyrob-1.1.0/core/wallet/authority.py +0 -89
  1321. polyrob-1.1.0/core/wallet/bridge_guard.py +0 -479
  1322. polyrob-1.1.0/core/wallet/broadcast/evm.py +0 -308
  1323. polyrob-1.1.0/core/wallet/chains.py +0 -524
  1324. polyrob-1.1.0/core/wallet/config.py +0 -339
  1325. polyrob-1.1.0/core/wallet/deploy_guard.py +0 -359
  1326. polyrob-1.1.0/core/wallet/derivation.py +0 -171
  1327. polyrob-1.1.0/core/wallet/dex_registry.py +0 -147
  1328. polyrob-1.1.0/core/wallet/erc8004.py +0 -119
  1329. polyrob-1.1.0/core/wallet/factory.py +0 -165
  1330. polyrob-1.1.0/core/wallet/liquidity_guard.py +0 -167
  1331. polyrob-1.1.0/core/wallet/onchain.py +0 -267
  1332. polyrob-1.1.0/core/wallet/policy.py +0 -345
  1333. polyrob-1.1.0/core/wallet/simulation.py +0 -421
  1334. polyrob-1.1.0/core/wallet/solana_onchain.py +0 -103
  1335. polyrob-1.1.0/core/wallet/solana_rail.py +0 -186
  1336. polyrob-1.1.0/core/wallet/solana_signer.py +0 -184
  1337. polyrob-1.1.0/core/wallet/solana_simulation.py +0 -233
  1338. polyrob-1.1.0/core/wallet/solana_tx_inspect.py +0 -426
  1339. polyrob-1.1.0/core/wallet/solana_x402.py +0 -131
  1340. polyrob-1.1.0/core/wallet/spl_token.py +0 -478
  1341. polyrob-1.1.0/core/wallet/submission_journal.py +0 -105
  1342. polyrob-1.1.0/core/wallet/submission_recovery.py +0 -160
  1343. polyrob-1.1.0/core/wallet/submission_store.py +0 -172
  1344. polyrob-1.1.0/core/wallet/tokens.py +0 -289
  1345. polyrob-1.1.0/core/wallet/trade_index.py +0 -91
  1346. polyrob-1.1.0/core/wallet/tx_guard.py +0 -1674
  1347. polyrob-1.1.0/core/wallet/tx_notify.py +0 -310
  1348. polyrob-1.1.0/core/wallet/view.py +0 -101
  1349. polyrob-1.1.0/cron/README.md +0 -65
  1350. polyrob-1.1.0/cron/delivery.py +0 -553
  1351. polyrob-1.1.0/cron/digest.py +0 -241
  1352. polyrob-1.1.0/cron/rig_edit.py +0 -71
  1353. polyrob-1.1.0/cron/runner.py +0 -554
  1354. polyrob-1.1.0/cron/schedule.py +0 -194
  1355. polyrob-1.1.0/cron/service.py +0 -110
  1356. polyrob-1.1.0/data/prompts/autov2_prompts.json +0 -87
  1357. polyrob-1.1.0/data/prompts/skills/browser-automation/SKILL.md +0 -43
  1358. polyrob-1.1.0/data/prompts/skills/crypto-trading-safety/SKILL.md +0 -68
  1359. polyrob-1.1.0/data/prompts/skills/document-writing/SKILL.md +0 -33
  1360. polyrob-1.1.0/data/prompts/skills/email-comms/SKILL.md +0 -33
  1361. polyrob-1.1.0/data/prompts/skills/hyperliquid-account-review/SKILL.md +0 -48
  1362. polyrob-1.1.0/data/prompts/skills/hyperliquid-market-data/SKILL.md +0 -52
  1363. polyrob-1.1.0/data/prompts/skills/hyperliquid-trading/SKILL.md +0 -59
  1364. polyrob-1.1.0/data/prompts/skills/person-analyzer/SKILL.md +0 -124
  1365. polyrob-1.1.0/data/prompts/skills/polymarket-market-research/SKILL.md +0 -54
  1366. polyrob-1.1.0/data/prompts/skills/polymarket-portfolio-review/SKILL.md +0 -50
  1367. polyrob-1.1.0/data/prompts/skills/polymarket-trading/SKILL.md +0 -55
  1368. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/SKILL.md +0 -191
  1369. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/autonomy.md +0 -92
  1370. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/configuration.md +0 -778
  1371. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/money-and-safety.md +0 -116
  1372. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/setup-interview.md +0 -81
  1373. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/surfaces.md +0 -112
  1374. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/wallet-and-identity.md +0 -115
  1375. polyrob-1.1.0/data/prompts/skills/rules.json +0 -940
  1376. polyrob-1.1.0/data/prompts/skills/secret-handling/SKILL.md +0 -20
  1377. polyrob-1.1.0/data/prompts/skills/self-deploy/SKILL.md +0 -153
  1378. polyrob-1.1.0/data/prompts/skills/skill-authoring/SKILL.md +0 -31
  1379. polyrob-1.1.0/data/prompts/skills/skill-security-review/SKILL.md +0 -27
  1380. polyrob-1.1.0/data/prompts/skills/social-discovery/SKILL.md +0 -56
  1381. polyrob-1.1.0/data/prompts/skills/task-planning/SKILL.md +0 -33
  1382. polyrob-1.1.0/data/prompts/skills/treasury-trading/SKILL.md +0 -922
  1383. polyrob-1.1.0/data/prompts/skills/verified-tooling/SKILL.md +0 -61
  1384. polyrob-1.1.0/data/prompts/skills/web-research/SKILL.md +0 -39
  1385. polyrob-1.1.0/data/prompts/skills/web-scraping/SKILL.md +0 -73
  1386. polyrob-1.1.0/data/prompts/skills/x-engagement/SKILL.md +0 -127
  1387. polyrob-1.1.0/data/prompts/system_prompts.json +0 -4
  1388. polyrob-1.1.0/docs/CONFIGURATION.md +0 -1444
  1389. polyrob-1.1.0/docs/guide/api.md +0 -634
  1390. polyrob-1.1.0/docs/guide/architecture.md +0 -174
  1391. polyrob-1.1.0/docs/guide/cli.md +0 -756
  1392. polyrob-1.1.0/docs/guide/configuration.md +0 -568
  1393. polyrob-1.1.0/docs/guide/console.md +0 -193
  1394. polyrob-1.1.0/docs/guide/getting-started.md +0 -321
  1395. polyrob-1.1.0/docs/guide/groups.md +0 -575
  1396. polyrob-1.1.0/docs/guide/instances.md +0 -250
  1397. polyrob-1.1.0/docs/guide/owner-controls.md +0 -340
  1398. polyrob-1.1.0/docs/guide/payments.md +0 -1345
  1399. polyrob-1.1.0/docs/guide/security-model.md +0 -404
  1400. polyrob-1.1.0/docs/guide/self-hosting.md +0 -408
  1401. polyrob-1.1.0/docs/guide/skills.md +0 -216
  1402. polyrob-1.1.0/docs/guide/streams.md +0 -296
  1403. polyrob-1.1.0/docs/guide/x-twitter.md +0 -104
  1404. polyrob-1.1.0/migrations/migrate.py +0 -242
  1405. polyrob-1.1.0/migrations/version_manager.py +0 -239
  1406. polyrob-1.1.0/modules/README.md +0 -503
  1407. polyrob-1.1.0/modules/auth/identity_mapper.py +0 -339
  1408. polyrob-1.1.0/modules/auth/siwe_auth.py +0 -273
  1409. polyrob-1.1.0/modules/credits/balances.py +0 -119
  1410. polyrob-1.1.0/modules/credits/pricing.py +0 -253
  1411. polyrob-1.1.0/modules/credits/unified_ledger.py +0 -374
  1412. polyrob-1.1.0/modules/credits/usage_tracker.py +0 -778
  1413. polyrob-1.1.0/modules/database/auth_tables.py +0 -342
  1414. polyrob-1.1.0/modules/database/hyperliquid.py +0 -375
  1415. polyrob-1.1.0/modules/database/polymarket.py +0 -574
  1416. polyrob-1.1.0/modules/eip8004/README.md +0 -1090
  1417. polyrob-1.1.0/modules/eip8004/models.py +0 -320
  1418. polyrob-1.1.0/modules/eip8004/registration.py +0 -290
  1419. polyrob-1.1.0/modules/eip8004/reputation.py +0 -611
  1420. polyrob-1.1.0/modules/llm/adapters.py +0 -1099
  1421. polyrob-1.1.0/modules/llm/anthropic_client.py +0 -913
  1422. polyrob-1.1.0/modules/llm/aux_metering.py +0 -166
  1423. polyrob-1.1.0/modules/llm/cache_hints.py +0 -174
  1424. polyrob-1.1.0/modules/llm/compat_clients.py +0 -207
  1425. polyrob-1.1.0/modules/llm/deepseek_client.py +0 -548
  1426. polyrob-1.1.0/modules/llm/gemini_client.py +0 -1358
  1427. polyrob-1.1.0/modules/llm/llm_client_registry.py +0 -278
  1428. polyrob-1.1.0/modules/llm/llm_factory.py +0 -288
  1429. polyrob-1.1.0/modules/llm/llm_manager.py +0 -861
  1430. polyrob-1.1.0/modules/llm/messages.py +0 -402
  1431. polyrob-1.1.0/modules/llm/model_catalog.py +0 -1549
  1432. polyrob-1.1.0/modules/llm/model_pricing.py +0 -57
  1433. polyrob-1.1.0/modules/llm/model_registry.py +0 -402
  1434. polyrob-1.1.0/modules/llm/model_types.py +0 -239
  1435. polyrob-1.1.0/modules/llm/openai_client.py +0 -896
  1436. polyrob-1.1.0/modules/llm/openrouter_client.py +0 -960
  1437. polyrob-1.1.0/modules/llm/openrouter_reasoning.py +0 -85
  1438. polyrob-1.1.0/modules/llm/prefix_stamp.py +0 -68
  1439. polyrob-1.1.0/modules/llm/responses_client.py +0 -271
  1440. polyrob-1.1.0/modules/llm/token_counter.py +0 -271
  1441. polyrob-1.1.0/modules/llm/usage_extract.py +0 -186
  1442. polyrob-1.1.0/modules/memory/backend_factory.py +0 -85
  1443. polyrob-1.1.0/modules/memory/cache_manager.py +0 -182
  1444. polyrob-1.1.0/modules/memory/episodic.py +0 -118
  1445. polyrob-1.1.0/modules/memory/local_vector_memory_provider.py +0 -653
  1446. polyrob-1.1.0/modules/memory/registry.py +0 -239
  1447. polyrob-1.1.0/modules/memory/sqlite_curated_store.py +0 -346
  1448. polyrob-1.1.0/modules/memory/sqlite_memory_provider.py +0 -492
  1449. polyrob-1.1.0/modules/memory/task/__init__.py +0 -52
  1450. polyrob-1.1.0/modules/memory/task/compaction_manager.py +0 -157
  1451. polyrob-1.1.0/modules/memory/task/hierarchical_memory.py +0 -786
  1452. polyrob-1.1.0/modules/memory/task/semantic_retriever.py +0 -218
  1453. polyrob-1.1.0/modules/memory/task/task_context_manager.py +0 -1132
  1454. polyrob-1.1.0/modules/payments/deposit_monitor.py +0 -450
  1455. polyrob-1.1.0/modules/payments/treasury_sweeper.py +0 -398
  1456. polyrob-1.1.0/modules/payments/wallet_generator.py +0 -123
  1457. polyrob-1.1.0/modules/pfp/__init__.py +0 -1
  1458. polyrob-1.1.0/modules/pfp/cards.py +0 -386
  1459. polyrob-1.1.0/modules/pfp/config.py +0 -92
  1460. polyrob-1.1.0/modules/pfp/identity.py +0 -76
  1461. polyrob-1.1.0/modules/pfp/mesh.py +0 -573
  1462. polyrob-1.1.0/modules/pfp/push.py +0 -103
  1463. polyrob-1.1.0/modules/pfp/renderer.py +0 -94
  1464. polyrob-1.1.0/modules/pfp/still.py +0 -115
  1465. polyrob-1.1.0/modules/pfp/store.py +0 -169
  1466. polyrob-1.1.0/modules/pfp/voice.py +0 -124
  1467. polyrob-1.1.0/modules/x402/invoice_jitter.py +0 -300
  1468. polyrob-1.1.0/modules/x402/invoicing.py +0 -1169
  1469. polyrob-1.1.0/modules/x402/middleware.py +0 -502
  1470. polyrob-1.1.0/modules/x402/onchain_probe.py +0 -140
  1471. polyrob-1.1.0/modules/x402/settlement_scan.py +0 -830
  1472. polyrob-1.1.0/modules/x402/settlement_subscriptions.py +0 -304
  1473. polyrob-1.1.0/modules/x402/solana_settlement.py +0 -149
  1474. polyrob-1.1.0/modules/x402/subscriptions.py +0 -537
  1475. polyrob-1.1.0/modules/x402/x402_integration.py +0 -546
  1476. polyrob-1.1.0/polyrob.egg-info/PKG-INFO +0 -565
  1477. polyrob-1.1.0/polyrob.egg-info/SOURCES.txt +0 -1356
  1478. polyrob-1.1.0/polyrob.egg-info/entry_points.txt +0 -2
  1479. polyrob-1.1.0/polyrob.egg-info/requires.txt +0 -87
  1480. polyrob-1.1.0/polyrob.egg-info/top_level.txt +0 -15
  1481. polyrob-1.1.0/pyproject.toml +0 -110
  1482. polyrob-1.1.0/surfaces/README.md +0 -70
  1483. polyrob-1.1.0/surfaces/_shared.py +0 -110
  1484. polyrob-1.1.0/surfaces/discord/gateway.py +0 -199
  1485. polyrob-1.1.0/surfaces/discord/harness.py +0 -66
  1486. polyrob-1.1.0/surfaces/email/fetchers.py +0 -268
  1487. polyrob-1.1.0/surfaces/email/harness.py +0 -364
  1488. polyrob-1.1.0/surfaces/email/inbound.py +0 -227
  1489. polyrob-1.1.0/surfaces/inbox_sources.py +0 -278
  1490. polyrob-1.1.0/surfaces/signal/client.py +0 -116
  1491. polyrob-1.1.0/surfaces/signal/harness.py +0 -59
  1492. polyrob-1.1.0/surfaces/signal/surface.py +0 -139
  1493. polyrob-1.1.0/surfaces/slack/harness.py +0 -71
  1494. polyrob-1.1.0/surfaces/slack/socket_mode.py +0 -142
  1495. polyrob-1.1.0/surfaces/slack/surface.py +0 -89
  1496. polyrob-1.1.0/surfaces/telegram/dedup.py +0 -21
  1497. polyrob-1.1.0/surfaces/telegram/dev_rail.py +0 -82
  1498. polyrob-1.1.0/surfaces/telegram/group_ops.py +0 -1020
  1499. polyrob-1.1.0/surfaces/telegram/harness.py +0 -3371
  1500. polyrob-1.1.0/surfaces/telegram/inbound.py +0 -254
  1501. polyrob-1.1.0/surfaces/telegram/nft_ops.py +0 -161
  1502. polyrob-1.1.0/surfaces/telegram/owner_intent_gate.py +0 -78
  1503. polyrob-1.1.0/surfaces/telegram/owner_ops.py +0 -1013
  1504. polyrob-1.1.0/surfaces/telegram/surface.py +0 -362
  1505. polyrob-1.1.0/surfaces/telegram/token_ops.py +0 -299
  1506. polyrob-1.1.0/surfaces/whatsapp/client.py +0 -51
  1507. polyrob-1.1.0/surfaces/whatsapp/harness.py +0 -63
  1508. polyrob-1.1.0/surfaces/whatsapp/inbound.py +0 -134
  1509. polyrob-1.1.0/surfaces/whatsapp/surface.py +0 -64
  1510. polyrob-1.1.0/surfaces/x/chat_client.py +0 -9
  1511. polyrob-1.1.0/surfaces/x/client.py +0 -182
  1512. polyrob-1.1.0/surfaces/x/harness.py +0 -91
  1513. polyrob-1.1.0/surfaces/x/poller.py +0 -223
  1514. polyrob-1.1.0/tests/test_autonomy_control_ratchet.py +0 -136
  1515. polyrob-1.1.0/tests/test_browser_launch_ratchet.py +0 -55
  1516. polyrob-1.1.0/tests/test_changelog_release.py +0 -55
  1517. polyrob-1.1.0/tests/test_conftest_operator_env_guard.py +0 -76
  1518. polyrob-1.1.0/tests/test_core_platform_boundary.py +0 -279
  1519. polyrob-1.1.0/tests/test_effect_classification_ratchet.py +0 -130
  1520. polyrob-1.1.0/tests/test_event_kind_contract.py +0 -93
  1521. polyrob-1.1.0/tests/test_file_size_ratchet.py +0 -139
  1522. polyrob-1.1.0/tests/test_layering_ratchet.py +0 -273
  1523. polyrob-1.1.0/tests/test_rate_limiter_ratchet.py +0 -84
  1524. polyrob-1.1.0/tests/test_room_safety_ratchet.py +0 -197
  1525. polyrob-1.1.0/tests/test_schema_version.py +0 -35
  1526. polyrob-1.1.0/tests/test_status_silence_ratchet.py +0 -108
  1527. polyrob-1.1.0/tests/test_version_consistency.py +0 -110
  1528. polyrob-1.1.0/tools/README.md +0 -578
  1529. polyrob-1.1.0/tools/__init__.py +0 -439
  1530. polyrob-1.1.0/tools/alchemy/alchemy_tool.py +0 -389
  1531. polyrob-1.1.0/tools/anysite/client.py +0 -202
  1532. polyrob-1.1.0/tools/anysite/tool.py +0 -233
  1533. polyrob-1.1.0/tools/app_service/tool.py +0 -329
  1534. polyrob-1.1.0/tools/browser/browser.py +0 -1577
  1535. polyrob-1.1.0/tools/browser/child_env.py +0 -71
  1536. polyrob-1.1.0/tools/code_exec/backends/docker.py +0 -1031
  1537. polyrob-1.1.0/tools/code_exec/backends/local_subprocess.py +0 -158
  1538. polyrob-1.1.0/tools/code_exec/backends/ssh.py +0 -320
  1539. polyrob-1.1.0/tools/code_exec/limits.py +0 -33
  1540. polyrob-1.1.0/tools/code_exec/result.py +0 -42
  1541. polyrob-1.1.0/tools/code_exec/tool.py +0 -220
  1542. polyrob-1.1.0/tools/coding/edit.py +0 -306
  1543. polyrob-1.1.0/tools/coding/lsp.py +0 -159
  1544. polyrob-1.1.0/tools/coding/search.py +0 -134
  1545. polyrob-1.1.0/tools/coding/tool.py +0 -617
  1546. polyrob-1.1.0/tools/controller/_helpers.py +0 -231
  1547. polyrob-1.1.0/tools/controller/action_registration.py +0 -1956
  1548. polyrob-1.1.0/tools/controller/agent_status_action.py +0 -214
  1549. polyrob-1.1.0/tools/controller/approval.py +0 -532
  1550. polyrob-1.1.0/tools/controller/approval_interactive.py +0 -292
  1551. polyrob-1.1.0/tools/controller/approval_queue.py +0 -1076
  1552. polyrob-1.1.0/tools/controller/autonomy_control_action.py +0 -136
  1553. polyrob-1.1.0/tools/controller/avatar_action.py +0 -162
  1554. polyrob-1.1.0/tools/controller/delegation.py +0 -204
  1555. polyrob-1.1.0/tools/controller/doc_authoring.py +0 -491
  1556. polyrob-1.1.0/tools/controller/execution.py +0 -996
  1557. polyrob-1.1.0/tools/controller/grant_card.py +0 -94
  1558. polyrob-1.1.0/tools/controller/insights_action.py +0 -52
  1559. polyrob-1.1.0/tools/controller/introspection.py +0 -320
  1560. polyrob-1.1.0/tools/controller/mcp_registrar.py +0 -190
  1561. polyrob-1.1.0/tools/controller/message_send.py +0 -581
  1562. polyrob-1.1.0/tools/controller/registry/schema_generators.py +0 -412
  1563. polyrob-1.1.0/tools/controller/registry/service.py +0 -1321
  1564. polyrob-1.1.0/tools/controller/room_read_action.py +0 -245
  1565. polyrob-1.1.0/tools/controller/service.py +0 -661
  1566. polyrob-1.1.0/tools/controller/tool_load_report.py +0 -143
  1567. polyrob-1.1.0/tools/controller/tool_management.py +0 -423
  1568. polyrob-1.1.0/tools/controller/turn_origin.py +0 -313
  1569. polyrob-1.1.0/tools/controller/views.py +0 -507
  1570. polyrob-1.1.0/tools/controller/wallet_authority.py +0 -21
  1571. polyrob-1.1.0/tools/cronjob_tools.py +0 -190
  1572. polyrob-1.1.0/tools/crypto_trade_gate.py +0 -188
  1573. polyrob-1.1.0/tools/dapp_browser/bridge.py +0 -524
  1574. polyrob-1.1.0/tools/dapp_browser/js.py +0 -127
  1575. polyrob-1.1.0/tools/dapp_browser/tool.py +0 -346
  1576. polyrob-1.1.0/tools/defi/__init__.py +0 -68
  1577. polyrob-1.1.0/tools/defi/agent_registration.py +0 -171
  1578. polyrob-1.1.0/tools/defi/book.py +0 -320
  1579. polyrob-1.1.0/tools/defi/bridge_evm_leg.py +0 -245
  1580. polyrob-1.1.0/tools/defi/bridge_verb.py +0 -722
  1581. polyrob-1.1.0/tools/defi/call_verb.py +0 -242
  1582. polyrob-1.1.0/tools/defi/data_tool.py +0 -2036
  1583. polyrob-1.1.0/tools/defi/deploy_verb.py +0 -484
  1584. polyrob-1.1.0/tools/defi/lp_verbs.py +0 -318
  1585. polyrob-1.1.0/tools/defi/payment_quote.py +0 -133
  1586. polyrob-1.1.0/tools/defi/providers/_http.py +0 -29
  1587. polyrob-1.1.0/tools/defi/providers/alchemy_index.py +0 -116
  1588. polyrob-1.1.0/tools/defi/providers/base.py +0 -152
  1589. polyrob-1.1.0/tools/defi/providers/dexscreener.py +0 -205
  1590. polyrob-1.1.0/tools/defi/providers/geckoterminal.py +0 -543
  1591. polyrob-1.1.0/tools/defi/providers/goplus.py +0 -337
  1592. polyrob-1.1.0/tools/defi/providers/jupiter.py +0 -171
  1593. polyrob-1.1.0/tools/defi/providers/routes/__init__.py +0 -384
  1594. polyrob-1.1.0/tools/defi/providers/univ3.py +0 -186
  1595. polyrob-1.1.0/tools/defi/reconcile.py +0 -226
  1596. polyrob-1.1.0/tools/defi/spl_deploy_verb.py +0 -365
  1597. polyrob-1.1.0/tools/defi/trade_tool.py +0 -2471
  1598. polyrob-1.1.0/tools/descriptors.py +0 -471
  1599. polyrob-1.1.0/tools/document_parser.py +0 -89
  1600. polyrob-1.1.0/tools/email_tool.py +0 -1048
  1601. polyrob-1.1.0/tools/filesystem.py +0 -1466
  1602. polyrob-1.1.0/tools/filesystem_docproc.py +0 -344
  1603. polyrob-1.1.0/tools/filesystem_pdf.py +0 -476
  1604. polyrob-1.1.0/tools/git/tool.py +0 -264
  1605. polyrob-1.1.0/tools/github/tool.py +0 -237
  1606. polyrob-1.1.0/tools/goal_tools.py +0 -729
  1607. polyrob-1.1.0/tools/hf_deploy/__init__.py +0 -63
  1608. polyrob-1.1.0/tools/hf_deploy/broker.py +0 -252
  1609. polyrob-1.1.0/tools/hf_deploy/digest.py +0 -95
  1610. polyrob-1.1.0/tools/hf_deploy/tool.py +0 -336
  1611. polyrob-1.1.0/tools/hyperliquid/__init__.py +0 -56
  1612. polyrob-1.1.0/tools/hyperliquid/models.py +0 -233
  1613. polyrob-1.1.0/tools/hyperliquid/service.py +0 -1805
  1614. polyrob-1.1.0/tools/knowledge_ingest.py +0 -872
  1615. polyrob-1.1.0/tools/launchpad/execute.py +0 -216
  1616. polyrob-1.1.0/tools/launchpad/tool.py +0 -648
  1617. polyrob-1.1.0/tools/mcp/mcp_tool.py +0 -1415
  1618. polyrob-1.1.0/tools/mcp/protocol.py +0 -1639
  1619. polyrob-1.1.0/tools/mcp/server_manager.py +0 -853
  1620. polyrob-1.1.0/tools/mcp/user_mcp_service.py +0 -919
  1621. polyrob-1.1.0/tools/perplexity_tool.py +0 -284
  1622. polyrob-1.1.0/tools/polymarket/__init__.py +0 -41
  1623. polyrob-1.1.0/tools/polymarket/models.py +0 -175
  1624. polyrob-1.1.0/tools/polymarket/service.py +0 -2126
  1625. polyrob-1.1.0/tools/publish/tool.py +0 -212
  1626. polyrob-1.1.0/tools/self_env/tool.py +0 -259
  1627. polyrob-1.1.0/tools/tool_disclosure.py +0 -315
  1628. polyrob-1.1.0/tools/tool_search.py +0 -281
  1629. polyrob-1.1.0/tools/twitter_tool.py +0 -2673
  1630. polyrob-1.1.0/tools/web_fetch/fetcher.py +0 -164
  1631. polyrob-1.1.0/tools/x402/client.py +0 -55
  1632. polyrob-1.1.0/tools/x402/discovery.py +0 -333
  1633. polyrob-1.1.0/tools/x402/invoice_tool.py +0 -276
  1634. polyrob-1.1.0/tools/x402/net_guard.py +0 -159
  1635. polyrob-1.1.0/tools/x402/real_client.py +0 -926
  1636. polyrob-1.1.0/tools/x402/service.py +0 -415
  1637. polyrob-1.1.0/tools/x402/spend_gate.py +0 -53
  1638. polyrob-1.1.0/tools/x_browser/__init__.py +0 -28
  1639. polyrob-1.1.0/tools/x_browser/driver.py +0 -353
  1640. polyrob-1.1.0/tools/x_browser/escalation.py +0 -134
  1641. polyrob-1.1.0/tools/x_browser/registration.py +0 -41
  1642. polyrob-1.1.0/tools/x_browser/session_store.py +0 -78
  1643. polyrob-1.1.0/tools/x_browser/signup.py +0 -266
  1644. polyrob-1.1.0/tools/x_browser/tool.py +0 -579
  1645. polyrob-1.1.0/tools/x_oauth2.py +0 -338
  1646. polyrob-1.1.0/utils/gif_utils.py +0 -435
  1647. polyrob-1.1.0/webview/activity.py +0 -681
  1648. polyrob-1.1.0/webview/apps_routes.py +0 -79
  1649. polyrob-1.1.0/webview/artifacts_api.py +0 -79
  1650. polyrob-1.1.0/webview/chat_open.py +0 -259
  1651. polyrob-1.1.0/webview/console_commands.py +0 -149
  1652. polyrob-1.1.0/webview/copy/__init__.py +0 -36
  1653. polyrob-1.1.0/webview/copy/en.py +0 -1357
  1654. polyrob-1.1.0/webview/inbox.py +0 -333
  1655. polyrob-1.1.0/webview/knowledge.py +0 -292
  1656. polyrob-1.1.0/webview/owner_login_flow.py +0 -56
  1657. polyrob-1.1.0/webview/pages.py +0 -1823
  1658. polyrob-1.1.0/webview/pages_new.py +0 -1695
  1659. polyrob-1.1.0/webview/posture_guard.py +0 -254
  1660. polyrob-1.1.0/webview/server.py +0 -3458
  1661. polyrob-1.1.0/webview/session_access.py +0 -22
  1662. polyrob-1.1.0/webview/session_catalog.py +0 -58
  1663. polyrob-1.1.0/webview/static/app/agent.js +0 -1467
  1664. polyrob-1.1.0/webview/static/app/app.css +0 -524
  1665. polyrob-1.1.0/webview/static/app/chat-open.js +0 -111
  1666. polyrob-1.1.0/webview/static/app/chats.js +0 -200
  1667. polyrob-1.1.0/webview/static/app/file-attach.js +0 -118
  1668. polyrob-1.1.0/webview/static/app/http.js +0 -92
  1669. polyrob-1.1.0/webview/static/app/inbox.js +0 -127
  1670. polyrob-1.1.0/webview/static/app/live.js +0 -106
  1671. polyrob-1.1.0/webview/static/app/money.js +0 -1345
  1672. polyrob-1.1.0/webview/static/app/palette.js +0 -327
  1673. polyrob-1.1.0/webview/static/app/pause.js +0 -155
  1674. polyrob-1.1.0/webview/static/app/transcript.js +0 -556
  1675. polyrob-1.1.0/webview/static/app/verbs.en.json +0 -332
  1676. polyrob-1.1.0/webview/static/app/work-apps.js +0 -481
  1677. polyrob-1.1.0/webview/static/app/work-now.js +0 -580
  1678. polyrob-1.1.0/webview/static/app/worklog.js +0 -349
  1679. polyrob-1.1.0/webview/static/app/workpane.js +0 -434
  1680. polyrob-1.1.0/webview/static/css/components.css +0 -1190
  1681. polyrob-1.1.0/webview/static/css/webgate.css +0 -653
  1682. polyrob-1.1.0/webview/static/js/admin/activity.js +0 -186
  1683. polyrob-1.1.0/webview/static/js/admin/dashboard.js +0 -163
  1684. polyrob-1.1.0/webview/static/js/admin/user_detail.js +0 -405
  1685. polyrob-1.1.0/webview/static/js/admin/users.js +0 -174
  1686. polyrob-1.1.0/webview/static/js/admin/utils.js +0 -193
  1687. polyrob-1.1.0/webview/static/js/error-handler.js +0 -302
  1688. polyrob-1.1.0/webview/static/js/error-page.js +0 -52
  1689. polyrob-1.1.0/webview/stats_service.py +0 -83
  1690. polyrob-1.1.0/webview/template_globals.py +0 -65
  1691. polyrob-1.1.0/webview/templates/agent.html +0 -284
  1692. polyrob-1.1.0/webview/templates/chat.html +0 -181
  1693. polyrob-1.1.0/webview/templates/error.html +0 -72
  1694. polyrob-1.1.0/webview/templates/inbox.html +0 -138
  1695. polyrob-1.1.0/webview/templates/money.html +0 -222
  1696. polyrob-1.1.0/webview/templates/owner_login.html +0 -15
  1697. polyrob-1.1.0/webview/templates/shell.html +0 -194
  1698. polyrob-1.1.0/webview/templates/work.html +0 -279
  1699. polyrob-1.1.0/webview/webgate.py +0 -549
  1700. polyrob-1.1.0/webview/worklog_api.py +0 -150
  1701. {polyrob-1.1.0 → polyrob-1.2.1}/LICENSE +0 -0
  1702. {polyrob-1.1.0 → polyrob-1.2.1}/agents/personality/character.py +0 -0
  1703. {polyrob-1.1.0 → polyrob-1.2.1}/agents/personality/characters/polyrob.character.json +0 -0
  1704. {polyrob-1.1.0 → polyrob-1.2.1}/agents/personality/persona_render.py +0 -0
  1705. {polyrob-1.1.0 → polyrob-1.2.1}/agents/personality/persona_resolver.py +0 -0
  1706. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/README_PATH_MANAGEMENT.md +0 -0
  1707. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/__init__.py +0 -0
  1708. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/agent_state.py +0 -0
  1709. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/autonomy_state.py +0 -0
  1710. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/__init__.py +0 -0
  1711. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/conversational_exit.py +0 -0
  1712. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/error_recovery.py +0 -0
  1713. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/history_io.py +0 -0
  1714. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/llm_provisioning.py +0 -0
  1715. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/metering_failure_log.py +0 -0
  1716. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/model_introspection.py +0 -0
  1717. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/output_truncation.py +0 -0
  1718. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/resources.py +0 -0
  1719. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/run_budget.py +0 -0
  1720. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/safety_lifecycle.py +0 -0
  1721. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/self_wake.py +0 -0
  1722. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/session_control.py +0 -0
  1723. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/session_metadata.py +0 -0
  1724. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/timeout_reroute.py +0 -0
  1725. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/token_budget.py +0 -0
  1726. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/core/turn_input.py +0 -0
  1727. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/hitl_manager.py +0 -0
  1728. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/log_sanitize.py +0 -0
  1729. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/message_manager/config.py +0 -0
  1730. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/message_manager/tool_call_builder.py +0 -0
  1731. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/message_manager/tool_message_repair.py +0 -0
  1732. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/message_manager/views.py +0 -0
  1733. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/messages/__init__.py +0 -0
  1734. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/messages/sqlite_persistence.py +0 -0
  1735. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/orchestrator.py +0 -0
  1736. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/profile_registry.py +0 -0
  1737. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/skill_discovery.py +0 -0
  1738. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/skill_frontmatter.py +0 -0
  1739. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/skill_validation.py +0 -0
  1740. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/tool_call_tracker.py +0 -0
  1741. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/agent/views.py +0 -0
  1742. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/__init__.py +0 -0
  1743. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/autonomy_marker.py +0 -0
  1744. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/claim_liveness.py +0 -0
  1745. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/completion_judge.py +0 -0
  1746. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/deliverables.py +0 -0
  1747. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/goal_tool_gates.py +0 -0
  1748. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/group_service.py +0 -0
  1749. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/goals/preflight.py +0 -0
  1750. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/logging_config.py +0 -0
  1751. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/runtime/__init__.py +0 -0
  1752. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/runtime/acceptance_checks.py +0 -0
  1753. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/runtime/acceptance_schema.py +0 -0
  1754. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/runtime/run_as_session.py +0 -0
  1755. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session/__init__.py +0 -0
  1756. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session/browser_pool.py +0 -0
  1757. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session/execution.py +0 -0
  1758. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session/feed.py +0 -0
  1759. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session/hooks.py +0 -0
  1760. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session/workspace.py +0 -0
  1761. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session_registry.py +0 -0
  1762. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/session_route.py +0 -0
  1763. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/sqlite_session_registry.py +0 -0
  1764. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/task_agent_control.py +0 -0
  1765. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/task_agent_lifecycle.py +0 -0
  1766. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/__init__.py +0 -0
  1767. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/agent_graph.py +0 -0
  1768. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/feed_reads.py +0 -0
  1769. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/formatters.py +0 -0
  1770. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/live_progress.py +0 -0
  1771. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/memory_events.py +0 -0
  1772. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/run_activity.py +0 -0
  1773. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/service_detect.py +0 -0
  1774. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/telemetry/views.py +0 -0
  1775. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/templates.py +0 -0
  1776. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/utils_json.py +0 -0
  1777. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/utils_webview.py +0 -0
  1778. {polyrob-1.1.0 → polyrob-1.2.1}/agents/task/workspace_context.py +0 -0
  1779. {polyrob-1.1.0 → polyrob-1.2.1}/api/TASK_API_DOCS.md +0 -0
  1780. {polyrob-1.1.0 → polyrob-1.2.1}/api/__init__.py +0 -0
  1781. {polyrob-1.1.0 → polyrob-1.2.1}/api/a2a/__init__.py +0 -0
  1782. {polyrob-1.1.0 → polyrob-1.2.1}/api/a2a/endpoints.py +0 -0
  1783. {polyrob-1.1.0 → polyrob-1.2.1}/api/a2a/models.py +0 -0
  1784. {polyrob-1.1.0 → polyrob-1.2.1}/api/auth_constants.py +0 -0
  1785. {polyrob-1.1.0 → polyrob-1.2.1}/api/auth_state.py +0 -0
  1786. {polyrob-1.1.0 → polyrob-1.2.1}/api/base_url.py +0 -0
  1787. {polyrob-1.1.0 → polyrob-1.2.1}/api/chat_via_task.py +0 -0
  1788. {polyrob-1.1.0 → polyrob-1.2.1}/api/eip8004_endpoints.py +0 -0
  1789. {polyrob-1.1.0 → polyrob-1.2.1}/api/kb/__init__.py +0 -0
  1790. {polyrob-1.1.0 → polyrob-1.2.1}/api/kb/endpoints.py +0 -0
  1791. {polyrob-1.1.0 → polyrob-1.2.1}/api/mcp_models.py +0 -0
  1792. {polyrob-1.1.0 → polyrob-1.2.1}/api/mcp_routes.py +0 -0
  1793. {polyrob-1.1.0 → polyrob-1.2.1}/api/mcp_serve/__init__.py +0 -0
  1794. {polyrob-1.1.0 → polyrob-1.2.1}/api/mcp_serve/handlers.py +0 -0
  1795. {polyrob-1.1.0 → polyrob-1.2.1}/api/mcp_serve/router.py +0 -0
  1796. {polyrob-1.1.0 → polyrob-1.2.1}/api/models.py +0 -0
  1797. {polyrob-1.1.0 → polyrob-1.2.1}/api/openai_compat/__init__.py +0 -0
  1798. {polyrob-1.1.0 → polyrob-1.2.1}/api/openai_compat/errors.py +0 -0
  1799. {polyrob-1.1.0 → polyrob-1.2.1}/api/openai_compat/model_map.py +0 -0
  1800. {polyrob-1.1.0 → polyrob-1.2.1}/api/payment_endpoints.py +0 -0
  1801. {polyrob-1.1.0 → polyrob-1.2.1}/api/pricing_endpoints.py +0 -0
  1802. {polyrob-1.1.0 → polyrob-1.2.1}/api/server_boot.py +0 -0
  1803. {polyrob-1.1.0 → polyrob-1.2.1}/api/session_routing.py +0 -0
  1804. {polyrob-1.1.0 → polyrob-1.2.1}/api/skill_endpoints.py +0 -0
  1805. {polyrob-1.1.0 → polyrob-1.2.1}/api/task_workspace.py +0 -0
  1806. {polyrob-1.1.0 → polyrob-1.2.1}/api/x402_advertisement.py +0 -0
  1807. {polyrob-1.1.0 → polyrob-1.2.1}/assets/__init__.py +0 -0
  1808. {polyrob-1.1.0 → polyrob-1.2.1}/assets/fonts/dejavu/DejaVuSans-Bold.ttf +0 -0
  1809. {polyrob-1.1.0 → polyrob-1.2.1}/assets/fonts/dejavu/DejaVuSans.ttf +0 -0
  1810. {polyrob-1.1.0 → polyrob-1.2.1}/assets/fonts/dejavu/LICENSE +0 -0
  1811. {polyrob-1.1.0 → polyrob-1.2.1}/cli/README.md +0 -0
  1812. {polyrob-1.1.0 → polyrob-1.2.1}/cli/__init__.py +0 -0
  1813. {polyrob-1.1.0 → polyrob-1.2.1}/cli/attachments.py +0 -0
  1814. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/__init__.py +0 -0
  1815. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/_bootstrap.py +0 -0
  1816. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/_grouped.py +0 -0
  1817. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/_options.py +0 -0
  1818. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/_surface_runner.py +0 -0
  1819. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/approvals.py +0 -0
  1820. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/autonomy.py +0 -0
  1821. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/datagen.py +0 -0
  1822. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/discord.py +0 -0
  1823. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/finance.py +0 -0
  1824. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/keys.py +0 -0
  1825. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/knowledge.py +0 -0
  1826. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/persona.py +0 -0
  1827. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/profile.py +0 -0
  1828. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/profile_dist.py +0 -0
  1829. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/profile_transfer.py +0 -0
  1830. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/run.py +0 -0
  1831. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/serve.py +0 -0
  1832. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/signal.py +0 -0
  1833. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/skills.py +0 -0
  1834. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/slack.py +0 -0
  1835. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/subagents.py +0 -0
  1836. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/surface.py +0 -0
  1837. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/telegram.py +0 -0
  1838. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/todos.py +0 -0
  1839. {polyrob-1.1.0 → polyrob-1.2.1}/cli/commands/wallet_lp.py +0 -0
  1840. {polyrob-1.1.0 → polyrob-1.2.1}/cli/config_store.py +0 -0
  1841. {polyrob-1.1.0 → polyrob-1.2.1}/cli/delegation_receipts.py +0 -0
  1842. {polyrob-1.1.0 → polyrob-1.2.1}/cli/git_child_env.py +0 -0
  1843. {polyrob-1.1.0 → polyrob-1.2.1}/cli/gitignore.py +0 -0
  1844. {polyrob-1.1.0 → polyrob-1.2.1}/cli/inventory.py +0 -0
  1845. {polyrob-1.1.0 → polyrob-1.2.1}/cli/keys.py +0 -0
  1846. {polyrob-1.1.0 → polyrob-1.2.1}/cli/persona.py +0 -0
  1847. {polyrob-1.1.0 → polyrob-1.2.1}/cli/session_paths.py +0 -0
  1848. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/__init__.py +0 -0
  1849. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/activity.py +0 -0
  1850. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/app.py +0 -0
  1851. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/blocks.py +0 -0
  1852. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/bootstrap_notice.py +0 -0
  1853. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/candy.py +0 -0
  1854. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/__init__.py +0 -0
  1855. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_approve.py +0 -0
  1856. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_attach.py +0 -0
  1857. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_diag.py +0 -0
  1858. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_files.py +0 -0
  1859. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_learn.py +0 -0
  1860. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_mode.py +0 -0
  1861. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_persona.py +0 -0
  1862. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_prefs.py +0 -0
  1863. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_profile.py +0 -0
  1864. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_self.py +0 -0
  1865. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_steer.py +0 -0
  1866. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/h_view_cells.py +0 -0
  1867. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/commands/window.py +0 -0
  1868. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/config_picker.py +0 -0
  1869. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/dialog.py +0 -0
  1870. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/event_registry.py +0 -0
  1871. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/event_specs.py +0 -0
  1872. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/events.py +0 -0
  1873. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/first_run_notice.py +0 -0
  1874. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/hints.py +0 -0
  1875. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/identity.py +0 -0
  1876. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/lifecycle.py +0 -0
  1877. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/line_layout.py +0 -0
  1878. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/literal.py +0 -0
  1879. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/live_hooks.py +0 -0
  1880. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/log_squelch.py +0 -0
  1881. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/model_selector.py +0 -0
  1882. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/renderer.py +0 -0
  1883. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/rich_renderer.py +0 -0
  1884. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/slash_highlight.py +0 -0
  1885. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/streaming.py +0 -0
  1886. {polyrob-1.1.0 → polyrob-1.2.1}/cli/ui/terminal_title.py +0 -0
  1887. {polyrob-1.1.0 → polyrob-1.2.1}/cli/update/__init__.py +0 -0
  1888. {polyrob-1.1.0 → polyrob-1.2.1}/cli/update/context.py +0 -0
  1889. {polyrob-1.1.0 → polyrob-1.2.1}/cli/update/detect.py +0 -0
  1890. {polyrob-1.1.0 → polyrob-1.2.1}/cli/update/engine.py +0 -0
  1891. {polyrob-1.1.0 → polyrob-1.2.1}/cli/update/snapshot.py +0 -0
  1892. {polyrob-1.1.0 → polyrob-1.2.1}/cli/update/versions.py +0 -0
  1893. {polyrob-1.1.0 → polyrob-1.2.1}/core/README.md +0 -0
  1894. {polyrob-1.1.0 → polyrob-1.2.1}/core/__init__.py +0 -0
  1895. {polyrob-1.1.0 → polyrob-1.2.1}/core/action_receipt.py +0 -0
  1896. {polyrob-1.1.0 → polyrob-1.2.1}/core/activity_evidence.py +0 -0
  1897. {polyrob-1.1.0 → polyrob-1.2.1}/core/admin_data_home.py +0 -0
  1898. {polyrob-1.1.0 → polyrob-1.2.1}/core/app_service/__init__.py +0 -0
  1899. {polyrob-1.1.0 → polyrob-1.2.1}/core/app_service/egress.py +0 -0
  1900. {polyrob-1.1.0 → polyrob-1.2.1}/core/app_service/env_scan.py +0 -0
  1901. {polyrob-1.1.0 → polyrob-1.2.1}/core/app_service/fingerprint.py +0 -0
  1902. {polyrob-1.1.0 → polyrob-1.2.1}/core/app_service/nginx.py +0 -0
  1903. {polyrob-1.1.0 → polyrob-1.2.1}/core/approval_input.py +0 -0
  1904. {polyrob-1.1.0 → polyrob-1.2.1}/core/assets.py +0 -0
  1905. {polyrob-1.1.0 → polyrob-1.2.1}/core/async_bridge.py +0 -0
  1906. {polyrob-1.1.0 → polyrob-1.2.1}/core/backoff.py +0 -0
  1907. {polyrob-1.1.0 → polyrob-1.2.1}/core/base_component.py +0 -0
  1908. {polyrob-1.1.0 → polyrob-1.2.1}/core/bot.py +0 -0
  1909. {polyrob-1.1.0 → polyrob-1.2.1}/core/capability_verdict.py +0 -0
  1910. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/_env.py +0 -0
  1911. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/autonomy_posture.py +0 -0
  1912. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/builder_mode.py +0 -0
  1913. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/compute_posture.py +0 -0
  1914. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/flag_defaults.py +0 -0
  1915. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/flag_enums.py +0 -0
  1916. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/goal_flags.py +0 -0
  1917. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/local_profile.py +0 -0
  1918. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/memory_policy.py +0 -0
  1919. {polyrob-1.1.0 → polyrob-1.2.1}/core/config_policy/runtime_gates.py +0 -0
  1920. {polyrob-1.1.0 → polyrob-1.2.1}/core/constants.py +0 -0
  1921. {polyrob-1.1.0 → polyrob-1.2.1}/core/contract_writer.py +0 -0
  1922. {polyrob-1.1.0 → polyrob-1.2.1}/core/copy/__init__.py +0 -0
  1923. {polyrob-1.1.0 → polyrob-1.2.1}/core/copy/_engine.py +0 -0
  1924. {polyrob-1.1.0 → polyrob-1.2.1}/core/cron_rearm.py +0 -0
  1925. {polyrob-1.1.0 → polyrob-1.2.1}/core/dapp_session_store.py +0 -0
  1926. {polyrob-1.1.0 → polyrob-1.2.1}/core/doc_age.py +0 -0
  1927. {polyrob-1.1.0 → polyrob-1.2.1}/core/embedding.py +0 -0
  1928. {polyrob-1.1.0 → polyrob-1.2.1}/core/env.py +0 -0
  1929. {polyrob-1.1.0 → polyrob-1.2.1}/core/error_classifier.py +0 -0
  1930. {polyrob-1.1.0 → polyrob-1.2.1}/core/eval_manifest.py +0 -0
  1931. {polyrob-1.1.0 → polyrob-1.2.1}/core/exceptions.py +0 -0
  1932. {polyrob-1.1.0 → polyrob-1.2.1}/core/gitignore.py +0 -0
  1933. {polyrob-1.1.0 → polyrob-1.2.1}/core/home_migration.py +0 -0
  1934. {polyrob-1.1.0 → polyrob-1.2.1}/core/identity.py +0 -0
  1935. {polyrob-1.1.0 → polyrob-1.2.1}/core/knowledge_export.py +0 -0
  1936. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/__init__.py +0 -0
  1937. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/errors.py +0 -0
  1938. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/flows/__init__.py +0 -0
  1939. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/flows/base.py +0 -0
  1940. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/flows/device_code.py +0 -0
  1941. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/flows/loopback_pkce.py +0 -0
  1942. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/flows/manual_paste_pkce.py +0 -0
  1943. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/flows/registry.py +0 -0
  1944. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/health.py +0 -0
  1945. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/resolve.py +0 -0
  1946. {polyrob-1.1.0 → polyrob-1.2.1}/core/llm_auth/store.py +0 -0
  1947. {polyrob-1.1.0 → polyrob-1.2.1}/core/logging.py +0 -0
  1948. {polyrob-1.1.0 → polyrob-1.2.1}/core/maintenance_proposals.py +0 -0
  1949. {polyrob-1.1.0 → polyrob-1.2.1}/core/mcp_admin.py +0 -0
  1950. {polyrob-1.1.0 → polyrob-1.2.1}/core/pairing.py +0 -0
  1951. {polyrob-1.1.0 → polyrob-1.2.1}/core/paths.py +0 -0
  1952. {polyrob-1.1.0 → polyrob-1.2.1}/core/payments/__init__.py +0 -0
  1953. {polyrob-1.1.0 → polyrob-1.2.1}/core/payments/quote.py +0 -0
  1954. {polyrob-1.1.0 → polyrob-1.2.1}/core/profiles.py +0 -0
  1955. {polyrob-1.1.0 → polyrob-1.2.1}/core/rails/__init__.py +0 -0
  1956. {polyrob-1.1.0 → polyrob-1.2.1}/core/rails/verification.py +0 -0
  1957. {polyrob-1.1.0 → polyrob-1.2.1}/core/runtime_config.py +0 -0
  1958. {polyrob-1.1.0 → polyrob-1.2.1}/core/runtime_paths.py +0 -0
  1959. {polyrob-1.1.0 → polyrob-1.2.1}/core/seams.py +0 -0
  1960. {polyrob-1.1.0 → polyrob-1.2.1}/core/secret_scan.py +0 -0
  1961. {polyrob-1.1.0 → polyrob-1.2.1}/core/secrets.py +0 -0
  1962. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/__init__.py +0 -0
  1963. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/confined_read.py +0 -0
  1964. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/confined_write.py +0 -0
  1965. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/document_archive.py +0 -0
  1966. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/forged_turns.py +0 -0
  1967. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/http_probe.py +0 -0
  1968. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/owner_turn.py +0 -0
  1969. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/session_tokens.py +0 -0
  1970. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/threat_report.py +0 -0
  1971. {polyrob-1.1.0 → polyrob-1.2.1}/core/security/url_policy.py +0 -0
  1972. {polyrob-1.1.0 → polyrob-1.2.1}/core/security_flags.py +0 -0
  1973. {polyrob-1.1.0 → polyrob-1.2.1}/core/self_events.py +0 -0
  1974. {polyrob-1.1.0 → polyrob-1.2.1}/core/session_gc.py +0 -0
  1975. {polyrob-1.1.0 → polyrob-1.2.1}/core/ship_tree.py +0 -0
  1976. {polyrob-1.1.0 → polyrob-1.2.1}/core/sidecar_relocate.py +0 -0
  1977. {polyrob-1.1.0 → polyrob-1.2.1}/core/sqlite_util.py +0 -0
  1978. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/address_key.py +0 -0
  1979. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/chat_policy.py +0 -0
  1980. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/conversations.py +0 -0
  1981. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/deep_link.py +0 -0
  1982. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/error_notices.py +0 -0
  1983. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/group_admin.py +0 -0
  1984. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/group_allowlist.py +0 -0
  1985. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/group_ledger.py +0 -0
  1986. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/group_roles.py +0 -0
  1987. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/inbox.py +0 -0
  1988. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/llm_outage_notice.py +0 -0
  1989. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/missed.py +0 -0
  1990. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/outbound_mirror.py +0 -0
  1991. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/outbound_policy.py +0 -0
  1992. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/owner_target.py +0 -0
  1993. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/owner_turn.py +0 -0
  1994. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/poll_health.py +0 -0
  1995. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/proactive.py +0 -0
  1996. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/progress.py +0 -0
  1997. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/registry.py +0 -0
  1998. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/room_focus.py +0 -0
  1999. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/room_keys.py +0 -0
  2000. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/room_label.py +0 -0
  2001. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/seed.py +0 -0
  2002. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/serialize.py +0 -0
  2003. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/session_chat_registry.py +0 -0
  2004. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/session_policy.py +0 -0
  2005. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/spill.py +0 -0
  2006. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/voice_echo.py +0 -0
  2007. {polyrob-1.1.0 → polyrob-1.2.1}/core/surfaces/voice_guard.py +0 -0
  2008. {polyrob-1.1.0 → polyrob-1.2.1}/core/tickers.py +0 -0
  2009. {polyrob-1.1.0 → polyrob-1.2.1}/core/token_denylist.py +0 -0
  2010. {polyrob-1.1.0 → polyrob-1.2.1}/core/wake_queue.py +0 -0
  2011. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/abi.py +0 -0
  2012. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/balance_cache.py +0 -0
  2013. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/bridge_status.py +0 -0
  2014. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/bridge_watcher.py +0 -0
  2015. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/broadcast/__init__.py +0 -0
  2016. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/broadcast/receipt_validation.py +0 -0
  2017. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/contracts/FixedSupplyToken.sol +0 -0
  2018. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/infra_error.py +0 -0
  2019. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/public_identity.py +0 -0
  2020. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/relay_svm.py +0 -0
  2021. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/rpc_response.py +0 -0
  2022. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/signer.py +0 -0
  2023. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/solana_strays.py +0 -0
  2024. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/token_template.py +0 -0
  2025. {polyrob-1.1.0 → polyrob-1.2.1}/core/wallet/univ3_math.py +0 -0
  2026. {polyrob-1.1.0 → polyrob-1.2.1}/cron/__init__.py +0 -0
  2027. {polyrob-1.1.0 → polyrob-1.2.1}/cron/approval_defer.py +0 -0
  2028. {polyrob-1.1.0 → polyrob-1.2.1}/cron/jobs.py +0 -0
  2029. {polyrob-1.1.0 → polyrob-1.2.1}/cron/room_service.py +0 -0
  2030. {polyrob-1.1.0 → polyrob-1.2.1}/cron/scheduler.py +0 -0
  2031. {polyrob-1.1.0 → polyrob-1.2.1}/cron/wake_gate.py +0 -0
  2032. {polyrob-1.1.0 → polyrob-1.2.1}/data/__init__.py +0 -0
  2033. {polyrob-1.1.0 → polyrob-1.2.1}/data/characters/analyst.character.json +0 -0
  2034. {polyrob-1.1.0 → polyrob-1.2.1}/data/characters/coder.character.json +0 -0
  2035. {polyrob-1.1.0 → polyrob-1.2.1}/data/characters/default.character.json +0 -0
  2036. {polyrob-1.1.0 → polyrob-1.2.1}/data/characters/ops.character.json +0 -0
  2037. {polyrob-1.1.0 → polyrob-1.2.1}/data/characters/researcher.character.json +0 -0
  2038. {polyrob-1.1.0 → polyrob-1.2.1}/data/characters/writer.character.json +0 -0
  2039. {polyrob-1.1.0 → polyrob-1.2.1}/data/prompts/skills/coding-workflow/SKILL.md +0 -0
  2040. {polyrob-1.1.0 → polyrob-1.2.1}/data/prompts/skills/file-data-ops/SKILL.md +0 -0
  2041. {polyrob-1.1.0 → polyrob-1.2.1}/data/prompts/skills/market-research-brief/SKILL.md +0 -0
  2042. {polyrob-1.1.0 → polyrob-1.2.1}/data/prompts/skills/polyrob-user-guide/references/skills-and-learning.md +0 -0
  2043. {polyrob-1.1.0 → polyrob-1.2.1}/data/prompts/skills/presentation-creator/SKILL.md +0 -0
  2044. {polyrob-1.1.0 → polyrob-1.2.1}/data/prompts/skills/project-analyzer/SKILL.md +0 -0
  2045. {polyrob-1.1.0 → polyrob-1.2.1}/data/subscription_channels.json +0 -0
  2046. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/__init__.py +0 -0
  2047. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/assemble.py +0 -0
  2048. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/batch_runner.py +0 -0
  2049. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/bulk_export.py +0 -0
  2050. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/capture.py +0 -0
  2051. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/formats.py +0 -0
  2052. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/record.py +0 -0
  2053. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/scrub.py +0 -0
  2054. {polyrob-1.1.0 → polyrob-1.2.1}/datagen/toolset_distributions.py +0 -0
  2055. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/deployment-postures.md +0 -0
  2056. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/migration/README.md +0 -0
  2057. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/migration/from-hermes.md +0 -0
  2058. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/migration/from-openclaw.md +0 -0
  2059. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/profiles.md +0 -0
  2060. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/rails-verification.md +0 -0
  2061. {polyrob-1.1.0 → polyrob-1.2.1}/docs/guide/upgrading.md +0 -0
  2062. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/README.md +0 -0
  2063. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/__init__.py +0 -0
  2064. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/boot.py +0 -0
  2065. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/__init__.py +0 -0
  2066. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_0_0_baseline.py +0 -0
  2067. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_1_0_user_mcp_servers.py +0 -0
  2068. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_2_0_den_token_bonuses.py +0 -0
  2069. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_3_0_billing_failures.py +0 -0
  2070. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_4_0_polymarket_credentials.py +0 -0
  2071. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_5_0_usage_records_request_id.py +0 -0
  2072. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_6_0_x402_tx_hash_unique.py +0 -0
  2073. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_7_0_x402_subscription_pending_unique.py +0 -0
  2074. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_8_0_x402_tx_hash_case_normalize.py +0 -0
  2075. {polyrob-1.1.0 → polyrob-1.2.1}/migrations/versions/v1_9_0_x402_payment_asset_columns.py +0 -0
  2076. {polyrob-1.1.0 → polyrob-1.2.1}/modules/__init__.py +0 -0
  2077. {polyrob-1.1.0 → polyrob-1.2.1}/modules/auth/__init__.py +0 -0
  2078. {polyrob-1.1.0 → polyrob-1.2.1}/modules/auth/api_key_manager.py +0 -0
  2079. {polyrob-1.1.0 → polyrob-1.2.1}/modules/auth/tier_manager.py +0 -0
  2080. {polyrob-1.1.0 → polyrob-1.2.1}/modules/base_module.py +0 -0
  2081. {polyrob-1.1.0 → polyrob-1.2.1}/modules/credits/__init__.py +0 -0
  2082. {polyrob-1.1.0 → polyrob-1.2.1}/modules/credits/balance_manager.py +0 -0
  2083. {polyrob-1.1.0 → polyrob-1.2.1}/modules/credits/cost_utils.py +0 -0
  2084. {polyrob-1.1.0 → polyrob-1.2.1}/modules/credits/usage_rollup.py +0 -0
  2085. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/__init__.py +0 -0
  2086. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/audit_log.py +0 -0
  2087. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/connection.py +0 -0
  2088. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/conversation_contexts.py +0 -0
  2089. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/database_manager.py +0 -0
  2090. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/user_mcp_servers.py +0 -0
  2091. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/user_profiles.py +0 -0
  2092. {polyrob-1.1.0 → polyrob-1.2.1}/modules/database/x402_tables.py +0 -0
  2093. {polyrob-1.1.0 → polyrob-1.2.1}/modules/eip8004/__init__.py +0 -0
  2094. {polyrob-1.1.0 → polyrob-1.2.1}/modules/eip8004/contracts.py +0 -0
  2095. {polyrob-1.1.0 → polyrob-1.2.1}/modules/eip8004/payment_proof.py +0 -0
  2096. {polyrob-1.1.0 → polyrob-1.2.1}/modules/eip8004/validation.py +0 -0
  2097. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/__init__.py +0 -0
  2098. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/anthropic_images.py +0 -0
  2099. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/available_models.py +0 -0
  2100. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/brain_scrubber.py +0 -0
  2101. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/gemini_parts.py +0 -0
  2102. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/llm_client.py +0 -0
  2103. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/manager_inventory.py +0 -0
  2104. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/model_catalog_recent.py +0 -0
  2105. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/nvidia_client.py +0 -0
  2106. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/openrouter_routing.py +0 -0
  2107. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/output_budget.py +0 -0
  2108. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/profiles.py +0 -0
  2109. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/provider_spec.py +0 -0
  2110. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/retry_log.py +0 -0
  2111. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/sdk_caps.py +0 -0
  2112. {polyrob-1.1.0 → polyrob-1.2.1}/modules/llm/think_scrubber.py +0 -0
  2113. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/__init__.py +0 -0
  2114. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/memory_manager.py +0 -0
  2115. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/models.py +0 -0
  2116. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/provider.py +0 -0
  2117. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/sqlite_episodes_store.py +0 -0
  2118. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/sqlite_kb_store.py +0 -0
  2119. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/task/context_retriever.py +0 -0
  2120. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/task/lexical_retriever.py +0 -0
  2121. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/task/null_context_manager.py +0 -0
  2122. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/task/phase_manager.py +0 -0
  2123. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/task/reflection_service.py +0 -0
  2124. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/task/threat_scan.py +0 -0
  2125. {polyrob-1.1.0 → polyrob-1.2.1}/modules/memory/wikilinks.py +0 -0
  2126. {polyrob-1.1.0 → polyrob-1.2.1}/modules/payments/__init__.py +0 -0
  2127. {polyrob-1.1.0 → polyrob-1.2.1}/modules/payments/networks.py +0 -0
  2128. {polyrob-1.1.0 → polyrob-1.2.1}/modules/payments/price_oracle.py +0 -0
  2129. {polyrob-1.1.0 → polyrob-1.2.1}/modules/skills/__init__.py +0 -0
  2130. {polyrob-1.1.0 → polyrob-1.2.1}/modules/skills/skill_usage.py +0 -0
  2131. {polyrob-1.1.0 → polyrob-1.2.1}/modules/transcription/__init__.py +0 -0
  2132. {polyrob-1.1.0 → polyrob-1.2.1}/modules/transcription/base.py +0 -0
  2133. {polyrob-1.1.0 → polyrob-1.2.1}/modules/transcription/faster_whisper_transcriber.py +0 -0
  2134. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/README.md +0 -0
  2135. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/__init__.py +0 -0
  2136. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/_db.py +0 -0
  2137. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/artifact.py +0 -0
  2138. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/invoice_assets.py +0 -0
  2139. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/invoice_sizing.py +0 -0
  2140. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/invoice_status.py +0 -0
  2141. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/invoicing_note.py +0 -0
  2142. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/settlement_notify.py +0 -0
  2143. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/settlement_reputation.py +0 -0
  2144. {polyrob-1.1.0 → polyrob-1.2.1}/modules/x402/settlement_watcher.py +0 -0
  2145. {polyrob-1.1.0/tools → polyrob-1.2.1/packs/discovery/polyrob_discovery}/anysite/__init__.py +0 -0
  2146. {polyrob-1.1.0/data/prompts → polyrob-1.2.1/packs/discovery/polyrob_discovery}/skills/lead-research/SKILL.md +0 -0
  2147. /polyrob-1.1.0/api/hyperliquid_models.py → /polyrob-1.2.1/packs/markets/polyrob_markets/hyperliquid/api_models.py +0 -0
  2148. /polyrob-1.1.0/api/polymarket_models.py → /polyrob-1.2.1/packs/markets/polyrob_markets/polymarket/api_models.py +0 -0
  2149. {polyrob-1.1.0/tools → polyrob-1.2.1/packs/markets/polyrob_markets}/polymarket/clob_adapter.py +0 -0
  2150. {polyrob-1.1.0/surfaces → polyrob-1.2.1/packs/x/polyrob_x/commands}/__init__.py +0 -0
  2151. {polyrob-1.1.0/surfaces/x → polyrob-1.2.1/packs/x/polyrob_x/surface}/__init__.py +0 -0
  2152. {polyrob-1.1.0/surfaces/x → polyrob-1.2.1/packs/x/polyrob_x/surface}/surface.py +0 -0
  2153. {polyrob-1.1.0/tools → polyrob-1.2.1/packs/x/polyrob_x}/x_chat_client.py +0 -0
  2154. {polyrob-1.1.0 → polyrob-1.2.1}/polyrob.egg-info/dependency_links.txt +0 -0
  2155. {polyrob-1.1.0 → polyrob-1.2.1}/setup.cfg +0 -0
  2156. {polyrob-1.1.0/surfaces/email → polyrob-1.2.1/surfaces}/__init__.py +0 -0
  2157. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/discord/__init__.py +0 -0
  2158. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/discord/client.py +0 -0
  2159. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/discord/surface.py +0 -0
  2160. {polyrob-1.1.0/surfaces/telegram → polyrob-1.2.1/surfaces/email}/__init__.py +0 -0
  2161. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/email/dedup.py +0 -0
  2162. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/email/surface.py +0 -0
  2163. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/signal/__init__.py +0 -0
  2164. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/slack/__init__.py +0 -0
  2165. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/slack/client.py +0 -0
  2166. {polyrob-1.1.0/surfaces/whatsapp → polyrob-1.2.1/surfaces/telegram}/__init__.py +0 -0
  2167. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/apps_ops.py +0 -0
  2168. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/claim_ops.py +0 -0
  2169. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/contacts_ops.py +0 -0
  2170. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/dapp_ops.py +0 -0
  2171. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/identity_ops.py +0 -0
  2172. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/interactive_tools.py +0 -0
  2173. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/lp_ops.py +0 -0
  2174. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/media.py +0 -0
  2175. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/moderation.py +0 -0
  2176. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/rate_limit.py +0 -0
  2177. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/room_moderator.py +0 -0
  2178. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/room_turn.py +0 -0
  2179. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/triggers.py +0 -0
  2180. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/telegram/voice.py +0 -0
  2181. {polyrob-1.1.0 → polyrob-1.2.1}/surfaces/whatsapp/window.py +0 -0
  2182. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_a2a_protocol.py +0 -0
  2183. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_accessibility_snapshot.py +0 -0
  2184. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_bool_env_parse_ratchet.py +0 -0
  2185. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_core_server_boundary.py +0 -0
  2186. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_dynamic_pricing.py +0 -0
  2187. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_embedder_needed.py +0 -0
  2188. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_gemini_fixes.py +0 -0
  2189. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_home_binding_ratchet.py +0 -0
  2190. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_import_layering.py +0 -0
  2191. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_lazy_embedder.py +0 -0
  2192. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_llm_timeout_ssot.py +0 -0
  2193. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_mcp_tool_fix.py +0 -0
  2194. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_numeric_env_parse_ratchet.py +0 -0
  2195. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_paid_room_action_ratchet.py +0 -0
  2196. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_path_ratchet.py +0 -0
  2197. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_private_cleanup_ratchet.py +0 -0
  2198. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_provider_registry_ratchet.py +0 -0
  2199. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_public_docs_links.py +0 -0
  2200. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_public_files_present.py +0 -0
  2201. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_public_release_surface.py +0 -0
  2202. {polyrob-1.1.0 → polyrob-1.2.1}/tests/test_rename_tail.py +0 -0
  2203. {polyrob-1.1.0 → polyrob-1.2.1}/tools/alchemy/__init__.py +0 -0
  2204. {polyrob-1.1.0 → polyrob-1.2.1}/tools/app_service/__init__.py +0 -0
  2205. {polyrob-1.1.0 → polyrob-1.2.1}/tools/base_tool.py +0 -0
  2206. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/__init__.py +0 -0
  2207. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/_flags.py +0 -0
  2208. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/actions.py +0 -0
  2209. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/browser_manager.py +0 -0
  2210. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/context.py +0 -0
  2211. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/launch_security.py +0 -0
  2212. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/playwright_utils.py +0 -0
  2213. {polyrob-1.1.0 → polyrob-1.2.1}/tools/browser/views.py +0 -0
  2214. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/SANDBOX_SECURITY.md +0 -0
  2215. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/__init__.py +0 -0
  2216. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/backend.py +0 -0
  2217. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/backend_cache.py +0 -0
  2218. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/backends/__init__.py +0 -0
  2219. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/backends/_proc.py +0 -0
  2220. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/backends/bounded_capture.py +0 -0
  2221. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/env_policy.py +0 -0
  2222. {polyrob-1.1.0 → polyrob-1.2.1}/tools/code_exec/sandbox_guard.py +0 -0
  2223. {polyrob-1.1.0 → polyrob-1.2.1}/tools/coding/__init__.py +0 -0
  2224. {polyrob-1.1.0 → polyrob-1.2.1}/tools/coding/snapshot.py +0 -0
  2225. {polyrob-1.1.0 → polyrob-1.2.1}/tools/collabland/__init__.py +0 -0
  2226. {polyrob-1.1.0 → polyrob-1.2.1}/tools/collabland/collabland_tool.py +0 -0
  2227. {polyrob-1.1.0/tools/dom → polyrob-1.2.1/tools/controller}/__init__.py +0 -0
  2228. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/emit.py +0 -0
  2229. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/execution_context.py +0 -0
  2230. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/hooks.py +0 -0
  2231. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/registry/__init__.py +0 -0
  2232. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/registry/schema_sanitizer.py +0 -0
  2233. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/registry/views.py +0 -0
  2234. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/tool_search_actions.py +0 -0
  2235. {polyrob-1.1.0 → polyrob-1.2.1}/tools/controller/types.py +0 -0
  2236. {polyrob-1.1.0 → polyrob-1.2.1}/tools/credential_cache.py +0 -0
  2237. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dapp_browser/__init__.py +0 -0
  2238. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dapp_browser/registration.py +0 -0
  2239. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/lp_abi.py +0 -0
  2240. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/lp_reads.py +0 -0
  2241. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/lp_receipts.py +0 -0
  2242. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/lp_valuation.py +0 -0
  2243. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/nft_verbs.py +0 -0
  2244. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/pool_screen.py +0 -0
  2245. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/providers/__init__.py +0 -0
  2246. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/providers/relay_bridge.py +0 -0
  2247. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/providers/routes/lifi.py +0 -0
  2248. {polyrob-1.1.0 → polyrob-1.2.1}/tools/defi/providers/routes/univ3_route.py +0 -0
  2249. {polyrob-1.1.0 → polyrob-1.2.1}/tools/document_worker.py +0 -0
  2250. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dom/buildDomTree.js +0 -0
  2251. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dom/history_tree_processor/service.py +0 -0
  2252. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dom/history_tree_processor/view.py +0 -0
  2253. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dom/service.py +0 -0
  2254. {polyrob-1.1.0 → polyrob-1.2.1}/tools/dom/views.py +0 -0
  2255. {polyrob-1.1.0 → polyrob-1.2.1}/tools/email_providers/__init__.py +0 -0
  2256. {polyrob-1.1.0 → polyrob-1.2.1}/tools/email_providers/agentmail.py +0 -0
  2257. {polyrob-1.1.0 → polyrob-1.2.1}/tools/exceptions.py +0 -0
  2258. {polyrob-1.1.0 → polyrob-1.2.1}/tools/git/__init__.py +0 -0
  2259. {polyrob-1.1.0 → polyrob-1.2.1}/tools/github/__init__.py +0 -0
  2260. {polyrob-1.1.0 → polyrob-1.2.1}/tools/github/client.py +0 -0
  2261. {polyrob-1.1.0 → polyrob-1.2.1}/tools/hf_deploy/reconcile.py +0 -0
  2262. {polyrob-1.1.0 → polyrob-1.2.1}/tools/hf_deploy/registry.py +0 -0
  2263. {polyrob-1.1.0 → polyrob-1.2.1}/tools/knowledge_inventory.py +0 -0
  2264. {polyrob-1.1.0 → polyrob-1.2.1}/tools/launchpad/__init__.py +0 -0
  2265. {polyrob-1.1.0 → polyrob-1.2.1}/tools/launchpad/pons.py +0 -0
  2266. {polyrob-1.1.0 → polyrob-1.2.1}/tools/launchpad/pons_abi.py +0 -0
  2267. {polyrob-1.1.0 → polyrob-1.2.1}/tools/launchpad/registration.py +0 -0
  2268. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/README.md +0 -0
  2269. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/__init__.py +0 -0
  2270. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/catalog.py +0 -0
  2271. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/child_env.py +0 -0
  2272. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/config.py +0 -0
  2273. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/oauth_bridge.py +0 -0
  2274. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/param_coercion.py +0 -0
  2275. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/rate_limit.py +0 -0
  2276. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/security.py +0 -0
  2277. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/self_install.py +0 -0
  2278. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/subscriptions.py +0 -0
  2279. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/validation_tracker.py +0 -0
  2280. {polyrob-1.1.0 → polyrob-1.2.1}/tools/mcp/views.py +0 -0
  2281. {polyrob-1.1.0 → polyrob-1.2.1}/tools/oauth/__init__.py +0 -0
  2282. {polyrob-1.1.0 → polyrob-1.2.1}/tools/oauth/file_store.py +0 -0
  2283. {polyrob-1.1.0 → polyrob-1.2.1}/tools/oauth/manager.py +0 -0
  2284. {polyrob-1.1.0 → polyrob-1.2.1}/tools/oauth/provider.py +0 -0
  2285. {polyrob-1.1.0 → polyrob-1.2.1}/tools/oauth/providers/__init__.py +0 -0
  2286. {polyrob-1.1.0 → polyrob-1.2.1}/tools/oauth/providers/generic_oauth2.py +0 -0
  2287. {polyrob-1.1.0 → polyrob-1.2.1}/tools/publish/__init__.py +0 -0
  2288. {polyrob-1.1.0 → polyrob-1.2.1}/tools/self_env/__init__.py +0 -0
  2289. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/__init__.py +0 -0
  2290. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/backend_pool.py +0 -0
  2291. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/discipline.py +0 -0
  2292. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/executor.py +0 -0
  2293. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/loopback_allow.py +0 -0
  2294. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/process_registry.py +0 -0
  2295. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/process_tool.py +0 -0
  2296. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/state.py +0 -0
  2297. {polyrob-1.1.0 → polyrob-1.2.1}/tools/shell/tool.py +0 -0
  2298. {polyrob-1.1.0 → polyrob-1.2.1}/tools/ship_common.py +0 -0
  2299. {polyrob-1.1.0 → polyrob-1.2.1}/tools/task_tool.py +0 -0
  2300. {polyrob-1.1.0 → polyrob-1.2.1}/tools/user_directory.py +0 -0
  2301. {polyrob-1.1.0 → polyrob-1.2.1}/tools/wallet_holder.py +0 -0
  2302. {polyrob-1.1.0 → polyrob-1.2.1}/tools/web_fetch/__init__.py +0 -0
  2303. {polyrob-1.1.0 → polyrob-1.2.1}/tools/web_fetch/render.py +0 -0
  2304. {polyrob-1.1.0 → polyrob-1.2.1}/tools/web_fetch/tool.py +0 -0
  2305. {polyrob-1.1.0 → polyrob-1.2.1}/tools/x402/__init__.py +0 -0
  2306. {polyrob-1.1.0 → polyrob-1.2.1}/utils/README.md +0 -0
  2307. {polyrob-1.1.0 → polyrob-1.2.1}/utils/__init__.py +0 -0
  2308. {polyrob-1.1.0 → polyrob-1.2.1}/utils/auth_utils.py +0 -0
  2309. {polyrob-1.1.0 → polyrob-1.2.1}/utils/bounded_collections.py +0 -0
  2310. {polyrob-1.1.0 → polyrob-1.2.1}/utils/circuit_breaker.py +0 -0
  2311. {polyrob-1.1.0 → polyrob-1.2.1}/utils/path_validator.py +0 -0
  2312. {polyrob-1.1.0 → polyrob-1.2.1}/utils/rate_limit_manager.py +0 -0
  2313. {polyrob-1.1.0 → polyrob-1.2.1}/utils/result_size.py +0 -0
  2314. {polyrob-1.1.0 → polyrob-1.2.1}/utils/time_utils.py +0 -0
  2315. {polyrob-1.1.0 → polyrob-1.2.1}/utils/user_utils.py +0 -0
  2316. {polyrob-1.1.0 → polyrob-1.2.1}/webview/__init__.py +0 -0
  2317. {polyrob-1.1.0 → polyrob-1.2.1}/webview/audit.py +0 -0
  2318. {polyrob-1.1.0 → polyrob-1.2.1}/webview/config_view.py +0 -0
  2319. {polyrob-1.1.0 → polyrob-1.2.1}/webview/cors.py +0 -0
  2320. {polyrob-1.1.0 → polyrob-1.2.1}/webview/dev/package-lock.json +0 -0
  2321. {polyrob-1.1.0 → polyrob-1.2.1}/webview/dev/package.json +0 -0
  2322. {polyrob-1.1.0 → polyrob-1.2.1}/webview/emit_api.py +0 -0
  2323. {polyrob-1.1.0 → polyrob-1.2.1}/webview/owner_auth.py +0 -0
  2324. {polyrob-1.1.0 → polyrob-1.2.1}/webview/posture_routes.py +0 -0
  2325. {polyrob-1.1.0 → polyrob-1.2.1}/webview/repair_sessions.py +0 -0
  2326. {polyrob-1.1.0 → polyrob-1.2.1}/webview/serve_tokens.py +0 -0
  2327. {polyrob-1.1.0 → polyrob-1.2.1}/webview/server_launcher.py +0 -0
  2328. {polyrob-1.1.0 → polyrob-1.2.1}/webview/session_identity.py +0 -0
  2329. {polyrob-1.1.0 → polyrob-1.2.1}/webview/socket_auth.py +0 -0
  2330. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/app/settings-control.js +0 -0
  2331. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/app/socket-client.js +0 -0
  2332. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/app/work-create.js +0 -0
  2333. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/css/fonts.css +0 -0
  2334. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/css/pages/admin.css +0 -0
  2335. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/css/pages/signin.css +0 -0
  2336. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/css/style.css +0 -0
  2337. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/css/variables.css +0 -0
  2338. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/fonts/JetBrainsMono-Medium.woff2 +0 -0
  2339. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/fonts/JetBrainsMono-Regular.woff2 +0 -0
  2340. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/fonts/LICENSE-JetBrainsMono +0 -0
  2341. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/fonts/LICENSE-VT323 +0 -0
  2342. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/fonts/VT323-Regular.woff2 +0 -0
  2343. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/img/favicon.ico +0 -0
  2344. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/js/constants.js +0 -0
  2345. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/js/ethers.min.js +0 -0
  2346. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/js/signin.js +0 -0
  2347. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/js/socket.io.min.js +0 -0
  2348. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/js/status-uptime.js +0 -0
  2349. {polyrob-1.1.0 → polyrob-1.2.1}/webview/static/js/theme.js +0 -0
  2350. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/__init__.py +0 -0
  2351. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/admin/activity.html +0 -0
  2352. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/admin/dashboard.html +0 -0
  2353. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/admin/user_detail.html +0 -0
  2354. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/admin/users.html +0 -0
  2355. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/layout.html +0 -0
  2356. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/signin.html +0 -0
  2357. {polyrob-1.1.0 → polyrob-1.2.1}/webview/templates/status.html +0 -0
  2358. {polyrob-1.1.0 → polyrob-1.2.1}/webview/theme.py +0 -0
  2359. {polyrob-1.1.0 → polyrob-1.2.1}/webview/wallet_reader.py +0 -0
@@ -0,0 +1,25 @@
1
+ graft data/prompts
2
+ graft data/characters
3
+ graft webview/static
4
+ graft webview/templates
5
+ prune webview/templates/__pycache__
6
+ # The invoice card fonts. modules/cards/cards.py reads assets/fonts/dejavu/*.ttf
7
+ # by path at runtime; without this the sdist omits them and card rendering
8
+ # degrades to PIL's default font. The wheel already carried them via
9
+ # package-data; the sdist did not.
10
+ graft assets
11
+ recursive-include agents/personality/characters *.json
12
+ include config/*.template
13
+ # 058: the lock ships in the SDIST so a source install can pin its lazy
14
+ # installs (core/lazy_deps.py) exactly as the deploy does; a wheel has none.
15
+ include requirements.lock
16
+ include README.md LICENSE
17
+ # 030 WS-F6 (E7): ship the user guide + flag SSOT in the SDIST so a pip
18
+ # source install has the documentation its docstrings reference. (Wheels are
19
+ # unchanged: no runtime code path reads docs/ — the agent-facing copy ships in
20
+ # data/prompts/skills/polyrob-user-guide/.)
21
+ graft docs/guide
22
+ include docs/CONFIGURATION.md
23
+ # 042: the audited token template's source, beside its compiled bytes.
24
+ include core/wallet/contracts/*.sol
25
+ global-exclude *.pyc *.pyo
polyrob-1.2.1/PKG-INFO ADDED
@@ -0,0 +1,606 @@
1
+ Metadata-Version: 2.4
2
+ Name: polyrob
3
+ Version: 1.2.1
4
+ Summary: POLYROB — autonomous AI agent framework
5
+ Author: The POLYROB Authors
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/theselfruleorg/polyrob
8
+ Project-URL: Repository, https://github.com/theselfruleorg/polyrob
9
+ Project-URL: Issues, https://github.com/theselfruleorg/polyrob/issues
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Operating System :: OS Independent
13
+ Requires-Python: >=3.11
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: pydantic>=2.0.0
17
+ Requires-Dist: pydantic-settings>=2.0.0
18
+ Requires-Dist: python-dotenv>=1.0.0
19
+ Requires-Dist: openai>=1.26.0
20
+ Requires-Dist: tiktoken>=0.7.0
21
+ Requires-Dist: aiohttp>=3.14.3
22
+ Requires-Dist: aiofiles>=23.0.0
23
+ Requires-Dist: aiosqlite>=0.19.0
24
+ Requires-Dist: requests>=2.30.0
25
+ Requires-Dist: certifi>=2024.0.0
26
+ Requires-Dist: cryptography>=50.0.0
27
+ Requires-Dist: pyjwt>=2.8.0
28
+ Requires-Dist: rich>=13.0.0
29
+ Requires-Dist: prompt_toolkit>=3.0.43
30
+ Requires-Dist: click>=8.0
31
+ Requires-Dist: colorama>=0.4.6
32
+ Requires-Dist: markdown>=3.5.0
33
+ Requires-Dist: markdownify>=0.11.0
34
+ Requires-Dist: pillow>=12.3.0
35
+ Requires-Dist: httplib2>=0.32.0
36
+ Requires-Dist: pyasn1>=0.6.4
37
+ Requires-Dist: pyyaml>=6
38
+ Requires-Dist: packaging>=23.2
39
+ Requires-Dist: h2>=4.4.1
40
+ Provides-Extra: gemini
41
+ Requires-Dist: google-generativeai>=0.8.0; extra == "gemini"
42
+ Provides-Extra: anthropic
43
+ Requires-Dist: anthropic>=0.20.0; extra == "anthropic"
44
+ Provides-Extra: server
45
+ Requires-Dist: fastapi==0.141.1; extra == "server"
46
+ Requires-Dist: starlette==1.6.0; extra == "server"
47
+ Requires-Dist: uvicorn[standard]==0.38.0; extra == "server"
48
+ Requires-Dist: Jinja2==3.1.6; extra == "server"
49
+ Requires-Dist: python-socketio>=5.11.0; extra == "server"
50
+ Requires-Dist: python-multipart>=0.0.6; extra == "server"
51
+ Requires-Dist: watchfiles>=1.0.0; extra == "server"
52
+ Requires-Dist: argon2-cffi>=23.1.0; extra == "server"
53
+ Requires-Dist: python-magic>=0.4.27; extra == "server"
54
+ Provides-Extra: docs
55
+ Requires-Dist: pypdf>=6.16.1; extra == "docs"
56
+ Requires-Dist: python-docx>=0.8.0; extra == "docs"
57
+ Provides-Extra: anysite
58
+ Requires-Dist: anysite-cli>=0.3; extra == "anysite"
59
+ Provides-Extra: browser
60
+ Requires-Dist: playwright>=1.40.0; extra == "browser"
61
+ Requires-Dist: psutil>=5.9.0; extra == "browser"
62
+ Provides-Extra: memory-vector
63
+ Requires-Dist: sentence-transformers>=3.0.0; extra == "memory-vector"
64
+ Requires-Dist: apsw>=3.46; extra == "memory-vector"
65
+ Requires-Dist: sqlite-vec>=0.1.6; extra == "memory-vector"
66
+ Requires-Dist: numpy>=1.24.0; extra == "memory-vector"
67
+ Provides-Extra: media
68
+ Requires-Dist: numpy>=1.24.0; extra == "media"
69
+ Requires-Dist: imageio>=2.37.0; extra == "media"
70
+ Requires-Dist: qrcode>=7.4; extra == "media"
71
+ Provides-Extra: crypto
72
+ Requires-Dist: web3>=6.0.0; extra == "crypto"
73
+ Requires-Dist: eth-account>=0.10.0; extra == "crypto"
74
+ Requires-Dist: x402>=2.13.0; extra == "crypto"
75
+ Requires-Dist: fastapi-x402>=0.1.8; extra == "crypto"
76
+ Requires-Dist: hyperliquid-python-sdk>=0.21.0; extra == "crypto"
77
+ Requires-Dist: py-clob-client-v2>=0.1.0; extra == "crypto"
78
+ Provides-Extra: solana
79
+ Requires-Dist: solders>=0.21; extra == "solana"
80
+ Requires-Dist: x402[svm]>=2.16.0; extra == "solana"
81
+ Requires-Dist: solana<0.40,>=0.36; extra == "solana"
82
+ Requires-Dist: httpx2>=2.12.0; extra == "solana"
83
+ Requires-Dist: httpcore2>=2.10.0; extra == "solana"
84
+ Provides-Extra: telegram
85
+ Requires-Dist: aiogram>=3.17.0; extra == "telegram"
86
+ Provides-Extra: twitter
87
+ Requires-Dist: tweepy>=4.14.0; extra == "twitter"
88
+ Requires-Dist: chatxdk>=0.5.0; extra == "twitter"
89
+ Provides-Extra: voice
90
+ Requires-Dist: faster-whisper>=1.0.0; extra == "voice"
91
+ Provides-Extra: feishu
92
+ Requires-Dist: lark-oapi<2,>=1.4; extra == "feishu"
93
+ Provides-Extra: hf
94
+ Requires-Dist: huggingface_hub>=0.20.0; extra == "hf"
95
+ Provides-Extra: dev
96
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
97
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
98
+ Requires-Dist: ruff>=0.6; extra == "dev"
99
+ Requires-Dist: build; extra == "dev"
100
+ Requires-Dist: twine; extra == "dev"
101
+ Provides-Extra: all
102
+ Requires-Dist: polyrob[anthropic,anysite,browser,crypto,docs,feishu,gemini,hf,media,memory-vector,server,solana,telegram,twitter,voice]; extra == "all"
103
+ Dynamic: license-file
104
+
105
+ <div align="center">
106
+
107
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/polyrob-logo.png" alt="POLYROB" width="440">
108
+
109
+ ### A self-hosted autonomous AI agent that pursues goals, learns from experience, and runs entirely on your own machine.
110
+
111
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
112
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
113
+ [![PyPI](https://img.shields.io/pypi/v/polyrob.svg)](https://pypi.org/project/polyrob/)
114
+ [![CI](https://github.com/theselfruleorg/polyrob/actions/workflows/ci.yml/badge.svg)](https://github.com/theselfruleorg/polyrob/actions)
115
+ [![Stars](https://img.shields.io/github/stars/theselfruleorg/polyrob?style=social)](https://github.com/theselfruleorg/polyrob)
116
+
117
+ **[Quick Start](#quick-start) · [Docs](#documentation) · [Examples](docs/examples.md) · [Comparison](docs/comparison.md)**
118
+
119
+ </div>
120
+
121
+ POLYROB is a self-hosted autonomous AI agent that runs on your own machine. You give it a goal in
122
+ plain language and it does the rest — planning the work into steps, browsing the web, reading and
123
+ writing files, running code and shell commands, calling external tools and APIs, and recovering
124
+ from its own errors until the goal is done. It works with every major LLM provider (OpenAI, Anthropic, Google, DeepSeek,
125
+ OpenRouter, NVIDIA NIM, twenty more flat-rate and regional rows, six OAuth subscription plans,
126
+ and any endpoint you declare) and fails over between them automatically,
127
+ remembers what it learns across sessions, and reaches you wherever you are — your terminal, the web
128
+ console, a REST API, or chat surfaces like Telegram and email. Switch it into personal-agent mode
129
+ and it becomes durably autonomous: it keeps a backlog of goals that survives restarts, writes and
130
+ curates its own skills from experience, wakes itself to follow up on unfinished work, and refines
131
+ an evolving model of how you work.
132
+
133
+ > **Self-hosted, not a SaaS.** POLYROB runs on your own machine or server. There is no hosted
134
+ > version — your keys, your data, your control. The core install is ~50 MB with zero cloud
135
+ > dependencies; everything beyond LLM calls stays on your box unless you opt in.
136
+
137
+ ---
138
+
139
+ ## 🎯 Give it a goal and walk away
140
+
141
+ POLYROB doesn't just answer — it *works*, and it keeps working when you're not watching.
142
+
143
+ - **Durable goal board** — a cross-session backlog in SQLite with atomic claims and a circuit breaker that survives process restarts, so long-running or unattended work isn't lost to a reboot.
144
+ - **Cron in natural language** — the agent schedules its own recurring runs (`"every monday 09:00"`, `"30m"`, cron syntax), and can deliver results out-of-band to Telegram, email, or X.
145
+ - **Self-wake** — re-enters idle sessions to continue or follow up, with depth and backoff guards so it never loops.
146
+ - **Background review + curator** — a cheap aux model reviews what worked every few turns and can distill a new skill; unused skills are retired automatically and revived when relevant again.
147
+ - **Parallel delegation** — `delegate_task` spawns least-privilege sub-agents for concurrent workstreams (no money/comms/code-exec, can't re-delegate), sync or detached in the background.
148
+
149
+ ## 🧬 It learns and gets better with use
150
+
151
+ Run POLYROB as your personal agent (`POLYROB_LOCAL=true`) and it turns experience into durable
152
+ capability instead of forgetting it when the task ends.
153
+
154
+ - **Reflective, hierarchical memory** — findings are organized into phases, consolidated by an LLM, and forgotten by *importance* (`recency + relevance + frequency`), not just age.
155
+ - **Cross-session recall** — SQLite FTS5 keyword search out of the box (zero extra deps), or optional hybrid keyword+vector recall (`sqlite-vec`, the `[memory-vector]` extra) that transparently degrades to keyword search if the extra is absent or the extension can't load — the agent keeps working either way.
156
+ - **Episodic activity log** — a durable "what happened last time" ledger bridges each new session so it never starts cold.
157
+ - **Writes its own skills** — authored through a scanned, quarantined pipeline; every self-modification is reviewed before it takes effect, so a background turn can never silently rewrite a skill or the agent's identity.
158
+ - **Evolving identity** — a per-user self-doc the agent updates (owner-gated) as it learns how you work.
159
+ - **Named profiles** — run several isolated bots on one machine (`polyrob -P scout`), each with its own persona, memory, keys and daemons; export a profile or install one from a git repo. See [docs/guide/profiles.md](docs/guide/profiles.md).
160
+
161
+ Skills use the open [agentskills.io](https://agentskills.io) `SKILL.md` format — the same format as
162
+ Claude Code, discovered straight from `~/.agents/skills/` (and `~/.claude/skills/`). Install from a local folder, a GitHub repo, or
163
+ a `SKILL.md` URL: `polyrob skill install <spec>` threat-scans, quarantines, and waits for your
164
+ explicit approval. See **[docs/guide/skills.md](docs/guide/skills.md)**.
165
+
166
+ ## 🛠️ A real toolbox
167
+
168
+ - **Web, two ways** — a lightweight `web_fetch` returns any URL as clean markdown with **no browser install needed**, or full **Playwright** automation (navigate/click/type/screenshot/DOM extract, anti-detection) when you need it.
169
+ - **MCP client** — connect any Model Context Protocol server over **STDIO, SSE, HTTP, or Streamable HTTP**, with auto tool-discovery, per-server circuit breakers, encrypted secrets, and live resource subscriptions.
170
+ - **Structured web data** — the AnySite tool pulls structured data from **200+ sites and platforms**; Perplexity-backed search; Twitter/X and Gmail tools.
171
+ - **Code & files** — file/CSV/JSON handling, built-in coding tools (`str_replace` / `apply_patch` / `run_tests` / grep), git & GitHub tools, and opt-in sandboxed code execution.
172
+ - **Vision** — reasons over screenshots and images.
173
+
174
+ ## 🔌 Use it from anywhere
175
+
176
+ One agent core, many front doors:
177
+
178
+ - **Terminal** — run `polyrob` to talk to the agent: live tool transcripts, secret-scrubbed output, resumable sessions, and nearly sixty slash commands (`/inbox`, `/goals`, `/model`, `/memory`, `/pause`, `/autonomy`, `/config`; the full list is in [docs/guide/cli.md](docs/guide/cli.md)).
179
+ - **Web console** — five clear destinations for Chat, Inbox, Work, Money, and Rob (the agent itself). Watch live work, resolve approvals, manage standing jobs and apps, reconcile the agent's ledger, and change its capabilities from one owner surface.
180
+ - **REST API + SSE streaming**, plus a drop-in **OpenAI-compatible `/v1`** endpoint — point any OpenAI SDK at `localhost:9000/v1`.
181
+ - **A2A protocol** — Google's Agent-to-Agent standard (Agent Card discovery, JSON-RPC, SSE) so other agents can discover and delegate to yours.
182
+ - **MCP server** — expose polyrob to Claude Desktop, Cursor, or any MCP client as a read-only tool provider (`POST /mcp`, off by default) — it's an MCP client *and* server.
183
+ - **Chat surfaces** — Telegram (live incremental streaming + voice-note transcription), email (IMAP/SMTP), WhatsApp, Discord, Slack, Signal, Feishu / Lark, DingTalk, and X (Twitter) DMs.
184
+
185
+ ## 🖥️ One console for the whole agent
186
+
187
+ The POLYROB Console keeps conversation, unattended work, owner decisions, money, and agent policy in
188
+ one place. It uses the same goal board, approval queue, wallet ledger, and configuration primitives as
189
+ the CLI and API, so a decision made in one surface is visible in the others.
190
+
191
+ <p align="center">
192
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/console/chat-running.png" alt="POLYROB Console showing a completed autonomous app build and deployment waiting for owner approval" width="100%">
193
+ </p>
194
+
195
+ <table>
196
+ <tr>
197
+ <td width="50%" valign="top">
198
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/console/inbox-decisions.png" alt="POLYROB Inbox showing owner decisions and non-blocking follow-ups" width="100%"><br>
199
+ <strong>Inbox</strong> — see only what needs you, with the reason, consequence, and available decision in plain language.
200
+ </td>
201
+ <td width="50%" valign="top">
202
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/console/work-autonomy.png" alt="POLYROB Work view showing running and queued autonomous work" width="100%"><br>
203
+ <strong>Work</strong> — follow what is running now, what comes next, scheduled jobs, and delegated helpers.
204
+ </td>
205
+ </tr>
206
+ <tr>
207
+ <td width="50%" valign="top">
208
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/console/money-book.png" alt="POLYROB Money view reconciling its ledger with on-chain positions" width="100%"><br>
209
+ <strong>Money</strong> — reconcile the agent's book with its chains, inspect cash and invoices, and keep spend limits visible.
210
+ </td>
211
+ <td width="50%" valign="top">
212
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/console/agent-control.png" alt="POLYROB Agent view showing autonomy controls, capabilities, and health" width="100%"><br>
213
+ <strong>Rob</strong> — inspect identity, memory, capabilities, health, and the rules that bound autonomous action.
214
+ </td>
215
+ </tr>
216
+ <tr>
217
+ <td colspan="2" valign="top">
218
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/console/apps.png" alt="POLYROB Work Apps view showing running, staged, and published applications" width="100%"><br>
219
+ <strong>Apps</strong> — inside Work, review what the agent built, approve a first deployment, read logs, or take an app down.
220
+ </td>
221
+ </tr>
222
+ </table>
223
+
224
+ Run it with <code>polyrob dashboard</code> and open <code>http://localhost:5050</code>. See the
225
+ <strong><a href="docs/guide/console.md">console guide</a></strong> for deployment postures, owner login,
226
+ read-only mode, and the actions each screen exposes.
227
+
228
+ ## 🧠 Multi-provider intelligence
229
+
230
+ - **One agent, every provider** — six built-ins plus flat-rate rows, OAuth subscription plans and your own endpoint, behind a native LLM layer with **no third-party agent framework**. The live list and how to pick one: [docs/guide/configuration.md §3](docs/guide/configuration.md#4-providers-and-models).
231
+ - **Bring your own endpoint** — declare any OpenAI- or Anthropic-compatible provider in `~/.polyrob/providers.yaml` with **zero code**: a local Ollama/vLLM/LM Studio, Groq/Together/Fireworks, a z.ai GLM Coding Plan, or a corporate gateway. Declared models list and route like built-ins; hostile rows (secret-exfil `env_key`s, metadata endpoints) are refused at load.
232
+ - **Automatic failover** — a rate-limited or failing provider silently retries on a fallback.
233
+ - **Live model switching** — `/model <provider> <model>` mid-session, or per-request override on the `/v1` surface.
234
+ - **Cross-provider prompt caching, on by default** — the prompt is assembled as a stable *prefix*: tool schemas sorted by name, the autonomous tool set held still, the rendered foundation replayed byte-for-byte after a restart. Providers serve the leading bytes from cache instead of re-billing them. Anthropic gets a 5-minute or 1-hour cache window chosen from the session class; OpenRouter, Gemini, OpenAI and DeepSeek each get the treatment their API supports. Cached **and written** tokens are priced, recorded and shown — live as `cache N%` in the status bar, after the fact in `polyrob doctor`.
235
+ - **Optional extended thinking** — per-provider reasoning budgets (Anthropic thinking blocks, DeepSeek CoT, OpenAI reasoning effort), plus a scrubber that keeps leaked reasoning prose out of your history and output.
236
+
237
+ ---
238
+
239
+ ## Quick Start
240
+
241
+ POLYROB targets **Python 3.11+**. One line, on Linux, macOS or WSL2:
242
+
243
+ ```bash
244
+ curl -fsSL https://polyrob.dev/install.sh | bash
245
+ ```
246
+
247
+ It finds Python, clones the source into `~/.polyrob/src`, builds a virtualenv, puts a `polyrob`
248
+ command on your `PATH`, and runs the setup wizard — the wizard reads `/dev/tty`, so it asks you for
249
+ your provider key right inside the pipe. Prefer to read a script before running it (you should):
250
+
251
+ ```bash
252
+ curl -fsSL https://polyrob.dev/install.sh -o install.sh && less install.sh && bash install.sh
253
+ ```
254
+
255
+ Flags: `--extras server,browser` · `--browser` / `--no-browser` · `--no-setup` · `--no-prompt`
256
+ (fully scripted) · `--branch` / `--commit` (pin a version) · `--uninstall`.
257
+
258
+ <details>
259
+ <summary>Already a Python user? Install from PyPI instead</summary>
260
+
261
+ ```bash
262
+ # 1. Install (with all optional features)
263
+ pipx install "polyrob[all]"
264
+
265
+ # 2. Browser engine (optional — only needed for web automation).
266
+ # pipx isolates the venv, so run playwright FROM polyrob's venv:
267
+ "$(pipx environment --value PIPX_LOCAL_VENVS)/polyrob/bin/playwright" install chromium
268
+
269
+ # 3. Configure (keys, model, persona, owner, autonomy, chat surface)
270
+ polyrob setup
271
+
272
+ # 4. Sanity-check your setup
273
+ polyrob doctor
274
+
275
+ # 5. Start it
276
+ polyrob
277
+ ```
278
+
279
+ > Plain `pip install polyrob` into your own venv? Then step 2 is just
280
+ > `python -m playwright install chromium` in that venv — and the core agent
281
+ > runs fine without the browser at all.
282
+
283
+ </details>
284
+
285
+ Keep it running after you close the terminal with `polyrob service install` (a systemd user unit or
286
+ a launchd agent). Update with `polyrob update --apply`; remove it with `polyrob uninstall`.
287
+
288
+ Run `polyrob` and you're talking to the agent. Give it a task in plain language and it plans, works,
289
+ and reports back; ask a follow-up and it keeps going. `polyrob doctor` is a real preflight — it
290
+ reports which provider keys resolve, the exact model it will pick, your active memory backend, and
291
+ workspace isolation.
292
+
293
+ **Turn on autonomy** to unlock the self-evolving and goal-seeking loops (skills, curator,
294
+ goal board, self-wake, episodic memory):
295
+
296
+ ```bash
297
+ polyrob autonomy on --global # writes AUTONOMY_ENABLED=true to ~/.polyrob/.env; `polyrob init` also asks
298
+ ```
299
+
300
+ The four axes, what each one moves and how to stop it again:
301
+ [docs/guide/configuration.md §5](docs/guide/configuration.md#6-the-autonomy-dial).
302
+
303
+ <details>
304
+ <summary>Optional: web console & REST API</summary>
305
+
306
+ ```bash
307
+ polyrob dashboard # web console → http://localhost:5050
308
+ polyrob serve # local REST API → http://localhost:9000
309
+ polyrob gateway # run all enabled chat surfaces (Telegram/email/…) in one process
310
+ ```
311
+ </details>
312
+
313
+ For a full walkthrough see **[docs/guide/getting-started.md](docs/guide/getting-started.md)**.
314
+ Want to contribute? See **[CONTRIBUTING.md](CONTRIBUTING.md)**.
315
+
316
+ ---
317
+
318
+ ## A taste of what it can do
319
+
320
+ ```
321
+ "Research competitors in the AI automation space and write a report
322
+ with pricing, features, and positioning."
323
+
324
+ "Monitor this webpage daily and alert me when the price drops below $500."
325
+
326
+ "Log into my dashboard, export the monthly report, and email it to my team."
327
+
328
+ "Scrape these 50 product pages, extract pricing, and build a CSV."
329
+ ```
330
+
331
+ More real-world examples → **[docs/examples.md](docs/examples.md)**
332
+
333
+ ---
334
+
335
+ ## The terminal, done right
336
+
337
+ Run `polyrob` and you're in the agent. From inside the session, slash commands give you full control:
338
+
339
+ | In-session command | What it does |
340
+ |---|---|
341
+ | `/compact` | Ages old tool results to a one-line pointer first, then LLM-compresses what is left (e.g. 8,432 → 3,210 tokens) mid-session |
342
+ | `/context` | What is in the window right now: per-slot tokens, one-shot ephemerals, and the provider's own last-request prompt / cached / written split |
343
+ | `/usage` | Authoritative token + cost accounting from the local DB |
344
+ | `/model <provider> <model>` | Hot-swap the model without losing the conversation |
345
+ | `/memory search <q>` | Search cross-session memory inline |
346
+ | `/self` | View the agent's SOUL (identity) and evolving SELF doc |
347
+ | `/replay` | Visually replay a past session |
348
+ | `/autonomy` | Inspect goals, cron, and the autonomy loops |
349
+
350
+ Twelve named toolsets (`minimal`, `safe`, `research`, `coding`, `development`, `browser`, `social`,
351
+ `full` and more) let you scope exactly what the agent can touch. Management subcommands round it
352
+ out — `polyrob doctor` (preflight), `polyrob kb add/search` (local knowledge base), `polyrob auth`
353
+ (provider sign-in), `polyrob keys` (API access), `polyrob profile` (several bots on one machine),
354
+ and `polyrob update` (self-update with snapshot, guarded migration, verify and **auto-rollback**;
355
+ `--apply` for git installs, a hint for pipx).
356
+
357
+ ---
358
+
359
+ ## Full capabilities
360
+
361
+ **Core automation**
362
+
363
+ | Capability | Detail |
364
+ |---|---|
365
+ | Web reading | `web_fetch` URL→markdown, no browser needed |
366
+ | Browser automation | Playwright with anti-detection, vision over screenshots |
367
+ | Files & data | text / JSON / CSV / markdown read + write |
368
+ | Code | built-in coding tools + git/GitHub + opt-in sandboxed execution |
369
+ | Planning | multi-step decomposition with automatic error recovery |
370
+
371
+ **Intelligence & memory**
372
+
373
+ | Capability | Detail |
374
+ |---|---|
375
+ | Cross-session recall | SQLite FTS5 (default) or hybrid vector (`sqlite-vec`, `[memory-vector]`), tenant-scoped |
376
+ | Reflective memory | phase-organized, LLM-consolidated, importance-based forgetting |
377
+ | Adaptive context | A 70 / 85 / 95 % ladder — a log line, then a deterministic pass that demotes old tool results, then LLM-synthesis compaction, then a non-LLM emergency prune. Eight-step cooldown with a ≥5 % progress rule and an anti-thrash counter |
378
+ | Prompt caching | On by default per provider, over a prompt prefix guarded by a CI ratchet; Anthropic cache windows chosen by session class; cached *and written* tokens priced and recorded |
379
+ | Extended thinking | optional per-provider reasoning budgets + reasoning-prose scrubber |
380
+
381
+ **Autonomy** *(personal-agent mode)*
382
+
383
+ | Capability | Detail |
384
+ |---|---|
385
+ | Durable goal board | SQLite, atomic claims, circuit breaker, daily quota — survives restarts |
386
+ | Cron | natural-language schedules + out-of-band delivery (Telegram/email/X) |
387
+ | Self-wake | re-enters idle sessions with depth/backoff guards |
388
+ | Self-authored skills | background review → scan → quarantine → owner approval |
389
+ | Skill curator | retires unused skills, revives on reuse |
390
+ | Delegation | least-privilege sub-agents, sync or detached background |
391
+
392
+ **Interfaces & interop**
393
+
394
+ | Capability | Detail |
395
+ |---|---|
396
+ | Terminal | `polyrob` opens the agent — live tool transcripts, ~60 slash commands, resumable sessions |
397
+ | Web console | Chat, Inbox, Work, Money, and Rob over a real-time Socket.IO surface |
398
+ | REST API | session lifecycle + mid-run guidance injection + SSE streaming |
399
+ | OpenAI-compatible | drop-in `/v1/chat/completions` + `/v1/models` |
400
+ | A2A protocol | Agent Card discovery, JSON-RPC, SSE — agent-to-agent delegation |
401
+ | MCP client | STDIO / SSE / HTTP / Streamable HTTP, live resource subscriptions |
402
+ | MCP server | expose polyrob's read-only tools to Claude Desktop / Cursor (`POST /mcp`, off by default) |
403
+ | Chat surfaces | Telegram, email, WhatsApp, Discord, Slack, Signal, X DMs — one agent core, many channels |
404
+
405
+ ---
406
+
407
+ ## Integrations
408
+
409
+ Multi-provider LLM (**OpenAI · Anthropic · Google Gemini · DeepSeek · OpenRouter · NVIDIA NIM**) ·
410
+ **Playwright** browser · **MCP** (STDIO/SSE/HTTP/Streamable) · **AnySite** (200+ sites) ·
411
+ **Perplexity** search · **Twitter/X** · **Gmail / IMAP-SMTP** · **Telegram** · **WhatsApp** ·
412
+ **Discord** · **Slack** · **Signal** ·
413
+ voice transcription (**faster-whisper**) · **A2A** · OpenAI-compatible `/v1` · **agentskills.io**
414
+ skills · **sqlite-vec** + **sentence-transformers** local RAG (the `[memory-vector]` extra).
415
+
416
+ ---
417
+
418
+ ## Safe autonomy by design
419
+
420
+ An autonomous agent that touches the web, your files, and other people needs guardrails. POLYROB
421
+ marks external content as untrusted data and layers capability, authority, approval, and containment
422
+ checks around it. The core protections below are **on by default**:
423
+
424
+ | Layer | Protection | Default |
425
+ |-------|------------|---------|
426
+ | **Untrusted-input wrapping** | Web pages, emails, and tool results framed as data, not instructions | **On** |
427
+ | **Least-privilege delegation** | Sub-agents get narrowed toolsets (no money/comms/code-exec), no re-delegation | **On** |
428
+ | **Schema sanitization** | Hostile tool-schema constructs fixed before they reach a provider | **On** |
429
+ | **SSRF confinement** | `web_fetch` re-validates every redirect hop; blocks loopback/metadata/private targets | **On** |
430
+ | **Self-modification review** | New skills / identity edits are quarantined and reviewed before taking effect | **On** |
431
+ | **Code-exec containment** | Hardened Docker container by default on a server; the local subprocess backend is a convenience, not a sandbox, and a server refuses it; no inherited API keys | On when code-exec enabled |
432
+ | **Run budget** | Cap a session's provider spend; the run halts honestly at the ceiling rather than claiming success | Opt-in (`RUN_BUDGET_USD`) |
433
+ | **Four-tier access** | OWNER / CORRESPONDENT / GROUP MEMBER / DENIED routing for chat surfaces | Opt-in (`CORRESPONDENT_ACCESS_ENABLED`; on under `AUTONOMY_MODE=autonomous`) |
434
+ | **Group chats (rooms)** | Allowlisted room + per-chat role; every room turn runs a read-only, audience-bounded toolset (never money/exec/delegation) in a session that carries no owner state | Opt-in (`GROUP_CHAT_ENABLED`; on under `AUTONOMY_MODE=autonomous`) |
435
+ | **Memory threat-scan** | Rejects injected jailbreak/persona-rewrite patterns on write | Opt-in (`MEMORY_THREAT_SCAN`) |
436
+
437
+ When you expose the agent to other people, the **access model** keeps a stranger's message as
438
+ *data*: **OWNER** steers the agent · **CORRESPONDENT** (a third party the agent contacted) can only
439
+ return data, never command · **GROUP MEMBER** is answered in an allowed room from a read-only toolset ·
440
+ **DENIED** is blocked. A correspondent-tainted session has high-impact
441
+ tools (money, comms, code-exec) gated off until a genuine owner turn.
442
+
443
+ > **Chat surfaces are off by default for a reason.** When you enable them, treat inbound DMs as
444
+ > untrusted input — use pairing/approval. A public group chat is a documented, supported feature
445
+ > ([docs/guide/groups.md](docs/guide/groups.md)) with its own allowlist, per-chat roles and a
446
+ > read-only room toolset — read that guide before turning `GROUP_CHAT_ENABLED` on.
447
+
448
+ ---
449
+
450
+ ## Crypto & web3 *(optional; nothing that spends is on by default)*
451
+
452
+ POLYROB can act as an economic agent when you want it to. Read-only token and wallet reads
453
+ (`token_info`, `/check`) are on by default; everything that spends or signs is gated behind flags
454
+ and off by default:
455
+
456
+ - **x402 pay-per-request** — USDC micropayments on Base (opt-in Solana settlement) via the x402 protocol; the agent can both charge for its API and pay for external resources, and invoices settle facilitator-free by on-chain detection.
457
+ - **Native agent wallet** — one seed derives per-venue EVM keys *and* a Solana address, with per-transaction and rolling 24h spend caps; testnet by default.
458
+ - **On-chain token sight** — a read-only tool (14 verbs, NFTs included) for token identity, price, liquidity, a safety screen, pool discovery, and the agent's own portfolio across Base, Ethereum, Arbitrum, Polygon and Solana — plus `reconcile`, which diffs the agent's position ledger against actual chain balances. Address is the only identity (a ticker is never resolved for you), and unknown is never rendered as zero.
459
+ - **Guarded on-chain trading** — transfers, exact-amount approvals/revokes and swaps (local Uniswap V3 first, opt-in aggregator fallback) go through one choke point that *simulates* the transaction, measures its real asset and allowance deltas, and refuses unless they match a declared intent. `dry_run` by default, fail-closed gates, and a spend the agent starts above a configurable ceiling waits for an owner approval and is sent once approved; the owner's own `/send`, `/swap` and `/bridge` (typed, or built and confirmed with buttons) pass the ceiling but stay inside the per-transaction and daily caps. Solana swaps (Jupiter) run the same guard order with an authority-grant refusal in place of the allowance check.
460
+ - **Venue trading** — Hyperliquid (perps) and Polymarket (prediction markets) tools, dry-run by default behind a master + per-venue live switch and per-venue caps.
461
+ - **ERC-8004 trustless agents** — optional on-chain agent identity + portable reputation.
462
+ - **SIWE** wallet auth for the multi-tenant posture.
463
+
464
+ > ⚠️ **Crypto features are unaudited.** The wallet, signing, and payment code (`crypto` extra) has
465
+ > **not** had any independent security audit. It ships **as-is with no warranty** and can lose
466
+ > funds. Enable it only at your own risk, and prefer testnets. See
467
+ > [SECURITY.md](SECURITY.md#crypto--wallet--payment-features).
468
+
469
+ ---
470
+
471
+ ## Configuration essentials
472
+
473
+ ```bash
474
+ # ~/.polyrob/.env — set any providers you have keys for
475
+ OPENROUTER_API_KEY=sk-or-... # recommended: one key reaches every model
476
+ ANTHROPIC_API_KEY=sk-ant-...
477
+ OPENAI_API_KEY=sk-...
478
+ GEMINI_API_KEY=...
479
+
480
+ # Memory backend: local_vector is the CLI default (hybrid recall; needs the [memory-vector]
481
+ # extra, degrades to keyword FTS5 without it). Server default: sqlite
482
+ MEMORY_BACKEND=local_vector
483
+
484
+ # The CLI sets POLYROB_LOCAL for you (interactive tools). Autonomy is a second switch:
485
+ # AUTONOMY_ENABLED=true
486
+ ```
487
+
488
+ POLYROB falls back across providers automatically on billing or rate-limit errors; switch
489
+ mid-session with `/model <provider> <model>` (or `<provider>/<model>`). Configuration guide →
490
+ **[docs/guide/configuration.md](docs/guide/configuration.md)** · full environment-flag reference
491
+ (SSOT) → **[docs/CONFIGURATION.md](docs/CONFIGURATION.md)**.
492
+
493
+ Everything crypto — the agent wallet, paying for resources (x402), getting paid
494
+ (invoicing, branded QR cards, on-chain settlement), watchtower subscriptions, on-chain
495
+ token sight and guarded transfers, ERC-8004 reputation, credits, and the trading
496
+ tools — is documented end-to-end (all OFF by default) in
497
+ **[docs/guide/payments.md](docs/guide/payments.md)**.
498
+
499
+ ---
500
+
501
+ ## Installation options
502
+
503
+ ```bash
504
+ pipx install "polyrob[all]" # recommended — everything
505
+ pip install polyrob # core agent + keyword memory + CLI + the OpenAI SDK (~50 MB)
506
+ pip install "polyrob[gemini]" # the Gemini SDK (anthropic / docs / media / anysite likewise)
507
+ pip install "polyrob[browser]" # add Playwright browser automation
508
+ pip install "polyrob[server]" # add FastAPI REST API + web console
509
+ ```
510
+
511
+ Base carries ONE provider SDK (`openai`, which also serves OpenRouter, NVIDIA and every
512
+ OpenAI-compatible endpoint). On your own machine an optional capability installs itself
513
+ on first use — set a Gemini key and the SDK arrives; on a server the miss names the extra.
514
+
515
+ Every extra, what it adds and what it costs you in disk:
516
+ [docs/guide/getting-started.md](docs/guide/getting-started.md#extras).
517
+
518
+ ### Self-hosting & deployment
519
+
520
+ Run it three ways, and the posture auto-derives from how you bind it: **`local`** (loopback, no
521
+ auth — the default), **`own_ops`** (public host with owner login; `--host 0.0.0.0` auto-upgrades to
522
+ this so you can't accidentally expose a no-auth console), or **`multitenant`** (wallet/SIWE +
523
+ billing). One `docker compose up` builds the server + browser + vector memory and persists
524
+ memory/sessions/skills across restarts. See
525
+ **[docs/guide/self-hosting.md](docs/guide/self-hosting.md)**.
526
+
527
+ ---
528
+
529
+ ## For developers
530
+
531
+ ```
532
+ polyrob/
533
+ ├── agents/ # Task automation framework (agent loop, memory, skills, goals)
534
+ ├── api/ # FastAPI HTTP + A2A + OpenAI /v1
535
+ ├── cli/ # Terminal-native `polyrob` agent
536
+ ├── core/ # DI, config, permissions, instance/identity, autonomy runtime
537
+ ├── modules/ # LLM, Memory, Database, Auth, Credits
538
+ ├── tools/ # Browser, MCP, Email, Twitter, code-exec
539
+ ├── surfaces/ # Chat-surface adapters (Telegram, Email, WhatsApp, Discord, Slack, Signal, X)
540
+ ├── cron/ # Durable scheduled runs + goal board
541
+ └── webview/ # Optional web console
542
+ ```
543
+
544
+ ```bash
545
+ git clone https://github.com/theselfruleorg/polyrob
546
+ cd polyrob
547
+ bash install.sh # installs THIS tree: venv + editable install + the wizard
548
+ # — or manually:
549
+ python -m venv venv && source venv/bin/activate
550
+ pip install -e ".[dev,all]"
551
+ python -m playwright install chromium
552
+
553
+ pytest tests/unit -q # fast unit suite
554
+ ruff check . # lint
555
+ ```
556
+
557
+ Architecture overview → **[docs/guide/architecture.md](docs/guide/architecture.md)** · API reference
558
+ → **[docs/guide/api.md](docs/guide/api.md)** · deep architecture & contributor guide →
559
+ **[AGENTS.md](AGENTS.md)** (every layer also has its own `README.md`)
560
+
561
+ ---
562
+
563
+ ## Documentation
564
+
565
+ | Document | Description |
566
+ |----------|-------------|
567
+ | [docs/guide/getting-started.md](docs/guide/getting-started.md) | Install & first run |
568
+ | [docs/guide/cli.md](docs/guide/cli.md) | Terminal agent commands |
569
+ | [docs/guide/skills.md](docs/guide/skills.md) | Skills — install, author, and manage |
570
+ | [docs/guide/packs.md](docs/guide/packs.md) | Packs — the index, install, enable/disable, the kill list, third-party rules |
571
+ | [docs/guide/api.md](docs/guide/api.md) | REST + A2A + OpenAI-compatible API |
572
+ | [docs/guide/configuration.md](docs/guide/configuration.md) | Configuring the agent — providers, memory, the autonomy dial, tools, surfaces, preferences |
573
+ | [docs/guide/owner-controls.md](docs/guide/owner-controls.md) | Stop, pause and resume from any seat; approvals and the inbox |
574
+ | [docs/guide/groups.md](docs/guide/groups.md) | Group chats (rooms) — allowlist, roles, per-chat policy, the room service job |
575
+ | [docs/guide/profiles.md](docs/guide/profiles.md) | Named profiles — several isolated bots on one machine |
576
+ | [docs/guide/instances.md](docs/guide/instances.md) | Instance identity — SOUL, character, avatar |
577
+ | [docs/guide/upgrading.md](docs/guide/upgrading.md) | Upgrading an existing install |
578
+ | [docs/guide/migration/](docs/guide/migration/README.md) | Migrating from another agent framework |
579
+ | [docs/guide/architecture.md](docs/guide/architecture.md) | Architecture overview |
580
+ | [docs/guide/self-hosting.md](docs/guide/self-hosting.md) | Self-hosting / deployment |
581
+ | [docs/guide/deployment-postures.md](docs/guide/deployment-postures.md) | Deployment postures (local / own_ops / multitenant) |
582
+ | [docs/guide/console.md](docs/guide/console.md) | Web console — the five destinations, owner actions, posture |
583
+ | [docs/guide/payments.md](docs/guide/payments.md) | Payments, wallet & crypto — the complete money reference |
584
+ | [docs/guide/security-model.md](docs/guide/security-model.md) | Honest trust model — heuristic gates vs. the OS/container boundary |
585
+ | [docs/guide/streams.md](docs/guide/streams.md) | Goals and standing work — the goal board, objectives, fair dispatch, cron |
586
+ | [docs/comparison.md](docs/comparison.md) | Comparison with other frameworks |
587
+ | [docs/examples.md](docs/examples.md) | Real-world usage examples |
588
+ | [docs/CONFIGURATION.md](docs/CONFIGURATION.md) | Environment-flag reference (SSOT) |
589
+ | [AGENTS.md](AGENTS.md) | Deep architecture, invariants & contributor guide |
590
+ | [CHANGELOG.md](CHANGELOG.md) | Notable changes |
591
+
592
+ ---
593
+
594
+ ## Contributing & security
595
+
596
+ - **Contributions welcome** — see [CONTRIBUTING.md](CONTRIBUTING.md)
597
+ - **Report vulnerabilities** — see [SECURITY.md](SECURITY.md)
598
+ - **License** — MIT ([LICENSE](LICENSE)) · brand/name use in [TRADEMARK.md](TRADEMARK.md) · third-party attributions in [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md)
599
+
600
+ ---
601
+
602
+ <div align="center">
603
+
604
+ **POLYROB** — by [The Selfrule Organization](https://theselfrule.org)
605
+
606
+ </div>