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