connectonion 0.6.2__py3-none-any.whl → 0.6.4__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 (410) 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 +5 -0
  24. connectonion/cli/co_ai/plugins/system_reminder.py +154 -0
  25. connectonion/cli/co_ai/prompts/agents/explore.md +79 -0
  26. connectonion/cli/co_ai/prompts/agents/plan.md +60 -0
  27. connectonion/cli/co_ai/prompts/assembler.py +303 -0
  28. connectonion/cli/{docs/co-vibecoding-principles-docs-contexts-all-in-one.md → co_ai/prompts/connectonion/README.md} +26 -0
  29. connectonion/cli/co_ai/prompts/connectonion/api.md +457 -0
  30. connectonion/cli/co_ai/prompts/connectonion/cli/README.md +805 -0
  31. connectonion/cli/co_ai/prompts/connectonion/cli/auth.md +46 -0
  32. connectonion/cli/co_ai/prompts/connectonion/cli/browser.md +235 -0
  33. connectonion/cli/co_ai/prompts/connectonion/cli/copy.md +184 -0
  34. connectonion/cli/co_ai/prompts/connectonion/cli/create.md +335 -0
  35. connectonion/cli/co_ai/prompts/connectonion/cli/init.md +431 -0
  36. connectonion/cli/co_ai/prompts/connectonion/co-directory-structure.md +214 -0
  37. connectonion/cli/co_ai/prompts/connectonion/concepts/agent.md +1078 -0
  38. connectonion/cli/co_ai/prompts/connectonion/concepts/events.md +816 -0
  39. connectonion/cli/co_ai/prompts/connectonion/concepts/llm_do.md +256 -0
  40. connectonion/cli/co_ai/prompts/connectonion/concepts/max_iterations.md +362 -0
  41. connectonion/cli/co_ai/prompts/connectonion/concepts/models.md +641 -0
  42. connectonion/cli/co_ai/prompts/connectonion/concepts/plugins.md +100 -0
  43. connectonion/cli/co_ai/prompts/connectonion/concepts/prompts.md +122 -0
  44. connectonion/cli/co_ai/prompts/connectonion/concepts/tools.md +512 -0
  45. connectonion/cli/co_ai/prompts/connectonion/concepts/transcribe.md +156 -0
  46. connectonion/cli/co_ai/prompts/connectonion/concepts/trust.md +291 -0
  47. connectonion/cli/co_ai/prompts/connectonion/debug/README.md +18 -0
  48. connectonion/cli/co_ai/prompts/connectonion/debug/auto_debug.md +1026 -0
  49. connectonion/cli/co_ai/prompts/connectonion/debug/console.md +129 -0
  50. connectonion/cli/co_ai/prompts/connectonion/debug/eval-format.md +178 -0
  51. connectonion/cli/co_ai/prompts/connectonion/debug/eval.md +230 -0
  52. connectonion/cli/co_ai/prompts/connectonion/debug/exceptions.md +307 -0
  53. connectonion/cli/co_ai/prompts/connectonion/debug/log.md +117 -0
  54. connectonion/cli/co_ai/prompts/connectonion/debug/xray.md +215 -0
  55. connectonion/cli/co_ai/prompts/connectonion/design-decisions/001-choosing-input-method.md +202 -0
  56. connectonion/cli/co_ai/prompts/connectonion/design-decisions/002-choosing-llm-function-name.md +202 -0
  57. connectonion/cli/co_ai/prompts/connectonion/design-decisions/003-choosing-trust-keyword.md +141 -0
  58. connectonion/cli/co_ai/prompts/connectonion/design-decisions/004-cli-create-flow.md +117 -0
  59. connectonion/cli/co_ai/prompts/connectonion/design-decisions/005-designing-agent-network-protocol.md +503 -0
  60. connectonion/cli/co_ai/prompts/connectonion/design-decisions/006-agent-address-format.md +305 -0
  61. connectonion/cli/co_ai/prompts/connectonion/design-decisions/007-authentication-backend-design.md +240 -0
  62. connectonion/cli/co_ai/prompts/connectonion/design-decisions/008-naming-is-hard.md +228 -0
  63. connectonion/cli/co_ai/prompts/connectonion/design-decisions/009-why-connect-function.md +167 -0
  64. connectonion/cli/co_ai/prompts/connectonion/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
  65. connectonion/cli/co_ai/prompts/connectonion/design-decisions/011-global-config-identity-management.md +357 -0
  66. connectonion/cli/co_ai/prompts/connectonion/design-decisions/012-tool-execution-separation.md +259 -0
  67. connectonion/cli/co_ai/prompts/connectonion/design-decisions/013-debug-and-logging-design.md +253 -0
  68. connectonion/cli/co_ai/prompts/connectonion/design-decisions/014-hook-system-design.md +510 -0
  69. connectonion/cli/co_ai/prompts/connectonion/design-decisions/015-interactive-auto-debug-design.md +837 -0
  70. connectonion/cli/co_ai/prompts/connectonion/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
  71. connectonion/cli/co_ai/prompts/connectonion/design-decisions/017-session-logging-and-eval-format.md +120 -0
  72. connectonion/cli/co_ai/prompts/connectonion/design-decisions/018-event-api-naming.md +274 -0
  73. connectonion/cli/co_ai/prompts/connectonion/design-decisions/019-agent-lifecycle-design.md +655 -0
  74. connectonion/cli/co_ai/prompts/connectonion/design-decisions/020-trust-system-and-network-architecture.md +503 -0
  75. connectonion/cli/co_ai/prompts/connectonion/design-decisions/021-task-storage-jsonl-design.md +496 -0
  76. connectonion/cli/co_ai/prompts/connectonion/design-decisions/022-raw-asgi-implementation.md +273 -0
  77. connectonion/cli/co_ai/prompts/connectonion/examples/agent_reasoning.md +62 -0
  78. connectonion/cli/co_ai/prompts/connectonion/examples/atomic_tools.md +24 -0
  79. connectonion/cli/co_ai/prompts/connectonion/examples/load_guide.md +18 -0
  80. connectonion/cli/co_ai/prompts/connectonion/examples.md +0 -0
  81. connectonion/cli/co_ai/prompts/connectonion/hook-system-options.md +364 -0
  82. connectonion/cli/co_ai/prompts/connectonion/index.md +162 -0
  83. connectonion/cli/co_ai/prompts/connectonion/integrations/README.md +12 -0
  84. connectonion/cli/co_ai/prompts/connectonion/integrations/auth.md +450 -0
  85. connectonion/cli/co_ai/prompts/connectonion/integrations/google.md +431 -0
  86. connectonion/cli/co_ai/prompts/connectonion/integrations/microsoft.md +370 -0
  87. connectonion/cli/co_ai/prompts/connectonion/network/README.md +14 -0
  88. connectonion/cli/co_ai/prompts/connectonion/network/connect.md +543 -0
  89. connectonion/cli/co_ai/prompts/connectonion/network/connection.md +538 -0
  90. connectonion/cli/co_ai/prompts/connectonion/network/deploy.md +123 -0
  91. connectonion/cli/co_ai/prompts/connectonion/network/host.md +1049 -0
  92. connectonion/cli/co_ai/prompts/connectonion/network/protocol/agent-relay-protocol.md +495 -0
  93. connectonion/cli/co_ai/prompts/connectonion/network/protocol/announce-message.md +115 -0
  94. connectonion/cli/co_ai/prompts/connectonion/principles.md +124 -0
  95. connectonion/cli/co_ai/prompts/connectonion/quickstart.md +261 -0
  96. connectonion/cli/co_ai/prompts/connectonion/roadmap.md +81 -0
  97. connectonion/cli/co_ai/prompts/connectonion/templates/README.md +77 -0
  98. connectonion/cli/co_ai/prompts/connectonion/templates/meta-agent.md +152 -0
  99. connectonion/cli/co_ai/prompts/connectonion/templates/minimal.md +105 -0
  100. connectonion/cli/co_ai/prompts/connectonion/templates/playwright.md +130 -0
  101. connectonion/cli/co_ai/prompts/connectonion/templates/web-research.md +144 -0
  102. connectonion/cli/co_ai/prompts/connectonion/tui/README.md +95 -0
  103. connectonion/cli/co_ai/prompts/connectonion/tui/chat.md +181 -0
  104. connectonion/cli/co_ai/prompts/connectonion/tui/divider.md +63 -0
  105. connectonion/cli/co_ai/prompts/connectonion/tui/dropdown.md +83 -0
  106. connectonion/cli/co_ai/prompts/connectonion/tui/footer.md +44 -0
  107. connectonion/cli/co_ai/prompts/connectonion/tui/fuzzy.md +68 -0
  108. connectonion/cli/co_ai/prompts/connectonion/tui/input.md +84 -0
  109. connectonion/cli/co_ai/prompts/connectonion/tui/keys.md +77 -0
  110. connectonion/cli/co_ai/prompts/connectonion/tui/pick.md +71 -0
  111. connectonion/cli/co_ai/prompts/connectonion/tui/providers.md +89 -0
  112. connectonion/cli/co_ai/prompts/connectonion/tui/status_bar.md +67 -0
  113. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/README.md +156 -0
  114. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/calendar_plugin.md +68 -0
  115. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/eval.md +89 -0
  116. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/gmail_plugin.md +68 -0
  117. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/image_result_formatter.md +74 -0
  118. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/re_act.md +86 -0
  119. connectonion/cli/co_ai/prompts/connectonion/useful_plugins/shell_approval.md +69 -0
  120. connectonion/cli/co_ai/prompts/connectonion/useful_tools/README.md +81 -0
  121. connectonion/cli/co_ai/prompts/connectonion/useful_tools/diff_writer.md +138 -0
  122. connectonion/cli/co_ai/prompts/connectonion/useful_tools/get_emails.md +499 -0
  123. connectonion/cli/co_ai/prompts/connectonion/useful_tools/gmail.md +135 -0
  124. connectonion/cli/co_ai/prompts/connectonion/useful_tools/google_calendar.md +106 -0
  125. connectonion/cli/co_ai/prompts/connectonion/useful_tools/memory.md +486 -0
  126. connectonion/cli/co_ai/prompts/connectonion/useful_tools/microsoft_calendar.md +106 -0
  127. connectonion/cli/co_ai/prompts/connectonion/useful_tools/outlook.md +120 -0
  128. connectonion/cli/co_ai/prompts/connectonion/useful_tools/send_email.md +403 -0
  129. connectonion/cli/co_ai/prompts/connectonion/useful_tools/shell.md +95 -0
  130. connectonion/cli/co_ai/prompts/connectonion/useful_tools/slash_command.md +96 -0
  131. connectonion/cli/co_ai/prompts/connectonion/useful_tools/terminal.md +97 -0
  132. connectonion/cli/co_ai/prompts/connectonion/useful_tools/todo_list.md +252 -0
  133. connectonion/cli/co_ai/prompts/connectonion/useful_tools/web_fetch.md +130 -0
  134. connectonion/cli/co_ai/prompts/connectonion/vibe-coding-guide.md +97 -0
  135. connectonion/cli/co_ai/prompts/connectonion/windows-support.md +258 -0
  136. connectonion/cli/co_ai/prompts/main.md +247 -0
  137. connectonion/cli/co_ai/prompts/summarization.md +55 -0
  138. connectonion/cli/co_ai/prompts/system-reminders/agent.md +23 -0
  139. connectonion/cli/co_ai/prompts/system-reminders/plan_mode.md +13 -0
  140. connectonion/cli/co_ai/prompts/system-reminders/security.md +14 -0
  141. connectonion/cli/co_ai/prompts/system-reminders/simplicity.md +14 -0
  142. connectonion/cli/co_ai/prompts/tools/ask_user.md +61 -0
  143. connectonion/cli/co_ai/prompts/tools/background.md +57 -0
  144. connectonion/cli/co_ai/prompts/tools/edit.md +90 -0
  145. connectonion/cli/co_ai/prompts/tools/glob.md +52 -0
  146. connectonion/cli/co_ai/prompts/tools/grep.md +55 -0
  147. connectonion/cli/co_ai/prompts/tools/plan_mode.md +80 -0
  148. connectonion/cli/co_ai/prompts/tools/read.md +40 -0
  149. connectonion/cli/co_ai/prompts/tools/shell.md +67 -0
  150. connectonion/cli/co_ai/prompts/tools/task.md +51 -0
  151. connectonion/cli/co_ai/prompts/tools/todo.md +139 -0
  152. connectonion/cli/co_ai/prompts/tools/write.md +47 -0
  153. connectonion/cli/co_ai/prompts/workflow.md +89 -0
  154. connectonion/cli/co_ai/sessions.py +110 -0
  155. connectonion/cli/co_ai/skills/__init__.py +37 -0
  156. connectonion/cli/co_ai/skills/builtin/commit/SKILL.md +63 -0
  157. connectonion/cli/co_ai/skills/builtin/review-pr/SKILL.md +76 -0
  158. connectonion/cli/co_ai/skills/loader.py +166 -0
  159. connectonion/cli/co_ai/skills/tool.py +46 -0
  160. connectonion/cli/co_ai/tools/__init__.py +92 -0
  161. connectonion/cli/co_ai/tools/ask_user.py +35 -0
  162. connectonion/cli/co_ai/tools/background.py +201 -0
  163. connectonion/cli/co_ai/tools/diff_writer.py +291 -0
  164. connectonion/cli/co_ai/tools/edit.py +89 -0
  165. connectonion/cli/co_ai/tools/glob.py +84 -0
  166. connectonion/cli/co_ai/tools/grep.py +158 -0
  167. connectonion/cli/co_ai/tools/load_guide.py +23 -0
  168. connectonion/cli/co_ai/tools/multi_edit.py +116 -0
  169. connectonion/cli/co_ai/tools/plan_mode.py +169 -0
  170. connectonion/cli/co_ai/tools/read.py +61 -0
  171. connectonion/cli/co_ai/tools/task.py +59 -0
  172. connectonion/cli/co_ai/tools/todo_list.py +159 -0
  173. connectonion/cli/co_ai/tools/write.py +126 -0
  174. connectonion/cli/commands/__init__.py +11 -1
  175. connectonion/cli/commands/ai_commands.py +34 -0
  176. connectonion/cli/commands/copy_commands.py +55 -6
  177. connectonion/cli/commands/create.py +20 -17
  178. connectonion/cli/commands/init.py +19 -22
  179. connectonion/cli/commands/project_cmd_lib.py +15 -0
  180. connectonion/cli/main.py +11 -0
  181. connectonion/console.py +15 -1
  182. connectonion/core/__init__.py +10 -1
  183. connectonion/core/agent.py +37 -16
  184. connectonion/core/exceptions.py +74 -0
  185. connectonion/core/llm.py +54 -6
  186. connectonion/core/tool_executor.py +32 -31
  187. connectonion/core/tool_factory.py +47 -10
  188. connectonion/debug/__init__.py +10 -1
  189. connectonion/debug/debug_explainer/__init__.py +10 -1
  190. connectonion/debug/execution_analyzer/__init__.py +10 -1
  191. connectonion/debug/execution_analyzer/execution_analysis.py +5 -2
  192. connectonion/debug/runtime_inspector/__init__.py +10 -1
  193. connectonion/docs/.package-ignore +6 -0
  194. connectonion/docs/README.md +2036 -0
  195. connectonion/docs/api.md +457 -0
  196. connectonion/docs/archive/001-ai-agent-is-just-prompt-plus-function.md +249 -0
  197. connectonion/docs/archive/README.md +53 -0
  198. connectonion/docs/archive/archive/consolidation-plan.md +72 -0
  199. connectonion/docs/archive/archive/core-principles-extracted.md +239 -0
  200. connectonion/docs/archive/archive/master-principles.md +222 -0
  201. connectonion/docs/archive/archive/principles.md +293 -0
  202. connectonion/docs/archive/archive/simplicity-principles.md +221 -0
  203. connectonion/docs/archive/attack-defense-insights.md +410 -0
  204. connectonion/docs/archive/business-model.md +305 -0
  205. connectonion/docs/archive/core-principles-unified.md +190 -0
  206. connectonion/docs/archive/discussion-journey.md +178 -0
  207. connectonion/docs/archive/economic-analysis.md +323 -0
  208. connectonion/docs/archive/features/01-share-and-find.md +256 -0
  209. connectonion/docs/archive/features/02-agent-authentication.md +93 -0
  210. connectonion/docs/archive/features/03-test-before-trust.md +71 -0
  211. connectonion/docs/archive/features/06-reliability-and-offline.md +197 -0
  212. connectonion/docs/archive/features/README.md +46 -0
  213. connectonion/docs/archive/features-roadmap.md +247 -0
  214. connectonion/docs/archive/mcp-comparison-insights.md +215 -0
  215. connectonion/docs/archive/migration-strategy.md +571 -0
  216. connectonion/docs/archive/mini-whitepaper.md +293 -0
  217. connectonion/docs/archive/network-protocol.md +394 -0
  218. connectonion/docs/archive/semantic-revolution.md +367 -0
  219. connectonion/docs/archive/technical-architecture.md +453 -0
  220. connectonion/docs/archive/the-semantic-insight.md +207 -0
  221. connectonion/docs/archive/threat-model.md +164 -0
  222. connectonion/docs/cli/README.md +805 -0
  223. connectonion/docs/cli/auth.md +46 -0
  224. connectonion/docs/cli/browser.md +235 -0
  225. connectonion/docs/cli/copy.md +232 -0
  226. connectonion/docs/cli/create.md +335 -0
  227. connectonion/docs/cli/init.md +431 -0
  228. connectonion/docs/co-directory-structure.md +214 -0
  229. connectonion/docs/concepts/agent.md +1078 -0
  230. connectonion/docs/concepts/events.md +699 -0
  231. connectonion/docs/concepts/llm_do.md +256 -0
  232. connectonion/docs/concepts/max_iterations.md +362 -0
  233. connectonion/docs/concepts/models.md +641 -0
  234. connectonion/docs/concepts/plugins.md +101 -0
  235. connectonion/docs/concepts/prompts.md +122 -0
  236. connectonion/docs/concepts/session.md +428 -0
  237. connectonion/docs/concepts/tools.md +512 -0
  238. connectonion/docs/concepts/transcribe.md +156 -0
  239. connectonion/docs/concepts/trust.md +291 -0
  240. connectonion/docs/connectonion.md +1256 -0
  241. connectonion/docs/debug/README.md +18 -0
  242. connectonion/docs/debug/auto_debug.md +1026 -0
  243. connectonion/docs/debug/console.md +129 -0
  244. connectonion/docs/debug/eval-format.md +178 -0
  245. connectonion/docs/debug/eval.md +230 -0
  246. connectonion/docs/debug/exceptions.md +307 -0
  247. connectonion/docs/debug/log.md +117 -0
  248. connectonion/docs/debug/xray.md +215 -0
  249. connectonion/docs/design-decisions/001-choosing-input-method.md +202 -0
  250. connectonion/docs/design-decisions/002-choosing-llm-function-name.md +202 -0
  251. connectonion/docs/design-decisions/003-choosing-trust-keyword.md +141 -0
  252. connectonion/docs/design-decisions/004-cli-create-flow.md +117 -0
  253. connectonion/docs/design-decisions/005-designing-agent-network-protocol.md +503 -0
  254. connectonion/docs/design-decisions/006-agent-address-format.md +305 -0
  255. connectonion/docs/design-decisions/007-authentication-backend-design.md +240 -0
  256. connectonion/docs/design-decisions/008-naming-is-hard.md +228 -0
  257. connectonion/docs/design-decisions/009-why-connect-function.md +167 -0
  258. connectonion/docs/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
  259. connectonion/docs/design-decisions/011-global-config-identity-management.md +357 -0
  260. connectonion/docs/design-decisions/012-tool-execution-separation.md +259 -0
  261. connectonion/docs/design-decisions/013-debug-and-logging-design.md +253 -0
  262. connectonion/docs/design-decisions/014-hook-system-design.md +510 -0
  263. connectonion/docs/design-decisions/015-interactive-auto-debug-design.md +837 -0
  264. connectonion/docs/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
  265. connectonion/docs/design-decisions/017-session-logging-and-eval-format.md +120 -0
  266. connectonion/docs/design-decisions/018-event-api-naming.md +274 -0
  267. connectonion/docs/design-decisions/019-agent-lifecycle-design.md +655 -0
  268. connectonion/docs/design-decisions/020-trust-system-and-network-architecture.md +503 -0
  269. connectonion/docs/design-decisions/021-task-storage-jsonl-design.md +496 -0
  270. connectonion/docs/design-decisions/022-raw-asgi-implementation.md +273 -0
  271. connectonion/docs/examples.md +0 -0
  272. connectonion/docs/hook-system-options.md +364 -0
  273. connectonion/docs/integrations/README.md +12 -0
  274. connectonion/docs/integrations/auth.md +450 -0
  275. connectonion/docs/integrations/google.md +431 -0
  276. connectonion/docs/integrations/microsoft.md +370 -0
  277. connectonion/docs/network/README.md +14 -0
  278. connectonion/docs/network/connect.md +629 -0
  279. connectonion/docs/network/deploy.md +124 -0
  280. connectonion/docs/network/host.md +1087 -0
  281. connectonion/docs/network/io.md +538 -0
  282. connectonion/docs/network/protocol/agent-relay-protocol.md +495 -0
  283. connectonion/docs/network/protocol/announce-message.md +115 -0
  284. connectonion/docs/principles.md +124 -0
  285. connectonion/docs/quickstart.md +261 -0
  286. connectonion/docs/roadmap.md +81 -0
  287. connectonion/docs/templates/README.md +77 -0
  288. connectonion/docs/templates/meta-agent.md +152 -0
  289. connectonion/docs/templates/minimal.md +105 -0
  290. connectonion/docs/templates/playwright.md +130 -0
  291. connectonion/docs/templates/web-research.md +144 -0
  292. connectonion/docs/tui/README.md +95 -0
  293. connectonion/docs/tui/chat.md +181 -0
  294. connectonion/docs/tui/divider.md +63 -0
  295. connectonion/docs/tui/dropdown.md +83 -0
  296. connectonion/docs/tui/footer.md +44 -0
  297. connectonion/docs/tui/fuzzy.md +68 -0
  298. connectonion/docs/tui/input.md +84 -0
  299. connectonion/docs/tui/keys.md +77 -0
  300. connectonion/docs/tui/pick.md +71 -0
  301. connectonion/docs/tui/providers.md +89 -0
  302. connectonion/docs/tui/status_bar.md +67 -0
  303. connectonion/docs/useful_plugins/README.md +160 -0
  304. connectonion/docs/useful_plugins/calendar_plugin.md +68 -0
  305. connectonion/docs/useful_plugins/eval.md +89 -0
  306. connectonion/docs/useful_plugins/gmail_plugin.md +68 -0
  307. connectonion/docs/useful_plugins/image_result_formatter.md +74 -0
  308. connectonion/docs/useful_plugins/re_act.md +86 -0
  309. connectonion/docs/useful_plugins/shell_approval.md +69 -0
  310. connectonion/docs/useful_plugins/system_reminder.md +210 -0
  311. connectonion/docs/useful_plugins/tool_approval.md +139 -0
  312. connectonion/docs/useful_prompts/README.md +127 -0
  313. connectonion/docs/useful_prompts/coding_agent.md +214 -0
  314. connectonion/docs/useful_tools/README.md +81 -0
  315. connectonion/docs/useful_tools/ask_user.md +103 -0
  316. connectonion/docs/useful_tools/diff_writer.md +158 -0
  317. connectonion/docs/useful_tools/get_emails.md +519 -0
  318. connectonion/docs/useful_tools/gmail.md +155 -0
  319. connectonion/docs/useful_tools/google_calendar.md +126 -0
  320. connectonion/docs/useful_tools/memory.md +506 -0
  321. connectonion/docs/useful_tools/microsoft_calendar.md +126 -0
  322. connectonion/docs/useful_tools/outlook.md +140 -0
  323. connectonion/docs/useful_tools/send_email.md +423 -0
  324. connectonion/docs/useful_tools/shell.md +115 -0
  325. connectonion/docs/useful_tools/slash_command.md +116 -0
  326. connectonion/docs/useful_tools/terminal.md +115 -0
  327. connectonion/docs/useful_tools/todo_list.md +272 -0
  328. connectonion/docs/useful_tools/web_fetch.md +150 -0
  329. connectonion/docs/vibe-coding-guide.md +97 -0
  330. connectonion/docs/windows-support.md +258 -0
  331. connectonion/logger.py +3 -3
  332. connectonion/network/__init__.py +19 -6
  333. connectonion/network/asgi/__init__.py +81 -0
  334. connectonion/network/asgi/http.py +205 -0
  335. connectonion/network/asgi/websocket.py +217 -0
  336. connectonion/network/connect.py +232 -185
  337. connectonion/network/host/__init__.py +59 -0
  338. connectonion/network/host/auth.py +191 -0
  339. connectonion/network/host/routes.py +135 -0
  340. connectonion/network/host/server.py +289 -0
  341. connectonion/network/host/session.py +78 -0
  342. connectonion/network/io/__init__.py +21 -0
  343. connectonion/network/{connection.py → io/base.py} +17 -42
  344. connectonion/network/io/websocket.py +55 -0
  345. connectonion/network/relay.py +37 -16
  346. connectonion/network/trust/__init__.py +30 -0
  347. connectonion/network/trust/factory.py +138 -0
  348. connectonion/network/{trust_agents.py → trust/prompts.py} +3 -3
  349. connectonion/network/{trust_functions.py → trust/tools.py} +2 -2
  350. connectonion/prompt_files/__init__.py +11 -1
  351. connectonion/prompt_files/react_acknowledge.md +26 -0
  352. connectonion/prompts.py +10 -1
  353. connectonion/tui/chat.py +10 -1
  354. connectonion/tui/divider.py +10 -1
  355. connectonion/tui/dropdown.py +10 -1
  356. connectonion/tui/footer.py +8 -0
  357. connectonion/tui/fuzzy.py +11 -1
  358. connectonion/tui/input.py +118 -70
  359. connectonion/tui/keys.py +133 -6
  360. connectonion/tui/providers.py +11 -1
  361. connectonion/tui/status_bar.py +10 -1
  362. connectonion/useful_events_handlers/__init__.py +8 -0
  363. connectonion/useful_events_handlers/reflect.py +19 -4
  364. connectonion/useful_plugins/__init__.py +3 -1
  365. connectonion/useful_plugins/eval.py +2 -2
  366. connectonion/useful_plugins/gmail_plugin.py +3 -3
  367. connectonion/useful_plugins/image_result_formatter.py +3 -3
  368. connectonion/useful_plugins/re_act.py +114 -28
  369. connectonion/useful_plugins/shell_approval.py +2 -2
  370. connectonion/useful_plugins/system_reminder.py +103 -0
  371. connectonion/useful_plugins/tool_approval.py +233 -0
  372. connectonion/useful_plugins/ui_stream.py +18 -133
  373. connectonion/useful_prompts/README.md +61 -0
  374. connectonion/useful_prompts/__init__.py +45 -0
  375. connectonion/useful_prompts/coding_agent/README.md +106 -0
  376. connectonion/useful_prompts/coding_agent/assembler.py +123 -0
  377. connectonion/useful_prompts/coding_agent/prompts/main.md +227 -0
  378. connectonion/useful_prompts/coding_agent/prompts/tools/ask_user.md +61 -0
  379. connectonion/useful_prompts/coding_agent/prompts/tools/background.md +57 -0
  380. connectonion/useful_prompts/coding_agent/prompts/tools/edit.md +90 -0
  381. connectonion/useful_prompts/coding_agent/prompts/tools/glob.md +52 -0
  382. connectonion/useful_prompts/coding_agent/prompts/tools/grep.md +55 -0
  383. connectonion/useful_prompts/coding_agent/prompts/tools/plan_mode.md +80 -0
  384. connectonion/useful_prompts/coding_agent/prompts/tools/read.md +40 -0
  385. connectonion/useful_prompts/coding_agent/prompts/tools/shell.md +67 -0
  386. connectonion/useful_prompts/coding_agent/prompts/tools/task.md +51 -0
  387. connectonion/useful_prompts/coding_agent/prompts/tools/todo.md +139 -0
  388. connectonion/useful_prompts/coding_agent/prompts/tools/write.md +48 -0
  389. connectonion/useful_prompts/system-reminders/security-warning.md +14 -0
  390. connectonion/useful_prompts/system-reminders/test-reminder.md +11 -0
  391. connectonion/useful_tools/__init__.py +31 -4
  392. connectonion/useful_tools/ask_user.py +35 -0
  393. connectonion/useful_tools/bash.py +69 -0
  394. connectonion/useful_tools/diff_writer.py +186 -94
  395. connectonion/useful_tools/edit.py +102 -0
  396. connectonion/useful_tools/glob_files.py +97 -0
  397. connectonion/useful_tools/grep_files.py +171 -0
  398. connectonion/useful_tools/multi_edit.py +116 -0
  399. connectonion/useful_tools/read_file.py +73 -0
  400. connectonion/useful_tools/shell.py +50 -45
  401. connectonion/useful_tools/write_file.py +129 -0
  402. {connectonion-0.6.2.dist-info → connectonion-0.6.4.dist-info}/METADATA +10 -3
  403. connectonion-0.6.4.dist-info/RECORD +472 -0
  404. connectonion/network/asgi.py +0 -407
  405. connectonion/network/host.py +0 -616
  406. connectonion/network/trust.py +0 -166
  407. connectonion-0.6.2.dist-info/RECORD +0 -129
  408. /connectonion/cli/{docs → co_ai/prompts/connectonion}/connectonion.md +0 -0
  409. {connectonion-0.6.2.dist-info → connectonion-0.6.4.dist-info}/WHEEL +0 -0
  410. {connectonion-0.6.2.dist-info → connectonion-0.6.4.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,364 @@
1
+ # Hook System Design Options
2
+
3
+ Four different API styles for hooks in ConnectOnion.
4
+
5
+ > **Note:** This document is historical. The final API uses event wrappers (Option 2 style) with updated naming:
6
+ > - `before_each_tool` / `after_each_tool` - per-tool events
7
+ > - `before_tools` / `after_tools` - batch events (fire once per round)
8
+ >
9
+ > See [014-event-api-naming.md](./design-decisions/014-event-api-naming.md) for the rationale.
10
+
11
+ ---
12
+
13
+ ## Option 1: TypedDict Hooks
14
+
15
+ ```python
16
+ from connectonion import Agent, HookEvents
17
+
18
+ def log_tokens(data):
19
+ print(f"Tokens: {data['usage']['total_tokens']}")
20
+
21
+ def add_timestamp(data):
22
+ from datetime import datetime
23
+ data['messages'].append({
24
+ 'role': 'system',
25
+ 'content': f'Current time: {datetime.now()}'
26
+ })
27
+ return data
28
+
29
+ def cache_results(data):
30
+ cache[data['tool_name']] = data['result']
31
+ return data
32
+
33
+ agent = Agent(
34
+ "assistant",
35
+ tools=[search, analyze],
36
+
37
+ # ✨ TypedDict provides IDE autocomplete + type checking
38
+ on_event=dict(
39
+ before_llm=[add_timestamp],
40
+ after_llm=[log_tokens],
41
+ after_tool=[cache_results],
42
+ )
43
+ )
44
+
45
+ agent.input("Find Python info")
46
+ ```
47
+
48
+ **Type Definition (in connectonion):**
49
+ ```python
50
+ from typing import TypedDict, List, Callable
51
+
52
+ class HookEvents(TypedDict, total=False):
53
+ """Type-safe hook event configuration.
54
+
55
+ IDE will autocomplete event names and type checker will validate.
56
+ All fields are optional - only specify the events you need.
57
+ """
58
+ before_llm: List[Callable]
59
+ after_llm: List[Callable]
60
+ before_tool: List[Callable]
61
+ after_tool: List[Callable]
62
+ on_error: List[Callable]
63
+ ```
64
+
65
+ **With Type Annotation (for IDE hints):**
66
+ ```python
67
+ # Option A: Inline annotation
68
+ on_event: HookEvents = dict(
69
+ before_llm=[add_timestamp],
70
+ after_llm=[log_tokens] # ← IDE autocompletes event names!
71
+ )
72
+
73
+ # Option B: Without annotation (still works, less IDE help)
74
+ on_event=dict(
75
+ before_llm=[add_timestamp],
76
+ after_llm=[log_tokens]
77
+ )
78
+
79
+ agent = Agent("assistant", tools=[search], on_event=on_event)
80
+ ```
81
+
82
+ **Reusable across agents:**
83
+ ```python
84
+ from connectonion import HookEvents
85
+
86
+ common_hooks: HookEvents = dict(
87
+ after_llm=[log_tokens],
88
+ after_tool=[cache_results],
89
+ )
90
+
91
+ agent1 = Agent("assistant", tools=[search], on_event=common_hooks)
92
+ agent2 = Agent("analyst", tools=[analyze], on_event=common_hooks)
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Option 2: Event Wrappers
98
+
99
+ ```python
100
+ from connectonion import Agent, before_llm, after_llm, after_tool
101
+
102
+ def log_tokens(data):
103
+ print(f"Tokens: {data['usage']['total_tokens']}")
104
+
105
+ def add_timestamp(agent):
106
+ from datetime import datetime
107
+ agent.messages
108
+ data['messages'].append({
109
+ 'role': 'system',
110
+ 'content': f'Current time: {datetime.now()}'
111
+ })
112
+
113
+
114
+ def cache_results(data):
115
+ cache[data['tool_name']] = data['result']
116
+ return data
117
+
118
+ agent = Agent(
119
+ "assistant",
120
+ tools=[search, analyze],
121
+ hooks=[
122
+ before_llm(add_timestamp),
123
+ after_llm(log_tokens),
124
+ after_tool(cache_results),
125
+ ]
126
+ )
127
+
128
+ agent.input("Find Python info")
129
+ ```
130
+
131
+ **With lambdas:**
132
+ ```python
133
+ from connectonion import Agent, after_llm, after_tool
134
+
135
+ agent = Agent(
136
+ "assistant",
137
+ tools=[search],
138
+ on_event=[
139
+ after_llm(lambda d: print(f"Tokens: {d['usage']['total_tokens']}")),
140
+ after_tool(lambda d: cache.set(d['tool_name'], d['result'])),
141
+ ]
142
+ )
143
+ ```
144
+
145
+ **Import and use patterns:**
146
+ ```python
147
+ # connectonion/thinking.py
148
+ from connectonion import after_tool
149
+
150
+ def chain_of_thought():
151
+ def hook(data, agent):
152
+ thinking = agent.llm.complete([...])
153
+ agent.current_session['messages'].append({'role': 'assistant', 'content': thinking})
154
+ return after_tool(hook)
155
+
156
+ # User code
157
+ from connectonion import Agent
158
+ from connectonion.thinking import chain_of_thought
159
+
160
+ agent = Agent("assistant", tools=[search], on_event=[
161
+ chain_of_thought() # Just import and use!
162
+ ])
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Option 3: Decorator Pattern
168
+
169
+ ```python
170
+ from connectonion import Agent, hook
171
+
172
+ @hook('before_llm')
173
+ def add_timestamp(data):
174
+ from datetime import datetime
175
+ data['messages'].append({
176
+ 'role': 'system',
177
+ 'content': f'Current time: {datetime.now()}'
178
+ })
179
+ return data
180
+
181
+ @hook('after_llm')
182
+ def log_tokens(data):
183
+ print(f"Tokens: {data['usage']['total_tokens']}")
184
+
185
+ @hook('after_tool')
186
+ def cache_results(data):
187
+ cache[data['tool_name']] = data['result']
188
+ return data
189
+
190
+ # Pass decorated hooks to agent
191
+ agent = Agent(
192
+ "assistant",
193
+ tools=[search, analyze],
194
+ hooks=[add_timestamp, log_tokens, cache_results] # Decorated functions
195
+ )
196
+
197
+ agent.input("Find Python info")
198
+ ```
199
+
200
+ **Reusable module:**
201
+ ```python
202
+ # hooks.py
203
+ from connectonion import hook
204
+
205
+ @hook('before_llm')
206
+ def add_timestamp(data):
207
+ from datetime import datetime
208
+ data['messages'].append({'role': 'system', 'content': f'{datetime.now()}'})
209
+ return data
210
+
211
+ @hook('after_llm')
212
+ def log_tokens(data):
213
+ print(f"Tokens: {data['usage']['total_tokens']}")
214
+
215
+ # main.py
216
+ from connectonion import Agent
217
+ from .hooks import add_timestamp, log_tokens
218
+
219
+ agent = Agent(
220
+ "assistant",
221
+ tools=[search],
222
+ hooks=[add_timestamp, log_tokens] # Import and pass decorated hooks
223
+ )
224
+ ```
225
+
226
+ ---
227
+
228
+ ## Option 4: Event Emitter
229
+
230
+ ```python
231
+ from connectonion import Agent
232
+
233
+ agent = Agent("assistant", tools=[search])
234
+
235
+ # Simple lambda
236
+ agent.on('after_llm', lambda d: print(f"Tokens: {d['usage']['total_tokens']}"))
237
+
238
+ # Decorator syntax
239
+ @agent.on('before_llm')
240
+ def add_timestamp(data):
241
+ from datetime import datetime
242
+ data['messages'].append({
243
+ 'role': 'system',
244
+ 'content': f'Current time: {datetime.now()}'
245
+ })
246
+ return data
247
+
248
+ @agent.on('after_tool')
249
+ def cache_results(data):
250
+ cache[data['tool_name']] = data['result']
251
+ return data
252
+
253
+ agent.input("Find Python info")
254
+ ```
255
+
256
+ **Dynamic add/remove:**
257
+ ```python
258
+ agent = Agent("assistant", tools=[search])
259
+
260
+ # Add hook
261
+ agent.on('after_llm', log_tokens)
262
+
263
+ # Later... remove hook
264
+ agent.off('after_llm', log_tokens)
265
+ ```
266
+
267
+ ---
268
+
269
+ ## Common Use Cases
270
+
271
+ ### Cost Tracking
272
+
273
+ ```python
274
+ # Option 1: TypedDict
275
+ from connectonion import Agent, HookEvents
276
+
277
+ agent = Agent(
278
+ "assistant",
279
+ tools=[search],
280
+ on_event=dict(
281
+ after_llm=[lambda d: print(f"Cost: ${d['usage']['total_tokens'] * 0.00001:.4f}")]
282
+ )
283
+ )
284
+
285
+ # Option 2: Event Wrappers
286
+ from connectonion import after_llm
287
+ agent = Agent("assistant", tools=[search], on_event=[
288
+ after_llm(lambda d: print(f"Cost: ${d['usage']['total_tokens'] * 0.00001:.4f}"))
289
+ ])
290
+
291
+ # Option 3: Decorator
292
+ @hook('after_llm')
293
+ def track_cost(data):
294
+ print(f"Cost: ${data['usage']['total_tokens'] * 0.00001:.4f}")
295
+
296
+ # Option 4: Event Emitter
297
+ agent.on('after_llm', lambda d: print(f"Cost: ${d['usage']['total_tokens'] * 0.00001:.4f}"))
298
+ ```
299
+
300
+ ### Smart Caching
301
+
302
+ ```python
303
+ cache = {}
304
+
305
+ def cache_tool(data):
306
+ key = f"{data['tool_name']}:{hash(str(data['tool_args']))}"
307
+ cache[key] = data['result']
308
+ return data
309
+
310
+ # Option 1: TypedDict
311
+ agent = Agent("assistant", tools=[search], on_event=dict(after_tool=[cache_tool]))
312
+
313
+ # Option 2: Event Wrappers
314
+ agent = Agent("assistant", tools=[search], on_event=[after_tool(cache_tool)])
315
+
316
+ # Option 3: Decorator
317
+ @hook('after_tool')
318
+ def cache_tool(data): ...
319
+
320
+ # Option 4: Event Emitter
321
+ agent.on('after_tool', cache_tool)
322
+ ```
323
+
324
+ ### Custom Logging
325
+
326
+ ```python
327
+ # Option 1: TypedDict
328
+ agent = Agent(
329
+ "assistant",
330
+ tools=[search],
331
+ on_event=dict(
332
+ before_tool=[lambda d: logger.info(f"Tool: {d['tool_name']}")],
333
+ on_error=[lambda d: logger.error(f"Error: {d['error']}")]
334
+ )
335
+ )
336
+
337
+ # Option 2: Event Wrappers
338
+ from connectonion import before_tool, on_error
339
+ agent = Agent("assistant", tools=[search], on_event=[
340
+ before_tool(lambda d: logger.info(f"Tool: {d['tool_name']}")),
341
+ on_error(lambda d: logger.error(f"Error: {d['error']}"))
342
+ ])
343
+
344
+ # Option 3: Decorator
345
+ @hook('before_tool')
346
+ def log_tool(data):
347
+ logger.info(f"Tool: {data['tool_name']}")
348
+
349
+ @hook('on_error')
350
+ def log_error(data):
351
+ logger.error(f"Error: {data['error']}")
352
+
353
+ # Option 4: Event Emitter
354
+ agent.on('before_tool', lambda d: logger.info(f"Tool: {d['tool_name']}"))
355
+ agent.on('on_error', lambda d: logger.error(f"Error: {d['error']}"))
356
+ ```
357
+
358
+ ---
359
+
360
+ ## Vote
361
+
362
+ Which option do you prefer?
363
+
364
+ 👉 https://github.com/openonion/connectonion/issues/31
@@ -0,0 +1,162 @@
1
+ # ConnectOnion Framework
2
+
3
+ **Philosophy: "Keep simple things simple, make complicated things possible."**
4
+
5
+ ## Quick Start
6
+
7
+ ```python
8
+ from connectonion import Agent
9
+
10
+ agent = Agent("assistant", tools=[search, read_file, write_file])
11
+ result = agent.input("Research microservices and write a summary")
12
+ ```
13
+
14
+ ## API
15
+
16
+ ```python
17
+ agent = Agent(
18
+ name="my_bot", # Required: identifier
19
+ tools=[func1, func2], # Functions or class instances
20
+ system_prompt="You are helpful", # String or file path
21
+ model="co/gemini-2.5-pro", # Default model
22
+ max_iterations=10, # Tool call limit per task
23
+ plugins=[plugin1, plugin2], # Event handlers
24
+ )
25
+
26
+ result = agent.input("task") # Execute task
27
+ ```
28
+
29
+ ## CLI Commands
30
+
31
+ ```bash
32
+ co create <name> # Create new agent project
33
+ co init # Initialize in existing directory
34
+ co copy <tool> # Copy built-in tool to customize
35
+ co auth # Authenticate for managed keys
36
+ ```
37
+
38
+ ## Core Principles
39
+
40
+ 1. **Agent reasons, tools act** - Don't encode logic in tools
41
+ 2. **Atomic tools** - Small, single-purpose functions
42
+ 3. **Type hints required** - Agent needs them to understand parameters
43
+ 4. **Docstrings = descriptions** - First line becomes tool description
44
+ 5. **Start simple** - Add complexity only when needed
45
+
46
+ ---
47
+
48
+ ## Available Guides
49
+
50
+ Use `load_guide(path)` to load detailed documentation.
51
+
52
+ ### Core Concepts
53
+
54
+ | Guide | Description |
55
+ |-------|-------------|
56
+ | `concepts/agent` | Agent creation, conversations, iterations, lifecycle |
57
+ | `concepts/tools` | Function tools, class-based tools, schema generation |
58
+ | `concepts/plugins` | Reusable event handlers, custom plugins |
59
+ | `concepts/events` | Event system, lifecycle hooks (on_events) |
60
+ | `concepts/trust` | Bidirectional trust configuration |
61
+ | `concepts/models` | Supported models (OpenAI, Gemini, Claude) |
62
+ | `concepts/prompts` | System prompts, file format support |
63
+ | `concepts/max_iterations` | Iteration control and limits |
64
+ | `concepts/llm_do` | One-shot LLM calls with structured output |
65
+ | `concepts/transcribe` | Audio transcription with Gemini |
66
+
67
+ ### Built-in Tools
68
+
69
+ | Guide | Description |
70
+ |-------|-------------|
71
+ | `useful_tools/shell` | Shell command execution |
72
+ | `useful_tools/diff_writer` | Human-in-the-loop file writing with diffs |
73
+ | `useful_tools/todo_list` | Task tracking for multi-step tasks |
74
+ | `useful_tools/memory` | Persistent memory using markdown storage |
75
+ | `useful_tools/web_fetch` | Web fetching with single-responsibility functions |
76
+ | `useful_tools/gmail` | Gmail access for agents |
77
+ | `useful_tools/outlook` | Outlook access via Microsoft Graph |
78
+ | `useful_tools/google_calendar` | Google Calendar integration |
79
+ | `useful_tools/microsoft_calendar` | Microsoft Calendar integration |
80
+ | `useful_tools/terminal` | Selection menus, file browser, autocomplete |
81
+ | `useful_tools/slash_command` | Custom commands from markdown files |
82
+
83
+ ### Built-in Plugins
84
+
85
+ | Guide | Description |
86
+ |-------|-------------|
87
+ | `useful_plugins/re_act` | ReAct pattern - planning and reflection |
88
+ | `useful_plugins/eval` | Debug and test prompts during development |
89
+ | `useful_plugins/shell_approval` | User approval before shell commands |
90
+ | `useful_plugins/image_result_formatter` | Format base64 images for vision models |
91
+ | `useful_plugins/gmail_plugin` | Email approval and CRM sync |
92
+ | `useful_plugins/calendar_plugin` | Calendar operation approval |
93
+
94
+ ### CLI Reference
95
+
96
+ | Guide | Description |
97
+ |-------|-------------|
98
+ | `cli/create` | Create new projects with templates |
99
+ | `cli/init` | Initialize in existing directory |
100
+ | `cli/copy` | Copy tools and plugins to customize |
101
+ | `cli/auth` | Managed models authentication |
102
+ | `cli/browser` | Quick browser screenshots |
103
+
104
+ ### Debugging
105
+
106
+ | Guide | Description |
107
+ |-------|-------------|
108
+ | `debug/log` | Automatic activity logging |
109
+ | `debug/console` | Console output configuration |
110
+ | `debug/xray` | See what your agent is thinking |
111
+ | `debug/eval` | Run and manage agent evals |
112
+ | `debug/auto_debug` | Interactive debugging with breakpoints |
113
+ | `debug/exceptions` | AI-powered exception debugging |
114
+
115
+ ### Networking
116
+
117
+ | Guide | Description |
118
+ |-------|-------------|
119
+ | `network/host` | Make agent accessible over network |
120
+ | `network/connect` | Use remote agents as local |
121
+ | `network/deploy` | Deploy agent to production |
122
+ | `network/connection` | Client communication from hosted agents |
123
+
124
+ ### TUI Components
125
+
126
+ | Guide | Description |
127
+ |-------|-------------|
128
+ | `tui/chat` | Terminal chat interface for agents |
129
+ | `tui/input` | Text input with autocomplete |
130
+ | `tui/pick` | Single-select menu with keyboard nav |
131
+ | `tui/dropdown` | Selection list for autocomplete |
132
+ | `tui/status_bar` | Powerline-style status bar |
133
+
134
+ ### Templates
135
+
136
+ | Guide | Description |
137
+ |-------|-------------|
138
+ | `templates/minimal` | Simplest starting point |
139
+ | `templates/playwright` | Browser automation agent |
140
+ | `templates/web-research` | Research and data extraction |
141
+ | `templates/meta-agent` | Development assistant |
142
+
143
+ ### Integrations
144
+
145
+ | Guide | Description |
146
+ |-------|-------------|
147
+ | `integrations/auth` | Zero-config managed keys |
148
+ | `integrations/google` | Gmail and Google Calendar |
149
+ | `integrations/microsoft` | Outlook and Microsoft Calendar |
150
+
151
+ ### Reference
152
+
153
+ | Guide | Description |
154
+ |-------|-------------|
155
+ | `examples` | Copy-paste ready code examples |
156
+ | `quickstart` | 60-second quick start |
157
+ | `connectonion` | Complete API reference |
158
+ | `principles` | Documentation principles |
159
+
160
+ ---
161
+
162
+ **Load the relevant guide before writing complex ConnectOnion code.**
@@ -0,0 +1,12 @@
1
+ # Integrations
2
+
3
+ Connect ConnectOnion to external services.
4
+
5
+ ## Authentication
6
+
7
+ - [auth.md](auth.md) - Authentication with managed keys (`co auth`)
8
+
9
+ ## OAuth Integrations
10
+
11
+ - [google.md](google.md) - Google OAuth (Gmail, Calendar)
12
+ - [microsoft.md](microsoft.md) - Microsoft OAuth (Outlook, Calendar)