gitextract_ewj5gk9a/ ├── .cargo/ │ ├── audit.toml │ └── config.toml ├── .claude/ │ └── skills/ │ ├── github-issue/ │ │ └── SKILL.md │ ├── github-pr/ │ │ └── SKILL.md │ ├── skill-creator/ │ │ ├── LICENSE.txt │ │ ├── SKILL.md │ │ ├── agents/ │ │ │ ├── analyzer.md │ │ │ ├── comparator.md │ │ │ └── grader.md │ │ ├── assets/ │ │ │ └── eval_review.html │ │ ├── eval-viewer/ │ │ │ ├── generate_review.py │ │ │ └── viewer.html │ │ ├── references/ │ │ │ └── schemas.md │ │ └── scripts/ │ │ ├── __init__.py │ │ ├── aggregate_benchmark.py │ │ ├── generate_report.py │ │ ├── improve_description.py │ │ ├── package_skill.py │ │ ├── quick_validate.py │ │ ├── run_eval.py │ │ ├── run_loop.py │ │ └── utils.py │ └── zeroclaw/ │ ├── SKILL.md │ ├── evals/ │ │ └── evals.json │ └── references/ │ ├── cli-reference.md │ └── rest-api.md ├── .coderabbit.yaml ├── .dockerignore ├── .editorconfig ├── .envrc ├── .gemini/ │ └── style-guide.md ├── .gitattributes ├── .githooks/ │ ├── pre-commit │ └── pre-push ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── actionlint.yaml │ ├── codeql/ │ │ └── codeql-config.yml │ ├── dependabot.yml │ ├── label-policy.json │ ├── labeler.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── README.md │ ├── checks-on-pr.yml │ ├── ci-run.yml │ ├── cross-platform-build-manual.yml │ ├── master-branch-flow.md │ ├── pub-aur.yml │ ├── pub-homebrew-core.yml │ ├── pub-scoop.yml │ ├── publish-crates-auto.yml │ ├── publish-crates.yml │ ├── release-beta-on-push.yml │ ├── release-stable-manual.yml │ └── tweet-release.yml ├── .gitignore ├── .markdownlint-cli2.yaml ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── CHANGELOG.md ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── Dockerfile ├── Dockerfile.ci ├── Dockerfile.debian ├── Dockerfile.debian.ci ├── Justfile ├── LICENSE-APACHE ├── LICENSE-MIT ├── NOTICE ├── README.ar.md ├── README.bn.md ├── README.cs.md ├── README.da.md ├── README.de.md ├── README.el.md ├── README.es.md ├── README.fi.md ├── README.fr.md ├── README.he.md ├── README.hi.md ├── README.hu.md ├── README.id.md ├── README.it.md ├── README.ja.md ├── README.ko.md ├── README.md ├── README.nb.md ├── README.nl.md ├── README.pl.md ├── README.pt.md ├── README.ro.md ├── README.ru.md ├── README.sv.md ├── README.th.md ├── README.tl.md ├── README.tr.md ├── README.uk.md ├── README.ur.md ├── README.vi.md ├── README.zh-CN.md ├── SECURITY.md ├── benches/ │ └── agent_benchmarks.rs ├── build.rs ├── clippy.toml ├── crates/ │ └── robot-kit/ │ ├── Cargo.toml │ ├── PI5_SETUP.md │ ├── README.md │ ├── SOUL.md │ ├── robot.toml │ └── src/ │ ├── config.rs │ ├── drive.rs │ ├── emote.rs │ ├── lib.rs │ ├── listen.rs │ ├── look.rs │ ├── safety.rs │ ├── sense.rs │ ├── speak.rs │ ├── tests.rs │ └── traits.rs ├── deny.toml ├── dev/ │ ├── README.md │ ├── ci/ │ │ └── Dockerfile │ ├── ci.sh │ ├── cli.sh │ ├── config.template.toml │ ├── docker-compose.ci.yml │ ├── docker-compose.yml │ ├── recompute_contributor_tiers.sh │ ├── sandbox/ │ │ └── Dockerfile │ └── test-termux-release.sh ├── dist/ │ ├── aur/ │ │ ├── .SRCINFO │ │ └── PKGBUILD │ └── scoop/ │ └── zeroclaw.json ├── docker-compose.yml ├── docs/ │ ├── README.ar.md │ ├── README.bn.md │ ├── README.cs.md │ ├── README.da.md │ ├── README.de.md │ ├── README.el.md │ ├── README.es.md │ ├── README.fi.md │ ├── README.fr.md │ ├── README.he.md │ ├── README.hi.md │ ├── README.hu.md │ ├── README.id.md │ ├── README.it.md │ ├── README.ja.md │ ├── README.ko.md │ ├── README.md │ ├── README.nb.md │ ├── README.nl.md │ ├── README.pl.md │ ├── README.pt.md │ ├── README.ro.md │ ├── README.ru.md │ ├── README.sv.md │ ├── README.th.md │ ├── README.tl.md │ ├── README.tr.md │ ├── README.uk.md │ ├── README.ur.md │ ├── README.vi.md │ ├── README.zh-CN.md │ ├── SUMMARY.ar.md │ ├── SUMMARY.bn.md │ ├── SUMMARY.cs.md │ ├── SUMMARY.da.md │ ├── SUMMARY.de.md │ ├── SUMMARY.el.md │ ├── SUMMARY.es.md │ ├── SUMMARY.fi.md │ ├── SUMMARY.fr.md │ ├── SUMMARY.he.md │ ├── SUMMARY.hi.md │ ├── SUMMARY.hu.md │ ├── SUMMARY.id.md │ ├── SUMMARY.it.md │ ├── SUMMARY.ja.md │ ├── SUMMARY.ko.md │ ├── SUMMARY.md │ ├── SUMMARY.nb.md │ ├── SUMMARY.nl.md │ ├── SUMMARY.pl.md │ ├── SUMMARY.pt.md │ ├── SUMMARY.ro.md │ ├── SUMMARY.ru.md │ ├── SUMMARY.sv.md │ ├── SUMMARY.th.md │ ├── SUMMARY.tl.md │ ├── SUMMARY.tr.md │ ├── SUMMARY.uk.md │ ├── SUMMARY.ur.md │ ├── SUMMARY.vi.md │ ├── SUMMARY.zh-CN.md │ ├── assets/ │ │ └── architecture-diagrams.md │ ├── contributing/ │ │ ├── README.md │ │ ├── actions-source-policy.md │ │ ├── adding-boards-and-tools.md │ │ ├── cargo-slicer-speedup.md │ │ ├── change-playbooks.md │ │ ├── ci-map.md │ │ ├── cla.md │ │ ├── custom-providers.md │ │ ├── doc-template.md │ │ ├── docs-contract.md │ │ ├── extension-examples.md │ │ ├── langgraph-integration.md │ │ ├── pr-discipline.md │ │ ├── pr-workflow.md │ │ ├── release-process.md │ │ ├── reviewer-playbook.md │ │ ├── testing-telegram.md │ │ └── testing.md │ ├── hardware/ │ │ ├── README.md │ │ ├── android-setup.md │ │ ├── arduino-uno-q-setup.md │ │ ├── datasheets/ │ │ │ ├── arduino-uno.md │ │ │ ├── esp32.md │ │ │ └── nucleo-f401re.md │ │ ├── hardware-peripherals-design.md │ │ └── nucleo-setup.md │ ├── i18n/ │ │ ├── README.md │ │ └── zh-CN/ │ │ ├── contributing/ │ │ │ ├── README.zh-CN.md │ │ │ ├── actions-source-policy.zh-CN.md │ │ │ ├── adding-boards-and-tools.zh-CN.md │ │ │ ├── cargo-slicer-speedup.zh-CN.md │ │ │ ├── change-playbooks.zh-CN.md │ │ │ ├── ci-map.zh-CN.md │ │ │ ├── cla.zh-CN.md │ │ │ ├── custom-providers.zh-CN.md │ │ │ ├── doc-template.zh-CN.md │ │ │ ├── docs-contract.zh-CN.md │ │ │ ├── extension-examples.zh-CN.md │ │ │ ├── langgraph-integration.zh-CN.md │ │ │ ├── pr-discipline.zh-CN.md │ │ │ ├── pr-workflow.zh-CN.md │ │ │ ├── release-process.zh-CN.md │ │ │ ├── reviewer-playbook.zh-CN.md │ │ │ ├── testing-telegram.zh-CN.md │ │ │ └── testing.zh-CN.md │ │ ├── hardware/ │ │ │ ├── README.zh-CN.md │ │ │ ├── android-setup.zh-CN.md │ │ │ ├── arduino-uno-q-setup.zh-CN.md │ │ │ ├── datasheets/ │ │ │ │ ├── arduino-uno.zh-CN.md │ │ │ │ ├── esp32.zh-CN.md │ │ │ │ └── nucleo-f401re.zh-CN.md │ │ │ ├── hardware-peripherals-design.zh-CN.md │ │ │ └── nucleo-setup.zh-CN.md │ │ ├── maintainers/ │ │ │ ├── README.zh-CN.md │ │ │ ├── docs-inventory.zh-CN.md │ │ │ ├── i18n-coverage.zh-CN.md │ │ │ ├── project-triage-snapshot-2026-02-18.zh-CN.md │ │ │ ├── refactor-candidates.zh-CN.md │ │ │ ├── repo-map.zh-CN.md │ │ │ ├── structure-README.zh-CN.md │ │ │ └── trademark.zh-CN.md │ │ ├── ops/ │ │ │ ├── README.zh-CN.md │ │ │ ├── network-deployment.zh-CN.md │ │ │ ├── operations-runbook.zh-CN.md │ │ │ ├── proxy-agent-playbook.zh-CN.md │ │ │ ├── resource-limits.zh-CN.md │ │ │ └── troubleshooting.zh-CN.md │ │ ├── reference/ │ │ │ ├── README.zh-CN.md │ │ │ ├── api/ │ │ │ │ ├── channels-reference.zh-CN.md │ │ │ │ ├── config-reference.zh-CN.md │ │ │ │ └── providers-reference.zh-CN.md │ │ │ ├── cli/ │ │ │ │ └── commands-reference.zh-CN.md │ │ │ └── sop/ │ │ │ ├── README.zh-CN.md │ │ │ ├── connectivity.zh-CN.md │ │ │ ├── cookbook.zh-CN.md │ │ │ ├── observability.zh-CN.md │ │ │ └── syntax.zh-CN.md │ │ ├── security/ │ │ │ ├── README.zh-CN.md │ │ │ ├── agnostic-security.zh-CN.md │ │ │ ├── audit-logging.zh-CN.md │ │ │ ├── frictionless-security.zh-CN.md │ │ │ ├── matrix-e2ee-guide.zh-CN.md │ │ │ ├── sandboxing.zh-CN.md │ │ │ └── security-roadmap.zh-CN.md │ │ └── setup-guides/ │ │ ├── README.zh-CN.md │ │ ├── macos-update-uninstall.zh-CN.md │ │ ├── mattermost-setup.zh-CN.md │ │ ├── nextcloud-talk-setup.zh-CN.md │ │ ├── one-click-bootstrap.zh-CN.md │ │ └── zai-glm-setup.zh-CN.md │ ├── maintainers/ │ │ ├── README.md │ │ ├── docs-inventory.md │ │ ├── i18n-coverage.md │ │ ├── project-triage-snapshot-2026-02-18.md │ │ ├── refactor-candidates.md │ │ ├── repo-map.md │ │ ├── structure-README.md │ │ └── trademark.md │ ├── openai-temperature-compatibility.md │ ├── ops/ │ │ ├── README.md │ │ ├── network-deployment.md │ │ ├── operations-runbook.md │ │ ├── proxy-agent-playbook.md │ │ ├── resource-limits.md │ │ ├── troubleshooting.md │ │ └── troubleshooting.vi.md │ ├── reference/ │ │ ├── README.md │ │ ├── api/ │ │ │ ├── channels-reference.md │ │ │ ├── config-reference.md │ │ │ ├── config-reference.vi.md │ │ │ └── providers-reference.md │ │ ├── cli/ │ │ │ ├── commands-reference.md │ │ │ └── commands-reference.vi.md │ │ └── sop/ │ │ ├── README.md │ │ ├── connectivity.md │ │ ├── cookbook.md │ │ ├── observability.md │ │ └── syntax.md │ ├── security/ │ │ ├── README.md │ │ ├── agnostic-security.md │ │ ├── audit-logging.md │ │ ├── frictionless-security.md │ │ ├── matrix-e2ee-guide.md │ │ ├── sandboxing.md │ │ └── security-roadmap.md │ ├── setup-guides/ │ │ ├── README.md │ │ ├── README.vi.md │ │ ├── macos-update-uninstall.md │ │ ├── mattermost-setup.md │ │ ├── nextcloud-talk-setup.md │ │ ├── one-click-bootstrap.md │ │ ├── one-click-bootstrap.vi.md │ │ └── zai-glm-setup.md │ ├── superpowers/ │ │ └── specs/ │ │ └── 2026-03-13-linkedin-tool-design.md │ └── vi/ │ ├── README.md │ ├── actions-source-policy.md │ ├── adding-boards-and-tools.md │ ├── agnostic-security.md │ ├── arduino-uno-q-setup.md │ ├── audit-logging.md │ ├── channels-reference.md │ ├── ci-map.md │ ├── commands-reference.md │ ├── config-reference.md │ ├── contributing/ │ │ └── README.md │ ├── custom-providers.md │ ├── datasheets/ │ │ ├── arduino-uno.md │ │ ├── esp32.md │ │ └── nucleo-f401re.md │ ├── frictionless-security.md │ ├── getting-started/ │ │ └── README.md │ ├── hardware/ │ │ └── README.md │ ├── hardware-peripherals-design.md │ ├── langgraph-integration.md │ ├── matrix-e2ee-guide.md │ ├── mattermost-setup.md │ ├── network-deployment.md │ ├── nucleo-setup.md │ ├── one-click-bootstrap.md │ ├── operations/ │ │ └── README.md │ ├── operations-runbook.md │ ├── pr-workflow.md │ ├── project/ │ │ └── README.md │ ├── providers-reference.md │ ├── proxy-agent-playbook.md │ ├── reference/ │ │ └── README.md │ ├── release-process.md │ ├── resource-limits.md │ ├── reviewer-playbook.md │ ├── sandboxing.md │ ├── security/ │ │ └── README.md │ ├── security-roadmap.md │ ├── troubleshooting.md │ └── zai-glm-setup.md ├── example-plugin/ │ ├── Cargo.toml │ ├── manifest.toml │ └── src/ │ └── lib.rs ├── examples/ │ └── config.example.toml ├── firmware/ │ ├── arduino/ │ │ └── arduino.ino │ ├── esp32/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── SETUP.md │ │ ├── build.rs │ │ ├── rust-toolchain.toml │ │ └── src/ │ │ └── main.rs │ ├── esp32-ui/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── src/ │ │ │ └── main.rs │ │ └── ui/ │ │ └── main.slint │ ├── nucleo/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── uno-q-bridge/ │ ├── app.yaml │ ├── python/ │ │ ├── main.py │ │ └── requirements.txt │ └── sketch/ │ ├── sketch.ino │ └── sketch.yaml ├── flake.nix ├── fuzz/ │ ├── Cargo.toml │ └── fuzz_targets/ │ ├── fuzz_command_validation.rs │ ├── fuzz_config_parse.rs │ ├── fuzz_provider_response.rs │ ├── fuzz_tool_params.rs │ └── fuzz_webhook_payload.rs ├── install.sh ├── python/ │ ├── README.md │ ├── README.vi.md │ ├── pyproject.toml │ ├── tests/ │ │ ├── __init__.py │ │ └── test_tools.py │ └── zeroclaw_tools/ │ ├── __init__.py │ ├── __main__.py │ ├── agent.py │ ├── integrations/ │ │ ├── __init__.py │ │ └── discord_bot.py │ └── tools/ │ ├── __init__.py │ ├── base.py │ ├── file.py │ ├── memory.py │ ├── shell.py │ └── web.py ├── rustfmt.toml ├── scripts/ │ ├── ci/ │ │ ├── check_binary_size.sh │ │ ├── collect_changed_links.py │ │ ├── detect_change_scope.sh │ │ ├── docs_links_gate.sh │ │ ├── docs_quality_gate.sh │ │ ├── fetch_actions_data.py │ │ ├── rust_quality_gate.sh │ │ └── rust_strict_delta_gate.sh │ └── release/ │ └── cut_release_tag.sh ├── src/ │ ├── agent/ │ │ ├── agent.rs │ │ ├── classifier.rs │ │ ├── dispatcher.rs │ │ ├── loop_.rs │ │ ├── memory_loader.rs │ │ ├── mod.rs │ │ ├── prompt.rs │ │ └── tests.rs │ ├── approval/ │ │ └── mod.rs │ ├── auth/ │ │ ├── anthropic_token.rs │ │ ├── gemini_oauth.rs │ │ ├── mod.rs │ │ ├── oauth_common.rs │ │ ├── openai_oauth.rs │ │ └── profiles.rs │ ├── channels/ │ │ ├── bluesky.rs │ │ ├── clawdtalk.rs │ │ ├── cli.rs │ │ ├── dingtalk.rs │ │ ├── discord.rs │ │ ├── email_channel.rs │ │ ├── imessage.rs │ │ ├── irc.rs │ │ ├── lark.rs │ │ ├── linq.rs │ │ ├── matrix.rs │ │ ├── mattermost.rs │ │ ├── mochat.rs │ │ ├── mod.rs │ │ ├── mqtt.rs │ │ ├── nextcloud_talk.rs │ │ ├── nostr.rs │ │ ├── notion.rs │ │ ├── qq.rs │ │ ├── reddit.rs │ │ ├── session_backend.rs │ │ ├── session_sqlite.rs │ │ ├── session_store.rs │ │ ├── signal.rs │ │ ├── slack.rs │ │ ├── telegram.rs │ │ ├── traits.rs │ │ ├── transcription.rs │ │ ├── tts.rs │ │ ├── twitter.rs │ │ ├── wati.rs │ │ ├── webhook.rs │ │ ├── wecom.rs │ │ ├── whatsapp.rs │ │ ├── whatsapp_storage.rs │ │ └── whatsapp_web.rs │ ├── commands/ │ │ ├── mod.rs │ │ ├── self_test.rs │ │ └── update.rs │ ├── config/ │ │ ├── mod.rs │ │ ├── schema.rs │ │ ├── traits.rs │ │ └── workspace.rs │ ├── cost/ │ │ ├── mod.rs │ │ ├── tracker.rs │ │ └── types.rs │ ├── cron/ │ │ ├── mod.rs │ │ ├── schedule.rs │ │ ├── scheduler.rs │ │ ├── store.rs │ │ └── types.rs │ ├── daemon/ │ │ └── mod.rs │ ├── doctor/ │ │ └── mod.rs │ ├── gateway/ │ │ ├── api.rs │ │ ├── api_pairing.rs │ │ ├── api_plugins.rs │ │ ├── mod.rs │ │ ├── nodes.rs │ │ ├── sse.rs │ │ ├── static_files.rs │ │ └── ws.rs │ ├── hands/ │ │ ├── mod.rs │ │ └── types.rs │ ├── hardware/ │ │ ├── discover.rs │ │ ├── introspect.rs │ │ ├── mod.rs │ │ └── registry.rs │ ├── health/ │ │ └── mod.rs │ ├── heartbeat/ │ │ ├── engine.rs │ │ ├── mod.rs │ │ └── store.rs │ ├── hooks/ │ │ ├── builtin/ │ │ │ ├── command_logger.rs │ │ │ ├── mod.rs │ │ │ └── webhook_audit.rs │ │ ├── mod.rs │ │ ├── runner.rs │ │ └── traits.rs │ ├── i18n.rs │ ├── identity.rs │ ├── integrations/ │ │ ├── mod.rs │ │ └── registry.rs │ ├── lib.rs │ ├── main.rs │ ├── memory/ │ │ ├── backend.rs │ │ ├── chunker.rs │ │ ├── cli.rs │ │ ├── consolidation.rs │ │ ├── embeddings.rs │ │ ├── hygiene.rs │ │ ├── knowledge_graph.rs │ │ ├── lucid.rs │ │ ├── markdown.rs │ │ ├── mod.rs │ │ ├── none.rs │ │ ├── postgres.rs │ │ ├── qdrant.rs │ │ ├── response_cache.rs │ │ ├── snapshot.rs │ │ ├── sqlite.rs │ │ ├── traits.rs │ │ └── vector.rs │ ├── migration.rs │ ├── multimodal.rs │ ├── nodes/ │ │ ├── mod.rs │ │ └── transport.rs │ ├── observability/ │ │ ├── log.rs │ │ ├── mod.rs │ │ ├── multi.rs │ │ ├── noop.rs │ │ ├── otel.rs │ │ ├── prometheus.rs │ │ ├── runtime_trace.rs │ │ ├── traits.rs │ │ └── verbose.rs │ ├── onboard/ │ │ ├── mod.rs │ │ └── wizard.rs │ ├── peripherals/ │ │ ├── arduino_flash.rs │ │ ├── arduino_upload.rs │ │ ├── capabilities_tool.rs │ │ ├── mod.rs │ │ ├── nucleo_flash.rs │ │ ├── rpi.rs │ │ ├── serial.rs │ │ ├── traits.rs │ │ ├── uno_q_bridge.rs │ │ └── uno_q_setup.rs │ ├── plugins/ │ │ ├── error.rs │ │ ├── host.rs │ │ ├── mod.rs │ │ ├── wasm_channel.rs │ │ └── wasm_tool.rs │ ├── providers/ │ │ ├── anthropic.rs │ │ ├── azure_openai.rs │ │ ├── bedrock.rs │ │ ├── claude_code.rs │ │ ├── compatible.rs │ │ ├── copilot.rs │ │ ├── gemini.rs │ │ ├── gemini_cli.rs │ │ ├── glm.rs │ │ ├── kilocli.rs │ │ ├── mod.rs │ │ ├── ollama.rs │ │ ├── openai.rs │ │ ├── openai_codex.rs │ │ ├── openrouter.rs │ │ ├── reliable.rs │ │ ├── router.rs │ │ ├── telnyx.rs │ │ └── traits.rs │ ├── rag/ │ │ └── mod.rs │ ├── runtime/ │ │ ├── docker.rs │ │ ├── mod.rs │ │ ├── native.rs │ │ ├── traits.rs │ │ └── wasm.rs │ ├── security/ │ │ ├── audit.rs │ │ ├── bubblewrap.rs │ │ ├── detect.rs │ │ ├── docker.rs │ │ ├── domain_matcher.rs │ │ ├── estop.rs │ │ ├── firejail.rs │ │ ├── iam_policy.rs │ │ ├── landlock.rs │ │ ├── leak_detector.rs │ │ ├── mod.rs │ │ ├── nevis.rs │ │ ├── otp.rs │ │ ├── pairing.rs │ │ ├── playbook.rs │ │ ├── policy.rs │ │ ├── prompt_guard.rs │ │ ├── secrets.rs │ │ ├── traits.rs │ │ ├── vulnerability.rs │ │ └── workspace_boundary.rs │ ├── service/ │ │ └── mod.rs │ ├── skillforge/ │ │ ├── evaluate.rs │ │ ├── integrate.rs │ │ ├── mod.rs │ │ └── scout.rs │ ├── skills/ │ │ ├── audit.rs │ │ ├── creator.rs │ │ ├── mod.rs │ │ └── symlink_tests.rs │ ├── sop/ │ │ ├── audit.rs │ │ ├── condition.rs │ │ ├── dispatch.rs │ │ ├── engine.rs │ │ ├── gates.rs │ │ ├── metrics.rs │ │ ├── mod.rs │ │ └── types.rs │ ├── tools/ │ │ ├── backup_tool.rs │ │ ├── browser.rs │ │ ├── browser_delegate.rs │ │ ├── browser_open.rs │ │ ├── calculator.rs │ │ ├── cli_discovery.rs │ │ ├── cloud_ops.rs │ │ ├── cloud_patterns.rs │ │ ├── composio.rs │ │ ├── content_search.rs │ │ ├── cron_add.rs │ │ ├── cron_list.rs │ │ ├── cron_remove.rs │ │ ├── cron_run.rs │ │ ├── cron_runs.rs │ │ ├── cron_update.rs │ │ ├── data_management.rs │ │ ├── delegate.rs │ │ ├── file_edit.rs │ │ ├── file_read.rs │ │ ├── file_write.rs │ │ ├── git_operations.rs │ │ ├── glob_search.rs │ │ ├── google_workspace.rs │ │ ├── hardware_board_info.rs │ │ ├── hardware_memory_map.rs │ │ ├── hardware_memory_read.rs │ │ ├── http_request.rs │ │ ├── image_info.rs │ │ ├── jira_tool.rs │ │ ├── knowledge_tool.rs │ │ ├── linkedin.rs │ │ ├── linkedin_client.rs │ │ ├── mcp_client.rs │ │ ├── mcp_deferred.rs │ │ ├── mcp_protocol.rs │ │ ├── mcp_tool.rs │ │ ├── mcp_transport.rs │ │ ├── memory_forget.rs │ │ ├── memory_recall.rs │ │ ├── memory_store.rs │ │ ├── microsoft365/ │ │ │ ├── auth.rs │ │ │ ├── graph_client.rs │ │ │ ├── mod.rs │ │ │ └── types.rs │ │ ├── mod.rs │ │ ├── model_routing_config.rs │ │ ├── model_switch.rs │ │ ├── node_tool.rs │ │ ├── notion_tool.rs │ │ ├── pdf_read.rs │ │ ├── project_intel.rs │ │ ├── proxy_config.rs │ │ ├── pushover.rs │ │ ├── read_skill.rs │ │ ├── report_templates.rs │ │ ├── schedule.rs │ │ ├── schema.rs │ │ ├── screenshot.rs │ │ ├── security_ops.rs │ │ ├── shell.rs │ │ ├── sop_advance.rs │ │ ├── sop_approve.rs │ │ ├── sop_execute.rs │ │ ├── sop_list.rs │ │ ├── sop_status.rs │ │ ├── swarm.rs │ │ ├── text_browser.rs │ │ ├── tool_search.rs │ │ ├── traits.rs │ │ ├── web_fetch.rs │ │ ├── web_search_tool.rs │ │ └── workspace_tool.rs │ ├── tunnel/ │ │ ├── cloudflare.rs │ │ ├── custom.rs │ │ ├── mod.rs │ │ ├── ngrok.rs │ │ ├── none.rs │ │ ├── openvpn.rs │ │ └── tailscale.rs │ └── util.rs ├── taplo.toml ├── tests/ │ ├── component/ │ │ ├── config_persistence.rs │ │ ├── config_schema.rs │ │ ├── dockerignore_test.rs │ │ ├── gateway.rs │ │ ├── mod.rs │ │ ├── otel_dependency_feature_regression.rs │ │ ├── provider_resolution.rs │ │ ├── provider_schema.rs │ │ ├── reply_target_field_regression.rs │ │ ├── security.rs │ │ └── whatsapp_webhook_security.rs │ ├── fixtures/ │ │ └── traces/ │ │ ├── multi_tool_chain.json │ │ ├── single_tool_echo.json │ │ └── smoke_greeting.json │ ├── integration/ │ │ ├── agent.rs │ │ ├── agent_robustness.rs │ │ ├── channel_matrix.rs │ │ ├── channel_routing.rs │ │ ├── hooks.rs │ │ ├── memory_comparison.rs │ │ ├── memory_restart.rs │ │ ├── mod.rs │ │ ├── telegram_attachment_fallback.rs │ │ └── telegram_finalize_draft.rs │ ├── live/ │ │ ├── gemini_fallback_oauth_refresh.rs │ │ ├── mod.rs │ │ ├── openai_codex_vision_e2e.rs │ │ └── providers.rs │ ├── manual/ │ │ ├── telegram/ │ │ │ ├── generate_test_messages.py │ │ │ ├── quick_test.sh │ │ │ ├── test_telegram_integration.sh │ │ │ └── testing-telegram.md │ │ └── test_dockerignore.sh │ ├── support/ │ │ ├── assertions.rs │ │ ├── helpers.rs │ │ ├── mock_channel.rs │ │ ├── mock_provider.rs │ │ ├── mock_tools.rs │ │ ├── mod.rs │ │ └── trace.rs │ ├── system/ │ │ ├── full_stack.rs │ │ └── mod.rs │ ├── test_component.rs │ ├── test_integration.rs │ ├── test_live.rs │ └── test_system.rs ├── tool_descriptions/ │ ├── en.toml │ └── zh-CN.toml └── web/ ├── .gitignore ├── index.html ├── package.json ├── src/ │ ├── App.tsx │ ├── components/ │ │ └── layout/ │ │ ├── Header.tsx │ │ ├── Layout.tsx │ │ └── Sidebar.tsx │ ├── hooks/ │ │ ├── useApi.ts │ │ ├── useAuth.ts │ │ ├── useDevices.ts │ │ ├── useDraft.ts │ │ ├── useSSE.ts │ │ └── useWebSocket.ts │ ├── index.css │ ├── lib/ │ │ ├── api.ts │ │ ├── auth.ts │ │ ├── i18n.ts │ │ ├── sse.ts │ │ ├── uuid.ts │ │ └── ws.ts │ ├── main.tsx │ ├── pages/ │ │ ├── AgentChat.tsx │ │ ├── Config.tsx │ │ ├── Cost.tsx │ │ ├── Cron.tsx │ │ ├── Dashboard.tsx │ │ ├── Doctor.tsx │ │ ├── Integrations.tsx │ │ ├── Logs.tsx │ │ ├── Memory.tsx │ │ ├── Pairing.tsx │ │ └── Tools.tsx │ ├── types/ │ │ └── api.ts │ └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts