polyrob 1.1.0__tar.gz → 1.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2292) hide show
  1. polyrob-1.2.0/MANIFEST.in +25 -0
  2. polyrob-1.2.0/PKG-INFO +606 -0
  3. polyrob-1.2.0/README.md +502 -0
  4. polyrob-1.2.0/agents/README.md +444 -0
  5. polyrob-1.2.0/agents/__init__.py +144 -0
  6. polyrob-1.2.0/agents/base_agent.py +724 -0
  7. polyrob-1.2.0/agents/personality/character_manager.py +327 -0
  8. polyrob-1.2.0/agents/prompt/__init__.py +46 -0
  9. polyrob-1.2.0/agents/task/__init__.py +166 -0
  10. polyrob-1.2.0/agents/task/agent/async_delegation.py +343 -0
  11. polyrob-1.2.0/agents/task/agent/conversation.py +88 -0
  12. polyrob-1.2.0/agents/task/agent/core/background_review.py +264 -0
  13. polyrob-1.2.0/agents/task/agent/core/construction.py +1580 -0
  14. polyrob-1.2.0/agents/task/agent/core/correspondent_gate.py +324 -0
  15. polyrob-1.2.0/agents/task/agent/core/curator.py +401 -0
  16. polyrob-1.2.0/agents/task/agent/core/env_context.py +121 -0
  17. polyrob-1.2.0/agents/task/agent/core/episodic_digest.py +109 -0
  18. polyrob-1.2.0/agents/task/agent/core/live_health.py +73 -0
  19. polyrob-1.2.0/agents/task/agent/core/llm_runner.py +694 -0
  20. polyrob-1.2.0/agents/task/agent/core/logging_io.py +272 -0
  21. polyrob-1.2.0/agents/task/agent/core/loop_detection.py +321 -0
  22. polyrob-1.2.0/agents/task/agent/core/memory_prefetch.py +360 -0
  23. polyrob-1.2.0/agents/task/agent/core/memory_writer.py +431 -0
  24. polyrob-1.2.0/agents/task/agent/core/model_swap.py +195 -0
  25. polyrob-1.2.0/agents/task/agent/core/next_action_internal.py +1619 -0
  26. polyrob-1.2.0/agents/task/agent/core/output_validation.py +335 -0
  27. polyrob-1.2.0/agents/task/agent/core/owner_thread_inject.py +164 -0
  28. polyrob-1.2.0/agents/task/agent/core/project_context.py +387 -0
  29. polyrob-1.2.0/agents/task/agent/core/result_budget.py +118 -0
  30. polyrob-1.2.0/agents/task/agent/core/result_offload.py +462 -0
  31. polyrob-1.2.0/agents/task/agent/core/result_processing.py +541 -0
  32. polyrob-1.2.0/agents/task/agent/core/run_loop.py +780 -0
  33. polyrob-1.2.0/agents/task/agent/core/runtime_catalog.py +102 -0
  34. polyrob-1.2.0/agents/task/agent/core/step.py +965 -0
  35. polyrob-1.2.0/agents/task/agent/core/step_execution.py +406 -0
  36. polyrob-1.2.0/agents/task/agent/core/step_telemetry.py +223 -0
  37. polyrob-1.2.0/agents/task/agent/core/tool_availability.py +124 -0
  38. polyrob-1.2.0/agents/task/agent/core/untrusted_render.py +98 -0
  39. polyrob-1.2.0/agents/task/agent/core/user_ingress.py +385 -0
  40. polyrob-1.2.0/agents/task/agent/message_manager/service.py +1038 -0
  41. polyrob-1.2.0/agents/task/agent/messages/builders.py +348 -0
  42. polyrob-1.2.0/agents/task/agent/messages/compactor.py +906 -0
  43. polyrob-1.2.0/agents/task/agent/messages/context_references.py +349 -0
  44. polyrob-1.2.0/agents/task/agent/messages/filters.py +518 -0
  45. polyrob-1.2.0/agents/task/agent/messages/foundation_layers.py +203 -0
  46. polyrob-1.2.0/agents/task/agent/messages/foundation_replay.py +251 -0
  47. polyrob-1.2.0/agents/task/agent/messages/guidance.py +359 -0
  48. polyrob-1.2.0/agents/task/agent/messages/persistence.py +519 -0
  49. polyrob-1.2.0/agents/task/agent/messages/retrieval.py +750 -0
  50. polyrob-1.2.0/agents/task/agent/messages/token_counter.py +762 -0
  51. polyrob-1.2.0/agents/task/agent/profile_manager.py +186 -0
  52. polyrob-1.2.0/agents/task/agent/profile_store.py +602 -0
  53. polyrob-1.2.0/agents/task/agent/prompts.py +1664 -0
  54. polyrob-1.2.0/agents/task/agent/service.py +457 -0
  55. polyrob-1.2.0/agents/task/agent/session.py +1191 -0
  56. polyrob-1.2.0/agents/task/agent/skill_allowed_tools.py +55 -0
  57. polyrob-1.2.0/agents/task/agent/skill_manager.py +1674 -0
  58. polyrob-1.2.0/agents/task/agent/skill_store.py +627 -0
  59. polyrob-1.2.0/agents/task/agent/skill_writer.py +700 -0
  60. polyrob-1.2.0/agents/task/agent/sub_agent_manager.py +1296 -0
  61. polyrob-1.2.0/agents/task/config.py +500 -0
  62. polyrob-1.2.0/agents/task/constants.py +858 -0
  63. polyrob-1.2.0/agents/task/conversation_resume.py +205 -0
  64. polyrob-1.2.0/agents/task/goals/board.py +2391 -0
  65. polyrob-1.2.0/agents/task/goals/context.py +223 -0
  66. polyrob-1.2.0/agents/task/goals/dispatcher.py +2358 -0
  67. polyrob-1.2.0/agents/task/goals/escalation.py +156 -0
  68. polyrob-1.2.0/agents/task/goals/memory_scope.py +123 -0
  69. polyrob-1.2.0/agents/task/goals/planner.py +458 -0
  70. polyrob-1.2.0/agents/task/goals/rail_answers.py +92 -0
  71. polyrob-1.2.0/agents/task/goals/rail_proposals.py +148 -0
  72. polyrob-1.2.0/agents/task/goals/rail_templates.py +165 -0
  73. polyrob-1.2.0/agents/task/goals/rails.py +661 -0
  74. polyrob-1.2.0/agents/task/goals/streams.py +769 -0
  75. polyrob-1.2.0/agents/task/path.py +1019 -0
  76. polyrob-1.2.0/agents/task/robust_parse_config.py +337 -0
  77. polyrob-1.2.0/agents/task/runtime/edit_verify.py +132 -0
  78. polyrob-1.2.0/agents/task/runtime/evidence.py +284 -0
  79. polyrob-1.2.0/agents/task/runtime/metering_gate.py +53 -0
  80. polyrob-1.2.0/agents/task/runtime/run_outcome.py +391 -0
  81. polyrob-1.2.0/agents/task/session/cleanup.py +821 -0
  82. polyrob-1.2.0/agents/task/session/hitl_ingress.py +320 -0
  83. polyrob-1.2.0/agents/task/session_class.py +111 -0
  84. polyrob-1.2.0/agents/task/task_agent_chat.py +565 -0
  85. polyrob-1.2.0/agents/task/task_agent_delivery.py +992 -0
  86. polyrob-1.2.0/agents/task/task_agent_support.py +189 -0
  87. polyrob-1.2.0/agents/task/telemetry/manager.py +556 -0
  88. polyrob-1.2.0/agents/task/telemetry/narrate.py +192 -0
  89. polyrob-1.2.0/agents/task/telemetry/sequence.py +156 -0
  90. polyrob-1.2.0/agents/task/telemetry/service.py +1225 -0
  91. polyrob-1.2.0/agents/task/tool_defaults.py +206 -0
  92. polyrob-1.2.0/agents/task/utils.py +619 -0
  93. polyrob-1.2.0/agents/task_agent_lite.py +977 -0
  94. polyrob-1.2.0/api/README.md +746 -0
  95. polyrob-1.2.0/api/a2a/agent_card.py +347 -0
  96. polyrob-1.2.0/api/a2a/task_handler.py +1096 -0
  97. polyrob-1.2.0/api/admin_endpoints.py +1528 -0
  98. polyrob-1.2.0/api/app.py +1057 -0
  99. polyrob-1.2.0/api/auth_endpoints.py +466 -0
  100. polyrob-1.2.0/api/contributions.py +185 -0
  101. polyrob-1.2.0/api/dependencies.py +282 -0
  102. polyrob-1.2.0/api/middleware.py +432 -0
  103. polyrob-1.2.0/api/money_contributions.py +187 -0
  104. polyrob-1.2.0/api/pack_routes.py +57 -0
  105. polyrob-1.2.0/api/payment_verification.py +137 -0
  106. polyrob-1.2.0/api/session_preflight.py +23 -0
  107. polyrob-1.2.0/api/task_http_api.py +1876 -0
  108. polyrob-1.2.0/api/upload_sniff.py +39 -0
  109. polyrob-1.2.0/api/webhooks.py +92 -0
  110. polyrob-1.2.0/api/x402_endpoints.py +516 -0
  111. polyrob-1.2.0/assets/brand/polyrob-avatar-512.png +0 -0
  112. polyrob-1.2.0/assets/brand/polyrob-mark-256.png +0 -0
  113. polyrob-1.2.0/cli/_flag_warn.py +43 -0
  114. polyrob-1.2.0/cli/commands/_errors.py +161 -0
  115. polyrob-1.2.0/cli/commands/_session_control.py +26 -0
  116. polyrob-1.2.0/cli/commands/apps.py +199 -0
  117. polyrob-1.2.0/cli/commands/auth.py +449 -0
  118. polyrob-1.2.0/cli/commands/avatar.py +194 -0
  119. polyrob-1.2.0/cli/commands/browser.py +603 -0
  120. polyrob-1.2.0/cli/commands/chat.py +1113 -0
  121. polyrob-1.2.0/cli/commands/config.py +745 -0
  122. polyrob-1.2.0/cli/commands/cron.py +499 -0
  123. polyrob-1.2.0/cli/commands/dashboard.py +138 -0
  124. polyrob-1.2.0/cli/commands/doctor.py +1454 -0
  125. polyrob-1.2.0/cli/commands/email.py +120 -0
  126. polyrob-1.2.0/cli/commands/gateway.py +329 -0
  127. polyrob-1.2.0/cli/commands/goals.py +670 -0
  128. polyrob-1.2.0/cli/commands/identity.py +126 -0
  129. polyrob-1.2.0/cli/commands/init.py +677 -0
  130. polyrob-1.2.0/cli/commands/kb.py +419 -0
  131. polyrob-1.2.0/cli/commands/model.py +193 -0
  132. polyrob-1.2.0/cli/commands/owner.py +1644 -0
  133. polyrob-1.2.0/cli/commands/owner_memory.py +162 -0
  134. polyrob-1.2.0/cli/commands/pack.py +426 -0
  135. polyrob-1.2.0/cli/commands/rails.py +167 -0
  136. polyrob-1.2.0/cli/commands/service.py +285 -0
  137. polyrob-1.2.0/cli/commands/session.py +727 -0
  138. polyrob-1.2.0/cli/commands/skill_hub.py +795 -0
  139. polyrob-1.2.0/cli/commands/skill_install.py +947 -0
  140. polyrob-1.2.0/cli/commands/soul.py +112 -0
  141. polyrob-1.2.0/cli/commands/surfaces.py +279 -0
  142. polyrob-1.2.0/cli/commands/tools.py +240 -0
  143. polyrob-1.2.0/cli/commands/uninstall.py +185 -0
  144. polyrob-1.2.0/cli/commands/update.py +625 -0
  145. polyrob-1.2.0/cli/commands/wallet.py +1842 -0
  146. polyrob-1.2.0/cli/commands/whatsapp.py +109 -0
  147. polyrob-1.2.0/cli/commands/workers.py +235 -0
  148. polyrob-1.2.0/cli/polyrob.py +332 -0
  149. polyrob-1.2.0/cli/surfaces_config.py +98 -0
  150. polyrob-1.2.0/cli/toolset.py +88 -0
  151. polyrob-1.2.0/cli/ui/autonomy_live.py +102 -0
  152. polyrob-1.2.0/cli/ui/banner.py +242 -0
  153. polyrob-1.2.0/cli/ui/commands/h_a23.py +50 -0
  154. polyrob-1.2.0/cli/ui/commands/h_autonomy.py +183 -0
  155. polyrob-1.2.0/cli/ui/commands/h_avatar.py +66 -0
  156. polyrob-1.2.0/cli/ui/commands/h_cards.py +207 -0
  157. polyrob-1.2.0/cli/ui/commands/h_check.py +13 -0
  158. polyrob-1.2.0/cli/ui/commands/h_config.py +367 -0
  159. polyrob-1.2.0/cli/ui/commands/h_context.py +175 -0
  160. polyrob-1.2.0/cli/ui/commands/h_contributed.py +37 -0
  161. polyrob-1.2.0/cli/ui/commands/h_cron.py +248 -0
  162. polyrob-1.2.0/cli/ui/commands/h_gates.py +201 -0
  163. polyrob-1.2.0/cli/ui/commands/h_goal_one.py +57 -0
  164. polyrob-1.2.0/cli/ui/commands/h_goals_view.py +122 -0
  165. polyrob-1.2.0/cli/ui/commands/h_help.py +349 -0
  166. polyrob-1.2.0/cli/ui/commands/h_holdings.py +30 -0
  167. polyrob-1.2.0/cli/ui/commands/h_inbox.py +134 -0
  168. polyrob-1.2.0/cli/ui/commands/h_journey.py +105 -0
  169. polyrob-1.2.0/cli/ui/commands/h_kb.py +124 -0
  170. polyrob-1.2.0/cli/ui/commands/h_mcp.py +241 -0
  171. polyrob-1.2.0/cli/ui/commands/h_money_verbs.py +155 -0
  172. polyrob-1.2.0/cli/ui/commands/h_owner.py +451 -0
  173. polyrob-1.2.0/cli/ui/commands/h_owner_reach.py +127 -0
  174. polyrob-1.2.0/cli/ui/commands/h_rail.py +46 -0
  175. polyrob-1.2.0/cli/ui/commands/h_reject.py +135 -0
  176. polyrob-1.2.0/cli/ui/commands/h_rooms.py +400 -0
  177. polyrob-1.2.0/cli/ui/commands/h_run.py +17 -0
  178. polyrob-1.2.0/cli/ui/commands/h_send.py +13 -0
  179. polyrob-1.2.0/cli/ui/commands/h_skills.py +324 -0
  180. polyrob-1.2.0/cli/ui/commands/h_skills_hub.py +90 -0
  181. polyrob-1.2.0/cli/ui/commands/h_swap.py +13 -0
  182. polyrob-1.2.0/cli/ui/commands/h_token.py +79 -0
  183. polyrob-1.2.0/cli/ui/commands/h_workers.py +93 -0
  184. polyrob-1.2.0/cli/ui/commands/handlers.py +1730 -0
  185. polyrob-1.2.0/cli/ui/commands/registry.py +543 -0
  186. polyrob-1.2.0/cli/ui/persistent_loop.py +204 -0
  187. polyrob-1.2.0/cli/ui/plain_renderer.py +396 -0
  188. polyrob-1.2.0/cli/ui/state.py +503 -0
  189. polyrob-1.2.0/cli/ui/statusbar.py +319 -0
  190. polyrob-1.2.0/cli/ui/theme.py +181 -0
  191. polyrob-1.2.0/cli/update/agent_state.py +158 -0
  192. polyrob-1.2.0/cli/update/extras.py +143 -0
  193. polyrob-1.2.0/cli/update/packs.py +273 -0
  194. polyrob-1.2.0/cli/update/process_guard.py +325 -0
  195. polyrob-1.2.0/cli/update/runners.py +241 -0
  196. polyrob-1.2.0/config/.env.development.template +279 -0
  197. polyrob-1.2.0/core/action_names.py +40 -0
  198. polyrob-1.2.0/core/activity_class.py +164 -0
  199. polyrob-1.2.0/core/app_service/approval.py +115 -0
  200. polyrob-1.2.0/core/app_service/config.py +156 -0
  201. polyrob-1.2.0/core/app_service/owner_ops.py +164 -0
  202. polyrob-1.2.0/core/app_service/registry.py +460 -0
  203. polyrob-1.2.0/core/app_service/snapshot.py +219 -0
  204. polyrob-1.2.0/core/app_service/supervisor.py +583 -0
  205. polyrob-1.2.0/core/artifacts.py +384 -0
  206. polyrob-1.2.0/core/autonomy_control.py +631 -0
  207. polyrob-1.2.0/core/autonomy_runtime.py +1255 -0
  208. polyrob-1.2.0/core/avatar.py +235 -0
  209. polyrob-1.2.0/core/billing_context.py +60 -0
  210. polyrob-1.2.0/core/book.py +129 -0
  211. polyrob-1.2.0/core/boot_reconcilers.py +32 -0
  212. polyrob-1.2.0/core/bootstrap.py +912 -0
  213. polyrob-1.2.0/core/bootstrap_marker.py +148 -0
  214. polyrob-1.2.0/core/config.py +696 -0
  215. polyrob-1.2.0/core/config_policy/__init__.py +50 -0
  216. polyrob-1.2.0/core/config_policy/autonomy_config.py +558 -0
  217. polyrob-1.2.0/core/config_policy/autonomy_mode.py +145 -0
  218. polyrob-1.2.0/core/config_policy/capability_toggles.py +440 -0
  219. polyrob-1.2.0/core/config_policy/live_apply.py +80 -0
  220. polyrob-1.2.0/core/config_policy/money_regime.py +102 -0
  221. polyrob-1.2.0/core/config_policy/payment_policy.py +158 -0
  222. polyrob-1.2.0/core/config_policy/payment_tools.py +65 -0
  223. polyrob-1.2.0/core/config_policy/policy.py +120 -0
  224. polyrob-1.2.0/core/config_policy/posture_card.py +155 -0
  225. polyrob-1.2.0/core/config_policy/profiles.py +184 -0
  226. polyrob-1.2.0/core/config_policy/rigs.py +232 -0
  227. polyrob-1.2.0/core/config_policy/spend_lane.py +230 -0
  228. polyrob-1.2.0/core/config_service.py +635 -0
  229. polyrob-1.2.0/core/container.py +220 -0
  230. polyrob-1.2.0/core/container_hardening.py +58 -0
  231. polyrob-1.2.0/core/context_fences.py +113 -0
  232. polyrob-1.2.0/core/copy/en.py +86 -0
  233. polyrob-1.2.0/core/copy/glossary.py +131 -0
  234. polyrob-1.2.0/core/credential_verdicts.py +545 -0
  235. polyrob-1.2.0/core/credit_sentinel.py +384 -0
  236. polyrob-1.2.0/core/data_perms.py +303 -0
  237. polyrob-1.2.0/core/db_manifest.py +180 -0
  238. polyrob-1.2.0/core/delivery_channels.py +103 -0
  239. polyrob-1.2.0/core/doc_claims.py +355 -0
  240. polyrob-1.2.0/core/doc_kind.py +181 -0
  241. polyrob-1.2.0/core/effects.py +356 -0
  242. polyrob-1.2.0/core/env_file.py +150 -0
  243. polyrob-1.2.0/core/event_kinds.py +239 -0
  244. polyrob-1.2.0/core/event_log.py +416 -0
  245. polyrob-1.2.0/core/exec_identity.py +76 -0
  246. polyrob-1.2.0/core/flags.py +222 -0
  247. polyrob-1.2.0/core/flags_catalog.py +838 -0
  248. polyrob-1.2.0/core/goal_board_render.py +188 -0
  249. polyrob-1.2.0/core/goal_legibility.py +131 -0
  250. polyrob-1.2.0/core/goal_suppressions.py +193 -0
  251. polyrob-1.2.0/core/goal_vocab.py +65 -0
  252. polyrob-1.2.0/core/initialization.py +997 -0
  253. polyrob-1.2.0/core/install_facts.py +115 -0
  254. polyrob-1.2.0/core/instance.py +841 -0
  255. polyrob-1.2.0/core/instruction_surfaces.py +85 -0
  256. polyrob-1.2.0/core/intel/__init__.py +9 -0
  257. polyrob-1.2.0/core/intel/cache.py +90 -0
  258. polyrob-1.2.0/core/intel/model.py +112 -0
  259. polyrob-1.2.0/core/intel/price.py +331 -0
  260. polyrob-1.2.0/core/interactive_gate.py +265 -0
  261. polyrob-1.2.0/core/lazy_closures/__init__.py +106 -0
  262. polyrob-1.2.0/core/lazy_closures/docs.docx.txt +187 -0
  263. polyrob-1.2.0/core/lazy_closures/docs.pdf.txt +7 -0
  264. polyrob-1.2.0/core/lazy_closures/media.gif.txt +235 -0
  265. polyrob-1.2.0/core/lazy_closures/media.qr.txt +10 -0
  266. polyrob-1.2.0/core/lazy_closures/memory.vector.txt +232 -0
  267. polyrob-1.2.0/core/lazy_closures/provider.anthropic.txt +296 -0
  268. polyrob-1.2.0/core/lazy_closures/provider.gemini.txt +594 -0
  269. polyrob-1.2.0/core/lazy_closures/server.api.txt +783 -0
  270. polyrob-1.2.0/core/lazy_closures/surface.telegram.txt +862 -0
  271. polyrob-1.2.0/core/lazy_closures/tool.anysite.txt +340 -0
  272. polyrob-1.2.0/core/lazy_closures/voice.transcribe.txt +402 -0
  273. polyrob-1.2.0/core/lazy_deps.py +597 -0
  274. polyrob-1.2.0/core/lazy_installer.py +430 -0
  275. polyrob-1.2.0/core/lazy_views.py +57 -0
  276. polyrob-1.2.0/core/lock_closure.py +446 -0
  277. polyrob-1.2.0/core/money/__init__.py +18 -0
  278. polyrob-1.2.0/core/money/authority.py +147 -0
  279. polyrob-1.2.0/core/money/authorize.py +213 -0
  280. polyrob-1.2.0/core/money/classify.py +56 -0
  281. polyrob-1.2.0/core/money/hooks.py +136 -0
  282. polyrob-1.2.0/core/money/ledger.py +463 -0
  283. polyrob-1.2.0/core/money/regime.py +64 -0
  284. polyrob-1.2.0/core/money_verbs.py +99 -0
  285. polyrob-1.2.0/core/open_positions.py +842 -0
  286. polyrob-1.2.0/core/optional_extras.py +146 -0
  287. polyrob-1.2.0/core/owner_create.py +243 -0
  288. polyrob-1.2.0/core/owner_doc_writer.py +115 -0
  289. polyrob-1.2.0/core/owner_remedy.py +332 -0
  290. polyrob-1.2.0/core/packs/__init__.py +10 -0
  291. polyrob-1.2.0/core/packs/index.json +52 -0
  292. polyrob-1.2.0/core/packs/index.py +170 -0
  293. polyrob-1.2.0/core/packs/loader.py +635 -0
  294. polyrob-1.2.0/core/packs/manifest.py +344 -0
  295. polyrob-1.2.0/core/packs/removed.json +1 -0
  296. polyrob-1.2.0/core/packs/retire.py +280 -0
  297. polyrob-1.2.0/core/packs/sdk.py +84 -0
  298. polyrob-1.2.0/core/packs/spec.py +98 -0
  299. polyrob-1.2.0/core/packs/state.py +223 -0
  300. polyrob-1.2.0/core/path_safety.py +179 -0
  301. polyrob-1.2.0/core/payment_config.py +23 -0
  302. polyrob-1.2.0/core/payments/assets.py +357 -0
  303. polyrob-1.2.0/core/position_ledger.py +208 -0
  304. polyrob-1.2.0/core/prefs.py +1537 -0
  305. polyrob-1.2.0/core/publish.py +447 -0
  306. polyrob-1.2.0/core/rails/financial_claims.py +335 -0
  307. polyrob-1.2.0/core/rate_limit.py +296 -0
  308. polyrob-1.2.0/core/recap.py +265 -0
  309. polyrob-1.2.0/core/remedy.py +75 -0
  310. polyrob-1.2.0/core/rules_sweep.py +207 -0
  311. polyrob-1.2.0/core/run_control.py +137 -0
  312. polyrob-1.2.0/core/schedule.py +199 -0
  313. polyrob-1.2.0/core/secret_patterns.py +267 -0
  314. polyrob-1.2.0/core/secret_scrub.py +102 -0
  315. polyrob-1.2.0/core/security/browser_rail.py +282 -0
  316. polyrob-1.2.0/core/security/custody_env.py +146 -0
  317. polyrob-1.2.0/core/security/encryption.py +242 -0
  318. polyrob-1.2.0/core/security/host_execution.py +52 -0
  319. polyrob-1.2.0/core/security/pinned_resolver.py +112 -0
  320. polyrob-1.2.0/core/security/pinned_transport.py +125 -0
  321. polyrob-1.2.0/core/security/process_hardening.py +111 -0
  322. polyrob-1.2.0/core/security/redaction.py +94 -0
  323. polyrob-1.2.0/core/security/refusal_taint.py +110 -0
  324. polyrob-1.2.0/core/security/refusals.py +54 -0
  325. polyrob-1.2.0/core/security/secret_guard.py +633 -0
  326. polyrob-1.2.0/core/security/untrusted_wrap.py +129 -0
  327. polyrob-1.2.0/core/security/workspace_io.py +143 -0
  328. polyrob-1.2.0/core/security_digest.py +242 -0
  329. polyrob-1.2.0/core/security_logging_filter.py +443 -0
  330. polyrob-1.2.0/core/security_speakers.py +130 -0
  331. polyrob-1.2.0/core/self_context_writer.py +548 -0
  332. polyrob-1.2.0/core/self_evolution.py +1023 -0
  333. polyrob-1.2.0/core/session_control.py +104 -0
  334. polyrob-1.2.0/core/session_retention.py +288 -0
  335. polyrob-1.2.0/core/signer/__init__.py +74 -0
  336. polyrob-1.2.0/core/signer/approvals.py +53 -0
  337. polyrob-1.2.0/core/signer/attest.py +79 -0
  338. polyrob-1.2.0/core/signer/caps.py +273 -0
  339. polyrob-1.2.0/core/signer/client.py +66 -0
  340. polyrob-1.2.0/core/signer/protocol.py +250 -0
  341. polyrob-1.2.0/core/signer/provision.py +128 -0
  342. polyrob-1.2.0/core/signer/remote.py +286 -0
  343. polyrob-1.2.0/core/signer/runtime.py +104 -0
  344. polyrob-1.2.0/core/signer/server.py +742 -0
  345. polyrob-1.2.0/core/signer/shadow.py +205 -0
  346. polyrob-1.2.0/core/signer/store.py +194 -0
  347. polyrob-1.2.0/core/status_custody.py +211 -0
  348. polyrob-1.2.0/core/status_economics.py +266 -0
  349. polyrob-1.2.0/core/status_knowledge.py +332 -0
  350. polyrob-1.2.0/core/status_liquidity.py +54 -0
  351. polyrob-1.2.0/core/status_live.py +126 -0
  352. polyrob-1.2.0/core/status_money.py +496 -0
  353. polyrob-1.2.0/core/status_packs.py +48 -0
  354. polyrob-1.2.0/core/status_render.py +270 -0
  355. polyrob-1.2.0/core/status_room_actions.py +71 -0
  356. polyrob-1.2.0/core/status_rules.py +296 -0
  357. polyrob-1.2.0/core/status_sections.py +146 -0
  358. polyrob-1.2.0/core/status_snapshot.py +2113 -0
  359. polyrob-1.2.0/core/status_tools.py +137 -0
  360. polyrob-1.2.0/core/surfaces/__init__.py +37 -0
  361. polyrob-1.2.0/core/surfaces/access.py +319 -0
  362. polyrob-1.2.0/core/surfaces/access_log.py +162 -0
  363. polyrob-1.2.0/core/surfaces/act.py +42 -0
  364. polyrob-1.2.0/core/surfaces/actions.py +137 -0
  365. polyrob-1.2.0/core/surfaces/binding.py +251 -0
  366. polyrob-1.2.0/core/surfaces/bootstrap.py +281 -0
  367. polyrob-1.2.0/core/surfaces/bot_pair_guard.py +78 -0
  368. polyrob-1.2.0/core/surfaces/cards.py +842 -0
  369. polyrob-1.2.0/core/surfaces/catalog.py +344 -0
  370. polyrob-1.2.0/core/surfaces/command_reply.py +60 -0
  371. polyrob-1.2.0/core/surfaces/config.py +294 -0
  372. polyrob-1.2.0/core/surfaces/continuity.py +80 -0
  373. polyrob-1.2.0/core/surfaces/dispatcher.py +792 -0
  374. polyrob-1.2.0/core/surfaces/envelopes.py +163 -0
  375. polyrob-1.2.0/core/surfaces/group_turn.py +292 -0
  376. polyrob-1.2.0/core/surfaces/idempotency.py +175 -0
  377. polyrob-1.2.0/core/surfaces/inbound_attachments.py +409 -0
  378. polyrob-1.2.0/core/surfaces/inbound_webhook.py +331 -0
  379. polyrob-1.2.0/core/surfaces/inbox_render.py +389 -0
  380. polyrob-1.2.0/core/surfaces/media.py +56 -0
  381. polyrob-1.2.0/core/surfaces/message_router.py +507 -0
  382. polyrob-1.2.0/core/surfaces/outbound_target.py +145 -0
  383. polyrob-1.2.0/core/surfaces/owner_address.py +76 -0
  384. polyrob-1.2.0/core/surfaces/owner_admin.py +273 -0
  385. polyrob-1.2.0/core/surfaces/owner_intent.py +69 -0
  386. polyrob-1.2.0/core/surfaces/owner_thread.py +618 -0
  387. polyrob-1.2.0/core/surfaces/room_actions.py +1132 -0
  388. polyrob-1.2.0/core/surfaces/room_policy.py +234 -0
  389. polyrob-1.2.0/core/surfaces/send_policy.py +24 -0
  390. polyrob-1.2.0/core/surfaces/speech_out.py +164 -0
  391. polyrob-1.2.0/core/surfaces/surface.py +320 -0
  392. polyrob-1.2.0/core/surfaces/tappable.py +87 -0
  393. polyrob-1.2.0/core/surfaces/transcription.py +91 -0
  394. polyrob-1.2.0/core/surfaces/turn_reply.py +83 -0
  395. polyrob-1.2.0/core/surfaces/user_delivery.py +1198 -0
  396. polyrob-1.2.0/core/token_check_hook.py +32 -0
  397. polyrob-1.2.0/core/tool_capabilities.py +545 -0
  398. polyrob-1.2.0/core/tool_catalog.py +227 -0
  399. polyrob-1.2.0/core/tool_gates.py +83 -0
  400. polyrob-1.2.0/core/tool_grants.py +306 -0
  401. polyrob-1.2.0/core/verb_policy.py +272 -0
  402. polyrob-1.2.0/core/verb_policy_rows.py +559 -0
  403. polyrob-1.2.0/core/verbs.py +473 -0
  404. polyrob-1.2.0/core/version.py +75 -0
  405. polyrob-1.2.0/core/wallet/__init__.py +46 -0
  406. polyrob-1.2.0/core/wallet/account_journal.py +85 -0
  407. polyrob-1.2.0/core/wallet/activity.py +550 -0
  408. polyrob-1.2.0/core/wallet/address_kind.py +114 -0
  409. polyrob-1.2.0/core/wallet/addresses.py +135 -0
  410. polyrob-1.2.0/core/wallet/agent_wallet.py +353 -0
  411. polyrob-1.2.0/core/wallet/audit_sink.py +424 -0
  412. polyrob-1.2.0/core/wallet/authority.py +15 -0
  413. polyrob-1.2.0/core/wallet/bridge_guard.py +504 -0
  414. polyrob-1.2.0/core/wallet/broadcast/evm.py +431 -0
  415. polyrob-1.2.0/core/wallet/buy_target.py +282 -0
  416. polyrob-1.2.0/core/wallet/chains.py +613 -0
  417. polyrob-1.2.0/core/wallet/collection_mint.py +251 -0
  418. polyrob-1.2.0/core/wallet/collection_registry.py +266 -0
  419. polyrob-1.2.0/core/wallet/collection_reveal.py +229 -0
  420. polyrob-1.2.0/core/wallet/config.py +427 -0
  421. polyrob-1.2.0/core/wallet/deploy_guard.py +431 -0
  422. polyrob-1.2.0/core/wallet/derivation.py +198 -0
  423. polyrob-1.2.0/core/wallet/dex_registry.py +186 -0
  424. polyrob-1.2.0/core/wallet/erc6551.py +545 -0
  425. polyrob-1.2.0/core/wallet/erc8004.py +138 -0
  426. polyrob-1.2.0/core/wallet/evm_facts.py +180 -0
  427. polyrob-1.2.0/core/wallet/factory.py +185 -0
  428. polyrob-1.2.0/core/wallet/liquidity_guard.py +378 -0
  429. polyrob-1.2.0/core/wallet/nft_account.py +331 -0
  430. polyrob-1.2.0/core/wallet/nft_holdings.py +357 -0
  431. polyrob-1.2.0/core/wallet/onchain.py +269 -0
  432. polyrob-1.2.0/core/wallet/policy.py +14 -0
  433. polyrob-1.2.0/core/wallet/signer_cap_drift.py +99 -0
  434. polyrob-1.2.0/core/wallet/simulation.py +544 -0
  435. polyrob-1.2.0/core/wallet/solana_onchain.py +230 -0
  436. polyrob-1.2.0/core/wallet/solana_rail.py +210 -0
  437. polyrob-1.2.0/core/wallet/solana_signer.py +216 -0
  438. polyrob-1.2.0/core/wallet/solana_simulation.py +309 -0
  439. polyrob-1.2.0/core/wallet/solana_tx_inspect.py +793 -0
  440. polyrob-1.2.0/core/wallet/solana_x402.py +206 -0
  441. polyrob-1.2.0/core/wallet/spl_facts.py +323 -0
  442. polyrob-1.2.0/core/wallet/spl_token.py +583 -0
  443. polyrob-1.2.0/core/wallet/submission_journal.py +193 -0
  444. polyrob-1.2.0/core/wallet/submission_recovery.py +160 -0
  445. polyrob-1.2.0/core/wallet/submission_release.py +247 -0
  446. polyrob-1.2.0/core/wallet/submission_store.py +297 -0
  447. polyrob-1.2.0/core/wallet/token_origin.py +431 -0
  448. polyrob-1.2.0/core/wallet/token_pins.py +411 -0
  449. polyrob-1.2.0/core/wallet/token_provenance.py +302 -0
  450. polyrob-1.2.0/core/wallet/token_trust.py +449 -0
  451. polyrob-1.2.0/core/wallet/tokens.py +421 -0
  452. polyrob-1.2.0/core/wallet/trade_index.py +100 -0
  453. polyrob-1.2.0/core/wallet/treasury_balance.py +77 -0
  454. polyrob-1.2.0/core/wallet/tx_guard.py +2465 -0
  455. polyrob-1.2.0/core/wallet/tx_notify.py +402 -0
  456. polyrob-1.2.0/core/wallet/view.py +147 -0
  457. polyrob-1.2.0/cron/README.md +78 -0
  458. polyrob-1.2.0/cron/credential_preflight.py +193 -0
  459. polyrob-1.2.0/cron/delivery.py +642 -0
  460. polyrob-1.2.0/cron/digest.py +253 -0
  461. polyrob-1.2.0/cron/preflight.py +100 -0
  462. polyrob-1.2.0/cron/read_job.py +253 -0
  463. polyrob-1.2.0/cron/remedy_streak.py +171 -0
  464. polyrob-1.2.0/cron/rig_edit.py +91 -0
  465. polyrob-1.2.0/cron/runner.py +685 -0
  466. polyrob-1.2.0/cron/schedule.py +15 -0
  467. polyrob-1.2.0/cron/service.py +307 -0
  468. polyrob-1.2.0/cron/write_job.py +152 -0
  469. polyrob-1.2.0/data/prompts/skills/browser-automation/SKILL.md +55 -0
  470. polyrob-1.2.0/data/prompts/skills/crypto-trading-safety/SKILL.md +84 -0
  471. polyrob-1.2.0/data/prompts/skills/dca/SKILL.md +84 -0
  472. polyrob-1.2.0/data/prompts/skills/defi-bridge/SKILL.md +122 -0
  473. polyrob-1.2.0/data/prompts/skills/defi-liquidity/SKILL.md +63 -0
  474. polyrob-1.2.0/data/prompts/skills/document-writing/SKILL.md +33 -0
  475. polyrob-1.2.0/data/prompts/skills/email-comms/SKILL.md +39 -0
  476. polyrob-1.2.0/data/prompts/skills/exits/SKILL.md +99 -0
  477. polyrob-1.2.0/data/prompts/skills/memecoin-scouting/SKILL.md +247 -0
  478. polyrob-1.2.0/data/prompts/skills/person-analyzer/SKILL.md +124 -0
  479. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/SKILL.md +225 -0
  480. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/references/autonomy.md +93 -0
  481. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/references/configuration.md +820 -0
  482. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/references/money-and-safety.md +133 -0
  483. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/references/setup-interview.md +135 -0
  484. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/references/surfaces.md +115 -0
  485. polyrob-1.2.0/data/prompts/skills/polyrob-user-guide/references/wallet-and-identity.md +158 -0
  486. polyrob-1.2.0/data/prompts/skills/position-journal/SKILL.md +102 -0
  487. polyrob-1.2.0/data/prompts/skills/post-trade-verify/SKILL.md +85 -0
  488. polyrob-1.2.0/data/prompts/skills/pre-trade-check/SKILL.md +83 -0
  489. polyrob-1.2.0/data/prompts/skills/robinhood-chain/SKILL.md +124 -0
  490. polyrob-1.2.0/data/prompts/skills/rules.json +1032 -0
  491. polyrob-1.2.0/data/prompts/skills/secret-handling/SKILL.md +32 -0
  492. polyrob-1.2.0/data/prompts/skills/self-deploy/SKILL.md +174 -0
  493. polyrob-1.2.0/data/prompts/skills/sizing-and-risk/SKILL.md +101 -0
  494. polyrob-1.2.0/data/prompts/skills/skill-authoring/SKILL.md +34 -0
  495. polyrob-1.2.0/data/prompts/skills/skill-security-review/SKILL.md +54 -0
  496. polyrob-1.2.0/data/prompts/skills/stable-cash/SKILL.md +55 -0
  497. polyrob-1.2.0/data/prompts/skills/task-planning/SKILL.md +33 -0
  498. polyrob-1.2.0/data/prompts/skills/token-identity/SKILL.md +157 -0
  499. polyrob-1.2.0/data/prompts/skills/token-launch/SKILL.md +176 -0
  500. polyrob-1.2.0/data/prompts/skills/trade-execution/SKILL.md +112 -0
  501. polyrob-1.2.0/data/prompts/skills/treasury-trading/SKILL.md +496 -0
  502. polyrob-1.2.0/data/prompts/skills/verified-tooling/SKILL.md +61 -0
  503. polyrob-1.2.0/data/prompts/skills/web-research/SKILL.md +41 -0
  504. polyrob-1.2.0/data/prompts/skills/x402-pay/SKILL.md +90 -0
  505. polyrob-1.2.0/docs/CONFIGURATION.md +1489 -0
  506. polyrob-1.2.0/docs/guide/api.md +652 -0
  507. polyrob-1.2.0/docs/guide/architecture.md +237 -0
  508. polyrob-1.2.0/docs/guide/cli.md +856 -0
  509. polyrob-1.2.0/docs/guide/configuration.md +769 -0
  510. polyrob-1.2.0/docs/guide/console.md +200 -0
  511. polyrob-1.2.0/docs/guide/conversation.md +65 -0
  512. polyrob-1.2.0/docs/guide/feishu-dingtalk.md +109 -0
  513. polyrob-1.2.0/docs/guide/getting-started.md +414 -0
  514. polyrob-1.2.0/docs/guide/groups.md +582 -0
  515. polyrob-1.2.0/docs/guide/instances.md +250 -0
  516. polyrob-1.2.0/docs/guide/owner-controls.md +367 -0
  517. polyrob-1.2.0/docs/guide/packs.md +140 -0
  518. polyrob-1.2.0/docs/guide/payments.md +1476 -0
  519. polyrob-1.2.0/docs/guide/security-model.md +448 -0
  520. polyrob-1.2.0/docs/guide/self-hosting.md +454 -0
  521. polyrob-1.2.0/docs/guide/skills.md +301 -0
  522. polyrob-1.2.0/docs/guide/streams.md +344 -0
  523. polyrob-1.2.0/docs/guide/x-twitter.md +132 -0
  524. polyrob-1.2.0/migrations/migrate.py +281 -0
  525. polyrob-1.2.0/migrations/version_manager.py +239 -0
  526. polyrob-1.2.0/migrations/versions/v1_10_0_usage_records_cache_creation.py +106 -0
  527. polyrob-1.2.0/modules/README.md +507 -0
  528. polyrob-1.2.0/modules/auth/identity_mapper.py +336 -0
  529. polyrob-1.2.0/modules/auth/siwe_auth.py +395 -0
  530. polyrob-1.2.0/modules/avatar/__init__.py +1 -0
  531. polyrob-1.2.0/modules/avatar/push.py +123 -0
  532. polyrob-1.2.0/modules/cards/__init__.py +1 -0
  533. polyrob-1.2.0/modules/cards/cards.py +392 -0
  534. polyrob-1.2.0/modules/credits/balances.py +79 -0
  535. polyrob-1.2.0/modules/credits/pricing.py +255 -0
  536. polyrob-1.2.0/modules/credits/unified_ledger.py +398 -0
  537. polyrob-1.2.0/modules/credits/usage_tracker.py +867 -0
  538. polyrob-1.2.0/modules/database/auth_tables.py +362 -0
  539. polyrob-1.2.0/modules/eip8004/README.md +1090 -0
  540. polyrob-1.2.0/modules/eip8004/models.py +319 -0
  541. polyrob-1.2.0/modules/eip8004/registration.py +298 -0
  542. polyrob-1.2.0/modules/eip8004/reputation.py +625 -0
  543. polyrob-1.2.0/modules/llm/adapters.py +1107 -0
  544. polyrob-1.2.0/modules/llm/anthropic_client.py +921 -0
  545. polyrob-1.2.0/modules/llm/anthropic_sampling.py +156 -0
  546. polyrob-1.2.0/modules/llm/aux_metering.py +171 -0
  547. polyrob-1.2.0/modules/llm/cache_hints.py +458 -0
  548. polyrob-1.2.0/modules/llm/compat_anthropic.py +101 -0
  549. polyrob-1.2.0/modules/llm/compat_clients.py +151 -0
  550. polyrob-1.2.0/modules/llm/deepseek_client.py +560 -0
  551. polyrob-1.2.0/modules/llm/deferred_tools.py +540 -0
  552. polyrob-1.2.0/modules/llm/gemini_client.py +1361 -0
  553. polyrob-1.2.0/modules/llm/llm_client_registry.py +291 -0
  554. polyrob-1.2.0/modules/llm/llm_factory.py +298 -0
  555. polyrob-1.2.0/modules/llm/llm_manager.py +861 -0
  556. polyrob-1.2.0/modules/llm/messages.py +416 -0
  557. polyrob-1.2.0/modules/llm/model_catalog.py +1591 -0
  558. polyrob-1.2.0/modules/llm/model_pricing.py +65 -0
  559. polyrob-1.2.0/modules/llm/model_registry.py +427 -0
  560. polyrob-1.2.0/modules/llm/model_types.py +260 -0
  561. polyrob-1.2.0/modules/llm/openai_client.py +901 -0
  562. polyrob-1.2.0/modules/llm/openrouter_client.py +960 -0
  563. polyrob-1.2.0/modules/llm/openrouter_reasoning.py +110 -0
  564. polyrob-1.2.0/modules/llm/prefix_stamp.py +105 -0
  565. polyrob-1.2.0/modules/llm/responses_client.py +275 -0
  566. polyrob-1.2.0/modules/llm/seat_probe.py +220 -0
  567. polyrob-1.2.0/modules/llm/token_counter.py +274 -0
  568. polyrob-1.2.0/modules/llm/usage_extract.py +280 -0
  569. polyrob-1.2.0/modules/memory/backend_factory.py +95 -0
  570. polyrob-1.2.0/modules/memory/cache_manager.py +207 -0
  571. polyrob-1.2.0/modules/memory/episodic.py +125 -0
  572. polyrob-1.2.0/modules/memory/local_vector_memory_provider.py +690 -0
  573. polyrob-1.2.0/modules/memory/recall_consolidation.py +292 -0
  574. polyrob-1.2.0/modules/memory/registry.py +273 -0
  575. polyrob-1.2.0/modules/memory/scope.py +277 -0
  576. polyrob-1.2.0/modules/memory/sqlite_curated_store.py +353 -0
  577. polyrob-1.2.0/modules/memory/sqlite_memory_provider.py +466 -0
  578. polyrob-1.2.0/modules/memory/sqlite_scope_store.py +254 -0
  579. polyrob-1.2.0/modules/memory/task/__init__.py +49 -0
  580. polyrob-1.2.0/modules/memory/task/hierarchical_memory.py +787 -0
  581. polyrob-1.2.0/modules/memory/task/semantic_retriever.py +233 -0
  582. polyrob-1.2.0/modules/memory/task/task_context_manager.py +1106 -0
  583. polyrob-1.2.0/modules/payments/deposit_monitor.py +510 -0
  584. polyrob-1.2.0/modules/payments/treasury_sweeper.py +411 -0
  585. polyrob-1.2.0/modules/payments/wallet_generator.py +140 -0
  586. polyrob-1.2.0/modules/x402/inbound_receipts.py +53 -0
  587. polyrob-1.2.0/modules/x402/invoice_jitter.py +358 -0
  588. polyrob-1.2.0/modules/x402/invoicing.py +1169 -0
  589. polyrob-1.2.0/modules/x402/middleware.py +509 -0
  590. polyrob-1.2.0/modules/x402/onchain_probe.py +144 -0
  591. polyrob-1.2.0/modules/x402/settlement_scan.py +952 -0
  592. polyrob-1.2.0/modules/x402/settlement_subscriptions.py +304 -0
  593. polyrob-1.2.0/modules/x402/solana_settlement.py +164 -0
  594. polyrob-1.2.0/modules/x402/subscriptions.py +565 -0
  595. polyrob-1.2.0/modules/x402/x402_integration.py +572 -0
  596. polyrob-1.2.0/packs/discovery/polyrob_discovery/__init__.py +32 -0
  597. polyrob-1.2.0/packs/discovery/polyrob_discovery/anysite/client.py +241 -0
  598. polyrob-1.2.0/packs/discovery/polyrob_discovery/anysite/tool.py +253 -0
  599. polyrob-1.2.0/packs/discovery/polyrob_discovery/pack.toml +48 -0
  600. polyrob-1.2.0/packs/discovery/polyrob_discovery/perplexity.py +322 -0
  601. polyrob-1.2.0/packs/discovery/polyrob_discovery/skills/rules.json +62 -0
  602. polyrob-1.2.0/packs/discovery/polyrob_discovery/skills/web-scraping/SKILL.md +73 -0
  603. polyrob-1.2.0/packs/markets/polyrob_markets/__init__.py +36 -0
  604. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/__init__.py +56 -0
  605. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/models.py +78 -0
  606. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/remote_signing.py +39 -0
  607. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/routes.py +470 -0
  608. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/service.py +1833 -0
  609. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/store.py +375 -0
  610. polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/store_models.py +187 -0
  611. polyrob-1.2.0/packs/markets/polyrob_markets/pack.toml +220 -0
  612. polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/__init__.py +41 -0
  613. polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/models.py +41 -0
  614. polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/routes.py +505 -0
  615. polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/service.py +2152 -0
  616. polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/store.py +574 -0
  617. polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/store_models.py +165 -0
  618. polyrob-1.2.0/packs/markets/polyrob_markets/registration.py +61 -0
  619. polyrob-1.2.0/packs/markets/polyrob_markets/skills/hyperliquid-account-review/SKILL.md +53 -0
  620. polyrob-1.2.0/packs/markets/polyrob_markets/skills/hyperliquid-market-data/SKILL.md +52 -0
  621. polyrob-1.2.0/packs/markets/polyrob_markets/skills/hyperliquid-trading/SKILL.md +111 -0
  622. polyrob-1.2.0/packs/markets/polyrob_markets/skills/polymarket-market-research/SKILL.md +57 -0
  623. polyrob-1.2.0/packs/markets/polyrob_markets/skills/polymarket-portfolio-review/SKILL.md +59 -0
  624. polyrob-1.2.0/packs/markets/polyrob_markets/skills/polymarket-trading/SKILL.md +95 -0
  625. polyrob-1.2.0/packs/markets/polyrob_markets/skills/rules.json +169 -0
  626. polyrob-1.2.0/packs/markets/polyrob_markets/trade_gate.py +203 -0
  627. polyrob-1.2.0/packs/x/polyrob_x/__init__.py +81 -0
  628. polyrob-1.2.0/packs/x/polyrob_x/commands/x.py +86 -0
  629. polyrob-1.2.0/packs/x/polyrob_x/commands/x_account.py +499 -0
  630. polyrob-1.2.0/packs/x/polyrob_x/console_routes.py +107 -0
  631. polyrob-1.2.0/packs/x/polyrob_x/cron_delivery.py +41 -0
  632. polyrob-1.2.0/packs/x/polyrob_x/owner_verbs.py +157 -0
  633. polyrob-1.2.0/packs/x/polyrob_x/pack.toml +137 -0
  634. polyrob-1.2.0/packs/x/polyrob_x/registration.py +49 -0
  635. polyrob-1.2.0/packs/x/polyrob_x/skills/rules.json +100 -0
  636. polyrob-1.2.0/packs/x/polyrob_x/skills/social-discovery/SKILL.md +60 -0
  637. polyrob-1.2.0/packs/x/polyrob_x/skills/x-engagement/SKILL.md +154 -0
  638. polyrob-1.2.0/packs/x/polyrob_x/status.py +69 -0
  639. polyrob-1.2.0/packs/x/polyrob_x/surface/client.py +293 -0
  640. polyrob-1.2.0/packs/x/polyrob_x/surface/harness.py +91 -0
  641. polyrob-1.2.0/packs/x/polyrob_x/surface/launch.py +24 -0
  642. polyrob-1.2.0/packs/x/polyrob_x/surface/poller.py +223 -0
  643. polyrob-1.2.0/packs/x/polyrob_x/surface/probe.py +72 -0
  644. polyrob-1.2.0/packs/x/polyrob_x/twitter_tool.py +2870 -0
  645. polyrob-1.2.0/packs/x/polyrob_x/x_browser/__init__.py +28 -0
  646. polyrob-1.2.0/packs/x/polyrob_x/x_browser/driver.py +353 -0
  647. polyrob-1.2.0/packs/x/polyrob_x/x_browser/escalation.py +134 -0
  648. polyrob-1.2.0/packs/x/polyrob_x/x_browser/registration.py +41 -0
  649. polyrob-1.2.0/packs/x/polyrob_x/x_browser/session_store.py +78 -0
  650. polyrob-1.2.0/packs/x/polyrob_x/x_browser/signup.py +266 -0
  651. polyrob-1.2.0/packs/x/polyrob_x/x_browser/tool.py +579 -0
  652. polyrob-1.2.0/packs/x/polyrob_x/x_login_flow.py +258 -0
  653. polyrob-1.2.0/packs/x/polyrob_x/x_oauth2.py +599 -0
  654. polyrob-1.2.0/polyrob.egg-info/PKG-INFO +606 -0
  655. polyrob-1.2.0/polyrob.egg-info/SOURCES.txt +1648 -0
  656. polyrob-1.2.0/polyrob.egg-info/entry_points.txt +7 -0
  657. polyrob-1.2.0/polyrob.egg-info/requires.txt +104 -0
  658. polyrob-1.2.0/polyrob.egg-info/top_level.txt +17 -0
  659. polyrob-1.2.0/pyproject.toml +152 -0
  660. polyrob-1.2.0/requirements.lock +4690 -0
  661. polyrob-1.2.0/surfaces/README.md +108 -0
  662. polyrob-1.2.0/surfaces/_actor.py +38 -0
  663. polyrob-1.2.0/surfaces/_launch.py +70 -0
  664. polyrob-1.2.0/surfaces/_probe.py +64 -0
  665. polyrob-1.2.0/surfaces/_shared.py +196 -0
  666. polyrob-1.2.0/surfaces/card_builder.py +278 -0
  667. polyrob-1.2.0/surfaces/dingtalk/__init__.py +3 -0
  668. polyrob-1.2.0/surfaces/dingtalk/client.py +222 -0
  669. polyrob-1.2.0/surfaces/dingtalk/events.py +90 -0
  670. polyrob-1.2.0/surfaces/dingtalk/harness.py +74 -0
  671. polyrob-1.2.0/surfaces/dingtalk/launch.py +19 -0
  672. polyrob-1.2.0/surfaces/dingtalk/probe.py +31 -0
  673. polyrob-1.2.0/surfaces/dingtalk/stream.py +181 -0
  674. polyrob-1.2.0/surfaces/dingtalk/surface.py +68 -0
  675. polyrob-1.2.0/surfaces/discord/gateway.py +221 -0
  676. polyrob-1.2.0/surfaces/discord/harness.py +72 -0
  677. polyrob-1.2.0/surfaces/discord/launch.py +14 -0
  678. polyrob-1.2.0/surfaces/discord/probe.py +16 -0
  679. polyrob-1.2.0/surfaces/email/fetchers.py +303 -0
  680. polyrob-1.2.0/surfaces/email/harness.py +364 -0
  681. polyrob-1.2.0/surfaces/email/launch.py +59 -0
  682. polyrob-1.2.0/surfaces/email/probe.py +44 -0
  683. polyrob-1.2.0/surfaces/feishu/__init__.py +3 -0
  684. polyrob-1.2.0/surfaces/feishu/cards.py +111 -0
  685. polyrob-1.2.0/surfaces/feishu/client.py +222 -0
  686. polyrob-1.2.0/surfaces/feishu/events.py +142 -0
  687. polyrob-1.2.0/surfaces/feishu/harness.py +140 -0
  688. polyrob-1.2.0/surfaces/feishu/launch.py +55 -0
  689. polyrob-1.2.0/surfaces/feishu/probe.py +47 -0
  690. polyrob-1.2.0/surfaces/feishu/surface.py +109 -0
  691. polyrob-1.2.0/surfaces/feishu/webhook.py +191 -0
  692. polyrob-1.2.0/surfaces/feishu/ws.py +125 -0
  693. polyrob-1.2.0/surfaces/inbox_sources.py +287 -0
  694. polyrob-1.2.0/surfaces/signal/client.py +143 -0
  695. polyrob-1.2.0/surfaces/signal/harness.py +67 -0
  696. polyrob-1.2.0/surfaces/signal/launch.py +17 -0
  697. polyrob-1.2.0/surfaces/signal/probe.py +23 -0
  698. polyrob-1.2.0/surfaces/signal/surface.py +156 -0
  699. polyrob-1.2.0/surfaces/slack/harness.py +79 -0
  700. polyrob-1.2.0/surfaces/slack/launch.py +17 -0
  701. polyrob-1.2.0/surfaces/slack/probe.py +21 -0
  702. polyrob-1.2.0/surfaces/slack/socket_mode.py +167 -0
  703. polyrob-1.2.0/surfaces/telegram/actions.py +91 -0
  704. polyrob-1.2.0/surfaces/telegram/card_ops.py +204 -0
  705. polyrob-1.2.0/surfaces/telegram/check_ops.py +160 -0
  706. polyrob-1.2.0/surfaces/telegram/dev_rail.py +147 -0
  707. polyrob-1.2.0/surfaces/telegram/group_ops.py +1020 -0
  708. polyrob-1.2.0/surfaces/telegram/harness.py +3647 -0
  709. polyrob-1.2.0/surfaces/telegram/history_ops.py +63 -0
  710. polyrob-1.2.0/surfaces/telegram/holdings_ops.py +38 -0
  711. polyrob-1.2.0/surfaces/telegram/inbound.py +300 -0
  712. polyrob-1.2.0/surfaces/telegram/launch.py +21 -0
  713. polyrob-1.2.0/surfaces/telegram/nft_ops.py +213 -0
  714. polyrob-1.2.0/surfaces/telegram/owner_ops.py +1192 -0
  715. polyrob-1.2.0/surfaces/telegram/pay_ops.py +115 -0
  716. polyrob-1.2.0/surfaces/telegram/probe.py +15 -0
  717. polyrob-1.2.0/surfaces/telegram/rail_ops.py +434 -0
  718. polyrob-1.2.0/surfaces/telegram/send_ops.py +386 -0
  719. polyrob-1.2.0/surfaces/telegram/surface.py +414 -0
  720. polyrob-1.2.0/surfaces/telegram/swap_ops.py +223 -0
  721. polyrob-1.2.0/surfaces/telegram/token_ops.py +298 -0
  722. polyrob-1.2.0/surfaces/telegram/why_ops.py +70 -0
  723. {polyrob-1.1.0/tools/controller → polyrob-1.2.0/surfaces/whatsapp}/__init__.py +0 -0
  724. polyrob-1.2.0/surfaces/whatsapp/inbound.py +137 -0
  725. polyrob-1.2.0/surfaces/whatsapp/launch.py +26 -0
  726. polyrob-1.2.0/surfaces/whatsapp/probe.py +20 -0
  727. polyrob-1.2.0/surfaces/whatsapp/surface.py +59 -0
  728. polyrob-1.2.0/tests/test_autonomy_control_ratchet.py +143 -0
  729. polyrob-1.2.0/tests/test_base_deps_ratchet.py +56 -0
  730. polyrob-1.2.0/tests/test_board_create_grant_ratchet.py +74 -0
  731. polyrob-1.2.0/tests/test_browser_launch_ratchet.py +55 -0
  732. polyrob-1.2.0/tests/test_changelog_release.py +146 -0
  733. polyrob-1.2.0/tests/test_conftest_operator_env_guard.py +113 -0
  734. polyrob-1.2.0/tests/test_core_platform_boundary.py +277 -0
  735. polyrob-1.2.0/tests/test_effect_classification_ratchet.py +325 -0
  736. polyrob-1.2.0/tests/test_event_kind_contract.py +148 -0
  737. polyrob-1.2.0/tests/test_file_size_ratchet.py +147 -0
  738. polyrob-1.2.0/tests/test_flag_count_ratchet.py +185 -0
  739. polyrob-1.2.0/tests/test_flag_retirement.py +47 -0
  740. polyrob-1.2.0/tests/test_foundation_order_ratchet.py +142 -0
  741. polyrob-1.2.0/tests/test_history_mutation_ratchet.py +98 -0
  742. polyrob-1.2.0/tests/test_instruction_surface_ratchet.py +30 -0
  743. polyrob-1.2.0/tests/test_knowledge_section_ratchet.py +57 -0
  744. polyrob-1.2.0/tests/test_layering_ratchet.py +263 -0
  745. polyrob-1.2.0/tests/test_owner_context_ratchet.py +96 -0
  746. polyrob-1.2.0/tests/test_rate_limiter_ratchet.py +84 -0
  747. polyrob-1.2.0/tests/test_remedy_grammar_ratchet.py +74 -0
  748. polyrob-1.2.0/tests/test_retired_pack_dist_names_ratchet.py +74 -0
  749. polyrob-1.2.0/tests/test_room_safety_ratchet.py +198 -0
  750. polyrob-1.2.0/tests/test_rule_render_ratchet.py +14 -0
  751. polyrob-1.2.0/tests/test_schema_version.py +60 -0
  752. polyrob-1.2.0/tests/test_status_silence_ratchet.py +115 -0
  753. polyrob-1.2.0/tests/test_verb_policy_literal_ratchet.py +104 -0
  754. polyrob-1.2.0/tests/test_version_consistency.py +129 -0
  755. polyrob-1.2.0/tools/README.md +576 -0
  756. polyrob-1.2.0/tools/__init__.py +406 -0
  757. polyrob-1.2.0/tools/agent_nft/__init__.py +30 -0
  758. polyrob-1.2.0/tools/agent_nft/guarded.py +104 -0
  759. polyrob-1.2.0/tools/agent_nft/registration.py +33 -0
  760. polyrob-1.2.0/tools/agent_nft/reveal.py +274 -0
  761. polyrob-1.2.0/tools/agent_nft/tool.py +327 -0
  762. polyrob-1.2.0/tools/agent_nft/withdraw.py +133 -0
  763. polyrob-1.2.0/tools/alchemy/alchemy_tool.py +404 -0
  764. polyrob-1.2.0/tools/app_service/tool.py +333 -0
  765. polyrob-1.2.0/tools/avatar_sources.py +129 -0
  766. polyrob-1.2.0/tools/browser/browser.py +1588 -0
  767. polyrob-1.2.0/tools/browser/child_env.py +129 -0
  768. polyrob-1.2.0/tools/code_exec/backends/docker.py +1186 -0
  769. polyrob-1.2.0/tools/code_exec/backends/local_subprocess.py +160 -0
  770. polyrob-1.2.0/tools/code_exec/backends/ssh.py +322 -0
  771. polyrob-1.2.0/tools/code_exec/limits.py +52 -0
  772. polyrob-1.2.0/tools/code_exec/result.py +47 -0
  773. polyrob-1.2.0/tools/code_exec/tool.py +222 -0
  774. polyrob-1.2.0/tools/coding/edit.py +357 -0
  775. polyrob-1.2.0/tools/coding/lsp.py +220 -0
  776. polyrob-1.2.0/tools/coding/search.py +153 -0
  777. polyrob-1.2.0/tools/coding/textio.py +147 -0
  778. polyrob-1.2.0/tools/coding/tool.py +694 -0
  779. polyrob-1.2.0/tools/controller/_helpers.py +270 -0
  780. polyrob-1.2.0/tools/controller/action_registration.py +1971 -0
  781. polyrob-1.2.0/tools/controller/agent_status_action.py +221 -0
  782. polyrob-1.2.0/tools/controller/approval.py +553 -0
  783. polyrob-1.2.0/tools/controller/approval_interactive.py +330 -0
  784. polyrob-1.2.0/tools/controller/approval_queue.py +1267 -0
  785. polyrob-1.2.0/tools/controller/autonomy_control_action.py +142 -0
  786. polyrob-1.2.0/tools/controller/avatar_action.py +197 -0
  787. polyrob-1.2.0/tools/controller/card_actions.py +215 -0
  788. polyrob-1.2.0/tools/controller/delegation.py +208 -0
  789. polyrob-1.2.0/tools/controller/doc_authoring.py +558 -0
  790. polyrob-1.2.0/tools/controller/effect_hooks.py +185 -0
  791. polyrob-1.2.0/tools/controller/execution.py +971 -0
  792. polyrob-1.2.0/tools/controller/financial_claim_gate.py +189 -0
  793. polyrob-1.2.0/tools/controller/grant_card.py +193 -0
  794. polyrob-1.2.0/tools/controller/insights_action.py +60 -0
  795. polyrob-1.2.0/tools/controller/introspection.py +322 -0
  796. polyrob-1.2.0/tools/controller/mcp_registrar.py +196 -0
  797. polyrob-1.2.0/tools/controller/message_send.py +602 -0
  798. polyrob-1.2.0/tools/controller/owner_ask_action.py +289 -0
  799. polyrob-1.2.0/tools/controller/refusal_taint_gate.py +172 -0
  800. polyrob-1.2.0/tools/controller/registry/schema_generators.py +440 -0
  801. polyrob-1.2.0/tools/controller/registry/service.py +1539 -0
  802. polyrob-1.2.0/tools/controller/room_read_action.py +253 -0
  803. polyrob-1.2.0/tools/controller/service.py +750 -0
  804. polyrob-1.2.0/tools/controller/tool_call_bridge.py +167 -0
  805. polyrob-1.2.0/tools/controller/tool_load_report.py +167 -0
  806. polyrob-1.2.0/tools/controller/tool_management.py +439 -0
  807. polyrob-1.2.0/tools/controller/turn_origin.py +327 -0
  808. polyrob-1.2.0/tools/controller/views.py +498 -0
  809. polyrob-1.2.0/tools/controller/wallet_authority.py +24 -0
  810. polyrob-1.2.0/tools/controller/worker_manage_action.py +123 -0
  811. polyrob-1.2.0/tools/cronjob_tools.py +479 -0
  812. polyrob-1.2.0/tools/dapp_browser/bridge.py +749 -0
  813. polyrob-1.2.0/tools/dapp_browser/js.py +152 -0
  814. polyrob-1.2.0/tools/dapp_browser/tool.py +432 -0
  815. polyrob-1.2.0/tools/defi/__init__.py +68 -0
  816. polyrob-1.2.0/tools/defi/account_mode.py +121 -0
  817. polyrob-1.2.0/tools/defi/agent_registration.py +319 -0
  818. polyrob-1.2.0/tools/defi/book.py +413 -0
  819. polyrob-1.2.0/tools/defi/bridge_evm_leg.py +264 -0
  820. polyrob-1.2.0/tools/defi/bridge_verb.py +920 -0
  821. polyrob-1.2.0/tools/defi/call_verb.py +323 -0
  822. polyrob-1.2.0/tools/defi/data_tool.py +3492 -0
  823. polyrob-1.2.0/tools/defi/deploy_verb.py +520 -0
  824. polyrob-1.2.0/tools/defi/identity_gate.py +328 -0
  825. polyrob-1.2.0/tools/defi/lp_v4.py +284 -0
  826. polyrob-1.2.0/tools/defi/lp_v4_verbs.py +198 -0
  827. polyrob-1.2.0/tools/defi/lp_verbs.py +400 -0
  828. polyrob-1.2.0/tools/defi/payment_quote.py +178 -0
  829. polyrob-1.2.0/tools/defi/pool_metrics.py +176 -0
  830. polyrob-1.2.0/tools/defi/positions_view.py +352 -0
  831. polyrob-1.2.0/tools/defi/price_sources.py +219 -0
  832. polyrob-1.2.0/tools/defi/providers/_http.py +100 -0
  833. polyrob-1.2.0/tools/defi/providers/alchemy_index.py +178 -0
  834. polyrob-1.2.0/tools/defi/providers/base.py +179 -0
  835. polyrob-1.2.0/tools/defi/providers/dexscreener.py +289 -0
  836. polyrob-1.2.0/tools/defi/providers/geckoterminal.py +679 -0
  837. polyrob-1.2.0/tools/defi/providers/goplus.py +465 -0
  838. polyrob-1.2.0/tools/defi/providers/jupiter.py +185 -0
  839. polyrob-1.2.0/tools/defi/providers/jupiter_price.py +62 -0
  840. polyrob-1.2.0/tools/defi/providers/routes/__init__.py +409 -0
  841. polyrob-1.2.0/tools/defi/providers/token_audits.py +235 -0
  842. polyrob-1.2.0/tools/defi/providers/univ3.py +233 -0
  843. polyrob-1.2.0/tools/defi/reconcile.py +478 -0
  844. polyrob-1.2.0/tools/defi/signer_entry.py +67 -0
  845. polyrob-1.2.0/tools/defi/solana_send_verb.py +537 -0
  846. polyrob-1.2.0/tools/defi/spl_deploy_verb.py +398 -0
  847. polyrob-1.2.0/tools/defi/token_identity_ask.py +306 -0
  848. polyrob-1.2.0/tools/defi/token_screen.py +974 -0
  849. polyrob-1.2.0/tools/defi/trade_tool.py +3203 -0
  850. polyrob-1.2.0/tools/defi/wallet_intel.py +283 -0
  851. polyrob-1.2.0/tools/descriptors.py +384 -0
  852. polyrob-1.2.0/tools/document_parser.py +107 -0
  853. polyrob-1.2.0/tools/dom/__init__.py +0 -0
  854. polyrob-1.2.0/tools/email_tool.py +1065 -0
  855. polyrob-1.2.0/tools/filesystem.py +1414 -0
  856. polyrob-1.2.0/tools/filesystem_doc_kind.py +69 -0
  857. polyrob-1.2.0/tools/filesystem_docproc.py +349 -0
  858. polyrob-1.2.0/tools/filesystem_pdf.py +501 -0
  859. polyrob-1.2.0/tools/git/tool.py +271 -0
  860. polyrob-1.2.0/tools/github/tool.py +249 -0
  861. polyrob-1.2.0/tools/goal_tools.py +945 -0
  862. polyrob-1.2.0/tools/hf_deploy/__init__.py +83 -0
  863. polyrob-1.2.0/tools/hf_deploy/broker.py +281 -0
  864. polyrob-1.2.0/tools/hf_deploy/digest.py +97 -0
  865. polyrob-1.2.0/tools/hf_deploy/tool.py +338 -0
  866. polyrob-1.2.0/tools/kb_autoingest.py +221 -0
  867. polyrob-1.2.0/tools/knowledge_ingest.py +876 -0
  868. polyrob-1.2.0/tools/launchpad/execute.py +255 -0
  869. polyrob-1.2.0/tools/launchpad/provenance.py +51 -0
  870. polyrob-1.2.0/tools/launchpad/tool.py +719 -0
  871. polyrob-1.2.0/tools/mcp/mcp_tool.py +1420 -0
  872. polyrob-1.2.0/tools/mcp/protocol.py +1694 -0
  873. polyrob-1.2.0/tools/mcp/server_manager.py +859 -0
  874. polyrob-1.2.0/tools/mcp/user_mcp_service.py +954 -0
  875. polyrob-1.2.0/tools/publish/tool.py +225 -0
  876. polyrob-1.2.0/tools/self_env/tool.py +263 -0
  877. polyrob-1.2.0/tools/tool_disclosure.py +365 -0
  878. polyrob-1.2.0/tools/tool_search.py +297 -0
  879. polyrob-1.2.0/tools/web_fetch/fetcher.py +159 -0
  880. polyrob-1.2.0/tools/x402/client.py +57 -0
  881. polyrob-1.2.0/tools/x402/discovery.py +337 -0
  882. polyrob-1.2.0/tools/x402/invoice_tool.py +276 -0
  883. polyrob-1.2.0/tools/x402/net_guard.py +121 -0
  884. polyrob-1.2.0/tools/x402/real_client.py +986 -0
  885. polyrob-1.2.0/tools/x402/service.py +477 -0
  886. polyrob-1.2.0/tools/x402/spend_gate.py +98 -0
  887. polyrob-1.2.0/utils/gif_utils.py +450 -0
  888. polyrob-1.2.0/webview/activity.py +703 -0
  889. polyrob-1.2.0/webview/artifacts_api.py +104 -0
  890. polyrob-1.2.0/webview/cards_routes.py +157 -0
  891. polyrob-1.2.0/webview/chat_open.py +347 -0
  892. polyrob-1.2.0/webview/console_commands.py +228 -0
  893. polyrob-1.2.0/webview/contributions.py +64 -0
  894. polyrob-1.2.0/webview/copy/__init__.py +36 -0
  895. polyrob-1.2.0/webview/copy/en.py +1332 -0
  896. polyrob-1.2.0/webview/error_page.py +72 -0
  897. polyrob-1.2.0/webview/feed_routes.py +166 -0
  898. polyrob-1.2.0/webview/host_guard.py +139 -0
  899. polyrob-1.2.0/webview/knowledge.py +292 -0
  900. polyrob-1.2.0/webview/owner_login_flow.py +60 -0
  901. polyrob-1.2.0/webview/pack_console.py +158 -0
  902. polyrob-1.2.0/webview/pages.py +1755 -0
  903. polyrob-1.2.0/webview/pages_new.py +1807 -0
  904. polyrob-1.2.0/webview/posture_guard.py +283 -0
  905. polyrob-1.2.0/webview/server.py +3192 -0
  906. polyrob-1.2.0/webview/session_catalog.py +103 -0
  907. polyrob-1.2.0/webview/socket_limits.py +46 -0
  908. polyrob-1.2.0/webview/static/app/agent.js +1355 -0
  909. polyrob-1.2.0/webview/static/app/app.css +591 -0
  910. polyrob-1.2.0/webview/static/app/cards.js +117 -0
  911. polyrob-1.2.0/webview/static/app/chat-open.js +125 -0
  912. polyrob-1.2.0/webview/static/app/chats.js +230 -0
  913. polyrob-1.2.0/webview/static/app/http.js +103 -0
  914. polyrob-1.2.0/webview/static/app/live.js +144 -0
  915. polyrob-1.2.0/webview/static/app/money-move.js +135 -0
  916. polyrob-1.2.0/webview/static/app/money-tokens.js +222 -0
  917. polyrob-1.2.0/webview/static/app/money.js +1381 -0
  918. polyrob-1.2.0/webview/static/app/pause.js +168 -0
  919. polyrob-1.2.0/webview/static/app/transcript.js +891 -0
  920. polyrob-1.2.0/webview/static/app/verbs.en.json +398 -0
  921. polyrob-1.2.0/webview/static/app/workpane.js +544 -0
  922. polyrob-1.2.0/webview/static/css/components.css +1188 -0
  923. polyrob-1.2.0/webview/static/css/webgate.css +649 -0
  924. polyrob-1.2.0/webview/template_globals.py +71 -0
  925. polyrob-1.2.0/webview/templates/agent.html +277 -0
  926. polyrob-1.2.0/webview/templates/chat.html +219 -0
  927. polyrob-1.2.0/webview/templates/error.html +45 -0
  928. polyrob-1.2.0/webview/templates/inbox.html +163 -0
  929. polyrob-1.2.0/webview/templates/money.html +295 -0
  930. polyrob-1.2.0/webview/templates/owner_login.html +15 -0
  931. polyrob-1.2.0/webview/templates/shell.html +199 -0
  932. polyrob-1.2.0/webview/templates/work.html +279 -0
  933. polyrob-1.2.0/webview/tokens_routes.py +87 -0
  934. polyrob-1.2.0/webview/worklog_api.py +150 -0
  935. polyrob-1.2.0/webview/workspace_routes.py +138 -0
  936. polyrob-1.1.0/MANIFEST.in +0 -23
  937. polyrob-1.1.0/PKG-INFO +0 -565
  938. polyrob-1.1.0/README.md +0 -471
  939. polyrob-1.1.0/agents/README.md +0 -453
  940. polyrob-1.1.0/agents/__init__.py +0 -161
  941. polyrob-1.1.0/agents/base_agent.py +0 -738
  942. polyrob-1.1.0/agents/personality/character_manager.py +0 -313
  943. polyrob-1.1.0/agents/prompt/__init__.py +0 -58
  944. polyrob-1.1.0/agents/prompt/base_prompt.py +0 -92
  945. polyrob-1.1.0/agents/prompt/system.py +0 -354
  946. polyrob-1.1.0/agents/task/__init__.py +0 -162
  947. polyrob-1.1.0/agents/task/agent/async_delegation.py +0 -342
  948. polyrob-1.1.0/agents/task/agent/conversation.py +0 -75
  949. polyrob-1.1.0/agents/task/agent/core/background_review.py +0 -192
  950. polyrob-1.1.0/agents/task/agent/core/construction.py +0 -1492
  951. polyrob-1.1.0/agents/task/agent/core/correspondent_gate.py +0 -463
  952. polyrob-1.1.0/agents/task/agent/core/curator.py +0 -329
  953. polyrob-1.1.0/agents/task/agent/core/env_context.py +0 -112
  954. polyrob-1.1.0/agents/task/agent/core/episodic_digest.py +0 -103
  955. polyrob-1.1.0/agents/task/agent/core/live_health.py +0 -70
  956. polyrob-1.1.0/agents/task/agent/core/llm_runner.py +0 -688
  957. polyrob-1.1.0/agents/task/agent/core/logging_io.py +0 -276
  958. polyrob-1.1.0/agents/task/agent/core/loop_detection.py +0 -319
  959. polyrob-1.1.0/agents/task/agent/core/memory_prefetch.py +0 -348
  960. polyrob-1.1.0/agents/task/agent/core/memory_writer.py +0 -417
  961. polyrob-1.1.0/agents/task/agent/core/model_swap.py +0 -195
  962. polyrob-1.1.0/agents/task/agent/core/next_action_internal.py +0 -1568
  963. polyrob-1.1.0/agents/task/agent/core/output_validation.py +0 -319
  964. polyrob-1.1.0/agents/task/agent/core/project_context.py +0 -298
  965. polyrob-1.1.0/agents/task/agent/core/result_budget.py +0 -60
  966. polyrob-1.1.0/agents/task/agent/core/result_offload.py +0 -242
  967. polyrob-1.1.0/agents/task/agent/core/result_processing.py +0 -457
  968. polyrob-1.1.0/agents/task/agent/core/run_loop.py +0 -767
  969. polyrob-1.1.0/agents/task/agent/core/runtime_catalog.py +0 -17
  970. polyrob-1.1.0/agents/task/agent/core/step.py +0 -916
  971. polyrob-1.1.0/agents/task/agent/core/step_execution.py +0 -416
  972. polyrob-1.1.0/agents/task/agent/core/step_telemetry.py +0 -216
  973. polyrob-1.1.0/agents/task/agent/core/tool_availability.py +0 -144
  974. polyrob-1.1.0/agents/task/agent/core/untrusted_render.py +0 -95
  975. polyrob-1.1.0/agents/task/agent/core/user_ingress.py +0 -352
  976. polyrob-1.1.0/agents/task/agent/message_manager/service.py +0 -850
  977. polyrob-1.1.0/agents/task/agent/messages/builders.py +0 -309
  978. polyrob-1.1.0/agents/task/agent/messages/compactor.py +0 -686
  979. polyrob-1.1.0/agents/task/agent/messages/context_references.py +0 -271
  980. polyrob-1.1.0/agents/task/agent/messages/filters.py +0 -343
  981. polyrob-1.1.0/agents/task/agent/messages/guidance.py +0 -328
  982. polyrob-1.1.0/agents/task/agent/messages/persistence.py +0 -490
  983. polyrob-1.1.0/agents/task/agent/messages/retrieval.py +0 -611
  984. polyrob-1.1.0/agents/task/agent/messages/token_counter.py +0 -663
  985. polyrob-1.1.0/agents/task/agent/profile_manager.py +0 -105
  986. polyrob-1.1.0/agents/task/agent/profile_store.py +0 -413
  987. polyrob-1.1.0/agents/task/agent/prompts.py +0 -1488
  988. polyrob-1.1.0/agents/task/agent/service.py +0 -468
  989. polyrob-1.1.0/agents/task/agent/session.py +0 -1142
  990. polyrob-1.1.0/agents/task/agent/skill_manager.py +0 -1297
  991. polyrob-1.1.0/agents/task/agent/skill_store.py +0 -617
  992. polyrob-1.1.0/agents/task/agent/skill_writer.py +0 -640
  993. polyrob-1.1.0/agents/task/agent/sub_agent_manager.py +0 -1180
  994. polyrob-1.1.0/agents/task/config.py +0 -485
  995. polyrob-1.1.0/agents/task/constants.py +0 -758
  996. polyrob-1.1.0/agents/task/conversation_resume.py +0 -184
  997. polyrob-1.1.0/agents/task/goals/board.py +0 -2316
  998. polyrob-1.1.0/agents/task/goals/context.py +0 -219
  999. polyrob-1.1.0/agents/task/goals/dispatcher.py +0 -2288
  1000. polyrob-1.1.0/agents/task/goals/escalation.py +0 -132
  1001. polyrob-1.1.0/agents/task/goals/planner.py +0 -444
  1002. polyrob-1.1.0/agents/task/goals/streams.py +0 -724
  1003. polyrob-1.1.0/agents/task/path.py +0 -993
  1004. polyrob-1.1.0/agents/task/robust_parse_config.py +0 -334
  1005. polyrob-1.1.0/agents/task/runtime/edit_verify.py +0 -65
  1006. polyrob-1.1.0/agents/task/runtime/evidence.py +0 -283
  1007. polyrob-1.1.0/agents/task/runtime/metering_gate.py +0 -52
  1008. polyrob-1.1.0/agents/task/runtime/run_outcome.py +0 -352
  1009. polyrob-1.1.0/agents/task/session/cleanup.py +0 -680
  1010. polyrob-1.1.0/agents/task/session/hitl_ingress.py +0 -236
  1011. polyrob-1.1.0/agents/task/session_class.py +0 -74
  1012. polyrob-1.1.0/agents/task/task_agent_chat.py +0 -546
  1013. polyrob-1.1.0/agents/task/task_agent_delivery.py +0 -971
  1014. polyrob-1.1.0/agents/task/task_agent_support.py +0 -160
  1015. polyrob-1.1.0/agents/task/telemetry/manager.py +0 -553
  1016. polyrob-1.1.0/agents/task/telemetry/narrate.py +0 -189
  1017. polyrob-1.1.0/agents/task/telemetry/sequence.py +0 -126
  1018. polyrob-1.1.0/agents/task/telemetry/service.py +0 -1207
  1019. polyrob-1.1.0/agents/task/tool_defaults.py +0 -223
  1020. polyrob-1.1.0/agents/task/utils.py +0 -619
  1021. polyrob-1.1.0/agents/task_agent_lite.py +0 -966
  1022. polyrob-1.1.0/api/README.md +0 -746
  1023. polyrob-1.1.0/api/a2a/agent_card.py +0 -370
  1024. polyrob-1.1.0/api/a2a/task_handler.py +0 -1069
  1025. polyrob-1.1.0/api/admin_endpoints.py +0 -1525
  1026. polyrob-1.1.0/api/app.py +0 -1081
  1027. polyrob-1.1.0/api/auth_endpoints.py +0 -465
  1028. polyrob-1.1.0/api/dependencies.py +0 -289
  1029. polyrob-1.1.0/api/hyperliquid_routes.py +0 -445
  1030. polyrob-1.1.0/api/middleware.py +0 -422
  1031. polyrob-1.1.0/api/payment_verification.py +0 -154
  1032. polyrob-1.1.0/api/polymarket_routes.py +0 -477
  1033. polyrob-1.1.0/api/task_http_api.py +0 -1875
  1034. polyrob-1.1.0/api/webhooks.py +0 -52
  1035. polyrob-1.1.0/api/x402_endpoints.py +0 -515
  1036. polyrob-1.1.0/avatar/README.md +0 -66
  1037. polyrob-1.1.0/avatar/__init__.py +0 -1
  1038. polyrob-1.1.0/avatar/config/rob.json +0 -7
  1039. polyrob-1.1.0/avatar/mindprint.js +0 -395
  1040. polyrob-1.1.0/avatar/renders/rob.meta.json +0 -20
  1041. polyrob-1.1.0/avatar/renders/rob.png +0 -0
  1042. polyrob-1.1.0/avatar/studio.html +0 -373
  1043. polyrob-1.1.0/avatar/webview/avatar-live.js +0 -44
  1044. polyrob-1.1.0/cli/_flag_warn.py +0 -39
  1045. polyrob-1.1.0/cli/commands/_errors.py +0 -142
  1046. polyrob-1.1.0/cli/commands/_session_control.py +0 -34
  1047. polyrob-1.1.0/cli/commands/apps.py +0 -199
  1048. polyrob-1.1.0/cli/commands/auth.py +0 -449
  1049. polyrob-1.1.0/cli/commands/browser.py +0 -541
  1050. polyrob-1.1.0/cli/commands/chat.py +0 -1138
  1051. polyrob-1.1.0/cli/commands/config.py +0 -717
  1052. polyrob-1.1.0/cli/commands/cron.py +0 -475
  1053. polyrob-1.1.0/cli/commands/dashboard.py +0 -107
  1054. polyrob-1.1.0/cli/commands/doctor.py +0 -1336
  1055. polyrob-1.1.0/cli/commands/email.py +0 -134
  1056. polyrob-1.1.0/cli/commands/gateway.py +0 -483
  1057. polyrob-1.1.0/cli/commands/goals.py +0 -658
  1058. polyrob-1.1.0/cli/commands/identity.py +0 -126
  1059. polyrob-1.1.0/cli/commands/init.py +0 -577
  1060. polyrob-1.1.0/cli/commands/kb.py +0 -323
  1061. polyrob-1.1.0/cli/commands/model.py +0 -173
  1062. polyrob-1.1.0/cli/commands/owner.py +0 -1634
  1063. polyrob-1.1.0/cli/commands/pfp.py +0 -479
  1064. polyrob-1.1.0/cli/commands/session.py +0 -654
  1065. polyrob-1.1.0/cli/commands/skill_install.py +0 -792
  1066. polyrob-1.1.0/cli/commands/soul.py +0 -91
  1067. polyrob-1.1.0/cli/commands/tools.py +0 -165
  1068. polyrob-1.1.0/cli/commands/update.py +0 -471
  1069. polyrob-1.1.0/cli/commands/wallet.py +0 -1611
  1070. polyrob-1.1.0/cli/commands/whatsapp.py +0 -100
  1071. polyrob-1.1.0/cli/commands/x.py +0 -84
  1072. polyrob-1.1.0/cli/commands/x_account.py +0 -453
  1073. polyrob-1.1.0/cli/polyrob.py +0 -287
  1074. polyrob-1.1.0/cli/toolset.py +0 -83
  1075. polyrob-1.1.0/cli/ui/banner.py +0 -242
  1076. polyrob-1.1.0/cli/ui/commands/h_a23.py +0 -42
  1077. polyrob-1.1.0/cli/ui/commands/h_autonomy.py +0 -170
  1078. polyrob-1.1.0/cli/ui/commands/h_config.py +0 -375
  1079. polyrob-1.1.0/cli/ui/commands/h_context.py +0 -120
  1080. polyrob-1.1.0/cli/ui/commands/h_cron.py +0 -179
  1081. polyrob-1.1.0/cli/ui/commands/h_gates.py +0 -198
  1082. polyrob-1.1.0/cli/ui/commands/h_goal_one.py +0 -55
  1083. polyrob-1.1.0/cli/ui/commands/h_goals_view.py +0 -86
  1084. polyrob-1.1.0/cli/ui/commands/h_help.py +0 -338
  1085. polyrob-1.1.0/cli/ui/commands/h_inbox.py +0 -130
  1086. polyrob-1.1.0/cli/ui/commands/h_journey.py +0 -116
  1087. polyrob-1.1.0/cli/ui/commands/h_kb.py +0 -123
  1088. polyrob-1.1.0/cli/ui/commands/h_mcp.py +0 -239
  1089. polyrob-1.1.0/cli/ui/commands/h_money_verbs.py +0 -150
  1090. polyrob-1.1.0/cli/ui/commands/h_owner.py +0 -450
  1091. polyrob-1.1.0/cli/ui/commands/h_owner_reach.py +0 -89
  1092. polyrob-1.1.0/cli/ui/commands/h_pfp.py +0 -235
  1093. polyrob-1.1.0/cli/ui/commands/h_reject.py +0 -132
  1094. polyrob-1.1.0/cli/ui/commands/h_rooms.py +0 -399
  1095. polyrob-1.1.0/cli/ui/commands/h_skills.py +0 -315
  1096. polyrob-1.1.0/cli/ui/commands/h_token.py +0 -79
  1097. polyrob-1.1.0/cli/ui/commands/handlers.py +0 -1706
  1098. polyrob-1.1.0/cli/ui/commands/registry.py +0 -530
  1099. polyrob-1.1.0/cli/ui/persistent_loop.py +0 -210
  1100. polyrob-1.1.0/cli/ui/plain_renderer.py +0 -392
  1101. polyrob-1.1.0/cli/ui/state.py +0 -462
  1102. polyrob-1.1.0/cli/ui/statusbar.py +0 -297
  1103. polyrob-1.1.0/cli/ui/terminal_render.py +0 -105
  1104. polyrob-1.1.0/cli/ui/theme.py +0 -182
  1105. polyrob-1.1.0/cli/update/process_guard.py +0 -318
  1106. polyrob-1.1.0/cli/update/runners.py +0 -183
  1107. polyrob-1.1.0/config/.env.development.template +0 -263
  1108. polyrob-1.1.0/core/activity_class.py +0 -157
  1109. polyrob-1.1.0/core/app_service/config.py +0 -117
  1110. polyrob-1.1.0/core/app_service/owner_ops.py +0 -155
  1111. polyrob-1.1.0/core/app_service/registry.py +0 -423
  1112. polyrob-1.1.0/core/app_service/snapshot.py +0 -91
  1113. polyrob-1.1.0/core/app_service/supervisor.py +0 -454
  1114. polyrob-1.1.0/core/artifacts.py +0 -342
  1115. polyrob-1.1.0/core/autonomy_control.py +0 -615
  1116. polyrob-1.1.0/core/autonomy_runtime.py +0 -1215
  1117. polyrob-1.1.0/core/book.py +0 -117
  1118. polyrob-1.1.0/core/bootstrap.py +0 -913
  1119. polyrob-1.1.0/core/config.py +0 -811
  1120. polyrob-1.1.0/core/config_policy/__init__.py +0 -33
  1121. polyrob-1.1.0/core/config_policy/autonomy_config.py +0 -516
  1122. polyrob-1.1.0/core/config_policy/autonomy_mode.py +0 -136
  1123. polyrob-1.1.0/core/config_policy/capability_toggles.py +0 -396
  1124. polyrob-1.1.0/core/config_policy/payment_policy.py +0 -157
  1125. polyrob-1.1.0/core/config_policy/payment_tools.py +0 -132
  1126. polyrob-1.1.0/core/config_policy/policy.py +0 -115
  1127. polyrob-1.1.0/core/config_policy/posture_card.py +0 -107
  1128. polyrob-1.1.0/core/config_policy/rigs.py +0 -134
  1129. polyrob-1.1.0/core/config_policy/spend_lane.py +0 -268
  1130. polyrob-1.1.0/core/config_service.py +0 -530
  1131. polyrob-1.1.0/core/container.py +0 -221
  1132. polyrob-1.1.0/core/container_hardening.py +0 -52
  1133. polyrob-1.1.0/core/copy/en.py +0 -57
  1134. polyrob-1.1.0/core/credential_verdicts.py +0 -468
  1135. polyrob-1.1.0/core/credit_sentinel.py +0 -340
  1136. polyrob-1.1.0/core/data_perms.py +0 -280
  1137. polyrob-1.1.0/core/db_manifest.py +0 -172
  1138. polyrob-1.1.0/core/doc_claims.py +0 -232
  1139. polyrob-1.1.0/core/env_file.py +0 -58
  1140. polyrob-1.1.0/core/event_kinds.py +0 -179
  1141. polyrob-1.1.0/core/event_log.py +0 -324
  1142. polyrob-1.1.0/core/exec_identity.py +0 -48
  1143. polyrob-1.1.0/core/flags.py +0 -207
  1144. polyrob-1.1.0/core/flags_catalog.py +0 -751
  1145. polyrob-1.1.0/core/goal_board_render.py +0 -157
  1146. polyrob-1.1.0/core/goal_vocab.py +0 -44
  1147. polyrob-1.1.0/core/initialization.py +0 -994
  1148. polyrob-1.1.0/core/instance.py +0 -870
  1149. polyrob-1.1.0/core/interactive_gate.py +0 -256
  1150. polyrob-1.1.0/core/open_positions.py +0 -316
  1151. polyrob-1.1.0/core/optional_extras.py +0 -107
  1152. polyrob-1.1.0/core/owner_create.py +0 -145
  1153. polyrob-1.1.0/core/owner_doc_writer.py +0 -78
  1154. polyrob-1.1.0/core/owner_remedy.py +0 -318
  1155. polyrob-1.1.0/core/path_safety.py +0 -20
  1156. polyrob-1.1.0/core/payment_config.py +0 -21
  1157. polyrob-1.1.0/core/payments/assets.py +0 -347
  1158. polyrob-1.1.0/core/position_ledger.py +0 -159
  1159. polyrob-1.1.0/core/prefs.py +0 -1471
  1160. polyrob-1.1.0/core/publish.py +0 -321
  1161. polyrob-1.1.0/core/rate_limit.py +0 -245
  1162. polyrob-1.1.0/core/recap.py +0 -257
  1163. polyrob-1.1.0/core/secret_patterns.py +0 -221
  1164. polyrob-1.1.0/core/secret_scrub.py +0 -49
  1165. polyrob-1.1.0/core/security/browser_rail.py +0 -214
  1166. polyrob-1.1.0/core/security/encryption.py +0 -193
  1167. polyrob-1.1.0/core/security/host_execution.py +0 -23
  1168. polyrob-1.1.0/core/security/redaction.py +0 -75
  1169. polyrob-1.1.0/core/security/refusals.py +0 -52
  1170. polyrob-1.1.0/core/security/secret_guard.py +0 -539
  1171. polyrob-1.1.0/core/security/untrusted_wrap.py +0 -107
  1172. polyrob-1.1.0/core/security_digest.py +0 -158
  1173. polyrob-1.1.0/core/security_logging_filter.py +0 -432
  1174. polyrob-1.1.0/core/self_context_writer.py +0 -533
  1175. polyrob-1.1.0/core/self_evolution.py +0 -1015
  1176. polyrob-1.1.0/core/session_control.py +0 -81
  1177. polyrob-1.1.0/core/status_economics.py +0 -228
  1178. polyrob-1.1.0/core/status_liquidity.py +0 -39
  1179. polyrob-1.1.0/core/status_live.py +0 -101
  1180. polyrob-1.1.0/core/status_render.py +0 -239
  1181. polyrob-1.1.0/core/status_snapshot.py +0 -2239
  1182. polyrob-1.1.0/core/surfaces/__init__.py +0 -16
  1183. polyrob-1.1.0/core/surfaces/access.py +0 -316
  1184. polyrob-1.1.0/core/surfaces/access_log.py +0 -149
  1185. polyrob-1.1.0/core/surfaces/act.py +0 -42
  1186. polyrob-1.1.0/core/surfaces/binding.py +0 -245
  1187. polyrob-1.1.0/core/surfaces/bootstrap.py +0 -261
  1188. polyrob-1.1.0/core/surfaces/command_reply.py +0 -57
  1189. polyrob-1.1.0/core/surfaces/config.py +0 -271
  1190. polyrob-1.1.0/core/surfaces/continuity.py +0 -77
  1191. polyrob-1.1.0/core/surfaces/dispatcher.py +0 -730
  1192. polyrob-1.1.0/core/surfaces/envelopes.py +0 -96
  1193. polyrob-1.1.0/core/surfaces/group_turn.py +0 -286
  1194. polyrob-1.1.0/core/surfaces/idempotency.py +0 -74
  1195. polyrob-1.1.0/core/surfaces/inbound_attachments.py +0 -404
  1196. polyrob-1.1.0/core/surfaces/inbound_webhook.py +0 -140
  1197. polyrob-1.1.0/core/surfaces/inbox_render.py +0 -342
  1198. polyrob-1.1.0/core/surfaces/media.py +0 -40
  1199. polyrob-1.1.0/core/surfaces/message_router.py +0 -470
  1200. polyrob-1.1.0/core/surfaces/outbound_target.py +0 -121
  1201. polyrob-1.1.0/core/surfaces/owner_address.py +0 -78
  1202. polyrob-1.1.0/core/surfaces/owner_admin.py +0 -389
  1203. polyrob-1.1.0/core/surfaces/owner_intent.py +0 -193
  1204. polyrob-1.1.0/core/surfaces/room_actions.py +0 -1132
  1205. polyrob-1.1.0/core/surfaces/room_policy.py +0 -248
  1206. polyrob-1.1.0/core/surfaces/send_policy.py +0 -14
  1207. polyrob-1.1.0/core/surfaces/surface.py +0 -305
  1208. polyrob-1.1.0/core/surfaces/tappable.py +0 -60
  1209. polyrob-1.1.0/core/surfaces/transcription.py +0 -88
  1210. polyrob-1.1.0/core/surfaces/turn_reply.py +0 -75
  1211. polyrob-1.1.0/core/surfaces/user_delivery.py +0 -1036
  1212. polyrob-1.1.0/core/tool_capabilities.py +0 -211
  1213. polyrob-1.1.0/core/tool_catalog.py +0 -185
  1214. polyrob-1.1.0/core/verbs.py +0 -253
  1215. polyrob-1.1.0/core/version.py +0 -75
  1216. polyrob-1.1.0/core/wallet/__init__.py +0 -5
  1217. polyrob-1.1.0/core/wallet/addresses.py +0 -130
  1218. polyrob-1.1.0/core/wallet/agent_wallet.py +0 -340
  1219. polyrob-1.1.0/core/wallet/audit_sink.py +0 -319
  1220. polyrob-1.1.0/core/wallet/authority.py +0 -89
  1221. polyrob-1.1.0/core/wallet/bridge_guard.py +0 -479
  1222. polyrob-1.1.0/core/wallet/broadcast/evm.py +0 -308
  1223. polyrob-1.1.0/core/wallet/chains.py +0 -524
  1224. polyrob-1.1.0/core/wallet/config.py +0 -339
  1225. polyrob-1.1.0/core/wallet/deploy_guard.py +0 -359
  1226. polyrob-1.1.0/core/wallet/derivation.py +0 -171
  1227. polyrob-1.1.0/core/wallet/dex_registry.py +0 -147
  1228. polyrob-1.1.0/core/wallet/erc8004.py +0 -119
  1229. polyrob-1.1.0/core/wallet/factory.py +0 -165
  1230. polyrob-1.1.0/core/wallet/liquidity_guard.py +0 -167
  1231. polyrob-1.1.0/core/wallet/onchain.py +0 -267
  1232. polyrob-1.1.0/core/wallet/policy.py +0 -345
  1233. polyrob-1.1.0/core/wallet/simulation.py +0 -421
  1234. polyrob-1.1.0/core/wallet/solana_onchain.py +0 -103
  1235. polyrob-1.1.0/core/wallet/solana_rail.py +0 -186
  1236. polyrob-1.1.0/core/wallet/solana_signer.py +0 -184
  1237. polyrob-1.1.0/core/wallet/solana_simulation.py +0 -233
  1238. polyrob-1.1.0/core/wallet/solana_tx_inspect.py +0 -426
  1239. polyrob-1.1.0/core/wallet/solana_x402.py +0 -131
  1240. polyrob-1.1.0/core/wallet/spl_token.py +0 -478
  1241. polyrob-1.1.0/core/wallet/submission_journal.py +0 -105
  1242. polyrob-1.1.0/core/wallet/submission_recovery.py +0 -160
  1243. polyrob-1.1.0/core/wallet/submission_store.py +0 -172
  1244. polyrob-1.1.0/core/wallet/tokens.py +0 -289
  1245. polyrob-1.1.0/core/wallet/trade_index.py +0 -91
  1246. polyrob-1.1.0/core/wallet/tx_guard.py +0 -1674
  1247. polyrob-1.1.0/core/wallet/tx_notify.py +0 -310
  1248. polyrob-1.1.0/core/wallet/view.py +0 -101
  1249. polyrob-1.1.0/cron/README.md +0 -65
  1250. polyrob-1.1.0/cron/delivery.py +0 -553
  1251. polyrob-1.1.0/cron/digest.py +0 -241
  1252. polyrob-1.1.0/cron/rig_edit.py +0 -71
  1253. polyrob-1.1.0/cron/runner.py +0 -554
  1254. polyrob-1.1.0/cron/schedule.py +0 -194
  1255. polyrob-1.1.0/cron/service.py +0 -110
  1256. polyrob-1.1.0/data/prompts/autov2_prompts.json +0 -87
  1257. polyrob-1.1.0/data/prompts/skills/browser-automation/SKILL.md +0 -43
  1258. polyrob-1.1.0/data/prompts/skills/crypto-trading-safety/SKILL.md +0 -68
  1259. polyrob-1.1.0/data/prompts/skills/document-writing/SKILL.md +0 -33
  1260. polyrob-1.1.0/data/prompts/skills/email-comms/SKILL.md +0 -33
  1261. polyrob-1.1.0/data/prompts/skills/hyperliquid-account-review/SKILL.md +0 -48
  1262. polyrob-1.1.0/data/prompts/skills/hyperliquid-market-data/SKILL.md +0 -52
  1263. polyrob-1.1.0/data/prompts/skills/hyperliquid-trading/SKILL.md +0 -59
  1264. polyrob-1.1.0/data/prompts/skills/person-analyzer/SKILL.md +0 -124
  1265. polyrob-1.1.0/data/prompts/skills/polymarket-market-research/SKILL.md +0 -54
  1266. polyrob-1.1.0/data/prompts/skills/polymarket-portfolio-review/SKILL.md +0 -50
  1267. polyrob-1.1.0/data/prompts/skills/polymarket-trading/SKILL.md +0 -55
  1268. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/SKILL.md +0 -191
  1269. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/autonomy.md +0 -92
  1270. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/configuration.md +0 -778
  1271. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/money-and-safety.md +0 -116
  1272. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/setup-interview.md +0 -81
  1273. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/surfaces.md +0 -112
  1274. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/wallet-and-identity.md +0 -115
  1275. polyrob-1.1.0/data/prompts/skills/rules.json +0 -940
  1276. polyrob-1.1.0/data/prompts/skills/secret-handling/SKILL.md +0 -20
  1277. polyrob-1.1.0/data/prompts/skills/self-deploy/SKILL.md +0 -153
  1278. polyrob-1.1.0/data/prompts/skills/skill-authoring/SKILL.md +0 -31
  1279. polyrob-1.1.0/data/prompts/skills/skill-security-review/SKILL.md +0 -27
  1280. polyrob-1.1.0/data/prompts/skills/social-discovery/SKILL.md +0 -56
  1281. polyrob-1.1.0/data/prompts/skills/task-planning/SKILL.md +0 -33
  1282. polyrob-1.1.0/data/prompts/skills/treasury-trading/SKILL.md +0 -922
  1283. polyrob-1.1.0/data/prompts/skills/verified-tooling/SKILL.md +0 -61
  1284. polyrob-1.1.0/data/prompts/skills/web-research/SKILL.md +0 -39
  1285. polyrob-1.1.0/data/prompts/skills/web-scraping/SKILL.md +0 -73
  1286. polyrob-1.1.0/data/prompts/skills/x-engagement/SKILL.md +0 -127
  1287. polyrob-1.1.0/data/prompts/system_prompts.json +0 -4
  1288. polyrob-1.1.0/docs/CONFIGURATION.md +0 -1444
  1289. polyrob-1.1.0/docs/guide/api.md +0 -634
  1290. polyrob-1.1.0/docs/guide/architecture.md +0 -174
  1291. polyrob-1.1.0/docs/guide/cli.md +0 -756
  1292. polyrob-1.1.0/docs/guide/configuration.md +0 -568
  1293. polyrob-1.1.0/docs/guide/console.md +0 -193
  1294. polyrob-1.1.0/docs/guide/getting-started.md +0 -321
  1295. polyrob-1.1.0/docs/guide/groups.md +0 -575
  1296. polyrob-1.1.0/docs/guide/instances.md +0 -250
  1297. polyrob-1.1.0/docs/guide/owner-controls.md +0 -340
  1298. polyrob-1.1.0/docs/guide/payments.md +0 -1345
  1299. polyrob-1.1.0/docs/guide/security-model.md +0 -404
  1300. polyrob-1.1.0/docs/guide/self-hosting.md +0 -408
  1301. polyrob-1.1.0/docs/guide/skills.md +0 -216
  1302. polyrob-1.1.0/docs/guide/streams.md +0 -296
  1303. polyrob-1.1.0/docs/guide/x-twitter.md +0 -104
  1304. polyrob-1.1.0/migrations/migrate.py +0 -242
  1305. polyrob-1.1.0/migrations/version_manager.py +0 -239
  1306. polyrob-1.1.0/modules/README.md +0 -503
  1307. polyrob-1.1.0/modules/auth/identity_mapper.py +0 -339
  1308. polyrob-1.1.0/modules/auth/siwe_auth.py +0 -273
  1309. polyrob-1.1.0/modules/credits/balances.py +0 -119
  1310. polyrob-1.1.0/modules/credits/pricing.py +0 -253
  1311. polyrob-1.1.0/modules/credits/unified_ledger.py +0 -374
  1312. polyrob-1.1.0/modules/credits/usage_tracker.py +0 -778
  1313. polyrob-1.1.0/modules/database/auth_tables.py +0 -342
  1314. polyrob-1.1.0/modules/database/hyperliquid.py +0 -375
  1315. polyrob-1.1.0/modules/database/polymarket.py +0 -574
  1316. polyrob-1.1.0/modules/eip8004/README.md +0 -1090
  1317. polyrob-1.1.0/modules/eip8004/models.py +0 -320
  1318. polyrob-1.1.0/modules/eip8004/registration.py +0 -290
  1319. polyrob-1.1.0/modules/eip8004/reputation.py +0 -611
  1320. polyrob-1.1.0/modules/llm/adapters.py +0 -1099
  1321. polyrob-1.1.0/modules/llm/anthropic_client.py +0 -913
  1322. polyrob-1.1.0/modules/llm/aux_metering.py +0 -166
  1323. polyrob-1.1.0/modules/llm/cache_hints.py +0 -174
  1324. polyrob-1.1.0/modules/llm/compat_clients.py +0 -207
  1325. polyrob-1.1.0/modules/llm/deepseek_client.py +0 -548
  1326. polyrob-1.1.0/modules/llm/gemini_client.py +0 -1358
  1327. polyrob-1.1.0/modules/llm/llm_client_registry.py +0 -278
  1328. polyrob-1.1.0/modules/llm/llm_factory.py +0 -288
  1329. polyrob-1.1.0/modules/llm/llm_manager.py +0 -861
  1330. polyrob-1.1.0/modules/llm/messages.py +0 -402
  1331. polyrob-1.1.0/modules/llm/model_catalog.py +0 -1549
  1332. polyrob-1.1.0/modules/llm/model_pricing.py +0 -57
  1333. polyrob-1.1.0/modules/llm/model_registry.py +0 -402
  1334. polyrob-1.1.0/modules/llm/model_types.py +0 -239
  1335. polyrob-1.1.0/modules/llm/openai_client.py +0 -896
  1336. polyrob-1.1.0/modules/llm/openrouter_client.py +0 -960
  1337. polyrob-1.1.0/modules/llm/openrouter_reasoning.py +0 -85
  1338. polyrob-1.1.0/modules/llm/prefix_stamp.py +0 -68
  1339. polyrob-1.1.0/modules/llm/responses_client.py +0 -271
  1340. polyrob-1.1.0/modules/llm/token_counter.py +0 -271
  1341. polyrob-1.1.0/modules/llm/usage_extract.py +0 -186
  1342. polyrob-1.1.0/modules/memory/backend_factory.py +0 -85
  1343. polyrob-1.1.0/modules/memory/cache_manager.py +0 -182
  1344. polyrob-1.1.0/modules/memory/episodic.py +0 -118
  1345. polyrob-1.1.0/modules/memory/local_vector_memory_provider.py +0 -653
  1346. polyrob-1.1.0/modules/memory/registry.py +0 -239
  1347. polyrob-1.1.0/modules/memory/sqlite_curated_store.py +0 -346
  1348. polyrob-1.1.0/modules/memory/sqlite_memory_provider.py +0 -492
  1349. polyrob-1.1.0/modules/memory/task/__init__.py +0 -52
  1350. polyrob-1.1.0/modules/memory/task/compaction_manager.py +0 -157
  1351. polyrob-1.1.0/modules/memory/task/hierarchical_memory.py +0 -786
  1352. polyrob-1.1.0/modules/memory/task/semantic_retriever.py +0 -218
  1353. polyrob-1.1.0/modules/memory/task/task_context_manager.py +0 -1132
  1354. polyrob-1.1.0/modules/payments/deposit_monitor.py +0 -450
  1355. polyrob-1.1.0/modules/payments/treasury_sweeper.py +0 -398
  1356. polyrob-1.1.0/modules/payments/wallet_generator.py +0 -123
  1357. polyrob-1.1.0/modules/pfp/__init__.py +0 -1
  1358. polyrob-1.1.0/modules/pfp/cards.py +0 -386
  1359. polyrob-1.1.0/modules/pfp/config.py +0 -92
  1360. polyrob-1.1.0/modules/pfp/identity.py +0 -76
  1361. polyrob-1.1.0/modules/pfp/mesh.py +0 -573
  1362. polyrob-1.1.0/modules/pfp/push.py +0 -103
  1363. polyrob-1.1.0/modules/pfp/renderer.py +0 -94
  1364. polyrob-1.1.0/modules/pfp/still.py +0 -115
  1365. polyrob-1.1.0/modules/pfp/store.py +0 -169
  1366. polyrob-1.1.0/modules/pfp/voice.py +0 -124
  1367. polyrob-1.1.0/modules/x402/invoice_jitter.py +0 -300
  1368. polyrob-1.1.0/modules/x402/invoicing.py +0 -1169
  1369. polyrob-1.1.0/modules/x402/middleware.py +0 -502
  1370. polyrob-1.1.0/modules/x402/onchain_probe.py +0 -140
  1371. polyrob-1.1.0/modules/x402/settlement_scan.py +0 -830
  1372. polyrob-1.1.0/modules/x402/settlement_subscriptions.py +0 -304
  1373. polyrob-1.1.0/modules/x402/solana_settlement.py +0 -149
  1374. polyrob-1.1.0/modules/x402/subscriptions.py +0 -537
  1375. polyrob-1.1.0/modules/x402/x402_integration.py +0 -546
  1376. polyrob-1.1.0/polyrob.egg-info/PKG-INFO +0 -565
  1377. polyrob-1.1.0/polyrob.egg-info/SOURCES.txt +0 -1356
  1378. polyrob-1.1.0/polyrob.egg-info/entry_points.txt +0 -2
  1379. polyrob-1.1.0/polyrob.egg-info/requires.txt +0 -87
  1380. polyrob-1.1.0/polyrob.egg-info/top_level.txt +0 -15
  1381. polyrob-1.1.0/pyproject.toml +0 -110
  1382. polyrob-1.1.0/surfaces/README.md +0 -70
  1383. polyrob-1.1.0/surfaces/_shared.py +0 -110
  1384. polyrob-1.1.0/surfaces/discord/gateway.py +0 -199
  1385. polyrob-1.1.0/surfaces/discord/harness.py +0 -66
  1386. polyrob-1.1.0/surfaces/email/fetchers.py +0 -268
  1387. polyrob-1.1.0/surfaces/email/harness.py +0 -364
  1388. polyrob-1.1.0/surfaces/inbox_sources.py +0 -278
  1389. polyrob-1.1.0/surfaces/signal/client.py +0 -116
  1390. polyrob-1.1.0/surfaces/signal/harness.py +0 -59
  1391. polyrob-1.1.0/surfaces/signal/surface.py +0 -139
  1392. polyrob-1.1.0/surfaces/slack/harness.py +0 -71
  1393. polyrob-1.1.0/surfaces/slack/socket_mode.py +0 -142
  1394. polyrob-1.1.0/surfaces/telegram/dev_rail.py +0 -82
  1395. polyrob-1.1.0/surfaces/telegram/group_ops.py +0 -1020
  1396. polyrob-1.1.0/surfaces/telegram/harness.py +0 -3371
  1397. polyrob-1.1.0/surfaces/telegram/inbound.py +0 -254
  1398. polyrob-1.1.0/surfaces/telegram/nft_ops.py +0 -161
  1399. polyrob-1.1.0/surfaces/telegram/owner_intent_gate.py +0 -78
  1400. polyrob-1.1.0/surfaces/telegram/owner_ops.py +0 -1013
  1401. polyrob-1.1.0/surfaces/telegram/surface.py +0 -362
  1402. polyrob-1.1.0/surfaces/telegram/token_ops.py +0 -299
  1403. polyrob-1.1.0/surfaces/whatsapp/inbound.py +0 -134
  1404. polyrob-1.1.0/surfaces/whatsapp/surface.py +0 -64
  1405. polyrob-1.1.0/surfaces/x/chat_client.py +0 -9
  1406. polyrob-1.1.0/surfaces/x/client.py +0 -182
  1407. polyrob-1.1.0/surfaces/x/harness.py +0 -91
  1408. polyrob-1.1.0/surfaces/x/poller.py +0 -223
  1409. polyrob-1.1.0/tests/test_autonomy_control_ratchet.py +0 -136
  1410. polyrob-1.1.0/tests/test_browser_launch_ratchet.py +0 -55
  1411. polyrob-1.1.0/tests/test_changelog_release.py +0 -55
  1412. polyrob-1.1.0/tests/test_conftest_operator_env_guard.py +0 -76
  1413. polyrob-1.1.0/tests/test_core_platform_boundary.py +0 -279
  1414. polyrob-1.1.0/tests/test_effect_classification_ratchet.py +0 -130
  1415. polyrob-1.1.0/tests/test_event_kind_contract.py +0 -93
  1416. polyrob-1.1.0/tests/test_file_size_ratchet.py +0 -139
  1417. polyrob-1.1.0/tests/test_layering_ratchet.py +0 -273
  1418. polyrob-1.1.0/tests/test_rate_limiter_ratchet.py +0 -84
  1419. polyrob-1.1.0/tests/test_room_safety_ratchet.py +0 -197
  1420. polyrob-1.1.0/tests/test_schema_version.py +0 -35
  1421. polyrob-1.1.0/tests/test_status_silence_ratchet.py +0 -108
  1422. polyrob-1.1.0/tests/test_version_consistency.py +0 -110
  1423. polyrob-1.1.0/tools/README.md +0 -578
  1424. polyrob-1.1.0/tools/__init__.py +0 -439
  1425. polyrob-1.1.0/tools/alchemy/alchemy_tool.py +0 -389
  1426. polyrob-1.1.0/tools/anysite/client.py +0 -202
  1427. polyrob-1.1.0/tools/anysite/tool.py +0 -233
  1428. polyrob-1.1.0/tools/app_service/tool.py +0 -329
  1429. polyrob-1.1.0/tools/browser/browser.py +0 -1577
  1430. polyrob-1.1.0/tools/browser/child_env.py +0 -71
  1431. polyrob-1.1.0/tools/code_exec/backends/docker.py +0 -1031
  1432. polyrob-1.1.0/tools/code_exec/backends/local_subprocess.py +0 -158
  1433. polyrob-1.1.0/tools/code_exec/backends/ssh.py +0 -320
  1434. polyrob-1.1.0/tools/code_exec/limits.py +0 -33
  1435. polyrob-1.1.0/tools/code_exec/result.py +0 -42
  1436. polyrob-1.1.0/tools/code_exec/tool.py +0 -220
  1437. polyrob-1.1.0/tools/coding/edit.py +0 -306
  1438. polyrob-1.1.0/tools/coding/lsp.py +0 -159
  1439. polyrob-1.1.0/tools/coding/search.py +0 -134
  1440. polyrob-1.1.0/tools/coding/tool.py +0 -617
  1441. polyrob-1.1.0/tools/controller/_helpers.py +0 -231
  1442. polyrob-1.1.0/tools/controller/action_registration.py +0 -1956
  1443. polyrob-1.1.0/tools/controller/agent_status_action.py +0 -214
  1444. polyrob-1.1.0/tools/controller/approval.py +0 -532
  1445. polyrob-1.1.0/tools/controller/approval_interactive.py +0 -292
  1446. polyrob-1.1.0/tools/controller/approval_queue.py +0 -1076
  1447. polyrob-1.1.0/tools/controller/autonomy_control_action.py +0 -136
  1448. polyrob-1.1.0/tools/controller/avatar_action.py +0 -162
  1449. polyrob-1.1.0/tools/controller/delegation.py +0 -204
  1450. polyrob-1.1.0/tools/controller/doc_authoring.py +0 -491
  1451. polyrob-1.1.0/tools/controller/execution.py +0 -996
  1452. polyrob-1.1.0/tools/controller/grant_card.py +0 -94
  1453. polyrob-1.1.0/tools/controller/insights_action.py +0 -52
  1454. polyrob-1.1.0/tools/controller/introspection.py +0 -320
  1455. polyrob-1.1.0/tools/controller/mcp_registrar.py +0 -190
  1456. polyrob-1.1.0/tools/controller/message_send.py +0 -581
  1457. polyrob-1.1.0/tools/controller/registry/schema_generators.py +0 -412
  1458. polyrob-1.1.0/tools/controller/registry/service.py +0 -1321
  1459. polyrob-1.1.0/tools/controller/room_read_action.py +0 -245
  1460. polyrob-1.1.0/tools/controller/service.py +0 -661
  1461. polyrob-1.1.0/tools/controller/tool_load_report.py +0 -143
  1462. polyrob-1.1.0/tools/controller/tool_management.py +0 -423
  1463. polyrob-1.1.0/tools/controller/turn_origin.py +0 -313
  1464. polyrob-1.1.0/tools/controller/views.py +0 -507
  1465. polyrob-1.1.0/tools/controller/wallet_authority.py +0 -21
  1466. polyrob-1.1.0/tools/cronjob_tools.py +0 -190
  1467. polyrob-1.1.0/tools/crypto_trade_gate.py +0 -188
  1468. polyrob-1.1.0/tools/dapp_browser/bridge.py +0 -524
  1469. polyrob-1.1.0/tools/dapp_browser/js.py +0 -127
  1470. polyrob-1.1.0/tools/dapp_browser/tool.py +0 -346
  1471. polyrob-1.1.0/tools/defi/__init__.py +0 -68
  1472. polyrob-1.1.0/tools/defi/agent_registration.py +0 -171
  1473. polyrob-1.1.0/tools/defi/book.py +0 -320
  1474. polyrob-1.1.0/tools/defi/bridge_evm_leg.py +0 -245
  1475. polyrob-1.1.0/tools/defi/bridge_verb.py +0 -722
  1476. polyrob-1.1.0/tools/defi/call_verb.py +0 -242
  1477. polyrob-1.1.0/tools/defi/data_tool.py +0 -2036
  1478. polyrob-1.1.0/tools/defi/deploy_verb.py +0 -484
  1479. polyrob-1.1.0/tools/defi/lp_verbs.py +0 -318
  1480. polyrob-1.1.0/tools/defi/payment_quote.py +0 -133
  1481. polyrob-1.1.0/tools/defi/providers/_http.py +0 -29
  1482. polyrob-1.1.0/tools/defi/providers/alchemy_index.py +0 -116
  1483. polyrob-1.1.0/tools/defi/providers/base.py +0 -152
  1484. polyrob-1.1.0/tools/defi/providers/dexscreener.py +0 -205
  1485. polyrob-1.1.0/tools/defi/providers/geckoterminal.py +0 -543
  1486. polyrob-1.1.0/tools/defi/providers/goplus.py +0 -337
  1487. polyrob-1.1.0/tools/defi/providers/jupiter.py +0 -171
  1488. polyrob-1.1.0/tools/defi/providers/routes/__init__.py +0 -384
  1489. polyrob-1.1.0/tools/defi/providers/univ3.py +0 -186
  1490. polyrob-1.1.0/tools/defi/reconcile.py +0 -226
  1491. polyrob-1.1.0/tools/defi/spl_deploy_verb.py +0 -365
  1492. polyrob-1.1.0/tools/defi/trade_tool.py +0 -2471
  1493. polyrob-1.1.0/tools/descriptors.py +0 -471
  1494. polyrob-1.1.0/tools/document_parser.py +0 -89
  1495. polyrob-1.1.0/tools/email_tool.py +0 -1048
  1496. polyrob-1.1.0/tools/filesystem.py +0 -1466
  1497. polyrob-1.1.0/tools/filesystem_docproc.py +0 -344
  1498. polyrob-1.1.0/tools/filesystem_pdf.py +0 -476
  1499. polyrob-1.1.0/tools/git/tool.py +0 -264
  1500. polyrob-1.1.0/tools/github/tool.py +0 -237
  1501. polyrob-1.1.0/tools/goal_tools.py +0 -729
  1502. polyrob-1.1.0/tools/hf_deploy/__init__.py +0 -63
  1503. polyrob-1.1.0/tools/hf_deploy/broker.py +0 -252
  1504. polyrob-1.1.0/tools/hf_deploy/digest.py +0 -95
  1505. polyrob-1.1.0/tools/hf_deploy/tool.py +0 -336
  1506. polyrob-1.1.0/tools/hyperliquid/__init__.py +0 -56
  1507. polyrob-1.1.0/tools/hyperliquid/models.py +0 -233
  1508. polyrob-1.1.0/tools/hyperliquid/service.py +0 -1805
  1509. polyrob-1.1.0/tools/knowledge_ingest.py +0 -872
  1510. polyrob-1.1.0/tools/launchpad/execute.py +0 -216
  1511. polyrob-1.1.0/tools/launchpad/tool.py +0 -648
  1512. polyrob-1.1.0/tools/mcp/mcp_tool.py +0 -1415
  1513. polyrob-1.1.0/tools/mcp/protocol.py +0 -1639
  1514. polyrob-1.1.0/tools/mcp/server_manager.py +0 -853
  1515. polyrob-1.1.0/tools/mcp/user_mcp_service.py +0 -919
  1516. polyrob-1.1.0/tools/perplexity_tool.py +0 -284
  1517. polyrob-1.1.0/tools/polymarket/__init__.py +0 -41
  1518. polyrob-1.1.0/tools/polymarket/models.py +0 -175
  1519. polyrob-1.1.0/tools/polymarket/service.py +0 -2126
  1520. polyrob-1.1.0/tools/publish/tool.py +0 -212
  1521. polyrob-1.1.0/tools/self_env/tool.py +0 -259
  1522. polyrob-1.1.0/tools/tool_disclosure.py +0 -315
  1523. polyrob-1.1.0/tools/tool_search.py +0 -281
  1524. polyrob-1.1.0/tools/twitter_tool.py +0 -2673
  1525. polyrob-1.1.0/tools/web_fetch/fetcher.py +0 -164
  1526. polyrob-1.1.0/tools/x402/client.py +0 -55
  1527. polyrob-1.1.0/tools/x402/discovery.py +0 -333
  1528. polyrob-1.1.0/tools/x402/invoice_tool.py +0 -276
  1529. polyrob-1.1.0/tools/x402/net_guard.py +0 -159
  1530. polyrob-1.1.0/tools/x402/real_client.py +0 -926
  1531. polyrob-1.1.0/tools/x402/service.py +0 -415
  1532. polyrob-1.1.0/tools/x402/spend_gate.py +0 -53
  1533. polyrob-1.1.0/tools/x_browser/__init__.py +0 -28
  1534. polyrob-1.1.0/tools/x_browser/driver.py +0 -353
  1535. polyrob-1.1.0/tools/x_browser/escalation.py +0 -134
  1536. polyrob-1.1.0/tools/x_browser/registration.py +0 -41
  1537. polyrob-1.1.0/tools/x_browser/session_store.py +0 -78
  1538. polyrob-1.1.0/tools/x_browser/signup.py +0 -266
  1539. polyrob-1.1.0/tools/x_browser/tool.py +0 -579
  1540. polyrob-1.1.0/tools/x_oauth2.py +0 -338
  1541. polyrob-1.1.0/utils/gif_utils.py +0 -435
  1542. polyrob-1.1.0/webview/activity.py +0 -681
  1543. polyrob-1.1.0/webview/artifacts_api.py +0 -79
  1544. polyrob-1.1.0/webview/chat_open.py +0 -259
  1545. polyrob-1.1.0/webview/console_commands.py +0 -149
  1546. polyrob-1.1.0/webview/copy/__init__.py +0 -36
  1547. polyrob-1.1.0/webview/copy/en.py +0 -1357
  1548. polyrob-1.1.0/webview/knowledge.py +0 -292
  1549. polyrob-1.1.0/webview/owner_login_flow.py +0 -56
  1550. polyrob-1.1.0/webview/pages.py +0 -1823
  1551. polyrob-1.1.0/webview/pages_new.py +0 -1695
  1552. polyrob-1.1.0/webview/posture_guard.py +0 -254
  1553. polyrob-1.1.0/webview/server.py +0 -3458
  1554. polyrob-1.1.0/webview/session_catalog.py +0 -58
  1555. polyrob-1.1.0/webview/static/app/agent.js +0 -1467
  1556. polyrob-1.1.0/webview/static/app/app.css +0 -524
  1557. polyrob-1.1.0/webview/static/app/chat-open.js +0 -111
  1558. polyrob-1.1.0/webview/static/app/chats.js +0 -200
  1559. polyrob-1.1.0/webview/static/app/http.js +0 -92
  1560. polyrob-1.1.0/webview/static/app/live.js +0 -106
  1561. polyrob-1.1.0/webview/static/app/money.js +0 -1345
  1562. polyrob-1.1.0/webview/static/app/pause.js +0 -155
  1563. polyrob-1.1.0/webview/static/app/transcript.js +0 -556
  1564. polyrob-1.1.0/webview/static/app/verbs.en.json +0 -332
  1565. polyrob-1.1.0/webview/static/app/workpane.js +0 -434
  1566. polyrob-1.1.0/webview/static/css/components.css +0 -1190
  1567. polyrob-1.1.0/webview/static/css/webgate.css +0 -653
  1568. polyrob-1.1.0/webview/template_globals.py +0 -65
  1569. polyrob-1.1.0/webview/templates/agent.html +0 -284
  1570. polyrob-1.1.0/webview/templates/chat.html +0 -181
  1571. polyrob-1.1.0/webview/templates/error.html +0 -72
  1572. polyrob-1.1.0/webview/templates/inbox.html +0 -138
  1573. polyrob-1.1.0/webview/templates/money.html +0 -222
  1574. polyrob-1.1.0/webview/templates/owner_login.html +0 -15
  1575. polyrob-1.1.0/webview/templates/shell.html +0 -194
  1576. polyrob-1.1.0/webview/templates/work.html +0 -279
  1577. polyrob-1.1.0/webview/worklog_api.py +0 -150
  1578. {polyrob-1.1.0 → polyrob-1.2.0}/LICENSE +0 -0
  1579. {polyrob-1.1.0 → polyrob-1.2.0}/agents/personality/character.py +0 -0
  1580. {polyrob-1.1.0 → polyrob-1.2.0}/agents/personality/characters/polyrob.character.json +0 -0
  1581. {polyrob-1.1.0 → polyrob-1.2.0}/agents/personality/persona_render.py +0 -0
  1582. {polyrob-1.1.0 → polyrob-1.2.0}/agents/personality/persona_resolver.py +0 -0
  1583. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/README_PATH_MANAGEMENT.md +0 -0
  1584. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/__init__.py +0 -0
  1585. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/agent_state.py +0 -0
  1586. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/autonomy_state.py +0 -0
  1587. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/__init__.py +0 -0
  1588. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/conversational_exit.py +0 -0
  1589. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/error_recovery.py +0 -0
  1590. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/history_io.py +0 -0
  1591. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/llm_provisioning.py +0 -0
  1592. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/metering_failure_log.py +0 -0
  1593. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/model_introspection.py +0 -0
  1594. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/output_truncation.py +0 -0
  1595. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/resources.py +0 -0
  1596. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/run_budget.py +0 -0
  1597. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/safety_lifecycle.py +0 -0
  1598. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/self_wake.py +0 -0
  1599. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/session_control.py +0 -0
  1600. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/session_metadata.py +0 -0
  1601. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/timeout_reroute.py +0 -0
  1602. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/token_budget.py +0 -0
  1603. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/core/turn_input.py +0 -0
  1604. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/hitl_manager.py +0 -0
  1605. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/log_sanitize.py +0 -0
  1606. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/message_manager/config.py +0 -0
  1607. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/message_manager/tool_call_builder.py +0 -0
  1608. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/message_manager/tool_message_repair.py +0 -0
  1609. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/message_manager/views.py +0 -0
  1610. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/messages/__init__.py +0 -0
  1611. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/messages/sqlite_persistence.py +0 -0
  1612. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/orchestrator.py +0 -0
  1613. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/profile_registry.py +0 -0
  1614. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/skill_discovery.py +0 -0
  1615. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/skill_frontmatter.py +0 -0
  1616. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/skill_validation.py +0 -0
  1617. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/tool_call_tracker.py +0 -0
  1618. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/agent/views.py +0 -0
  1619. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/__init__.py +0 -0
  1620. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/autonomy_marker.py +0 -0
  1621. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/claim_liveness.py +0 -0
  1622. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/completion_judge.py +0 -0
  1623. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/deliverables.py +0 -0
  1624. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/goal_tool_gates.py +0 -0
  1625. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/group_service.py +0 -0
  1626. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/goals/preflight.py +0 -0
  1627. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/logging_config.py +0 -0
  1628. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/runtime/__init__.py +0 -0
  1629. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/runtime/acceptance_checks.py +0 -0
  1630. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/runtime/acceptance_schema.py +0 -0
  1631. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/runtime/run_as_session.py +0 -0
  1632. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session/__init__.py +0 -0
  1633. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session/browser_pool.py +0 -0
  1634. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session/execution.py +0 -0
  1635. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session/feed.py +0 -0
  1636. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session/hooks.py +0 -0
  1637. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session/workspace.py +0 -0
  1638. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session_registry.py +0 -0
  1639. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/session_route.py +0 -0
  1640. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/sqlite_session_registry.py +0 -0
  1641. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/task_agent_control.py +0 -0
  1642. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/task_agent_lifecycle.py +0 -0
  1643. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/__init__.py +0 -0
  1644. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/agent_graph.py +0 -0
  1645. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/feed_reads.py +0 -0
  1646. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/formatters.py +0 -0
  1647. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/live_progress.py +0 -0
  1648. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/memory_events.py +0 -0
  1649. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/run_activity.py +0 -0
  1650. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/service_detect.py +0 -0
  1651. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/telemetry/views.py +0 -0
  1652. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/templates.py +0 -0
  1653. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/utils_json.py +0 -0
  1654. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/utils_webview.py +0 -0
  1655. {polyrob-1.1.0 → polyrob-1.2.0}/agents/task/workspace_context.py +0 -0
  1656. {polyrob-1.1.0 → polyrob-1.2.0}/api/TASK_API_DOCS.md +0 -0
  1657. {polyrob-1.1.0 → polyrob-1.2.0}/api/__init__.py +0 -0
  1658. {polyrob-1.1.0 → polyrob-1.2.0}/api/a2a/__init__.py +0 -0
  1659. {polyrob-1.1.0 → polyrob-1.2.0}/api/a2a/endpoints.py +0 -0
  1660. {polyrob-1.1.0 → polyrob-1.2.0}/api/a2a/models.py +0 -0
  1661. {polyrob-1.1.0 → polyrob-1.2.0}/api/a2a/streaming.py +0 -0
  1662. {polyrob-1.1.0 → polyrob-1.2.0}/api/api_key_auth.py +0 -0
  1663. {polyrob-1.1.0 → polyrob-1.2.0}/api/auth_constants.py +0 -0
  1664. {polyrob-1.1.0 → polyrob-1.2.0}/api/auth_state.py +0 -0
  1665. {polyrob-1.1.0 → polyrob-1.2.0}/api/base_url.py +0 -0
  1666. {polyrob-1.1.0 → polyrob-1.2.0}/api/chat_via_task.py +0 -0
  1667. {polyrob-1.1.0 → polyrob-1.2.0}/api/eip8004_endpoints.py +0 -0
  1668. {polyrob-1.1.0 → polyrob-1.2.0}/api/jwt_middleware.py +0 -0
  1669. {polyrob-1.1.0 → polyrob-1.2.0}/api/kb/__init__.py +0 -0
  1670. {polyrob-1.1.0 → polyrob-1.2.0}/api/kb/endpoints.py +0 -0
  1671. {polyrob-1.1.0 → polyrob-1.2.0}/api/mcp_models.py +0 -0
  1672. {polyrob-1.1.0 → polyrob-1.2.0}/api/mcp_routes.py +0 -0
  1673. {polyrob-1.1.0 → polyrob-1.2.0}/api/mcp_serve/__init__.py +0 -0
  1674. {polyrob-1.1.0 → polyrob-1.2.0}/api/mcp_serve/handlers.py +0 -0
  1675. {polyrob-1.1.0 → polyrob-1.2.0}/api/mcp_serve/router.py +0 -0
  1676. {polyrob-1.1.0 → polyrob-1.2.0}/api/models.py +0 -0
  1677. {polyrob-1.1.0 → polyrob-1.2.0}/api/openai_compat/__init__.py +0 -0
  1678. {polyrob-1.1.0 → polyrob-1.2.0}/api/openai_compat/errors.py +0 -0
  1679. {polyrob-1.1.0 → polyrob-1.2.0}/api/openai_compat/model_map.py +0 -0
  1680. {polyrob-1.1.0 → polyrob-1.2.0}/api/openai_compat/models.py +0 -0
  1681. {polyrob-1.1.0 → polyrob-1.2.0}/api/openai_compat/router.py +0 -0
  1682. {polyrob-1.1.0 → polyrob-1.2.0}/api/payment_endpoints.py +0 -0
  1683. {polyrob-1.1.0 → polyrob-1.2.0}/api/pricing_endpoints.py +0 -0
  1684. {polyrob-1.1.0 → polyrob-1.2.0}/api/request_limits.py +0 -0
  1685. {polyrob-1.1.0 → polyrob-1.2.0}/api/server_boot.py +0 -0
  1686. {polyrob-1.1.0 → polyrob-1.2.0}/api/session_routing.py +0 -0
  1687. {polyrob-1.1.0 → polyrob-1.2.0}/api/skill_endpoints.py +0 -0
  1688. {polyrob-1.1.0 → polyrob-1.2.0}/api/task_workspace.py +0 -0
  1689. {polyrob-1.1.0 → polyrob-1.2.0}/api/x402_advertisement.py +0 -0
  1690. {polyrob-1.1.0 → polyrob-1.2.0}/assets/__init__.py +0 -0
  1691. {polyrob-1.1.0 → polyrob-1.2.0}/assets/fonts/dejavu/DejaVuSans-Bold.ttf +0 -0
  1692. {polyrob-1.1.0 → polyrob-1.2.0}/assets/fonts/dejavu/DejaVuSans.ttf +0 -0
  1693. {polyrob-1.1.0 → polyrob-1.2.0}/assets/fonts/dejavu/LICENSE +0 -0
  1694. {polyrob-1.1.0 → polyrob-1.2.0}/cli/README.md +0 -0
  1695. {polyrob-1.1.0 → polyrob-1.2.0}/cli/__init__.py +0 -0
  1696. {polyrob-1.1.0 → polyrob-1.2.0}/cli/_admin_home.py +0 -0
  1697. {polyrob-1.1.0 → polyrob-1.2.0}/cli/attachments.py +0 -0
  1698. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/__init__.py +0 -0
  1699. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/_bootstrap.py +0 -0
  1700. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/_grouped.py +0 -0
  1701. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/_options.py +0 -0
  1702. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/_surface_runner.py +0 -0
  1703. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/approvals.py +0 -0
  1704. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/autonomy.py +0 -0
  1705. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/datagen.py +0 -0
  1706. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/discord.py +0 -0
  1707. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/finance.py +0 -0
  1708. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/journey.py +0 -0
  1709. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/keys.py +0 -0
  1710. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/knowledge.py +0 -0
  1711. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/persona.py +0 -0
  1712. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/profile.py +0 -0
  1713. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/profile_dist.py +0 -0
  1714. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/profile_transfer.py +0 -0
  1715. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/run.py +0 -0
  1716. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/serve.py +0 -0
  1717. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/signal.py +0 -0
  1718. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/skills.py +0 -0
  1719. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/slack.py +0 -0
  1720. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/subagents.py +0 -0
  1721. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/surface.py +0 -0
  1722. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/telegram.py +0 -0
  1723. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/todos.py +0 -0
  1724. {polyrob-1.1.0 → polyrob-1.2.0}/cli/commands/wallet_lp.py +0 -0
  1725. {polyrob-1.1.0 → polyrob-1.2.0}/cli/config_store.py +0 -0
  1726. {polyrob-1.1.0 → polyrob-1.2.0}/cli/delegation_receipts.py +0 -0
  1727. {polyrob-1.1.0 → polyrob-1.2.0}/cli/git_child_env.py +0 -0
  1728. {polyrob-1.1.0 → polyrob-1.2.0}/cli/gitignore.py +0 -0
  1729. {polyrob-1.1.0 → polyrob-1.2.0}/cli/inventory.py +0 -0
  1730. {polyrob-1.1.0 → polyrob-1.2.0}/cli/keys.py +0 -0
  1731. {polyrob-1.1.0 → polyrob-1.2.0}/cli/persona.py +0 -0
  1732. {polyrob-1.1.0 → polyrob-1.2.0}/cli/session_paths.py +0 -0
  1733. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/__init__.py +0 -0
  1734. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/activity.py +0 -0
  1735. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/app.py +0 -0
  1736. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/approval_prompt.py +0 -0
  1737. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/autonomy_poll.py +0 -0
  1738. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/blocks.py +0 -0
  1739. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/bootstrap_notice.py +0 -0
  1740. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/candy.py +0 -0
  1741. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/__init__.py +0 -0
  1742. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_approve.py +0 -0
  1743. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_attach.py +0 -0
  1744. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_diag.py +0 -0
  1745. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_files.py +0 -0
  1746. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_finance.py +0 -0
  1747. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_learn.py +0 -0
  1748. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_mode.py +0 -0
  1749. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_pending.py +0 -0
  1750. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_persona.py +0 -0
  1751. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_prefs.py +0 -0
  1752. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_profile.py +0 -0
  1753. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_self.py +0 -0
  1754. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_steer.py +0 -0
  1755. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/h_view_cells.py +0 -0
  1756. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/commands/window.py +0 -0
  1757. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/config_picker.py +0 -0
  1758. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/dialog.py +0 -0
  1759. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/event_registry.py +0 -0
  1760. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/event_specs.py +0 -0
  1761. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/events.py +0 -0
  1762. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/first_run_notice.py +0 -0
  1763. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/hints.py +0 -0
  1764. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/history.py +0 -0
  1765. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/identity.py +0 -0
  1766. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/input_policy.py +0 -0
  1767. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/json_renderer.py +0 -0
  1768. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/lifecycle.py +0 -0
  1769. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/line_layout.py +0 -0
  1770. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/literal.py +0 -0
  1771. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/live_hooks.py +0 -0
  1772. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/log_squelch.py +0 -0
  1773. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/model_selector.py +0 -0
  1774. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/renderer.py +0 -0
  1775. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/rich_renderer.py +0 -0
  1776. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/secrets.py +0 -0
  1777. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/slash_highlight.py +0 -0
  1778. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/streaming.py +0 -0
  1779. {polyrob-1.1.0 → polyrob-1.2.0}/cli/ui/terminal_title.py +0 -0
  1780. {polyrob-1.1.0 → polyrob-1.2.0}/cli/update/__init__.py +0 -0
  1781. {polyrob-1.1.0 → polyrob-1.2.0}/cli/update/context.py +0 -0
  1782. {polyrob-1.1.0 → polyrob-1.2.0}/cli/update/detect.py +0 -0
  1783. {polyrob-1.1.0 → polyrob-1.2.0}/cli/update/engine.py +0 -0
  1784. {polyrob-1.1.0 → polyrob-1.2.0}/cli/update/snapshot.py +0 -0
  1785. {polyrob-1.1.0 → polyrob-1.2.0}/cli/update/versions.py +0 -0
  1786. {polyrob-1.1.0 → polyrob-1.2.0}/core/README.md +0 -0
  1787. {polyrob-1.1.0 → polyrob-1.2.0}/core/__init__.py +0 -0
  1788. {polyrob-1.1.0 → polyrob-1.2.0}/core/action_receipt.py +0 -0
  1789. {polyrob-1.1.0 → polyrob-1.2.0}/core/activity_evidence.py +0 -0
  1790. {polyrob-1.1.0 → polyrob-1.2.0}/core/admin_data_home.py +0 -0
  1791. {polyrob-1.1.0 → polyrob-1.2.0}/core/app_service/__init__.py +0 -0
  1792. {polyrob-1.1.0 → polyrob-1.2.0}/core/app_service/egress.py +0 -0
  1793. {polyrob-1.1.0 → polyrob-1.2.0}/core/app_service/env_scan.py +0 -0
  1794. {polyrob-1.1.0 → polyrob-1.2.0}/core/app_service/fingerprint.py +0 -0
  1795. {polyrob-1.1.0 → polyrob-1.2.0}/core/app_service/nginx.py +0 -0
  1796. {polyrob-1.1.0 → polyrob-1.2.0}/core/approval_input.py +0 -0
  1797. {polyrob-1.1.0 → polyrob-1.2.0}/core/assets.py +0 -0
  1798. {polyrob-1.1.0 → polyrob-1.2.0}/core/async_bridge.py +0 -0
  1799. {polyrob-1.1.0 → polyrob-1.2.0}/core/backoff.py +0 -0
  1800. {polyrob-1.1.0 → polyrob-1.2.0}/core/base_component.py +0 -0
  1801. {polyrob-1.1.0 → polyrob-1.2.0}/core/bot.py +0 -0
  1802. {polyrob-1.1.0 → polyrob-1.2.0}/core/capability_verdict.py +0 -0
  1803. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/_env.py +0 -0
  1804. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/autonomy_posture.py +0 -0
  1805. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/builder_mode.py +0 -0
  1806. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/compute_posture.py +0 -0
  1807. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/flag_defaults.py +0 -0
  1808. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/flag_enums.py +0 -0
  1809. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/goal_flags.py +0 -0
  1810. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/local_profile.py +0 -0
  1811. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/memory_policy.py +0 -0
  1812. {polyrob-1.1.0 → polyrob-1.2.0}/core/config_policy/runtime_gates.py +0 -0
  1813. {polyrob-1.1.0 → polyrob-1.2.0}/core/constants.py +0 -0
  1814. {polyrob-1.1.0 → polyrob-1.2.0}/core/contract_writer.py +0 -0
  1815. {polyrob-1.1.0 → polyrob-1.2.0}/core/copy/__init__.py +0 -0
  1816. {polyrob-1.1.0 → polyrob-1.2.0}/core/copy/_engine.py +0 -0
  1817. {polyrob-1.1.0 → polyrob-1.2.0}/core/cron_rearm.py +0 -0
  1818. {polyrob-1.1.0 → polyrob-1.2.0}/core/dapp_session_store.py +0 -0
  1819. {polyrob-1.1.0 → polyrob-1.2.0}/core/doc_age.py +0 -0
  1820. {polyrob-1.1.0 → polyrob-1.2.0}/core/embedding.py +0 -0
  1821. {polyrob-1.1.0 → polyrob-1.2.0}/core/env.py +0 -0
  1822. {polyrob-1.1.0 → polyrob-1.2.0}/core/error_classifier.py +0 -0
  1823. {polyrob-1.1.0 → polyrob-1.2.0}/core/eval_manifest.py +0 -0
  1824. {polyrob-1.1.0 → polyrob-1.2.0}/core/exceptions.py +0 -0
  1825. {polyrob-1.1.0 → polyrob-1.2.0}/core/gitignore.py +0 -0
  1826. {polyrob-1.1.0 → polyrob-1.2.0}/core/home_migration.py +0 -0
  1827. {polyrob-1.1.0 → polyrob-1.2.0}/core/identity.py +0 -0
  1828. {polyrob-1.1.0 → polyrob-1.2.0}/core/knowledge_export.py +0 -0
  1829. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/__init__.py +0 -0
  1830. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/errors.py +0 -0
  1831. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/flows/__init__.py +0 -0
  1832. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/flows/base.py +0 -0
  1833. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/flows/device_code.py +0 -0
  1834. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/flows/loopback_pkce.py +0 -0
  1835. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/flows/manual_paste_pkce.py +0 -0
  1836. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/flows/registry.py +0 -0
  1837. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/health.py +0 -0
  1838. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/resolve.py +0 -0
  1839. {polyrob-1.1.0 → polyrob-1.2.0}/core/llm_auth/store.py +0 -0
  1840. {polyrob-1.1.0 → polyrob-1.2.0}/core/logging.py +0 -0
  1841. {polyrob-1.1.0 → polyrob-1.2.0}/core/maintenance_proposals.py +0 -0
  1842. {polyrob-1.1.0 → polyrob-1.2.0}/core/mcp_admin.py +0 -0
  1843. {polyrob-1.1.0 → polyrob-1.2.0}/core/pairing.py +0 -0
  1844. {polyrob-1.1.0 → polyrob-1.2.0}/core/paths.py +0 -0
  1845. {polyrob-1.1.0 → polyrob-1.2.0}/core/payments/__init__.py +0 -0
  1846. {polyrob-1.1.0 → polyrob-1.2.0}/core/payments/quote.py +0 -0
  1847. {polyrob-1.1.0 → polyrob-1.2.0}/core/profiles.py +0 -0
  1848. {polyrob-1.1.0 → polyrob-1.2.0}/core/rails/__init__.py +0 -0
  1849. {polyrob-1.1.0 → polyrob-1.2.0}/core/rails/verification.py +0 -0
  1850. {polyrob-1.1.0 → polyrob-1.2.0}/core/runtime_config.py +0 -0
  1851. {polyrob-1.1.0 → polyrob-1.2.0}/core/runtime_paths.py +0 -0
  1852. {polyrob-1.1.0 → polyrob-1.2.0}/core/seams.py +0 -0
  1853. {polyrob-1.1.0 → polyrob-1.2.0}/core/secret_scan.py +0 -0
  1854. {polyrob-1.1.0 → polyrob-1.2.0}/core/secrets.py +0 -0
  1855. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/__init__.py +0 -0
  1856. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/confined_read.py +0 -0
  1857. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/confined_write.py +0 -0
  1858. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/document_archive.py +0 -0
  1859. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/forged_turns.py +0 -0
  1860. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/http_probe.py +0 -0
  1861. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/owner_turn.py +0 -0
  1862. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/session_tokens.py +0 -0
  1863. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/threat_report.py +0 -0
  1864. {polyrob-1.1.0 → polyrob-1.2.0}/core/security/url_policy.py +0 -0
  1865. {polyrob-1.1.0 → polyrob-1.2.0}/core/security_flags.py +0 -0
  1866. {polyrob-1.1.0 → polyrob-1.2.0}/core/self_events.py +0 -0
  1867. {polyrob-1.1.0 → polyrob-1.2.0}/core/session_gc.py +0 -0
  1868. {polyrob-1.1.0 → polyrob-1.2.0}/core/ship_tree.py +0 -0
  1869. {polyrob-1.1.0 → polyrob-1.2.0}/core/sidecar_relocate.py +0 -0
  1870. {polyrob-1.1.0 → polyrob-1.2.0}/core/sqlite_util.py +0 -0
  1871. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/address_key.py +0 -0
  1872. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/attachments.py +0 -0
  1873. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/chat_policy.py +0 -0
  1874. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/circuit.py +0 -0
  1875. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/conversations.py +0 -0
  1876. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/correspondents.py +0 -0
  1877. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/dead_targets.py +0 -0
  1878. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/deep_link.py +0 -0
  1879. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/error_notices.py +0 -0
  1880. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/gc.py +0 -0
  1881. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/group_admin.py +0 -0
  1882. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/group_allowlist.py +0 -0
  1883. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/group_ledger.py +0 -0
  1884. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/group_roles.py +0 -0
  1885. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/health.py +0 -0
  1886. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/inbox.py +0 -0
  1887. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/ledger_ingest.py +0 -0
  1888. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/llm_outage_notice.py +0 -0
  1889. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/missed.py +0 -0
  1890. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/outbound_allowlist.py +0 -0
  1891. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/outbound_dispatcher.py +0 -0
  1892. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/outbound_mirror.py +0 -0
  1893. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/outbound_policy.py +0 -0
  1894. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/outbound_queue.py +0 -0
  1895. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/owner_target.py +0 -0
  1896. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/owner_turn.py +0 -0
  1897. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/path_links.py +0 -0
  1898. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/poll_health.py +0 -0
  1899. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/proactive.py +0 -0
  1900. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/progress.py +0 -0
  1901. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/quiet_hours.py +0 -0
  1902. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/recap.py +0 -0
  1903. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/registry.py +0 -0
  1904. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/rendering.py +0 -0
  1905. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/room_action_admin.py +0 -0
  1906. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/room_action_store.py +0 -0
  1907. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/room_caps.py +0 -0
  1908. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/room_focus.py +0 -0
  1909. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/room_keys.py +0 -0
  1910. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/room_label.py +0 -0
  1911. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/seed.py +0 -0
  1912. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/serialize.py +0 -0
  1913. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/session_chat_registry.py +0 -0
  1914. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/session_policy.py +0 -0
  1915. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/spill.py +0 -0
  1916. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/voice_echo.py +0 -0
  1917. {polyrob-1.1.0 → polyrob-1.2.0}/core/surfaces/voice_guard.py +0 -0
  1918. {polyrob-1.1.0 → polyrob-1.2.0}/core/tickers.py +0 -0
  1919. {polyrob-1.1.0 → polyrob-1.2.0}/core/token_denylist.py +0 -0
  1920. {polyrob-1.1.0 → polyrob-1.2.0}/core/wake_queue.py +0 -0
  1921. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/abi.py +0 -0
  1922. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/balance_cache.py +0 -0
  1923. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/bridge_status.py +0 -0
  1924. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/bridge_watcher.py +0 -0
  1925. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/broadcast/__init__.py +0 -0
  1926. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/broadcast/receipt_validation.py +0 -0
  1927. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/contracts/FixedSupplyToken.sol +0 -0
  1928. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/infra_error.py +0 -0
  1929. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/public_identity.py +0 -0
  1930. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/relay_svm.py +0 -0
  1931. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/rpc_response.py +0 -0
  1932. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/signer.py +0 -0
  1933. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/solana_strays.py +0 -0
  1934. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/token_template.py +0 -0
  1935. {polyrob-1.1.0 → polyrob-1.2.0}/core/wallet/univ3_math.py +0 -0
  1936. {polyrob-1.1.0 → polyrob-1.2.0}/cron/__init__.py +0 -0
  1937. {polyrob-1.1.0 → polyrob-1.2.0}/cron/approval_defer.py +0 -0
  1938. {polyrob-1.1.0 → polyrob-1.2.0}/cron/jobs.py +0 -0
  1939. {polyrob-1.1.0 → polyrob-1.2.0}/cron/room_service.py +0 -0
  1940. {polyrob-1.1.0 → polyrob-1.2.0}/cron/scheduler.py +0 -0
  1941. {polyrob-1.1.0 → polyrob-1.2.0}/cron/wake_gate.py +0 -0
  1942. {polyrob-1.1.0 → polyrob-1.2.0}/data/__init__.py +0 -0
  1943. {polyrob-1.1.0 → polyrob-1.2.0}/data/characters/analyst.character.json +0 -0
  1944. {polyrob-1.1.0 → polyrob-1.2.0}/data/characters/coder.character.json +0 -0
  1945. {polyrob-1.1.0 → polyrob-1.2.0}/data/characters/default.character.json +0 -0
  1946. {polyrob-1.1.0 → polyrob-1.2.0}/data/characters/ops.character.json +0 -0
  1947. {polyrob-1.1.0 → polyrob-1.2.0}/data/characters/researcher.character.json +0 -0
  1948. {polyrob-1.1.0 → polyrob-1.2.0}/data/characters/writer.character.json +0 -0
  1949. {polyrob-1.1.0 → polyrob-1.2.0}/data/prompts/skills/coding-workflow/SKILL.md +0 -0
  1950. {polyrob-1.1.0 → polyrob-1.2.0}/data/prompts/skills/file-data-ops/SKILL.md +0 -0
  1951. {polyrob-1.1.0 → polyrob-1.2.0}/data/prompts/skills/market-research-brief/SKILL.md +0 -0
  1952. {polyrob-1.1.0 → polyrob-1.2.0}/data/prompts/skills/polyrob-user-guide/references/skills-and-learning.md +0 -0
  1953. {polyrob-1.1.0 → polyrob-1.2.0}/data/prompts/skills/presentation-creator/SKILL.md +0 -0
  1954. {polyrob-1.1.0 → polyrob-1.2.0}/data/prompts/skills/project-analyzer/SKILL.md +0 -0
  1955. {polyrob-1.1.0 → polyrob-1.2.0}/data/subscription_channels.json +0 -0
  1956. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/__init__.py +0 -0
  1957. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/assemble.py +0 -0
  1958. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/batch_runner.py +0 -0
  1959. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/bulk_export.py +0 -0
  1960. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/capture.py +0 -0
  1961. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/formats.py +0 -0
  1962. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/record.py +0 -0
  1963. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/scrub.py +0 -0
  1964. {polyrob-1.1.0 → polyrob-1.2.0}/datagen/toolset_distributions.py +0 -0
  1965. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/deployment-postures.md +0 -0
  1966. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/migration/README.md +0 -0
  1967. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/migration/from-hermes.md +0 -0
  1968. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/migration/from-openclaw.md +0 -0
  1969. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/profiles.md +0 -0
  1970. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/rails-verification.md +0 -0
  1971. {polyrob-1.1.0 → polyrob-1.2.0}/docs/guide/upgrading.md +0 -0
  1972. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/README.md +0 -0
  1973. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/__init__.py +0 -0
  1974. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/boot.py +0 -0
  1975. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/__init__.py +0 -0
  1976. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_0_0_baseline.py +0 -0
  1977. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_1_0_user_mcp_servers.py +0 -0
  1978. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_2_0_den_token_bonuses.py +0 -0
  1979. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_3_0_billing_failures.py +0 -0
  1980. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_4_0_polymarket_credentials.py +0 -0
  1981. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_5_0_usage_records_request_id.py +0 -0
  1982. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_6_0_x402_tx_hash_unique.py +0 -0
  1983. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_7_0_x402_subscription_pending_unique.py +0 -0
  1984. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_8_0_x402_tx_hash_case_normalize.py +0 -0
  1985. {polyrob-1.1.0 → polyrob-1.2.0}/migrations/versions/v1_9_0_x402_payment_asset_columns.py +0 -0
  1986. {polyrob-1.1.0 → polyrob-1.2.0}/modules/__init__.py +0 -0
  1987. {polyrob-1.1.0 → polyrob-1.2.0}/modules/auth/__init__.py +0 -0
  1988. {polyrob-1.1.0 → polyrob-1.2.0}/modules/auth/api_key_manager.py +0 -0
  1989. {polyrob-1.1.0 → polyrob-1.2.0}/modules/auth/tier_manager.py +0 -0
  1990. {polyrob-1.1.0 → polyrob-1.2.0}/modules/base_module.py +0 -0
  1991. {polyrob-1.1.0 → polyrob-1.2.0}/modules/credits/__init__.py +0 -0
  1992. {polyrob-1.1.0 → polyrob-1.2.0}/modules/credits/balance_manager.py +0 -0
  1993. {polyrob-1.1.0 → polyrob-1.2.0}/modules/credits/cost_utils.py +0 -0
  1994. {polyrob-1.1.0 → polyrob-1.2.0}/modules/credits/usage_rollup.py +0 -0
  1995. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/__init__.py +0 -0
  1996. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/audit_log.py +0 -0
  1997. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/connection.py +0 -0
  1998. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/conversation_contexts.py +0 -0
  1999. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/database_manager.py +0 -0
  2000. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/user_mcp_servers.py +0 -0
  2001. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/user_profiles.py +0 -0
  2002. {polyrob-1.1.0 → polyrob-1.2.0}/modules/database/x402_tables.py +0 -0
  2003. {polyrob-1.1.0 → polyrob-1.2.0}/modules/eip8004/__init__.py +0 -0
  2004. {polyrob-1.1.0 → polyrob-1.2.0}/modules/eip8004/contracts.py +0 -0
  2005. {polyrob-1.1.0 → polyrob-1.2.0}/modules/eip8004/payment_proof.py +0 -0
  2006. {polyrob-1.1.0 → polyrob-1.2.0}/modules/eip8004/validation.py +0 -0
  2007. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/__init__.py +0 -0
  2008. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/anthropic_images.py +0 -0
  2009. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/available_models.py +0 -0
  2010. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/brain_scrubber.py +0 -0
  2011. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/gemini_parts.py +0 -0
  2012. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/llm_client.py +0 -0
  2013. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/manager_inventory.py +0 -0
  2014. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/model_catalog_recent.py +0 -0
  2015. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/nvidia_client.py +0 -0
  2016. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/openrouter_routing.py +0 -0
  2017. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/output_budget.py +0 -0
  2018. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/profiles.py +0 -0
  2019. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/provider_spec.py +0 -0
  2020. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/retry_log.py +0 -0
  2021. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/sdk_caps.py +0 -0
  2022. {polyrob-1.1.0 → polyrob-1.2.0}/modules/llm/think_scrubber.py +0 -0
  2023. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/__init__.py +0 -0
  2024. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/memory_manager.py +0 -0
  2025. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/models.py +0 -0
  2026. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/provider.py +0 -0
  2027. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/sqlite_episodes_store.py +0 -0
  2028. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/sqlite_kb_store.py +0 -0
  2029. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/task/context_retriever.py +0 -0
  2030. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/task/lexical_retriever.py +0 -0
  2031. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/task/null_context_manager.py +0 -0
  2032. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/task/phase_manager.py +0 -0
  2033. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/task/reflection_service.py +0 -0
  2034. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/task/threat_scan.py +0 -0
  2035. {polyrob-1.1.0 → polyrob-1.2.0}/modules/memory/wikilinks.py +0 -0
  2036. {polyrob-1.1.0 → polyrob-1.2.0}/modules/payments/__init__.py +0 -0
  2037. {polyrob-1.1.0 → polyrob-1.2.0}/modules/payments/networks.py +0 -0
  2038. {polyrob-1.1.0 → polyrob-1.2.0}/modules/payments/price_oracle.py +0 -0
  2039. {polyrob-1.1.0 → polyrob-1.2.0}/modules/skills/__init__.py +0 -0
  2040. {polyrob-1.1.0 → polyrob-1.2.0}/modules/skills/skill_usage.py +0 -0
  2041. {polyrob-1.1.0 → polyrob-1.2.0}/modules/transcription/__init__.py +0 -0
  2042. {polyrob-1.1.0 → polyrob-1.2.0}/modules/transcription/base.py +0 -0
  2043. {polyrob-1.1.0 → polyrob-1.2.0}/modules/transcription/faster_whisper_transcriber.py +0 -0
  2044. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/README.md +0 -0
  2045. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/__init__.py +0 -0
  2046. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/_db.py +0 -0
  2047. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/artifact.py +0 -0
  2048. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/invoice_assets.py +0 -0
  2049. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/invoice_sizing.py +0 -0
  2050. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/invoice_status.py +0 -0
  2051. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/invoicing_note.py +0 -0
  2052. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/settlement_notify.py +0 -0
  2053. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/settlement_reputation.py +0 -0
  2054. {polyrob-1.1.0 → polyrob-1.2.0}/modules/x402/settlement_watcher.py +0 -0
  2055. {polyrob-1.1.0/tools → polyrob-1.2.0/packs/discovery/polyrob_discovery}/anysite/__init__.py +0 -0
  2056. {polyrob-1.1.0/data/prompts → polyrob-1.2.0/packs/discovery/polyrob_discovery}/skills/lead-research/SKILL.md +0 -0
  2057. /polyrob-1.1.0/api/hyperliquid_models.py → /polyrob-1.2.0/packs/markets/polyrob_markets/hyperliquid/api_models.py +0 -0
  2058. /polyrob-1.1.0/api/polymarket_models.py → /polyrob-1.2.0/packs/markets/polyrob_markets/polymarket/api_models.py +0 -0
  2059. {polyrob-1.1.0/tools → polyrob-1.2.0/packs/markets/polyrob_markets}/polymarket/clob_adapter.py +0 -0
  2060. {polyrob-1.1.0/surfaces → polyrob-1.2.0/packs/x/polyrob_x/commands}/__init__.py +0 -0
  2061. {polyrob-1.1.0/surfaces/x → polyrob-1.2.0/packs/x/polyrob_x/surface}/__init__.py +0 -0
  2062. {polyrob-1.1.0/surfaces/x → polyrob-1.2.0/packs/x/polyrob_x/surface}/surface.py +0 -0
  2063. {polyrob-1.1.0/tools → polyrob-1.2.0/packs/x/polyrob_x}/x_chat_client.py +0 -0
  2064. {polyrob-1.1.0 → polyrob-1.2.0}/polyrob.egg-info/dependency_links.txt +0 -0
  2065. {polyrob-1.1.0 → polyrob-1.2.0}/setup.cfg +0 -0
  2066. {polyrob-1.1.0/surfaces/email → polyrob-1.2.0/surfaces}/__init__.py +0 -0
  2067. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/discord/__init__.py +0 -0
  2068. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/discord/client.py +0 -0
  2069. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/discord/surface.py +0 -0
  2070. {polyrob-1.1.0/surfaces/telegram → polyrob-1.2.0/surfaces/email}/__init__.py +0 -0
  2071. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/email/dedup.py +0 -0
  2072. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/email/inbound.py +0 -0
  2073. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/email/surface.py +0 -0
  2074. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/signal/__init__.py +0 -0
  2075. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/slack/__init__.py +0 -0
  2076. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/slack/client.py +0 -0
  2077. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/slack/surface.py +0 -0
  2078. {polyrob-1.1.0/surfaces/whatsapp → polyrob-1.2.0/surfaces/telegram}/__init__.py +0 -0
  2079. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/apps_ops.py +0 -0
  2080. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/claim_ops.py +0 -0
  2081. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/contacts_ops.py +0 -0
  2082. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/dapp_ops.py +0 -0
  2083. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/dedup.py +0 -0
  2084. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/identity_ops.py +0 -0
  2085. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/interactive_tools.py +0 -0
  2086. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/lp_ops.py +0 -0
  2087. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/media.py +0 -0
  2088. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/moderation.py +0 -0
  2089. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/rate_limit.py +0 -0
  2090. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/room_moderator.py +0 -0
  2091. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/room_turn.py +0 -0
  2092. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/triggers.py +0 -0
  2093. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/telegram/voice.py +0 -0
  2094. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/whatsapp/client.py +0 -0
  2095. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/whatsapp/harness.py +0 -0
  2096. {polyrob-1.1.0 → polyrob-1.2.0}/surfaces/whatsapp/window.py +0 -0
  2097. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_a2a_protocol.py +0 -0
  2098. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_accessibility_snapshot.py +0 -0
  2099. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_bool_env_parse_ratchet.py +0 -0
  2100. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_core_server_boundary.py +0 -0
  2101. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_dynamic_pricing.py +0 -0
  2102. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_embedder_needed.py +0 -0
  2103. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_gemini_fixes.py +0 -0
  2104. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_home_binding_ratchet.py +0 -0
  2105. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_import_layering.py +0 -0
  2106. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_lazy_embedder.py +0 -0
  2107. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_llm_timeout_ssot.py +0 -0
  2108. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_mcp_tool_fix.py +0 -0
  2109. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_numeric_env_parse_ratchet.py +0 -0
  2110. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_paid_room_action_ratchet.py +0 -0
  2111. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_path_ratchet.py +0 -0
  2112. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_private_cleanup_ratchet.py +0 -0
  2113. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_provider_registry_ratchet.py +0 -0
  2114. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_public_docs_links.py +0 -0
  2115. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_public_files_present.py +0 -0
  2116. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_public_release_surface.py +0 -0
  2117. {polyrob-1.1.0 → polyrob-1.2.0}/tests/test_rename_tail.py +0 -0
  2118. {polyrob-1.1.0 → polyrob-1.2.0}/tools/alchemy/__init__.py +0 -0
  2119. {polyrob-1.1.0 → polyrob-1.2.0}/tools/app_service/__init__.py +0 -0
  2120. {polyrob-1.1.0 → polyrob-1.2.0}/tools/base_tool.py +0 -0
  2121. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/__init__.py +0 -0
  2122. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/_flags.py +0 -0
  2123. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/actions.py +0 -0
  2124. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/browser_manager.py +0 -0
  2125. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/context.py +0 -0
  2126. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/launch_security.py +0 -0
  2127. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/playwright_utils.py +0 -0
  2128. {polyrob-1.1.0 → polyrob-1.2.0}/tools/browser/views.py +0 -0
  2129. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/SANDBOX_SECURITY.md +0 -0
  2130. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/__init__.py +0 -0
  2131. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/backend.py +0 -0
  2132. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/backend_cache.py +0 -0
  2133. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/backends/__init__.py +0 -0
  2134. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/backends/_proc.py +0 -0
  2135. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/backends/bounded_capture.py +0 -0
  2136. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/env_policy.py +0 -0
  2137. {polyrob-1.1.0 → polyrob-1.2.0}/tools/code_exec/sandbox_guard.py +0 -0
  2138. {polyrob-1.1.0 → polyrob-1.2.0}/tools/coding/__init__.py +0 -0
  2139. {polyrob-1.1.0 → polyrob-1.2.0}/tools/coding/snapshot.py +0 -0
  2140. {polyrob-1.1.0 → polyrob-1.2.0}/tools/collabland/__init__.py +0 -0
  2141. {polyrob-1.1.0 → polyrob-1.2.0}/tools/collabland/collabland_tool.py +0 -0
  2142. {polyrob-1.1.0/tools/dom → polyrob-1.2.0/tools/controller}/__init__.py +0 -0
  2143. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/emit.py +0 -0
  2144. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/execution_context.py +0 -0
  2145. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/hooks.py +0 -0
  2146. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/registry/__init__.py +0 -0
  2147. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/registry/schema_sanitizer.py +0 -0
  2148. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/registry/views.py +0 -0
  2149. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/tool_search_actions.py +0 -0
  2150. {polyrob-1.1.0 → polyrob-1.2.0}/tools/controller/types.py +0 -0
  2151. {polyrob-1.1.0 → polyrob-1.2.0}/tools/credential_cache.py +0 -0
  2152. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dapp_browser/__init__.py +0 -0
  2153. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dapp_browser/registration.py +0 -0
  2154. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/lp_abi.py +0 -0
  2155. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/lp_reads.py +0 -0
  2156. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/lp_receipts.py +0 -0
  2157. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/lp_valuation.py +0 -0
  2158. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/nft_verbs.py +0 -0
  2159. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/pool_screen.py +0 -0
  2160. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/providers/__init__.py +0 -0
  2161. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/providers/relay_bridge.py +0 -0
  2162. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/providers/routes/lifi.py +0 -0
  2163. {polyrob-1.1.0 → polyrob-1.2.0}/tools/defi/providers/routes/univ3_route.py +0 -0
  2164. {polyrob-1.1.0 → polyrob-1.2.0}/tools/document_worker.py +0 -0
  2165. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dom/buildDomTree.js +0 -0
  2166. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dom/history_tree_processor/service.py +0 -0
  2167. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dom/history_tree_processor/view.py +0 -0
  2168. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dom/service.py +0 -0
  2169. {polyrob-1.1.0 → polyrob-1.2.0}/tools/dom/views.py +0 -0
  2170. {polyrob-1.1.0 → polyrob-1.2.0}/tools/email_providers/__init__.py +0 -0
  2171. {polyrob-1.1.0 → polyrob-1.2.0}/tools/email_providers/agentmail.py +0 -0
  2172. {polyrob-1.1.0 → polyrob-1.2.0}/tools/exceptions.py +0 -0
  2173. {polyrob-1.1.0 → polyrob-1.2.0}/tools/git/__init__.py +0 -0
  2174. {polyrob-1.1.0 → polyrob-1.2.0}/tools/github/__init__.py +0 -0
  2175. {polyrob-1.1.0 → polyrob-1.2.0}/tools/github/client.py +0 -0
  2176. {polyrob-1.1.0 → polyrob-1.2.0}/tools/hf_deploy/reconcile.py +0 -0
  2177. {polyrob-1.1.0 → polyrob-1.2.0}/tools/hf_deploy/registry.py +0 -0
  2178. {polyrob-1.1.0 → polyrob-1.2.0}/tools/knowledge_inventory.py +0 -0
  2179. {polyrob-1.1.0 → polyrob-1.2.0}/tools/launchpad/__init__.py +0 -0
  2180. {polyrob-1.1.0 → polyrob-1.2.0}/tools/launchpad/pons.py +0 -0
  2181. {polyrob-1.1.0 → polyrob-1.2.0}/tools/launchpad/pons_abi.py +0 -0
  2182. {polyrob-1.1.0 → polyrob-1.2.0}/tools/launchpad/registration.py +0 -0
  2183. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/README.md +0 -0
  2184. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/__init__.py +0 -0
  2185. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/catalog.py +0 -0
  2186. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/child_env.py +0 -0
  2187. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/config.py +0 -0
  2188. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/oauth_bridge.py +0 -0
  2189. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/param_coercion.py +0 -0
  2190. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/rate_limit.py +0 -0
  2191. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/security.py +0 -0
  2192. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/self_install.py +0 -0
  2193. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/subscriptions.py +0 -0
  2194. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/validation_tracker.py +0 -0
  2195. {polyrob-1.1.0 → polyrob-1.2.0}/tools/mcp/views.py +0 -0
  2196. {polyrob-1.1.0 → polyrob-1.2.0}/tools/oauth/__init__.py +0 -0
  2197. {polyrob-1.1.0 → polyrob-1.2.0}/tools/oauth/file_store.py +0 -0
  2198. {polyrob-1.1.0 → polyrob-1.2.0}/tools/oauth/manager.py +0 -0
  2199. {polyrob-1.1.0 → polyrob-1.2.0}/tools/oauth/provider.py +0 -0
  2200. {polyrob-1.1.0 → polyrob-1.2.0}/tools/oauth/providers/__init__.py +0 -0
  2201. {polyrob-1.1.0 → polyrob-1.2.0}/tools/oauth/providers/generic_oauth2.py +0 -0
  2202. {polyrob-1.1.0 → polyrob-1.2.0}/tools/publish/__init__.py +0 -0
  2203. {polyrob-1.1.0 → polyrob-1.2.0}/tools/self_env/__init__.py +0 -0
  2204. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/__init__.py +0 -0
  2205. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/backend_pool.py +0 -0
  2206. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/discipline.py +0 -0
  2207. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/executor.py +0 -0
  2208. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/loopback_allow.py +0 -0
  2209. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/process_registry.py +0 -0
  2210. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/process_tool.py +0 -0
  2211. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/state.py +0 -0
  2212. {polyrob-1.1.0 → polyrob-1.2.0}/tools/shell/tool.py +0 -0
  2213. {polyrob-1.1.0 → polyrob-1.2.0}/tools/ship_common.py +0 -0
  2214. {polyrob-1.1.0 → polyrob-1.2.0}/tools/task_tool.py +0 -0
  2215. {polyrob-1.1.0 → polyrob-1.2.0}/tools/user_directory.py +0 -0
  2216. {polyrob-1.1.0 → polyrob-1.2.0}/tools/wallet_holder.py +0 -0
  2217. {polyrob-1.1.0 → polyrob-1.2.0}/tools/web_fetch/__init__.py +0 -0
  2218. {polyrob-1.1.0 → polyrob-1.2.0}/tools/web_fetch/render.py +0 -0
  2219. {polyrob-1.1.0 → polyrob-1.2.0}/tools/web_fetch/tool.py +0 -0
  2220. {polyrob-1.1.0 → polyrob-1.2.0}/tools/x402/__init__.py +0 -0
  2221. {polyrob-1.1.0 → polyrob-1.2.0}/utils/README.md +0 -0
  2222. {polyrob-1.1.0 → polyrob-1.2.0}/utils/__init__.py +0 -0
  2223. {polyrob-1.1.0 → polyrob-1.2.0}/utils/auth_utils.py +0 -0
  2224. {polyrob-1.1.0 → polyrob-1.2.0}/utils/bounded_collections.py +0 -0
  2225. {polyrob-1.1.0 → polyrob-1.2.0}/utils/circuit_breaker.py +0 -0
  2226. {polyrob-1.1.0 → polyrob-1.2.0}/utils/path_validator.py +0 -0
  2227. {polyrob-1.1.0 → polyrob-1.2.0}/utils/rate_limit_manager.py +0 -0
  2228. {polyrob-1.1.0 → polyrob-1.2.0}/utils/result_size.py +0 -0
  2229. {polyrob-1.1.0 → polyrob-1.2.0}/utils/time_utils.py +0 -0
  2230. {polyrob-1.1.0 → polyrob-1.2.0}/utils/user_utils.py +0 -0
  2231. {polyrob-1.1.0 → polyrob-1.2.0}/webview/__init__.py +0 -0
  2232. {polyrob-1.1.0 → polyrob-1.2.0}/webview/apps_routes.py +0 -0
  2233. {polyrob-1.1.0 → polyrob-1.2.0}/webview/audit.py +0 -0
  2234. {polyrob-1.1.0 → polyrob-1.2.0}/webview/config_view.py +0 -0
  2235. {polyrob-1.1.0 → polyrob-1.2.0}/webview/cors.py +0 -0
  2236. {polyrob-1.1.0 → polyrob-1.2.0}/webview/dev/package-lock.json +0 -0
  2237. {polyrob-1.1.0 → polyrob-1.2.0}/webview/dev/package.json +0 -0
  2238. {polyrob-1.1.0 → polyrob-1.2.0}/webview/emit_api.py +0 -0
  2239. {polyrob-1.1.0 → polyrob-1.2.0}/webview/inbox.py +0 -0
  2240. {polyrob-1.1.0 → polyrob-1.2.0}/webview/owner_auth.py +0 -0
  2241. {polyrob-1.1.0 → polyrob-1.2.0}/webview/posture_routes.py +0 -0
  2242. {polyrob-1.1.0 → polyrob-1.2.0}/webview/repair_sessions.py +0 -0
  2243. {polyrob-1.1.0 → polyrob-1.2.0}/webview/serve_tokens.py +0 -0
  2244. {polyrob-1.1.0 → polyrob-1.2.0}/webview/server_launcher.py +0 -0
  2245. {polyrob-1.1.0 → polyrob-1.2.0}/webview/session_access.py +0 -0
  2246. {polyrob-1.1.0 → polyrob-1.2.0}/webview/session_identity.py +0 -0
  2247. {polyrob-1.1.0 → polyrob-1.2.0}/webview/socket_auth.py +0 -0
  2248. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/file-attach.js +0 -0
  2249. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/inbox.js +0 -0
  2250. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/palette.js +0 -0
  2251. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/settings-control.js +0 -0
  2252. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/socket-client.js +0 -0
  2253. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/work-apps.js +0 -0
  2254. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/work-create.js +0 -0
  2255. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/work-now.js +0 -0
  2256. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/app/worklog.js +0 -0
  2257. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/css/fonts.css +0 -0
  2258. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/css/pages/admin.css +0 -0
  2259. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/css/pages/signin.css +0 -0
  2260. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/css/style.css +0 -0
  2261. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/css/variables.css +0 -0
  2262. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/fonts/JetBrainsMono-Medium.woff2 +0 -0
  2263. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/fonts/JetBrainsMono-Regular.woff2 +0 -0
  2264. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/fonts/LICENSE-JetBrainsMono +0 -0
  2265. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/fonts/LICENSE-VT323 +0 -0
  2266. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/fonts/VT323-Regular.woff2 +0 -0
  2267. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/img/favicon.ico +0 -0
  2268. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/admin/activity.js +0 -0
  2269. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/admin/dashboard.js +0 -0
  2270. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/admin/user_detail.js +0 -0
  2271. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/admin/users.js +0 -0
  2272. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/admin/utils.js +0 -0
  2273. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/constants.js +0 -0
  2274. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/error-handler.js +0 -0
  2275. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/error-page.js +0 -0
  2276. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/ethers.min.js +0 -0
  2277. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/signin.js +0 -0
  2278. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/socket.io.min.js +0 -0
  2279. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/status-uptime.js +0 -0
  2280. {polyrob-1.1.0 → polyrob-1.2.0}/webview/static/js/theme.js +0 -0
  2281. {polyrob-1.1.0 → polyrob-1.2.0}/webview/stats_service.py +0 -0
  2282. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/__init__.py +0 -0
  2283. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/admin/activity.html +0 -0
  2284. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/admin/dashboard.html +0 -0
  2285. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/admin/user_detail.html +0 -0
  2286. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/admin/users.html +0 -0
  2287. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/layout.html +0 -0
  2288. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/signin.html +0 -0
  2289. {polyrob-1.1.0 → polyrob-1.2.0}/webview/templates/status.html +0 -0
  2290. {polyrob-1.1.0 → polyrob-1.2.0}/webview/theme.py +0 -0
  2291. {polyrob-1.1.0 → polyrob-1.2.0}/webview/wallet_reader.py +0 -0
  2292. {polyrob-1.1.0 → polyrob-1.2.0}/webview/webgate.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.0/PKG-INFO ADDED
@@ -0,0 +1,606 @@
1
+ Metadata-Version: 2.4
2
+ Name: polyrob
3
+ Version: 1.2.0
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>