polyrob 1.0.2__tar.gz → 1.1.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 (1672) hide show
  1. polyrob-1.1.0/PKG-INFO +565 -0
  2. polyrob-1.1.0/agents/task/agent/agent_state.py +411 -0
  3. polyrob-1.1.0/agents/task/agent/core/construction.py +1492 -0
  4. polyrob-1.1.0/agents/task/agent/core/llm_runner.py +688 -0
  5. polyrob-1.1.0/agents/task/agent/core/next_action_internal.py +1568 -0
  6. polyrob-1.1.0/agents/task/agent/core/output_truncation.py +131 -0
  7. polyrob-1.1.0/agents/task/agent/core/result_budget.py +60 -0
  8. polyrob-1.1.0/agents/task/agent/core/result_processing.py +457 -0
  9. polyrob-1.1.0/agents/task/agent/core/run_loop.py +767 -0
  10. polyrob-1.1.0/agents/task/agent/core/step.py +916 -0
  11. polyrob-1.1.0/agents/task/agent/core/step_execution.py +416 -0
  12. polyrob-1.1.0/agents/task/agent/core/timeout_reroute.py +92 -0
  13. polyrob-1.1.0/agents/task/agent/core/token_budget.py +29 -0
  14. polyrob-1.1.0/agents/task/agent/core/tool_availability.py +144 -0
  15. polyrob-1.1.0/agents/task/agent/message_manager/service.py +850 -0
  16. polyrob-1.1.0/agents/task/agent/messages/compactor.py +686 -0
  17. polyrob-1.1.0/agents/task/agent/messages/filters.py +343 -0
  18. polyrob-1.1.0/agents/task/agent/messages/retrieval.py +611 -0
  19. polyrob-1.1.0/agents/task/agent/messages/token_counter.py +663 -0
  20. polyrob-1.1.0/agents/task/agent/prompts.py +1488 -0
  21. polyrob-1.1.0/agents/task/agent/skill_writer.py +640 -0
  22. polyrob-1.1.0/agents/task/agent/tool_call_tracker.py +434 -0
  23. polyrob-1.1.0/agents/task/constants.py +758 -0
  24. polyrob-1.1.0/agents/task/goals/board.py +2316 -0
  25. polyrob-1.1.0/agents/task/goals/context.py +219 -0
  26. polyrob-1.1.0/agents/task/goals/dispatcher.py +2288 -0
  27. polyrob-1.1.0/agents/task/goals/preflight.py +151 -0
  28. polyrob-1.1.0/agents/task/runtime/run_as_session.py +354 -0
  29. polyrob-1.1.0/agents/task/session_class.py +74 -0
  30. polyrob-1.1.0/agents/task/task_agent_chat.py +546 -0
  31. polyrob-1.1.0/agents/task/task_agent_delivery.py +971 -0
  32. polyrob-1.1.0/agents/task/task_agent_lifecycle.py +500 -0
  33. polyrob-1.1.0/agents/task/tool_defaults.py +223 -0
  34. polyrob-1.1.0/api/README.md +746 -0
  35. polyrob-1.1.0/api/TASK_API_DOCS.md +180 -0
  36. polyrob-1.1.0/api/a2a/agent_card.py +370 -0
  37. polyrob-1.1.0/api/a2a/endpoints.py +453 -0
  38. polyrob-1.1.0/api/a2a/models.py +299 -0
  39. polyrob-1.1.0/api/a2a/streaming.py +470 -0
  40. polyrob-1.1.0/api/a2a/task_handler.py +1069 -0
  41. polyrob-1.1.0/api/admin_endpoints.py +1525 -0
  42. polyrob-1.1.0/api/api_key_auth.py +147 -0
  43. polyrob-1.1.0/api/app.py +1081 -0
  44. polyrob-1.1.0/api/auth_constants.py +109 -0
  45. polyrob-1.1.0/api/auth_endpoints.py +465 -0
  46. polyrob-1.1.0/api/base_url.py +69 -0
  47. polyrob-1.1.0/api/dependencies.py +289 -0
  48. polyrob-1.1.0/api/eip8004_endpoints.py +489 -0
  49. polyrob-1.1.0/api/hyperliquid_routes.py +445 -0
  50. polyrob-1.1.0/api/kb/endpoints.py +319 -0
  51. polyrob-1.1.0/api/mcp_serve/handlers.py +410 -0
  52. polyrob-1.1.0/api/middleware.py +422 -0
  53. polyrob-1.1.0/api/models.py +214 -0
  54. polyrob-1.1.0/api/openai_compat/errors.py +173 -0
  55. polyrob-1.1.0/api/openai_compat/models.py +147 -0
  56. polyrob-1.1.0/api/openai_compat/router.py +256 -0
  57. polyrob-1.1.0/api/payment_endpoints.py +432 -0
  58. polyrob-1.1.0/api/payment_verification.py +154 -0
  59. polyrob-1.1.0/api/pricing_endpoints.py +112 -0
  60. polyrob-1.1.0/api/request_limits.py +142 -0
  61. polyrob-1.1.0/api/server_boot.py +132 -0
  62. polyrob-1.1.0/api/task_http_api.py +1875 -0
  63. polyrob-1.1.0/api/task_workspace.py +129 -0
  64. polyrob-1.1.0/api/x402_advertisement.py +151 -0
  65. polyrob-1.1.0/api/x402_endpoints.py +515 -0
  66. polyrob-1.1.0/cli/README.md +114 -0
  67. polyrob-1.1.0/cli/_admin_home.py +178 -0
  68. polyrob-1.1.0/cli/commands/approvals.py +178 -0
  69. polyrob-1.1.0/cli/commands/apps.py +199 -0
  70. polyrob-1.1.0/cli/commands/autonomy.py +242 -0
  71. polyrob-1.1.0/cli/commands/chat.py +1138 -0
  72. polyrob-1.1.0/cli/commands/config.py +717 -0
  73. polyrob-1.1.0/cli/commands/cron.py +475 -0
  74. polyrob-1.1.0/cli/commands/doctor.py +1336 -0
  75. polyrob-1.1.0/cli/commands/finance.py +57 -0
  76. polyrob-1.1.0/cli/commands/goals.py +658 -0
  77. polyrob-1.1.0/cli/commands/identity.py +126 -0
  78. polyrob-1.1.0/cli/commands/keys.py +218 -0
  79. polyrob-1.1.0/cli/commands/owner.py +1634 -0
  80. polyrob-1.1.0/cli/commands/profile.py +638 -0
  81. polyrob-1.1.0/cli/commands/serve.py +60 -0
  82. polyrob-1.1.0/cli/commands/session.py +654 -0
  83. polyrob-1.1.0/cli/commands/subagents.py +135 -0
  84. polyrob-1.1.0/cli/commands/surface.py +209 -0
  85. polyrob-1.1.0/cli/commands/todos.py +251 -0
  86. polyrob-1.1.0/cli/commands/tools.py +165 -0
  87. polyrob-1.1.0/cli/commands/update.py +471 -0
  88. polyrob-1.1.0/cli/commands/wallet.py +1611 -0
  89. polyrob-1.1.0/cli/commands/wallet_lp.py +120 -0
  90. polyrob-1.1.0/cli/commands/x_account.py +453 -0
  91. polyrob-1.1.0/cli/ui/autonomy_poll.py +62 -0
  92. polyrob-1.1.0/cli/ui/banner.py +242 -0
  93. polyrob-1.1.0/cli/ui/commands/h_a23.py +42 -0
  94. polyrob-1.1.0/cli/ui/commands/h_approve.py +197 -0
  95. polyrob-1.1.0/cli/ui/commands/h_autonomy.py +170 -0
  96. polyrob-1.1.0/cli/ui/commands/h_cron.py +179 -0
  97. polyrob-1.1.0/cli/ui/commands/h_files.py +42 -0
  98. polyrob-1.1.0/cli/ui/commands/h_finance.py +274 -0
  99. polyrob-1.1.0/cli/ui/commands/h_gates.py +198 -0
  100. polyrob-1.1.0/cli/ui/commands/h_goal_one.py +55 -0
  101. polyrob-1.1.0/cli/ui/commands/h_goals_view.py +86 -0
  102. polyrob-1.1.0/cli/ui/commands/h_help.py +338 -0
  103. polyrob-1.1.0/cli/ui/commands/h_inbox.py +130 -0
  104. polyrob-1.1.0/cli/ui/commands/h_journey.py +116 -0
  105. polyrob-1.1.0/cli/ui/commands/h_mode.py +63 -0
  106. polyrob-1.1.0/cli/ui/commands/h_money_verbs.py +150 -0
  107. polyrob-1.1.0/cli/ui/commands/h_owner.py +450 -0
  108. polyrob-1.1.0/cli/ui/commands/h_owner_reach.py +89 -0
  109. polyrob-1.1.0/cli/ui/commands/h_pending.py +122 -0
  110. polyrob-1.1.0/cli/ui/commands/h_prefs.py +52 -0
  111. polyrob-1.1.0/cli/ui/commands/h_reject.py +132 -0
  112. polyrob-1.1.0/cli/ui/commands/h_rooms.py +399 -0
  113. polyrob-1.1.0/cli/ui/commands/h_token.py +79 -0
  114. polyrob-1.1.0/cli/ui/commands/h_view_cells.py +49 -0
  115. polyrob-1.1.0/cli/ui/commands/handlers.py +1706 -0
  116. polyrob-1.1.0/cli/ui/first_run_notice.py +117 -0
  117. polyrob-1.1.0/cli/ui/input_policy.py +28 -0
  118. polyrob-1.1.0/cli/ui/plain_renderer.py +392 -0
  119. polyrob-1.1.0/cli/ui/secrets.py +183 -0
  120. polyrob-1.1.0/cli/update/detect.py +185 -0
  121. polyrob-1.1.0/cli/update/engine.py +81 -0
  122. polyrob-1.1.0/cli/update/process_guard.py +318 -0
  123. polyrob-1.1.0/cli/update/runners.py +183 -0
  124. polyrob-1.1.0/cli/update/snapshot.py +322 -0
  125. polyrob-1.1.0/cli/update/versions.py +218 -0
  126. polyrob-1.1.0/config/.env.development.template +263 -0
  127. polyrob-1.1.0/core/admin_data_home.py +292 -0
  128. polyrob-1.1.0/core/app_service/owner_ops.py +155 -0
  129. polyrob-1.1.0/core/autonomy_runtime.py +1215 -0
  130. polyrob-1.1.0/core/bootstrap.py +913 -0
  131. polyrob-1.1.0/core/config_policy/autonomy_config.py +516 -0
  132. polyrob-1.1.0/core/config_policy/capability_toggles.py +396 -0
  133. polyrob-1.1.0/core/config_policy/goal_flags.py +169 -0
  134. polyrob-1.1.0/core/config_policy/rigs.py +134 -0
  135. polyrob-1.1.0/core/credential_verdicts.py +468 -0
  136. polyrob-1.1.0/core/data_perms.py +280 -0
  137. polyrob-1.1.0/core/db_manifest.py +172 -0
  138. polyrob-1.1.0/core/doc_age.py +114 -0
  139. polyrob-1.1.0/core/doc_claims.py +232 -0
  140. polyrob-1.1.0/core/event_kinds.py +179 -0
  141. polyrob-1.1.0/core/event_log.py +324 -0
  142. polyrob-1.1.0/core/flags_catalog.py +751 -0
  143. polyrob-1.1.0/core/goal_board_render.py +157 -0
  144. polyrob-1.1.0/core/interactive_gate.py +256 -0
  145. polyrob-1.1.0/core/logging.py +593 -0
  146. polyrob-1.1.0/core/profiles.py +427 -0
  147. polyrob-1.1.0/core/rails/__init__.py +1 -0
  148. polyrob-1.1.0/core/rails/verification.py +214 -0
  149. polyrob-1.1.0/core/runtime_paths.py +342 -0
  150. polyrob-1.1.0/core/secret_patterns.py +221 -0
  151. polyrob-1.1.0/core/security/confined_write.py +126 -0
  152. polyrob-1.1.0/core/security_logging_filter.py +432 -0
  153. polyrob-1.1.0/core/self_context_writer.py +533 -0
  154. polyrob-1.1.0/core/self_evolution.py +1015 -0
  155. polyrob-1.1.0/core/session_control.py +81 -0
  156. polyrob-1.1.0/core/session_gc.py +108 -0
  157. polyrob-1.1.0/core/sqlite_util.py +96 -0
  158. polyrob-1.1.0/core/status_economics.py +228 -0
  159. polyrob-1.1.0/core/status_live.py +101 -0
  160. polyrob-1.1.0/core/status_render.py +239 -0
  161. polyrob-1.1.0/core/status_snapshot.py +2239 -0
  162. polyrob-1.1.0/core/surfaces/access.py +316 -0
  163. polyrob-1.1.0/core/surfaces/chat_policy.py +425 -0
  164. polyrob-1.1.0/core/surfaces/dispatcher.py +730 -0
  165. polyrob-1.1.0/core/surfaces/group_admin.py +377 -0
  166. polyrob-1.1.0/core/surfaces/group_allowlist.py +113 -0
  167. polyrob-1.1.0/core/surfaces/group_roles.py +110 -0
  168. polyrob-1.1.0/core/surfaces/inbound_attachments.py +404 -0
  169. polyrob-1.1.0/core/surfaces/inbox_render.py +342 -0
  170. polyrob-1.1.0/core/surfaces/ledger_ingest.py +274 -0
  171. polyrob-1.1.0/core/surfaces/message_router.py +470 -0
  172. polyrob-1.1.0/core/surfaces/missed.py +160 -0
  173. polyrob-1.1.0/core/surfaces/outbound_queue.py +158 -0
  174. polyrob-1.1.0/core/surfaces/owner_admin.py +389 -0
  175. polyrob-1.1.0/core/surfaces/owner_turn.py +65 -0
  176. polyrob-1.1.0/core/surfaces/room_action_admin.py +306 -0
  177. polyrob-1.1.0/core/surfaces/room_label.py +91 -0
  178. polyrob-1.1.0/core/surfaces/room_policy.py +248 -0
  179. polyrob-1.1.0/core/surfaces/user_delivery.py +1036 -0
  180. polyrob-1.1.0/core/verbs.py +253 -0
  181. polyrob-1.1.0/core/version.py +75 -0
  182. polyrob-1.1.0/core/wallet/audit_sink.py +319 -0
  183. polyrob-1.1.0/core/wallet/infra_error.py +30 -0
  184. polyrob-1.1.0/cron/delivery.py +553 -0
  185. polyrob-1.1.0/cron/digest.py +241 -0
  186. polyrob-1.1.0/cron/jobs.py +399 -0
  187. polyrob-1.1.0/cron/rig_edit.py +71 -0
  188. polyrob-1.1.0/cron/room_service.py +133 -0
  189. polyrob-1.1.0/cron/runner.py +554 -0
  190. polyrob-1.1.0/cron/scheduler.py +384 -0
  191. polyrob-1.1.0/cron/service.py +110 -0
  192. polyrob-1.1.0/cron/wake_gate.py +296 -0
  193. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/SKILL.md +191 -0
  194. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/configuration.md +778 -0
  195. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/money-and-safety.md +116 -0
  196. polyrob-1.1.0/data/prompts/skills/polyrob-user-guide/references/surfaces.md +112 -0
  197. polyrob-1.1.0/data/prompts/skills/rules.json +940 -0
  198. polyrob-1.1.0/data/prompts/skills/x-engagement/SKILL.md +127 -0
  199. polyrob-1.1.0/docs/CONFIGURATION.md +1444 -0
  200. polyrob-1.1.0/docs/guide/api.md +634 -0
  201. polyrob-1.1.0/docs/guide/cli.md +756 -0
  202. polyrob-1.1.0/docs/guide/console.md +193 -0
  203. polyrob-1.1.0/docs/guide/getting-started.md +321 -0
  204. polyrob-1.1.0/docs/guide/groups.md +575 -0
  205. polyrob-1.1.0/docs/guide/owner-controls.md +340 -0
  206. polyrob-1.1.0/docs/guide/profiles.md +161 -0
  207. polyrob-1.1.0/docs/guide/rails-verification.md +59 -0
  208. polyrob-1.1.0/docs/guide/self-hosting.md +408 -0
  209. polyrob-1.1.0/docs/guide/upgrading.md +223 -0
  210. polyrob-1.1.0/docs/guide/x-twitter.md +104 -0
  211. polyrob-1.1.0/migrations/boot.py +232 -0
  212. polyrob-1.1.0/migrations/version_manager.py +239 -0
  213. polyrob-1.1.0/modules/credits/cost_utils.py +167 -0
  214. polyrob-1.1.0/modules/credits/unified_ledger.py +374 -0
  215. polyrob-1.1.0/modules/eip8004/registration.py +290 -0
  216. polyrob-1.1.0/modules/llm/adapters.py +1099 -0
  217. polyrob-1.1.0/modules/llm/anthropic_images.py +58 -0
  218. polyrob-1.1.0/modules/llm/llm_client.py +955 -0
  219. polyrob-1.1.0/modules/llm/openrouter_client.py +960 -0
  220. polyrob-1.1.0/modules/llm/openrouter_reasoning.py +85 -0
  221. polyrob-1.1.0/modules/llm/openrouter_routing.py +65 -0
  222. polyrob-1.1.0/modules/llm/output_budget.py +170 -0
  223. polyrob-1.1.0/modules/llm/prefix_stamp.py +68 -0
  224. polyrob-1.1.0/modules/memory/task/reflection_service.py +157 -0
  225. polyrob-1.1.0/modules/memory/task/task_context_manager.py +1132 -0
  226. polyrob-1.1.0/modules/x402/invoice_status.py +14 -0
  227. polyrob-1.1.0/modules/x402/invoicing.py +1169 -0
  228. polyrob-1.1.0/modules/x402/middleware.py +502 -0
  229. polyrob-1.1.0/modules/x402/x402_integration.py +546 -0
  230. polyrob-1.1.0/polyrob.egg-info/PKG-INFO +565 -0
  231. polyrob-1.1.0/polyrob.egg-info/SOURCES.txt +1356 -0
  232. polyrob-1.1.0/polyrob.egg-info/requires.txt +87 -0
  233. polyrob-1.1.0/pyproject.toml +110 -0
  234. polyrob-1.1.0/surfaces/email/fetchers.py +268 -0
  235. polyrob-1.1.0/surfaces/email/harness.py +364 -0
  236. polyrob-1.1.0/surfaces/email/inbound.py +227 -0
  237. polyrob-1.1.0/surfaces/email/surface.py +269 -0
  238. polyrob-1.1.0/surfaces/telegram/apps_ops.py +39 -0
  239. polyrob-1.1.0/surfaces/telegram/claim_ops.py +91 -0
  240. polyrob-1.1.0/surfaces/telegram/contacts_ops.py +116 -0
  241. polyrob-1.1.0/surfaces/telegram/dapp_ops.py +170 -0
  242. polyrob-1.1.0/surfaces/telegram/dev_rail.py +82 -0
  243. polyrob-1.1.0/surfaces/telegram/group_ops.py +1020 -0
  244. polyrob-1.1.0/surfaces/telegram/harness.py +3371 -0
  245. polyrob-1.1.0/surfaces/telegram/identity_ops.py +173 -0
  246. polyrob-1.1.0/surfaces/telegram/inbound.py +254 -0
  247. polyrob-1.1.0/surfaces/telegram/lp_ops.py +110 -0
  248. polyrob-1.1.0/surfaces/telegram/media.py +219 -0
  249. polyrob-1.1.0/surfaces/telegram/nft_ops.py +161 -0
  250. polyrob-1.1.0/surfaces/telegram/owner_ops.py +1013 -0
  251. polyrob-1.1.0/surfaces/telegram/surface.py +362 -0
  252. polyrob-1.1.0/surfaces/telegram/token_ops.py +299 -0
  253. polyrob-1.1.0/tests/test_autonomy_control_ratchet.py +136 -0
  254. polyrob-1.1.0/tests/test_file_size_ratchet.py +139 -0
  255. polyrob-1.1.0/tests/test_provider_registry_ratchet.py +82 -0
  256. polyrob-1.1.0/tests/test_status_silence_ratchet.py +108 -0
  257. polyrob-1.1.0/tests/test_version_consistency.py +110 -0
  258. polyrob-1.1.0/tools/anysite/tool.py +233 -0
  259. polyrob-1.1.0/tools/base_tool.py +520 -0
  260. polyrob-1.1.0/tools/browser/browser_manager.py +719 -0
  261. polyrob-1.1.0/tools/code_exec/__init__.py +180 -0
  262. polyrob-1.1.0/tools/code_exec/sandbox_guard.py +103 -0
  263. polyrob-1.1.0/tools/coding/__init__.py +46 -0
  264. polyrob-1.1.0/tools/coding/search.py +134 -0
  265. polyrob-1.1.0/tools/coding/tool.py +617 -0
  266. polyrob-1.1.0/tools/controller/action_registration.py +1956 -0
  267. polyrob-1.1.0/tools/controller/approval.py +532 -0
  268. polyrob-1.1.0/tools/controller/approval_queue.py +1076 -0
  269. polyrob-1.1.0/tools/controller/doc_authoring.py +491 -0
  270. polyrob-1.1.0/tools/controller/emit.py +176 -0
  271. polyrob-1.1.0/tools/controller/message_send.py +581 -0
  272. polyrob-1.1.0/tools/controller/registry/service.py +1321 -0
  273. polyrob-1.1.0/tools/controller/room_read_action.py +245 -0
  274. polyrob-1.1.0/tools/controller/tool_load_report.py +143 -0
  275. polyrob-1.1.0/tools/controller/tool_management.py +423 -0
  276. polyrob-1.1.0/tools/controller/turn_origin.py +313 -0
  277. polyrob-1.1.0/tools/controller/views.py +507 -0
  278. polyrob-1.1.0/tools/cronjob_tools.py +190 -0
  279. polyrob-1.1.0/tools/dapp_browser/bridge.py +524 -0
  280. polyrob-1.1.0/tools/defi/data_tool.py +2036 -0
  281. polyrob-1.1.0/tools/defi/providers/geckoterminal.py +543 -0
  282. polyrob-1.1.0/tools/email_providers/agentmail.py +317 -0
  283. polyrob-1.1.0/tools/email_tool.py +1048 -0
  284. polyrob-1.1.0/tools/filesystem.py +1466 -0
  285. polyrob-1.1.0/tools/goal_tools.py +729 -0
  286. polyrob-1.1.0/tools/knowledge_ingest.py +872 -0
  287. polyrob-1.1.0/tools/launchpad/tool.py +648 -0
  288. polyrob-1.1.0/tools/perplexity_tool.py +284 -0
  289. polyrob-1.1.0/tools/shell/__init__.py +76 -0
  290. polyrob-1.1.0/tools/tool_disclosure.py +315 -0
  291. polyrob-1.1.0/tools/twitter_tool.py +2673 -0
  292. polyrob-1.1.0/tools/x402/invoice_tool.py +276 -0
  293. polyrob-1.1.0/tools/x_browser/driver.py +353 -0
  294. polyrob-1.1.0/tools/x_browser/tool.py +579 -0
  295. polyrob-1.1.0/webview/activity.py +681 -0
  296. polyrob-1.1.0/webview/apps_routes.py +79 -0
  297. polyrob-1.1.0/webview/artifacts_api.py +79 -0
  298. polyrob-1.1.0/webview/chat_open.py +259 -0
  299. polyrob-1.1.0/webview/console_commands.py +149 -0
  300. polyrob-1.1.0/webview/copy/en.py +1357 -0
  301. polyrob-1.1.0/webview/emit_api.py +55 -0
  302. polyrob-1.1.0/webview/inbox.py +333 -0
  303. polyrob-1.1.0/webview/knowledge.py +292 -0
  304. polyrob-1.1.0/webview/pages.py +1823 -0
  305. polyrob-1.1.0/webview/pages_new.py +1695 -0
  306. polyrob-1.1.0/webview/posture_routes.py +101 -0
  307. polyrob-1.1.0/webview/server.py +3458 -0
  308. polyrob-1.1.0/webview/static/app/agent.js +1467 -0
  309. polyrob-1.1.0/webview/static/app/chat-open.js +111 -0
  310. polyrob-1.1.0/webview/static/app/chats.js +200 -0
  311. polyrob-1.1.0/webview/static/app/file-attach.js +118 -0
  312. polyrob-1.1.0/webview/static/app/inbox.js +127 -0
  313. polyrob-1.1.0/webview/static/app/live.js +106 -0
  314. polyrob-1.1.0/webview/static/app/money.js +1345 -0
  315. polyrob-1.1.0/webview/static/app/palette.js +327 -0
  316. polyrob-1.1.0/webview/static/app/pause.js +155 -0
  317. polyrob-1.1.0/webview/static/app/transcript.js +556 -0
  318. polyrob-1.1.0/webview/static/app/verbs.en.json +332 -0
  319. polyrob-1.1.0/webview/static/app/work-apps.js +481 -0
  320. polyrob-1.1.0/webview/static/app/work-create.js +91 -0
  321. polyrob-1.1.0/webview/static/app/work-now.js +580 -0
  322. polyrob-1.1.0/webview/static/app/worklog.js +349 -0
  323. polyrob-1.1.0/webview/static/app/workpane.js +434 -0
  324. polyrob-1.1.0/webview/static/js/error-handler.js +302 -0
  325. polyrob-1.1.0/webview/static/js/error-page.js +52 -0
  326. polyrob-1.1.0/webview/stats_service.py +83 -0
  327. polyrob-1.1.0/webview/templates/agent.html +284 -0
  328. polyrob-1.1.0/webview/templates/chat.html +181 -0
  329. polyrob-1.1.0/webview/templates/error.html +72 -0
  330. polyrob-1.1.0/webview/templates/inbox.html +138 -0
  331. polyrob-1.1.0/webview/templates/layout.html +103 -0
  332. polyrob-1.1.0/webview/templates/money.html +222 -0
  333. polyrob-1.1.0/webview/templates/shell.html +194 -0
  334. polyrob-1.1.0/webview/templates/work.html +279 -0
  335. polyrob-1.1.0/webview/webgate.py +549 -0
  336. polyrob-1.1.0/webview/worklog_api.py +150 -0
  337. polyrob-1.0.2/PKG-INFO +0 -563
  338. polyrob-1.0.2/agents/task/agent/agent_state.py +0 -408
  339. polyrob-1.0.2/agents/task/agent/core/construction.py +0 -1478
  340. polyrob-1.0.2/agents/task/agent/core/llm_runner.py +0 -615
  341. polyrob-1.0.2/agents/task/agent/core/next_action_internal.py +0 -1526
  342. polyrob-1.0.2/agents/task/agent/core/result_processing.py +0 -449
  343. polyrob-1.0.2/agents/task/agent/core/run_loop.py +0 -730
  344. polyrob-1.0.2/agents/task/agent/core/step.py +0 -874
  345. polyrob-1.0.2/agents/task/agent/core/step_execution.py +0 -409
  346. polyrob-1.0.2/agents/task/agent/core/tool_availability.py +0 -90
  347. polyrob-1.0.2/agents/task/agent/message_manager/service.py +0 -842
  348. polyrob-1.0.2/agents/task/agent/messages/compactor.py +0 -684
  349. polyrob-1.0.2/agents/task/agent/messages/filters.py +0 -333
  350. polyrob-1.0.2/agents/task/agent/messages/retrieval.py +0 -540
  351. polyrob-1.0.2/agents/task/agent/messages/token_counter.py +0 -603
  352. polyrob-1.0.2/agents/task/agent/prompts.py +0 -1442
  353. polyrob-1.0.2/agents/task/agent/skill_writer.py +0 -636
  354. polyrob-1.0.2/agents/task/agent/tool_call_tracker.py +0 -431
  355. polyrob-1.0.2/agents/task/constants.py +0 -718
  356. polyrob-1.0.2/agents/task/goals/board.py +0 -2168
  357. polyrob-1.0.2/agents/task/goals/context.py +0 -209
  358. polyrob-1.0.2/agents/task/goals/dispatcher.py +0 -1800
  359. polyrob-1.0.2/agents/task/runtime/run_as_session.py +0 -267
  360. polyrob-1.0.2/agents/task/task_agent_chat.py +0 -514
  361. polyrob-1.0.2/agents/task/task_agent_delivery.py +0 -935
  362. polyrob-1.0.2/agents/task/task_agent_lifecycle.py +0 -458
  363. polyrob-1.0.2/agents/task/tool_defaults.py +0 -210
  364. polyrob-1.0.2/api/README.md +0 -683
  365. polyrob-1.0.2/api/TASK_API_DOCS.md +0 -151
  366. polyrob-1.0.2/api/a2a/agent_card.py +0 -346
  367. polyrob-1.0.2/api/a2a/endpoints.py +0 -375
  368. polyrob-1.0.2/api/a2a/models.py +0 -255
  369. polyrob-1.0.2/api/a2a/streaming.py +0 -450
  370. polyrob-1.0.2/api/a2a/task_handler.py +0 -945
  371. polyrob-1.0.2/api/admin_endpoints.py +0 -1573
  372. polyrob-1.0.2/api/app.py +0 -933
  373. polyrob-1.0.2/api/auth_constants.py +0 -28
  374. polyrob-1.0.2/api/auth_endpoints.py +0 -408
  375. polyrob-1.0.2/api/dependencies.py +0 -274
  376. polyrob-1.0.2/api/eip8004_endpoints.py +0 -460
  377. polyrob-1.0.2/api/hyperliquid_routes.py +0 -450
  378. polyrob-1.0.2/api/kb/endpoints.py +0 -314
  379. polyrob-1.0.2/api/mcp_serve/handlers.py +0 -403
  380. polyrob-1.0.2/api/middleware.py +0 -416
  381. polyrob-1.0.2/api/models.py +0 -141
  382. polyrob-1.0.2/api/openai_compat/models.py +0 -59
  383. polyrob-1.0.2/api/openai_compat/router.py +0 -200
  384. polyrob-1.0.2/api/payment_endpoints.py +0 -448
  385. polyrob-1.0.2/api/payment_verification.py +0 -139
  386. polyrob-1.0.2/api/pricing_endpoints.py +0 -89
  387. polyrob-1.0.2/api/request_limits.py +0 -115
  388. polyrob-1.0.2/api/server_boot.py +0 -70
  389. polyrob-1.0.2/api/task_http_api.py +0 -1771
  390. polyrob-1.0.2/api/x402_endpoints.py +0 -491
  391. polyrob-1.0.2/cli/README.md +0 -86
  392. polyrob-1.0.2/cli/_admin_home.py +0 -28
  393. polyrob-1.0.2/cli/commands/approvals.py +0 -146
  394. polyrob-1.0.2/cli/commands/apps.py +0 -174
  395. polyrob-1.0.2/cli/commands/autonomy.py +0 -232
  396. polyrob-1.0.2/cli/commands/chat.py +0 -1130
  397. polyrob-1.0.2/cli/commands/config.py +0 -714
  398. polyrob-1.0.2/cli/commands/cron.py +0 -226
  399. polyrob-1.0.2/cli/commands/doctor.py +0 -1168
  400. polyrob-1.0.2/cli/commands/finance.py +0 -59
  401. polyrob-1.0.2/cli/commands/goals.py +0 -593
  402. polyrob-1.0.2/cli/commands/identity.py +0 -37
  403. polyrob-1.0.2/cli/commands/keys.py +0 -194
  404. polyrob-1.0.2/cli/commands/owner.py +0 -1245
  405. polyrob-1.0.2/cli/commands/profile.py +0 -614
  406. polyrob-1.0.2/cli/commands/serve.py +0 -51
  407. polyrob-1.0.2/cli/commands/session.py +0 -625
  408. polyrob-1.0.2/cli/commands/subagents.py +0 -100
  409. polyrob-1.0.2/cli/commands/surface.py +0 -158
  410. polyrob-1.0.2/cli/commands/todos.py +0 -210
  411. polyrob-1.0.2/cli/commands/tools.py +0 -104
  412. polyrob-1.0.2/cli/commands/update.py +0 -408
  413. polyrob-1.0.2/cli/commands/wallet.py +0 -1158
  414. polyrob-1.0.2/cli/commands/wallet_lp.py +0 -90
  415. polyrob-1.0.2/cli/commands/x_account.py +0 -354
  416. polyrob-1.0.2/cli/ui/autonomy_poll.py +0 -58
  417. polyrob-1.0.2/cli/ui/banner.py +0 -242
  418. polyrob-1.0.2/cli/ui/commands/h_a23.py +0 -33
  419. polyrob-1.0.2/cli/ui/commands/h_approve.py +0 -191
  420. polyrob-1.0.2/cli/ui/commands/h_autonomy.py +0 -168
  421. polyrob-1.0.2/cli/ui/commands/h_cron.py +0 -68
  422. polyrob-1.0.2/cli/ui/commands/h_files.py +0 -42
  423. polyrob-1.0.2/cli/ui/commands/h_finance.py +0 -221
  424. polyrob-1.0.2/cli/ui/commands/h_goal_one.py +0 -48
  425. polyrob-1.0.2/cli/ui/commands/h_help.py +0 -329
  426. polyrob-1.0.2/cli/ui/commands/h_inbox.py +0 -127
  427. polyrob-1.0.2/cli/ui/commands/h_journey.py +0 -106
  428. polyrob-1.0.2/cli/ui/commands/h_mode.py +0 -37
  429. polyrob-1.0.2/cli/ui/commands/h_money_verbs.py +0 -134
  430. polyrob-1.0.2/cli/ui/commands/h_owner.py +0 -415
  431. polyrob-1.0.2/cli/ui/commands/h_pending.py +0 -120
  432. polyrob-1.0.2/cli/ui/commands/h_prefs.py +0 -51
  433. polyrob-1.0.2/cli/ui/commands/h_reject.py +0 -132
  434. polyrob-1.0.2/cli/ui/commands/h_token.py +0 -63
  435. polyrob-1.0.2/cli/ui/commands/handlers.py +0 -1715
  436. polyrob-1.0.2/cli/ui/first_run_notice.py +0 -118
  437. polyrob-1.0.2/cli/ui/input_policy.py +0 -23
  438. polyrob-1.0.2/cli/ui/plain_renderer.py +0 -386
  439. polyrob-1.0.2/cli/ui/secrets.py +0 -90
  440. polyrob-1.0.2/cli/update/detect.py +0 -179
  441. polyrob-1.0.2/cli/update/engine.py +0 -97
  442. polyrob-1.0.2/cli/update/migrate_guarded.py +0 -61
  443. polyrob-1.0.2/cli/update/process_guard.py +0 -290
  444. polyrob-1.0.2/cli/update/runners.py +0 -127
  445. polyrob-1.0.2/cli/update/snapshot.py +0 -310
  446. polyrob-1.0.2/cli/update/versions.py +0 -205
  447. polyrob-1.0.2/config/.env.development.template +0 -260
  448. polyrob-1.0.2/core/admin_data_home.py +0 -267
  449. polyrob-1.0.2/core/app_service/owner_ops.py +0 -144
  450. polyrob-1.0.2/core/autonomy_runtime.py +0 -1095
  451. polyrob-1.0.2/core/bootstrap.py +0 -905
  452. polyrob-1.0.2/core/config_policy/autonomy_config.py +0 -508
  453. polyrob-1.0.2/core/config_policy/capability_toggles.py +0 -359
  454. polyrob-1.0.2/core/config_policy/goal_flags.py +0 -98
  455. polyrob-1.0.2/core/db_manifest.py +0 -162
  456. polyrob-1.0.2/core/event_kinds.py +0 -160
  457. polyrob-1.0.2/core/event_log.py +0 -248
  458. polyrob-1.0.2/core/flags_catalog.py +0 -717
  459. polyrob-1.0.2/core/goal_board_render.py +0 -119
  460. polyrob-1.0.2/core/interactive_gate.py +0 -95
  461. polyrob-1.0.2/core/logging.py +0 -562
  462. polyrob-1.0.2/core/profiles.py +0 -420
  463. polyrob-1.0.2/core/runtime_paths.py +0 -330
  464. polyrob-1.0.2/core/secret_patterns.py +0 -217
  465. polyrob-1.0.2/core/security/confined_write.py +0 -104
  466. polyrob-1.0.2/core/security_logging_filter.py +0 -369
  467. polyrob-1.0.2/core/self_context_writer.py +0 -445
  468. polyrob-1.0.2/core/self_evolution.py +0 -1009
  469. polyrob-1.0.2/core/session_control.py +0 -75
  470. polyrob-1.0.2/core/sqlite_util.py +0 -83
  471. polyrob-1.0.2/core/status_live.py +0 -84
  472. polyrob-1.0.2/core/status_render.py +0 -238
  473. polyrob-1.0.2/core/status_snapshot.py +0 -1682
  474. polyrob-1.0.2/core/surfaces/access.py +0 -275
  475. polyrob-1.0.2/core/surfaces/chat_policy.py +0 -403
  476. polyrob-1.0.2/core/surfaces/dispatcher.py +0 -703
  477. polyrob-1.0.2/core/surfaces/group_admin.py +0 -337
  478. polyrob-1.0.2/core/surfaces/group_allowlist.py +0 -101
  479. polyrob-1.0.2/core/surfaces/group_roles.py +0 -88
  480. polyrob-1.0.2/core/surfaces/inbound_attachments.py +0 -371
  481. polyrob-1.0.2/core/surfaces/inbox_render.py +0 -324
  482. polyrob-1.0.2/core/surfaces/ledger_ingest.py +0 -188
  483. polyrob-1.0.2/core/surfaces/message_router.py +0 -403
  484. polyrob-1.0.2/core/surfaces/missed.py +0 -120
  485. polyrob-1.0.2/core/surfaces/outbound_queue.py +0 -121
  486. polyrob-1.0.2/core/surfaces/owner_admin.py +0 -343
  487. polyrob-1.0.2/core/surfaces/room_action_admin.py +0 -220
  488. polyrob-1.0.2/core/surfaces/room_policy.py +0 -197
  489. polyrob-1.0.2/core/surfaces/user_delivery.py +0 -815
  490. polyrob-1.0.2/core/verbs.py +0 -200
  491. polyrob-1.0.2/core/version.py +0 -75
  492. polyrob-1.0.2/core/wallet/audit_sink.py +0 -305
  493. polyrob-1.0.2/cron/delivery.py +0 -410
  494. polyrob-1.0.2/cron/digest.py +0 -200
  495. polyrob-1.0.2/cron/jobs.py +0 -216
  496. polyrob-1.0.2/cron/room_service.py +0 -120
  497. polyrob-1.0.2/cron/runner.py +0 -521
  498. polyrob-1.0.2/cron/scheduler.py +0 -300
  499. polyrob-1.0.2/cron/service.py +0 -106
  500. polyrob-1.0.2/cron/wake_gate.py +0 -287
  501. polyrob-1.0.2/data/prompts/skills/polyrob-user-guide/SKILL.md +0 -191
  502. polyrob-1.0.2/data/prompts/skills/polyrob-user-guide/references/configuration.md +0 -744
  503. polyrob-1.0.2/data/prompts/skills/polyrob-user-guide/references/money-and-safety.md +0 -106
  504. polyrob-1.0.2/data/prompts/skills/polyrob-user-guide/references/surfaces.md +0 -109
  505. polyrob-1.0.2/data/prompts/skills/rules.json +0 -940
  506. polyrob-1.0.2/data/prompts/skills/x-engagement/SKILL.md +0 -110
  507. polyrob-1.0.2/docs/CONFIGURATION.md +0 -1410
  508. polyrob-1.0.2/docs/guide/api.md +0 -529
  509. polyrob-1.0.2/docs/guide/cli.md +0 -663
  510. polyrob-1.0.2/docs/guide/console.md +0 -166
  511. polyrob-1.0.2/docs/guide/getting-started.md +0 -318
  512. polyrob-1.0.2/docs/guide/groups.md +0 -564
  513. polyrob-1.0.2/docs/guide/owner-controls.md +0 -288
  514. polyrob-1.0.2/docs/guide/profiles.md +0 -161
  515. polyrob-1.0.2/docs/guide/self-hosting.md +0 -342
  516. polyrob-1.0.2/docs/guide/upgrading.md +0 -204
  517. polyrob-1.0.2/docs/guide/x-twitter.md +0 -97
  518. polyrob-1.0.2/migrations/boot.py +0 -221
  519. polyrob-1.0.2/migrations/version_manager.py +0 -227
  520. polyrob-1.0.2/modules/credits/cost_utils.py +0 -167
  521. polyrob-1.0.2/modules/credits/unified_ledger.py +0 -334
  522. polyrob-1.0.2/modules/eip8004/registration.py +0 -268
  523. polyrob-1.0.2/modules/llm/adapters.py +0 -1138
  524. polyrob-1.0.2/modules/llm/llm_client.py +0 -956
  525. polyrob-1.0.2/modules/llm/openrouter_client.py +0 -960
  526. polyrob-1.0.2/modules/memory/task/reflection_service.py +0 -157
  527. polyrob-1.0.2/modules/memory/task/task_context_manager.py +0 -1135
  528. polyrob-1.0.2/modules/x402/invoicing.py +0 -1169
  529. polyrob-1.0.2/modules/x402/middleware.py +0 -497
  530. polyrob-1.0.2/modules/x402/x402_integration.py +0 -472
  531. polyrob-1.0.2/polyrob.egg-info/PKG-INFO +0 -563
  532. polyrob-1.0.2/polyrob.egg-info/SOURCES.txt +0 -1334
  533. polyrob-1.0.2/polyrob.egg-info/requires.txt +0 -85
  534. polyrob-1.0.2/pyproject.toml +0 -110
  535. polyrob-1.0.2/surfaces/email/fetchers.py +0 -131
  536. polyrob-1.0.2/surfaces/email/harness.py +0 -214
  537. polyrob-1.0.2/surfaces/email/inbound.py +0 -200
  538. polyrob-1.0.2/surfaces/email/surface.py +0 -205
  539. polyrob-1.0.2/surfaces/telegram/apps_ops.py +0 -32
  540. polyrob-1.0.2/surfaces/telegram/dev_rail.py +0 -76
  541. polyrob-1.0.2/surfaces/telegram/group_ops.py +0 -957
  542. polyrob-1.0.2/surfaces/telegram/harness.py +0 -3056
  543. polyrob-1.0.2/surfaces/telegram/inbound.py +0 -212
  544. polyrob-1.0.2/surfaces/telegram/lp_ops.py +0 -105
  545. polyrob-1.0.2/surfaces/telegram/media.py +0 -169
  546. polyrob-1.0.2/surfaces/telegram/owner_ops.py +0 -835
  547. polyrob-1.0.2/surfaces/telegram/surface.py +0 -344
  548. polyrob-1.0.2/surfaces/telegram/token_ops.py +0 -263
  549. polyrob-1.0.2/tests/test_autonomy_control_ratchet.py +0 -127
  550. polyrob-1.0.2/tests/test_file_size_ratchet.py +0 -139
  551. polyrob-1.0.2/tests/test_provider_registry_ratchet.py +0 -83
  552. polyrob-1.0.2/tests/test_status_silence_ratchet.py +0 -95
  553. polyrob-1.0.2/tests/test_version_consistency.py +0 -110
  554. polyrob-1.0.2/tools/anysite/tool.py +0 -164
  555. polyrob-1.0.2/tools/base_tool.py +0 -480
  556. polyrob-1.0.2/tools/browser/browser_manager.py +0 -712
  557. polyrob-1.0.2/tools/code_exec/__init__.py +0 -179
  558. polyrob-1.0.2/tools/code_exec/sandbox_guard.py +0 -61
  559. polyrob-1.0.2/tools/coding/__init__.py +0 -46
  560. polyrob-1.0.2/tools/coding/search.py +0 -113
  561. polyrob-1.0.2/tools/coding/tool.py +0 -585
  562. polyrob-1.0.2/tools/controller/action_registration.py +0 -1956
  563. polyrob-1.0.2/tools/controller/approval.py +0 -532
  564. polyrob-1.0.2/tools/controller/approval_queue.py +0 -1071
  565. polyrob-1.0.2/tools/controller/doc_authoring.py +0 -461
  566. polyrob-1.0.2/tools/controller/emit.py +0 -169
  567. polyrob-1.0.2/tools/controller/message_send.py +0 -548
  568. polyrob-1.0.2/tools/controller/registry/service.py +0 -1309
  569. polyrob-1.0.2/tools/controller/room_read_action.py +0 -201
  570. polyrob-1.0.2/tools/controller/tool_load_report.py +0 -108
  571. polyrob-1.0.2/tools/controller/tool_management.py +0 -411
  572. polyrob-1.0.2/tools/controller/turn_origin.py +0 -309
  573. polyrob-1.0.2/tools/controller/views.py +0 -451
  574. polyrob-1.0.2/tools/cronjob_tools.py +0 -168
  575. polyrob-1.0.2/tools/dapp_browser/bridge.py +0 -489
  576. polyrob-1.0.2/tools/defi/data_tool.py +0 -1952
  577. polyrob-1.0.2/tools/defi/providers/geckoterminal.py +0 -513
  578. polyrob-1.0.2/tools/email_providers/agentmail.py +0 -281
  579. polyrob-1.0.2/tools/email_tool.py +0 -731
  580. polyrob-1.0.2/tools/filesystem.py +0 -1154
  581. polyrob-1.0.2/tools/goal_tools.py +0 -644
  582. polyrob-1.0.2/tools/knowledge_ingest.py +0 -824
  583. polyrob-1.0.2/tools/launchpad/tool.py +0 -646
  584. polyrob-1.0.2/tools/perplexity_tool.py +0 -280
  585. polyrob-1.0.2/tools/shell/__init__.py +0 -76
  586. polyrob-1.0.2/tools/tool_disclosure.py +0 -265
  587. polyrob-1.0.2/tools/twitter_tool.py +0 -2558
  588. polyrob-1.0.2/tools/x402/invoice_tool.py +0 -271
  589. polyrob-1.0.2/tools/x_browser/driver.py +0 -329
  590. polyrob-1.0.2/tools/x_browser/tool.py +0 -472
  591. polyrob-1.0.2/webview/activity.py +0 -683
  592. polyrob-1.0.2/webview/apps_routes.py +0 -76
  593. polyrob-1.0.2/webview/artifacts_api.py +0 -71
  594. polyrob-1.0.2/webview/chat_open.py +0 -258
  595. polyrob-1.0.2/webview/console_commands.py +0 -73
  596. polyrob-1.0.2/webview/copy/en.py +0 -1225
  597. polyrob-1.0.2/webview/emit_api.py +0 -57
  598. polyrob-1.0.2/webview/inbox.py +0 -259
  599. polyrob-1.0.2/webview/knowledge.py +0 -230
  600. polyrob-1.0.2/webview/pages.py +0 -1690
  601. polyrob-1.0.2/webview/pages_new.py +0 -1588
  602. polyrob-1.0.2/webview/posture_routes.py +0 -88
  603. polyrob-1.0.2/webview/server.py +0 -3687
  604. polyrob-1.0.2/webview/static/app/agent.js +0 -1302
  605. polyrob-1.0.2/webview/static/app/chat-open.js +0 -97
  606. polyrob-1.0.2/webview/static/app/chats.js +0 -199
  607. polyrob-1.0.2/webview/static/app/inbox.js +0 -102
  608. polyrob-1.0.2/webview/static/app/live.js +0 -101
  609. polyrob-1.0.2/webview/static/app/money.js +0 -1289
  610. polyrob-1.0.2/webview/static/app/palette.js +0 -302
  611. polyrob-1.0.2/webview/static/app/transcript.js +0 -527
  612. polyrob-1.0.2/webview/static/app/verbs.en.json +0 -296
  613. polyrob-1.0.2/webview/static/app/work-apps.js +0 -351
  614. polyrob-1.0.2/webview/static/app/work-create.js +0 -27
  615. polyrob-1.0.2/webview/static/app/work-now.js +0 -552
  616. polyrob-1.0.2/webview/static/app/worklog.js +0 -293
  617. polyrob-1.0.2/webview/static/app/workpane.js +0 -399
  618. polyrob-1.0.2/webview/static/css/activity.css +0 -89
  619. polyrob-1.0.2/webview/static/css/chat.css +0 -1772
  620. polyrob-1.0.2/webview/static/css/config-panel.css +0 -651
  621. polyrob-1.0.2/webview/static/css/pages/profile.css +0 -231
  622. polyrob-1.0.2/webview/static/css/pages/settings.css +0 -297
  623. polyrob-1.0.2/webview/static/css/workspace-fullwidth-fix.css +0 -109
  624. polyrob-1.0.2/webview/static/js/error-handler.js +0 -302
  625. polyrob-1.0.2/webview/static/js/error-page.js +0 -73
  626. polyrob-1.0.2/webview/static/js/event-filter.js +0 -137
  627. polyrob-1.0.2/webview/static/js/event-store.js +0 -351
  628. polyrob-1.0.2/webview/static/js/file-attachments.js +0 -364
  629. polyrob-1.0.2/webview/static/js/index.js +0 -113
  630. polyrob-1.0.2/webview/static/js/pending.js +0 -171
  631. polyrob-1.0.2/webview/static/js/performance-utils.js +0 -196
  632. polyrob-1.0.2/webview/static/js/profile.js +0 -392
  633. polyrob-1.0.2/webview/static/js/screenshot.js +0 -402
  634. polyrob-1.0.2/webview/static/js/sidebar-data.js +0 -786
  635. polyrob-1.0.2/webview/static/js/socketio-loader.js +0 -42
  636. polyrob-1.0.2/webview/static/js/stats.js +0 -355
  637. polyrob-1.0.2/webview/static/js/ui-utils.js +0 -420
  638. polyrob-1.0.2/webview/stats_service.py +0 -613
  639. polyrob-1.0.2/webview/templates/agent.html +0 -269
  640. polyrob-1.0.2/webview/templates/chat.html +0 -150
  641. polyrob-1.0.2/webview/templates/error.html +0 -75
  642. polyrob-1.0.2/webview/templates/inbox.html +0 -120
  643. polyrob-1.0.2/webview/templates/layout.html +0 -98
  644. polyrob-1.0.2/webview/templates/money.html +0 -216
  645. polyrob-1.0.2/webview/templates/pending.html +0 -40
  646. polyrob-1.0.2/webview/templates/profile.html +0 -121
  647. polyrob-1.0.2/webview/templates/shell.html +0 -160
  648. polyrob-1.0.2/webview/templates/work.html +0 -229
  649. polyrob-1.0.2/webview/webgate.py +0 -486
  650. polyrob-1.0.2/webview/worklog_api.py +0 -130
  651. {polyrob-1.0.2 → polyrob-1.1.0}/LICENSE +0 -0
  652. {polyrob-1.0.2 → polyrob-1.1.0}/MANIFEST.in +0 -0
  653. {polyrob-1.0.2 → polyrob-1.1.0}/README.md +0 -0
  654. {polyrob-1.0.2 → polyrob-1.1.0}/agents/README.md +0 -0
  655. {polyrob-1.0.2 → polyrob-1.1.0}/agents/__init__.py +0 -0
  656. {polyrob-1.0.2 → polyrob-1.1.0}/agents/base_agent.py +0 -0
  657. {polyrob-1.0.2 → polyrob-1.1.0}/agents/personality/character.py +0 -0
  658. {polyrob-1.0.2 → polyrob-1.1.0}/agents/personality/character_manager.py +0 -0
  659. {polyrob-1.0.2 → polyrob-1.1.0}/agents/personality/characters/polyrob.character.json +0 -0
  660. {polyrob-1.0.2 → polyrob-1.1.0}/agents/personality/persona_render.py +0 -0
  661. {polyrob-1.0.2 → polyrob-1.1.0}/agents/personality/persona_resolver.py +0 -0
  662. {polyrob-1.0.2 → polyrob-1.1.0}/agents/prompt/__init__.py +0 -0
  663. {polyrob-1.0.2 → polyrob-1.1.0}/agents/prompt/base_prompt.py +0 -0
  664. {polyrob-1.0.2 → polyrob-1.1.0}/agents/prompt/system.py +0 -0
  665. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/README_PATH_MANAGEMENT.md +0 -0
  666. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/__init__.py +0 -0
  667. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/__init__.py +0 -0
  668. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/async_delegation.py +0 -0
  669. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/autonomy_state.py +0 -0
  670. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/conversation.py +0 -0
  671. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/__init__.py +0 -0
  672. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/background_review.py +0 -0
  673. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/conversational_exit.py +0 -0
  674. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/correspondent_gate.py +0 -0
  675. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/curator.py +0 -0
  676. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/env_context.py +0 -0
  677. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/episodic_digest.py +0 -0
  678. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/error_recovery.py +0 -0
  679. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/history_io.py +0 -0
  680. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/live_health.py +0 -0
  681. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/llm_provisioning.py +0 -0
  682. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/logging_io.py +0 -0
  683. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/loop_detection.py +0 -0
  684. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/memory_prefetch.py +0 -0
  685. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/memory_writer.py +0 -0
  686. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/metering_failure_log.py +0 -0
  687. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/model_introspection.py +0 -0
  688. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/model_swap.py +0 -0
  689. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/output_validation.py +0 -0
  690. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/project_context.py +0 -0
  691. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/resources.py +0 -0
  692. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/result_offload.py +0 -0
  693. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/run_budget.py +0 -0
  694. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/runtime_catalog.py +0 -0
  695. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/safety_lifecycle.py +0 -0
  696. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/self_wake.py +0 -0
  697. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/session_control.py +0 -0
  698. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/session_metadata.py +0 -0
  699. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/step_telemetry.py +0 -0
  700. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/turn_input.py +0 -0
  701. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/untrusted_render.py +0 -0
  702. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/core/user_ingress.py +0 -0
  703. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/hitl_manager.py +0 -0
  704. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/log_sanitize.py +0 -0
  705. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/message_manager/config.py +0 -0
  706. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/message_manager/tool_call_builder.py +0 -0
  707. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/message_manager/tool_message_repair.py +0 -0
  708. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/message_manager/views.py +0 -0
  709. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/messages/__init__.py +0 -0
  710. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/messages/builders.py +0 -0
  711. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/messages/context_references.py +0 -0
  712. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/messages/guidance.py +0 -0
  713. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/messages/persistence.py +0 -0
  714. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/messages/sqlite_persistence.py +0 -0
  715. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/orchestrator.py +0 -0
  716. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/profile_manager.py +0 -0
  717. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/profile_registry.py +0 -0
  718. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/profile_store.py +0 -0
  719. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/service.py +0 -0
  720. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/session.py +0 -0
  721. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/skill_discovery.py +0 -0
  722. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/skill_frontmatter.py +0 -0
  723. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/skill_manager.py +0 -0
  724. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/skill_store.py +0 -0
  725. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/skill_validation.py +0 -0
  726. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/sub_agent_manager.py +0 -0
  727. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/agent/views.py +0 -0
  728. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/config.py +0 -0
  729. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/conversation_resume.py +0 -0
  730. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/__init__.py +0 -0
  731. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/autonomy_marker.py +0 -0
  732. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/claim_liveness.py +0 -0
  733. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/completion_judge.py +0 -0
  734. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/deliverables.py +0 -0
  735. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/escalation.py +0 -0
  736. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/goal_tool_gates.py +0 -0
  737. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/group_service.py +0 -0
  738. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/planner.py +0 -0
  739. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/goals/streams.py +0 -0
  740. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/logging_config.py +0 -0
  741. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/path.py +0 -0
  742. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/robust_parse_config.py +0 -0
  743. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/__init__.py +0 -0
  744. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/acceptance_checks.py +0 -0
  745. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/acceptance_schema.py +0 -0
  746. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/edit_verify.py +0 -0
  747. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/evidence.py +0 -0
  748. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/metering_gate.py +0 -0
  749. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/runtime/run_outcome.py +0 -0
  750. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/__init__.py +0 -0
  751. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/browser_pool.py +0 -0
  752. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/cleanup.py +0 -0
  753. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/execution.py +0 -0
  754. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/feed.py +0 -0
  755. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/hitl_ingress.py +0 -0
  756. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/hooks.py +0 -0
  757. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session/workspace.py +0 -0
  758. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session_registry.py +0 -0
  759. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/session_route.py +0 -0
  760. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/sqlite_session_registry.py +0 -0
  761. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/task_agent_control.py +0 -0
  762. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/task_agent_support.py +0 -0
  763. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/__init__.py +0 -0
  764. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/agent_graph.py +0 -0
  765. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/feed_reads.py +0 -0
  766. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/formatters.py +0 -0
  767. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/live_progress.py +0 -0
  768. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/manager.py +0 -0
  769. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/memory_events.py +0 -0
  770. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/narrate.py +0 -0
  771. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/run_activity.py +0 -0
  772. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/sequence.py +0 -0
  773. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/service.py +0 -0
  774. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/service_detect.py +0 -0
  775. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/telemetry/views.py +0 -0
  776. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/templates.py +0 -0
  777. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/utils.py +0 -0
  778. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/utils_json.py +0 -0
  779. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/utils_webview.py +0 -0
  780. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task/workspace_context.py +0 -0
  781. {polyrob-1.0.2 → polyrob-1.1.0}/agents/task_agent_lite.py +0 -0
  782. {polyrob-1.0.2 → polyrob-1.1.0}/api/__init__.py +0 -0
  783. {polyrob-1.0.2 → polyrob-1.1.0}/api/a2a/__init__.py +0 -0
  784. {polyrob-1.0.2 → polyrob-1.1.0}/api/auth_state.py +0 -0
  785. {polyrob-1.0.2 → polyrob-1.1.0}/api/chat_via_task.py +0 -0
  786. {polyrob-1.0.2 → polyrob-1.1.0}/api/hyperliquid_models.py +0 -0
  787. {polyrob-1.0.2 → polyrob-1.1.0}/api/jwt_middleware.py +0 -0
  788. {polyrob-1.0.2 → polyrob-1.1.0}/api/kb/__init__.py +0 -0
  789. {polyrob-1.0.2 → polyrob-1.1.0}/api/mcp_models.py +0 -0
  790. {polyrob-1.0.2 → polyrob-1.1.0}/api/mcp_routes.py +0 -0
  791. {polyrob-1.0.2 → polyrob-1.1.0}/api/mcp_serve/__init__.py +0 -0
  792. {polyrob-1.0.2 → polyrob-1.1.0}/api/mcp_serve/router.py +0 -0
  793. {polyrob-1.0.2 → polyrob-1.1.0}/api/openai_compat/__init__.py +0 -0
  794. {polyrob-1.0.2 → polyrob-1.1.0}/api/openai_compat/model_map.py +0 -0
  795. {polyrob-1.0.2 → polyrob-1.1.0}/api/polymarket_models.py +0 -0
  796. {polyrob-1.0.2 → polyrob-1.1.0}/api/polymarket_routes.py +0 -0
  797. {polyrob-1.0.2 → polyrob-1.1.0}/api/session_routing.py +0 -0
  798. {polyrob-1.0.2 → polyrob-1.1.0}/api/skill_endpoints.py +0 -0
  799. {polyrob-1.0.2 → polyrob-1.1.0}/api/webhooks.py +0 -0
  800. {polyrob-1.0.2 → polyrob-1.1.0}/assets/__init__.py +0 -0
  801. {polyrob-1.0.2 → polyrob-1.1.0}/assets/fonts/dejavu/DejaVuSans-Bold.ttf +0 -0
  802. {polyrob-1.0.2 → polyrob-1.1.0}/assets/fonts/dejavu/DejaVuSans.ttf +0 -0
  803. {polyrob-1.0.2 → polyrob-1.1.0}/assets/fonts/dejavu/LICENSE +0 -0
  804. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/README.md +0 -0
  805. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/__init__.py +0 -0
  806. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/config/rob.json +0 -0
  807. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/mindprint.js +0 -0
  808. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/renders/rob.meta.json +0 -0
  809. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/renders/rob.png +0 -0
  810. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/studio.html +0 -0
  811. {polyrob-1.0.2 → polyrob-1.1.0}/avatar/webview/avatar-live.js +0 -0
  812. {polyrob-1.0.2 → polyrob-1.1.0}/cli/__init__.py +0 -0
  813. {polyrob-1.0.2 → polyrob-1.1.0}/cli/_flag_warn.py +0 -0
  814. {polyrob-1.0.2 → polyrob-1.1.0}/cli/attachments.py +0 -0
  815. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/__init__.py +0 -0
  816. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/_bootstrap.py +0 -0
  817. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/_errors.py +0 -0
  818. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/_grouped.py +0 -0
  819. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/_options.py +0 -0
  820. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/_session_control.py +0 -0
  821. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/_surface_runner.py +0 -0
  822. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/auth.py +0 -0
  823. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/browser.py +0 -0
  824. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/dashboard.py +0 -0
  825. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/datagen.py +0 -0
  826. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/discord.py +0 -0
  827. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/email.py +0 -0
  828. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/gateway.py +0 -0
  829. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/init.py +0 -0
  830. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/journey.py +0 -0
  831. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/kb.py +0 -0
  832. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/knowledge.py +0 -0
  833. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/model.py +0 -0
  834. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/persona.py +0 -0
  835. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/pfp.py +0 -0
  836. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/profile_dist.py +0 -0
  837. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/profile_transfer.py +0 -0
  838. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/run.py +0 -0
  839. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/signal.py +0 -0
  840. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/skill_install.py +0 -0
  841. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/skills.py +0 -0
  842. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/slack.py +0 -0
  843. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/soul.py +0 -0
  844. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/telegram.py +0 -0
  845. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/whatsapp.py +0 -0
  846. {polyrob-1.0.2 → polyrob-1.1.0}/cli/commands/x.py +0 -0
  847. {polyrob-1.0.2 → polyrob-1.1.0}/cli/config_store.py +0 -0
  848. {polyrob-1.0.2 → polyrob-1.1.0}/cli/delegation_receipts.py +0 -0
  849. {polyrob-1.0.2 → polyrob-1.1.0}/cli/git_child_env.py +0 -0
  850. {polyrob-1.0.2 → polyrob-1.1.0}/cli/gitignore.py +0 -0
  851. {polyrob-1.0.2 → polyrob-1.1.0}/cli/inventory.py +0 -0
  852. {polyrob-1.0.2 → polyrob-1.1.0}/cli/keys.py +0 -0
  853. {polyrob-1.0.2 → polyrob-1.1.0}/cli/persona.py +0 -0
  854. {polyrob-1.0.2 → polyrob-1.1.0}/cli/polyrob.py +0 -0
  855. {polyrob-1.0.2 → polyrob-1.1.0}/cli/session_paths.py +0 -0
  856. {polyrob-1.0.2 → polyrob-1.1.0}/cli/toolset.py +0 -0
  857. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/__init__.py +0 -0
  858. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/activity.py +0 -0
  859. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/app.py +0 -0
  860. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/approval_prompt.py +0 -0
  861. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/blocks.py +0 -0
  862. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/bootstrap_notice.py +0 -0
  863. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/candy.py +0 -0
  864. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/__init__.py +0 -0
  865. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_attach.py +0 -0
  866. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_config.py +0 -0
  867. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_context.py +0 -0
  868. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_diag.py +0 -0
  869. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_kb.py +0 -0
  870. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_learn.py +0 -0
  871. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_mcp.py +0 -0
  872. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_persona.py +0 -0
  873. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_pfp.py +0 -0
  874. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_profile.py +0 -0
  875. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_self.py +0 -0
  876. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_skills.py +0 -0
  877. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/h_steer.py +0 -0
  878. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/registry.py +0 -0
  879. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/commands/window.py +0 -0
  880. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/config_picker.py +0 -0
  881. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/dialog.py +0 -0
  882. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/event_registry.py +0 -0
  883. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/event_specs.py +0 -0
  884. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/events.py +0 -0
  885. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/hints.py +0 -0
  886. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/history.py +0 -0
  887. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/identity.py +0 -0
  888. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/json_renderer.py +0 -0
  889. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/lifecycle.py +0 -0
  890. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/line_layout.py +0 -0
  891. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/literal.py +0 -0
  892. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/live_hooks.py +0 -0
  893. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/log_squelch.py +0 -0
  894. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/model_selector.py +0 -0
  895. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/persistent_loop.py +0 -0
  896. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/renderer.py +0 -0
  897. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/rich_renderer.py +0 -0
  898. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/slash_highlight.py +0 -0
  899. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/state.py +0 -0
  900. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/statusbar.py +0 -0
  901. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/streaming.py +0 -0
  902. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/terminal_render.py +0 -0
  903. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/terminal_title.py +0 -0
  904. {polyrob-1.0.2 → polyrob-1.1.0}/cli/ui/theme.py +0 -0
  905. {polyrob-1.0.2 → polyrob-1.1.0}/cli/update/__init__.py +0 -0
  906. {polyrob-1.0.2 → polyrob-1.1.0}/cli/update/context.py +0 -0
  907. {polyrob-1.0.2 → polyrob-1.1.0}/core/README.md +0 -0
  908. {polyrob-1.0.2 → polyrob-1.1.0}/core/__init__.py +0 -0
  909. {polyrob-1.0.2 → polyrob-1.1.0}/core/action_receipt.py +0 -0
  910. {polyrob-1.0.2 → polyrob-1.1.0}/core/activity_class.py +0 -0
  911. {polyrob-1.0.2 → polyrob-1.1.0}/core/activity_evidence.py +0 -0
  912. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/__init__.py +0 -0
  913. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/config.py +0 -0
  914. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/egress.py +0 -0
  915. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/env_scan.py +0 -0
  916. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/fingerprint.py +0 -0
  917. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/nginx.py +0 -0
  918. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/registry.py +0 -0
  919. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/snapshot.py +0 -0
  920. {polyrob-1.0.2 → polyrob-1.1.0}/core/app_service/supervisor.py +0 -0
  921. {polyrob-1.0.2 → polyrob-1.1.0}/core/approval_input.py +0 -0
  922. {polyrob-1.0.2 → polyrob-1.1.0}/core/artifacts.py +0 -0
  923. {polyrob-1.0.2 → polyrob-1.1.0}/core/assets.py +0 -0
  924. {polyrob-1.0.2 → polyrob-1.1.0}/core/async_bridge.py +0 -0
  925. {polyrob-1.0.2 → polyrob-1.1.0}/core/autonomy_control.py +0 -0
  926. {polyrob-1.0.2 → polyrob-1.1.0}/core/backoff.py +0 -0
  927. {polyrob-1.0.2 → polyrob-1.1.0}/core/base_component.py +0 -0
  928. {polyrob-1.0.2 → polyrob-1.1.0}/core/book.py +0 -0
  929. {polyrob-1.0.2 → polyrob-1.1.0}/core/bot.py +0 -0
  930. {polyrob-1.0.2 → polyrob-1.1.0}/core/capability_verdict.py +0 -0
  931. {polyrob-1.0.2 → polyrob-1.1.0}/core/config.py +0 -0
  932. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/__init__.py +0 -0
  933. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/_env.py +0 -0
  934. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/autonomy_mode.py +0 -0
  935. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/autonomy_posture.py +0 -0
  936. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/builder_mode.py +0 -0
  937. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/compute_posture.py +0 -0
  938. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/flag_defaults.py +0 -0
  939. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/flag_enums.py +0 -0
  940. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/local_profile.py +0 -0
  941. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/memory_policy.py +0 -0
  942. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/payment_policy.py +0 -0
  943. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/payment_tools.py +0 -0
  944. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/policy.py +0 -0
  945. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/posture_card.py +0 -0
  946. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/runtime_gates.py +0 -0
  947. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_policy/spend_lane.py +0 -0
  948. {polyrob-1.0.2 → polyrob-1.1.0}/core/config_service.py +0 -0
  949. {polyrob-1.0.2 → polyrob-1.1.0}/core/constants.py +0 -0
  950. {polyrob-1.0.2 → polyrob-1.1.0}/core/container.py +0 -0
  951. {polyrob-1.0.2 → polyrob-1.1.0}/core/container_hardening.py +0 -0
  952. {polyrob-1.0.2 → polyrob-1.1.0}/core/contract_writer.py +0 -0
  953. {polyrob-1.0.2 → polyrob-1.1.0}/core/copy/__init__.py +0 -0
  954. {polyrob-1.0.2 → polyrob-1.1.0}/core/copy/_engine.py +0 -0
  955. {polyrob-1.0.2 → polyrob-1.1.0}/core/copy/en.py +0 -0
  956. {polyrob-1.0.2 → polyrob-1.1.0}/core/credit_sentinel.py +0 -0
  957. {polyrob-1.0.2 → polyrob-1.1.0}/core/cron_rearm.py +0 -0
  958. {polyrob-1.0.2 → polyrob-1.1.0}/core/dapp_session_store.py +0 -0
  959. {polyrob-1.0.2 → polyrob-1.1.0}/core/embedding.py +0 -0
  960. {polyrob-1.0.2 → polyrob-1.1.0}/core/env.py +0 -0
  961. {polyrob-1.0.2 → polyrob-1.1.0}/core/env_file.py +0 -0
  962. {polyrob-1.0.2 → polyrob-1.1.0}/core/error_classifier.py +0 -0
  963. {polyrob-1.0.2 → polyrob-1.1.0}/core/eval_manifest.py +0 -0
  964. {polyrob-1.0.2 → polyrob-1.1.0}/core/exceptions.py +0 -0
  965. {polyrob-1.0.2 → polyrob-1.1.0}/core/exec_identity.py +0 -0
  966. {polyrob-1.0.2 → polyrob-1.1.0}/core/flags.py +0 -0
  967. {polyrob-1.0.2 → polyrob-1.1.0}/core/gitignore.py +0 -0
  968. {polyrob-1.0.2 → polyrob-1.1.0}/core/goal_vocab.py +0 -0
  969. {polyrob-1.0.2 → polyrob-1.1.0}/core/home_migration.py +0 -0
  970. {polyrob-1.0.2 → polyrob-1.1.0}/core/identity.py +0 -0
  971. {polyrob-1.0.2 → polyrob-1.1.0}/core/initialization.py +0 -0
  972. {polyrob-1.0.2 → polyrob-1.1.0}/core/instance.py +0 -0
  973. {polyrob-1.0.2 → polyrob-1.1.0}/core/knowledge_export.py +0 -0
  974. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/__init__.py +0 -0
  975. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/errors.py +0 -0
  976. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/flows/__init__.py +0 -0
  977. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/flows/base.py +0 -0
  978. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/flows/device_code.py +0 -0
  979. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/flows/loopback_pkce.py +0 -0
  980. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/flows/manual_paste_pkce.py +0 -0
  981. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/flows/registry.py +0 -0
  982. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/health.py +0 -0
  983. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/resolve.py +0 -0
  984. {polyrob-1.0.2 → polyrob-1.1.0}/core/llm_auth/store.py +0 -0
  985. {polyrob-1.0.2 → polyrob-1.1.0}/core/maintenance_proposals.py +0 -0
  986. {polyrob-1.0.2 → polyrob-1.1.0}/core/mcp_admin.py +0 -0
  987. {polyrob-1.0.2 → polyrob-1.1.0}/core/open_positions.py +0 -0
  988. {polyrob-1.0.2 → polyrob-1.1.0}/core/optional_extras.py +0 -0
  989. {polyrob-1.0.2 → polyrob-1.1.0}/core/owner_create.py +0 -0
  990. {polyrob-1.0.2 → polyrob-1.1.0}/core/owner_doc_writer.py +0 -0
  991. {polyrob-1.0.2 → polyrob-1.1.0}/core/owner_remedy.py +0 -0
  992. {polyrob-1.0.2 → polyrob-1.1.0}/core/pairing.py +0 -0
  993. {polyrob-1.0.2 → polyrob-1.1.0}/core/path_safety.py +0 -0
  994. {polyrob-1.0.2 → polyrob-1.1.0}/core/paths.py +0 -0
  995. {polyrob-1.0.2 → polyrob-1.1.0}/core/payment_config.py +0 -0
  996. {polyrob-1.0.2 → polyrob-1.1.0}/core/payments/__init__.py +0 -0
  997. {polyrob-1.0.2 → polyrob-1.1.0}/core/payments/assets.py +0 -0
  998. {polyrob-1.0.2 → polyrob-1.1.0}/core/payments/quote.py +0 -0
  999. {polyrob-1.0.2 → polyrob-1.1.0}/core/position_ledger.py +0 -0
  1000. {polyrob-1.0.2 → polyrob-1.1.0}/core/prefs.py +0 -0
  1001. {polyrob-1.0.2 → polyrob-1.1.0}/core/publish.py +0 -0
  1002. {polyrob-1.0.2 → polyrob-1.1.0}/core/rate_limit.py +0 -0
  1003. {polyrob-1.0.2 → polyrob-1.1.0}/core/recap.py +0 -0
  1004. {polyrob-1.0.2 → polyrob-1.1.0}/core/runtime_config.py +0 -0
  1005. {polyrob-1.0.2 → polyrob-1.1.0}/core/seams.py +0 -0
  1006. {polyrob-1.0.2 → polyrob-1.1.0}/core/secret_scan.py +0 -0
  1007. {polyrob-1.0.2 → polyrob-1.1.0}/core/secret_scrub.py +0 -0
  1008. {polyrob-1.0.2 → polyrob-1.1.0}/core/secrets.py +0 -0
  1009. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/__init__.py +0 -0
  1010. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/browser_rail.py +0 -0
  1011. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/confined_read.py +0 -0
  1012. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/document_archive.py +0 -0
  1013. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/encryption.py +0 -0
  1014. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/forged_turns.py +0 -0
  1015. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/host_execution.py +0 -0
  1016. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/http_probe.py +0 -0
  1017. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/owner_turn.py +0 -0
  1018. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/redaction.py +0 -0
  1019. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/refusals.py +0 -0
  1020. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/secret_guard.py +0 -0
  1021. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/session_tokens.py +0 -0
  1022. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/threat_report.py +0 -0
  1023. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/untrusted_wrap.py +0 -0
  1024. {polyrob-1.0.2 → polyrob-1.1.0}/core/security/url_policy.py +0 -0
  1025. {polyrob-1.0.2 → polyrob-1.1.0}/core/security_digest.py +0 -0
  1026. {polyrob-1.0.2 → polyrob-1.1.0}/core/security_flags.py +0 -0
  1027. {polyrob-1.0.2 → polyrob-1.1.0}/core/self_events.py +0 -0
  1028. {polyrob-1.0.2 → polyrob-1.1.0}/core/ship_tree.py +0 -0
  1029. {polyrob-1.0.2 → polyrob-1.1.0}/core/sidecar_relocate.py +0 -0
  1030. {polyrob-1.0.2 → polyrob-1.1.0}/core/status_liquidity.py +0 -0
  1031. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/__init__.py +0 -0
  1032. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/access_log.py +0 -0
  1033. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/act.py +0 -0
  1034. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/address_key.py +0 -0
  1035. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/attachments.py +0 -0
  1036. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/binding.py +0 -0
  1037. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/bootstrap.py +0 -0
  1038. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/circuit.py +0 -0
  1039. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/command_reply.py +0 -0
  1040. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/config.py +0 -0
  1041. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/continuity.py +0 -0
  1042. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/conversations.py +0 -0
  1043. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/correspondents.py +0 -0
  1044. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/dead_targets.py +0 -0
  1045. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/deep_link.py +0 -0
  1046. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/envelopes.py +0 -0
  1047. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/error_notices.py +0 -0
  1048. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/gc.py +0 -0
  1049. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/group_ledger.py +0 -0
  1050. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/group_turn.py +0 -0
  1051. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/health.py +0 -0
  1052. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/idempotency.py +0 -0
  1053. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/inbound_webhook.py +0 -0
  1054. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/inbox.py +0 -0
  1055. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/llm_outage_notice.py +0 -0
  1056. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/media.py +0 -0
  1057. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/outbound_allowlist.py +0 -0
  1058. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/outbound_dispatcher.py +0 -0
  1059. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/outbound_mirror.py +0 -0
  1060. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/outbound_policy.py +0 -0
  1061. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/outbound_target.py +0 -0
  1062. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/owner_address.py +0 -0
  1063. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/owner_intent.py +0 -0
  1064. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/owner_target.py +0 -0
  1065. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/path_links.py +0 -0
  1066. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/poll_health.py +0 -0
  1067. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/proactive.py +0 -0
  1068. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/progress.py +0 -0
  1069. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/quiet_hours.py +0 -0
  1070. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/recap.py +0 -0
  1071. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/registry.py +0 -0
  1072. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/rendering.py +0 -0
  1073. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/room_action_store.py +0 -0
  1074. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/room_actions.py +0 -0
  1075. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/room_caps.py +0 -0
  1076. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/room_focus.py +0 -0
  1077. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/room_keys.py +0 -0
  1078. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/seed.py +0 -0
  1079. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/send_policy.py +0 -0
  1080. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/serialize.py +0 -0
  1081. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/session_chat_registry.py +0 -0
  1082. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/session_policy.py +0 -0
  1083. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/spill.py +0 -0
  1084. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/surface.py +0 -0
  1085. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/tappable.py +0 -0
  1086. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/transcription.py +0 -0
  1087. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/turn_reply.py +0 -0
  1088. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/voice_echo.py +0 -0
  1089. {polyrob-1.0.2 → polyrob-1.1.0}/core/surfaces/voice_guard.py +0 -0
  1090. {polyrob-1.0.2 → polyrob-1.1.0}/core/tickers.py +0 -0
  1091. {polyrob-1.0.2 → polyrob-1.1.0}/core/token_denylist.py +0 -0
  1092. {polyrob-1.0.2 → polyrob-1.1.0}/core/tool_capabilities.py +0 -0
  1093. {polyrob-1.0.2 → polyrob-1.1.0}/core/tool_catalog.py +0 -0
  1094. {polyrob-1.0.2 → polyrob-1.1.0}/core/wake_queue.py +0 -0
  1095. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/__init__.py +0 -0
  1096. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/abi.py +0 -0
  1097. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/addresses.py +0 -0
  1098. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/agent_wallet.py +0 -0
  1099. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/authority.py +0 -0
  1100. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/balance_cache.py +0 -0
  1101. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/bridge_guard.py +0 -0
  1102. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/bridge_status.py +0 -0
  1103. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/bridge_watcher.py +0 -0
  1104. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/broadcast/__init__.py +0 -0
  1105. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/broadcast/evm.py +0 -0
  1106. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/broadcast/receipt_validation.py +0 -0
  1107. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/chains.py +0 -0
  1108. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/config.py +0 -0
  1109. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/contracts/FixedSupplyToken.sol +0 -0
  1110. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/deploy_guard.py +0 -0
  1111. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/derivation.py +0 -0
  1112. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/dex_registry.py +0 -0
  1113. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/erc8004.py +0 -0
  1114. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/factory.py +0 -0
  1115. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/liquidity_guard.py +0 -0
  1116. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/onchain.py +0 -0
  1117. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/policy.py +0 -0
  1118. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/public_identity.py +0 -0
  1119. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/relay_svm.py +0 -0
  1120. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/rpc_response.py +0 -0
  1121. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/signer.py +0 -0
  1122. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/simulation.py +0 -0
  1123. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_onchain.py +0 -0
  1124. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_rail.py +0 -0
  1125. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_signer.py +0 -0
  1126. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_simulation.py +0 -0
  1127. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_strays.py +0 -0
  1128. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_tx_inspect.py +0 -0
  1129. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/solana_x402.py +0 -0
  1130. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/spl_token.py +0 -0
  1131. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/submission_journal.py +0 -0
  1132. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/submission_recovery.py +0 -0
  1133. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/submission_store.py +0 -0
  1134. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/token_template.py +0 -0
  1135. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/tokens.py +0 -0
  1136. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/trade_index.py +0 -0
  1137. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/tx_guard.py +0 -0
  1138. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/tx_notify.py +0 -0
  1139. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/univ3_math.py +0 -0
  1140. {polyrob-1.0.2 → polyrob-1.1.0}/core/wallet/view.py +0 -0
  1141. {polyrob-1.0.2 → polyrob-1.1.0}/cron/README.md +0 -0
  1142. {polyrob-1.0.2 → polyrob-1.1.0}/cron/__init__.py +0 -0
  1143. {polyrob-1.0.2 → polyrob-1.1.0}/cron/approval_defer.py +0 -0
  1144. {polyrob-1.0.2 → polyrob-1.1.0}/cron/schedule.py +0 -0
  1145. {polyrob-1.0.2 → polyrob-1.1.0}/data/__init__.py +0 -0
  1146. {polyrob-1.0.2 → polyrob-1.1.0}/data/characters/analyst.character.json +0 -0
  1147. {polyrob-1.0.2 → polyrob-1.1.0}/data/characters/coder.character.json +0 -0
  1148. {polyrob-1.0.2 → polyrob-1.1.0}/data/characters/default.character.json +0 -0
  1149. {polyrob-1.0.2 → polyrob-1.1.0}/data/characters/ops.character.json +0 -0
  1150. {polyrob-1.0.2 → polyrob-1.1.0}/data/characters/researcher.character.json +0 -0
  1151. {polyrob-1.0.2 → polyrob-1.1.0}/data/characters/writer.character.json +0 -0
  1152. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/autov2_prompts.json +0 -0
  1153. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/browser-automation/SKILL.md +0 -0
  1154. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/coding-workflow/SKILL.md +0 -0
  1155. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/crypto-trading-safety/SKILL.md +0 -0
  1156. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/document-writing/SKILL.md +0 -0
  1157. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/email-comms/SKILL.md +0 -0
  1158. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/file-data-ops/SKILL.md +0 -0
  1159. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/hyperliquid-account-review/SKILL.md +0 -0
  1160. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/hyperliquid-market-data/SKILL.md +0 -0
  1161. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/hyperliquid-trading/SKILL.md +0 -0
  1162. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/lead-research/SKILL.md +0 -0
  1163. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/market-research-brief/SKILL.md +0 -0
  1164. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/person-analyzer/SKILL.md +0 -0
  1165. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polymarket-market-research/SKILL.md +0 -0
  1166. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polymarket-portfolio-review/SKILL.md +0 -0
  1167. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polymarket-trading/SKILL.md +0 -0
  1168. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polyrob-user-guide/references/autonomy.md +0 -0
  1169. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polyrob-user-guide/references/setup-interview.md +0 -0
  1170. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polyrob-user-guide/references/skills-and-learning.md +0 -0
  1171. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/polyrob-user-guide/references/wallet-and-identity.md +0 -0
  1172. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/presentation-creator/SKILL.md +0 -0
  1173. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/project-analyzer/SKILL.md +0 -0
  1174. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/secret-handling/SKILL.md +0 -0
  1175. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/self-deploy/SKILL.md +0 -0
  1176. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/skill-authoring/SKILL.md +0 -0
  1177. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/skill-security-review/SKILL.md +0 -0
  1178. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/social-discovery/SKILL.md +0 -0
  1179. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/task-planning/SKILL.md +0 -0
  1180. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/treasury-trading/SKILL.md +0 -0
  1181. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/verified-tooling/SKILL.md +0 -0
  1182. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/web-research/SKILL.md +0 -0
  1183. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/skills/web-scraping/SKILL.md +0 -0
  1184. {polyrob-1.0.2 → polyrob-1.1.0}/data/prompts/system_prompts.json +0 -0
  1185. {polyrob-1.0.2 → polyrob-1.1.0}/data/subscription_channels.json +0 -0
  1186. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/__init__.py +0 -0
  1187. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/assemble.py +0 -0
  1188. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/batch_runner.py +0 -0
  1189. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/bulk_export.py +0 -0
  1190. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/capture.py +0 -0
  1191. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/formats.py +0 -0
  1192. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/record.py +0 -0
  1193. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/scrub.py +0 -0
  1194. {polyrob-1.0.2 → polyrob-1.1.0}/datagen/toolset_distributions.py +0 -0
  1195. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/architecture.md +0 -0
  1196. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/configuration.md +0 -0
  1197. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/deployment-postures.md +0 -0
  1198. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/instances.md +0 -0
  1199. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/migration/README.md +0 -0
  1200. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/migration/from-hermes.md +0 -0
  1201. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/migration/from-openclaw.md +0 -0
  1202. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/payments.md +0 -0
  1203. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/security-model.md +0 -0
  1204. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/skills.md +0 -0
  1205. {polyrob-1.0.2 → polyrob-1.1.0}/docs/guide/streams.md +0 -0
  1206. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/README.md +0 -0
  1207. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/__init__.py +0 -0
  1208. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/migrate.py +0 -0
  1209. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/__init__.py +0 -0
  1210. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_0_0_baseline.py +0 -0
  1211. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_1_0_user_mcp_servers.py +0 -0
  1212. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_2_0_den_token_bonuses.py +0 -0
  1213. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_3_0_billing_failures.py +0 -0
  1214. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_4_0_polymarket_credentials.py +0 -0
  1215. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_5_0_usage_records_request_id.py +0 -0
  1216. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_6_0_x402_tx_hash_unique.py +0 -0
  1217. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_7_0_x402_subscription_pending_unique.py +0 -0
  1218. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_8_0_x402_tx_hash_case_normalize.py +0 -0
  1219. {polyrob-1.0.2 → polyrob-1.1.0}/migrations/versions/v1_9_0_x402_payment_asset_columns.py +0 -0
  1220. {polyrob-1.0.2 → polyrob-1.1.0}/modules/README.md +0 -0
  1221. {polyrob-1.0.2 → polyrob-1.1.0}/modules/__init__.py +0 -0
  1222. {polyrob-1.0.2 → polyrob-1.1.0}/modules/auth/__init__.py +0 -0
  1223. {polyrob-1.0.2 → polyrob-1.1.0}/modules/auth/api_key_manager.py +0 -0
  1224. {polyrob-1.0.2 → polyrob-1.1.0}/modules/auth/identity_mapper.py +0 -0
  1225. {polyrob-1.0.2 → polyrob-1.1.0}/modules/auth/siwe_auth.py +0 -0
  1226. {polyrob-1.0.2 → polyrob-1.1.0}/modules/auth/tier_manager.py +0 -0
  1227. {polyrob-1.0.2 → polyrob-1.1.0}/modules/base_module.py +0 -0
  1228. {polyrob-1.0.2 → polyrob-1.1.0}/modules/credits/__init__.py +0 -0
  1229. {polyrob-1.0.2 → polyrob-1.1.0}/modules/credits/balance_manager.py +0 -0
  1230. {polyrob-1.0.2 → polyrob-1.1.0}/modules/credits/balances.py +0 -0
  1231. {polyrob-1.0.2 → polyrob-1.1.0}/modules/credits/pricing.py +0 -0
  1232. {polyrob-1.0.2 → polyrob-1.1.0}/modules/credits/usage_rollup.py +0 -0
  1233. {polyrob-1.0.2 → polyrob-1.1.0}/modules/credits/usage_tracker.py +0 -0
  1234. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/__init__.py +0 -0
  1235. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/audit_log.py +0 -0
  1236. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/auth_tables.py +0 -0
  1237. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/connection.py +0 -0
  1238. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/conversation_contexts.py +0 -0
  1239. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/database_manager.py +0 -0
  1240. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/hyperliquid.py +0 -0
  1241. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/polymarket.py +0 -0
  1242. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/user_mcp_servers.py +0 -0
  1243. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/user_profiles.py +0 -0
  1244. {polyrob-1.0.2 → polyrob-1.1.0}/modules/database/x402_tables.py +0 -0
  1245. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/README.md +0 -0
  1246. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/__init__.py +0 -0
  1247. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/contracts.py +0 -0
  1248. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/models.py +0 -0
  1249. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/payment_proof.py +0 -0
  1250. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/reputation.py +0 -0
  1251. {polyrob-1.0.2 → polyrob-1.1.0}/modules/eip8004/validation.py +0 -0
  1252. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/__init__.py +0 -0
  1253. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/anthropic_client.py +0 -0
  1254. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/aux_metering.py +0 -0
  1255. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/available_models.py +0 -0
  1256. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/brain_scrubber.py +0 -0
  1257. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/cache_hints.py +0 -0
  1258. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/compat_clients.py +0 -0
  1259. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/deepseek_client.py +0 -0
  1260. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/gemini_client.py +0 -0
  1261. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/gemini_parts.py +0 -0
  1262. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/llm_client_registry.py +0 -0
  1263. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/llm_factory.py +0 -0
  1264. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/llm_manager.py +0 -0
  1265. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/manager_inventory.py +0 -0
  1266. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/messages.py +0 -0
  1267. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/model_catalog.py +0 -0
  1268. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/model_catalog_recent.py +0 -0
  1269. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/model_pricing.py +0 -0
  1270. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/model_registry.py +0 -0
  1271. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/model_types.py +0 -0
  1272. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/nvidia_client.py +0 -0
  1273. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/openai_client.py +0 -0
  1274. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/profiles.py +0 -0
  1275. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/provider_spec.py +0 -0
  1276. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/responses_client.py +0 -0
  1277. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/retry_log.py +0 -0
  1278. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/sdk_caps.py +0 -0
  1279. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/think_scrubber.py +0 -0
  1280. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/token_counter.py +0 -0
  1281. {polyrob-1.0.2 → polyrob-1.1.0}/modules/llm/usage_extract.py +0 -0
  1282. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/__init__.py +0 -0
  1283. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/backend_factory.py +0 -0
  1284. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/cache_manager.py +0 -0
  1285. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/episodic.py +0 -0
  1286. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/local_vector_memory_provider.py +0 -0
  1287. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/memory_manager.py +0 -0
  1288. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/models.py +0 -0
  1289. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/provider.py +0 -0
  1290. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/registry.py +0 -0
  1291. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/sqlite_curated_store.py +0 -0
  1292. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/sqlite_episodes_store.py +0 -0
  1293. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/sqlite_kb_store.py +0 -0
  1294. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/sqlite_memory_provider.py +0 -0
  1295. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/__init__.py +0 -0
  1296. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/compaction_manager.py +0 -0
  1297. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/context_retriever.py +0 -0
  1298. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/hierarchical_memory.py +0 -0
  1299. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/lexical_retriever.py +0 -0
  1300. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/null_context_manager.py +0 -0
  1301. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/phase_manager.py +0 -0
  1302. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/semantic_retriever.py +0 -0
  1303. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/task/threat_scan.py +0 -0
  1304. {polyrob-1.0.2 → polyrob-1.1.0}/modules/memory/wikilinks.py +0 -0
  1305. {polyrob-1.0.2 → polyrob-1.1.0}/modules/payments/__init__.py +0 -0
  1306. {polyrob-1.0.2 → polyrob-1.1.0}/modules/payments/deposit_monitor.py +0 -0
  1307. {polyrob-1.0.2 → polyrob-1.1.0}/modules/payments/networks.py +0 -0
  1308. {polyrob-1.0.2 → polyrob-1.1.0}/modules/payments/price_oracle.py +0 -0
  1309. {polyrob-1.0.2 → polyrob-1.1.0}/modules/payments/treasury_sweeper.py +0 -0
  1310. {polyrob-1.0.2 → polyrob-1.1.0}/modules/payments/wallet_generator.py +0 -0
  1311. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/__init__.py +0 -0
  1312. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/cards.py +0 -0
  1313. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/config.py +0 -0
  1314. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/identity.py +0 -0
  1315. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/mesh.py +0 -0
  1316. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/push.py +0 -0
  1317. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/renderer.py +0 -0
  1318. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/still.py +0 -0
  1319. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/store.py +0 -0
  1320. {polyrob-1.0.2 → polyrob-1.1.0}/modules/pfp/voice.py +0 -0
  1321. {polyrob-1.0.2 → polyrob-1.1.0}/modules/skills/__init__.py +0 -0
  1322. {polyrob-1.0.2 → polyrob-1.1.0}/modules/skills/skill_usage.py +0 -0
  1323. {polyrob-1.0.2 → polyrob-1.1.0}/modules/transcription/__init__.py +0 -0
  1324. {polyrob-1.0.2 → polyrob-1.1.0}/modules/transcription/base.py +0 -0
  1325. {polyrob-1.0.2 → polyrob-1.1.0}/modules/transcription/faster_whisper_transcriber.py +0 -0
  1326. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/README.md +0 -0
  1327. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/__init__.py +0 -0
  1328. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/_db.py +0 -0
  1329. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/artifact.py +0 -0
  1330. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/invoice_assets.py +0 -0
  1331. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/invoice_jitter.py +0 -0
  1332. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/invoice_sizing.py +0 -0
  1333. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/invoicing_note.py +0 -0
  1334. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/onchain_probe.py +0 -0
  1335. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/settlement_notify.py +0 -0
  1336. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/settlement_reputation.py +0 -0
  1337. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/settlement_scan.py +0 -0
  1338. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/settlement_subscriptions.py +0 -0
  1339. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/settlement_watcher.py +0 -0
  1340. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/solana_settlement.py +0 -0
  1341. {polyrob-1.0.2 → polyrob-1.1.0}/modules/x402/subscriptions.py +0 -0
  1342. {polyrob-1.0.2 → polyrob-1.1.0}/polyrob.egg-info/dependency_links.txt +0 -0
  1343. {polyrob-1.0.2 → polyrob-1.1.0}/polyrob.egg-info/entry_points.txt +0 -0
  1344. {polyrob-1.0.2 → polyrob-1.1.0}/polyrob.egg-info/top_level.txt +0 -0
  1345. {polyrob-1.0.2 → polyrob-1.1.0}/setup.cfg +0 -0
  1346. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/README.md +0 -0
  1347. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/__init__.py +0 -0
  1348. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/_shared.py +0 -0
  1349. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/discord/__init__.py +0 -0
  1350. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/discord/client.py +0 -0
  1351. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/discord/gateway.py +0 -0
  1352. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/discord/harness.py +0 -0
  1353. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/discord/surface.py +0 -0
  1354. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/email/__init__.py +0 -0
  1355. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/email/dedup.py +0 -0
  1356. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/inbox_sources.py +0 -0
  1357. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/signal/__init__.py +0 -0
  1358. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/signal/client.py +0 -0
  1359. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/signal/harness.py +0 -0
  1360. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/signal/surface.py +0 -0
  1361. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/slack/__init__.py +0 -0
  1362. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/slack/client.py +0 -0
  1363. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/slack/harness.py +0 -0
  1364. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/slack/socket_mode.py +0 -0
  1365. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/slack/surface.py +0 -0
  1366. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/__init__.py +0 -0
  1367. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/dedup.py +0 -0
  1368. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/interactive_tools.py +0 -0
  1369. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/moderation.py +0 -0
  1370. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/owner_intent_gate.py +0 -0
  1371. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/rate_limit.py +0 -0
  1372. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/room_moderator.py +0 -0
  1373. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/room_turn.py +0 -0
  1374. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/triggers.py +0 -0
  1375. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/telegram/voice.py +0 -0
  1376. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/whatsapp/__init__.py +0 -0
  1377. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/whatsapp/client.py +0 -0
  1378. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/whatsapp/harness.py +0 -0
  1379. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/whatsapp/inbound.py +0 -0
  1380. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/whatsapp/surface.py +0 -0
  1381. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/whatsapp/window.py +0 -0
  1382. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/x/__init__.py +0 -0
  1383. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/x/chat_client.py +0 -0
  1384. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/x/client.py +0 -0
  1385. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/x/harness.py +0 -0
  1386. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/x/poller.py +0 -0
  1387. {polyrob-1.0.2 → polyrob-1.1.0}/surfaces/x/surface.py +0 -0
  1388. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_a2a_protocol.py +0 -0
  1389. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_accessibility_snapshot.py +0 -0
  1390. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_bool_env_parse_ratchet.py +0 -0
  1391. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_browser_launch_ratchet.py +0 -0
  1392. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_changelog_release.py +0 -0
  1393. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_conftest_operator_env_guard.py +0 -0
  1394. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_core_platform_boundary.py +0 -0
  1395. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_core_server_boundary.py +0 -0
  1396. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_dynamic_pricing.py +0 -0
  1397. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_effect_classification_ratchet.py +0 -0
  1398. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_embedder_needed.py +0 -0
  1399. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_event_kind_contract.py +0 -0
  1400. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_gemini_fixes.py +0 -0
  1401. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_home_binding_ratchet.py +0 -0
  1402. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_import_layering.py +0 -0
  1403. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_layering_ratchet.py +0 -0
  1404. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_lazy_embedder.py +0 -0
  1405. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_llm_timeout_ssot.py +0 -0
  1406. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_mcp_tool_fix.py +0 -0
  1407. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_numeric_env_parse_ratchet.py +0 -0
  1408. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_paid_room_action_ratchet.py +0 -0
  1409. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_path_ratchet.py +0 -0
  1410. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_private_cleanup_ratchet.py +0 -0
  1411. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_public_docs_links.py +0 -0
  1412. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_public_files_present.py +0 -0
  1413. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_public_release_surface.py +0 -0
  1414. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_rate_limiter_ratchet.py +0 -0
  1415. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_rename_tail.py +0 -0
  1416. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_room_safety_ratchet.py +0 -0
  1417. {polyrob-1.0.2 → polyrob-1.1.0}/tests/test_schema_version.py +0 -0
  1418. {polyrob-1.0.2 → polyrob-1.1.0}/tools/README.md +0 -0
  1419. {polyrob-1.0.2 → polyrob-1.1.0}/tools/__init__.py +0 -0
  1420. {polyrob-1.0.2 → polyrob-1.1.0}/tools/alchemy/__init__.py +0 -0
  1421. {polyrob-1.0.2 → polyrob-1.1.0}/tools/alchemy/alchemy_tool.py +0 -0
  1422. {polyrob-1.0.2 → polyrob-1.1.0}/tools/anysite/__init__.py +0 -0
  1423. {polyrob-1.0.2 → polyrob-1.1.0}/tools/anysite/client.py +0 -0
  1424. {polyrob-1.0.2 → polyrob-1.1.0}/tools/app_service/__init__.py +0 -0
  1425. {polyrob-1.0.2 → polyrob-1.1.0}/tools/app_service/tool.py +0 -0
  1426. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/__init__.py +0 -0
  1427. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/_flags.py +0 -0
  1428. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/actions.py +0 -0
  1429. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/browser.py +0 -0
  1430. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/child_env.py +0 -0
  1431. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/context.py +0 -0
  1432. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/launch_security.py +0 -0
  1433. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/playwright_utils.py +0 -0
  1434. {polyrob-1.0.2 → polyrob-1.1.0}/tools/browser/views.py +0 -0
  1435. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/SANDBOX_SECURITY.md +0 -0
  1436. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backend.py +0 -0
  1437. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backend_cache.py +0 -0
  1438. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backends/__init__.py +0 -0
  1439. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backends/_proc.py +0 -0
  1440. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backends/bounded_capture.py +0 -0
  1441. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backends/docker.py +0 -0
  1442. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backends/local_subprocess.py +0 -0
  1443. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/backends/ssh.py +0 -0
  1444. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/env_policy.py +0 -0
  1445. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/limits.py +0 -0
  1446. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/result.py +0 -0
  1447. {polyrob-1.0.2 → polyrob-1.1.0}/tools/code_exec/tool.py +0 -0
  1448. {polyrob-1.0.2 → polyrob-1.1.0}/tools/coding/edit.py +0 -0
  1449. {polyrob-1.0.2 → polyrob-1.1.0}/tools/coding/lsp.py +0 -0
  1450. {polyrob-1.0.2 → polyrob-1.1.0}/tools/coding/snapshot.py +0 -0
  1451. {polyrob-1.0.2 → polyrob-1.1.0}/tools/collabland/__init__.py +0 -0
  1452. {polyrob-1.0.2 → polyrob-1.1.0}/tools/collabland/collabland_tool.py +0 -0
  1453. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/__init__.py +0 -0
  1454. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/_helpers.py +0 -0
  1455. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/agent_status_action.py +0 -0
  1456. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/approval_interactive.py +0 -0
  1457. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/autonomy_control_action.py +0 -0
  1458. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/avatar_action.py +0 -0
  1459. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/delegation.py +0 -0
  1460. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/execution.py +0 -0
  1461. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/execution_context.py +0 -0
  1462. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/grant_card.py +0 -0
  1463. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/hooks.py +0 -0
  1464. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/insights_action.py +0 -0
  1465. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/introspection.py +0 -0
  1466. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/mcp_registrar.py +0 -0
  1467. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/registry/__init__.py +0 -0
  1468. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/registry/schema_generators.py +0 -0
  1469. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/registry/schema_sanitizer.py +0 -0
  1470. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/registry/views.py +0 -0
  1471. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/service.py +0 -0
  1472. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/tool_search_actions.py +0 -0
  1473. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/types.py +0 -0
  1474. {polyrob-1.0.2 → polyrob-1.1.0}/tools/controller/wallet_authority.py +0 -0
  1475. {polyrob-1.0.2 → polyrob-1.1.0}/tools/credential_cache.py +0 -0
  1476. {polyrob-1.0.2 → polyrob-1.1.0}/tools/crypto_trade_gate.py +0 -0
  1477. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dapp_browser/__init__.py +0 -0
  1478. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dapp_browser/js.py +0 -0
  1479. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dapp_browser/registration.py +0 -0
  1480. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dapp_browser/tool.py +0 -0
  1481. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/__init__.py +0 -0
  1482. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/agent_registration.py +0 -0
  1483. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/book.py +0 -0
  1484. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/bridge_evm_leg.py +0 -0
  1485. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/bridge_verb.py +0 -0
  1486. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/call_verb.py +0 -0
  1487. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/deploy_verb.py +0 -0
  1488. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/lp_abi.py +0 -0
  1489. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/lp_reads.py +0 -0
  1490. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/lp_receipts.py +0 -0
  1491. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/lp_valuation.py +0 -0
  1492. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/lp_verbs.py +0 -0
  1493. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/nft_verbs.py +0 -0
  1494. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/payment_quote.py +0 -0
  1495. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/pool_screen.py +0 -0
  1496. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/__init__.py +0 -0
  1497. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/_http.py +0 -0
  1498. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/alchemy_index.py +0 -0
  1499. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/base.py +0 -0
  1500. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/dexscreener.py +0 -0
  1501. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/goplus.py +0 -0
  1502. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/jupiter.py +0 -0
  1503. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/relay_bridge.py +0 -0
  1504. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/routes/__init__.py +0 -0
  1505. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/routes/lifi.py +0 -0
  1506. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/routes/univ3_route.py +0 -0
  1507. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/providers/univ3.py +0 -0
  1508. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/reconcile.py +0 -0
  1509. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/spl_deploy_verb.py +0 -0
  1510. {polyrob-1.0.2 → polyrob-1.1.0}/tools/defi/trade_tool.py +0 -0
  1511. {polyrob-1.0.2 → polyrob-1.1.0}/tools/descriptors.py +0 -0
  1512. {polyrob-1.0.2 → polyrob-1.1.0}/tools/document_parser.py +0 -0
  1513. {polyrob-1.0.2 → polyrob-1.1.0}/tools/document_worker.py +0 -0
  1514. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dom/__init__.py +0 -0
  1515. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dom/buildDomTree.js +0 -0
  1516. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dom/history_tree_processor/service.py +0 -0
  1517. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dom/history_tree_processor/view.py +0 -0
  1518. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dom/service.py +0 -0
  1519. {polyrob-1.0.2 → polyrob-1.1.0}/tools/dom/views.py +0 -0
  1520. {polyrob-1.0.2 → polyrob-1.1.0}/tools/email_providers/__init__.py +0 -0
  1521. {polyrob-1.0.2 → polyrob-1.1.0}/tools/exceptions.py +0 -0
  1522. {polyrob-1.0.2 → polyrob-1.1.0}/tools/filesystem_docproc.py +0 -0
  1523. {polyrob-1.0.2 → polyrob-1.1.0}/tools/filesystem_pdf.py +0 -0
  1524. {polyrob-1.0.2 → polyrob-1.1.0}/tools/git/__init__.py +0 -0
  1525. {polyrob-1.0.2 → polyrob-1.1.0}/tools/git/tool.py +0 -0
  1526. {polyrob-1.0.2 → polyrob-1.1.0}/tools/github/__init__.py +0 -0
  1527. {polyrob-1.0.2 → polyrob-1.1.0}/tools/github/client.py +0 -0
  1528. {polyrob-1.0.2 → polyrob-1.1.0}/tools/github/tool.py +0 -0
  1529. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hf_deploy/__init__.py +0 -0
  1530. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hf_deploy/broker.py +0 -0
  1531. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hf_deploy/digest.py +0 -0
  1532. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hf_deploy/reconcile.py +0 -0
  1533. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hf_deploy/registry.py +0 -0
  1534. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hf_deploy/tool.py +0 -0
  1535. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hyperliquid/__init__.py +0 -0
  1536. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hyperliquid/models.py +0 -0
  1537. {polyrob-1.0.2 → polyrob-1.1.0}/tools/hyperliquid/service.py +0 -0
  1538. {polyrob-1.0.2 → polyrob-1.1.0}/tools/knowledge_inventory.py +0 -0
  1539. {polyrob-1.0.2 → polyrob-1.1.0}/tools/launchpad/__init__.py +0 -0
  1540. {polyrob-1.0.2 → polyrob-1.1.0}/tools/launchpad/execute.py +0 -0
  1541. {polyrob-1.0.2 → polyrob-1.1.0}/tools/launchpad/pons.py +0 -0
  1542. {polyrob-1.0.2 → polyrob-1.1.0}/tools/launchpad/pons_abi.py +0 -0
  1543. {polyrob-1.0.2 → polyrob-1.1.0}/tools/launchpad/registration.py +0 -0
  1544. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/README.md +0 -0
  1545. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/__init__.py +0 -0
  1546. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/catalog.py +0 -0
  1547. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/child_env.py +0 -0
  1548. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/config.py +0 -0
  1549. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/mcp_tool.py +0 -0
  1550. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/oauth_bridge.py +0 -0
  1551. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/param_coercion.py +0 -0
  1552. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/protocol.py +0 -0
  1553. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/rate_limit.py +0 -0
  1554. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/security.py +0 -0
  1555. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/self_install.py +0 -0
  1556. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/server_manager.py +0 -0
  1557. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/subscriptions.py +0 -0
  1558. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/user_mcp_service.py +0 -0
  1559. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/validation_tracker.py +0 -0
  1560. {polyrob-1.0.2 → polyrob-1.1.0}/tools/mcp/views.py +0 -0
  1561. {polyrob-1.0.2 → polyrob-1.1.0}/tools/oauth/__init__.py +0 -0
  1562. {polyrob-1.0.2 → polyrob-1.1.0}/tools/oauth/file_store.py +0 -0
  1563. {polyrob-1.0.2 → polyrob-1.1.0}/tools/oauth/manager.py +0 -0
  1564. {polyrob-1.0.2 → polyrob-1.1.0}/tools/oauth/provider.py +0 -0
  1565. {polyrob-1.0.2 → polyrob-1.1.0}/tools/oauth/providers/__init__.py +0 -0
  1566. {polyrob-1.0.2 → polyrob-1.1.0}/tools/oauth/providers/generic_oauth2.py +0 -0
  1567. {polyrob-1.0.2 → polyrob-1.1.0}/tools/polymarket/__init__.py +0 -0
  1568. {polyrob-1.0.2 → polyrob-1.1.0}/tools/polymarket/clob_adapter.py +0 -0
  1569. {polyrob-1.0.2 → polyrob-1.1.0}/tools/polymarket/models.py +0 -0
  1570. {polyrob-1.0.2 → polyrob-1.1.0}/tools/polymarket/service.py +0 -0
  1571. {polyrob-1.0.2 → polyrob-1.1.0}/tools/publish/__init__.py +0 -0
  1572. {polyrob-1.0.2 → polyrob-1.1.0}/tools/publish/tool.py +0 -0
  1573. {polyrob-1.0.2 → polyrob-1.1.0}/tools/self_env/__init__.py +0 -0
  1574. {polyrob-1.0.2 → polyrob-1.1.0}/tools/self_env/tool.py +0 -0
  1575. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/backend_pool.py +0 -0
  1576. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/discipline.py +0 -0
  1577. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/executor.py +0 -0
  1578. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/loopback_allow.py +0 -0
  1579. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/process_registry.py +0 -0
  1580. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/process_tool.py +0 -0
  1581. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/state.py +0 -0
  1582. {polyrob-1.0.2 → polyrob-1.1.0}/tools/shell/tool.py +0 -0
  1583. {polyrob-1.0.2 → polyrob-1.1.0}/tools/ship_common.py +0 -0
  1584. {polyrob-1.0.2 → polyrob-1.1.0}/tools/task_tool.py +0 -0
  1585. {polyrob-1.0.2 → polyrob-1.1.0}/tools/tool_search.py +0 -0
  1586. {polyrob-1.0.2 → polyrob-1.1.0}/tools/user_directory.py +0 -0
  1587. {polyrob-1.0.2 → polyrob-1.1.0}/tools/wallet_holder.py +0 -0
  1588. {polyrob-1.0.2 → polyrob-1.1.0}/tools/web_fetch/__init__.py +0 -0
  1589. {polyrob-1.0.2 → polyrob-1.1.0}/tools/web_fetch/fetcher.py +0 -0
  1590. {polyrob-1.0.2 → polyrob-1.1.0}/tools/web_fetch/render.py +0 -0
  1591. {polyrob-1.0.2 → polyrob-1.1.0}/tools/web_fetch/tool.py +0 -0
  1592. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/__init__.py +0 -0
  1593. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/client.py +0 -0
  1594. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/discovery.py +0 -0
  1595. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/net_guard.py +0 -0
  1596. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/real_client.py +0 -0
  1597. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/service.py +0 -0
  1598. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x402/spend_gate.py +0 -0
  1599. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_browser/__init__.py +0 -0
  1600. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_browser/escalation.py +0 -0
  1601. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_browser/registration.py +0 -0
  1602. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_browser/session_store.py +0 -0
  1603. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_browser/signup.py +0 -0
  1604. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_chat_client.py +0 -0
  1605. {polyrob-1.0.2 → polyrob-1.1.0}/tools/x_oauth2.py +0 -0
  1606. {polyrob-1.0.2 → polyrob-1.1.0}/utils/README.md +0 -0
  1607. {polyrob-1.0.2 → polyrob-1.1.0}/utils/__init__.py +0 -0
  1608. {polyrob-1.0.2 → polyrob-1.1.0}/utils/auth_utils.py +0 -0
  1609. {polyrob-1.0.2 → polyrob-1.1.0}/utils/bounded_collections.py +0 -0
  1610. {polyrob-1.0.2 → polyrob-1.1.0}/utils/circuit_breaker.py +0 -0
  1611. {polyrob-1.0.2 → polyrob-1.1.0}/utils/gif_utils.py +0 -0
  1612. {polyrob-1.0.2 → polyrob-1.1.0}/utils/path_validator.py +0 -0
  1613. {polyrob-1.0.2 → polyrob-1.1.0}/utils/rate_limit_manager.py +0 -0
  1614. {polyrob-1.0.2 → polyrob-1.1.0}/utils/result_size.py +0 -0
  1615. {polyrob-1.0.2 → polyrob-1.1.0}/utils/time_utils.py +0 -0
  1616. {polyrob-1.0.2 → polyrob-1.1.0}/utils/user_utils.py +0 -0
  1617. {polyrob-1.0.2 → polyrob-1.1.0}/webview/__init__.py +0 -0
  1618. {polyrob-1.0.2 → polyrob-1.1.0}/webview/audit.py +0 -0
  1619. {polyrob-1.0.2 → polyrob-1.1.0}/webview/config_view.py +0 -0
  1620. {polyrob-1.0.2 → polyrob-1.1.0}/webview/copy/__init__.py +0 -0
  1621. {polyrob-1.0.2 → polyrob-1.1.0}/webview/cors.py +0 -0
  1622. {polyrob-1.0.2 → polyrob-1.1.0}/webview/dev/package-lock.json +0 -0
  1623. {polyrob-1.0.2 → polyrob-1.1.0}/webview/dev/package.json +0 -0
  1624. {polyrob-1.0.2 → polyrob-1.1.0}/webview/owner_auth.py +0 -0
  1625. {polyrob-1.0.2 → polyrob-1.1.0}/webview/owner_login_flow.py +0 -0
  1626. {polyrob-1.0.2 → polyrob-1.1.0}/webview/posture_guard.py +0 -0
  1627. {polyrob-1.0.2 → polyrob-1.1.0}/webview/repair_sessions.py +0 -0
  1628. {polyrob-1.0.2 → polyrob-1.1.0}/webview/serve_tokens.py +0 -0
  1629. {polyrob-1.0.2 → polyrob-1.1.0}/webview/server_launcher.py +0 -0
  1630. {polyrob-1.0.2 → polyrob-1.1.0}/webview/session_access.py +0 -0
  1631. {polyrob-1.0.2 → polyrob-1.1.0}/webview/session_catalog.py +0 -0
  1632. {polyrob-1.0.2 → polyrob-1.1.0}/webview/session_identity.py +0 -0
  1633. {polyrob-1.0.2 → polyrob-1.1.0}/webview/socket_auth.py +0 -0
  1634. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/app/app.css +0 -0
  1635. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/app/http.js +0 -0
  1636. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/app/settings-control.js +0 -0
  1637. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/app/socket-client.js +0 -0
  1638. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/components.css +0 -0
  1639. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/fonts.css +0 -0
  1640. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/pages/admin.css +0 -0
  1641. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/pages/signin.css +0 -0
  1642. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/style.css +0 -0
  1643. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/variables.css +0 -0
  1644. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/css/webgate.css +0 -0
  1645. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/fonts/JetBrainsMono-Medium.woff2 +0 -0
  1646. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/fonts/JetBrainsMono-Regular.woff2 +0 -0
  1647. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/fonts/LICENSE-JetBrainsMono +0 -0
  1648. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/fonts/LICENSE-VT323 +0 -0
  1649. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/fonts/VT323-Regular.woff2 +0 -0
  1650. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/img/favicon.ico +0 -0
  1651. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/admin/activity.js +0 -0
  1652. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/admin/dashboard.js +0 -0
  1653. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/admin/user_detail.js +0 -0
  1654. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/admin/users.js +0 -0
  1655. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/admin/utils.js +0 -0
  1656. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/constants.js +0 -0
  1657. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/ethers.min.js +0 -0
  1658. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/signin.js +0 -0
  1659. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/socket.io.min.js +0 -0
  1660. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/status-uptime.js +0 -0
  1661. {polyrob-1.0.2 → polyrob-1.1.0}/webview/static/js/theme.js +0 -0
  1662. {polyrob-1.0.2 → polyrob-1.1.0}/webview/template_globals.py +0 -0
  1663. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/__init__.py +0 -0
  1664. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/admin/activity.html +0 -0
  1665. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/admin/dashboard.html +0 -0
  1666. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/admin/user_detail.html +0 -0
  1667. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/admin/users.html +0 -0
  1668. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/owner_login.html +0 -0
  1669. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/signin.html +0 -0
  1670. {polyrob-1.0.2 → polyrob-1.1.0}/webview/templates/status.html +0 -0
  1671. {polyrob-1.0.2 → polyrob-1.1.0}/webview/theme.py +0 -0
  1672. {polyrob-1.0.2 → polyrob-1.1.0}/webview/wallet_reader.py +0 -0
polyrob-1.1.0/PKG-INFO ADDED
@@ -0,0 +1,565 @@
1
+ Metadata-Version: 2.4
2
+ Name: polyrob
3
+ Version: 1.1.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: anthropic>=0.20.0
21
+ Requires-Dist: google-generativeai>=0.8.0
22
+ Requires-Dist: tiktoken>=0.7.0
23
+ Requires-Dist: aiohttp>=3.14.3
24
+ Requires-Dist: aiofiles>=23.0.0
25
+ Requires-Dist: aiosqlite>=0.19.0
26
+ Requires-Dist: requests>=2.30.0
27
+ Requires-Dist: certifi>=2024.0.0
28
+ Requires-Dist: cryptography>=50.0.0
29
+ Requires-Dist: pyjwt>=2.8.0
30
+ Requires-Dist: numpy>=1.24.0
31
+ Requires-Dist: pandas>=2.0.0
32
+ Requires-Dist: apsw>=3.46
33
+ Requires-Dist: sqlite-vec>=0.1.6
34
+ Requires-Dist: rich>=13.0.0
35
+ Requires-Dist: prompt_toolkit>=3.0.43
36
+ Requires-Dist: click>=8.0
37
+ Requires-Dist: colorama>=0.4.6
38
+ Requires-Dist: python-docx>=0.8.0
39
+ Requires-Dist: pypdf>=6.16.1
40
+ Requires-Dist: markdown>=3.5.0
41
+ Requires-Dist: markdownify>=0.11.0
42
+ Requires-Dist: pillow>=12.3.0
43
+ Requires-Dist: imageio>=2.37.0
44
+ Requires-Dist: python-magic>=0.4.27
45
+ Requires-Dist: qrcode>=7.4
46
+ Requires-Dist: httplib2>=0.32.0
47
+ Requires-Dist: pyasn1>=0.6.4
48
+ Requires-Dist: anysite-cli>=0.3
49
+ Requires-Dist: pyyaml>=6
50
+ Requires-Dist: packaging>=23.2
51
+ Requires-Dist: h2>=4.4.1
52
+ Provides-Extra: server
53
+ Requires-Dist: fastapi==0.141.1; extra == "server"
54
+ Requires-Dist: starlette==1.6.0; extra == "server"
55
+ Requires-Dist: uvicorn[standard]==0.38.0; extra == "server"
56
+ Requires-Dist: Jinja2==3.1.6; extra == "server"
57
+ Requires-Dist: python-socketio>=5.11.0; extra == "server"
58
+ Requires-Dist: python-multipart>=0.0.6; extra == "server"
59
+ Requires-Dist: watchfiles>=1.0.0; extra == "server"
60
+ Requires-Dist: argon2-cffi>=23.1.0; extra == "server"
61
+ Provides-Extra: browser
62
+ Requires-Dist: playwright>=1.40.0; extra == "browser"
63
+ Provides-Extra: memory-vector
64
+ Requires-Dist: sentence-transformers>=3.0.0; extra == "memory-vector"
65
+ Provides-Extra: crypto
66
+ Requires-Dist: web3>=6.0.0; extra == "crypto"
67
+ Requires-Dist: eth-account>=0.10.0; extra == "crypto"
68
+ Requires-Dist: x402>=2.13.0; extra == "crypto"
69
+ Requires-Dist: fastapi-x402>=0.1.8; extra == "crypto"
70
+ Requires-Dist: hyperliquid-python-sdk>=0.21.0; extra == "crypto"
71
+ Requires-Dist: py-clob-client-v2>=0.1.0; extra == "crypto"
72
+ Provides-Extra: solana
73
+ Requires-Dist: solders>=0.21; extra == "solana"
74
+ Requires-Dist: x402[svm]>=2.16.0; extra == "solana"
75
+ Requires-Dist: solana<0.40,>=0.36; extra == "solana"
76
+ Requires-Dist: httpx2>=2.12.0; extra == "solana"
77
+ Requires-Dist: httpcore2>=2.10.0; extra == "solana"
78
+ Provides-Extra: telegram
79
+ Requires-Dist: aiogram>=3.17.0; extra == "telegram"
80
+ Provides-Extra: twitter
81
+ Requires-Dist: tweepy>=4.14.0; extra == "twitter"
82
+ Requires-Dist: chatxdk>=0.5.0; extra == "twitter"
83
+ Provides-Extra: voice
84
+ Requires-Dist: faster-whisper>=1.0.0; extra == "voice"
85
+ Provides-Extra: dev
86
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
87
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
88
+ Requires-Dist: ruff>=0.6; extra == "dev"
89
+ Requires-Dist: build; extra == "dev"
90
+ Requires-Dist: twine; extra == "dev"
91
+ Provides-Extra: all
92
+ Requires-Dist: polyrob[browser,crypto,memory-vector,server,solana,telegram,twitter,voice]; extra == "all"
93
+ Dynamic: license-file
94
+
95
+ <div align="center">
96
+
97
+ <img src="https://raw.githubusercontent.com/theselfruleorg/polyrob/main/docs/assets/polyrob-logo.png" alt="POLYROB" width="440">
98
+
99
+ ### A self-hosted autonomous AI agent that pursues goals, learns from experience, and runs entirely on your own machine.
100
+
101
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
102
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
103
+ [![PyPI](https://img.shields.io/pypi/v/polyrob.svg)](https://pypi.org/project/polyrob/)
104
+ [![CI](https://github.com/theselfruleorg/polyrob/actions/workflows/ci.yml/badge.svg)](https://github.com/theselfruleorg/polyrob/actions)
105
+ [![Stars](https://img.shields.io/github/stars/theselfruleorg/polyrob?style=social)](https://github.com/theselfruleorg/polyrob)
106
+
107
+ **[Quick Start](#quick-start) · [Docs](#documentation) · [Examples](docs/examples.md) · [Comparison](docs/comparison.md)**
108
+
109
+ </div>
110
+
111
+ POLYROB is a self-hosted autonomous AI agent that runs on your own machine. You give it a goal in
112
+ plain language and it does the rest — planning the work into steps, browsing the web, reading and
113
+ writing files, running code and shell commands, calling external tools and APIs, and recovering
114
+ from its own errors until the goal is done. It works with every major LLM provider (OpenAI, Anthropic, Google, DeepSeek,
115
+ OpenRouter, NVIDIA NIM, twenty more flat-rate and regional rows, six OAuth subscription plans,
116
+ and any endpoint you declare) and fails over between them automatically,
117
+ remembers what it learns across sessions, and reaches you wherever you are — your terminal, the web
118
+ console, a REST API, or chat surfaces like Telegram and email. Switch it into personal-agent mode
119
+ and it becomes durably autonomous: it keeps a backlog of goals that survives restarts, writes and
120
+ curates its own skills from experience, wakes itself to follow up on unfinished work, and refines
121
+ an evolving model of how you work.
122
+
123
+ > **Self-hosted, not a SaaS.** POLYROB runs on your own machine or server. There is no hosted
124
+ > version — your keys, your data, your control. The core install is ~50 MB with zero cloud
125
+ > dependencies; everything beyond LLM calls stays on your box unless you opt in.
126
+
127
+ ---
128
+
129
+ ## 🎯 Give it a goal and walk away
130
+
131
+ POLYROB doesn't just answer — it *works*, and it keeps working when you're not watching.
132
+
133
+ - **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.
134
+ - **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.
135
+ - **Self-wake** — re-enters idle sessions to continue or follow up, with depth and backoff guards so it never loops.
136
+ - **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.
137
+ - **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.
138
+
139
+ ## 🧬 It learns and gets better with use
140
+
141
+ Run POLYROB as your personal agent (`POLYROB_LOCAL=true`) and it turns experience into durable
142
+ capability instead of forgetting it when the task ends.
143
+
144
+ - **Reflective, hierarchical memory** — findings are organized into phases, consolidated by an LLM, and forgotten by *importance* (`recency + relevance + frequency`), not just age.
145
+ - **Cross-session recall** — SQLite FTS5 keyword search out of the box (zero extra deps), or optional hybrid keyword+vector recall (`sqlite-vec`) that transparently degrades to keyword search if the extension can't load — the agent keeps working either way.
146
+ - **Episodic activity log** — a durable "what happened last time" ledger bridges each new session so it never starts cold.
147
+ - **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.
148
+ - **Evolving identity** — a per-user self-doc the agent updates (owner-gated) as it learns how you work.
149
+ - **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).
150
+
151
+ Skills use the open [agentskills.io](https://agentskills.io) `SKILL.md` format — the same format as
152
+ Claude Code, discovered straight from `~/.agents/skills/` (and `~/.claude/skills/`). Install from a local folder, a GitHub repo, or
153
+ a `SKILL.md` URL: `polyrob skill install <spec>` threat-scans, quarantines, and waits for your
154
+ explicit approval. See **[docs/guide/skills.md](docs/guide/skills.md)**.
155
+
156
+ ## 🛠️ A real toolbox
157
+
158
+ - **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.
159
+ - **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.
160
+ - **Structured web data** — the AnySite tool pulls structured data from **200+ sites and platforms**; Perplexity-backed search; Twitter/X and Gmail tools.
161
+ - **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.
162
+ - **Vision** — reasons over screenshots and images.
163
+
164
+ ## 🔌 Use it from anywhere
165
+
166
+ One agent core, many front doors:
167
+
168
+ - **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)).
169
+ - **Web console** — five clear destinations for Chat, Inbox, Work, Money, and Agent. Watch live work, resolve approvals, manage standing jobs and apps, reconcile the agent's ledger, and change its capabilities from one owner surface.
170
+ - **REST API + SSE streaming**, plus a drop-in **OpenAI-compatible `/v1`** endpoint — point any OpenAI SDK at `localhost:9000/v1`.
171
+ - **A2A protocol** — Google's Agent-to-Agent standard (Agent Card discovery, JSON-RPC, SSE) so other agents can discover and delegate to yours.
172
+ - **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.
173
+ - **Chat surfaces** — Telegram (live incremental streaming + voice-note transcription), email (IMAP/SMTP), WhatsApp, Discord, Slack, Signal, and X (Twitter) DMs.
174
+
175
+ ## 🖥️ One console for the whole agent
176
+
177
+ The POLYROB Console keeps conversation, unattended work, owner decisions, money, and agent policy in
178
+ one place. It uses the same goal board, approval queue, wallet ledger, and configuration primitives as
179
+ the CLI and API, so a decision made in one surface is visible in the others.
180
+
181
+ <p align="center">
182
+ <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%">
183
+ </p>
184
+
185
+ <table>
186
+ <tr>
187
+ <td width="50%" valign="top">
188
+ <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>
189
+ <strong>Inbox</strong> — see only what needs you, with the reason, consequence, and available decision in plain language.
190
+ </td>
191
+ <td width="50%" valign="top">
192
+ <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>
193
+ <strong>Work</strong> — follow what is running now, what comes next, scheduled jobs, and delegated helpers.
194
+ </td>
195
+ </tr>
196
+ <tr>
197
+ <td width="50%" valign="top">
198
+ <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>
199
+ <strong>Money</strong> — reconcile the agent's book with its chains, inspect cash and invoices, and keep spend limits visible.
200
+ </td>
201
+ <td width="50%" valign="top">
202
+ <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>
203
+ <strong>Agent</strong> — inspect identity, memory, capabilities, health, and the rules that bound autonomous action.
204
+ </td>
205
+ </tr>
206
+ <tr>
207
+ <td colspan="2" valign="top">
208
+ <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>
209
+ <strong>Apps</strong> — inside Work, review what the agent built, approve a first deployment, read logs, or take an app down.
210
+ </td>
211
+ </tr>
212
+ </table>
213
+
214
+ Run it with <code>polyrob dashboard</code> and open <code>http://localhost:5050</code>. See the
215
+ <strong><a href="docs/guide/console.md">console guide</a></strong> for deployment postures, owner login,
216
+ read-only mode, and the actions each screen exposes.
217
+
218
+ ## 🧠 Multi-provider intelligence
219
+
220
+ - **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#3-providers-and-models).
221
+ - **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.
222
+ - **Automatic failover** — a rate-limited or failing provider silently retries on a fallback.
223
+ - **Live model switching** — `/model <provider> <model>` mid-session, or per-request override on the `/v1` surface.
224
+ - **Cross-provider prompt caching** — cuts token cost on long sessions, with cached-token metrics surfaced per provider.
225
+ - **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.
226
+
227
+ ---
228
+
229
+ ## Quick Start
230
+
231
+ POLYROB targets **Python 3.11+**.
232
+
233
+ ```bash
234
+ # 1. Install (with all optional features)
235
+ pipx install "polyrob[all]"
236
+
237
+ # 2. Browser engine (optional — only needed for web automation).
238
+ # pipx isolates the venv, so run playwright FROM polyrob's venv:
239
+ "$(pipx environment --value PIPX_LOCAL_VENVS)/polyrob/bin/playwright" install chromium
240
+
241
+ # 3. Configure (connects a provider key, writes ~/.polyrob/.env)
242
+ polyrob init
243
+
244
+ # 4. Sanity-check your setup
245
+ polyrob doctor
246
+
247
+ # 5. Start it
248
+ polyrob
249
+ ```
250
+
251
+ > Plain `pip install polyrob` into your own venv? Then step 2 is just
252
+ > `python -m playwright install chromium` in that venv — and the core agent
253
+ > runs fine without the browser at all.
254
+
255
+ Run `polyrob` and you're talking to the agent. Give it a task in plain language and it plans, works,
256
+ and reports back; ask a follow-up and it keeps going. `polyrob doctor` is a real preflight — it
257
+ reports which provider keys resolve, the exact model it will pick, your active memory backend, and
258
+ workspace isolation.
259
+
260
+ **Turn on autonomy** to unlock the self-evolving and goal-seeking loops (skills, curator,
261
+ goal board, self-wake, episodic memory):
262
+
263
+ ```bash
264
+ polyrob autonomy on --global # writes AUTONOMY_ENABLED=true to ~/.polyrob/.env; `polyrob init` also asks
265
+ ```
266
+
267
+ The four axes, what each one moves and how to stop it again:
268
+ [docs/guide/configuration.md §5](docs/guide/configuration.md#5-the-autonomy-dial).
269
+
270
+ <details>
271
+ <summary>Optional: web console & REST API</summary>
272
+
273
+ ```bash
274
+ polyrob dashboard # web console → http://localhost:5050
275
+ polyrob serve # local REST API → http://localhost:9000
276
+ polyrob gateway # run all enabled chat surfaces (Telegram/email/…) in one process
277
+ ```
278
+ </details>
279
+
280
+ For a full walkthrough see **[docs/guide/getting-started.md](docs/guide/getting-started.md)**.
281
+ Want to contribute? See **[CONTRIBUTING.md](CONTRIBUTING.md)**.
282
+
283
+ ---
284
+
285
+ ## A taste of what it can do
286
+
287
+ ```
288
+ "Research competitors in the AI automation space and write a report
289
+ with pricing, features, and positioning."
290
+
291
+ "Monitor this webpage daily and alert me when the price drops below $500."
292
+
293
+ "Log into my dashboard, export the monthly report, and email it to my team."
294
+
295
+ "Scrape these 50 product pages, extract pricing, and build a CSV."
296
+ ```
297
+
298
+ More real-world examples → **[docs/examples.md](docs/examples.md)**
299
+
300
+ ---
301
+
302
+ ## The terminal, done right
303
+
304
+ Run `polyrob` and you're in the agent. From inside the session, slash commands give you full control:
305
+
306
+ | In-session command | What it does |
307
+ |---|---|
308
+ | `/compact` | LLM-compresses the context window (e.g. 8,432 → 3,210 tokens) mid-session |
309
+ | `/usage` | Authoritative token + cost accounting from the local DB |
310
+ | `/model <provider> <model>` | Hot-swap the model without losing the conversation |
311
+ | `/memory search <q>` | Search cross-session memory inline |
312
+ | `/self` | View the agent's SOUL (identity) and evolving SELF doc |
313
+ | `/replay` | Visually replay a past session |
314
+ | `/autonomy` | Inspect goals, cron, and the autonomy loops |
315
+
316
+ Twelve named toolsets (`minimal`, `safe`, `research`, `coding`, `development`, `browser`, `social`,
317
+ `full` and more) let you scope exactly what the agent can touch. Management subcommands round it
318
+ out — `polyrob doctor` (preflight), `polyrob kb add/search` (local knowledge base), `polyrob auth`
319
+ (provider sign-in), `polyrob keys` (API access), `polyrob profile` (several bots on one machine),
320
+ and `polyrob update` (self-update with snapshot, guarded migration, verify and **auto-rollback**;
321
+ `--apply` for git installs, a hint for pipx).
322
+
323
+ ---
324
+
325
+ ## Full capabilities
326
+
327
+ **Core automation**
328
+
329
+ | Capability | Detail |
330
+ |---|---|
331
+ | Web reading | `web_fetch` URL→markdown, no browser needed |
332
+ | Browser automation | Playwright with anti-detection, vision over screenshots |
333
+ | Files & data | text / JSON / CSV / markdown read + write |
334
+ | Code | built-in coding tools + git/GitHub + opt-in sandboxed execution |
335
+ | Planning | multi-step decomposition with automatic error recovery |
336
+
337
+ **Intelligence & memory**
338
+
339
+ | Capability | Detail |
340
+ |---|---|
341
+ | Cross-session recall | SQLite FTS5 (default) or hybrid vector (`sqlite-vec`), tenant-scoped |
342
+ | Reflective memory | phase-organized, LLM-consolidated, importance-based forgetting |
343
+ | Adaptive context | LLM-synthesis compaction in the 85–95% band, with anti-thrash cooldown |
344
+ | Prompt caching | per-provider, with cached-token cost metrics |
345
+ | Extended thinking | optional per-provider reasoning budgets + reasoning-prose scrubber |
346
+
347
+ **Autonomy** *(personal-agent mode)*
348
+
349
+ | Capability | Detail |
350
+ |---|---|
351
+ | Durable goal board | SQLite, atomic claims, circuit breaker, daily quota — survives restarts |
352
+ | Cron | natural-language schedules + out-of-band delivery (Telegram/email/X) |
353
+ | Self-wake | re-enters idle sessions with depth/backoff guards |
354
+ | Self-authored skills | background review → scan → quarantine → owner approval |
355
+ | Skill curator | retires unused skills, revives on reuse |
356
+ | Delegation | least-privilege sub-agents, sync or detached background |
357
+
358
+ **Interfaces & interop**
359
+
360
+ | Capability | Detail |
361
+ |---|---|
362
+ | Terminal | `polyrob` opens the agent — live tool transcripts, ~60 slash commands, resumable sessions |
363
+ | Web console | Chat, Inbox, Work, Money, and Agent over a real-time Socket.IO surface |
364
+ | REST API | session lifecycle + mid-run guidance injection + SSE streaming |
365
+ | OpenAI-compatible | drop-in `/v1/chat/completions` + `/v1/models` |
366
+ | A2A protocol | Agent Card discovery, JSON-RPC, SSE — agent-to-agent delegation |
367
+ | MCP client | STDIO / SSE / HTTP / Streamable HTTP, live resource subscriptions |
368
+ | MCP server | expose polyrob's read-only tools to Claude Desktop / Cursor (`POST /mcp`, off by default) |
369
+ | Chat surfaces | Telegram, email, WhatsApp, Discord, Slack, Signal, X DMs — one agent core, many channels |
370
+
371
+ ---
372
+
373
+ ## Integrations
374
+
375
+ Multi-provider LLM (**OpenAI · Anthropic · Google Gemini · DeepSeek · OpenRouter · NVIDIA NIM**) ·
376
+ **Playwright** browser · **MCP** (STDIO/SSE/HTTP/Streamable) · **AnySite** (200+ sites) ·
377
+ **Perplexity** search · **Twitter/X** · **Gmail / IMAP-SMTP** · **Telegram** · **WhatsApp** ·
378
+ **Discord** · **Slack** · **Signal** ·
379
+ voice transcription (**faster-whisper**) · **A2A** · OpenAI-compatible `/v1` · **agentskills.io**
380
+ skills · **sqlite-vec** + **sentence-transformers** local RAG.
381
+
382
+ ---
383
+
384
+ ## Safe autonomy by design
385
+
386
+ An autonomous agent that touches the web, your files, and other people needs guardrails. POLYROB
387
+ marks external content as untrusted data and layers capability, authority, approval, and containment
388
+ checks around it. The core protections below are **on by default**:
389
+
390
+ | Layer | Protection | Default |
391
+ |-------|------------|---------|
392
+ | **Untrusted-input wrapping** | Web pages, emails, and tool results framed as data, not instructions | **On** |
393
+ | **Least-privilege delegation** | Sub-agents get narrowed toolsets (no money/comms/code-exec), no re-delegation | **On** |
394
+ | **Schema sanitization** | Hostile tool-schema constructs fixed before they reach a provider | **On** |
395
+ | **SSRF confinement** | `web_fetch` re-validates every redirect hop; blocks loopback/metadata/private targets | **On** |
396
+ | **Self-modification review** | New skills / identity edits are quarantined and reviewed before taking effect | **On** |
397
+ | **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 |
398
+ | **Run budget** | Cap a session's provider spend; the run halts honestly at the ceiling rather than claiming success | Opt-in (`RUN_BUDGET_USD`) |
399
+ | **Four-tier access** | OWNER / CORRESPONDENT / GROUP MEMBER / DENIED routing for chat surfaces | Opt-in (`CORRESPONDENT_ACCESS_ENABLED`; on under `AUTONOMY_MODE=autonomous`) |
400
+ | **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`) |
401
+ | **Memory threat-scan** | Rejects injected jailbreak/persona-rewrite patterns on write | Opt-in (`MEMORY_THREAT_SCAN`) |
402
+
403
+ When you expose the agent to other people, the **access model** keeps a stranger's message as
404
+ *data*: **OWNER** steers the agent · **CORRESPONDENT** (a third party the agent contacted) can only
405
+ return data, never command · **GROUP MEMBER** is answered in an allowed room from a read-only toolset ·
406
+ **DENIED** is blocked. A correspondent-tainted session has high-impact
407
+ tools (money, comms, code-exec) gated off until a genuine owner turn.
408
+
409
+ > **Chat surfaces are off by default for a reason.** When you enable them, treat inbound DMs as
410
+ > untrusted input — use pairing/approval. A public group chat is a documented, supported feature
411
+ > ([docs/guide/groups.md](docs/guide/groups.md)) with its own allowlist, per-chat roles and a
412
+ > read-only room toolset — read that guide before turning `GROUP_CHAT_ENABLED` on.
413
+
414
+ ---
415
+
416
+ ## Crypto & web3 *(optional, off by default)*
417
+
418
+ POLYROB can act as an economic agent when you want it to — all of it gated behind flags and off by
419
+ default:
420
+
421
+ - **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.
422
+ - **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.
423
+ - **On-chain token sight** — a read-only tool (14 verbs, NFTs included) for token identity, price, liquidity, a safety screen, pool discovery, and the agent's own portfolio across Base, Ethereum, Arbitrum, Polygon and Solana — plus `reconcile`, which diffs the agent's position ledger against actual chain balances. Address is the only identity (a ticker is never resolved for you), and unknown is never rendered as zero.
424
+ - **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 anything above a configurable ceiling waits for an owner approval. Solana swaps (Jupiter) run the same guard order with an authority-grant refusal in place of the allowance check.
425
+ - **Venue trading** — Hyperliquid (perps) and Polymarket (prediction markets) tools, dry-run by default behind a master + per-venue live switch and per-venue caps.
426
+ - **ERC-8004 trustless agents** — optional on-chain agent identity + portable reputation.
427
+ - **SIWE** wallet auth for the multi-tenant posture.
428
+
429
+ > ⚠️ **Crypto features are unaudited.** The wallet, signing, and payment code (`crypto` extra) has
430
+ > **not** had any independent security audit. It ships **as-is with no warranty** and can lose
431
+ > funds. Enable it only at your own risk, and prefer testnets. See
432
+ > [SECURITY.md](SECURITY.md#crypto--wallet--payment-features).
433
+
434
+ ---
435
+
436
+ ## Configuration essentials
437
+
438
+ ```bash
439
+ # ~/.polyrob/.env — set any providers you have keys for
440
+ OPENROUTER_API_KEY=sk-or-... # recommended: one key reaches every model
441
+ ANTHROPIC_API_KEY=sk-ant-...
442
+ OPENAI_API_KEY=sk-...
443
+ GEMINI_API_KEY=...
444
+
445
+ # Memory backend: local_vector is the CLI default (hybrid recall; needs the [memory-vector]
446
+ # extra, degrades to keyword FTS5 without it). Server default: sqlite
447
+ MEMORY_BACKEND=local_vector
448
+
449
+ # The CLI sets POLYROB_LOCAL for you (interactive tools). Autonomy is a second switch:
450
+ # AUTONOMY_ENABLED=true
451
+ ```
452
+
453
+ POLYROB falls back across providers automatically on billing or rate-limit errors; switch
454
+ mid-session with `/model <provider> <model>` (or `<provider>/<model>`). Configuration guide →
455
+ **[docs/guide/configuration.md](docs/guide/configuration.md)** · full environment-flag reference
456
+ (SSOT) → **[docs/CONFIGURATION.md](docs/CONFIGURATION.md)**.
457
+
458
+ Everything crypto — the agent wallet, paying for resources (x402), getting paid
459
+ (invoicing, branded QR cards, on-chain settlement), watchtower subscriptions, on-chain
460
+ token sight and guarded transfers, ERC-8004 reputation, credits, and the trading
461
+ tools — is documented end-to-end (all OFF by default) in
462
+ **[docs/guide/payments.md](docs/guide/payments.md)**.
463
+
464
+ ---
465
+
466
+ ## Installation options
467
+
468
+ ```bash
469
+ pipx install "polyrob[all]" # recommended — everything
470
+ pip install polyrob # core agent + keyword memory + CLI (~50 MB, zero cloud deps)
471
+ pip install "polyrob[browser]" # add Playwright browser automation
472
+ pip install "polyrob[server]" # add FastAPI REST API + web console
473
+ ```
474
+
475
+ Every extra, what it adds and what it costs you in disk:
476
+ [docs/guide/getting-started.md](docs/guide/getting-started.md#extras).
477
+
478
+ ### Self-hosting & deployment
479
+
480
+ Run it three ways, and the posture auto-derives from how you bind it: **`local`** (loopback, no
481
+ auth — the default), **`own_ops`** (public host with owner login; `--host 0.0.0.0` auto-upgrades to
482
+ this so you can't accidentally expose a no-auth console), or **`multitenant`** (wallet/SIWE +
483
+ billing). One `docker compose up` builds the server + browser + vector memory and persists
484
+ memory/sessions/skills across restarts. See
485
+ **[docs/guide/self-hosting.md](docs/guide/self-hosting.md)**.
486
+
487
+ ---
488
+
489
+ ## For developers
490
+
491
+ ```
492
+ polyrob/
493
+ ├── agents/ # Task automation framework (agent loop, memory, skills, goals)
494
+ ├── api/ # FastAPI HTTP + A2A + OpenAI /v1
495
+ ├── cli/ # Terminal-native `polyrob` agent
496
+ ├── core/ # DI, config, permissions, instance/identity, autonomy runtime
497
+ ├── modules/ # LLM, Memory, Database, Auth, Credits
498
+ ├── tools/ # Browser, MCP, Email, Twitter, code-exec
499
+ ├── surfaces/ # Chat-surface adapters (Telegram, Email, WhatsApp, Discord, Slack, Signal, X)
500
+ ├── cron/ # Durable scheduled runs + goal board
501
+ └── webview/ # Optional web console
502
+ ```
503
+
504
+ ```bash
505
+ git clone https://github.com/theselfruleorg/polyrob
506
+ cd polyrob
507
+ bash install.sh # scripted: venv + editable install + `polyrob init --no-prompt`
508
+ # — or manually:
509
+ python -m venv venv && source venv/bin/activate
510
+ pip install -e ".[dev,all]"
511
+ python -m playwright install chromium
512
+
513
+ pytest tests/unit -q # fast unit suite
514
+ ruff check . # lint
515
+ ```
516
+
517
+ Architecture overview → **[docs/guide/architecture.md](docs/guide/architecture.md)** · API reference
518
+ → **[docs/guide/api.md](docs/guide/api.md)** · deep architecture & contributor guide →
519
+ **[AGENTS.md](AGENTS.md)** (every layer also has its own `README.md`)
520
+
521
+ ---
522
+
523
+ ## Documentation
524
+
525
+ | Document | Description |
526
+ |----------|-------------|
527
+ | [docs/guide/getting-started.md](docs/guide/getting-started.md) | Install & first run |
528
+ | [docs/guide/cli.md](docs/guide/cli.md) | Terminal agent commands |
529
+ | [docs/guide/skills.md](docs/guide/skills.md) | Skills — install, author, and manage |
530
+ | [docs/guide/api.md](docs/guide/api.md) | REST + A2A + OpenAI-compatible API |
531
+ | [docs/guide/configuration.md](docs/guide/configuration.md) | Configuring the agent — providers, memory, the autonomy dial, tools, surfaces, preferences |
532
+ | [docs/guide/owner-controls.md](docs/guide/owner-controls.md) | Stop, pause and resume from any seat; approvals and the inbox |
533
+ | [docs/guide/groups.md](docs/guide/groups.md) | Group chats (rooms) — allowlist, roles, per-chat policy, the room service job |
534
+ | [docs/guide/profiles.md](docs/guide/profiles.md) | Named profiles — several isolated bots on one machine |
535
+ | [docs/guide/instances.md](docs/guide/instances.md) | Instance identity — SOUL, character, avatar |
536
+ | [docs/guide/upgrading.md](docs/guide/upgrading.md) | Upgrading an existing install |
537
+ | [docs/guide/migration/](docs/guide/migration/README.md) | Migrating from another agent framework |
538
+ | [docs/guide/architecture.md](docs/guide/architecture.md) | Architecture overview |
539
+ | [docs/guide/self-hosting.md](docs/guide/self-hosting.md) | Self-hosting / deployment |
540
+ | [docs/guide/deployment-postures.md](docs/guide/deployment-postures.md) | Deployment postures (local / own_ops / multitenant) |
541
+ | [docs/guide/console.md](docs/guide/console.md) | Web console — the five destinations, owner actions, posture |
542
+ | [docs/guide/payments.md](docs/guide/payments.md) | Payments, wallet & crypto — the complete money reference |
543
+ | [docs/guide/security-model.md](docs/guide/security-model.md) | Honest trust model — heuristic gates vs. the OS/container boundary |
544
+ | [docs/guide/streams.md](docs/guide/streams.md) | Goals and standing work — the goal board, objectives, fair dispatch, cron |
545
+ | [docs/comparison.md](docs/comparison.md) | Comparison with other frameworks |
546
+ | [docs/examples.md](docs/examples.md) | Real-world usage examples |
547
+ | [docs/CONFIGURATION.md](docs/CONFIGURATION.md) | Environment-flag reference (SSOT) |
548
+ | [AGENTS.md](AGENTS.md) | Deep architecture, invariants & contributor guide |
549
+ | [CHANGELOG.md](CHANGELOG.md) | Notable changes |
550
+
551
+ ---
552
+
553
+ ## Contributing & security
554
+
555
+ - **Contributions welcome** — see [CONTRIBUTING.md](CONTRIBUTING.md)
556
+ - **Report vulnerabilities** — see [SECURITY.md](SECURITY.md)
557
+ - **License** — MIT ([LICENSE](LICENSE)) · brand/name use in [TRADEMARK.md](TRADEMARK.md) · third-party attributions in [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md)
558
+
559
+ ---
560
+
561
+ <div align="center">
562
+
563
+ **POLYROB** — by [The Selfrule Organization](https://theselfrule.org)
564
+
565
+ </div>