connectonion 0.6.2__py3-none-any.whl → 0.6.3__py3-none-any.whl

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 (407) hide show
  1. connectonion/__init__.py +46 -9
  2. connectonion/cli/__init__.py +11 -1
  3. connectonion/cli/browser_agent/__init__.py +11 -1
  4. connectonion/cli/browser_agent/browser.py +13 -3
  5. connectonion/cli/browser_agent/element_finder.py +8 -0
  6. connectonion/cli/browser_agent/highlight_screenshot.py +9 -1
  7. connectonion/cli/browser_agent/scroll.py +8 -0
  8. connectonion/cli/co_ai/__init__.py +6 -0
  9. connectonion/cli/co_ai/agent.py +87 -0
  10. connectonion/cli/co_ai/agents/__init__.py +5 -0
  11. connectonion/cli/co_ai/agents/registry.py +57 -0
  12. connectonion/cli/co_ai/commands/__init__.py +45 -0
  13. connectonion/cli/co_ai/commands/compact.py +173 -0
  14. connectonion/cli/co_ai/commands/cost.py +77 -0
  15. connectonion/cli/co_ai/commands/export.py +60 -0
  16. connectonion/cli/co_ai/commands/help.py +80 -0
  17. connectonion/cli/co_ai/commands/init.py +101 -0
  18. connectonion/cli/co_ai/commands/sessions.py +55 -0
  19. connectonion/cli/co_ai/commands/tasks.py +63 -0
  20. connectonion/cli/co_ai/commands/undo.py +103 -0
  21. connectonion/cli/co_ai/context.py +127 -0
  22. connectonion/cli/co_ai/main.py +52 -0
  23. connectonion/cli/co_ai/plugins/__init__.py +6 -0
  24. connectonion/cli/co_ai/plugins/reminder.py +76 -0
  25. connectonion/cli/co_ai/plugins/shell_approval.py +105 -0
  26. connectonion/cli/co_ai/prompts/agents/explore.md +79 -0
  27. connectonion/cli/co_ai/prompts/agents/plan.md +60 -0
  28. connectonion/cli/co_ai/prompts/assembler.py +303 -0
  29. connectonion/cli/{docs/co-vibecoding-principles-docs-contexts-all-in-one.md → co_ai/prompts/connectonion/README.md} +26 -0
  30. connectonion/cli/co_ai/prompts/connectonion/api.md +457 -0
  31. connectonion/cli/co_ai/prompts/connectonion/cli/README.md +805 -0
  32. connectonion/cli/co_ai/prompts/connectonion/cli/auth.md +46 -0
  33. connectonion/cli/co_ai/prompts/connectonion/cli/browser.md +235 -0
  34. connectonion/cli/co_ai/prompts/connectonion/cli/copy.md +184 -0
  35. connectonion/cli/co_ai/prompts/connectonion/cli/create.md +335 -0
  36. connectonion/cli/co_ai/prompts/connectonion/cli/init.md +431 -0
  37. connectonion/cli/co_ai/prompts/connectonion/co-directory-structure.md +214 -0
  38. connectonion/cli/co_ai/prompts/connectonion/concepts/agent.md +1078 -0
  39. connectonion/cli/co_ai/prompts/connectonion/concepts/events.md +816 -0
  40. connectonion/cli/co_ai/prompts/connectonion/concepts/llm_do.md +256 -0
  41. connectonion/cli/co_ai/prompts/connectonion/concepts/max_iterations.md +362 -0
  42. connectonion/cli/co_ai/prompts/connectonion/concepts/models.md +641 -0
  43. connectonion/cli/co_ai/prompts/connectonion/concepts/plugins.md +100 -0
  44. connectonion/cli/co_ai/prompts/connectonion/concepts/prompts.md +122 -0
  45. connectonion/cli/co_ai/prompts/connectonion/concepts/tools.md +512 -0
  46. connectonion/cli/co_ai/prompts/connectonion/concepts/transcribe.md +156 -0
  47. connectonion/cli/co_ai/prompts/connectonion/concepts/trust.md +291 -0
  48. connectonion/cli/co_ai/prompts/connectonion/debug/README.md +18 -0
  49. connectonion/cli/co_ai/prompts/connectonion/debug/auto_debug.md +1026 -0
  50. connectonion/cli/co_ai/prompts/connectonion/debug/console.md +129 -0
  51. connectonion/cli/co_ai/prompts/connectonion/debug/eval-format.md +178 -0
  52. connectonion/cli/co_ai/prompts/connectonion/debug/eval.md +230 -0
  53. connectonion/cli/co_ai/prompts/connectonion/debug/exceptions.md +307 -0
  54. connectonion/cli/co_ai/prompts/connectonion/debug/log.md +117 -0
  55. connectonion/cli/co_ai/prompts/connectonion/debug/xray.md +215 -0
  56. connectonion/cli/co_ai/prompts/connectonion/design-decisions/001-choosing-input-method.md +202 -0
  57. connectonion/cli/co_ai/prompts/connectonion/design-decisions/002-choosing-llm-function-name.md +202 -0
  58. connectonion/cli/co_ai/prompts/connectonion/design-decisions/003-choosing-trust-keyword.md +141 -0
  59. connectonion/cli/co_ai/prompts/connectonion/design-decisions/004-cli-create-flow.md +117 -0
  60. connectonion/cli/co_ai/prompts/connectonion/design-decisions/005-designing-agent-network-protocol.md +503 -0
  61. connectonion/cli/co_ai/prompts/connectonion/design-decisions/006-agent-address-format.md +305 -0
  62. connectonion/cli/co_ai/prompts/connectonion/design-decisions/007-authentication-backend-design.md +240 -0
  63. connectonion/cli/co_ai/prompts/connectonion/design-decisions/008-naming-is-hard.md +228 -0
  64. connectonion/cli/co_ai/prompts/connectonion/design-decisions/009-why-connect-function.md +167 -0
  65. connectonion/cli/co_ai/prompts/connectonion/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
  66. connectonion/cli/co_ai/prompts/connectonion/design-decisions/011-global-config-identity-management.md +357 -0
  67. connectonion/cli/co_ai/prompts/connectonion/design-decisions/012-tool-execution-separation.md +259 -0
  68. connectonion/cli/co_ai/prompts/connectonion/design-decisions/013-debug-and-logging-design.md +253 -0
  69. connectonion/cli/co_ai/prompts/connectonion/design-decisions/014-hook-system-design.md +510 -0
  70. connectonion/cli/co_ai/prompts/connectonion/design-decisions/015-interactive-auto-debug-design.md +837 -0
  71. connectonion/cli/co_ai/prompts/connectonion/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
  72. connectonion/cli/co_ai/prompts/connectonion/design-decisions/017-session-logging-and-eval-format.md +120 -0
  73. connectonion/cli/co_ai/prompts/connectonion/design-decisions/018-event-api-naming.md +274 -0
  74. connectonion/cli/co_ai/prompts/connectonion/design-decisions/019-agent-lifecycle-design.md +655 -0
  75. connectonion/cli/co_ai/prompts/connectonion/design-decisions/020-trust-system-and-network-architecture.md +503 -0
  76. connectonion/cli/co_ai/prompts/connectonion/design-decisions/021-task-storage-jsonl-design.md +496 -0
  77. connectonion/cli/co_ai/prompts/connectonion/design-decisions/022-raw-asgi-implementation.md +273 -0
  78. connectonion/cli/co_ai/prompts/connectonion/examples/agent_reasoning.md +62 -0
  79. connectonion/cli/co_ai/prompts/connectonion/examples/atomic_tools.md +24 -0
  80. connectonion/cli/co_ai/prompts/connectonion/examples/load_guide.md +18 -0
  81. connectonion/cli/co_ai/prompts/connectonion/examples.md +0 -0
  82. connectonion/cli/co_ai/prompts/connectonion/hook-system-options.md +364 -0
  83. connectonion/cli/co_ai/prompts/connectonion/index.md +162 -0
  84. connectonion/cli/co_ai/prompts/connectonion/integrations/README.md +12 -0
  85. connectonion/cli/co_ai/prompts/connectonion/integrations/auth.md +450 -0
  86. connectonion/cli/co_ai/prompts/connectonion/integrations/google.md +431 -0
  87. connectonion/cli/co_ai/prompts/connectonion/integrations/microsoft.md +370 -0
  88. connectonion/cli/co_ai/prompts/connectonion/network/README.md +14 -0
  89. connectonion/cli/co_ai/prompts/connectonion/network/connect.md +543 -0
  90. connectonion/cli/co_ai/prompts/connectonion/network/connection.md +538 -0
  91. connectonion/cli/co_ai/prompts/connectonion/network/deploy.md +123 -0
  92. connectonion/cli/co_ai/prompts/connectonion/network/host.md +1049 -0
  93. connectonion/cli/co_ai/prompts/connectonion/network/protocol/agent-relay-protocol.md +495 -0
  94. connectonion/cli/co_ai/prompts/connectonion/network/protocol/announce-message.md +115 -0
  95. connectonion/cli/co_ai/prompts/connectonion/principles.md +124 -0
  96. connectonion/cli/co_ai/prompts/connectonion/quickstart.md +261 -0
  97. connectonion/cli/co_ai/prompts/connectonion/roadmap.md +81 -0
  98. connectonion/cli/co_ai/prompts/connectonion/templates/README.md +77 -0
  99. connectonion/cli/co_ai/prompts/connectonion/templates/meta-agent.md +152 -0
  100. connectonion/cli/co_ai/prompts/connectonion/templates/minimal.md +105 -0
  101. connectonion/cli/co_ai/prompts/connectonion/templates/playwright.md +130 -0
  102. connectonion/cli/co_ai/prompts/connectonion/templates/web-research.md +144 -0
  103. connectonion/cli/co_ai/prompts/connectonion/tui/README.md +95 -0
  104. connectonion/cli/co_ai/prompts/connectonion/tui/chat.md +181 -0
  105. connectonion/cli/co_ai/prompts/connectonion/tui/divider.md +63 -0
  106. connectonion/cli/co_ai/prompts/connectonion/tui/dropdown.md +83 -0
  107. connectonion/cli/co_ai/prompts/connectonion/tui/footer.md +44 -0
  108. connectonion/cli/co_ai/prompts/connectonion/tui/fuzzy.md +68 -0
  109. connectonion/cli/co_ai/prompts/connectonion/tui/input.md +84 -0
  110. connectonion/cli/co_ai/prompts/connectonion/tui/keys.md +77 -0
  111. connectonion/cli/co_ai/prompts/connectonion/tui/pick.md +71 -0
  112. connectonion/cli/co_ai/prompts/connectonion/tui/providers.md +89 -0
  113. connectonion/cli/co_ai/prompts/connectonion/tui/status_bar.md +67 -0
  114. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/README.md +156 -0
  115. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/calendar_plugin.md +68 -0
  116. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/eval.md +89 -0
  117. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/gmail_plugin.md +68 -0
  118. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/image_result_formatter.md +74 -0
  119. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/re_act.md +86 -0
  120. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/shell_approval.md +69 -0
  121. connectonion/cli/co_ai/prompts/connectonion/useful_tools/README.md +81 -0
  122. connectonion/cli/co_ai/prompts/connectonion/useful_tools/diff_writer.md +138 -0
  123. connectonion/cli/co_ai/prompts/connectonion/useful_tools/get_emails.md +499 -0
  124. connectonion/cli/co_ai/prompts/connectonion/useful_tools/gmail.md +135 -0
  125. connectonion/cli/co_ai/prompts/connectonion/useful_tools/google_calendar.md +106 -0
  126. connectonion/cli/co_ai/prompts/connectonion/useful_tools/memory.md +486 -0
  127. connectonion/cli/co_ai/prompts/connectonion/useful_tools/microsoft_calendar.md +106 -0
  128. connectonion/cli/co_ai/prompts/connectonion/useful_tools/outlook.md +120 -0
  129. connectonion/cli/co_ai/prompts/connectonion/useful_tools/send_email.md +403 -0
  130. connectonion/cli/co_ai/prompts/connectonion/useful_tools/shell.md +95 -0
  131. connectonion/cli/co_ai/prompts/connectonion/useful_tools/slash_command.md +96 -0
  132. connectonion/cli/co_ai/prompts/connectonion/useful_tools/terminal.md +97 -0
  133. connectonion/cli/co_ai/prompts/connectonion/useful_tools/todo_list.md +252 -0
  134. connectonion/cli/co_ai/prompts/connectonion/useful_tools/web_fetch.md +130 -0
  135. connectonion/cli/co_ai/prompts/connectonion/vibe-coding-guide.md +97 -0
  136. connectonion/cli/co_ai/prompts/connectonion/windows-support.md +258 -0
  137. connectonion/cli/co_ai/prompts/main.md +247 -0
  138. connectonion/cli/co_ai/prompts/reminders/plan_mode.md +34 -0
  139. connectonion/cli/co_ai/prompts/summarization.md +55 -0
  140. connectonion/cli/co_ai/prompts/tools/ask_user.md +61 -0
  141. connectonion/cli/co_ai/prompts/tools/background.md +57 -0
  142. connectonion/cli/co_ai/prompts/tools/edit.md +90 -0
  143. connectonion/cli/co_ai/prompts/tools/glob.md +52 -0
  144. connectonion/cli/co_ai/prompts/tools/grep.md +55 -0
  145. connectonion/cli/co_ai/prompts/tools/plan_mode.md +80 -0
  146. connectonion/cli/co_ai/prompts/tools/read.md +40 -0
  147. connectonion/cli/co_ai/prompts/tools/shell.md +67 -0
  148. connectonion/cli/co_ai/prompts/tools/task.md +51 -0
  149. connectonion/cli/co_ai/prompts/tools/todo.md +139 -0
  150. connectonion/cli/co_ai/prompts/tools/write.md +47 -0
  151. connectonion/cli/co_ai/prompts/workflow.md +89 -0
  152. connectonion/cli/co_ai/reminders.py +159 -0
  153. connectonion/cli/co_ai/sessions.py +110 -0
  154. connectonion/cli/co_ai/skills/__init__.py +37 -0
  155. connectonion/cli/co_ai/skills/builtin/commit/SKILL.md +63 -0
  156. connectonion/cli/co_ai/skills/builtin/review-pr/SKILL.md +76 -0
  157. connectonion/cli/co_ai/skills/loader.py +166 -0
  158. connectonion/cli/co_ai/skills/tool.py +46 -0
  159. connectonion/cli/co_ai/tools/__init__.py +92 -0
  160. connectonion/cli/co_ai/tools/ask_user.py +35 -0
  161. connectonion/cli/co_ai/tools/background.py +201 -0
  162. connectonion/cli/co_ai/tools/diff_writer.py +291 -0
  163. connectonion/cli/co_ai/tools/edit.py +89 -0
  164. connectonion/cli/co_ai/tools/glob.py +84 -0
  165. connectonion/cli/co_ai/tools/grep.py +158 -0
  166. connectonion/cli/co_ai/tools/load_guide.py +23 -0
  167. connectonion/cli/co_ai/tools/multi_edit.py +116 -0
  168. connectonion/cli/co_ai/tools/plan_mode.py +172 -0
  169. connectonion/cli/co_ai/tools/read.py +67 -0
  170. connectonion/cli/co_ai/tools/task.py +59 -0
  171. connectonion/cli/co_ai/tools/todo_list.py +159 -0
  172. connectonion/cli/co_ai/tools/write.py +126 -0
  173. connectonion/cli/commands/__init__.py +11 -1
  174. connectonion/cli/commands/ai_commands.py +34 -0
  175. connectonion/cli/commands/copy_commands.py +55 -6
  176. connectonion/cli/commands/create.py +20 -17
  177. connectonion/cli/commands/init.py +19 -22
  178. connectonion/cli/commands/project_cmd_lib.py +15 -0
  179. connectonion/cli/main.py +11 -0
  180. connectonion/console.py +15 -1
  181. connectonion/core/__init__.py +10 -1
  182. connectonion/core/agent.py +37 -16
  183. connectonion/core/exceptions.py +74 -0
  184. connectonion/core/llm.py +54 -6
  185. connectonion/core/tool_executor.py +32 -31
  186. connectonion/core/tool_factory.py +47 -10
  187. connectonion/debug/__init__.py +10 -1
  188. connectonion/debug/debug_explainer/__init__.py +10 -1
  189. connectonion/debug/execution_analyzer/__init__.py +10 -1
  190. connectonion/debug/execution_analyzer/execution_analysis.py +5 -2
  191. connectonion/debug/runtime_inspector/__init__.py +10 -1
  192. connectonion/docs/.package-ignore +6 -0
  193. connectonion/docs/README.md +2036 -0
  194. connectonion/docs/api.md +457 -0
  195. connectonion/docs/archive/001-ai-agent-is-just-prompt-plus-function.md +249 -0
  196. connectonion/docs/archive/README.md +53 -0
  197. connectonion/docs/archive/archive/consolidation-plan.md +72 -0
  198. connectonion/docs/archive/archive/core-principles-extracted.md +239 -0
  199. connectonion/docs/archive/archive/master-principles.md +222 -0
  200. connectonion/docs/archive/archive/principles.md +293 -0
  201. connectonion/docs/archive/archive/simplicity-principles.md +221 -0
  202. connectonion/docs/archive/attack-defense-insights.md +410 -0
  203. connectonion/docs/archive/business-model.md +305 -0
  204. connectonion/docs/archive/core-principles-unified.md +190 -0
  205. connectonion/docs/archive/discussion-journey.md +178 -0
  206. connectonion/docs/archive/economic-analysis.md +323 -0
  207. connectonion/docs/archive/features/01-share-and-find.md +256 -0
  208. connectonion/docs/archive/features/02-agent-authentication.md +93 -0
  209. connectonion/docs/archive/features/03-test-before-trust.md +71 -0
  210. connectonion/docs/archive/features/06-reliability-and-offline.md +197 -0
  211. connectonion/docs/archive/features/README.md +46 -0
  212. connectonion/docs/archive/features-roadmap.md +247 -0
  213. connectonion/docs/archive/mcp-comparison-insights.md +215 -0
  214. connectonion/docs/archive/migration-strategy.md +571 -0
  215. connectonion/docs/archive/mini-whitepaper.md +293 -0
  216. connectonion/docs/archive/network-protocol.md +394 -0
  217. connectonion/docs/archive/semantic-revolution.md +367 -0
  218. connectonion/docs/archive/technical-architecture.md +453 -0
  219. connectonion/docs/archive/the-semantic-insight.md +207 -0
  220. connectonion/docs/archive/threat-model.md +164 -0
  221. connectonion/docs/cli/README.md +805 -0
  222. connectonion/docs/cli/auth.md +46 -0
  223. connectonion/docs/cli/browser.md +235 -0
  224. connectonion/docs/cli/copy.md +232 -0
  225. connectonion/docs/cli/create.md +335 -0
  226. connectonion/docs/cli/init.md +431 -0
  227. connectonion/docs/co-directory-structure.md +214 -0
  228. connectonion/docs/concepts/agent.md +1078 -0
  229. connectonion/docs/concepts/events.md +699 -0
  230. connectonion/docs/concepts/llm_do.md +256 -0
  231. connectonion/docs/concepts/max_iterations.md +362 -0
  232. connectonion/docs/concepts/models.md +641 -0
  233. connectonion/docs/concepts/plugins.md +100 -0
  234. connectonion/docs/concepts/prompts.md +122 -0
  235. connectonion/docs/concepts/session.md +428 -0
  236. connectonion/docs/concepts/tools.md +512 -0
  237. connectonion/docs/concepts/transcribe.md +156 -0
  238. connectonion/docs/concepts/trust.md +291 -0
  239. connectonion/docs/connectonion.md +1256 -0
  240. connectonion/docs/debug/README.md +18 -0
  241. connectonion/docs/debug/auto_debug.md +1026 -0
  242. connectonion/docs/debug/console.md +129 -0
  243. connectonion/docs/debug/eval-format.md +178 -0
  244. connectonion/docs/debug/eval.md +230 -0
  245. connectonion/docs/debug/exceptions.md +307 -0
  246. connectonion/docs/debug/log.md +117 -0
  247. connectonion/docs/debug/xray.md +215 -0
  248. connectonion/docs/design-decisions/001-choosing-input-method.md +202 -0
  249. connectonion/docs/design-decisions/002-choosing-llm-function-name.md +202 -0
  250. connectonion/docs/design-decisions/003-choosing-trust-keyword.md +141 -0
  251. connectonion/docs/design-decisions/004-cli-create-flow.md +117 -0
  252. connectonion/docs/design-decisions/005-designing-agent-network-protocol.md +503 -0
  253. connectonion/docs/design-decisions/006-agent-address-format.md +305 -0
  254. connectonion/docs/design-decisions/007-authentication-backend-design.md +240 -0
  255. connectonion/docs/design-decisions/008-naming-is-hard.md +228 -0
  256. connectonion/docs/design-decisions/009-why-connect-function.md +167 -0
  257. connectonion/docs/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
  258. connectonion/docs/design-decisions/011-global-config-identity-management.md +357 -0
  259. connectonion/docs/design-decisions/012-tool-execution-separation.md +259 -0
  260. connectonion/docs/design-decisions/013-debug-and-logging-design.md +253 -0
  261. connectonion/docs/design-decisions/014-hook-system-design.md +510 -0
  262. connectonion/docs/design-decisions/015-interactive-auto-debug-design.md +837 -0
  263. connectonion/docs/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
  264. connectonion/docs/design-decisions/017-session-logging-and-eval-format.md +120 -0
  265. connectonion/docs/design-decisions/018-event-api-naming.md +274 -0
  266. connectonion/docs/design-decisions/019-agent-lifecycle-design.md +655 -0
  267. connectonion/docs/design-decisions/020-trust-system-and-network-architecture.md +503 -0
  268. connectonion/docs/design-decisions/021-task-storage-jsonl-design.md +496 -0
  269. connectonion/docs/design-decisions/022-raw-asgi-implementation.md +273 -0
  270. connectonion/docs/examples.md +0 -0
  271. connectonion/docs/hook-system-options.md +364 -0
  272. connectonion/docs/integrations/README.md +12 -0
  273. connectonion/docs/integrations/auth.md +450 -0
  274. connectonion/docs/integrations/google.md +431 -0
  275. connectonion/docs/integrations/microsoft.md +370 -0
  276. connectonion/docs/network/README.md +14 -0
  277. connectonion/docs/network/connect.md +629 -0
  278. connectonion/docs/network/deploy.md +124 -0
  279. connectonion/docs/network/host.md +1087 -0
  280. connectonion/docs/network/io.md +538 -0
  281. connectonion/docs/network/protocol/agent-relay-protocol.md +495 -0
  282. connectonion/docs/network/protocol/announce-message.md +115 -0
  283. connectonion/docs/principles.md +124 -0
  284. connectonion/docs/quickstart.md +261 -0
  285. connectonion/docs/roadmap.md +81 -0
  286. connectonion/docs/templates/README.md +77 -0
  287. connectonion/docs/templates/meta-agent.md +152 -0
  288. connectonion/docs/templates/minimal.md +105 -0
  289. connectonion/docs/templates/playwright.md +130 -0
  290. connectonion/docs/templates/web-research.md +144 -0
  291. connectonion/docs/tui/README.md +95 -0
  292. connectonion/docs/tui/chat.md +181 -0
  293. connectonion/docs/tui/divider.md +63 -0
  294. connectonion/docs/tui/dropdown.md +83 -0
  295. connectonion/docs/tui/footer.md +44 -0
  296. connectonion/docs/tui/fuzzy.md +68 -0
  297. connectonion/docs/tui/input.md +84 -0
  298. connectonion/docs/tui/keys.md +77 -0
  299. connectonion/docs/tui/pick.md +71 -0
  300. connectonion/docs/tui/providers.md +89 -0
  301. connectonion/docs/tui/status_bar.md +67 -0
  302. connectonion/docs/useful_plugins/README.md +160 -0
  303. connectonion/docs/useful_plugins/calendar_plugin.md +68 -0
  304. connectonion/docs/useful_plugins/eval.md +89 -0
  305. connectonion/docs/useful_plugins/gmail_plugin.md +68 -0
  306. connectonion/docs/useful_plugins/image_result_formatter.md +74 -0
  307. connectonion/docs/useful_plugins/re_act.md +86 -0
  308. connectonion/docs/useful_plugins/shell_approval.md +69 -0
  309. connectonion/docs/useful_plugins/system_reminder.md +210 -0
  310. connectonion/docs/useful_prompts/README.md +127 -0
  311. connectonion/docs/useful_prompts/coding_agent.md +214 -0
  312. connectonion/docs/useful_tools/README.md +81 -0
  313. connectonion/docs/useful_tools/ask_user.md +103 -0
  314. connectonion/docs/useful_tools/diff_writer.md +158 -0
  315. connectonion/docs/useful_tools/get_emails.md +519 -0
  316. connectonion/docs/useful_tools/gmail.md +155 -0
  317. connectonion/docs/useful_tools/google_calendar.md +126 -0
  318. connectonion/docs/useful_tools/memory.md +506 -0
  319. connectonion/docs/useful_tools/microsoft_calendar.md +126 -0
  320. connectonion/docs/useful_tools/outlook.md +140 -0
  321. connectonion/docs/useful_tools/send_email.md +423 -0
  322. connectonion/docs/useful_tools/shell.md +115 -0
  323. connectonion/docs/useful_tools/slash_command.md +116 -0
  324. connectonion/docs/useful_tools/terminal.md +115 -0
  325. connectonion/docs/useful_tools/todo_list.md +272 -0
  326. connectonion/docs/useful_tools/web_fetch.md +150 -0
  327. connectonion/docs/vibe-coding-guide.md +97 -0
  328. connectonion/docs/windows-support.md +258 -0
  329. connectonion/logger.py +3 -3
  330. connectonion/network/__init__.py +19 -6
  331. connectonion/network/asgi/__init__.py +81 -0
  332. connectonion/network/asgi/http.py +205 -0
  333. connectonion/network/asgi/websocket.py +217 -0
  334. connectonion/network/connect.py +232 -185
  335. connectonion/network/host/__init__.py +59 -0
  336. connectonion/network/host/auth.py +191 -0
  337. connectonion/network/host/routes.py +135 -0
  338. connectonion/network/host/server.py +289 -0
  339. connectonion/network/host/session.py +78 -0
  340. connectonion/network/io/__init__.py +21 -0
  341. connectonion/network/{connection.py → io/base.py} +17 -42
  342. connectonion/network/io/websocket.py +55 -0
  343. connectonion/network/relay.py +37 -16
  344. connectonion/network/trust/__init__.py +30 -0
  345. connectonion/network/trust/factory.py +138 -0
  346. connectonion/network/{trust_agents.py → trust/prompts.py} +3 -3
  347. connectonion/network/{trust_functions.py → trust/tools.py} +2 -2
  348. connectonion/prompt_files/__init__.py +11 -1
  349. connectonion/prompt_files/react_acknowledge.md +26 -0
  350. connectonion/prompts.py +10 -1
  351. connectonion/tui/chat.py +10 -1
  352. connectonion/tui/divider.py +10 -1
  353. connectonion/tui/dropdown.py +10 -1
  354. connectonion/tui/footer.py +8 -0
  355. connectonion/tui/fuzzy.py +11 -1
  356. connectonion/tui/input.py +118 -70
  357. connectonion/tui/keys.py +133 -6
  358. connectonion/tui/providers.py +11 -1
  359. connectonion/tui/status_bar.py +10 -1
  360. connectonion/useful_events_handlers/__init__.py +8 -0
  361. connectonion/useful_events_handlers/reflect.py +19 -4
  362. connectonion/useful_plugins/__init__.py +2 -1
  363. connectonion/useful_plugins/eval.py +2 -2
  364. connectonion/useful_plugins/gmail_plugin.py +3 -3
  365. connectonion/useful_plugins/image_result_formatter.py +3 -3
  366. connectonion/useful_plugins/re_act.py +114 -28
  367. connectonion/useful_plugins/shell_approval.py +2 -2
  368. connectonion/useful_plugins/system_reminder.py +103 -0
  369. connectonion/useful_plugins/ui_stream.py +18 -133
  370. connectonion/useful_prompts/README.md +61 -0
  371. connectonion/useful_prompts/__init__.py +45 -0
  372. connectonion/useful_prompts/coding_agent/README.md +106 -0
  373. connectonion/useful_prompts/coding_agent/assembler.py +123 -0
  374. connectonion/useful_prompts/coding_agent/prompts/main.md +227 -0
  375. connectonion/useful_prompts/coding_agent/prompts/tools/ask_user.md +61 -0
  376. connectonion/useful_prompts/coding_agent/prompts/tools/background.md +57 -0
  377. connectonion/useful_prompts/coding_agent/prompts/tools/edit.md +90 -0
  378. connectonion/useful_prompts/coding_agent/prompts/tools/glob.md +52 -0
  379. connectonion/useful_prompts/coding_agent/prompts/tools/grep.md +55 -0
  380. connectonion/useful_prompts/coding_agent/prompts/tools/plan_mode.md +80 -0
  381. connectonion/useful_prompts/coding_agent/prompts/tools/read.md +40 -0
  382. connectonion/useful_prompts/coding_agent/prompts/tools/shell.md +67 -0
  383. connectonion/useful_prompts/coding_agent/prompts/tools/task.md +51 -0
  384. connectonion/useful_prompts/coding_agent/prompts/tools/todo.md +139 -0
  385. connectonion/useful_prompts/coding_agent/prompts/tools/write.md +48 -0
  386. connectonion/useful_prompts/system-reminders/security-warning.md +14 -0
  387. connectonion/useful_prompts/system-reminders/test-reminder.md +11 -0
  388. connectonion/useful_tools/__init__.py +31 -4
  389. connectonion/useful_tools/ask_user.py +35 -0
  390. connectonion/useful_tools/bash.py +69 -0
  391. connectonion/useful_tools/diff_writer.py +186 -94
  392. connectonion/useful_tools/edit.py +102 -0
  393. connectonion/useful_tools/glob_files.py +97 -0
  394. connectonion/useful_tools/grep_files.py +171 -0
  395. connectonion/useful_tools/multi_edit.py +116 -0
  396. connectonion/useful_tools/read_file.py +73 -0
  397. connectonion/useful_tools/shell.py +50 -45
  398. connectonion/useful_tools/write_file.py +129 -0
  399. {connectonion-0.6.2.dist-info → connectonion-0.6.3.dist-info}/METADATA +10 -3
  400. connectonion-0.6.3.dist-info/RECORD +469 -0
  401. connectonion/network/asgi.py +0 -407
  402. connectonion/network/host.py +0 -616
  403. connectonion/network/trust.py +0 -166
  404. connectonion-0.6.2.dist-info/RECORD +0 -129
  405. /connectonion/cli/{docs → co_ai/prompts/connectonion}/connectonion.md +0 -0
  406. {connectonion-0.6.2.dist-info → connectonion-0.6.3.dist-info}/WHEEL +0 -0
  407. {connectonion-0.6.2.dist-info → connectonion-0.6.3.dist-info}/entry_points.txt +0 -0
@@ -1,5 +1,31 @@
1
1
  # ConnectOnion Framework - Complete Reference for AI Assistants
2
2
 
3
+ ## Documentation Directory Structure
4
+
5
+ ```
6
+ .co/docs/
7
+ ├── README.md # This file - complete reference for vibe coding
8
+ ├── quickstart.md # 60-second getting started guide
9
+ ├── api.md # Full API reference
10
+ ├── connectonion.md # Framework architecture deep dive
11
+ ├── examples.md # Code examples and patterns
12
+ ├── principles.md # Design philosophy
13
+ ├── cli/ # CLI commands documentation
14
+ ├── concepts/ # Core concepts (agents, tools, trust)
15
+ ├── debug/ # Debugging and @xray documentation
16
+ ├── design-decisions/ # Why things are built this way
17
+ ├── integrations/ # Third-party integrations
18
+ ├── network/ # Agent networking and communication
19
+ ├── templates/ # Project templates reference
20
+ ├── tui/ # Terminal UI documentation
21
+ ├── useful_tools/ # Pre-built tools you can use
22
+ └── useful_plugins/ # Claude Code plugins and extensions
23
+ ```
24
+
25
+ **Start here:** `quickstart.md` for a 60-second intro, then use this README for comprehensive reference.
26
+
27
+ ---
28
+
3
29
  ## Context for AI Assistants
4
30
 
5
31
  You are helping a developer who wants to use ConnectOnion, a Python framework for creating AI agents with behavior tracking. This document contains everything you need to help them write effective ConnectOnion code.
@@ -0,0 +1,457 @@
1
+ # API Reference
2
+
3
+ ## Agent
4
+
5
+ The main class for creating AI agents that can use tools.
6
+
7
+ ### Constructor
8
+
9
+ ```python
10
+ Agent(
11
+ name: str,
12
+ llm: Optional[LLM] = None,
13
+ tools: Optional[List[Callable]] = None,
14
+ system_prompt: Union[str, Path, None] = None,
15
+ api_key: Optional[str] = None,
16
+ model: str = "co/gemini-2.5-pro"
17
+ )
18
+ ```
19
+
20
+ #### Parameters
21
+
22
+ - **name** (`str`): Unique identifier for the agent
23
+ - **llm** (`Optional[LLM]`): Custom LLM instance (defaults to OpenAILLM)
24
+ - **tools** (`Optional[List[Callable]]`): List of functions the agent can use
25
+ - **system_prompt** (`Union[str, Path, None]`): Agent's personality and behavior definition
26
+ - `str`: Can be either a direct prompt text or a file path (auto-detected)
27
+ - `Path`: Path object pointing to a prompt file
28
+ - `None`: Uses default prompt
29
+ - **api_key** (`Optional[str]`): OpenAI API key (if not using custom LLM)
30
+ - **model** (`str`): Model to use (default: "co/gemini-2.5-pro")
31
+ - Managed keys: `co/gemini-2.5-pro`, `co/gpt-4o-mini`, `co/claude-3-5-sonnet`
32
+ - Your own key: `gpt-4o-mini`, `claude-3-5-sonnet`, `gemini-1.5-pro`
33
+
34
+ ### System Prompt Options
35
+
36
+ The `system_prompt` parameter accepts multiple input types:
37
+
38
+ ```python
39
+ # 1. Direct string
40
+ agent = Agent(name="bot", system_prompt="You are helpful")
41
+
42
+ # 2. File path as string (auto-detected if file exists)
43
+ agent = Agent(name="bot", system_prompt="prompts/assistant.md")
44
+
45
+ # 3. Path object (must point to existing file)
46
+ from pathlib import Path
47
+ agent = Agent(name="bot", system_prompt=Path("prompts/assistant.txt"))
48
+
49
+ # 4. None (uses default)
50
+ agent = Agent(name="bot") # Default: "You are a helpful assistant..."
51
+ ```
52
+
53
+ **File Loading Rules:**
54
+ - Any text file can be used (no extension restrictions)
55
+ - Files must be valid UTF-8 encoded text
56
+ - Empty files raise `ValueError`
57
+ - Non-existent Path objects raise `FileNotFoundError`
58
+ - Strings that don't exist as files are treated as literal prompts
59
+
60
+ ### Methods
61
+
62
+ #### `input(prompt: str, max_iterations: Optional[int] = None) -> str`
63
+
64
+ Provide input to the agent and get response.
65
+
66
+ **Parameters:**
67
+ - `prompt` - User input/task for the agent
68
+ - `max_iterations` - Override agent's default max_iterations for this task only
69
+
70
+ ```python
71
+ result = agent.input("Calculate 2 + 2")
72
+
73
+ # Override iterations for complex tasks
74
+ result = agent.input("Complex multi-step task", max_iterations=25)
75
+ ```
76
+
77
+ #### `add_tool(tool: Callable) -> None`
78
+
79
+ Add a new tool to the agent.
80
+
81
+ ```python
82
+ def new_tool(param: str) -> str:
83
+ return f"Processed {param}"
84
+
85
+ agent.add_tool(new_tool)
86
+ ```
87
+
88
+ #### `remove_tool(tool_name: str) -> None`
89
+
90
+ Remove a tool from the agent.
91
+
92
+ ```python
93
+ agent.remove_tool("calculator")
94
+ ```
95
+
96
+ #### `list_tools() -> List[str]`
97
+
98
+ Get list of available tool names.
99
+
100
+ ```python
101
+ tools = agent.list_tools()
102
+ # ['calculator', 'search', 'get_time']
103
+ ```
104
+
105
+ ## Tools
106
+
107
+ ### Function-Based Tools
108
+
109
+ Any Python function can be used as a tool:
110
+
111
+ ```python
112
+ def my_tool(param: str, optional: int = 10) -> str:
113
+ """Tool description from docstring.
114
+
115
+ Args:
116
+ param: The main parameter.
117
+
118
+ Returns:
119
+ Formatted result.
120
+ """
121
+ return f"Result: {param} with {optional}"
122
+
123
+ agent = Agent("bot", tools=[my_tool])
124
+ ```
125
+
126
+ **How schemas are generated:**
127
+ - `name` ← function name
128
+ - `description` ← first paragraph of docstring (Args/Returns NOT included)
129
+ - `parameters` ← from Python type hints
130
+ - `required` ← parameters without default values
131
+
132
+ **Everything is optional:**
133
+ - No docstring? Description defaults to "Execute the {name} tool."
134
+ - No type hints? Defaults to string type
135
+
136
+ ### Tool Conversion
137
+
138
+ The `create_tool_from_function` utility converts functions to tools:
139
+
140
+ ```python
141
+ from connectonion import create_tool_from_function
142
+
143
+ def simple_function(x: int) -> int:
144
+ """Double a number."""
145
+ return x * 2
146
+
147
+ tool = create_tool_from_function(simple_function)
148
+ # tool now has: .name, .description, .run(), .to_function_schema()
149
+ ```
150
+
151
+ ## Logging
152
+
153
+ Automatic activity logging for agents. Three output destinations:
154
+ - **Console**: Rich-formatted terminal output
155
+ - **Plain text**: `.co/logs/{name}.log`
156
+ - **Session YAML**: `.co/evals/{name}_{timestamp}.yaml`
157
+
158
+ ### Configuration
159
+
160
+ Control logging via `quiet` and `log` parameters:
161
+
162
+ ```python
163
+ # Default: everything on (console + logs + sessions)
164
+ agent = Agent("assistant")
165
+
166
+ # Quiet mode: suppress console, keep sessions for eval
167
+ agent = Agent("assistant", quiet=True)
168
+
169
+ # Disable all file logging (console only)
170
+ agent = Agent("assistant", log=False)
171
+
172
+ # Custom log file path
173
+ agent = Agent("assistant", log="my_logs/custom.log")
174
+ ```
175
+
176
+ ### Logging Modes
177
+
178
+ | quiet | log | Console | Plain Text | Sessions | Use Case |
179
+ |-------|-----|---------|------------|----------|----------|
180
+ | False | True/None | ✓ | ✓ | ✓ | Development (default) |
181
+ | True | True/None | ✗ | ✗ | ✓ | Eval/testing |
182
+ | False | False | ✓ | ✗ | ✗ | Benchmarking |
183
+ | False | "path" | ✓ | custom | ✓ | Custom log path |
184
+
185
+ ### Log Format
186
+
187
+ Plain text logs include:
188
+ - Timestamp
189
+ - User input
190
+ - LLM calls with timing, tokens, cost
191
+ - Tool executions with parameters and results
192
+ - Final agent responses
193
+
194
+ Example log output:
195
+ ```
196
+ [10:30:15] INPUT: Calculate 2 + 2
197
+ [10:30:15] -> LLM Request (gpt-4o-mini) • 2 msgs • 1 tools
198
+ [10:30:16] <- LLM Response (234ms) • 1 tools • 156 tokens • $0.0001
199
+ [10:30:16] -> Tool: calculator({"expression": "2+2"})
200
+ [10:30:16] <- Result (1ms): 4
201
+ [10:30:16] [OK] Complete (1.2s)
202
+ ```
203
+
204
+ ### Session YAML Format
205
+
206
+ Sessions are saved for replay and eval:
207
+
208
+ ```yaml
209
+ name: assistant
210
+ timestamp: 2024-12-02 10:30:15
211
+
212
+ turns:
213
+ - input: "Calculate 2 + 2"
214
+ model: "gpt-4o-mini"
215
+ duration_ms: 1200
216
+ tokens: 156
217
+ cost: 0.0001
218
+ tools_called: [calculator]
219
+ result: "The answer is 4"
220
+ messages: '[{"role":"system",...}]'
221
+ ```
222
+
223
+ ## LLM
224
+
225
+ Abstract base class for language models. ConnectOnion supports multiple LLM providers through a unified interface.
226
+
227
+ ### Model Routing
228
+
229
+ The `create_llm()` factory function routes models to the appropriate provider:
230
+
231
+ ```python
232
+ from connectonion.llm import create_llm
233
+
234
+ # OpenAI models
235
+ llm = create_llm("gpt-4o-mini") # → OpenAILLM
236
+ llm = create_llm("o4-mini") # → OpenAILLM
237
+
238
+ # Anthropic models
239
+ llm = create_llm("claude-3-5-sonnet") # → AnthropicLLM
240
+
241
+ # Google Gemini models
242
+ llm = create_llm("gemini-2.5-flash") # → GeminiLLM
243
+
244
+ # ConnectOnion managed keys (co/ prefix)
245
+ llm = create_llm("co/gpt-4o-mini") # → OpenOnionLLM
246
+ llm = create_llm("co/gemini-2.5-flash") # → OpenOnionLLM
247
+ ```
248
+
249
+ ### co/ Models (Managed Keys)
250
+
251
+ Models prefixed with `co/` use ConnectOnion's managed API keys through the OpenOnion proxy:
252
+
253
+ ```python
254
+ from connectonion import Agent
255
+
256
+ # Uses OpenOnion managed keys - no API key needed
257
+ agent = Agent(name="bot", model="co/gemini-2.5-flash")
258
+ ```
259
+
260
+ **How it works:**
261
+ 1. Client detects `co/` prefix → routes to `OpenOnionLLM`
262
+ 2. Prefix is stripped before sending to server
263
+ 3. Server routes to appropriate provider (OpenAI, Anthropic, Gemini)
264
+ 4. Response returned in OpenAI-compatible format
265
+
266
+ **Available co/ models:**
267
+ - `co/gpt-4o-mini`, `co/gpt-4o`, `co/gpt-5`, `co/gpt-5-mini`, `co/gpt-5-nano`, `co/o4-mini`
268
+ - `co/gemini-2.5-pro`, `co/gemini-2.5-flash`, `co/gemini-2.5-flash-lite`, `co/gemini-2.0-flash`
269
+
270
+ **Environment variable:** `OPENONION_API_KEY` (auto-loaded from `.env`)
271
+
272
+ ### OpenAILLM
273
+
274
+ OpenAI API implementation.
275
+
276
+ ```python
277
+ from connectonion.llm import OpenAILLM
278
+
279
+ llm = OpenAILLM(
280
+ api_key="your-key", # or OPENAI_API_KEY env var
281
+ model="gpt-4o-mini",
282
+ temperature=0.7
283
+ )
284
+
285
+ agent = Agent("bot", llm=llm)
286
+ ```
287
+
288
+ ### AnthropicLLM
289
+
290
+ Anthropic Claude API implementation.
291
+
292
+ ```python
293
+ from connectonion.llm import AnthropicLLM
294
+
295
+ llm = AnthropicLLM(
296
+ api_key="your-key", # or ANTHROPIC_API_KEY env var
297
+ model="claude-3-5-sonnet-20241022"
298
+ )
299
+
300
+ agent = Agent("bot", llm=llm)
301
+ ```
302
+
303
+ ### GeminiLLM
304
+
305
+ Google Gemini API implementation (uses OpenAI-compatible endpoint).
306
+
307
+ ```python
308
+ from connectonion.llm import GeminiLLM
309
+
310
+ llm = GeminiLLM(
311
+ api_key="your-key", # or GEMINI_API_KEY env var
312
+ model="gemini-2.5-flash"
313
+ )
314
+
315
+ agent = Agent("bot", llm=llm)
316
+ ```
317
+
318
+ ### OpenOnionLLM
319
+
320
+ ConnectOnion managed keys implementation.
321
+
322
+ ```python
323
+ from connectonion.llm import OpenOnionLLM
324
+
325
+ llm = OpenOnionLLM(
326
+ api_key="your-token", # or OPENONION_API_KEY env var
327
+ model="co/gemini-2.5-flash"
328
+ )
329
+
330
+ agent = Agent("bot", llm=llm)
331
+ ```
332
+
333
+ **Base URLs:**
334
+ - Production: `https://oo.openonion.ai/v1`
335
+ - Development: `http://localhost:8000/v1` (when `ENVIRONMENT=development`)
336
+
337
+ ## Prompts Module
338
+
339
+ Utilities for loading system prompts.
340
+
341
+ ### `load_system_prompt(prompt: Union[str, Path, None]) -> str`
342
+
343
+ Load system prompt from various sources.
344
+
345
+ ```python
346
+ from connectonion.prompts import load_system_prompt
347
+
348
+ # From string
349
+ prompt = load_system_prompt("You are helpful")
350
+
351
+ # From file
352
+ prompt = load_system_prompt("prompts/assistant.md")
353
+
354
+ # From Path
355
+ from pathlib import Path
356
+ prompt = load_system_prompt(Path("prompts/assistant.txt"))
357
+
358
+ # Default
359
+ prompt = load_system_prompt(None)
360
+ ```
361
+
362
+ **Raises:**
363
+ - `FileNotFoundError`: If Path object points to non-existent file
364
+ - `ValueError`: If file is empty or not valid UTF-8
365
+ - `TypeError`: If invalid type provided
366
+
367
+ ## Decorators
368
+
369
+ ### `@xray`
370
+
371
+ Enable detailed execution tracing.
372
+
373
+ ```python
374
+ from connectonion import xray
375
+
376
+ @xray
377
+ def my_agent_function():
378
+ agent = Agent("tracer")
379
+ return agent.input("task")
380
+
381
+ # After execution:
382
+ xray.trace() # Shows detailed execution flow
383
+ ```
384
+
385
+ ### `@replay`
386
+
387
+ Record and replay agent interactions.
388
+
389
+ ```python
390
+ from connectonion import replay
391
+
392
+ @replay
393
+ def workflow():
394
+ agent = Agent("bot")
395
+ return agent.input("task")
396
+
397
+ # Replay the recorded interaction
398
+ replay.last()
399
+ ```
400
+
401
+ ## Examples
402
+
403
+ ### Basic Agent
404
+
405
+ ```python
406
+ from connectonion import Agent
407
+
408
+ # Simple calculator agent
409
+ def calculate(expression: str) -> str:
410
+ """Evaluate mathematical expressions."""
411
+ return str(eval(expression))
412
+
413
+ agent = Agent("calculator", tools=[calculate])
414
+ result = agent.input("What is 15 * 4?")
415
+ ```
416
+
417
+ ### Agent with Custom Prompt File
418
+
419
+ ```python
420
+ # prompts/expert.md
421
+ """
422
+ You are an expert Python developer with 10 years of experience.
423
+ Focus on clean code, best practices, and performance.
424
+ """
425
+
426
+ # main.py
427
+ agent = Agent(
428
+ name="python_expert",
429
+ system_prompt="prompts/expert.md",
430
+ tools=[code_review, suggest_improvement]
431
+ )
432
+ ```
433
+
434
+ ### Multi-Tool Agent
435
+
436
+ ```python
437
+ def search(query: str) -> str:
438
+ """Search the web."""
439
+ # Implementation
440
+
441
+ def calculate(expr: str) -> str:
442
+ """Do math."""
443
+ # Implementation
444
+
445
+ def get_time() -> str:
446
+ """Get current time."""
447
+ # Implementation
448
+
449
+ agent = Agent(
450
+ name="assistant",
451
+ system_prompt="You are a helpful research assistant.",
452
+ tools=[search, calculate, get_time]
453
+ )
454
+
455
+ # Agent can use multiple tools in one request
456
+ result = agent.input("Search for Python tutorials, calculate 42*17, and tell me the time")
457
+ ```