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
@@ -0,0 +1,57 @@
1
+ # Tool: Background Tasks
2
+
3
+ Run long-running commands in the background.
4
+
5
+ ## When to Use
6
+
7
+ - **Long builds** - `npm run build`, `cargo build`
8
+ - **Dev servers** - `npm run dev`, `python manage.py runserver`
9
+ - **Watch modes** - `npm run watch`, `pytest --watch`
10
+ - **Any command** that runs indefinitely or takes >30 seconds
11
+
12
+ ## When NOT to Use
13
+
14
+ - Quick commands (<30 seconds)
15
+ - Commands you need immediate results from
16
+ - One-off queries
17
+
18
+ ## Available Functions
19
+
20
+ | Function | Purpose |
21
+ |----------|---------|
22
+ | `run_background(cmd)` | Start a background task, returns task_id |
23
+ | `task_output(task_id)` | Get output from running task |
24
+ | `kill_task(task_id)` | Stop a background task |
25
+
26
+ ## Guidelines
27
+
28
+ - Save the task_id to check output later
29
+ - Use `task_output()` to monitor progress
30
+ - Remember to `kill_task()` when done with dev servers
31
+ - Background tasks persist until killed or session ends
32
+
33
+ ## Examples
34
+
35
+ <good-example>
36
+ # Start dev server
37
+ task_id = run_background("npm run dev")
38
+
39
+ # Check output later
40
+ output = task_output(task_id)
41
+
42
+ # Stop when done
43
+ kill_task(task_id)
44
+
45
+ # Long build
46
+ task_id = run_background("cargo build --release")
47
+ # Continue with other work...
48
+ output = task_output(task_id, block=True) # Wait for completion
49
+ </good-example>
50
+
51
+ <bad-example>
52
+ # Too quick - just run directly
53
+ run_background("ls")
54
+
55
+ # Need immediate result
56
+ run_background("git status") # Just run normally
57
+ </bad-example>
@@ -0,0 +1,90 @@
1
+ # Tool: Edit
2
+
3
+ Perform exact string replacements in existing files.
4
+
5
+ ## When to Use
6
+
7
+ - Modifying existing files
8
+ - Changing specific code sections
9
+ - Renaming variables or functions
10
+ - Updating configuration values
11
+
12
+ ## When NOT to Use
13
+
14
+ - Creating new files → use `write` instead
15
+ - Replacing entire file contents → use `write` instead
16
+ - Reading files → use `read` first
17
+
18
+ ## CRITICAL: Read Before Edit
19
+
20
+ **You MUST read a file before editing it.** This is a blocking requirement.
21
+
22
+ The Edit tool will fail if you haven't read the file first. Always:
23
+ 1. Read the file with `read`
24
+ 2. Understand the content and structure
25
+ 3. Then use `edit` for modifications
26
+
27
+ ## How It Works
28
+
29
+ The Edit tool performs **exact string replacement**:
30
+ - `old_string`: The exact text to find (must be unique in file)
31
+ - `new_string`: The replacement text
32
+ - `replace_all`: Set to `true` to replace all occurrences (useful for renaming)
33
+
34
+ ## Guidelines
35
+
36
+ ### Preserve Indentation
37
+ Copy the exact indentation from the Read output. The Read tool shows content with line numbers like:
38
+ ```
39
+ 42→ def my_function():
40
+ 43→ return True
41
+ ```
42
+ Everything AFTER the `→` is the actual file content. Match that indentation exactly.
43
+
44
+ ### Never Include Line Numbers
45
+ The line number prefix (e.g., ` 42→`) is NOT part of the file. Never include it in `old_string` or `new_string`.
46
+
47
+ ### Make old_string Unique
48
+ If `old_string` appears multiple times, the edit will fail. Include enough surrounding context to make it unique:
49
+
50
+ <bad-example>
51
+ old_string: "return True" # Too common, might match multiple places
52
+ </bad-example>
53
+
54
+ <good-example>
55
+ old_string: "def validate_user():\n return True" # Unique context
56
+ </good-example>
57
+
58
+ ### Use replace_all for Renaming
59
+ When renaming a variable or function across a file:
60
+ ```
61
+ old_string: "oldName"
62
+ new_string: "newName"
63
+ replace_all: true
64
+ ```
65
+
66
+ ### Prefer Edit Over Write
67
+ Always prefer editing existing files over creating new ones. Small, targeted changes are safer than full file rewrites.
68
+
69
+ ## Examples
70
+
71
+ <good-example>
72
+ # Read file first
73
+ [read file.py]
74
+
75
+ # Then edit with exact match
76
+ old_string: "def old_function():\n pass"
77
+ new_string: "def new_function():\n return 42"
78
+ </good-example>
79
+
80
+ <bad-example>
81
+ # Editing without reading first - WILL FAIL
82
+ [edit file.py without reading]
83
+
84
+ # Including line numbers - WRONG
85
+ old_string: " 42→ def my_func():"
86
+
87
+ # Changing indentation - breaks the code
88
+ old_string: " return True"
89
+ new_string: "return True" # Lost indentation
90
+ </bad-example>
@@ -0,0 +1,52 @@
1
+ # Tool: Glob
2
+
3
+ Fast file pattern matching for finding files by name.
4
+
5
+ ## When to Use
6
+
7
+ - Find files by name pattern: `**/*.py`, `src/**/*.ts`
8
+ - Locate specific file types across directories
9
+ - Quick file discovery before reading
10
+
11
+ ## When NOT to Use
12
+
13
+ - Searching file **contents** → use `grep` instead
14
+ - Reading file contents → use `read_file` instead
15
+ - Complex regex patterns → use `grep` instead
16
+
17
+ ## Pattern Syntax
18
+
19
+ | Pattern | Matches |
20
+ |---------|---------|
21
+ | `*.py` | Python files in current dir |
22
+ | `**/*.py` | Python files in all subdirs |
23
+ | `src/**/*.ts` | TypeScript files under src/ |
24
+ | `test_*.py` | Files starting with test_ |
25
+ | `*.{js,ts}` | JS or TS files |
26
+
27
+ ## Guidelines
28
+
29
+ - Returns file paths sorted by modification time (newest first)
30
+ - Use for broad file discovery, then `read_file` for specific content
31
+ - Prefer over bash `find` command
32
+
33
+ ## Examples
34
+
35
+ <good-example>
36
+ # Find all Python files
37
+ glob("**/*.py")
38
+
39
+ # Find test files
40
+ glob("**/test_*.py")
41
+
42
+ # Find config files
43
+ glob("**/*.{json,yaml,toml}")
44
+ </good-example>
45
+
46
+ <bad-example>
47
+ # Wrong: searching for content
48
+ glob("import pandas") # Use grep instead
49
+
50
+ # Wrong: too broad
51
+ glob("**/*") # Be more specific
52
+ </bad-example>
@@ -0,0 +1,55 @@
1
+ # Tool: Grep
2
+
3
+ Search file contents using regex patterns.
4
+
5
+ ## When to Use
6
+
7
+ - Search for code patterns: `def my_function`, `class MyClass`
8
+ - Find text across files
9
+ - Locate imports, function calls, variable usage
10
+ - Complex regex searches
11
+
12
+ ## When NOT to Use
13
+
14
+ - Finding files by name → use `glob` instead
15
+ - Reading entire file → use `read_file` instead
16
+ - Simple filename matching → use `glob` instead
17
+
18
+ ## Capabilities
19
+
20
+ - Full regex syntax support
21
+ - Filter by file type or glob pattern
22
+ - Multiple output modes:
23
+ - `files_with_matches` (default) - just file paths
24
+ - `content` - matching lines with context
25
+ - `count` - match counts per file
26
+
27
+ ## Guidelines
28
+
29
+ - Start broad, narrow down if needed
30
+ - Use with `-A`/`-B`/`-C` for context lines
31
+ - Prefer over bash `grep` or `rg` commands
32
+
33
+ ## Examples
34
+
35
+ <good-example>
36
+ # Find function definition
37
+ grep("def process_data")
38
+
39
+ # Find class with context
40
+ grep("class UserAuth", output_mode="content", C=3)
41
+
42
+ # Find all imports of a module
43
+ grep("from requests import", type="py")
44
+
45
+ # Find TODO comments
46
+ grep("TODO|FIXME", glob="**/*.py")
47
+ </good-example>
48
+
49
+ <bad-example>
50
+ # Wrong: use glob for filename patterns
51
+ grep("*.py") # Use glob instead
52
+
53
+ # Wrong: too broad, will match too much
54
+ grep("the") # Be more specific
55
+ </bad-example>
@@ -0,0 +1,80 @@
1
+ # Tool: Plan Mode
2
+
3
+ Enter read-only planning phase to design implementation before coding.
4
+
5
+ ## When to Use
6
+
7
+ - **New feature implementation** - needs design decisions
8
+ - **Multiple valid approaches** - need to evaluate options
9
+ - **Architectural decisions** - choosing patterns or technologies
10
+ - **Multi-file changes** - touching more than 2-3 files
11
+ - **Unclear requirements** - need to explore before understanding scope
12
+
13
+ ## When NOT to Use
14
+
15
+ - Simple single-line fixes (typos, obvious bugs)
16
+ - Adding a single function with clear requirements
17
+ - User gave very specific, detailed instructions
18
+ - Pure research tasks (use explore agent instead)
19
+
20
+ ## How It Works
21
+
22
+ 1. **Enter plan mode** with `enter_plan_mode()`
23
+ 2. **Explore codebase** using glob, grep, read_file (read-only)
24
+ 3. **Write plan** to `.co/PLAN.md` with `write_plan()`
25
+ 4. **Exit plan mode** with `exit_plan_mode()` when ready
26
+
27
+ ## READ-ONLY Restrictions
28
+
29
+ In plan mode, you can ONLY:
30
+ - Use glob, grep, read_file to explore
31
+ - Write to the plan file
32
+ - Ask user questions
33
+
34
+ You CANNOT:
35
+ - Modify any code files
36
+ - Create new files
37
+ - Run commands that change state
38
+
39
+ ## Plan File Format
40
+
41
+ ```markdown
42
+ # Implementation Plan
43
+
44
+ ## Goal
45
+ What we're trying to accomplish
46
+
47
+ ## Approach
48
+ 1. Step one
49
+ 2. Step two
50
+ 3. Step three
51
+
52
+ ## Files to Modify
53
+ - src/auth.py - Add new handler
54
+ - tests/test_auth.py - Add tests
55
+
56
+ ## Questions
57
+ - Any clarifications needed?
58
+ ```
59
+
60
+ ## Examples
61
+
62
+ <good-example>
63
+ # Complex feature needs planning
64
+ User: "Add user authentication"
65
+ → Enter plan mode, explore codebase, design approach
66
+
67
+ # Multiple approaches possible
68
+ User: "Optimize the database queries"
69
+ → Plan to profile and identify bottlenecks first
70
+ </good-example>
71
+
72
+ <bad-example>
73
+ # Too simple for planning
74
+ User: "Fix the typo in README"
75
+ → Just fix it directly
76
+
77
+ # User gave specific instructions
78
+ User: "Add console.log to line 42 of auth.py"
79
+ → Just do it, no planning needed
80
+ </bad-example>
@@ -0,0 +1,40 @@
1
+ # Tool: Read File
2
+
3
+ Read file contents before making any modifications.
4
+
5
+ ## When to Use
6
+
7
+ - **Always** before modifying an existing file
8
+ - Understanding code patterns and conventions
9
+ - Checking what libraries/dependencies exist
10
+ - Understanding imports and surrounding code
11
+
12
+ ## Capabilities
13
+
14
+ - Reads any file type (code, config, images, PDFs)
15
+ - Returns content with line numbers (1-indexed)
16
+ - Default: first 2000 lines
17
+ - Use `offset` and `limit` for large files
18
+
19
+ ## Guidelines
20
+
21
+ - Read the file BEFORE suggesting any changes
22
+ - Look at imports to understand dependencies
23
+ - Check for existing patterns in the codebase
24
+ - Read related files to understand context
25
+
26
+ ## Examples
27
+
28
+ <good-example>
29
+ # Before editing auth.py, read it first
30
+ read_file("src/auth.py")
31
+
32
+ # Check dependencies before adding imports
33
+ read_file("requirements.txt")
34
+ read_file("package.json")
35
+ </good-example>
36
+
37
+ <bad-example>
38
+ # Don't modify without reading first
39
+ write("src/auth.py", "new content") # Never do this!
40
+ </bad-example>
@@ -0,0 +1,67 @@
1
+ # Tool: Shell
2
+
3
+ Execute terminal commands in a persistent shell session.
4
+
5
+ ## When to Use
6
+
7
+ - Git operations: `git status`, `git add`, `git commit`, `git push`
8
+ - Package management: `npm install`, `pip install`, `cargo build`
9
+ - Running tests: `pytest`, `npm test`, `cargo test`
10
+ - Directory operations: `ls`, `mkdir`, `tree`
11
+ - Build commands: `npm run build`, `make`
12
+ - Any other shell command
13
+
14
+ ## When NOT to Use
15
+
16
+ - Reading file contents → use `${READ_FILE_TOOL_NAME or "read_file"}` instead
17
+ - Writing files → use `${WRITE_TOOL_NAME or "write"}` instead
18
+ - Searching file contents → use `${GREP_TOOL_NAME or "grep"}` instead
19
+
20
+ ## Guidelines
21
+
22
+ - Use absolute paths when possible to avoid `cd` confusion
23
+ - Chain dependent commands with `&&`: `git add . && git commit -m "msg"`
24
+ - Output is truncated at ${MAX_OUTPUT_CHARS or "30000"} characters
25
+ - Default timeout: ${TIMEOUT_SECONDS or "120"} seconds
26
+
27
+ ### Path Quoting (REQUIRED)
28
+ Always quote paths with spaces using double quotes:
29
+ ```bash
30
+ cd "/Users/name/My Documents" # Correct
31
+ python "/path/with spaces/run.py" # Correct
32
+ cd /Users/name/My Documents # WRONG - will fail
33
+ ```
34
+
35
+ ### Directory Verification
36
+ Before creating files/directories, verify the parent exists:
37
+ ```bash
38
+ ls /foo # Verify /foo exists
39
+ mkdir /foo/bar # Now safe to create
40
+ ```
41
+
42
+ ### Parallel vs Sequential
43
+ - **Independent commands**: Call tool multiple times in parallel
44
+ - **Dependent commands**: Chain with `&&` in single call
45
+ ```bash
46
+ # Sequential (dependent)
47
+ git add . && git commit -m "msg" && git push
48
+
49
+ # Parallel (independent) - use separate tool calls
50
+ [git status] [git diff] [git log]
51
+ ```
52
+
53
+ ## Examples
54
+
55
+ <good-example>
56
+ pytest /foo/bar/tests
57
+ git status
58
+ npm run build
59
+ cd "/path/with spaces" && ls
60
+ </good-example>
61
+
62
+ <bad-example>
63
+ cat file.txt # Use ${READ_FILE_TOOL_NAME or "read_file"} instead
64
+ echo "content" > file # Use ${WRITE_TOOL_NAME or "write"} instead
65
+ cd /foo && pytest # Use absolute path instead
66
+ cd /path/with spaces # Missing quotes - will fail
67
+ </bad-example>
@@ -0,0 +1,51 @@
1
+ # Tool: Task
2
+
3
+ Launch specialized sub-agents for complex investigations.
4
+
5
+ ## When to Use
6
+
7
+ - **Codebase exploration** - "Find all API endpoints"
8
+ - **Multi-file analysis** - "How does auth work?"
9
+ - **Architecture questions** - "What's the project structure?"
10
+ - **Complex searches** requiring multiple rounds of glob/grep
11
+
12
+ ## When NOT to Use
13
+
14
+ - Simple file reads → use `read_file` instead
15
+ - Specific known file → use `read_file` instead
16
+ - Quick single search → use `glob` or `grep` directly
17
+
18
+ ## Available Agents
19
+
20
+ | Agent | Purpose |
21
+ |-------|---------|
22
+ | `explore` | Fast codebase navigation and search |
23
+ | `plan` | Design implementation approach |
24
+
25
+ ## Guidelines
26
+
27
+ - Use explore agent for open-ended codebase questions
28
+ - Provide clear, specific task descriptions
29
+ - Let the agent work autonomously - it has its own tools
30
+ - Trust the agent's findings
31
+
32
+ ## Examples
33
+
34
+ <good-example>
35
+ # Explore codebase structure
36
+ task("explore", "Find all API endpoints and their handlers")
37
+
38
+ # Understand a feature
39
+ task("explore", "How does the authentication system work?")
40
+
41
+ # Search for patterns
42
+ task("explore", "Find all database queries and their locations")
43
+ </good-example>
44
+
45
+ <bad-example>
46
+ # Too simple - just use grep directly
47
+ task("explore", "Find class MyClass")
48
+
49
+ # Specific file - just read it
50
+ task("explore", "Read src/auth.py")
51
+ </bad-example>
@@ -0,0 +1,139 @@
1
+ # Tool: Todo List
2
+
3
+ Track tasks and progress for complex multi-step work. Helps users understand your progress.
4
+
5
+ ## When to Use
6
+
7
+ Use this tool proactively when:
8
+ 1. **Complex multi-step tasks** - 3 or more distinct steps
9
+ 2. **User provides multiple tasks** - numbered or comma-separated list
10
+ 3. **Non-trivial work** - requires careful planning
11
+ 4. **After receiving new instructions** - capture requirements immediately
12
+ 5. **When starting work** - mark as `in_progress` BEFORE beginning
13
+
14
+ ## When NOT to Use
15
+
16
+ Skip this tool when:
17
+ 1. Single, straightforward task
18
+ 2. Trivial operations (fix typo, add one line)
19
+ 3. Task can be completed in less than 3 trivial steps
20
+ 4. Pure Q&A or informational requests
21
+
22
+ ## Task Format (REQUIRED)
23
+
24
+ Each task MUST have two forms:
25
+ - **content**: Imperative form ("Run tests", "Fix the bug")
26
+ - **activeForm**: Present continuous ("Running tests", "Fixing the bug")
27
+
28
+ ```json
29
+ {
30
+ "content": "Run tests",
31
+ "activeForm": "Running tests",
32
+ "status": "pending"
33
+ }
34
+ ```
35
+
36
+ ## Task States
37
+
38
+ - `pending` - Not yet started
39
+ - `in_progress` - Currently working (exactly ONE at a time)
40
+ - `completed` - Finished successfully
41
+
42
+ ## Strict Rules
43
+
44
+ 1. **Exactly ONE task in_progress** at any time (not less, not more)
45
+ 2. **Mark complete IMMEDIATELY** after finishing (don't batch)
46
+ 3. **Only complete when FULLY done** - never if:
47
+ - Tests are failing
48
+ - Implementation is partial
49
+ - Errors are unresolved
50
+ 4. **If blocked**: Keep in_progress and create a new task for the blocker
51
+
52
+ ## Examples: When to Use
53
+
54
+ <example>
55
+ User: "Add dark mode toggle and run tests when done"
56
+
57
+ Assistant creates todo list:
58
+ 1. Read existing settings page code
59
+ 2. Add dark mode toggle component
60
+ 3. Add dark mode state management
61
+ 4. Update styles for dark theme
62
+ 5. Run tests and fix any failures
63
+
64
+ <reasoning>
65
+ Used todo list because:
66
+ 1. Multi-step feature (UI, state, styling)
67
+ 2. User explicitly requested tests afterward
68
+ 3. Inferred tests need to pass as final step
69
+ </reasoning>
70
+ </example>
71
+
72
+ <example>
73
+ User: "Rename getCwd to getCurrentWorkingDirectory across the project"
74
+
75
+ Assistant first searches codebase, finds 15 instances in 8 files.
76
+ Then creates todo list with specific items for each file.
77
+
78
+ <reasoning>
79
+ Used todo list because:
80
+ 1. First searched to understand scope
81
+ 2. Found multiple occurrences across files
82
+ 3. Todo ensures every instance is tracked
83
+ 4. Prevents missing any occurrences
84
+ </reasoning>
85
+ </example>
86
+
87
+ <example>
88
+ User: "Implement user registration, product catalog, shopping cart, and checkout"
89
+
90
+ Assistant creates todo list breaking down each feature.
91
+
92
+ <reasoning>
93
+ Used todo list because:
94
+ 1. User provided multiple complex features
95
+ 2. Organizes large work into manageable tasks
96
+ 3. Allows tracking progress across implementation
97
+ </reasoning>
98
+ </example>
99
+
100
+ ## Examples: When NOT to Use
101
+
102
+ <example>
103
+ User: "How do I print 'Hello World' in Python?"
104
+
105
+ Assistant answers directly without todo list.
106
+
107
+ <reasoning>
108
+ Did NOT use todo list because:
109
+ - Single, trivial task
110
+ - No multiple steps to track
111
+ - Just informational
112
+ </reasoning>
113
+ </example>
114
+
115
+ <example>
116
+ User: "Fix the typo in README"
117
+
118
+ Assistant fixes it directly without todo list.
119
+
120
+ <reasoning>
121
+ Did NOT use todo list because:
122
+ - Single straightforward task
123
+ - One location in code
124
+ - No tracking needed
125
+ </reasoning>
126
+ </example>
127
+
128
+ <example>
129
+ User: "Run npm install"
130
+
131
+ Assistant runs command directly.
132
+
133
+ <reasoning>
134
+ Did NOT use todo list because:
135
+ - Single command execution
136
+ - Immediate results
137
+ - No multiple steps
138
+ </reasoning>
139
+ </example>
@@ -0,0 +1,47 @@
1
+ # Tool: Write File
2
+
3
+ Write files with colorized diff display and user approval.
4
+
5
+ ## Approval Flow
6
+
7
+ ```
8
+ ╭─── Changes to hello.py ────────────────────────╮
9
+ │ --- a/hello.py │
10
+ │ +++ b/hello.py │
11
+ │ @@ -1,2 +1,3 @@ │
12
+ │ def hello(): │
13
+ │ - pass │
14
+ │ + print("Hello, World!") │
15
+ ╰────────────────────────────────────────────────╯
16
+
17
+ ❯ 1 - Yes, apply this change
18
+ 2 - Yes to all (auto-approve for session)
19
+ 3 - No, and tell agent what to do instead
20
+ ```
21
+
22
+ ## Guidelines
23
+
24
+ - **Always read the file first** before writing
25
+ - Creates parent directories automatically if needed
26
+ - Returns byte count on success
27
+ - If rejected, user feedback is returned for you to retry
28
+
29
+ ## Best Practices
30
+
31
+ - Match existing code style exactly
32
+ - Keep changes minimal and focused
33
+ - Don't add comments unless asked
34
+ - Don't refactor unrelated code
35
+
36
+ ## Examples
37
+
38
+ <good-example>
39
+ # BOTH path and content are REQUIRED
40
+ write(path="/tmp/agent.py", content="from connectonion import Agent\n...")
41
+ write(path="src/utils.py", content="def helper(): ...")
42
+ </good-example>
43
+
44
+ <bad-example>
45
+ # Missing content - will error
46
+ write(path="/tmp/agent.py") # WRONG: missing content!
47
+ </bad-example>