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