connectonion 0.6.4__tar.gz → 0.6.5__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 (492) hide show
  1. {connectonion-0.6.4 → connectonion-0.6.5}/PKG-INFO +1 -1
  2. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/__init__.py +1 -1
  3. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/main.py +2 -2
  4. connectonion-0.6.5/connectonion/cli/co_ai/prompts/connectonion/concepts/trust.md +249 -0
  5. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/copy_commands.py +21 -0
  6. connectonion-0.6.5/connectonion/cli/commands/trust_commands.py +152 -0
  7. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/main.py +82 -0
  8. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/llm.py +2 -2
  9. connectonion-0.6.5/connectonion/docs/concepts/fast_rules.md +237 -0
  10. connectonion-0.6.5/connectonion/docs/concepts/onboarding.md +465 -0
  11. connectonion-0.6.5/connectonion/docs/concepts/trust.md +1032 -0
  12. connectonion-0.6.5/connectonion/docs/design-decisions/023-trust-policy-system-design.md +323 -0
  13. connectonion-0.6.5/connectonion/docs/network/README.md +36 -0
  14. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/network/connect.md +135 -0
  15. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/network/host.md +73 -4
  16. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/__init__.py +7 -6
  17. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/asgi/__init__.py +3 -0
  18. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/asgi/http.py +125 -19
  19. connectonion-0.6.5/connectonion/network/asgi/websocket.py +478 -0
  20. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/connect.py +145 -29
  21. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/host/auth.py +70 -67
  22. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/host/routes.py +88 -3
  23. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/host/server.py +100 -17
  24. connectonion-0.6.5/connectonion/network/trust/__init__.py +38 -0
  25. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/trust/factory.py +51 -24
  26. connectonion-0.6.5/connectonion/network/trust/fast_rules.py +100 -0
  27. connectonion-0.6.5/connectonion/network/trust/tools.py +372 -0
  28. connectonion-0.6.5/connectonion/network/trust/trust_agent.py +403 -0
  29. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/transcribe.py +1 -1
  30. {connectonion-0.6.4 → connectonion-0.6.5}/pyproject.toml +1 -1
  31. connectonion-0.6.4/connectonion/cli/co_ai/prompts/connectonion/concepts/trust.md +0 -291
  32. connectonion-0.6.4/connectonion/docs/concepts/trust.md +0 -291
  33. connectonion-0.6.4/connectonion/docs/network/README.md +0 -14
  34. connectonion-0.6.4/connectonion/network/asgi/websocket.py +0 -217
  35. connectonion-0.6.4/connectonion/network/trust/__init__.py +0 -30
  36. connectonion-0.6.4/connectonion/network/trust/prompts.py +0 -71
  37. connectonion-0.6.4/connectonion/network/trust/tools.py +0 -88
  38. {connectonion-0.6.4 → connectonion-0.6.5}/.gitignore +0 -0
  39. {connectonion-0.6.4 → connectonion-0.6.5}/README.md +0 -0
  40. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/address.py +0 -0
  41. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/__init__.py +0 -0
  42. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/__init__.py +0 -0
  43. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/browser.py +0 -0
  44. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/element_finder.py +0 -0
  45. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/highlight_screenshot.py +0 -0
  46. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/prompt.md +0 -0
  47. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/prompts/element_matcher.md +0 -0
  48. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/prompts/form_filler.md +0 -0
  49. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/prompts/scroll_strategy.md +0 -0
  50. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/scripts/extract_elements.js +0 -0
  51. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/browser_agent/scroll.py +0 -0
  52. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/__init__.py +0 -0
  53. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/agent.py +0 -0
  54. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/agents/__init__.py +0 -0
  55. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/agents/registry.py +0 -0
  56. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/__init__.py +0 -0
  57. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/compact.py +0 -0
  58. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/cost.py +0 -0
  59. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/export.py +0 -0
  60. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/help.py +0 -0
  61. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/init.py +0 -0
  62. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/sessions.py +0 -0
  63. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/tasks.py +0 -0
  64. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/commands/undo.py +0 -0
  65. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/context.py +0 -0
  66. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/plugins/__init__.py +0 -0
  67. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/plugins/system_reminder.py +0 -0
  68. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/agents/explore.md +0 -0
  69. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/agents/plan.md +0 -0
  70. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/assembler.py +0 -0
  71. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/README.md +0 -0
  72. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/api.md +0 -0
  73. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/cli/README.md +0 -0
  74. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/cli/auth.md +0 -0
  75. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/cli/browser.md +0 -0
  76. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/cli/copy.md +0 -0
  77. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/cli/create.md +0 -0
  78. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/cli/init.md +0 -0
  79. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/co-directory-structure.md +0 -0
  80. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/agent.md +0 -0
  81. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/events.md +0 -0
  82. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/llm_do.md +0 -0
  83. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/max_iterations.md +0 -0
  84. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/models.md +0 -0
  85. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/plugins.md +0 -0
  86. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/prompts.md +0 -0
  87. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/tools.md +0 -0
  88. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/concepts/transcribe.md +0 -0
  89. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/connectonion.md +0 -0
  90. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/README.md +0 -0
  91. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/auto_debug.md +0 -0
  92. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/console.md +0 -0
  93. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/eval-format.md +0 -0
  94. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/eval.md +0 -0
  95. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/exceptions.md +0 -0
  96. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/log.md +0 -0
  97. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/debug/xray.md +0 -0
  98. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/001-choosing-input-method.md +0 -0
  99. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/002-choosing-llm-function-name.md +0 -0
  100. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/003-choosing-trust-keyword.md +0 -0
  101. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/004-cli-create-flow.md +0 -0
  102. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/005-designing-agent-network-protocol.md +0 -0
  103. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/006-agent-address-format.md +0 -0
  104. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/007-authentication-backend-design.md +0 -0
  105. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/008-naming-is-hard.md +0 -0
  106. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/009-why-connect-function.md +0 -0
  107. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/010-cli-ux-progressive-disclosure.md +0 -0
  108. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/011-global-config-identity-management.md +0 -0
  109. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/012-tool-execution-separation.md +0 -0
  110. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/013-debug-and-logging-design.md +0 -0
  111. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/014-hook-system-design.md +0 -0
  112. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/015-interactive-auto-debug-design.md +0 -0
  113. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/016-why-no-zero-knowledge-proofs.md +0 -0
  114. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/017-session-logging-and-eval-format.md +0 -0
  115. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/018-event-api-naming.md +0 -0
  116. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/019-agent-lifecycle-design.md +0 -0
  117. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/020-trust-system-and-network-architecture.md +0 -0
  118. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/021-task-storage-jsonl-design.md +0 -0
  119. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/design-decisions/022-raw-asgi-implementation.md +0 -0
  120. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/examples/agent_reasoning.md +0 -0
  121. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/examples/atomic_tools.md +0 -0
  122. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/examples/load_guide.md +0 -0
  123. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/examples.md +0 -0
  124. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/hook-system-options.md +0 -0
  125. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/index.md +0 -0
  126. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/integrations/README.md +0 -0
  127. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/integrations/auth.md +0 -0
  128. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/integrations/google.md +0 -0
  129. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/integrations/microsoft.md +0 -0
  130. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/README.md +0 -0
  131. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/connect.md +0 -0
  132. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/connection.md +0 -0
  133. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/deploy.md +0 -0
  134. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/host.md +0 -0
  135. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/protocol/agent-relay-protocol.md +0 -0
  136. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/network/protocol/announce-message.md +0 -0
  137. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/principles.md +0 -0
  138. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/quickstart.md +0 -0
  139. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/roadmap.md +0 -0
  140. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/templates/README.md +0 -0
  141. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/templates/meta-agent.md +0 -0
  142. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/templates/minimal.md +0 -0
  143. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/templates/playwright.md +0 -0
  144. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/templates/web-research.md +0 -0
  145. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/README.md +0 -0
  146. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/chat.md +0 -0
  147. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/divider.md +0 -0
  148. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/dropdown.md +0 -0
  149. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/footer.md +0 -0
  150. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/fuzzy.md +0 -0
  151. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/input.md +0 -0
  152. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/keys.md +0 -0
  153. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/pick.md +0 -0
  154. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/providers.md +0 -0
  155. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/tui/status_bar.md +0 -0
  156. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/README.md +0 -0
  157. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/calendar_plugin.md +0 -0
  158. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/eval.md +0 -0
  159. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/gmail_plugin.md +0 -0
  160. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/image_result_formatter.md +0 -0
  161. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/re_act.md +0 -0
  162. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_plugins/shell_approval.md +0 -0
  163. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/README.md +0 -0
  164. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/diff_writer.md +0 -0
  165. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/get_emails.md +0 -0
  166. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/gmail.md +0 -0
  167. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/google_calendar.md +0 -0
  168. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/memory.md +0 -0
  169. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/microsoft_calendar.md +0 -0
  170. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/outlook.md +0 -0
  171. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/send_email.md +0 -0
  172. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/shell.md +0 -0
  173. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/slash_command.md +0 -0
  174. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/terminal.md +0 -0
  175. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/todo_list.md +0 -0
  176. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/useful_tools/web_fetch.md +0 -0
  177. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/vibe-coding-guide.md +0 -0
  178. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/connectonion/windows-support.md +0 -0
  179. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/main.md +0 -0
  180. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/summarization.md +0 -0
  181. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/system-reminders/agent.md +0 -0
  182. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/system-reminders/plan_mode.md +0 -0
  183. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/system-reminders/security.md +0 -0
  184. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/system-reminders/simplicity.md +0 -0
  185. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/ask_user.md +0 -0
  186. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/background.md +0 -0
  187. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/edit.md +0 -0
  188. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/glob.md +0 -0
  189. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/grep.md +0 -0
  190. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/plan_mode.md +0 -0
  191. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/read.md +0 -0
  192. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/shell.md +0 -0
  193. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/task.md +0 -0
  194. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/todo.md +0 -0
  195. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/tools/write.md +0 -0
  196. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/prompts/workflow.md +0 -0
  197. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/sessions.py +0 -0
  198. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/skills/__init__.py +0 -0
  199. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/skills/builtin/commit/SKILL.md +0 -0
  200. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/skills/builtin/review-pr/SKILL.md +0 -0
  201. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/skills/loader.py +0 -0
  202. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/skills/tool.py +0 -0
  203. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/__init__.py +0 -0
  204. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/ask_user.py +0 -0
  205. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/background.py +0 -0
  206. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/diff_writer.py +0 -0
  207. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/edit.py +0 -0
  208. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/glob.py +0 -0
  209. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/grep.py +0 -0
  210. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/load_guide.py +0 -0
  211. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/multi_edit.py +0 -0
  212. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/plan_mode.py +0 -0
  213. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/read.py +0 -0
  214. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/task.py +0 -0
  215. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/todo_list.py +0 -0
  216. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/co_ai/tools/write.py +0 -0
  217. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/__init__.py +0 -0
  218. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/ai_commands.py +0 -0
  219. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/auth_commands.py +0 -0
  220. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/browser_commands.py +0 -0
  221. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/create.py +0 -0
  222. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/deploy_commands.py +0 -0
  223. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/doctor_commands.py +0 -0
  224. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/eval_commands.py +0 -0
  225. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/init.py +0 -0
  226. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/project_cmd_lib.py +0 -0
  227. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/reset_commands.py +0 -0
  228. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/commands/status_commands.py +0 -0
  229. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/docs.md +0 -0
  230. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/meta-agent/README.md +0 -0
  231. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/meta-agent/agent.py +0 -0
  232. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/meta-agent/prompts/answer_prompt.md +0 -0
  233. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/meta-agent/prompts/docs_retrieve_prompt.md +0 -0
  234. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/meta-agent/prompts/metagent.md +0 -0
  235. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/meta-agent/prompts/think_prompt.md +0 -0
  236. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/minimal/README.md +0 -0
  237. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/minimal/agent.py +0 -0
  238. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/playwright/README.md +0 -0
  239. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/playwright/agent.py +0 -0
  240. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/playwright/prompt.md +0 -0
  241. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/playwright/requirements.txt +0 -0
  242. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/cli/templates/web-research/agent.py +0 -0
  243. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/console.py +0 -0
  244. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/__init__.py +0 -0
  245. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/agent.py +0 -0
  246. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/events.py +0 -0
  247. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/exceptions.py +0 -0
  248. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/tool_executor.py +0 -0
  249. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/tool_factory.py +0 -0
  250. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/tool_registry.py +0 -0
  251. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/core/usage.py +0 -0
  252. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/__init__.py +0 -0
  253. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/auto_debug.py +0 -0
  254. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/auto_debug_exception.py +0 -0
  255. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/auto_debug_ui.py +0 -0
  256. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/debug_explainer/__init__.py +0 -0
  257. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/debug_explainer/explain_agent.py +0 -0
  258. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/debug_explainer/explain_context.py +0 -0
  259. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/debug_explainer/explainer_prompt.md +0 -0
  260. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/debug_explainer/root_cause_analysis_prompt.md +0 -0
  261. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/decorators.py +0 -0
  262. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/execution_analyzer/__init__.py +0 -0
  263. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/execution_analyzer/execution_analysis.py +0 -0
  264. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/execution_analyzer/execution_analysis_prompt.md +0 -0
  265. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/runtime_inspector/__init__.py +0 -0
  266. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/runtime_inspector/agent.py +0 -0
  267. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/runtime_inspector/prompts/debug_assistant.md +0 -0
  268. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/runtime_inspector/runtime_inspector.py +0 -0
  269. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/debug/xray.py +0 -0
  270. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/.package-ignore +0 -0
  271. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/README.md +0 -0
  272. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/api.md +0 -0
  273. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/001-ai-agent-is-just-prompt-plus-function.md +0 -0
  274. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/README.md +0 -0
  275. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/archive/consolidation-plan.md +0 -0
  276. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/archive/core-principles-extracted.md +0 -0
  277. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/archive/master-principles.md +0 -0
  278. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/archive/principles.md +0 -0
  279. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/archive/simplicity-principles.md +0 -0
  280. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/attack-defense-insights.md +0 -0
  281. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/business-model.md +0 -0
  282. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/core-principles-unified.md +0 -0
  283. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/discussion-journey.md +0 -0
  284. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/economic-analysis.md +0 -0
  285. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/features/01-share-and-find.md +0 -0
  286. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/features/02-agent-authentication.md +0 -0
  287. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/features/03-test-before-trust.md +0 -0
  288. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/features/06-reliability-and-offline.md +0 -0
  289. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/features/README.md +0 -0
  290. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/features-roadmap.md +0 -0
  291. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/mcp-comparison-insights.md +0 -0
  292. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/migration-strategy.md +0 -0
  293. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/mini-whitepaper.md +0 -0
  294. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/network-protocol.md +0 -0
  295. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/semantic-revolution.md +0 -0
  296. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/technical-architecture.md +0 -0
  297. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/the-semantic-insight.md +0 -0
  298. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/archive/threat-model.md +0 -0
  299. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/cli/README.md +0 -0
  300. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/cli/auth.md +0 -0
  301. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/cli/browser.md +0 -0
  302. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/cli/copy.md +0 -0
  303. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/cli/create.md +0 -0
  304. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/cli/init.md +0 -0
  305. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/co-directory-structure.md +0 -0
  306. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/agent.md +0 -0
  307. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/events.md +0 -0
  308. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/llm_do.md +0 -0
  309. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/max_iterations.md +0 -0
  310. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/models.md +0 -0
  311. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/plugins.md +0 -0
  312. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/prompts.md +0 -0
  313. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/session.md +0 -0
  314. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/tools.md +0 -0
  315. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/concepts/transcribe.md +0 -0
  316. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/connectonion.md +0 -0
  317. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/README.md +0 -0
  318. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/auto_debug.md +0 -0
  319. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/console.md +0 -0
  320. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/eval-format.md +0 -0
  321. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/eval.md +0 -0
  322. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/exceptions.md +0 -0
  323. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/log.md +0 -0
  324. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/debug/xray.md +0 -0
  325. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/001-choosing-input-method.md +0 -0
  326. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/002-choosing-llm-function-name.md +0 -0
  327. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/003-choosing-trust-keyword.md +0 -0
  328. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/004-cli-create-flow.md +0 -0
  329. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/005-designing-agent-network-protocol.md +0 -0
  330. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/006-agent-address-format.md +0 -0
  331. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/007-authentication-backend-design.md +0 -0
  332. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/008-naming-is-hard.md +0 -0
  333. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/009-why-connect-function.md +0 -0
  334. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/010-cli-ux-progressive-disclosure.md +0 -0
  335. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/011-global-config-identity-management.md +0 -0
  336. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/012-tool-execution-separation.md +0 -0
  337. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/013-debug-and-logging-design.md +0 -0
  338. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/014-hook-system-design.md +0 -0
  339. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/015-interactive-auto-debug-design.md +0 -0
  340. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/016-why-no-zero-knowledge-proofs.md +0 -0
  341. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/017-session-logging-and-eval-format.md +0 -0
  342. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/018-event-api-naming.md +0 -0
  343. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/019-agent-lifecycle-design.md +0 -0
  344. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/020-trust-system-and-network-architecture.md +0 -0
  345. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/021-task-storage-jsonl-design.md +0 -0
  346. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/design-decisions/022-raw-asgi-implementation.md +0 -0
  347. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/examples.md +0 -0
  348. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/hook-system-options.md +0 -0
  349. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/integrations/README.md +0 -0
  350. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/integrations/auth.md +0 -0
  351. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/integrations/google.md +0 -0
  352. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/integrations/microsoft.md +0 -0
  353. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/network/deploy.md +0 -0
  354. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/network/io.md +0 -0
  355. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/network/protocol/agent-relay-protocol.md +0 -0
  356. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/network/protocol/announce-message.md +0 -0
  357. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/principles.md +0 -0
  358. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/quickstart.md +0 -0
  359. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/roadmap.md +0 -0
  360. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/templates/README.md +0 -0
  361. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/templates/meta-agent.md +0 -0
  362. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/templates/minimal.md +0 -0
  363. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/templates/playwright.md +0 -0
  364. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/templates/web-research.md +0 -0
  365. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/README.md +0 -0
  366. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/chat.md +0 -0
  367. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/divider.md +0 -0
  368. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/dropdown.md +0 -0
  369. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/footer.md +0 -0
  370. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/fuzzy.md +0 -0
  371. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/input.md +0 -0
  372. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/keys.md +0 -0
  373. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/pick.md +0 -0
  374. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/providers.md +0 -0
  375. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/tui/status_bar.md +0 -0
  376. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/README.md +0 -0
  377. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/calendar_plugin.md +0 -0
  378. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/eval.md +0 -0
  379. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/gmail_plugin.md +0 -0
  380. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/image_result_formatter.md +0 -0
  381. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/re_act.md +0 -0
  382. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/shell_approval.md +0 -0
  383. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/system_reminder.md +0 -0
  384. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_plugins/tool_approval.md +0 -0
  385. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_prompts/README.md +0 -0
  386. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_prompts/coding_agent.md +0 -0
  387. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/README.md +0 -0
  388. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/ask_user.md +0 -0
  389. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/diff_writer.md +0 -0
  390. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/get_emails.md +0 -0
  391. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/gmail.md +0 -0
  392. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/google_calendar.md +0 -0
  393. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/memory.md +0 -0
  394. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/microsoft_calendar.md +0 -0
  395. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/outlook.md +0 -0
  396. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/send_email.md +0 -0
  397. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/shell.md +0 -0
  398. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/slash_command.md +0 -0
  399. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/terminal.md +0 -0
  400. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/todo_list.md +0 -0
  401. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/useful_tools/web_fetch.md +0 -0
  402. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/vibe-coding-guide.md +0 -0
  403. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/docs/windows-support.md +0 -0
  404. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/llm_do.py +0 -0
  405. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/logger.py +0 -0
  406. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/announce.py +0 -0
  407. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/host/__init__.py +0 -0
  408. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/host/session.py +0 -0
  409. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/io/__init__.py +0 -0
  410. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/io/base.py +0 -0
  411. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/io/websocket.py +0 -0
  412. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/relay.py +0 -0
  413. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/network/static/docs.html +0 -0
  414. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/__init__.py +0 -0
  415. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/analyze_contact.md +0 -0
  416. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/eval_expected.md +0 -0
  417. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/react_acknowledge.md +0 -0
  418. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/react_evaluate.md +0 -0
  419. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/react_plan.md +0 -0
  420. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompt_files/reflect.md +0 -0
  421. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/prompts.py +0 -0
  422. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/__init__.py +0 -0
  423. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/chat.py +0 -0
  424. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/divider.py +0 -0
  425. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/dropdown.py +0 -0
  426. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/footer.py +0 -0
  427. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/fuzzy.py +0 -0
  428. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/input.py +0 -0
  429. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/keys.py +0 -0
  430. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/pick.py +0 -0
  431. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/providers.py +0 -0
  432. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/tui/status_bar.py +0 -0
  433. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_events_handlers/__init__.py +0 -0
  434. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_events_handlers/reflect.py +0 -0
  435. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/__init__.py +0 -0
  436. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/calendar_plugin.py +0 -0
  437. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/eval.py +0 -0
  438. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/gmail_plugin.py +0 -0
  439. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/image_result_formatter.py +0 -0
  440. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/re_act.py +0 -0
  441. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/shell_approval.py +0 -0
  442. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/system_reminder.py +0 -0
  443. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/tool_approval.py +0 -0
  444. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_plugins/ui_stream.py +0 -0
  445. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/README.md +0 -0
  446. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/__init__.py +0 -0
  447. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/README.md +0 -0
  448. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/assembler.py +0 -0
  449. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/main.md +0 -0
  450. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/ask_user.md +0 -0
  451. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/background.md +0 -0
  452. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/edit.md +0 -0
  453. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/glob.md +0 -0
  454. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/grep.md +0 -0
  455. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/plan_mode.md +0 -0
  456. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/read.md +0 -0
  457. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/shell.md +0 -0
  458. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/task.md +0 -0
  459. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/todo.md +0 -0
  460. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/coding_agent/prompts/tools/write.md +0 -0
  461. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/system-reminders/security-warning.md +0 -0
  462. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_prompts/system-reminders/test-reminder.md +0 -0
  463. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/__init__.py +0 -0
  464. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/ask_user.py +0 -0
  465. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/bash.py +0 -0
  466. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/diff_writer.py +0 -0
  467. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/edit.py +0 -0
  468. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/get_emails.py +0 -0
  469. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/glob_files.py +0 -0
  470. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/gmail.py +0 -0
  471. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/google_calendar.py +0 -0
  472. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/grep_files.py +0 -0
  473. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/memory.py +0 -0
  474. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/microsoft_calendar.py +0 -0
  475. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/multi_edit.py +0 -0
  476. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/outlook.py +0 -0
  477. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/read_file.py +0 -0
  478. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/send_email.py +0 -0
  479. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/shell.py +0 -0
  480. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/slash_command.py +0 -0
  481. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/terminal.py +0 -0
  482. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/todo_list.py +0 -0
  483. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/web_fetch.py +0 -0
  484. {connectonion-0.6.4 → connectonion-0.6.5}/connectonion/useful_tools/write_file.py +0 -0
  485. {connectonion-0.6.4 → connectonion-0.6.5}/examples/README.md +0 -0
  486. {connectonion-0.6.4 → connectonion-0.6.5}/examples/email-agent/README.md +0 -0
  487. {connectonion-0.6.4 → connectonion-0.6.5}/examples/simple-agent/README.md +0 -0
  488. {connectonion-0.6.4 → connectonion-0.6.5}/prompts/README.md +0 -0
  489. {connectonion-0.6.4 → connectonion-0.6.5}/prompts/formats/README.md +0 -0
  490. {connectonion-0.6.4 → connectonion-0.6.5}/tests/README.md +0 -0
  491. {connectonion-0.6.4 → connectonion-0.6.5}/tests/cli/README.md +0 -0
  492. {connectonion-0.6.4 → connectonion-0.6.5}/tests/cli/aws/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: connectonion
3
- Version: 0.6.4
3
+ Version: 0.6.5
4
4
  Summary: A simple Python framework for creating AI agents with behavior tracking
5
5
  Project-URL: Homepage, https://github.com/openonion/connectonion
6
6
  Project-URL: Documentation, https://docs.connectonion.com
@@ -10,7 +10,7 @@ LLM-Note:
10
10
  ConnectOnion - A simple agent framework with behavior tracking.
11
11
  """
12
12
 
13
- __version__ = "0.6.4"
13
+ __version__ = "0.6.5"
14
14
 
15
15
  # Auto-load .env files for the entire framework
16
16
  from dotenv import load_dotenv
@@ -47,6 +47,6 @@ def start_server(
47
47
  web_mode=True,
48
48
  )
49
49
 
50
- # Start server with open trust (no auth required)
50
+ # Start server with careful trust (requires invite code or payment for strangers)
51
51
  # relay_url=None disables P2P discovery
52
- host(agent_factory, port=port, trust="open", relay_url=None)
52
+ host(agent_factory, port=port, trust="careful", relay_url=None)
@@ -0,0 +1,249 @@
1
+ # Trust in ConnectOnion
2
+
3
+ Trust is a **host layer** concern that controls who can access your agent. It manages onboarding, access control, and client state transitions.
4
+
5
+ ## Quick Start
6
+
7
+ ```python
8
+ from connectonion import Agent
9
+ from connectonion.network import host
10
+
11
+ # Create your agent (no trust here - agent only cares about its job)
12
+ agent = Agent("my_service", tools=[process_data])
13
+
14
+ # Host it with trust (trust is a host concern)
15
+ host(agent, trust="careful") # Default: verify before allowing access
16
+ ```
17
+
18
+ ## Core Concepts
19
+
20
+ ### Separation of Concerns
21
+
22
+ | Layer | Responsibility |
23
+ |-------|----------------|
24
+ | **Agent** | What it does (skills, tools, reasoning) |
25
+ | **Host** | How it's accessed (network, trust, security) |
26
+
27
+ ```python
28
+ # Agent is pure - only cares about its job
29
+ agent = Agent("translator", tools=[translate])
30
+
31
+ # Trust is configured at host level
32
+ host(agent, trust="open") # Dev: trust everyone
33
+ host(agent, trust="careful") # Staging: verify first
34
+ host(agent, trust="strict") # Prod: whitelist only
35
+ ```
36
+
37
+ ### Two-Tier Verification
38
+
39
+ | Type | Tokens | When to Use |
40
+ |------|--------|-------------|
41
+ | **Fast Rules** | Zero | Simple checks (invite code, payment, whitelist) |
42
+ | **Trust Agent** | Burns tokens | Complex decisions (behavior analysis, edge cases) |
43
+
44
+ 90% of requests use fast rules (instant, free). 10% use trust agent (LLM reasoning, rare).
45
+
46
+ ## Trust Levels
47
+
48
+ ### Open (Development)
49
+
50
+ Trust everyone. No verification.
51
+
52
+ ```python
53
+ host(agent, trust="open")
54
+ ```
55
+
56
+ Use for: Local development, Jupyter notebooks, testing.
57
+
58
+ ### Careful (Default)
59
+
60
+ Verify strangers before granting access. Fast rules first, then trust agent for complex cases.
61
+
62
+ ```python
63
+ host(agent, trust="careful")
64
+ ```
65
+
66
+ Use for: Staging, testing, pre-production.
67
+
68
+ ### Strict (Production)
69
+
70
+ Whitelist only. No exceptions.
71
+
72
+ ```python
73
+ host(agent, trust="strict")
74
+ ```
75
+
76
+ Use for: Production, sensitive data, payments.
77
+
78
+ ## Client States
79
+
80
+ ```
81
+ Promotion Chain (earned trust):
82
+
83
+ ┌─────────────┐ verify ┌─────────────┐ earn trust ┌─────────────┐
84
+ │ Stranger │ ──────────► │ Contact │ ───────────► │ Whitelist │
85
+ └─────────────┘ └─────────────┘ └─────────────┘
86
+ │ │ │
87
+ │ block │ demote │ demote
88
+ ▼ ▼ ▼
89
+ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
90
+ │ Blocklist │ │ Stranger │ │ Contact │
91
+ └─────────────┘ └─────────────┘ └─────────────┘
92
+
93
+
94
+ Admin (separate, manual only):
95
+
96
+ ┌─────────────┐ set_admin() ┌─────────────┐
97
+ │ Any Level │ ─────────────► │ Admin │
98
+ └─────────────┘ └─────────────┘
99
+
100
+ remove_admin()
101
+
102
+
103
+ ┌─────────────┐
104
+ │ Previous │
105
+ └─────────────┘
106
+ ```
107
+
108
+ ### Client Levels
109
+
110
+ | Level | Description | Access |
111
+ |-------|-------------|--------|
112
+ | **Stranger** | Unknown client, not verified | Limited or none |
113
+ | **Contact** | Verified via invite/payment | Standard access |
114
+ | **Whitelist** | Trusted, pre-approved | Full access |
115
+ | **Admin** | Can manage other clients | Full access + management |
116
+ | **Blocklist** | Blocked, denied access | No access |
117
+
118
+ ## Trust Policy Files
119
+
120
+ Trust policies are markdown files with YAML frontmatter. YAML defines fast rules (no tokens), markdown body defines trust agent behavior (for complex decisions).
121
+
122
+ ```yaml
123
+ # prompts/trust/careful.md
124
+ ---
125
+ fast_rules:
126
+ - if: has_invite_code
127
+ action: verify_invite
128
+ on_success: promote_to_contact
129
+
130
+ - if: is_blocked
131
+ action: deny
132
+
133
+ - if: is_whitelist
134
+ action: allow
135
+
136
+ - if: is_stranger
137
+ action: deny
138
+
139
+ use_agent:
140
+ - when: requests > 10
141
+ reason: "Evaluate for promotion"
142
+
143
+ cache: 24h
144
+ ---
145
+
146
+ # Trust Agent Policy
147
+
148
+ You handle complex trust decisions.
149
+
150
+ ## Available Tools
151
+ - promote_to_contact(client_id)
152
+ - block(client_id, reason)
153
+
154
+ ## When to Promote
155
+ Promote stranger to contact when:
156
+ - 10+ requests with good behavior
157
+ - No suspicious patterns
158
+ ```
159
+
160
+ ## Atomic Functions
161
+
162
+ Trust manager provides simple atomic functions as tools:
163
+
164
+ ```python
165
+ # Promotion (earned)
166
+ promote_to_contact(client_id) # Stranger → Contact
167
+ promote_to_whitelist(client_id) # Contact → Whitelist
168
+
169
+ # Demotion
170
+ demote_to_contact(client_id) # Whitelist → Contact
171
+ demote_to_stranger(client_id) # Contact → Stranger
172
+
173
+ # Blocking
174
+ block(client_id, reason)
175
+ unblock(client_id)
176
+
177
+ # Admin (manual only)
178
+ set_admin(client_id, by_admin)
179
+ remove_admin(client_id, by_admin)
180
+ ```
181
+
182
+ ## Custom Trust Policies
183
+
184
+ ### Option 1: Use Preset
185
+
186
+ ```python
187
+ host(agent, trust="careful") # Uses prompts/trust/careful.md
188
+ ```
189
+
190
+ ### Option 2: Custom Markdown File
191
+
192
+ ```python
193
+ host(agent, trust="./my_policy.md")
194
+ ```
195
+
196
+ ### Option 3: Custom TrustAgent
197
+
198
+ ```python
199
+ from connectonion.network.trust import TrustAgent
200
+
201
+ trust = TrustAgent(
202
+ system_prompt="./my_policy.md",
203
+ tools=[my_custom_verifier]
204
+ )
205
+ host(agent, trust=trust)
206
+ ```
207
+
208
+ ## Environment-Based Defaults
209
+
210
+ ```python
211
+ # No trust specified - auto-detected from environment
212
+ host(agent)
213
+
214
+ # CONNECTONION_ENV=development → trust="open"
215
+ # CONNECTONION_ENV=staging → trust="careful"
216
+ # CONNECTONION_ENV=production → trust="strict"
217
+ ```
218
+
219
+ ## List Management
220
+
221
+ Trust manager maintains lists at `~/.co/`:
222
+
223
+ ```
224
+ ~/.co/
225
+ ├── contacts.txt # Verified contacts
226
+ ├── whitelist.txt # Trusted, pre-approved
227
+ ├── admins.txt # Can manage other clients
228
+ └── blocklist.txt # Blocked clients
229
+ ```
230
+
231
+ ## FAQ
232
+
233
+ **Q: What's the default trust level?**
234
+ A: `"careful"` - verify strangers, allow contacts.
235
+
236
+ **Q: Do fast rules burn tokens?**
237
+ A: No. Fast rules are simple if/then executed by host. Zero tokens.
238
+
239
+ **Q: When does trust agent run?**
240
+ A: Only when `use_agent` triggers fire (e.g., after 10 requests). Rare.
241
+
242
+ **Q: Can I use the same agent with different trust levels?**
243
+ A: Yes. Trust is host config, not agent config.
244
+
245
+ ```python
246
+ # Same agent, different trust
247
+ host(agent, trust="open") # Dev
248
+ host(agent, trust="strict") # Prod
249
+ ```
@@ -63,6 +63,13 @@ PROMPTS = {
63
63
  "coding_agent": "coding_agent",
64
64
  }
65
65
 
66
+ # Registry of copyable trust policies
67
+ TRUST = {
68
+ "open": "open.md",
69
+ "careful": "careful.md",
70
+ "strict": "strict.md",
71
+ }
72
+
66
73
 
67
74
  def handle_copy(
68
75
  names: List[str],
@@ -82,11 +89,14 @@ def handle_copy(
82
89
  import connectonion.useful_plugins as plugins_module
83
90
  import connectonion.tui as tui_module
84
91
  import connectonion.useful_prompts as prompts_module
92
+ import connectonion
85
93
 
86
94
  useful_tools_dir = Path(tools_module.__file__).parent
87
95
  useful_plugins_dir = Path(plugins_module.__file__).parent
88
96
  tui_dir = Path(tui_module.__file__).parent
89
97
  useful_prompts_dir = Path(prompts_module.__file__).parent
98
+ # Trust policies are in the main package's prompts/trust/ directory
99
+ trust_dir = Path(connectonion.__file__).parent.parent / "prompts" / "trust"
90
100
 
91
101
  current_dir = Path.cwd()
92
102
 
@@ -123,6 +133,13 @@ def handle_copy(
123
133
  dest_dir = Path(path) if path else current_dir / "prompts"
124
134
  copy_directory(source, dest_dir, force)
125
135
 
136
+ # Check if it's a trust policy (support both "careful" and "trust/careful")
137
+ elif name_lower in TRUST or (name_lower.startswith("trust/") and name_lower[6:] in TRUST):
138
+ policy_name = name_lower[6:] if name_lower.startswith("trust/") else name_lower
139
+ source = trust_dir / TRUST[policy_name]
140
+ dest_dir = Path(path) if path else current_dir / "prompts" / "trust"
141
+ copy_file(source, dest_dir, force)
142
+
126
143
  else:
127
144
  console.print(f"[red]Unknown: {name}[/red]")
128
145
  console.print("Use [cyan]co copy --list[/cyan] to see available items")
@@ -180,9 +197,13 @@ def show_available_items():
180
197
  for name, dir_name in sorted(PROMPTS.items()):
181
198
  table.add_row(name, "prompt", f"{dir_name}/")
182
199
 
200
+ for name, file in sorted(TRUST.items()):
201
+ table.add_row(f"trust/{name}", "trust", file)
202
+
183
203
  for name, file in sorted(TUI.items()):
184
204
  table.add_row(name, "tui", file)
185
205
 
186
206
  console.print(table)
187
207
  console.print("\n[dim]Usage: co copy <name> [--path ./custom/][/dim]")
188
208
  console.print("[dim]Prompts are copied as directories to ./prompts/<name>/[/dim]")
209
+ console.print("[dim]Trust policies are copied to ./prompts/trust/<name>.md[/dim]")
@@ -0,0 +1,152 @@
1
+ """
2
+ CLI commands for managing trust lists (contacts, whitelist, blocklist, admins).
3
+
4
+ Addresses are shown in full (not truncated) so users can easily copy them
5
+ for use in other commands or configuration files.
6
+
7
+ Usage:
8
+ co trust list # List all trust lists
9
+ co trust level <address> # Check trust level of address
10
+ co trust add <address> # Add to contacts (default)
11
+ co trust add <address> -w # Add to whitelist
12
+ co trust remove <address> # Remove from all lists
13
+ co trust block <address> # Block an address
14
+ co trust unblock <address> # Unblock an address
15
+ co trust admin add <address> # Add admin (super admin only)
16
+ co trust admin remove <address> # Remove admin (super admin only)
17
+ """
18
+
19
+ from pathlib import Path
20
+ from rich.console import Console
21
+ from rich.table import Table
22
+
23
+ from ...network.trust.tools import (
24
+ CO_DIR,
25
+ get_level,
26
+ promote_to_contact,
27
+ promote_to_whitelist,
28
+ demote_to_stranger,
29
+ block,
30
+ unblock,
31
+ add_admin,
32
+ remove_admin,
33
+ load_admins,
34
+ get_self_address,
35
+ )
36
+
37
+ console = Console()
38
+
39
+
40
+ def _read_list(list_name: str) -> list[str]:
41
+ """Read entries from a list file."""
42
+ list_path = CO_DIR / f"{list_name}.txt"
43
+ if not list_path.exists():
44
+ return []
45
+ content = list_path.read_text(encoding='utf-8')
46
+ return [line.strip() for line in content.splitlines()
47
+ if line.strip() and not line.startswith('#')]
48
+
49
+
50
+ def handle_trust_list():
51
+ """List all trust lists."""
52
+ contacts = _read_list("contacts")
53
+ whitelist = _read_list("whitelist")
54
+ blocklist = _read_list("blocklist")
55
+ admins = load_admins()
56
+ self_addr = get_self_address()
57
+
58
+ console.print()
59
+
60
+ # Admins
61
+ console.print("[bold]Admins[/bold]")
62
+ if admins:
63
+ for addr in admins:
64
+ label = " [dim](self)[/dim]" if addr == self_addr else ""
65
+ console.print(f" {addr}{label}")
66
+ else:
67
+ console.print(" [dim]No admins configured[/dim]")
68
+ console.print()
69
+
70
+ # Whitelist
71
+ console.print("[bold]Whitelist[/bold] [dim](full trust)[/dim]")
72
+ if whitelist:
73
+ for addr in whitelist:
74
+ console.print(f" {addr}")
75
+ else:
76
+ console.print(" [dim]Empty[/dim]")
77
+ console.print()
78
+
79
+ # Contacts
80
+ console.print("[bold]Contacts[/bold] [dim](verified via invite/payment)[/dim]")
81
+ if contacts:
82
+ for addr in contacts:
83
+ console.print(f" {addr}")
84
+ else:
85
+ console.print(" [dim]Empty[/dim]")
86
+ console.print()
87
+
88
+ # Blocklist
89
+ console.print("[bold]Blocklist[/bold] [dim](denied access)[/dim]")
90
+ if blocklist:
91
+ for addr in blocklist:
92
+ console.print(f" [red]{addr}[/red]")
93
+ else:
94
+ console.print(" [dim]Empty[/dim]")
95
+ console.print()
96
+
97
+ console.print(f"[dim]Lists stored in: {CO_DIR}[/dim]")
98
+
99
+
100
+ def handle_trust_level(address: str):
101
+ """Check trust level of an address."""
102
+ level = get_level(address)
103
+
104
+ level_colors = {
105
+ "stranger": "dim",
106
+ "contact": "cyan",
107
+ "whitelist": "green",
108
+ "blocked": "red",
109
+ }
110
+ color = level_colors.get(level, "white")
111
+
112
+ console.print(f"\n{address}: [{color}]{level}[/{color}]\n")
113
+
114
+
115
+ def handle_trust_add(address: str, whitelist: bool = False):
116
+ """Add address to contacts or whitelist."""
117
+ if whitelist:
118
+ result = promote_to_whitelist(address)
119
+ console.print(f"\n[green]✓[/green] {result}\n")
120
+ else:
121
+ result = promote_to_contact(address)
122
+ console.print(f"\n[green]✓[/green] {result}\n")
123
+
124
+
125
+ def handle_trust_remove(address: str):
126
+ """Remove address from all lists (demote to stranger)."""
127
+ result = demote_to_stranger(address)
128
+ console.print(f"\n[yellow]✓[/yellow] {result}\n")
129
+
130
+
131
+ def handle_trust_block(address: str, reason: str = ""):
132
+ """Block an address."""
133
+ result = block(address, reason)
134
+ console.print(f"\n[red]✓[/red] {result}\n")
135
+
136
+
137
+ def handle_trust_unblock(address: str):
138
+ """Unblock an address."""
139
+ result = unblock(address)
140
+ console.print(f"\n[green]✓[/green] {result}\n")
141
+
142
+
143
+ def handle_admin_add(address: str):
144
+ """Add an admin."""
145
+ result = add_admin(address)
146
+ console.print(f"\n[green]✓[/green] {result}\n")
147
+
148
+
149
+ def handle_admin_remove(address: str):
150
+ """Remove an admin."""
151
+ result = remove_admin(address)
152
+ console.print(f"\n[yellow]✓[/yellow] {result}\n")
@@ -56,6 +56,7 @@ def _show_help():
56
56
  console.print(" [green]init[/green] Initialize in current directory")
57
57
  console.print(" [green]copy[/green] <name> Copy tool/plugin source to project")
58
58
  console.print(" [green]eval[/green] Run evals and show status")
59
+ console.print(" [green]trust[/green] Manage trust lists")
59
60
  console.print(" [green]deploy[/green] Deploy to ConnectOnion Cloud")
60
61
  console.print(" [green]auth[/green] Authenticate for managed keys")
61
62
  console.print(" [green]status[/green] Check account balance")
@@ -174,6 +175,87 @@ def eval(
174
175
  handle_eval(name=name, agent_file=agent)
175
176
 
176
177
 
178
+ # Trust command group
179
+ trust_app = typer.Typer(help="Manage trust lists (contacts, whitelist, blocklist, admins)")
180
+ app.add_typer(trust_app, name="trust")
181
+
182
+
183
+ @trust_app.callback(invoke_without_command=True)
184
+ def trust_callback(ctx: typer.Context):
185
+ """Trust list management."""
186
+ if ctx.invoked_subcommand is None:
187
+ # Default to list
188
+ from .commands.trust_commands import handle_trust_list
189
+ handle_trust_list()
190
+
191
+
192
+ @trust_app.command("list")
193
+ def trust_list():
194
+ """List all trust lists."""
195
+ from .commands.trust_commands import handle_trust_list
196
+ handle_trust_list()
197
+
198
+
199
+ @trust_app.command("level")
200
+ def trust_level(address: str = typer.Argument(..., help="Address to check")):
201
+ """Check trust level of an address."""
202
+ from .commands.trust_commands import handle_trust_level
203
+ handle_trust_level(address)
204
+
205
+
206
+ @trust_app.command("add")
207
+ def trust_add(
208
+ address: str = typer.Argument(..., help="Address to add"),
209
+ whitelist: bool = typer.Option(False, "-w", "--whitelist", help="Add to whitelist instead of contacts"),
210
+ ):
211
+ """Add address to contacts (default) or whitelist."""
212
+ from .commands.trust_commands import handle_trust_add
213
+ handle_trust_add(address, whitelist)
214
+
215
+
216
+ @trust_app.command("remove")
217
+ def trust_remove(address: str = typer.Argument(..., help="Address to remove")):
218
+ """Remove address from all lists (demote to stranger)."""
219
+ from .commands.trust_commands import handle_trust_remove
220
+ handle_trust_remove(address)
221
+
222
+
223
+ @trust_app.command("block")
224
+ def trust_block(
225
+ address: str = typer.Argument(..., help="Address to block"),
226
+ reason: str = typer.Option("", "-r", "--reason", help="Reason for blocking"),
227
+ ):
228
+ """Block an address."""
229
+ from .commands.trust_commands import handle_trust_block
230
+ handle_trust_block(address, reason)
231
+
232
+
233
+ @trust_app.command("unblock")
234
+ def trust_unblock(address: str = typer.Argument(..., help="Address to unblock")):
235
+ """Unblock an address."""
236
+ from .commands.trust_commands import handle_trust_unblock
237
+ handle_trust_unblock(address)
238
+
239
+
240
+ # Admin subcommand group
241
+ admin_app = typer.Typer(help="Manage admins (super admin only)")
242
+ trust_app.add_typer(admin_app, name="admin")
243
+
244
+
245
+ @admin_app.command("add")
246
+ def admin_add(address: str = typer.Argument(..., help="Address to add as admin")):
247
+ """Add an admin."""
248
+ from .commands.trust_commands import handle_admin_add
249
+ handle_admin_add(address)
250
+
251
+
252
+ @admin_app.command("remove")
253
+ def admin_remove(address: str = typer.Argument(..., help="Address to remove from admins")):
254
+ """Remove an admin."""
255
+ from .commands.trust_commands import handle_admin_remove
256
+ handle_admin_remove(address)
257
+
258
+
177
259
  def cli():
178
260
  """Entry point."""
179
261
  app()
@@ -3,7 +3,7 @@ Purpose: Unified LLM provider abstraction with factory pattern for OpenAI, Anthr
3
3
  LLM-Note:
4
4
  Dependencies: imports from [abc, typing, dataclasses, json, os, base64, openai, anthropic, requests, pathlib, toml, pydantic, .usage, .exceptions] | imported by [agent.py, llm_do.py, conftest.py] | tested by [tests/test_llm.py, tests/test_llm_do.py, tests/test_real_*.py, tests/test_billing_error_agent.py]
5
5
  Data flow: Agent/llm_do calls create_llm(model, api_key) → factory routes to provider class → Provider.__init__() validates API key → Agent calls complete(messages, tools) OR structured_complete(messages, output_schema) → provider converts to native format → calls API → parses response → returns LLMResponse(content, tool_calls, raw_response) OR Pydantic model instance
6
- State/Effects: reads environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENONION_API_KEY) | reads ~/.connectonion/.co/config.toml for OpenOnion auth | makes HTTP requests to LLM APIs | no caching or persistence
6
+ State/Effects: reads environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENONION_API_KEY) | reads ~/.co/config.toml for OpenOnion auth | makes HTTP requests to LLM APIs | no caching or persistence
7
7
  Integration: exposes create_llm(model, api_key), LLM abstract base class, OpenAILLM, AnthropicLLM, GeminiLLM, OpenOnionLLM, LLMResponse, ToolCall dataclasses | providers implement complete() and structured_complete() | OpenAI message format is lingua franca | tool calling uses OpenAI schema converted per-provider
8
8
  Performance: stateless (no caching) | synchronous (no streaming) | default max_tokens=8192 for Anthropic (required) | each call hits API
9
9
  Errors: raises ValueError for missing API keys, unknown models, invalid parameters | provider-specific errors bubble up (openai.APIError, anthropic.APIError, etc.) | OpenOnionLLM transforms 402 errors to InsufficientCreditsError with formatted message and typed attributes | Pydantic ValidationError for invalid structured output
@@ -97,7 +97,7 @@ Required (pick one):
97
97
  - OPENAI_API_KEY: For OpenAI models
98
98
  - ANTHROPIC_API_KEY: For Claude models
99
99
  - GEMINI_API_KEY or GOOGLE_API_KEY: For Gemini models
100
- - OPENONION_API_KEY: For co/ managed keys (or from ~/.connectonion/.co/config.toml)
100
+ - OPENONION_API_KEY: For co/ managed keys (or from ~/.co/config.toml)
101
101
 
102
102
  Optional:
103
103
  - OPENONION_DEV: Use localhost:8000 for OpenOnion (development)