connectonion 0.6.1__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.
- connectonion/__init__.py +46 -9
- connectonion/cli/__init__.py +11 -1
- connectonion/cli/browser_agent/__init__.py +11 -1
- connectonion/cli/browser_agent/browser.py +95 -142
- connectonion/cli/browser_agent/element_finder.py +147 -0
- connectonion/cli/browser_agent/highlight_screenshot.py +182 -0
- connectonion/cli/browser_agent/prompt.md +188 -105
- connectonion/cli/browser_agent/prompts/element_matcher.md +59 -0
- connectonion/cli/browser_agent/prompts/form_filler.md +19 -0
- connectonion/cli/browser_agent/prompts/scroll_strategy.md +36 -0
- connectonion/cli/browser_agent/scripts/extract_elements.js +126 -0
- connectonion/cli/browser_agent/scroll.py +145 -0
- connectonion/cli/co_ai/__init__.py +6 -0
- connectonion/cli/co_ai/agent.py +87 -0
- connectonion/cli/co_ai/agents/__init__.py +5 -0
- connectonion/cli/co_ai/agents/registry.py +57 -0
- connectonion/cli/co_ai/commands/__init__.py +45 -0
- connectonion/cli/co_ai/commands/compact.py +173 -0
- connectonion/cli/co_ai/commands/cost.py +77 -0
- connectonion/cli/co_ai/commands/export.py +60 -0
- connectonion/cli/co_ai/commands/help.py +80 -0
- connectonion/cli/co_ai/commands/init.py +101 -0
- connectonion/cli/co_ai/commands/sessions.py +55 -0
- connectonion/cli/co_ai/commands/tasks.py +63 -0
- connectonion/cli/co_ai/commands/undo.py +103 -0
- connectonion/cli/co_ai/context.py +127 -0
- connectonion/cli/co_ai/main.py +52 -0
- connectonion/cli/co_ai/plugins/__init__.py +6 -0
- connectonion/cli/co_ai/plugins/reminder.py +76 -0
- connectonion/cli/co_ai/plugins/shell_approval.py +105 -0
- connectonion/cli/co_ai/prompts/agents/explore.md +79 -0
- connectonion/cli/co_ai/prompts/agents/plan.md +60 -0
- connectonion/cli/co_ai/prompts/assembler.py +303 -0
- connectonion/cli/{docs/co-vibecoding-principles-docs-contexts-all-in-one.md → co_ai/prompts/connectonion/README.md} +26 -0
- connectonion/cli/co_ai/prompts/connectonion/api.md +457 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/README.md +805 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/auth.md +46 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/browser.md +235 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/copy.md +184 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/create.md +335 -0
- connectonion/cli/co_ai/prompts/connectonion/cli/init.md +431 -0
- connectonion/cli/co_ai/prompts/connectonion/co-directory-structure.md +214 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/agent.md +1078 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/events.md +816 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/llm_do.md +256 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/max_iterations.md +362 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/models.md +641 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/plugins.md +100 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/prompts.md +122 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/tools.md +512 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/transcribe.md +156 -0
- connectonion/cli/co_ai/prompts/connectonion/concepts/trust.md +291 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/README.md +18 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/auto_debug.md +1026 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/console.md +129 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/eval-format.md +178 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/eval.md +230 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/exceptions.md +307 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/log.md +117 -0
- connectonion/cli/co_ai/prompts/connectonion/debug/xray.md +215 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/001-choosing-input-method.md +202 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/002-choosing-llm-function-name.md +202 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/003-choosing-trust-keyword.md +141 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/004-cli-create-flow.md +117 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/005-designing-agent-network-protocol.md +503 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/006-agent-address-format.md +305 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/007-authentication-backend-design.md +240 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/008-naming-is-hard.md +228 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/009-why-connect-function.md +167 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/011-global-config-identity-management.md +357 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/012-tool-execution-separation.md +259 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/013-debug-and-logging-design.md +253 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/014-hook-system-design.md +510 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/015-interactive-auto-debug-design.md +837 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/017-session-logging-and-eval-format.md +120 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/018-event-api-naming.md +274 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/019-agent-lifecycle-design.md +655 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/020-trust-system-and-network-architecture.md +503 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/021-task-storage-jsonl-design.md +496 -0
- connectonion/cli/co_ai/prompts/connectonion/design-decisions/022-raw-asgi-implementation.md +273 -0
- connectonion/cli/co_ai/prompts/connectonion/examples/agent_reasoning.md +62 -0
- connectonion/cli/co_ai/prompts/connectonion/examples/atomic_tools.md +24 -0
- connectonion/cli/co_ai/prompts/connectonion/examples/load_guide.md +18 -0
- connectonion/cli/co_ai/prompts/connectonion/examples.md +0 -0
- connectonion/cli/co_ai/prompts/connectonion/hook-system-options.md +364 -0
- connectonion/cli/co_ai/prompts/connectonion/index.md +162 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/README.md +12 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/auth.md +450 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/google.md +431 -0
- connectonion/cli/co_ai/prompts/connectonion/integrations/microsoft.md +370 -0
- connectonion/cli/co_ai/prompts/connectonion/network/README.md +14 -0
- connectonion/cli/co_ai/prompts/connectonion/network/connect.md +543 -0
- connectonion/cli/co_ai/prompts/connectonion/network/connection.md +538 -0
- connectonion/cli/co_ai/prompts/connectonion/network/deploy.md +123 -0
- connectonion/cli/co_ai/prompts/connectonion/network/host.md +1049 -0
- connectonion/cli/co_ai/prompts/connectonion/network/protocol/agent-relay-protocol.md +495 -0
- connectonion/cli/co_ai/prompts/connectonion/network/protocol/announce-message.md +115 -0
- connectonion/cli/co_ai/prompts/connectonion/principles.md +124 -0
- connectonion/cli/co_ai/prompts/connectonion/quickstart.md +261 -0
- connectonion/cli/co_ai/prompts/connectonion/roadmap.md +81 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/README.md +77 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/meta-agent.md +152 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/minimal.md +105 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/playwright.md +130 -0
- connectonion/cli/co_ai/prompts/connectonion/templates/web-research.md +144 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/README.md +95 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/chat.md +181 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/divider.md +63 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/dropdown.md +83 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/footer.md +44 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/fuzzy.md +68 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/input.md +84 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/keys.md +77 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/pick.md +71 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/providers.md +89 -0
- connectonion/cli/co_ai/prompts/connectonion/tui/status_bar.md +67 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/README.md +156 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/calendar_plugin.md +68 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/eval.md +89 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/gmail_plugin.md +68 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/image_result_formatter.md +74 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/re_act.md +86 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_plugins/shell_approval.md +69 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/README.md +81 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/diff_writer.md +138 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/get_emails.md +499 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/gmail.md +135 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/google_calendar.md +106 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/memory.md +486 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/microsoft_calendar.md +106 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/outlook.md +120 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/send_email.md +403 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/shell.md +95 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/slash_command.md +96 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/terminal.md +97 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/todo_list.md +252 -0
- connectonion/cli/co_ai/prompts/connectonion/useful_tools/web_fetch.md +130 -0
- connectonion/cli/co_ai/prompts/connectonion/vibe-coding-guide.md +97 -0
- connectonion/cli/co_ai/prompts/connectonion/windows-support.md +258 -0
- connectonion/cli/co_ai/prompts/main.md +247 -0
- connectonion/cli/co_ai/prompts/reminders/plan_mode.md +34 -0
- connectonion/cli/co_ai/prompts/summarization.md +55 -0
- connectonion/cli/co_ai/prompts/tools/ask_user.md +61 -0
- connectonion/cli/co_ai/prompts/tools/background.md +57 -0
- connectonion/cli/co_ai/prompts/tools/edit.md +90 -0
- connectonion/cli/co_ai/prompts/tools/glob.md +52 -0
- connectonion/cli/co_ai/prompts/tools/grep.md +55 -0
- connectonion/cli/co_ai/prompts/tools/plan_mode.md +80 -0
- connectonion/cli/co_ai/prompts/tools/read.md +40 -0
- connectonion/cli/co_ai/prompts/tools/shell.md +67 -0
- connectonion/cli/co_ai/prompts/tools/task.md +51 -0
- connectonion/cli/co_ai/prompts/tools/todo.md +139 -0
- connectonion/cli/co_ai/prompts/tools/write.md +47 -0
- connectonion/cli/co_ai/prompts/workflow.md +89 -0
- connectonion/cli/co_ai/reminders.py +159 -0
- connectonion/cli/co_ai/sessions.py +110 -0
- connectonion/cli/co_ai/skills/__init__.py +37 -0
- connectonion/cli/co_ai/skills/builtin/commit/SKILL.md +63 -0
- connectonion/cli/co_ai/skills/builtin/review-pr/SKILL.md +76 -0
- connectonion/cli/co_ai/skills/loader.py +166 -0
- connectonion/cli/co_ai/skills/tool.py +46 -0
- connectonion/cli/co_ai/tools/__init__.py +92 -0
- connectonion/cli/co_ai/tools/ask_user.py +35 -0
- connectonion/cli/co_ai/tools/background.py +201 -0
- connectonion/cli/co_ai/tools/diff_writer.py +291 -0
- connectonion/cli/co_ai/tools/edit.py +89 -0
- connectonion/cli/co_ai/tools/glob.py +84 -0
- connectonion/cli/co_ai/tools/grep.py +158 -0
- connectonion/cli/co_ai/tools/load_guide.py +23 -0
- connectonion/cli/co_ai/tools/multi_edit.py +116 -0
- connectonion/cli/co_ai/tools/plan_mode.py +172 -0
- connectonion/cli/co_ai/tools/read.py +67 -0
- connectonion/cli/co_ai/tools/task.py +59 -0
- connectonion/cli/co_ai/tools/todo_list.py +159 -0
- connectonion/cli/co_ai/tools/write.py +126 -0
- connectonion/cli/commands/__init__.py +11 -1
- connectonion/cli/commands/ai_commands.py +34 -0
- connectonion/cli/commands/copy_commands.py +55 -6
- connectonion/cli/commands/create.py +20 -17
- connectonion/cli/commands/init.py +19 -22
- connectonion/cli/commands/project_cmd_lib.py +15 -0
- connectonion/cli/main.py +11 -0
- connectonion/console.py +15 -1
- connectonion/core/__init__.py +10 -1
- connectonion/core/agent.py +37 -16
- connectonion/core/exceptions.py +74 -0
- connectonion/core/llm.py +54 -6
- connectonion/core/tool_executor.py +32 -31
- connectonion/core/tool_factory.py +47 -10
- connectonion/debug/__init__.py +10 -1
- connectonion/debug/debug_explainer/__init__.py +10 -1
- connectonion/debug/execution_analyzer/__init__.py +10 -1
- connectonion/debug/execution_analyzer/execution_analysis.py +5 -2
- connectonion/debug/runtime_inspector/__init__.py +10 -1
- connectonion/docs/.package-ignore +6 -0
- connectonion/docs/README.md +2036 -0
- connectonion/docs/api.md +457 -0
- connectonion/docs/archive/001-ai-agent-is-just-prompt-plus-function.md +249 -0
- connectonion/docs/archive/README.md +53 -0
- connectonion/docs/archive/archive/consolidation-plan.md +72 -0
- connectonion/docs/archive/archive/core-principles-extracted.md +239 -0
- connectonion/docs/archive/archive/master-principles.md +222 -0
- connectonion/docs/archive/archive/principles.md +293 -0
- connectonion/docs/archive/archive/simplicity-principles.md +221 -0
- connectonion/docs/archive/attack-defense-insights.md +410 -0
- connectonion/docs/archive/business-model.md +305 -0
- connectonion/docs/archive/core-principles-unified.md +190 -0
- connectonion/docs/archive/discussion-journey.md +178 -0
- connectonion/docs/archive/economic-analysis.md +323 -0
- connectonion/docs/archive/features/01-share-and-find.md +256 -0
- connectonion/docs/archive/features/02-agent-authentication.md +93 -0
- connectonion/docs/archive/features/03-test-before-trust.md +71 -0
- connectonion/docs/archive/features/06-reliability-and-offline.md +197 -0
- connectonion/docs/archive/features/README.md +46 -0
- connectonion/docs/archive/features-roadmap.md +247 -0
- connectonion/docs/archive/mcp-comparison-insights.md +215 -0
- connectonion/docs/archive/migration-strategy.md +571 -0
- connectonion/docs/archive/mini-whitepaper.md +293 -0
- connectonion/docs/archive/network-protocol.md +394 -0
- connectonion/docs/archive/semantic-revolution.md +367 -0
- connectonion/docs/archive/technical-architecture.md +453 -0
- connectonion/docs/archive/the-semantic-insight.md +207 -0
- connectonion/docs/archive/threat-model.md +164 -0
- connectonion/docs/cli/README.md +805 -0
- connectonion/docs/cli/auth.md +46 -0
- connectonion/docs/cli/browser.md +235 -0
- connectonion/docs/cli/copy.md +232 -0
- connectonion/docs/cli/create.md +335 -0
- connectonion/docs/cli/init.md +431 -0
- connectonion/docs/co-directory-structure.md +214 -0
- connectonion/docs/concepts/agent.md +1078 -0
- connectonion/docs/concepts/events.md +699 -0
- connectonion/docs/concepts/llm_do.md +256 -0
- connectonion/docs/concepts/max_iterations.md +362 -0
- connectonion/docs/concepts/models.md +641 -0
- connectonion/docs/concepts/plugins.md +100 -0
- connectonion/docs/concepts/prompts.md +122 -0
- connectonion/docs/concepts/session.md +428 -0
- connectonion/docs/concepts/tools.md +512 -0
- connectonion/docs/concepts/transcribe.md +156 -0
- connectonion/docs/concepts/trust.md +291 -0
- connectonion/docs/connectonion.md +1256 -0
- connectonion/docs/debug/README.md +18 -0
- connectonion/docs/debug/auto_debug.md +1026 -0
- connectonion/docs/debug/console.md +129 -0
- connectonion/docs/debug/eval-format.md +178 -0
- connectonion/docs/debug/eval.md +230 -0
- connectonion/docs/debug/exceptions.md +307 -0
- connectonion/docs/debug/log.md +117 -0
- connectonion/docs/debug/xray.md +215 -0
- connectonion/docs/design-decisions/001-choosing-input-method.md +202 -0
- connectonion/docs/design-decisions/002-choosing-llm-function-name.md +202 -0
- connectonion/docs/design-decisions/003-choosing-trust-keyword.md +141 -0
- connectonion/docs/design-decisions/004-cli-create-flow.md +117 -0
- connectonion/docs/design-decisions/005-designing-agent-network-protocol.md +503 -0
- connectonion/docs/design-decisions/006-agent-address-format.md +305 -0
- connectonion/docs/design-decisions/007-authentication-backend-design.md +240 -0
- connectonion/docs/design-decisions/008-naming-is-hard.md +228 -0
- connectonion/docs/design-decisions/009-why-connect-function.md +167 -0
- connectonion/docs/design-decisions/010-cli-ux-progressive-disclosure.md +176 -0
- connectonion/docs/design-decisions/011-global-config-identity-management.md +357 -0
- connectonion/docs/design-decisions/012-tool-execution-separation.md +259 -0
- connectonion/docs/design-decisions/013-debug-and-logging-design.md +253 -0
- connectonion/docs/design-decisions/014-hook-system-design.md +510 -0
- connectonion/docs/design-decisions/015-interactive-auto-debug-design.md +837 -0
- connectonion/docs/design-decisions/016-why-no-zero-knowledge-proofs.md +358 -0
- connectonion/docs/design-decisions/017-session-logging-and-eval-format.md +120 -0
- connectonion/docs/design-decisions/018-event-api-naming.md +274 -0
- connectonion/docs/design-decisions/019-agent-lifecycle-design.md +655 -0
- connectonion/docs/design-decisions/020-trust-system-and-network-architecture.md +503 -0
- connectonion/docs/design-decisions/021-task-storage-jsonl-design.md +496 -0
- connectonion/docs/design-decisions/022-raw-asgi-implementation.md +273 -0
- connectonion/docs/examples.md +0 -0
- connectonion/docs/hook-system-options.md +364 -0
- connectonion/docs/integrations/README.md +12 -0
- connectonion/docs/integrations/auth.md +450 -0
- connectonion/docs/integrations/google.md +431 -0
- connectonion/docs/integrations/microsoft.md +370 -0
- connectonion/docs/network/README.md +14 -0
- connectonion/docs/network/connect.md +629 -0
- connectonion/docs/network/deploy.md +124 -0
- connectonion/docs/network/host.md +1087 -0
- connectonion/docs/network/io.md +538 -0
- connectonion/docs/network/protocol/agent-relay-protocol.md +495 -0
- connectonion/docs/network/protocol/announce-message.md +115 -0
- connectonion/docs/principles.md +124 -0
- connectonion/docs/quickstart.md +261 -0
- connectonion/docs/roadmap.md +81 -0
- connectonion/docs/templates/README.md +77 -0
- connectonion/docs/templates/meta-agent.md +152 -0
- connectonion/docs/templates/minimal.md +105 -0
- connectonion/docs/templates/playwright.md +130 -0
- connectonion/docs/templates/web-research.md +144 -0
- connectonion/docs/tui/README.md +95 -0
- connectonion/docs/tui/chat.md +181 -0
- connectonion/docs/tui/divider.md +63 -0
- connectonion/docs/tui/dropdown.md +83 -0
- connectonion/docs/tui/footer.md +44 -0
- connectonion/docs/tui/fuzzy.md +68 -0
- connectonion/docs/tui/input.md +84 -0
- connectonion/docs/tui/keys.md +77 -0
- connectonion/docs/tui/pick.md +71 -0
- connectonion/docs/tui/providers.md +89 -0
- connectonion/docs/tui/status_bar.md +67 -0
- connectonion/docs/useful_plugins/README.md +160 -0
- connectonion/docs/useful_plugins/calendar_plugin.md +68 -0
- connectonion/docs/useful_plugins/eval.md +89 -0
- connectonion/docs/useful_plugins/gmail_plugin.md +68 -0
- connectonion/docs/useful_plugins/image_result_formatter.md +74 -0
- connectonion/docs/useful_plugins/re_act.md +86 -0
- connectonion/docs/useful_plugins/shell_approval.md +69 -0
- connectonion/docs/useful_plugins/system_reminder.md +210 -0
- connectonion/docs/useful_prompts/README.md +127 -0
- connectonion/docs/useful_prompts/coding_agent.md +214 -0
- connectonion/docs/useful_tools/README.md +81 -0
- connectonion/docs/useful_tools/ask_user.md +103 -0
- connectonion/docs/useful_tools/diff_writer.md +158 -0
- connectonion/docs/useful_tools/get_emails.md +519 -0
- connectonion/docs/useful_tools/gmail.md +155 -0
- connectonion/docs/useful_tools/google_calendar.md +126 -0
- connectonion/docs/useful_tools/memory.md +506 -0
- connectonion/docs/useful_tools/microsoft_calendar.md +126 -0
- connectonion/docs/useful_tools/outlook.md +140 -0
- connectonion/docs/useful_tools/send_email.md +423 -0
- connectonion/docs/useful_tools/shell.md +115 -0
- connectonion/docs/useful_tools/slash_command.md +116 -0
- connectonion/docs/useful_tools/terminal.md +115 -0
- connectonion/docs/useful_tools/todo_list.md +272 -0
- connectonion/docs/useful_tools/web_fetch.md +150 -0
- connectonion/docs/vibe-coding-guide.md +97 -0
- connectonion/docs/windows-support.md +258 -0
- connectonion/logger.py +3 -3
- connectonion/network/__init__.py +19 -6
- connectonion/network/asgi/__init__.py +81 -0
- connectonion/network/asgi/http.py +205 -0
- connectonion/network/asgi/websocket.py +217 -0
- connectonion/network/connect.py +232 -185
- connectonion/network/host/__init__.py +59 -0
- connectonion/network/host/auth.py +191 -0
- connectonion/network/host/routes.py +135 -0
- connectonion/network/host/server.py +289 -0
- connectonion/network/host/session.py +78 -0
- connectonion/network/io/__init__.py +21 -0
- connectonion/network/{connection.py → io/base.py} +17 -42
- connectonion/network/io/websocket.py +55 -0
- connectonion/network/relay.py +37 -16
- connectonion/network/trust/__init__.py +30 -0
- connectonion/network/trust/factory.py +138 -0
- connectonion/network/{trust_agents.py → trust/prompts.py} +3 -3
- connectonion/network/{trust_functions.py → trust/tools.py} +2 -2
- connectonion/prompt_files/__init__.py +11 -1
- connectonion/prompt_files/react_acknowledge.md +26 -0
- connectonion/prompts.py +10 -1
- connectonion/tui/chat.py +10 -1
- connectonion/tui/divider.py +10 -1
- connectonion/tui/dropdown.py +10 -1
- connectonion/tui/footer.py +8 -0
- connectonion/tui/fuzzy.py +11 -1
- connectonion/tui/input.py +118 -70
- connectonion/tui/keys.py +133 -6
- connectonion/tui/providers.py +11 -1
- connectonion/tui/status_bar.py +10 -1
- connectonion/useful_events_handlers/__init__.py +8 -0
- connectonion/useful_events_handlers/reflect.py +19 -4
- connectonion/useful_plugins/__init__.py +2 -1
- connectonion/useful_plugins/eval.py +2 -2
- connectonion/useful_plugins/gmail_plugin.py +3 -3
- connectonion/useful_plugins/image_result_formatter.py +3 -3
- connectonion/useful_plugins/re_act.py +114 -28
- connectonion/useful_plugins/shell_approval.py +2 -2
- connectonion/useful_plugins/system_reminder.py +103 -0
- connectonion/useful_plugins/ui_stream.py +18 -133
- connectonion/useful_prompts/README.md +61 -0
- connectonion/useful_prompts/__init__.py +45 -0
- connectonion/useful_prompts/coding_agent/README.md +106 -0
- connectonion/useful_prompts/coding_agent/assembler.py +123 -0
- connectonion/useful_prompts/coding_agent/prompts/main.md +227 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/ask_user.md +61 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/background.md +57 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/edit.md +90 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/glob.md +52 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/grep.md +55 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/plan_mode.md +80 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/read.md +40 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/shell.md +67 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/task.md +51 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/todo.md +139 -0
- connectonion/useful_prompts/coding_agent/prompts/tools/write.md +48 -0
- connectonion/useful_prompts/system-reminders/security-warning.md +14 -0
- connectonion/useful_prompts/system-reminders/test-reminder.md +11 -0
- connectonion/useful_tools/__init__.py +31 -4
- connectonion/useful_tools/ask_user.py +35 -0
- connectonion/useful_tools/bash.py +69 -0
- connectonion/useful_tools/diff_writer.py +186 -94
- connectonion/useful_tools/edit.py +102 -0
- connectonion/useful_tools/glob_files.py +97 -0
- connectonion/useful_tools/grep_files.py +171 -0
- connectonion/useful_tools/multi_edit.py +116 -0
- connectonion/useful_tools/read_file.py +73 -0
- connectonion/useful_tools/shell.py +50 -45
- connectonion/useful_tools/write_file.py +129 -0
- {connectonion-0.6.1.dist-info → connectonion-0.6.3.dist-info}/METADATA +10 -3
- connectonion-0.6.3.dist-info/RECORD +469 -0
- connectonion/cli/browser_agent/scroll_strategies.py +0 -276
- connectonion/network/asgi.py +0 -407
- connectonion/network/host.py +0 -616
- connectonion/network/trust.py +0 -166
- connectonion-0.6.1.dist-info/RECORD +0 -123
- /connectonion/cli/{docs → co_ai/prompts/connectonion}/connectonion.md +0 -0
- {connectonion-0.6.1.dist-info → connectonion-0.6.3.dist-info}/WHEEL +0 -0
- {connectonion-0.6.1.dist-info → connectonion-0.6.3.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)
|