Skip to content

Refactor Feishu into chat-only channel#71

Merged
vaayne merged 3 commits intomainfrom
refactor/lark-cli-skill-feishu
Mar 28, 2026
Merged

Refactor Feishu into chat-only channel#71
vaayne merged 3 commits intomainfrom
refactor/lark-cli-skill-feishu

Conversation

@vaayne
Copy link
Copy Markdown
Owner

@vaayne vaayne commented Mar 28, 2026

Summary

  • remove the built-in Feishu workspace tool stack and OAuth/token-store flow
  • keep Feishu as a chat-only channel and update docs/UI copy to position lark-cli as optional user-installed workflow
  • align cmd/anna gateway test expectations with the current no-services error message

Validation

  • PORT=0 go test ./cmd/anna ./internal/channel/feishu ./internal/db/... ./internal/agent/runner/...

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6a75978c79

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -17,4 +17,3 @@
-- atlas:import tables/auth_policies.sql
-- atlas:import tables/auth_user_agents.sql
-- atlas:import tables/auth_sessions.sql
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add a migration to drop legacy feishu_tokens data

Removing feishu_tokens from schemas/main.sql here does not remove it from real databases, because runtime migration only executes embedded SQL files under internal/db/migrations (internal/db/database.go), and this commit leaves the old 20260321163635_add_feishu_tokens.sql creation migration in place with no matching drop migration. That means fresh installs still create the table and upgraded installs keep deprecated OAuth token rows indefinitely, which is a data-retention/security regression for a feature that was removed.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added internal/db/migrations/20260328084600_drop_feishu_tokens.sql and refreshed internal/db/migrations/atlas.sum. I also added internal/db/database_test.go to cover both fresh-install and upgrade paths so feishu_tokens is absent after migrations run.

Comment on lines 151 to 153
if text != "" {
if handled := b.handleCommand(rc, text, openID, replyFn); handled {
return nil
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject deprecated /auth before forwarding message text

With the /auth handling block removed, Feishu messages now go through handleCommand and then fall through to normal chat processing when not recognized; since handleCommand only handles shared commands plus /model and /agent, /auth <code> is now treated as ordinary prompt content and sent to the model. Users following old instructions can therefore leak authorization codes into LLM history/provider logs instead of getting a deterministic deprecation response.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added explicit deprecated /auth handling in internal/channel/feishu/handler.go so Feishu never forwards /auth payloads into normal chat flow, and added TestHandleCommandAuthDeprecated to keep that behavior covered.

@github-actions
Copy link
Copy Markdown

📊 Coverage Report

Total coverage: 44.1%

Per-package breakdown
github.com/vaayne/anna/cmd/anna/chat.go:13:                  2.9%
github.com/vaayne/anna/cmd/anna/commands.go:222:             7.7%
github.com/vaayne/anna/cmd/anna/commands.go:244:             0.0%
github.com/vaayne/anna/cmd/anna/commands.go:26:              100.0%
github.com/vaayne/anna/cmd/anna/commands.go:59:              67.1%
github.com/vaayne/anna/cmd/anna/gateway.go:260:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:300:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:34:               100.0%
github.com/vaayne/anna/cmd/anna/gateway.go:355:              37.5%
github.com/vaayne/anna/cmd/anna/gateway.go:49:               84.6%
github.com/vaayne/anna/cmd/anna/gateway.go:67:               20.0%
github.com/vaayne/anna/cmd/anna/main.go:9:                   0.0%
github.com/vaayne/anna/cmd/anna/models.go:104:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:118:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:131:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:139:               100.0%
github.com/vaayne/anna/cmd/anna/models.go:154:               100.0%
github.com/vaayne/anna/cmd/anna/models.go:162:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:177:               7.1%
github.com/vaayne/anna/cmd/anna/models.go:209:               11.1%
github.com/vaayne/anna/cmd/anna/models.go:228:               5.3%
github.com/vaayne/anna/cmd/anna/models.go:23:                0.0%
github.com/vaayne/anna/cmd/anna/models.go:266:               4.8%
github.com/vaayne/anna/cmd/anna/models.go:307:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:68:                0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:130:               4.3%
github.com/vaayne/anna/cmd/anna/plugin.go:16:                50.0%
github.com/vaayne/anna/cmd/anna/plugin.go:177:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:190:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:199:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:214:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:31:                50.0%
github.com/vaayne/anna/cmd/anna/plugin.go:41:                0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:65:                3.6%
github.com/vaayne/anna/cmd/anna/skills.go:114:               25.0%
github.com/vaayne/anna/cmd/anna/skills.go:133:               0.0%
github.com/vaayne/anna/cmd/anna/skills.go:176:               0.0%
github.com/vaayne/anna/cmd/anna/skills.go:19:                50.0%
github.com/vaayne/anna/cmd/anna/skills.go:210:               6.7%
github.com/vaayne/anna/cmd/anna/skills.go:36:                5.3%
github.com/vaayne/anna/cmd/anna/skills.go:79:                5.9%
github.com/vaayne/anna/cmd/anna/version.go:101:              75.0%
github.com/vaayne/anna/cmd/anna/version.go:109:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:117:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:151:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:185:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:197:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:202:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:235:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:271:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:282:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:327:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:360:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:376:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:446:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:462:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:469:              75.0%
github.com/vaayne/anna/cmd/anna/version.go:54:               33.3%
github.com/vaayne/anna/cmd/anna/version.go:65:               6.2%
github.com/vaayne/anna/internal/admin/agents.go:116:         83.3%
github.com/vaayne/anna/internal/admin/agents.go:138:         53.6%
github.com/vaayne/anna/internal/admin/agents.go:184:         0.0%
github.com/vaayne/anna/internal/admin/agents.go:19:          83.3%
github.com/vaayne/anna/internal/admin/agents.go:209:         78.6%
github.com/vaayne/anna/internal/admin/agents.go:236:         47.4%
github.com/vaayne/anna/internal/admin/agents.go:272:         63.6%
github.com/vaayne/anna/internal/admin/agents.go:294:         90.0%
github.com/vaayne/anna/internal/admin/agents.go:29:          61.5%
github.com/vaayne/anna/internal/admin/agents.go:325:         66.7%
github.com/vaayne/anna/internal/admin/agents.go:52:          57.6%
github.com/vaayne/anna/internal/admin/auth.go:107:           71.1%
github.com/vaayne/anna/internal/admin/auth.go:12:            56.6%
github.com/vaayne/anna/internal/admin/auth.go:181:           100.0%
github.com/vaayne/anna/internal/admin/auth.go:191:           60.0%
github.com/vaayne/anna/internal/admin/auth.go:206:           100.0%
github.com/vaayne/anna/internal/admin/auth.go:215:           66.7%
github.com/vaayne/anna/internal/admin/auth_users.go:122:     55.6%
github.com/vaayne/anna/internal/admin/auth_users.go:139:     67.7%
github.com/vaayne/anna/internal/admin/auth_users.go:200:     0.0%
github.com/vaayne/anna/internal/admin/auth_users.go:237:     65.2%
github.com/vaayne/anna/internal/admin/auth_users.go:24:      75.0%
github.com/vaayne/anna/internal/admin/auth_users.go:42:      66.7%
github.com/vaayne/anna/internal/admin/auth_users.go:63:      69.2%
github.com/vaayne/anna/internal/admin/auth_users.go:86:      68.4%
github.com/vaayne/anna/internal/admin/channels.go:18:        0.0%
github.com/vaayne/anna/internal/admin/channels.go:28:        0.0%
github.com/vaayne/anna/internal/admin/channels.go:9:         0.0%
github.com/vaayne/anna/internal/admin/embed.go:15:           75.0%
github.com/vaayne/anna/internal/admin/middleware.go:113:     100.0%
github.com/vaayne/anna/internal/admin/middleware.go:129:     100.0%
github.com/vaayne/anna/internal/admin/middleware.go:138:     100.0%
github.com/vaayne/anna/internal/admin/middleware.go:27:      100.0%
github.com/vaayne/anna/internal/admin/middleware.go:33:      100.0%
github.com/vaayne/anna/internal/admin/middleware.go:40:      65.7%
github.com/vaayne/anna/internal/admin/models.go:11:          0.0%
github.com/vaayne/anna/internal/admin/profile.go:11:         50.0%
github.com/vaayne/anna/internal/admin/profile.go:124:        59.1%
github.com/vaayne/anna/internal/admin/profile.go:162:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:178:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:201:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:29:         54.1%
github.com/vaayne/anna/internal/admin/profile.go:92:         69.2%
github.com/vaayne/anna/internal/admin/providers.go:144:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:15:       60.0%
github.com/vaayne/anna/internal/admin/providers.go:170:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:24:       46.2%
github.com/vaayne/anna/internal/admin/providers.go:44:       0.0%
github.com/vaayne/anna/internal/admin/providers.go:54:       0.0%
github.com/vaayne/anna/internal/admin/providers.go:72:       0.0%
github.com/vaayne/anna/internal/admin/providers.go:81:       0.0%
github.com/vaayne/anna/internal/admin/render.go:11:          66.7%
github.com/vaayne/anna/internal/admin/render.go:18:          100.0%
github.com/vaayne/anna/internal/admin/render.go:22:          100.0%
github.com/vaayne/anna/internal/admin/render.go:26:          100.0%
github.com/vaayne/anna/internal/admin/render.go:30:          100.0%
github.com/vaayne/anna/internal/admin/render.go:34:          100.0%
github.com/vaayne/anna/internal/admin/render.go:38:          100.0%
github.com/vaayne/anna/internal/admin/render.go:42:          100.0%
github.com/vaayne/anna/internal/admin/render.go:46:          100.0%
github.com/vaayne/anna/internal/admin/render.go:52:          87.5%
github.com/vaayne/anna/internal/admin/scheduler.go:103:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:174:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:199:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:220:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:245:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:29:       0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:50:       0.0%
github.com/vaayne/anna/internal/admin/server.go:167:         62.5%
github.com/vaayne/anna/internal/admin/server.go:181:         0.0%
github.com/vaayne/anna/internal/admin/server.go:186:         100.0%
github.com/vaayne/anna/internal/admin/server.go:191:         100.0%
github.com/vaayne/anna/internal/admin/server.go:208:         100.0%
github.com/vaayne/anna/internal/admin/server.go:218:         100.0%
github.com/vaayne/anna/internal/admin/server.go:224:         100.0%
github.com/vaayne/anna/internal/admin/server.go:231:         100.0%
github.com/vaayne/anna/internal/admin/server.go:34:          98.6%
github.com/vaayne/anna/internal/admin/sessions.go:118:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:147:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:164:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:210:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:233:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:242:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:281:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:295:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:34:        0.0%
github.com/vaayne/anna/internal/admin/sessions.go:47:        0.0%
github.com/vaayne/anna/internal/admin/sessions.go:70:        0.0%
github.com/vaayne/anna/internal/admin/settings.go:24:        0.0%
github.com/vaayne/anna/internal/admin/settings.go:8:         0.0%
github.com/vaayne/anna/internal/admin/tools.go:22:           0.0%
github.com/vaayne/anna/internal/admin/tools.go:31:           0.0%
github.com/vaayne/anna/internal/admin/tools.go:61:           0.0%
github.com/vaayne/anna/internal/admin/ui/components_templ.go:122: 0.0%
github.com/vaayne/anna/internal/admin/ui/components_templ.go:12: 0.0%
github.com/vaayne/anna/internal/admin/ui/components_templ.go:182: 0.0%
github.com/vaayne/anna/internal/admin/ui/components_templ.go:206: 0.0%
github.com/vaayne/anna/internal/admin/ui/components_templ.go:78: 0.0%
github.com/vaayne/anna/internal/admin/ui/layout_templ.go:11: 0.0%
github.com/vaayne/anna/internal/admin/ui/layout_templ.go:87: 0.0%
github.com/vaayne/anna/internal/admin/ui/loginlayout_templ.go:11: 0.0%
github.com/vaayne/anna/internal/admin/ui/navbar_templ.go:279: 0.0%
github.com/vaayne/anna/internal/admin/ui/navbar_templ.go:28: 0.0%
github.com/vaayne/anna/internal/admin/ui/navbar_templ.go:38: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/agents_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/agents_templ.go:157: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/channels_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/channels_templ.go:441: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/login_templ.go:11: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/profile_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/providers_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/scheduler_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/sessions_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/settings_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/users_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/users.go:28:           0.0%
github.com/vaayne/anna/internal/admin/users.go:48:           0.0%
github.com/vaayne/anna/internal/admin/users.go:62:           0.0%
github.com/vaayne/anna/internal/admin/users.go:83:           0.0%
github.com/vaayne/anna/internal/admin/users.go:8:            0.0%
github.com/vaayne/anna/internal/admin/weixin_qr.go:17:       0.0%
github.com/vaayne/anna/internal/admin/weixin_qr.go:31:       0.0%
github.com/vaayne/anna/internal/admin/weixin_qr.go:87:       0.0%
github.com/vaayne/anna/internal/agent/engine/continue.go:12: 60.0%
github.com/vaayne/anna/internal/agent/engine/engine.go:122:  85.1%
github.com/vaayne/anna/internal/agent/engine/engine.go:20:   91.7%
github.com/vaayne/anna/internal/agent/engine/engine.go:212:  88.9%
github.com/vaayne/anna/internal/agent/engine/engine.go:227:  100.0%
github.com/vaayne/anna/internal/agent/engine/engine.go:42:   94.6%
github.com/vaayne/anna/internal/agent/engine/events.go:13:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:20:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:28:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:35:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:42:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:49:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:56:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:63:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:68:   100.0%
github.com/vaayne/anna/internal/agent/engine/events.go:75:   100.0%
github.com/vaayne/anna/internal/agent/engine/tool_execution.go:18: 73.5%
github.com/vaayne/anna/internal/agent/factory.go:20:         9.5%
github.com/vaayne/anna/internal/agent/factory.go:85:         0.0%
github.com/vaayne/anna/internal/agent/pool.go:138:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:147:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:159:           75.0%
github.com/vaayne/anna/internal/agent/pool.go:169:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:185:           83.3%
github.com/vaayne/anna/internal/agent/pool.go:197:           89.5%
github.com/vaayne/anna/internal/agent/pool.go:235:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:246:           81.2%
github.com/vaayne/anna/internal/agent/pool.go:38:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:402:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:410:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:417:           80.0%
github.com/vaayne/anna/internal/agent/pool.go:450:           91.3%
github.com/vaayne/anna/internal/agent/pool.go:57:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:62:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:71:            83.3%
github.com/vaayne/anna/internal/agent/pool.go:88:            75.0%
github.com/vaayne/anna/internal/agent/pool.go:98:            100.0%
github.com/vaayne/anna/internal/agent/pool_compaction.go:12: 100.0%
github.com/vaayne/anna/internal/agent/pool_compaction.go:17: 80.0%
github.com/vaayne/anna/internal/agent/pool_compaction.go:37: 100.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:102:   75.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:131:   80.8%
github.com/vaayne/anna/internal/agent/pool_manager.go:191:   80.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:201:   81.8%
github.com/vaayne/anna/internal/agent/pool_manager.go:27:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:34:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:41:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:48:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:55:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:78:    75.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:94:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:14:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:21:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:28:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:35:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:42:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:49:    0.0%
github.com/vaayne/anna/internal/agent/pool_options.go:56:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:71:    100.0%
github.com/vaayne/anna/internal/agent/pool_reaper.go:13:     83.3%
github.com/vaayne/anna/internal/agent/pool_reaper.go:28:     89.5%
github.com/vaayne/anna/internal/agent/runner/builtin/embed.go:17: 0.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:107: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:144: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:147: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:154: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:157: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:170: 94.4%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:221: 90.5%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:263: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:52: 95.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:107:  95.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:147:  100.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:37:   75.9%
github.com/vaayne/anna/internal/agent/runner/prompt.go:92:   85.7%
github.com/vaayne/anna/internal/agent/runner/runner.go:62:   100.0%
github.com/vaayne/anna/internal/agent/runner/runner.go:86:   75.0%
github.com/vaayne/anna/internal/agent/runner/skill.go:114:   100.0%
github.com/vaayne/anna/internal/agent/runner/skill.go:123:   85.7%
github.com/vaayne/anna/internal/agent/runner/skill.go:165:   85.7%
github.com/vaayne/anna/internal/agent/runner/skill.go:201:   91.7%
github.com/vaayne/anna/internal/agent/runner/skill.go:227:   100.0%
github.com/vaayne/anna/internal/agent/runner/skill.go:258:   91.7%
github.com/vaayne/anna/internal/agent/runner/skill.go:278:   100.0%
github.com/vaayne/anna/internal/agent/runner/skill.go:44:    100.0%
github.com/vaayne/anna/internal/agent/runner/skill.go:53:    93.1%
github.com/vaayne/anna/internal/agent/runner/stream_proxy.go:17: 80.0%
github.com/vaayne/anna/internal/agent/runner/stream_proxy.go:27: 82.4%
github.com/vaayne/anna/internal/agent/runner/stream_proxy.go:57: 100.0%
github.com/vaayne/anna/internal/agent/session.go:23:         100.0%
github.com/vaayne/anna/internal/agent/session.go:35:         100.0%
github.com/vaayne/anna/internal/agent/session.go:43:         100.0%
github.com/vaayne/anna/internal/agent/tool/bash.go:105:      33.3%
github.com/vaayne/anna/internal/agent/tool/bash.go:121:      85.7%
github.com/vaayne/anna/internal/agent/tool/bash.go:133:      40.0%
github.com/vaayne/anna/internal/agent/tool/bash.go:23:       100.0%
github.com/vaayne/anna/internal/agent/tool/bash.go:40:       100.0%
github.com/vaayne/anna/internal/agent/tool/bash.go:85:       100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:144:  88.9%
github.com/vaayne/anna/internal/agent/tool/delegate.go:221:  100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:260:  100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:276:  100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:284:  89.7%
github.com/vaayne/anna/internal/agent/tool/delegate.go:40:   100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:45:   100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:91:   100.0%
github.com/vaayne/anna/internal/agent/tool/delegate.go:95:   90.9%
github.com/vaayne/anna/internal/agent/tool/edit.go:15:       100.0%
github.com/vaayne/anna/internal/agent/tool/edit.go:40:       85.0%
github.com/vaayne/anna/internal/agent/tool/read.go:107:      100.0%
github.com/vaayne/anna/internal/agent/tool/read.go:124:      76.2%
github.com/vaayne/anna/internal/agent/tool/read.go:160:      71.4%
github.com/vaayne/anna/internal/agent/tool/read.go:16:       100.0%
github.com/vaayne/anna/internal/agent/tool/read.go:172:      71.4%
github.com/vaayne/anna/internal/agent/tool/read.go:41:       94.4%
github.com/vaayne/anna/internal/agent/tool/sandbox.go:19:    100.0%
github.com/vaayne/anna/internal/agent/tool/sandbox.go:23:    100.0%
github.com/vaayne/anna/internal/agent/tool/sandbox.go:36:    100.0%
github.com/vaayne/anna/internal/agent/tool/tool.go:28:       93.3%
github.com/vaayne/anna/internal/agent/tool/tool.go:54:       0.0%
github.com/vaayne/anna/internal/agent/tool/tool.go:63:       100.0%
github.com/vaayne/anna/internal/agent/tool/tool.go:68:       100.0%
github.com/vaayne/anna/internal/agent/tool/tool.go:77:       100.0%
github.com/vaayne/anna/internal/agent/tool/tool.go:83:       100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:102:  100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:119:  66.7%
github.com/vaayne/anna/internal/agent/tool/truncate.go:132:  100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:144:  94.1%
github.com/vaayne/anna/internal/agent/tool/truncate.go:22:   100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:31:   100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:42:   100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:52:   100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:58:   100.0%
github.com/vaayne/anna/internal/agent/tool/truncate.go:65:   92.9%
github.com/vaayne/anna/internal/agent/tool/truncate.go:89:   100.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:109:  66.7%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:118:  68.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:164:  66.7%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:175:  40.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:188:  81.8%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:206:  0.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:214:  0.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:237:  0.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:263:  90.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:282:  75.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:40:   100.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:46:   100.0%
github.com/vaayne/anna/internal/agent/tool/webfetch.go:69:   77.3%
github.com/vaayne/anna/internal/agent/tool/write.go:15:      100.0%
github.com/vaayne/anna/internal/agent/tool/write.go:36:      80.0%
github.com/vaayne/anna/internal/agent/workspace.go:12:       83.3%
github.com/vaayne/anna/internal/agent/workspace.go:30:       80.0%
github.com/vaayne/anna/internal/agent/workspace.go:48:       100.0%
github.com/vaayne/anna/internal/agent/workspace.go:53:       100.0%
github.com/vaayne/anna/internal/ai/events.go:103:            100.0%
github.com/vaayne/anna/internal/ai/events.go:111:            100.0%
github.com/vaayne/anna/internal/ai/events.go:119:            100.0%
github.com/vaayne/anna/internal/ai/events.go:124:            100.0%
github.com/vaayne/anna/internal/ai/events.go:16:             100.0%
github.com/vaayne/anna/internal/ai/events.go:24:             100.0%
github.com/vaayne/anna/internal/ai/events.go:33:             100.0%
github.com/vaayne/anna/internal/ai/events.go:42:             100.0%
github.com/vaayne/anna/internal/ai/events.go:50:             100.0%
github.com/vaayne/anna/internal/ai/events.go:59:             100.0%
github.com/vaayne/anna/internal/ai/events.go:68:             100.0%
github.com/vaayne/anna/internal/ai/events.go:76:             100.0%
github.com/vaayne/anna/internal/ai/events.go:87:             100.0%
github.com/vaayne/anna/internal/ai/events.go:96:             100.0%
github.com/vaayne/anna/internal/ai/message.go:101:           100.0%
github.com/vaayne/anna/internal/ai/message.go:111:           100.0%
github.com/vaayne/anna/internal/ai/message.go:26:            100.0%
github.com/vaayne/anna/internal/ai/message.go:35:            100.0%
github.com/vaayne/anna/internal/ai/message.go:43:            100.0%
github.com/vaayne/anna/internal/ai/message.go:46:            100.0%
github.com/vaayne/anna/internal/ai/message.go:58:            100.0%
github.com/vaayne/anna/internal/ai/message.go:72:            100.0%
github.com/vaayne/anna/internal/ai/message.go:86:            100.0%
github.com/vaayne/anna/internal/ai/message.go:98:            100.0%
github.com/vaayne/anna/internal/ai/provider.go:162:          100.0%
github.com/vaayne/anna/internal/ai/provider.go:167:          100.0%
github.com/vaayne/anna/internal/ai/provider.go:172:          100.0%
github.com/vaayne/anna/internal/ai/provider.go:177:          100.0%
github.com/vaayne/anna/internal/ai/provider.go:187:          100.0%
github.com/vaayne/anna/internal/ai/provider.go:195:          100.0%
github.com/vaayne/anna/internal/ai/provider.go:36:           100.0%
github.com/vaayne/anna/internal/ai/provider.go:46:           100.0%
github.com/vaayne/anna/internal/ai/provider.go:54:           100.0%
github.com/vaayne/anna/internal/ai/provider.go:61:           100.0%
github.com/vaayne/anna/internal/ai/provider.go:69:           100.0%
github.com/vaayne/anna/internal/ai/provider.go:78:           100.0%
github.com/vaayne/anna/internal/ai/provider.go:87:           97.1%
github.com/vaayne/anna/internal/ai/providers/anthropic/client.go:24: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/client.go:36: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/client.go:39: 0.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/client.go:56: 0.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/client.go:61: 0.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/client.go:81: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/convert_messages.go:10: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/convert_messages.go:25: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/convert_messages.go:45: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/convert_messages.go:60: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/options.go:10: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/options.go:37: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/stream.go:21: 76.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/stream.go:77: 100.0%
github.com/vaayne/anna/internal/ai/providers/anthropic/stream.go:9: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:105: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:110: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:130: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:27: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:42: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:59: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:79: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:84: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/client.go:87: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/convert_messages.go:13: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/convert_messages.go:34: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/convert_messages.go:68: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/options.go:11: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/options.go:39: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/stream.go:21: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/stream.go:74: 40.0%
github.com/vaayne/anna/internal/ai/providers/openai-response/stream.go:9: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai/client.go:24: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/client.go:36: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/client.go:39: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai/client.go:57: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai/client.go:62: 0.0%
github.com/vaayne/anna/internal/ai/providers/openai/client.go:82: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/convert_messages.go:13: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/convert_messages.go:33: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/convert_messages.go:66: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/options.go:11: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/options.go:33: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/stream.go:22: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/stream.go:57: 100.0%
github.com/vaayne/anna/internal/ai/providers/openai/stream.go:9: 0.0%
github.com/vaayne/anna/internal/ai/providers/register_builtins.go:11: 0.0%
github.com/vaayne/anna/internal/ai/transform.go:42:          85.7%
github.com/vaayne/anna/internal/ai/transform.go:6:           93.8%
github.com/vaayne/anna/internal/auth/condition.go:116:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:166:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:179:       88.2%
github.com/vaayne/anna/internal/auth/condition.go:212:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:217:       90.9%
github.com/vaayne/anna/internal/auth/condition.go:29:        92.9%
github.com/vaayne/anna/internal/auth/condition.go:59:        100.0%
github.com/vaayne/anna/internal/auth/condition.go:78:        88.9%
github.com/vaayne/anna/internal/auth/condition.go:98:        85.7%
github.com/vaayne/anna/internal/auth/engine.go:105:          100.0%
github.com/vaayne/anna/internal/auth/engine.go:118:          100.0%
github.com/vaayne/anna/internal/auth/engine.go:149:          92.3%
github.com/vaayne/anna/internal/auth/engine.go:176:          92.3%
github.com/vaayne/anna/internal/auth/engine.go:24:           87.5%
github.com/vaayne/anna/internal/auth/engine.go:42:           100.0%
github.com/vaayne/anna/internal/auth/engine.go:61:           100.0%
github.com/vaayne/anna/internal/auth/engine.go:96:           100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:34:         100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:40:         100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:53:         87.5%
github.com/vaayne/anna/internal/auth/linkcode.go:68:         100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:82:         80.0%
github.com/vaayne/anna/internal/auth/linkcode.go:94:         100.0%
github.com/vaayne/anna/internal/auth/password.go:17:         100.0%
github.com/vaayne/anna/internal/auth/password.go:8:          75.0%
github.com/vaayne/anna/internal/auth/ratelimit.go:117:       88.9%
github.com/vaayne/anna/internal/auth/ratelimit.go:136:       100.0%
github.com/vaayne/anna/internal/auth/ratelimit.go:44:        100.0%
github.com/vaayne/anna/internal/auth/ratelimit.go:50:        71.4%
github.com/vaayne/anna/internal/auth/ratelimit.go:77:        77.8%
github.com/vaayne/anna/internal/auth/ratelimit.go:95:        90.9%
github.com/vaayne/anna/internal/auth/sandbox.go:13:          83.3%
github.com/vaayne/anna/internal/auth/sandbox.go:43:          92.3%
github.com/vaayne/anna/internal/auth/seed.go:126:            87.5%
github.com/vaayne/anna/internal/auth/seed.go:143:            66.7%
github.com/vaayne/anna/internal/auth/session.go:27:          75.0%
github.com/vaayne/anna/internal/auth/session.go:37:          100.0%
github.com/vaayne/anna/internal/auth/session.go:52:          100.0%
github.com/vaayne/anna/internal/auth/session.go:66:          100.0%
github.com/vaayne/anna/internal/auth/types.go:19:            0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:102: 0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:19: 0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:24: 0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:31: 0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:65: 0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:75: 0.0%
github.com/vaayne/anna/internal/channel/agent_command.go:97: 0.0%
github.com/vaayne/anna/internal/channel/cli/chat.go:126:     75.0%
github.com/vaayne/anna/internal/channel/cli/chat.go:136:     16.7%
github.com/vaayne/anna/internal/channel/cli/chat.go:169:     0.0%
github.com/vaayne/anna/internal/channel/cli/chat.go:180:     0.0%
github.com/vaayne/anna/internal/channel/cli/chat.go:184:     38.5%
github.com/vaayne/anna/internal/channel/cli/chat.go:88:      84.6%
github.com/vaayne/anna/internal/channel/cli/chat_input.go:112: 20.0%
github.com/vaayne/anna/internal/channel/cli/chat_input.go:11: 40.4%
github.com/vaayne/anna/internal/channel/cli/chat_input.go:87: 72.7%
github.com/vaayne/anna/internal/channel/cli/chat_picker.go:96: 0.0%
github.com/vaayne/anna/internal/channel/cli/chat_picker.go:9: 0.0%
github.com/vaayne/anna/internal/channel/cli/chat_view.go:16: 77.3%
github.com/vaayne/anna/internal/channel/cli/chat_view.go:66: 66.7%
github.com/vaayne/anna/internal/channel/cli/chat_view.go:78: 100.0%
github.com/vaayne/anna/internal/channel/cli/chat_view.go:85: 100.0%
github.com/vaayne/anna/internal/channel/cli/chat_view.go:88: 0.0%
github.com/vaayne/anna/internal/channel/cli/chat_view.go:96: 0.0%
github.com/vaayne/anna/internal/channel/cli/cli.go:29:       0.0%
github.com/vaayne/anna/internal/channel/cli/cli.go:60:       0.0%
github.com/vaayne/anna/internal/channel/cli/command.go:23:   0.0%
github.com/vaayne/anna/internal/channel/cli/command.go:37:   0.0%
github.com/vaayne/anna/internal/channel/cli/model.go:17:     0.0%
github.com/vaayne/anna/internal/channel/cli/model.go:25:     0.0%
github.com/vaayne/anna/internal/channel/cli/model.go:41:     0.0%
github.com/vaayne/anna/internal/channel/command.go:22:       47.1%
github.com/vaayne/anna/internal/channel/command.go:63:       100.0%
github.com/vaayne/anna/internal/channel/command.go:68:       100.0%
github.com/vaayne/anna/internal/channel/command.go:78:       100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:126: 0.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:163: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:171: 0.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:203: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:207: 21.4%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:242: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:249: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:267: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:276: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:288: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:297: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:326: 83.3%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:353: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:35: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:365: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:373: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:380: 0.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:387: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:402: 100.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:86: 0.0%
github.com/vaayne/anna/internal/channel/feishu/feishu.go:96: 87.5%
github.com/vaayne/anna/internal/channel/feishu/handler.go:169: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:180: 18.2%
github.com/vaayne/anna/internal/channel/feishu/handler.go:21: 38.7%
github.com/vaayne/anna/internal/channel/feishu/handler.go:248: 75.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:268: 91.7%
github.com/vaayne/anna/internal/channel/feishu/handler.go:288: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:297: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:306: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:315: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:320: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:334: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:343: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:352: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:359: 0.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:389: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:403: 0.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:448: 75.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:478: 0.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:500: 0.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:521: 100.0%
github.com/vaayne/anna/internal/channel/feishu/handler.go:81: 0.0%
github.com/vaayne/anna/internal/channel/feishu/model.go:106: 100.0%
github.com/vaayne/anna/internal/channel/feishu/model.go:22:  100.0%
github.com/vaayne/anna/internal/channel/feishu/model.go:46:  53.3%
github.com/vaayne/anna/internal/channel/feishu/model.go:75:  100.0%
github.com/vaayne/anna/internal/channel/feishu/model.go:90:  100.0%
github.com/vaayne/anna/internal/channel/feishu/render.go:16: 18.2%
github.com/vaayne/anna/internal/channel/feishu/render.go:67: 100.0%
github.com/vaayne/anna/internal/channel/feishu/stream.go:165: 0.0%
github.com/vaayne/anna/internal/channel/feishu/stream.go:188: 0.0%
github.com/vaayne/anna/internal/channel/feishu/stream.go:208: 78.6%
github.com/vaayne/anna/internal/channel/feishu/stream.go:36: 100.0%
github.com/vaayne/anna/internal/channel/feishu/stream.go:60: 100.0%
github.com/vaayne/anna/internal/channel/feishu/stream.go:65: 100.0%
github.com/vaayne/anna/internal/channel/feishu/stream.go:80: 0.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:114: 83.3%
github.com/vaayne/anna/internal/channel/feishu/thread.go:13: 100.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:28: 0.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:37: 0.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:43: 0.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:48: 0.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:73: 0.0%
github.com/vaayne/anna/internal/channel/feishu/thread.go:78: 0.0%
github.com/vaayne/anna/internal/channel/identity.go:129:     100.0%
github.com/vaayne/anna/internal/channel/identity.go:33:      68.8%
github.com/vaayne/anna/internal/channel/identity.go:63:      89.3%
github.com/vaayne/anna/internal/channel/linkcode.go:16:      81.2%
github.com/vaayne/anna/internal/channel/linkcode.go:55:      80.0%
github.com/vaayne/anna/internal/channel/notifier.go:161:     80.0%
github.com/vaayne/anna/internal/channel/notifier.go:182:     100.0%
github.com/vaayne/anna/internal/channel/notifier.go:40:      100.0%
github.com/vaayne/anna/internal/channel/notifier.go:45:      100.0%
github.com/vaayne/anna/internal/channel/notifier.go:53:      100.0%
github.com/vaayne/anna/internal/channel/notifier.go:84:      100.0%
github.com/vaayne/anna/internal/channel/notifier.go:98:      50.0%
github.com/vaayne/anna/internal/channel/notify_tool.go:16:   100.0%
github.com/vaayne/anna/internal/channel/notify_tool.go:43:   100.0%
github.com/vaayne/anna/internal/channel/notify_tool.go:51:   100.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:105:   30.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:139:   100.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:152:   76.2%
github.com/vaayne/anna/internal/channel/qq/handler.go:189:   0.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:19:    0.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:230:   71.4%
github.com/vaayne/anna/internal/channel/qq/handler.go:258:   100.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:263:   0.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:273:   0.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:285:   0.0%
github.com/vaayne/anna/internal/channel/qq/handler.go:59:    0.0%
github.com/vaayne/anna/internal/channel/qq/model.go:11:      100.0%
github.com/vaayne/anna/internal/channel/qq/model.go:21:      90.9%
github.com/vaayne/anna/internal/channel/qq/model.go:43:      91.7%
github.com/vaayne/anna/internal/channel/qq/model.go:78:      100.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:101:        0.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:146:        100.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:154:        100.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:157:        18.2%
github.com/vaayne/anna/internal/channel/qq/qq.go:186:        100.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:191:        100.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:197:        0.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:25:         100.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:63:         0.0%
github.com/vaayne/anna/internal/channel/qq/qq.go:73:         87.5%
github.com/vaayne/anna/internal/channel/qq/render.go:11:     0.0%
github.com/vaayne/anna/internal/channel/qq/render.go:41:     100.0%
github.com/vaayne/anna/internal/channel/qq/stream.go:131:    0.0%
github.com/vaayne/anna/internal/channel/qq/stream.go:171:    78.6%
github.com/vaayne/anna/internal/channel/qq/stream.go:27:     100.0%
github.com/vaayne/anna/internal/channel/qq/stream.go:53:     0.0%
github.com/vaayne/anna/internal/channel/resolved.go:26:      0.0%
github.com/vaayne/anna/internal/channel/resolved.go:29:      0.0%
github.com/vaayne/anna/internal/channel/resolved.go:34:      0.0%
github.com/vaayne/anna/internal/channel/resolved.go:39:      0.0%
github.com/vaayne/anna/internal/channel/resolved.go:45:      0.0%
github.com/vaayne/anna/internal/channel/resolved.go:56:      0.0%
github.com/vaayne/anna/internal/channel/telegram/agent.go:101: 0.0%
github.com/vaayne/anna/internal/channel/telegram/agent.go:16: 0.0%
github.com/vaayne/anna/internal/channel/telegram/agent.go:21: 0.0%
github.com/vaayne/anna/internal/channel/telegram/agent.go:75: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:145: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:154: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:173: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:198: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:19: 100.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:231: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:276: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:27: 100.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:38: 0.0%
github.com/vaayne/anna/internal/channel/telegram/handler.go:42: 0.0%
github.com/vaayne/anna/internal/channel/telegram/model.go:126: 0.0%
github.com/vaayne/anna/internal/channel/telegram/model.go:14: 0.0%
github.com/vaayne/anna/internal/channel/telegram/model.go:21: 0.0%
github.com/vaayne/anna/internal/channel/telegram/model.go:88: 0.0%
github.com/vaayne/anna/internal/channel/telegram/render.go:22: 0.0%
github.com/vaayne/anna/internal/channel/telegram/render.go:32: 0.0%
github.com/vaayne/anna/internal/channel/telegram/render.go:48: 0.0%
github.com/vaayne/anna/internal/channel/telegram/render.go:67: 85.7%
github.com/vaayne/anna/internal/channel/telegram/stream.go:110: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:138: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:146: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:153: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:215: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:235: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:244: 75.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:262: 0.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:281: 0.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:338: 0.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:408: 85.7%
github.com/vaayne/anna/internal/channel/telegram/stream.go:437: 0.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:448: 0.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:60: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:77: 100.0%
github.com/vaayne/anna/internal/channel/telegram/stream.go:97: 83.3%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:108: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:128: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:134: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:137: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:171: 100.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:174: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:191: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:197: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:210: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:228: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:237: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:26: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:57: 0.0%
github.com/vaayne/anna/internal/channel/telegram/telegram.go:98: 0.0%
github.com/vaayne/anna/internal/channel/util.go:13:          100.0%
github.com/vaayne/anna/internal/channel/util.go:42:          100.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:109: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:135: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:177: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:214: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:256: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:294: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:344: 100.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:40: 100.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:51: 100.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:68: 100.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:77: 0.0%
github.com/vaayne/anna/internal/channel/weixin/client.go:85: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:129: 93.3%
github.com/vaayne/anna/internal/channel/weixin/handler.go:160: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:16: 90.9%
github.com/vaayne/anna/internal/channel/weixin/handler.go:196: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:220: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:261: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:283: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:292: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:324: 100.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:339: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:48: 0.0%
github.com/vaayne/anna/internal/channel/weixin/handler.go:77: 0.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:118: 0.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:155: 0.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:182: 100.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:190: 100.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:19:  87.5%
github.com/vaayne/anna/internal/channel/weixin/media.go:201: 100.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:208: 66.7%
github.com/vaayne/anna/internal/channel/weixin/media.go:228: 75.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:36:  77.8%
github.com/vaayne/anna/internal/channel/weixin/media.go:56:  100.0%
github.com/vaayne/anna/internal/channel/weixin/media.go:64:  83.3%
github.com/vaayne/anna/internal/channel/weixin/media.go:91:  75.0%
github.com/vaayne/anna/internal/channel/weixin/render.go:133: 0.0%
github.com/vaayne/anna/internal/channel/weixin/render.go:15: 0.0%
github.com/vaayne/anna/internal/channel/weixin/render.go:206: 0.0%
github.com/vaayne/anna/internal/channel/weixin/render.go:278: 0.0%
github.com/vaayne/anna/internal/channel/weixin/render.go:287: 0.0%
github.com/vaayne/anna/internal/channel/weixin/render.go:48: 0.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:101: 100.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:106: 94.3%
github.com/vaayne/anna/internal/channel/weixin/stream.go:165: 100.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:185: 100.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:193: 75.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:209: 0.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:238: 0.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:269: 0.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:52: 100.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:68: 100.0%
github.com/vaayne/anna/internal/channel/weixin/stream.go:88: 83.3%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:101: 0.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:176: 61.5%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:214: 0.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:230: 0.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:243: 0.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:273: 0.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:311: 100.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:58: 100.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:68: 100.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:90: 100.0%
github.com/vaayne/anna/internal/channel/weixin/weixin.go:93: 100.0%
github.com/vaayne/anna/internal/config/config.go:37:         100.0%
github.com/vaayne/anna/internal/config/config.go:49:         100.0%
github.com/vaayne/anna/internal/config/config.go:54:         66.7%
github.com/vaayne/anna/internal/config/config.go:62:         80.0%
github.com/vaayne/anna/internal/config/config.go:73:         100.0%
github.com/vaayne/anna/internal/config/dbstore.go:107:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:115:       90.0%
github.com/vaayne/anna/internal/config/dbstore.go:142:       80.0%
github.com/vaayne/anna/internal/config/dbstore.go:168:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:174:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:186:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:194:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:208:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:219:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:21:        100.0%
github.com/vaayne/anna/internal/config/dbstore.go:227:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:236:       83.3%
github.com/vaayne/anna/internal/config/dbstore.go:250:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:258:       0.0%
github.com/vaayne/anna/internal/config/dbstore.go:275:       0.0%
github.com/vaayne/anna/internal/config/dbstore.go:284:       83.3%
github.com/vaayne/anna/internal/config/dbstore.go:28:        85.7%
github.com/vaayne/anna/internal/config/dbstore.go:295:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:304:       86.7%
github.com/vaayne/anna/internal/config/dbstore.go:383:       76.5%
github.com/vaayne/anna/internal/config/dbstore.go:40:        100.0%
github.com/vaayne/anna/internal/config/dbstore.go:427:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:438:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:449:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:457:       75.0%
github.com/vaayne/anna/internal/config/dbstore.go:477:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:493:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:51:        75.0%
github.com/vaayne/anna/internal/config/dbstore.go:64:        75.0%
github.com/vaayne/anna/internal/config/dbstore.go:77:        100.0%
github.com/vaayne/anna/internal/config/dbstore.go:83:        85.7%
github.com/vaayne/anna/internal/config/dbstore.go:95:        85.7%
github.com/vaayne/anna/internal/config/model.go:33:          87.5%
github.com/vaayne/anna/internal/config/models_cache.go:24:   0.0%
github.com/vaayne/anna/internal/config/models_cache.go:29:   0.0%
github.com/vaayne/anna/internal/config/models_cache.go:42:   0.0%
github.com/vaayne/anna/internal/config/paths.go:17:          100.0%
github.com/vaayne/anna/internal/config/paths.go:24:          60.0%
github.com/vaayne/anna/internal/config/paths.go:42:          100.0%
github.com/vaayne/anna/internal/config/paths.go:48:          100.0%
github.com/vaayne/anna/internal/config/paths.go:53:          100.0%
github.com/vaayne/anna/internal/config/snapshot.go:102:      0.0%
github.com/vaayne/anna/internal/config/snapshot.go:113:      100.0%
github.com/vaayne/anna/internal/config/snapshot.go:118:      100.0%
github.com/vaayne/anna/internal/config/snapshot.go:45:       100.0%
github.com/vaayne/anna/internal/config/snapshot.go:54:       100.0%
github.com/vaayne/anna/internal/config/snapshot.go:69:       100.0%
github.com/vaayne/anna/internal/config/snapshot.go:77:       87.5%
github.com/vaayne/anna/internal/db/authstore.go:107:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:114:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:118:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:130:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:143:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:151:         75.0%
github.com/vaayne/anna/internal/db/authstore.go:162:         85.7%
github.com/vaayne/anna/internal/db/authstore.go:174:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:183:         90.0%
github.com/vaayne/anna/internal/db/authstore.go:210:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:218:         85.7%
github.com/vaayne/anna/internal/db/authstore.go:22:          100.0%
github.com/vaayne/anna/internal/db/authstore.go:230:         85.7%
github.com/vaayne/anna/internal/db/authstore.go:242:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:263:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:272:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:282:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:28:          100.0%
github.com/vaayne/anna/internal/db/authstore.go:292:         83.3%
github.com/vaayne/anna/internal/db/authstore.go:302:         83.3%
github.com/vaayne/anna/internal/db/authstore.go:314:         75.0%
github.com/vaayne/anna/internal/db/authstore.go:326:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:334:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:341:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:348:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:355:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:367:         75.0%
github.com/vaayne/anna/internal/db/authstore.go:375:         57.1%
github.com/vaayne/anna/internal/db/authstore.go:395:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:39:          100.0%
github.com/vaayne/anna/internal/db/authstore.go:406:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:422:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:47:          75.0%
github.com/vaayne/anna/internal/db/authstore.go:55:          85.7%
github.com/vaayne/anna/internal/db/authstore.go:67:          66.7%
github.com/vaayne/anna/internal/db/authstore.go:83:          0.0%
github.com/vaayne/anna/internal/db/authstore.go:93:          0.0%
github.com/vaayne/anna/internal/db/database.go:112:          83.3%
github.com/vaayne/anna/internal/db/database.go:132:          90.9%
github.com/vaayne/anna/internal/db/database.go:18:           53.8%
github.com/vaayne/anna/internal/db/database.go:44:           60.0%
github.com/vaayne/anna/internal/db/database.go:57:           64.3%
github.com/vaayne/anna/internal/db/sqlc/auth_identities.sql.go:25: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_identities.sql.go:48: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_identities.sql.go:57: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_identities.sql.go:80: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_identities.sql.go:98: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_policies.sql.go:136: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_policies.sql.go:196: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_policies.sql.go:31: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_policies.sql.go:65: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_policies.sql.go:74: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_policies.sql.go:97: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_sessions.sql.go:24: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_sessions.sql.go:40: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_sessions.sql.go:49: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_sessions.sql.go:58: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_sessions.sql.go:67: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_sessions.sql.go:88: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_user_agents.sql.go:23: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_user_agents.sql.go:32: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_user_agents.sql.go:59: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_user_agents.sql.go:91: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:107: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:156: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:178: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:17: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:195: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:212: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:35: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:56: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:65: 0.0%
github.com/vaayne/anna/internal/db/sqlc/auth_users.sql.go:86: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_agent_memory.sql.go:125: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_agent_memory.sql.go:21: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_agent_memory.sql.go:35: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_agent_memory.sql.go:51: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_agent_memory.sql.go:83: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:113: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:136: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:175: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:220: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:234: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:243: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:24: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:252: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:266: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:280: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:59: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_conversations.sql.go:90: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:127: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:174: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:193: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:220: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:26: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:41: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:57: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:66: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_items.sql.go:79: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:101: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:121: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:132: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:170: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:218: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:262: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:29: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:307: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:70: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_messages.sql.go:90: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:100: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:140: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:167: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:210: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:249: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:296: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:312: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:32: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:330: 0.0%
github.com/vaayne/anna/internal/db/sqlc/ctx_summaries.sql.go:53: 0.0%
github.com/vaayne/anna/internal/db/sqlc/db.go:19:            0.0%
github.com/vaayne/anna/internal/db/sqlc/db.go:27:            0.0%
github.com/vaayne/anna/internal/db/sqlc/sched_jobs.sql.go:100: 0.0%
github.com/vaayne/anna/internal/db/sqlc/sched_jobs.sql.go:155: 0.0%
github.com/vaayne/anna/internal/db/sqlc/sched_jobs.sql.go:33: 0.0%
github.com/vaayne/anna/internal/db/sqlc/sched_jobs.sql.go:68: 0.0%
github.com/vaayne/anna/internal/db/sqlc/sched_jobs.sql.go:77: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings.sql.go:16:  0.0%
github.com/vaayne/anna/internal/db/sqlc/settings.sql.go:25:  0.0%
github.com/vaayne/anna/internal/db/sqlc/settings.sql.go:36:  0.0%
github.com/vaayne/anna/internal/db/sqlc/settings.sql.go:72:  0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_agents.sql.go:139: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_agents.sql.go:201: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_agents.sql.go:31: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_agents.sql.go:66: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_agents.sql.go:75: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_agents.sql.go:99: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channel_agents.sql.go:21: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channel_agents.sql.go:35: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channel_agents.sql.go:51: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channel_agents.sql.go:93: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channels.sql.go:16: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channels.sql.go:33: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_channels.sql.go:77: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_providers.sql.go:121: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_providers.sql.go:25: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_providers.sql.go:48: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_providers.sql.go:57: 0.0%
github.com/vaayne/anna/internal/db/sqlc/settings_providers.sql.go:75: 0.0%
github.com/vaayne/anna/internal/embedded/embedded.go:105:    0.0%
github.com/vaayne/anna/internal/embedded/embedded.go:20:     100.0%
github.com/vaayne/anna/internal/embedded/embedded.go:29:     100.0%
github.com/vaayne/anna/internal/embedded/embedded.go:34:     0.0%
github.com/vaayne/anna/internal/embedded/embedded.go:43:     75.0%
github.com/vaayne/anna/internal/embedded/embedded.go:57:     58.8%
github.com/vaayne/anna/internal/embedded/embedded.go:91:     87.5%
github.com/vaayne/anna/internal/memory/assembler.go:100:     85.7%
github.com/vaayne/anna/internal/memory/assembler.go:113:     66.7%
github.com/vaayne/anna/internal/memory/assembler.go:147:     100.0%
github.com/vaayne/anna/internal/memory/assembler.go:182:     87.5%
github.com/vaayne/anna/internal/memory/assembler.go:19:      100.0%
github.com/vaayne/anna/internal/memory/assembler.go:26:      90.9%
github.com/vaayne/anna/internal/memory/assembler.go:83:      100.0%
github.com/vaayne/anna/internal/memory/compaction.go:125:    100.0%
github.com/vaayne/anna/internal/memory/compaction.go:156:    82.4%
github.com/vaayne/anna/internal/memory/compaction.go:24:     100.0%
github.com/vaayne/anna/internal/memory/compaction.go:271:    88.2%
github.com/vaayne/anna/internal/memory/compaction.go:312:    100.0%
github.com/vaayne/anna/internal/memory/compaction.go:350:    81.0%
github.com/vaayne/anna/internal/memory/compaction.go:37:     81.8%
github.com/vaayne/anna/internal/memory/compaction.go:476:    100.0%
github.com/vaayne/anna/internal/memory/compaction.go:78:     63.6%
github.com/vaayne/anna/internal/memory/compaction.go:98:     87.5%
github.com/vaayne/anna/internal/memory/context.go:14:        0.0%
github.com/vaayne/anna/internal/memory/context.go:19:        0.0%
github.com/vaayne/anna/internal/memory/context.go:25:        0.0%
github.com/vaayne/anna/internal/memory/context.go:30:        0.0%
github.com/vaayne/anna/internal/memory/context.go:36:        0.0%
github.com/vaayne/anna/internal/memory/context.go:41:        0.0%
github.com/vaayne/anna/internal/memory/engine.go:107:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:113:        80.0%
github.com/vaayne/anna/internal/memory/engine.go:124:        78.6%
github.com/vaayne/anna/internal/memory/engine.go:182:        75.0%
github.com/vaayne/anna/internal/memory/engine.go:191:        88.9%
github.com/vaayne/anna/internal/memory/engine.go:207:        85.7%
github.com/vaayne/anna/internal/memory/engine.go:220:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:226:        75.0%
github.com/vaayne/anna/internal/memory/engine.go:275:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:284:        90.9%
github.com/vaayne/anna/internal/memory/engine.go:304:        77.8%
github.com/vaayne/anna/internal/memory/engine.go:324:        66.7%
github.com/vaayne/anna/internal/memory/engine.go:331:        83.3%
github.com/vaayne/anna/internal/memory/engine.go:355:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:363:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:379:        75.0%
github.com/vaayne/anna/internal/memory/engine.go:406:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:414:        80.0%
github.com/vaayne/anna/internal/memory/engine.go:475:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:488:        83.3%
github.com/vaayne/anna/internal/memory/engine.go:510:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:531:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:54:         100.0%
github.com/vaayne/anna/internal/memory/engine.go:556:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:571:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:594:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:615:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:63:         100.0%
github.com/vaayne/anna/internal/memory/engine.go:650:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:660:        100.0%
github.com/vaayne/anna/internal/memory/engine.go:71:         83.3%
github.com/vaayne/anna/internal/memory/engine.go:85:         100.0%
github.com/vaayne/anna/internal/memory/retrieval.go:133:     92.6%
github.com/vaayne/anna/internal/memory/retrieval.go:14:      100.0%
github.com/vaayne/anna/internal/memory/retrieval.go:188:     100.0%
github.com/vaayne/anna/internal/memory/retrieval.go:197:     100.0%
github.com/vaayne/anna/internal/memory/retrieval.go:211:     100.0%
github.com/vaayne/anna/internal/memory/retrieval.go:27:      0.0%
github.com/vaayne/anna/internal/memory/retrieval.go:37:      86.4%
github.com/vaayne/anna/internal/memory/retrieval.go:94:      87.5%
github.com/vaayne/anna/internal/memory/summarize.go:127:     94.7%
github.com/vaayne/anna/internal/memory/summarize.go:164:     100.0%
github.com/vaayne/anna/internal/memory/summarize.go:193:     100.0%
github.com/vaayne/anna/internal/memory/summarize.go:96:      100.0%
github.com/vaayne/anna/internal/memory/tool/helpers.go:4:    71.4%
github.com/vaayne/anna/internal/memory/tool/memory.go:100:   88.2%
github.com/vaayne/anna/internal/memory/tool/memory.go:130:   80.0%
github.com/vaayne/anna/internal/memory/tool/memory.go:148:   81.8%
github.com/vaayne/anna/internal/memory/tool/memory.go:168:   85.7%
github.com/vaayne/anna/internal/memory/tool/memory.go:61:    100.0%
github.com/vaayne/anna/internal/memory/tool/memory.go:66:    100.0%
github.com/vaayne/anna/internal/memory/tool/memory.go:80:    100.0%
github.com/vaayne/anna/internal/memory/tool/memory.go:84:    100.0%
github.com/vaayne/anna/internal/memory/types.go:125:         100.0%
github.com/vaayne/anna/internal/memory/types.go:200:         100.0%
github.com/vaayne/anna/internal/memory/usermemory.go:16:     100.0%
github.com/vaayne/anna/internal/memory/usermemory.go:22:     75.0%
github.com/vaayne/anna/internal/memory/usermemory.go:31:     66.7%
github.com/vaayne/anna/internal/plugin/adapt.go:15:          100.0%
github.com/vaayne/anna/internal/plugin/adapt.go:23:          100.0%
github.com/vaayne/anna/internal/plugin/adapt.go:28:          100.0%
github.com/vaayne/anna/internal/plugin/convert.go:12:        43.8%
github.com/vaayne/anna/internal/plugin/convert.go:46:        85.7%
github.com/vaayne/anna/internal/plugin/convert.go:58:        71.4%
github.com/vaayne/anna/internal/plugin/hostapi.go:105:       92.3%
github.com/vaayne/anna/internal/plugin/hostapi.go:131:       37.5%
github.com/vaayne/anna/internal/plugin/hostapi.go:149:       100.0%
github.com/vaayne/anna/internal/plugin/hostapi.go:154:       50.9%
github.com/vaayne/anna/internal/plugin/hostapi.go:247:       0.0%
github.com/vaayne/anna/internal/plugin/hostapi.go:279:       0.0%
github.com/vaayne/anna/internal/plugin/hostapi.go:35:        55.0%
github.com/vaayne/anna/internal/plugin/manager.go:20:        100.0%
github.com/vaayne/anna/internal/plugin/manager.go:28:        0.0%
github.com/vaayne/anna/internal/plugin/manager.go:34:        83.3%
github.com/vaayne/anna/internal/plugin/manager.go:46:        66.7%
github.com/vaayne/anna/internal/plugin/manager.go:57:        0.0%
github.com/vaayne/anna/internal/plugin/manager.go:67:        100.0%
github.com/vaayne/anna/internal/plugin/manager.go:76:        100.0%
github.com/vaayne/anna/internal/plugin/registry.go:18:       100.0%
github.com/vaayne/anna/internal/plugin/registry.go:31:       100.0%
github.com/vaayne/anna/internal/plugin/registry.go:45:       100.0%
github.com/vaayne/anna/internal/plugin/registry.go:52:       100.0%
github.com/vaayne/anna/internal/plugin/registry.go:72:       100.0%
github.com/vaayne/anna/internal/plugin/runtime.go:207:       85.0%
github.com/vaayne/anna/internal/plugin/runtime.go:245:       100.0%
github.com/vaayne/anna/internal/plugin/runtime.go:24:        100.0%
github.com/vaayne/anna/internal/plugin/runtime.go:26:        100.0%
github.com/vaayne/anna/internal/plugin/runtime.go:40:        100.0%
github.com/vaayne/anna/internal/plugin/runtime.go:46:        84.3%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:113:  75.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:129:  80.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:146:  80.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:155:  90.9%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:175:  71.4%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:190:  100.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:209:  100.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:36:   100.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:45:   0.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:64:   83.9%
github.com/vaayne/anna/internal/scheduler/job.go:39:         85.7%
github.com/vaayne/anna/internal/scheduler/persistence.go:118: 71.4%
github.com/vaayne/anna/internal/scheduler/persistence.go:16: 85.7%
github.com/vaayne/anna/internal/scheduler/persistence.go:29: 100.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:51: 100.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:57: 71.9%
github.com/vaayne/anna/internal/scheduler/service.go:103:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:107:    88.0%
github.com/vaayne/anna/internal/scheduler/service.go:151:    60.0%
github.com/vaayne/anna/internal/scheduler/service.go:162:    0.0%
github.com/vaayne/anna/internal/scheduler/service.go:187:    87.8%
github.com/vaayne/anna/internal/scheduler/service.go:267:    84.6%
github.com/vaayne/anna/internal/scheduler/service.go:294:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:305:    88.9%
github.com/vaayne/anna/internal/scheduler/service.go:349:    88.9%
github.com/vaayne/anna/internal/scheduler/service.go:52:     75.0%
github.com/vaayne/anna/internal/scheduler/service.go:69:     0.0%
github.com/vaayne/anna/internal/scheduler/service.go:85:     100.0%
github.com/vaayne/anna/internal/scheduler/service.go:90:     100.0%
github.com/vaayne/anna/internal/scheduler/service.go:97:     100.0%
github.com/vaayne/anna/internal/scheduler/tool.go:113:       100.0%
github.com/vaayne/anna/internal/scheduler/tool.go:123:       83.3%
github.com/vaayne/anna/internal/scheduler/tool.go:62:        100.0%
github.com/vaayne/anna/internal/scheduler/tool.go:67:        100.0%
github.com/vaayne/anna/internal/scheduler/tool.go:76:        100.0%
github.com/vaayne/anna/internal/scheduler/tool.go:81:        100.0%
github.com/vaayne/anna/internal/scheduler/tool.go:95:        91.7%
github.com/vaayne/anna/internal/skills/install.go:22:        100.0%
github.com/vaayne/anna/internal/skills/install.go:26:        88.9%
github.com/vaayne/anna/internal/skills/install.go:43:        46.7%
github.com/vaayne/anna/internal/skills/install.go:77:        0.0%
github.com/vaayne/anna/internal/skills/install.go:98:        75.0%
github.com/vaayne/anna/internal/skills/list.go:17:           87.5%
github.com/vaayne/anna/internal/skills/load.go:10:           90.9%
github.com/vaayne/anna/internal/skills/remove.go:14:         66.7%
github.com/vaayne/anna/internal/skills/remove.go:34:         100.0%
github.com/vaayne/anna/internal/skills/tool.go:111:          23.1%
github.com/vaayne/anna/internal/skills/tool.go:56:           100.0%
github.com/vaayne/anna/internal/skills/tool.go:71:           100.0%
github.com/vaayne/anna/internal/skills/tool.go:79:           100.0%
github.com/vaayne/anna/internal/skills/tool.go:88:           100.0%
github.com/vaayne/anna/internal/skills/tool.go:93:           75.0%

@vaayne vaayne merged commit b9ec32c into main Mar 28, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant