Skip to content

✨ feat: Feishu auto-provisioning#116

Merged
vaayne merged 12 commits intomainfrom
feat/feishu-auto-provision
Apr 20, 2026
Merged

✨ feat: Feishu auto-provisioning#116
vaayne merged 12 commits intomainfrom
feat/feishu-auto-provision

Conversation

@vaayne
Copy link
Copy Markdown
Owner

@vaayne vaayne commented Apr 20, 2026

Summary

  • Adds automatic Anna account creation for Feishu tenant employees on first message — no manual registration or /link step needed
  • Provisioning is tenant-gated: tenant_key in config is checked against the event; external guests in shared groups are denied per-message as before
  • Zero-admin guard: provisioning is refused until the first admin registers, preventing stranded deployments

Design

  • internal/auth/provision.go — idempotent ProvisionIdentityUser: fast-path identity lookup, username derivation (email local-part → feishu-<uid[:8]> fallback → -N suffix), race-safe via unique-constraint re-read on concurrent provisions
  • pkg/channel.Provisioner — opt-in interface so only Feishu needs to implement it; Coordinator.ProvisionUser implements it with the zero-admin guard
  • plugins/channels/feishu/provision.gofetchTenantProfile (contact.v3.user.get) + maybeAutoProvision with union_id-keyed 1h cache
  • Provisioning runs after dedup + group-eligibility checks; /link messages are skipped so the manual link-code flow stays authoritative
  • runtime.go and plugin.go both propagate the new TenantKey/AutoProvision fields; validateConfig rejects auto_provision=true without tenant_key

Test plan

  • go test ./internal/auth/... — provision idempotency, username collision, empty-email fallback
  • go test ./plugins/channels/feishu/... — validateConfig, maybeAutoProvision disabled/wrong-tenant/cache-hit/nil-profile cases
  • go test ./internal/channel/... — Coordinator compile-time assertions
  • Manual smoke: configure a Feishu channel with auto_provision=true + valid tenant_key, send a message from a tenant user, verify Anna account + identity appear in DB; send from external guest, verify denial

🤖 Generated with Claude Code

vaayne added 7 commits April 20, 2026 12:41
Assisted-by: claude-code:claude-sonnet-4-6
Idempotent user+identity creation for auto-provisioning channel users.
Handles concurrent races via unique-constraint re-read, derives usernames
from email local-part or feishu-<uid[:8]> fallback with -N suffix on collision.

Assisted-by: claude-code:claude-sonnet-4-6
Defines pkgchannel.Provisioner as an opt-in interface for channels that
want to auto-provision users. Coordinator implements it, guarding against
zero-admin deployments. Compile-time assertions catch interface drift.

Assisted-by: claude-code:claude-sonnet-4-6
Adds tenant_key and auto_provision fields to FeishuConfig and the bot
Config struct. validateConfig rejects auto_provision without tenant_key.
Both NewChannel closures (plugin.go and runtime.go) propagate the fields.

Assisted-by: claude-code:claude-sonnet-4-6
Adds fetchTenantProfile (contact.v3.user.get) and maybeAutoProvision.
Cache is keyed on union_id (canonical) after profile fetch; falls back to
open_id before the profile is available. Provisioning skipped silently on
any error so message flow is never blocked.

Assisted-by: claude-code:claude-sonnet-4-6
Provisioning runs after dedup+group-eligibility checks so duplicate events
and bots in disabled groups never trigger it. /link messages are skipped so
the manual link-code flow stays authoritative. tenantKey from the event is
checked explicitly in onMessage; onReaction relies on the contact API as an
implicit tenant filter.

Assisted-by: claude-code:claude-sonnet-4-6
Adds auto-provisioning section covering how it works, required app scopes,
how to find the tenant key, example config, and warnings about external
guests and the zero-admin guard. Updates config reference tables with the
two new fields.

Assisted-by: claude-code:claude-sonnet-4-6
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: c777fc91d3

ℹ️ 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".


if err := provisioner.ProvisionUser(ctx, pkgchannel.ProvisionRequest{
Platform: pkgchannel.PlatformFeishu,
ExternalID: unionID,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Prevent provisioning with an empty external ID

This call forwards unionID directly as ExternalID even when no union_id is present in either the event or Contact API response. In that case, provisioning creates/looks up the identity key (feishu, ""), so every subsequent user missing union_id can be resolved to the same Anna account (because ProvisionIdentityUser is idempotent on (platform, externalID)). This is a cross-user identity mix-up; guard against empty IDs (or fall back to open_id) before provisioning.

Useful? React with 👍 / 👎.

Comment thread internal/auth/provision.go Outdated
Comment on lines +89 to +91
_, notFound := store.GetUserByUsername(ctx, candidate)
if notFound != nil {
return candidate, nil //nolint:nilerr
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 Distinguish not-found from lookup failures in username probe

Here any non-nil error from GetUserByUsername is treated as “username available.” If the datastore returns a real failure (e.g., lock/timeout), provisioning may pick an actually-taken username and then fail later with a confusing create error, or hide the real read failure entirely. Only sql.ErrNoRows should mark availability; other errors should be propagated.

Useful? React with 👍 / 👎.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 20, 2026

📊 Coverage Report

Total coverage: 46.4%

Per-package breakdown
github.com/vaayne/anna/cmd/anna/channel_runtime.go:26:       80.6%
github.com/vaayne/anna/cmd/anna/commands.go:369:             66.7%
github.com/vaayne/anna/cmd/anna/commands.go:38:              100.0%
github.com/vaayne/anna/cmd/anna/commands.go:394:             50.0%
github.com/vaayne/anna/cmd/anna/commands.go:400:             12.5%
github.com/vaayne/anna/cmd/anna/commands.go:432:             71.4%
github.com/vaayne/anna/cmd/anna/commands.go:77:              57.0%
github.com/vaayne/anna/cmd/anna/gateway.go:203:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:240:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:255:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:263:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:276:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:280:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:292:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:299:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:310:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:321:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:329:              0.0%
github.com/vaayne/anna/cmd/anna/gateway.go:342:              50.0%
github.com/vaayne/anna/cmd/anna/gateway.go:354:              100.0%
github.com/vaayne/anna/cmd/anna/gateway.go:363:              66.7%
github.com/vaayne/anna/cmd/anna/gateway.go:36:               100.0%
github.com/vaayne/anna/cmd/anna/gateway.go:59:               87.5%
github.com/vaayne/anna/cmd/anna/gateway.go:71:               27.3%
github.com/vaayne/anna/cmd/anna/main.go:13:                  0.0%
github.com/vaayne/anna/cmd/anna/main.go:30:                  0.0%
github.com/vaayne/anna/cmd/anna/models.go:107:               71.4%
github.com/vaayne/anna/cmd/anna/models.go:120:               75.0%
github.com/vaayne/anna/cmd/anna/models.go:128:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:140:               100.0%
github.com/vaayne/anna/cmd/anna/models.go:155:               100.0%
github.com/vaayne/anna/cmd/anna/models.go:163:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:174:               5.9%
github.com/vaayne/anna/cmd/anna/models.go:210:               16.7%
github.com/vaayne/anna/cmd/anna/models.go:21:                0.0%
github.com/vaayne/anna/cmd/anna/models.go:225:               8.3%
github.com/vaayne/anna/cmd/anna/models.go:251:               7.7%
github.com/vaayne/anna/cmd/anna/models.go:279:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:290:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:303:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:320:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:324:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:333:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:338:               0.0%
github.com/vaayne/anna/cmd/anna/models.go:75:                0.0%
github.com/vaayne/anna/cmd/anna/models.go:85:                0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:132:               100.0%
github.com/vaayne/anna/cmd/anna/plugin.go:141:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:16:                100.0%
github.com/vaayne/anna/cmd/anna/plugin.go:190:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:200:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:208:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:215:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:224:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:231:               0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:238:               100.0%
github.com/vaayne/anna/cmd/anna/plugin.go:245:               100.0%
github.com/vaayne/anna/cmd/anna/plugin.go:258:               100.0%
github.com/vaayne/anna/cmd/anna/plugin.go:32:                100.0%
github.com/vaayne/anna/cmd/anna/plugin.go:46:                0.0%
github.com/vaayne/anna/cmd/anna/plugin.go:67:                50.0%
github.com/vaayne/anna/cmd/anna/plugin.go:80:                50.0%
github.com/vaayne/anna/cmd/anna/plugin.go:91:                0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:107:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:120:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:140:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:163:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:189:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:18:       100.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:194:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:202:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:224:      0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:26:       0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:81:       0.0%
github.com/vaayne/anna/cmd/anna/plugin_services.go:94:       0.0%
github.com/vaayne/anna/cmd/anna/skills.go:104:               7.1%
github.com/vaayne/anna/cmd/anna/skills.go:135:               25.0%
github.com/vaayne/anna/cmd/anna/skills.go:154:               0.0%
github.com/vaayne/anna/cmd/anna/skills.go:191:               0.0%
github.com/vaayne/anna/cmd/anna/skills.go:219:               84.2%
github.com/vaayne/anna/cmd/anna/skills.go:23:                50.0%
github.com/vaayne/anna/cmd/anna/skills.go:254:               4.0%
github.com/vaayne/anna/cmd/anna/skills.go:306:               4.2%
github.com/vaayne/anna/cmd/anna/skills.go:42:                83.3%
github.com/vaayne/anna/cmd/anna/skills.go:51:                5.3%
github.com/vaayne/anna/cmd/anna/skills.go:96:                75.0%
github.com/vaayne/anna/cmd/anna/tools.go:107:                4.0%
github.com/vaayne/anna/cmd/anna/tools.go:151:                0.0%
github.com/vaayne/anna/cmd/anna/tools.go:17:                 50.0%
github.com/vaayne/anna/cmd/anna/tools.go:32:                 50.0%
github.com/vaayne/anna/cmd/anna/tools.go:42:                 0.0%
github.com/vaayne/anna/cmd/anna/tools.go:64:                 4.2%
github.com/vaayne/anna/cmd/anna/version.go:100:              75.0%
github.com/vaayne/anna/cmd/anna/version.go:108:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:116:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:138:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:172:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:184:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:189:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:222:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:237:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:248:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:293:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:326:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:342:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:412:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:428:              0.0%
github.com/vaayne/anna/cmd/anna/version.go:435:              72.7%
github.com/vaayne/anna/cmd/anna/version.go:53:               33.3%
github.com/vaayne/anna/cmd/anna/version.go:64:               6.2%
github.com/vaayne/anna/internal/admin/agent_access.go:12:    87.5%
github.com/vaayne/anna/internal/admin/agent_access.go:28:    60.0%
github.com/vaayne/anna/internal/admin/agent_access.go:37:    75.0%
github.com/vaayne/anna/internal/admin/agent_access.go:50:    100.0%
github.com/vaayne/anna/internal/admin/agent_helpers.go:15:   83.3%
github.com/vaayne/anna/internal/admin/agent_helpers.go:26:   100.0%
github.com/vaayne/anna/internal/admin/agent_users.go:10:     78.6%
github.com/vaayne/anna/internal/admin/agent_users.go:36:     47.4%
github.com/vaayne/anna/internal/admin/agent_users.go:69:     63.6%
github.com/vaayne/anna/internal/admin/agents.go:10:          66.7%
github.com/vaayne/anna/internal/admin/agents.go:110:         84.6%
github.com/vaayne/anna/internal/admin/agents.go:133:         57.1%
github.com/vaayne/anna/internal/admin/agents.go:189:         0.0%
github.com/vaayne/anna/internal/admin/agents.go:36:          65.0%
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:121:       71.4%
github.com/vaayne/anna/internal/admin/channels.go:151:       66.7%
github.com/vaayne/anna/internal/admin/channels.go:158:       66.7%
github.com/vaayne/anna/internal/admin/channels.go:165:       75.0%
github.com/vaayne/anna/internal/admin/channels.go:184:       0.0%
github.com/vaayne/anna/internal/admin/channels.go:197:       0.0%
github.com/vaayne/anna/internal/admin/channels.go:207:       69.2%
github.com/vaayne/anna/internal/admin/channels.go:227:       0.0%
github.com/vaayne/anna/internal/admin/channels.go:254:       66.7%
github.com/vaayne/anna/internal/admin/channels.go:261:       66.7%
github.com/vaayne/anna/internal/admin/channels.go:268:       91.7%
github.com/vaayne/anna/internal/admin/channels.go:294:       100.0%
github.com/vaayne/anna/internal/admin/channels.go:299:       56.0%
github.com/vaayne/anna/internal/admin/channels.go:340:       71.4%
github.com/vaayne/anna/internal/admin/channels.go:353:       0.0%
github.com/vaayne/anna/internal/admin/channels.go:53:        100.0%
github.com/vaayne/anna/internal/admin/channels.go:63:        53.8%
github.com/vaayne/anna/internal/admin/channels.go:85:        87.5%
github.com/vaayne/anna/internal/admin/channels.go:99:        78.6%
github.com/vaayne/anna/internal/admin/embed.go:15:           75.0%
github.com/vaayne/anna/internal/admin/http.go:21:            100.0%
github.com/vaayne/anna/internal/admin/http.go:26:            100.0%
github.com/vaayne/anna/internal/admin/http.go:43:            100.0%
github.com/vaayne/anna/internal/admin/http.go:7:             62.5%
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:13:          88.9%
github.com/vaayne/anna/internal/admin/plugins.go:13:         60.0%
github.com/vaayne/anna/internal/admin/plugins.go:140:        65.2%
github.com/vaayne/anna/internal/admin/plugins.go:175:        100.0%
github.com/vaayne/anna/internal/admin/plugins.go:182:        100.0%
github.com/vaayne/anna/internal/admin/plugins.go:40:         100.0%
github.com/vaayne/anna/internal/admin/plugins.go:64:         66.7%
github.com/vaayne/anna/internal/admin/plugins.go:74:         33.3%
github.com/vaayne/anna/internal/admin/plugins.go:88:         100.0%
github.com/vaayne/anna/internal/admin/plugins.go:93:         50.0%
github.com/vaayne/anna/internal/admin/profile.go:127:        59.1%
github.com/vaayne/anna/internal/admin/profile.go:14:         50.0%
github.com/vaayne/anna/internal/admin/profile.go:165:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:187:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:214:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:241:        0.0%
github.com/vaayne/anna/internal/admin/profile.go:32:         54.1%
github.com/vaayne/anna/internal/admin/profile.go:95:         69.2%
github.com/vaayne/anna/internal/admin/providers.go:114:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:125:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:13:       60.0%
github.com/vaayne/anna/internal/admin/providers.go:207:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:22:       50.0%
github.com/vaayne/anna/internal/admin/providers.go:255:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:280:      0.0%
github.com/vaayne/anna/internal/admin/providers.go:49:       0.0%
github.com/vaayne/anna/internal/admin/providers.go:59:       0.0%
github.com/vaayne/anna/internal/admin/providers.go:86:       0.0%
github.com/vaayne/anna/internal/admin/providers.go:97:       50.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:          0.0%
github.com/vaayne/anna/internal/admin/render.go:46:          0.0%
github.com/vaayne/anna/internal/admin/render.go:50:          100.0%
github.com/vaayne/anna/internal/admin/render.go:56:          87.5%
github.com/vaayne/anna/internal/admin/response.go:15:        100.0%
github.com/vaayne/anna/internal/admin/response.go:22:        100.0%
github.com/vaayne/anna/internal/admin/response.go:9:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:106:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:120:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:131:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:144:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:151:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:163:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:167:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:171:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:178:         100.0%
github.com/vaayne/anna/internal/admin/routes.go:23:          100.0%
github.com/vaayne/anna/internal/admin/routes.go:29:          100.0%
github.com/vaayne/anna/internal/admin/routes.go:36:          100.0%
github.com/vaayne/anna/internal/admin/routes.go:56:          100.0%
github.com/vaayne/anna/internal/admin/routes.go:5:           100.0%
github.com/vaayne/anna/internal/admin/routes.go:68:          100.0%
github.com/vaayne/anna/internal/admin/routes.go:82:          100.0%
github.com/vaayne/anna/internal/admin/scheduler.go:126:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:211:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:241:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:275:      0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:289:      100.0%
github.com/vaayne/anna/internal/admin/scheduler.go:314:      100.0%
github.com/vaayne/anna/internal/admin/scheduler.go:40:       0.0%
github.com/vaayne/anna/internal/admin/scheduler.go:63:       0.0%
github.com/vaayne/anna/internal/admin/server.go:37:          87.5%
github.com/vaayne/anna/internal/admin/server.go:70:          0.0%
github.com/vaayne/anna/internal/admin/sessions.go:124:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:153:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:171:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:242:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:265:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:274:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:313:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:327:       0.0%
github.com/vaayne/anna/internal/admin/sessions.go:38:        0.0%
github.com/vaayne/anna/internal/admin/sessions.go:51:        0.0%
github.com/vaayne/anna/internal/admin/sessions.go:75:        0.0%
github.com/vaayne/anna/internal/admin/skills.go:116:         100.0%
github.com/vaayne/anna/internal/admin/skills.go:122:         60.0%
github.com/vaayne/anna/internal/admin/skills.go:155:         37.5%
github.com/vaayne/anna/internal/admin/skills.go:221:         100.0%
github.com/vaayne/anna/internal/admin/skills.go:227:         52.9%
github.com/vaayne/anna/internal/admin/skills.go:256:         100.0%
github.com/vaayne/anna/internal/admin/skills.go:262:         50.0%
github.com/vaayne/anna/internal/admin/skills.go:278:         23.5%
github.com/vaayne/anna/internal/admin/skills.go:317:         64.0%
github.com/vaayne/anna/internal/admin/skills.go:32:          100.0%
github.com/vaayne/anna/internal/admin/skills.go:358:         100.0%
github.com/vaayne/anna/internal/admin/skills.go:36:          66.7%
github.com/vaayne/anna/internal/admin/skills.go:54:          0.0%
github.com/vaayne/anna/internal/admin/skills.go:85:          100.0%
github.com/vaayne/anna/internal/admin/skills.go:92:          50.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:118:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:132:  55.6%
github.com/vaayne/anna/internal/admin/skills_scoped.go:146:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:160:  55.6%
github.com/vaayne/anna/internal/admin/skills_scoped.go:174:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:17:   71.4%
github.com/vaayne/anna/internal/admin/skills_scoped.go:199:  69.2%
github.com/vaayne/anna/internal/admin/skills_scoped.go:219:  50.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:239:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:253:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:267:  66.7%
github.com/vaayne/anna/internal/admin/skills_scoped.go:281:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:295:  0.0%
github.com/vaayne/anna/internal/admin/skills_scoped.go:32:   63.6%
github.com/vaayne/anna/internal/admin/skills_scoped.go:52:   69.2%
github.com/vaayne/anna/internal/admin/skills_scoped.go:78:   84.6%
github.com/vaayne/anna/internal/admin/skills_scoped.go:98:   50.0%
github.com/vaayne/anna/internal/admin/tools.go:26:           0.0%
github.com/vaayne/anna/internal/admin/tools.go:35:           0.0%
github.com/vaayne/anna/internal/admin/tools.go:70:           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:280: 0.0%
github.com/vaayne/anna/internal/admin/ui/navbar_templ.go:29: 0.0%
github.com/vaayne/anna/internal/admin/ui/navbar_templ.go:39: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/agents_templ.go:16: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/agents_templ.go:220: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/channels_templ.go:100: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/channels_templ.go:13: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/login_templ.go:11: 0.0%
github.com/vaayne/anna/internal/admin/ui/pages/plugins_templ.go:13: 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/skills_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/ui/skills_drawer_templ.go:18: 0.0%
github.com/vaayne/anna/internal/admin/users.go:10:           0.0%
github.com/vaayne/anna/internal/admin/users.go:30:           0.0%
github.com/vaayne/anna/internal/admin/users.go:50:           0.0%
github.com/vaayne/anna/internal/admin/users.go:64:           0.0%
github.com/vaayne/anna/internal/admin/users.go:89:           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:83:       74.2%
github.com/vaayne/anna/internal/agent/factory.go:28:         5.1%
github.com/vaayne/anna/internal/agent/pool.go:101:           87.5%
github.com/vaayne/anna/internal/agent/pool.go:128:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:132:           85.7%
github.com/vaayne/anna/internal/agent/pool.go:157:           100.0%
github.com/vaayne/anna/internal/agent/pool.go:33:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:52:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:58:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:65:            83.3%
github.com/vaayne/anna/internal/agent/pool.go:78:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:86:            100.0%
github.com/vaayne/anna/internal/agent/pool.go:93:            0.0%
github.com/vaayne/anna/internal/agent/pool_chat.go:174:      87.9%
github.com/vaayne/anna/internal/agent/pool_chat.go:19:       73.3%
github.com/vaayne/anna/internal/agent/pool_compaction.go:12: 100.0%
github.com/vaayne/anna/internal/agent/pool_compaction.go:17: 77.8%
github.com/vaayne/anna/internal/agent/pool_compaction.go:42: 83.3%
github.com/vaayne/anna/internal/agent/pool_compaction.go:54: 100.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:102:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:108:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:114:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:121:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:151:   75.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:166:   100.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:174:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:184:   72.2%
github.com/vaayne/anna/internal/agent/pool_manager.go:218:   86.7%
github.com/vaayne/anna/internal/agent/pool_manager.go:252:   80.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:263:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:286:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:315:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:332:   0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:351:   25.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:377:   87.5%
github.com/vaayne/anna/internal/agent/pool_manager.go:390:   75.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:406:   66.7%
github.com/vaayne/anna/internal/agent/pool_manager.go:424:   100.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:432:   82.4%
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:62:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:69:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:76:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:83:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:90:    0.0%
github.com/vaayne/anna/internal/agent/pool_manager.go:96:    0.0%
github.com/vaayne/anna/internal/agent/pool_options.go:11:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:18:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:25:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:32:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:39:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:54:    100.0%
github.com/vaayne/anna/internal/agent/pool_options.go:61:    100.0%
github.com/vaayne/anna/internal/agent/pool_reaper.go:13:     83.3%
github.com/vaayne/anna/internal/agent/pool_reaper.go:28:     90.5%
github.com/vaayne/anna/internal/agent/pool_runner.go:16:     87.9%
github.com/vaayne/anna/internal/agent/pool_session.go:105:   100.0%
github.com/vaayne/anna/internal/agent/pool_session.go:117:   75.0%
github.com/vaayne/anna/internal/agent/pool_session.go:127:   100.0%
github.com/vaayne/anna/internal/agent/pool_session.go:145:   77.8%
github.com/vaayne/anna/internal/agent/pool_session.go:161:   94.4%
github.com/vaayne/anna/internal/agent/pool_session.go:16:    100.0%
github.com/vaayne/anna/internal/agent/pool_session.go:193:   85.7%
github.com/vaayne/anna/internal/agent/pool_session.go:25:    83.3%
github.com/vaayne/anna/internal/agent/pool_session.go:42:    80.0%
github.com/vaayne/anna/internal/agent/pool_session.go:54:    100.0%
github.com/vaayne/anna/internal/agent/pool_session.go:96:    100.0%
github.com/vaayne/anna/internal/agent/runner/context.go:12:  0.0%
github.com/vaayne/anna/internal/agent/runner/context.go:20:  75.0%
github.com/vaayne/anna/internal/agent/runner/context.go:29:  0.0%
github.com/vaayne/anna/internal/agent/runner/context.go:37:  75.0%
github.com/vaayne/anna/internal/agent/runner/context.go:46:  0.0%
github.com/vaayne/anna/internal/agent/runner/context.go:66:  50.0%
github.com/vaayne/anna/internal/agent/runner/coretools_builder.go:10: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:183: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:189: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:205: 83.3%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:217: 60.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:279: 84.6%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:300: 75.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:314: 66.7%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:363: 66.7%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:371: 60.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:442: 66.7%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:450: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:457: 0.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:461: 70.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:483: 94.4%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:534: 90.5%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:576: 100.0%
github.com/vaayne/anna/internal/agent/runner/gorunner.go:74: 76.7%
github.com/vaayne/anna/internal/agent/runner/paths.go:32:    100.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:42:    100.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:46:    80.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:68:    100.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:73:    100.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:80:    100.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:84:    100.0%
github.com/vaayne/anna/internal/agent/runner/paths.go:96:    100.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:129:  85.7%
github.com/vaayne/anna/internal/agent/runner/prompt.go:148:  95.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:188:  81.8%
github.com/vaayne/anna/internal/agent/runner/prompt.go:206:  0.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:26:   100.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:29:   100.0%
github.com/vaayne/anna/internal/agent/runner/prompt.go:82:   77.3%
github.com/vaayne/anna/internal/agent/runner/prompt_host.go:10: 66.7%
github.com/vaayne/anna/internal/agent/runner/prompt_host.go:21: 83.3%
github.com/vaayne/anna/internal/agent/runner/prompt_host.go:32: 66.7%
github.com/vaayne/anna/internal/agent/runner/runner.go:65:   100.0%
github.com/vaayne/anna/internal/agent/runner/runner.go:94:   75.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:100: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:119: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:127: 72.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:161: 63.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:235: 69.6%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:30: 66.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:312: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:323: 66.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:337: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:347: 88.9%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:368: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:41: 66.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:49: 66.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:57: 66.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:65: 80.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:76: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_backend.go:88: 66.7%
github.com/vaayne/anna/internal/agent/runner/sandbox_dood.go:46: 100.0%
github.com/vaayne/anna/internal/agent/runner/sandbox_trace.go:14: 80.0%
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/runner/tool_runtime.go:11: 66.7%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:22: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:27: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:32: 100.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:43: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:55: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:59: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:63: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:77: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:81: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:89: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:91: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:96: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:97: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:98: 0.0%
github.com/vaayne/anna/internal/agent/runner/tool_runtime.go:99: 0.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/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:58:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:117:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:152:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:165:       88.2%
github.com/vaayne/anna/internal/auth/condition.go:198:       100.0%
github.com/vaayne/anna/internal/auth/condition.go:203:       90.9%
github.com/vaayne/anna/internal/auth/condition.go:30:        92.9%
github.com/vaayne/anna/internal/auth/condition.go:60:        100.0%
github.com/vaayne/anna/internal/auth/condition.go:79:        88.9%
github.com/vaayne/anna/internal/auth/condition.go:99:        85.7%
github.com/vaayne/anna/internal/auth/engine.go:106:          100.0%
github.com/vaayne/anna/internal/auth/engine.go:119:          100.0%
github.com/vaayne/anna/internal/auth/engine.go:145:          92.3%
github.com/vaayne/anna/internal/auth/engine.go:172:          92.3%
github.com/vaayne/anna/internal/auth/engine.go:25:           87.5%
github.com/vaayne/anna/internal/auth/engine.go:43:           100.0%
github.com/vaayne/anna/internal/auth/engine.go:62:           100.0%
github.com/vaayne/anna/internal/auth/engine.go:97:           100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:113:        80.0%
github.com/vaayne/anna/internal/auth/linkcode.go:125:        100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:129:        75.0%
github.com/vaayne/anna/internal/auth/linkcode.go:142:        71.4%
github.com/vaayne/anna/internal/auth/linkcode.go:156:        57.1%
github.com/vaayne/anna/internal/auth/linkcode.go:185:        80.0%
github.com/vaayne/anna/internal/auth/linkcode.go:39:         100.0%
github.com/vaayne/anna/internal/auth/linkcode.go:45:         66.7%
github.com/vaayne/anna/internal/auth/linkcode.go:59:         75.0%
github.com/vaayne/anna/internal/auth/linkcode.go:80:         90.0%
github.com/vaayne/anna/internal/auth/linkcode.go:99:         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/provision.go:106:       100.0%
github.com/vaayne/anna/internal/auth/provision.go:28:        59.1%
github.com/vaayne/anna/internal/auth/provision.go:77:        87.5%
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/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_switch.go:112: 0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:145: 0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:158: 0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:18:  0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:22:  0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:26:  0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:34:  0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:79:  0.0%
github.com/vaayne/anna/internal/channel/agent_switch.go:87:  0.0%
github.com/vaayne/anna/internal/channel/commands.go:13:      57.1%
github.com/vaayne/anna/internal/channel/config.go:11:        75.0%
github.com/vaayne/anna/internal/channel/coordinator.go:105:  43.8%
github.com/vaayne/anna/internal/channel/coordinator.go:139:  66.7%
github.com/vaayne/anna/internal/channel/coordinator.go:150:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:180:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:204:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:224:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:235:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:240:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:244:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:270:  0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:38:   0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:47:   0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:67:   0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:74:   0.0%
github.com/vaayne/anna/internal/channel/coordinator.go:85:   0.0%
github.com/vaayne/anna/internal/channel/identity.go:132:     87.5%
github.com/vaayne/anna/internal/channel/identity.go:211:     100.0%
github.com/vaayne/anna/internal/channel/identity.go:32:      100.0%
github.com/vaayne/anna/internal/channel/identity.go:37:      72.0%
github.com/vaayne/anna/internal/channel/identity.go:77:      90.0%
github.com/vaayne/anna/internal/channel/identity.go:93:      42.1%
github.com/vaayne/anna/internal/channel/intent_classifier.go:142: 100.0%
github.com/vaayne/anna/internal/channel/intent_classifier.go:148: 93.8%
github.com/vaayne/anna/internal/channel/intent_classifier.go:173: 100.0%
github.com/vaayne/anna/internal/channel/intent_classifier.go:182: 83.3%
github.com/vaayne/anna/internal/channel/intent_classifier.go:193: 90.9%
github.com/vaayne/anna/internal/channel/intent_classifier.go:213: 85.7%
github.com/vaayne/anna/internal/channel/intent_classifier.go:230: 33.3%
github.com/vaayne/anna/internal/channel/intent_classifier.go:82: 100.0%
github.com/vaayne/anna/internal/channel/intent_classifier.go:92: 73.3%
github.com/vaayne/anna/internal/channel/linkcode.go:12:      100.0%
github.com/vaayne/anna/internal/channel/linkcode.go:16:      64.3%
github.com/vaayne/anna/internal/channel/linkcode.go:66:      80.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:21: 0.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:23: 0.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:27: 0.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:31: 0.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:35: 0.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:43: 0.0%
github.com/vaayne/anna/internal/channel/resolved_chat.go:47: 0.0%
github.com/vaayne/anna/internal/channel/session_queue.go:122: 52.9%
github.com/vaayne/anna/internal/channel/session_queue.go:165: 91.7%
github.com/vaayne/anna/internal/channel/session_queue.go:183: 88.0%
github.com/vaayne/anna/internal/channel/session_queue.go:49: 100.0%
github.com/vaayne/anna/internal/channel/session_queue.go:53: 100.0%
github.com/vaayne/anna/internal/channel/session_queue.go:61: 100.0%
github.com/vaayne/anna/internal/channel/session_queue.go:79: 80.0%
github.com/vaayne/anna/internal/channel/session_queue.go:88: 100.0%
github.com/vaayne/anna/internal/channel/session_queue.go:94: 83.3%
github.com/vaayne/anna/internal/config/config.go:33:         100.0%
github.com/vaayne/anna/internal/config/config.go:45:         100.0%
github.com/vaayne/anna/internal/config/config.go:50:         66.7%
github.com/vaayne/anna/internal/config/config.go:58:         80.0%
github.com/vaayne/anna/internal/config/config.go:69:         100.0%
github.com/vaayne/anna/internal/config/dbstore.go:1004:      100.0%
github.com/vaayne/anna/internal/config/dbstore.go:1012:      71.4%
github.com/vaayne/anna/internal/config/dbstore.go:1037:      100.0%
github.com/vaayne/anna/internal/config/dbstore.go:1053:      100.0%
github.com/vaayne/anna/internal/config/dbstore.go:1070:      71.4%
github.com/vaayne/anna/internal/config/dbstore.go:113:       80.0%
github.com/vaayne/anna/internal/config/dbstore.go:129:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:141:       87.5%
github.com/vaayne/anna/internal/config/dbstore.go:177:       81.2%
github.com/vaayne/anna/internal/config/dbstore.go:212:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:218:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:22:        100.0%
github.com/vaayne/anna/internal/config/dbstore.go:230:       0.0%
github.com/vaayne/anna/internal/config/dbstore.go:242:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:250:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:264:       0.0%
github.com/vaayne/anna/internal/config/dbstore.go:270:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:282:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:294:       71.4%
github.com/vaayne/anna/internal/config/dbstore.go:29:        87.5%
github.com/vaayne/anna/internal/config/dbstore.go:306:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:314:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:332:       75.0%
github.com/vaayne/anna/internal/config/dbstore.go:343:       75.0%
github.com/vaayne/anna/internal/config/dbstore.go:354:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:360:       87.5%
github.com/vaayne/anna/internal/config/dbstore.go:381:       66.7%
github.com/vaayne/anna/internal/config/dbstore.go:393:       66.7%
github.com/vaayne/anna/internal/config/dbstore.go:406:       83.3%
github.com/vaayne/anna/internal/config/dbstore.go:417:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:426:       87.8%
github.com/vaayne/anna/internal/config/dbstore.go:42:        100.0%
github.com/vaayne/anna/internal/config/dbstore.go:52:        71.4%
github.com/vaayne/anna/internal/config/dbstore.go:533:       68.2%
github.com/vaayne/anna/internal/config/dbstore.go:582:       72.7%
github.com/vaayne/anna/internal/config/dbstore.go:630:       63.6%
github.com/vaayne/anna/internal/config/dbstore.go:649:       81.8%
github.com/vaayne/anna/internal/config/dbstore.go:666:       40.0%
github.com/vaayne/anna/internal/config/dbstore.go:676:       87.5%
github.com/vaayne/anna/internal/config/dbstore.go:689:       87.5%
github.com/vaayne/anna/internal/config/dbstore.go:703:       88.9%
github.com/vaayne/anna/internal/config/dbstore.go:70:        77.8%
github.com/vaayne/anna/internal/config/dbstore.go:724:       85.7%
github.com/vaayne/anna/internal/config/dbstore.go:743:       80.0%
github.com/vaayne/anna/internal/config/dbstore.go:770:       75.0%
github.com/vaayne/anna/internal/config/dbstore.go:778:       62.5%
github.com/vaayne/anna/internal/config/dbstore.go:792:       50.0%
github.com/vaayne/anna/internal/config/dbstore.go:852:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:870:       0.0%
github.com/vaayne/anna/internal/config/dbstore.go:895:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:903:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:910:       66.7%
github.com/vaayne/anna/internal/config/dbstore.go:917:       66.7%
github.com/vaayne/anna/internal/config/dbstore.go:91:        100.0%
github.com/vaayne/anna/internal/config/dbstore.go:924:       100.0%
github.com/vaayne/anna/internal/config/dbstore.go:931:       83.3%
github.com/vaayne/anna/internal/config/dbstore.go:951:       72.7%
github.com/vaayne/anna/internal/config/dbstore.go:97:        80.0%
github.com/vaayne/anna/internal/config/dbstore.go:993:       83.3%
github.com/vaayne/anna/internal/config/default_models.go:11: 40.0%
github.com/vaayne/anna/internal/config/default_models.go:26: 0.0%
github.com/vaayne/anna/internal/config/default_models.go:36: 70.0%
github.com/vaayne/anna/internal/config/default_models.go:55: 72.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/plugin.go:24:         100.0%
github.com/vaayne/anna/internal/config/plugin.go:50:         100.0%
github.com/vaayne/anna/internal/config/plugin.go:73:         0.0%
github.com/vaayne/anna/internal/config/sandbox.go:38:        100.0%
github.com/vaayne/anna/internal/config/sandbox.go:46:        100.0%
github.com/vaayne/anna/internal/config/sandbox.go:54:        100.0%
github.com/vaayne/anna/internal/config/sandbox.go:82:        100.0%
github.com/vaayne/anna/internal/config/sandbox_image.go:24:  100.0%
github.com/vaayne/anna/internal/config/sandbox_image.go:34:  100.0%
github.com/vaayne/anna/internal/config/snapshot.go:108:      60.0%
github.com/vaayne/anna/internal/config/snapshot.go:119:      100.0%
github.com/vaayne/anna/internal/config/snapshot.go:124:      100.0%
github.com/vaayne/anna/internal/config/snapshot.go:47:       100.0%
github.com/vaayne/anna/internal/config/snapshot.go:56:       100.0%
github.com/vaayne/anna/internal/config/snapshot.go:71:       100.0%
github.com/vaayne/anna/internal/config/snapshot.go:79:       90.9%
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:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:172:         85.7%
github.com/vaayne/anna/internal/db/authstore.go:184:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:193:         90.0%
github.com/vaayne/anna/internal/db/authstore.go:220:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:228:         85.7%
github.com/vaayne/anna/internal/db/authstore.go:22:          100.0%
github.com/vaayne/anna/internal/db/authstore.go:240:         85.7%
github.com/vaayne/anna/internal/db/authstore.go:252:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:273:         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:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:302:         83.3%
github.com/vaayne/anna/internal/db/authstore.go:312:         83.3%
github.com/vaayne/anna/internal/db/authstore.go:324:         75.0%
github.com/vaayne/anna/internal/db/authstore.go:336:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:344:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:351:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:358:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:365:         66.7%
github.com/vaayne/anna/internal/db/authstore.go:377:         75.0%
github.com/vaayne/anna/internal/db/authstore.go:385:         57.1%
github.com/vaayne/anna/internal/db/authstore.go:39:          100.0%
github.com/vaayne/anna/internal/db/authstore.go:405:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:416:         100.0%
github.com/vaayne/anna/internal/db/authstore.go:432:         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:140:          83.3%
github.com/vaayne/anna/internal/db/database.go:160:          90.9%
github.com/vaayne/anna/internal/db/database.go:23:           57.1%
github.com/vaayne/anna/internal/db/database.go:51:           83.3%
github.com/vaayne/anna/internal/db/database.go:69:           83.3%
github.com/vaayne/anna/internal/db/database.go:85:           64.3%
github.com/vaayne/anna/internal/embedded/embedded.go:132:    62.5%
github.com/vaayne/anna/internal/embedded/embedded.go:146:    70.0%
github.com/vaayne/anna/internal/embedded/embedded.go:163:    66.7%
github.com/vaayne/anna/internal/embedded/embedded.go:170:    0.0%
github.com/vaayne/anna/internal/embedded/embedded.go:28:     100.0%
github.com/vaayne/anna/internal/embedded/embedded.go:46:     100.0%
github.com/vaayne/anna/internal/embedded/embedded.go:51:     0.0%
github.com/vaayne/anna/internal/embedded/embedded.go:60:     55.6%
github.com/vaayne/anna/internal/embedded/embedded.go:81:     0.0%
github.com/vaayne/anna/internal/embedded/embedded.go:99:     47.1%
github.com/vaayne/anna/internal/notify/dispatcher.go:106:    100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:123:    48.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:171:    0.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:181:    100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:194:    100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:202:    96.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:250:    75.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:264:    85.7%
github.com/vaayne/anna/internal/notify/dispatcher.go:278:    71.4%
github.com/vaayne/anna/internal/notify/dispatcher.go:290:    75.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:305:    100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:309:    75.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:318:    100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:328:    80.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:349:    100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:52:     100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:57:     100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:64:     0.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:78:     100.0%
github.com/vaayne/anna/internal/notify/dispatcher.go:99:     100.0%
github.com/vaayne/anna/internal/pluginhost/auth_service.go:14: 0.0%
github.com/vaayne/anna/internal/pluginhost/auth_service.go:21: 0.0%
github.com/vaayne/anna/internal/pluginhost/auth_service.go:38: 0.0%
github.com/vaayne/anna/internal/pluginhost/auth_service.go:57: 0.0%
github.com/vaayne/anna/internal/pluginhost/binary_catalog.go:11: 0.0%
github.com/vaayne/anna/internal/pluginhost/builders.go:102:  62.5%
github.com/vaayne/anna/internal/pluginhost/builders.go:18:   94.7%
github.com/vaayne/anna/internal/pluginhost/builders.go:49:   0.0%
github.com/vaayne/anna/internal/pluginhost/builders.go:75:   0.0%
github.com/vaayne/anna/internal/pluginhost/builders.go:92:   0.0%
github.com/vaayne/anna/internal/pluginhost/catalog.go:5:     100.0%
github.com/vaayne/anna/internal/pluginhost/channel_state.go:10: 0.0%
github.com/vaayne/anna/internal/pluginhost/channel_state.go:14: 83.3%
github.com/vaayne/anna/internal/pluginhost/channel_state.go:25: 66.7%
github.com/vaayne/anna/internal/pluginhost/channel_state.go:36: 0.0%
github.com/vaayne/anna/internal/pluginhost/channel_state.go:61: 88.9%
github.com/vaayne/anna/internal/pluginhost/config_service.go:15: 75.0%
github.com/vaayne/anna/internal/pluginhost/config_service.go:23: 0.0%
github.com/vaayne/anna/internal/pluginhost/config_service.go:27: 0.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:133: 61.8%
github.com/vaayne/anna/internal/pluginhost/discovery.go:18:  100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:222: 100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:232: 100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:239: 25.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:29:  100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:40:  100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:46:  100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:53:  100.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:60:  0.0%
github.com/vaayne/anna/internal/pluginhost/discovery.go:75:  90.0%
github.com/vaayne/anna/internal/pluginhost/host.go:112:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:114:      85.7%
github.com/vaayne/anna/internal/pluginhost/host.go:126:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:137:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:143:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:149:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:155:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:161:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:167:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:173:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:179:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:185:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:191:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:197:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:203:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:209:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:215:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:225:      80.0%
github.com/vaayne/anna/internal/pluginhost/host.go:235:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:236:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:238:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:242:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:256:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:266:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:276:      83.3%
github.com/vaayne/anna/internal/pluginhost/host.go:286:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:290:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:294:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:298:      0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:300:      81.0%
github.com/vaayne/anna/internal/pluginhost/host.go:332:      68.0%
github.com/vaayne/anna/internal/pluginhost/host.go:384:      60.7%
github.com/vaayne/anna/internal/pluginhost/host.go:445:      100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:49:       100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:78:       0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:79:       0.0%
github.com/vaayne/anna/internal/pluginhost/host.go:80:       100.0%
github.com/vaayne/anna/internal/pluginhost/host.go:82:       71.4%
github.com/vaayne/anna/internal/pluginhost/host.go:94:       81.8%
github.com/vaayne/anna/internal/pluginhost/metadata.go:119:  50.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:11:   91.7%
github.com/vaayne/anna/internal/pluginhost/metadata.go:134:  100.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:143:  75.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:152:  0.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:161:  75.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:170:  0.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:179:  100.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:188:  75.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:197:  0.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:206:  100.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:210:  0.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:219:  60.0%
github.com/vaayne/anna/internal/pluginhost/metadata.go:30:   52.8%
github.com/vaayne/anna/internal/pluginhost/metadata.go:99:   85.7%
github.com/vaayne/anna/internal/pluginhost/platform.go:103:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:119:  100.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:128:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:129:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:133:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:137:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:140:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:141:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:142:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:143:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:147:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:151:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:164:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:168:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:177:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:17:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:184:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:191:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:203:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:210:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:217:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:224:  0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:32:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:47:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:51:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:55:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:64:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:68:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:72:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:76:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:83:   0.0%
github.com/vaayne/anna/internal/pluginhost/platform.go:87:   0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:117:   88.9%
github.com/vaayne/anna/internal/pluginhost/runtime.go:130:   100.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:134:   86.4%
github.com/vaayne/anna/internal/pluginhost/runtime.go:164:   0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:183:   0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:193:   66.7%
github.com/vaayne/anna/internal/pluginhost/runtime.go:200:   0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:204:   0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:22:    0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:38:    100.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:42:    38.5%
github.com/vaayne/anna/internal/pluginhost/runtime.go:63:    0.0%
github.com/vaayne/anna/internal/pluginhost/runtime.go:67:    41.2%
github.com/vaayne/anna/internal/pluginhost/runtime.go:95:    0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:101: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:108: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:115: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:122: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:129: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:136: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:150: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:154: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:162: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:168: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:174: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:17: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:190: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:194: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:204: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:210: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:216: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:225: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:231: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:245: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:24: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:252: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:259: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:265: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:277: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:31: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:38: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:45: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:52: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:59: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:66: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:73: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:80: 100.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:87: 0.0%
github.com/vaayne/anna/internal/pluginhost/service_extensions.go:94: 100.0%
github.com/vaayne/anna/internal/pluginhost/tool_lifecycle.go:10: 76.7%
github.com/vaayne/anna/internal/pluginhost/tool_lifecycle.go:73: 74.1%
github.com/vaayne/anna/internal/pluginstate/store.go:19:     100.0%
github.com/vaayne/anna/internal/pluginstate/store.go:23:     80.0%
github.com/vaayne/anna/internal/pluginstate/store.go:44:     80.0%
github.com/vaayne/anna/internal/pluginstate/store.go:59:     75.0%
github.com/vaayne/anna/internal/pluginstate/store.go:72:     80.0%
github.com/vaayne/anna/internal/sandbox/factory.go:19:       100.0%
github.com/vaayne/anna/internal/sandbox/factory.go:23:       100.0%
github.com/vaayne/anna/internal/sandbox/factory.go:27:       100.0%
github.com/vaayne/anna/internal/sandbox/factory.go:35:       50.0%
github.com/vaayne/anna/internal/sandbox/factory.go:44:       100.0%
github.com/vaayne/anna/internal/sandbox/factory.go:48:       66.7%
github.com/vaayne/anna/internal/sandbox/normalize.go:22:     100.0%
github.com/vaayne/anna/internal/sandbox/normalize.go:28:     57.1%
github.com/vaayne/anna/internal/sandbox/normalize.go:58:     0.0%
github.com/vaayne/anna/internal/sandbox/normalize.go:71:     60.0%
github.com/vaayne/anna/internal/sandbox/policy.go:20:        100.0%
github.com/vaayne/anna/internal/sandbox/session.go:24:       100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:116:        100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:132:        87.1%
github.com/vaayne/anna/internal/sandbox/tools.go:15:         66.7%
github.com/vaayne/anna/internal/sandbox/tools.go:188:        100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:203:        69.2%
github.com/vaayne/anna/internal/sandbox/tools.go:231:        100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:252:        70.8%
github.com/vaayne/anna/internal/sandbox/tools.go:27:         100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:290:        72.2%
github.com/vaayne/anna/internal/sandbox/tools.go:318:        83.3%
github.com/vaayne/anna/internal/sandbox/tools.go:31:         100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:329:        90.0%
github.com/vaayne/anna/internal/sandbox/tools.go:345:        55.6%
github.com/vaayne/anna/internal/sandbox/tools.go:35:         100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:39:         100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:43:         100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:57:         100.0%
github.com/vaayne/anna/internal/sandbox/tools.go:72:         81.8%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:114:  75.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:130:  80.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:147:  80.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:156:  90.9%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:176:  71.4%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:191:  100.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:210:  100.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:37:   100.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:46:   0.0%
github.com/vaayne/anna/internal/scheduler/heartbeat.go:65:   83.9%
github.com/vaayne/anna/internal/scheduler/job.go:53:         85.7%
github.com/vaayne/anna/internal/scheduler/persistence.go:106: 42.9%
github.com/vaayne/anna/internal/scheduler/persistence.go:135: 90.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:16: 85.7%
github.com/vaayne/anna/internal/scheduler/persistence.go:172: 0.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:204: 63.6%
github.com/vaayne/anna/internal/scheduler/persistence.go:242: 66.7%
github.com/vaayne/anna/internal/scheduler/persistence.go:249: 33.3%
github.com/vaayne/anna/internal/scheduler/persistence.go:260: 62.5%
github.com/vaayne/anna/internal/scheduler/persistence.go:274: 66.7%
github.com/vaayne/anna/internal/scheduler/persistence.go:29: 100.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:35: 0.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:40: 75.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:54: 100.0%
github.com/vaayne/anna/internal/scheduler/persistence.go:60: 67.9%
github.com/vaayne/anna/internal/scheduler/plugin_jobs.go:21: 33.3%
github.com/vaayne/anna/internal/scheduler/plugin_jobs.go:32: 100.0%
github.com/vaayne/anna/internal/scheduler/plugin_jobs.go:36: 0.0%
github.com/vaayne/anna/internal/scheduler/service.go:101:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:108:    0.0%
github.com/vaayne/anna/internal/scheduler/service.go:118:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:124:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:128:    83.3%
github.com/vaayne/anna/internal/scheduler/service.go:180:    60.0%
github.com/vaayne/anna/internal/scheduler/service.go:191:    0.0%
github.com/vaayne/anna/internal/scheduler/service.go:216:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:222:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:233:    79.2%
github.com/vaayne/anna/internal/scheduler/service.go:289:    0.0%
github.com/vaayne/anna/internal/scheduler/service.go:339:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:374:    84.6%
github.com/vaayne/anna/internal/scheduler/service.go:401:    100.0%
github.com/vaayne/anna/internal/scheduler/service.go:412:    82.2%
github.com/vaayne/anna/internal/scheduler/service.go:481:    88.9%
github.com/vaayne/anna/internal/scheduler/service.go:55:     75.0%
github.com/vaayne/anna/internal/scheduler/service.go:73:     0.0%
github.com/vaayne/anna/internal/scheduler/service.go:89:     100.0%
github.com/vaayne/anna/internal/scheduler/service.go:94:     0.0%
github.com/vaayne/anna/internal/scheduler/tool.go:113:       90.0%
github.com/vaayne/anna/internal/scheduler/tool.go:130:       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/migrate_fs.go:116:    84.6%
github.com/vaayne/anna/internal/skills/migrate_fs.go:159:    62.1%
github.com/vaayne/anna/internal/skills/migrate_fs.go:216:    75.0%
github.com/vaayne/anna/internal/skills/migrate_fs.go:229:    80.0%
github.com/vaayne/anna/internal/skills/migrate_fs.go:257:    80.0%
github.com/vaayne/anna/internal/skills/migrate_fs.go:52:     76.0%
github.com/vaayne/anna/internal/skills/sqlite.go:102:        83.3%
github.com/vaayne/anna/internal/skills/sqlite.go:171:        75.0%
github.com/vaayne/anna/internal/skills/sqlite.go:214:        66.7%
github.com/vaayne/anna/internal/skills/sqlite.go:226:        66.7%
github.com/vaayne/anna/internal/skills/sqlite.go:22:         100.0%
github.com/vaayne/anna/internal/skills/sqlite.go:237:        66.7%
github.com/vaayne/anna/internal/skills/sqlite.go:246:        0.0%
github.com/vaayne/anna/internal/skills/sqlite.go:254:        100.0%
github.com/vaayne/anna/internal/skills/sqlite.go:27:         85.7%
github.com/vaayne/anna/internal/skills/sqlite.go:43:         0.0%
github.com/vaayne/anna/internal/skills/sqlite.go:56:         0.0%
github.com/vaayne/anna/internal/skills/sqlite.go:69:         85.7%
github.com/vaayne/anna/internal/skills/sqlite.go:86:         83.3%
github.com/vaayne/anna/internal/skills/sync_builtin.go:120:  73.0%
github.com/vaayne/anna/internal/skills/sync_builtin.go:246:  0.0%
github.com/vaayne/anna/internal/skills/sync_builtin.go:30:   75.0%
github.com/vaayne/anna/internal/skills/sync_builtin.go:54:   80.0%
github.com/vaayne/anna/internal/skills/sync_builtin.go:67:   100.0%
github.com/vaayne/anna/internal/skills/sync_builtin.go:73:   50.0%
github.com/vaayne/anna/internal/skills/sync_builtin.go:92:   73.3%
github.com/vaayne/anna/internal/tools/download.go:144:       0.0%
github.com/vaayne/anna/internal/tools/download.go:158:       0.0%
github.com/vaayne/anna/internal/tools/download.go:169:       0.0%
github.com/vaayne/anna/internal/tools/download.go:206:       0.0%
github.com/vaayne/anna/internal/tools/download.go:235:       0.0%
github.com/vaayne/anna/internal/tools/download.go:247:       0.0%
github.com/vaayne/anna/internal/tools/download.go:40:        0.0%
github.com/vaayne/anna/internal/tools/download.go:45:        0.0%
github.com/vaayne/anna/internal/tools/download.go:56:        0.0%
github.com/vaayne/anna/internal/tools/download.go:72:        0.0%
github.com/vaayne/anna/internal/tools/manifest.go:27:        83.3%
github.com/vaayne/anna/internal/tools/manifest.go:47:        71.4%
github.com/vaayne/anna/internal/tools/manifest.go:60:        100.0%
github.com/vaayne/anna/internal/tools/registry.go:35:        100.0%
github.com/vaayne/anna/internal/tools/registry.go:50:        100.0%
github.com/vaayne/anna/internal/tools/registry.go:58:        0.0%
github.com/vaayne/anna/internal/tools/registry.go:68:        0.0%
github.com/vaayne/anna/internal/tools/tools.go:127:          0.0%
github.com/vaayne/anna/internal/tools/tools.go:159:          0.0%
github.com/vaayne/anna/internal/tools/tools.go:16:           100.0%
github.com/vaayne/anna/internal/tools/tools.go:185:          0.0%
github.com/vaayne/anna/internal/tools/tools.go:206:          100.0%
github.com/vaayne/anna/internal/tools/tools.go:21:           0.0%
github.com/vaayne/anna/internal/tools/tools.go:29:           0.0%
github.com/vaayne/anna/internal/tools/tools.go:37:           0.0%
github.com/vaayne/anna/internal/tools/tools.go:53:           100.0%
github.com/vaayne/anna/internal/tools/tools.go:86:           0.0%
github.com/vaayne/anna/internal/version/version.go:13:       100.0%
github.com/vaayne/anna/pkg/agent/events.go:13:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:20:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:28:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:35:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:42:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:49:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:56:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:63:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:68:               100.0%
github.com/vaayne/anna/pkg/agent/events.go:75:               100.0%
github.com/vaayne/anna/pkg/agent/helpers.go:14:              100.0%
github.com/vaayne/anna/pkg/agent/helpers.go:28:              87.5%
github.com/vaayne/anna/pkg/agent/helpers.go:54:              100.0%
github.com/vaayne/anna/pkg/agent/loop.go:188:                84.6%
github.com/vaayne/anna/pkg/agent/loop.go:18:                 91.7%
github.com/vaayne/anna/pkg/agent/loop.go:290:                88.9%
github.com/vaayne/anna/pkg/agent/loop.go:305:                100.0%
github.com/vaayne/anna/pkg/agent/loop.go:318:                100.0%
github.com/vaayne/anna/pkg/agent/loop.go:40:                 76.2%
github.com/vaayne/anna/pkg/agent/runner.go:100:              100.0%
github.com/vaayne/anna/pkg/agent/runner.go:105:              100.0%
github.com/vaayne/anna/pkg/agent/runner.go:110:              80.0%
github.com/vaayne/anna/pkg/agent/runner.go:122:              100.0%
github.com/vaayne/anna/pkg/agent/runner.go:41:               100.0%
github.com/vaayne/anna/pkg/agent/runner.go:46:               100.0%
github.com/vaayne/anna/pkg/agent/runner.go:51:               100.0%
github.com/vaayne/anna/pkg/agent/runner.go:56:               100.0%
github.com/vaayne/anna/pkg/agent/runner.go:61:               100.0%
github.com/vaayne/anna/pkg/agent/runner.go:69:               0.0%
github.com/vaayne/anna/pkg/agent/runner.go:76:               100.0%
github.com/vaayne/anna/pkg/agent/tool_execution.go:20:       74.0%
github.com/vaayne/anna/pkg/agent/tool_lifecycle.go:53:       80.0%
github.com/vaayne/anna/pkg/ai/events.go:103:                 100.0%
github.com/vaayne/anna/pkg/ai/events.go:111:                 100.0%
github.com/vaayne/anna/pkg/ai/events.go:119:                 100.0%
github.com/vaayne/anna/pkg/ai/events.go:124:                 100.0%
github.com/vaayne/anna/pkg/ai/events.go:16:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:24:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:33:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:42:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:50:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:59:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:68:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:76:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:87:                  100.0%
github.com/vaayne/anna/pkg/ai/events.go:96:                  100.0%
github.com/vaayne/anna/pkg/ai/message.go:101:                100.0%
github.com/vaayne/anna/pkg/ai/message.go:111:                100.0%
github.com/vaayne/anna/pkg/ai/message.go:26:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:35:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:43:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:46:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:58:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:72:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:86:                 100.0%
github.com/vaayne/anna/pkg/ai/message.go:98:                 100.0%
github.com/vaayne/anna/pkg/ai/transform.go:42:               85.7%
github.com/vaayne/anna/pkg/ai/transform.go:6:                93.8%
github.com/vaayne/anna/pkg/channel/agent.go:15:              100.0%
github.com/vaayne/anna/pkg/channel/agent.go:24:              100.0%
github.com/vaayne/anna/pkg/channel/model.go:22:              100.0%
github.com/vaayne/anna/pkg/channel/model.go:27:              100.0%
github.com/vaayne/anna/pkg/channel/model.go:37:              100.0%
github.com/vaayne/anna/pkg/channel/model.go:51:              100.0%
github.com/vaayne/anna/pkg/channel/model.go:62:              100.0%
github.com/vaayne/anna/pkg/channel/model.go:77:              100.0%
github.com/vaayne/anna/pkg/channel/notification_context.go:18: 0.0%
github.com/vaayne/anna/pkg/channel/notification_context.go:9: 0.0%
github.com/vaayne/anna/pkg/channel/plugin_config.go:24:      0.0%
github.com/vaayne/anna/pkg/channel/plugin_config.go:9:       0.0%
github.com/vaayne/anna/pkg/channel/stream.go:106:            90.0%
github.com/vaayne/anna/pkg/channel/stream.go:128:            100.0%
github.com/vaayne/anna/pkg/channel/stream.go:142:            100.0%
github.com/vaayne/anna/pkg/channel/stream.go:150:            100.0%
github.com/vaayne/anna/pkg/channel/stream.go:156:            86.7%
github.com/vaayne/anna/pkg/channel/stream.go:183:            88.6%
github.com/vaayne/anna/pkg/channel/stream.go:21:             100.0%
github.com/vaayne/anna/pkg/channel/stream.go:242:            100.0%
github.com/vaayne/anna/pkg/channel/stream.go:30:             100.0%
github.com/vaayne/anna/pkg/channel/stream.go:46:             100.0%
github.com/vaayne/anna/pkg/channel/stream.go:89:             100.0%
github.com/vaayne/anna/pkg/channel/text_commands.go:100:     83.3%
github.com/vaayne/anna/pkg/channel/text_commands.go:22:      69.6%
github.com/vaayne/anna/pkg/channel/text_commands.go:59:      60.0%
github.com/vaayne/anna/pkg/channel/text_commands.go:68:      50.0%
github.com/vaayne/anna/pkg/channel/text_commands.go:76:      83.3%
github.com/vaayne/anna/pkg/channel/util.go:102:              100.0%
github.com/vaayne/anna/pkg/channel/util.go:42:               100.0%
github.com/vaayne/anna/pkg/channel/util.go:71:               100.0%
github.com/vaayne/anna/pkg/channel/util.go:86:               100.0%
github.com/vaayne/anna/pkg/channel/util.go:92:               100.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_identities.sql.go:139: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_identities.sql.go:25: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_identities.sql.go:48: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_identities.sql.go:57: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_identities.sql.go:80: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_identities.sql.go:98: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_policies.sql.go:136: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_policies.sql.go:196: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_policies.sql.go:31:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_policies.sql.go:65:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_policies.sql.go:74:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_policies.sql.go:97:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_sessions.sql.go:24:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_sessions.sql.go:40:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_sessions.sql.go:49:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_sessions.sql.go:58:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_sessions.sql.go:67:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_sessions.sql.go:88:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_user_agents.sql.go:23: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_user_agents.sql.go:32: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_user_agents.sql.go:59: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_user_agents.sql.go:91: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:107:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:156:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:178:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:17:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:195:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:212:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:35:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:56:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:65:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/auth_users.sql.go:86:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_agent_memory.sql.go:128: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_agent_memory.sql.go:147: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_agent_memory.sql.go:21: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_agent_memory.sql.go:35: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_agent_memory.sql.go:52: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_agent_memory.sql.go:85: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:113: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:136: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:175: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:220: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:234: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:243: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:24: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:252: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:266: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:280: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:59: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_conversations.sql.go:90: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:127:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:174:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:193:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:220:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:26:      0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:41:      0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:57:      0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:66:      0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_items.sql.go:79:      0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:101:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:121:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:132:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:170:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:218:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:262:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:29:   0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:305:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:350:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:70:   0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_messages.sql.go:90:   0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:100: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:140: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:167: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:210: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:249: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:296: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:312: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:32:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:330: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/ctx_summaries.sql.go:53:  0.0%
github.com/vaayne/anna/pkg/db/sqlc/db.go:19:                 0.0%
github.com/vaayne/anna/pkg/db/sqlc/db.go:27:                 0.0%
github.com/vaayne/anna/pkg/db/sqlc/plugin_state_entries.sql.go:24: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/plugin_state_entries.sql.go:46: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/plugin_state_entries.sql.go:73: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/sched_jobs.sql.go:100:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/sched_jobs.sql.go:109:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/sched_jobs.sql.go:141:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/sched_jobs.sql.go:198:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/sched_jobs.sql.go:239:    0.0%
github.com/vaayne/anna/pkg/db/sqlc/sched_jobs.sql.go:47:     0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings.sql.go:16:       0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings.sql.go:25:       0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings.sql.go:36:       0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings.sql.go:72:       0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_agents.sql.go:103: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_agents.sql.go:144: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_agents.sql.go:209: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_agents.sql.go:32: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_agents.sql.go:69: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_agents.sql.go:78: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channel_agents.sql.go:120: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channel_agents.sql.go:22: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channel_agents.sql.go:37: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channel_agents.sql.go:59: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channel_agents.sql.go:76: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channels.sql.go:130: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channels.sql.go:17: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channels.sql.go:26: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channels.sql.go:45: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_channels.sql.go:80: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:114: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:158: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:16: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:179: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:194: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:218: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:25: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:44: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_plugins.sql.go:79: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:114: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:158: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:187: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:26: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:51: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:60: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/settings_providers.sql.go:79: 0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:104:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:127:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:155:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:166:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:194:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:217:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:256:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:296:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:31:         0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:356:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:393:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:416:        0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:64:         0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:78:         0.0%
github.com/vaayne/anna/pkg/db/sqlc/skills.sql.go:90:         0.0%
github.com/vaayne/anna/pkg/hooks/set.go:125:                 100.0%
github.com/vaayne/anna/pkg/hooks/set.go:138:                 65.0%
github.com/vaayne/anna/pkg/hooks/set.go:170:                 100.0%
github.com/vaayne/anna/pkg/hooks/set.go:181:                 100.0%
github.com/vaayne/anna/pkg/hooks/set.go:24:                  100.0%
github.com/vaayne/anna/pkg/hooks/set.go:62:                  100.0%
github.com/vaayne/anna/pkg/hooks/set.go:72:                  100.0%
github.com/vaayne/anna/pkg/hooks/set.go:83:                  100.0%
github.com/vaayne/anna/pkg/hooks/set.go:99:                  87.5%
github.com/vaayne/anna/pkg/httpclient/httpclient.go:19:      100.0%
github.com/vaayne/anna/pkg/httpclient/httpclient.go:25:      100.0%
github.com/vaayne/anna/pkg/httpclient/httpclient.go:35:      100.0%
github.com/vaayne/anna/pkg/httpclient/httpclient.go:44:      100.0%
github.com/vaayne/anna/pkg/httpclient/httpclient.go:56:      100.0%
github.com/vaayne/anna/pkg/memory/memorytest/conformance.go:16: 68.5%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:102:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:110:    94.7%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:144:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:169:    0.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:176:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:185:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:195:    85.7%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:230:    0.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:237:    83.3%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:260:    83.3%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:280:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:285:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:292:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:300:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:307:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:319:    100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:327:    83.3%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:338:    68.8%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:369:    87.5%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:387:    91.7%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:412:    50.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:59:     100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:86:     100.0%
github.com/vaayne/anna/pkg/memory/memorytest/fake.go:89:     100.0%
github.com/vaayne/anna/pkg/memory/provider.go:84:            100.0%
github.com/vaayne/anna/pkg/memory/summarize.go:116:          100.0%
github.com/vaayne/anna/pkg/memory/summarize.go:147:          84.2%
github.com/vaayne/anna/pkg/memory/summarize.go:184:          91.7%
github.com/vaayne/anna/pkg/memory/summarize.go:214:          100.0%
github.com/vaayne/anna/pkg/memory/tool.go:112:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:147:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:155:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:164:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:225:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:234:               93.8%
github.com/vaayne/anna/pkg/memory/tool.go:266:               80.0%
github.com/vaayne/anna/pkg/memory/tool.go:275:               84.6%
github.com/vaayne/anna/pkg/memory/tool.go:304:               77.8%
github.com/vaayne/anna/pkg/memory/tool.go:322:               80.0%
github.com/vaayne/anna/pkg/memory/tool.go:343:               77.8%
github.com/vaayne/anna/pkg/memory/tool.go:358:               88.9%
github.com/vaayne/anna/pkg/memory/tool.go:36:                100.0%
github.com/vaayne/anna/pkg/memory/tool.go:378:               77.8%
github.com/vaayne/anna/pkg/memory/tool.go:399:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:403:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:407:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:412:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:422:               100.0%
github.com/vaayne/anna/pkg/memory/tool.go:431:               60.0%
github.com/vaayne/anna/pkg/memory/tool.go:43:                100.0%
github.com/vaayne/anna/pkg/memory/tool.go:444:               71.4%
github.com/vaayne/anna/pkg/memory/tool.go:460:               75.0%
github.com/vaayne/anna/pkg/memory/tool.go:51:                100.0%
github.com/vaayne/anna/pkg/memory/tool.go:64:                100.0%
github.com/vaayne/anna/pkg/memory/traced.go:112:             100.0%
github.com/vaayne/anna/pkg/memory/traced.go:132:             100.0%
github.com/vaayne/anna/pkg/memory/traced.go:147:             100.0%
github.com/vaayne/anna/pkg/memory/traced.go:153:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:16:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:170:             92.3%
github.com/vaayne/anna/pkg/memory/traced.go:201:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:224:             90.0%
github.com/vaayne/anna/pkg/memory/traced.go:245:             96.2%
github.com/vaayne/anna/pkg/memory/traced.go:290:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:308:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:326:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:344:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:366:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:384:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:38:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:402:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:419:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:441:             85.7%
github.com/vaayne/anna/pkg/memory/traced.go:465:             81.8%
github.com/vaayne/anna/pkg/memory/traced.go:482:             75.0%
github.com/vaayne/anna/pkg/memory/traced.go:496:             100.0%
github.com/vaayne/anna/pkg/memory/traced.go:504:             100.0%
github.com/vaayne/anna/pkg/memory/traced.go:512:             100.0%
github.com/vaayne/anna/pkg/memory/traced.go:52:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:54:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:61:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:70:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:82:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:84:              100.0%
github.com/vaayne/anna/pkg/memory/traced.go:97:              100.0%
github.com/vaayne/anna/pkg/memory/types.go:109:              80.0%
github.com/vaayne/anna/pkg/memory/types.go:123:              80.0%
github.com/vaayne/anna/pkg/memory/types.go:20:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:25:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:31:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:36:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:42:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:47:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:82:               100.0%
github.com/vaayne/anna/pkg/memory/types.go:88:               62.5%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:161:       0.0%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:183:       0.0%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:189:       0.0%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:38:        0.0%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:73:        0.0%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:77:        0.0%
github.com/vaayne/anna/pkg/plugins/bot_runtime.go:81:        0.0%
github.com/vaayne/anna/pkg/plugins/capabilities.go:81:       100.0%
github.com/vaayne/anna/pkg/plugins/capabilities.go:89:       100.0%
github.com/vaayne/anna/pkg/plugins/capabilities.go:97:       66.7%
github.com/vaayne/anna/pkg/plugins/catalog.go:19:            100.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:32:            100.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:38:            100.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:55:            100.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:63:            100.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:77:            0.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:82:            0.0%
github.com/vaayne/anna/pkg/plugins/catalog.go:87:            0.0%
github.com/vaayne/anna/pkg/plugins/managed_channel.go:19:    0.0%
github.com/vaayne/anna/pkg/plugins/managed_channel.go:56:    71.4%
github.com/vaayne/anna/pkg/plugins/metadata.go:36:           0.0%
github.com/vaayne/anna/pkg/plugins/metadata.go:56:           0.0%
github.com/vaayne/anna/pkg/plugins/metadata.go:64:           0.0%
github.com/vaayne/anna/pkg/plugins/services_reflect.go:100:  0.0%
github.com/vaayne/anna/pkg/plugins/services_reflect.go:39:   0.0%
github.com/vaayne/anna/pkg/plugins/services_reflect.go:53:   0.0%
github.com/vaayne/anna/pkg/plugins/services_reflect.go:74:   0.0%
github.com/vaayne/anna/pkg/plugins/services_state.go:19:     0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:112:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:123:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:144:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:164:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:172:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:183:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:222:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:232:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:242:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:249:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:279:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:280:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:281:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:282:      0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:77:       0.0%
github.com/vaayne/anna/pkg/plugins/tool_runtime.go:88:       0.0%
github.com/vaayne/anna/pkg/plugins/types.go:110:             83.3%
github.com/vaayne/anna/pkg/plugins/types.go:121:             28.6%
github.com/vaayne/anna/pkg/plugins/types.go:16:              100.0%
github.com/vaayne/anna/pkg/plugins/types.go:68:              100.0%
github.com/vaayne/anna/pkg/plugins/types.go:81:              100.0%
github.com/vaayne/anna/pkg/providers/registry.go:17:         100.0%
github.com/vaayne/anna/pkg/providers/registry.go:27:         100.0%
github.com/vaayne/anna/pkg/providers/registry.go:35:         100.0%
github.com/vaayne/anna/pkg/providers/registry.go:42:         100.0%
github.com/vaayne/anna/pkg/providers/registry.go:50:         100.0%
github.com/vaayne/anna/pkg/providers/registry.go:59:         100.0%
github.com/vaayne/anna/pkg/providers/registry.go:68:         97.1%
github.com/vaayne/anna/pkg/providers/stream.go:35:           100.0%
github.com/vaayne/anna/pkg/providers/stream.go:40:           100.0%
github.com/vaayne/anna/pkg/providers/stream.go:45:           100.0%
github.com/vaayne/anna/pkg/providers/stream.go:52:           100.0%
github.com/vaayne/anna/pkg/providers/stream.go:65:           100.0%
github.com/vaayne/anna/pkg/providers/stream.go:73:           100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:148:           0.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:25:            100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:33:            100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:48:            100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:62:            100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:69:            100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:83:            100.0%
github.com/vaayne/anna/pkg/sandbox/factory.go:98:            0.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:11:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:16:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:30:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:40:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:48:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:59:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:70:            100.0%
github.com/vaayne/anna/pkg/sandbox/observe.go:80:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:113:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:118:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:123:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:131:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:146:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:154:            100.0%
github.com/vaayne/anna/pkg/sandbox/policy.go:91:             100.0%
github.com/vaayne/anna/pkg/sandbox/session.go:126:           0.0%
github.com/vaayne/anna/pkg/sandbox/session.go:147:           0.0%
github.com/vaayne/anna/pkg/sandbox/session.go:148:           0.0%
github.com/vaayne/anna/pkg/sandbox/session.go:149:           0.0%
github.com/vaayne/anna/pkg/sandbox/session.go:150:           0.0%
github.com/vaayne/anna/pkg/sandbox/session.go:151:           0.0%
github.com/vaayne/anna/pkg/tools/coreargs.go:20:             0.0%
github.com/vaayne/anna/pkg/tools/coreargs.go:35:             0.0%
github.com/vaayne/anna/pkg/tools/coreargs.go:9:              0.0%
github.com/vaayne/anna/pkg/tools/registry.go:20:             100.0%
github.com/vaayne/anna/pkg/tools/registry.go:25:             100.0%
github.com/vaayne/anna/pkg/tools/registry.go:34:             100.0%
github.com/vaayne/anna/pkg/tools/registry.go:39:             100.0%
github.com/vaayne/anna/pkg/tools/registry.go:48:             100.0%
github.com/vaayne/anna/pkg/tools/registry.go:54:             100.0%
github.com/vaayne/anna/pkg/tools/registry.go:63:             100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:122:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:167:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:178:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:182:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:188:            72.7%
github.com/vaayne/anna/pkg/tools/truncate.go:205:            83.3%
github.com/vaayne/anna/pkg/tools/truncate.go:225:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:237:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:244:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:251:            80.0%
github.com/vaayne/anna/pkg/tools/truncate.go:261:            100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:269:            75.0%
github.com/vaayne/anna/pkg/tools/truncate.go:286:            88.2%
github.com/vaayne/anna/pkg/tools/truncate.go:40:             100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:49:             100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:60:             100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:71:             100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:78:             100.0%
github.com/vaayne/anna/pkg/tools/truncate.go:82:             93.1%
github.com/vaayne/anna/plugins/channels/feishu/context.go:13: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/context.go:17: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:103: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:146: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:154: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:186: 66.7%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:193: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:197: 21.4%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:232: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:239: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:257: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:266: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:278: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:287: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:316: 83.3%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:33: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:341: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:352: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:369: 90.0%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:385: 66.7%
github.com/vaayne/anna/plugins/channels/feishu/feishu.go:81: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:192: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:198: 18.2%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:20: 33.3%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:266: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:286: 91.7%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:306: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:315: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:324: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:333: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:338: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:352: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:361: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:370: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:377: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:410: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:426: 25.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:479: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:501: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:525: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/handler.go:92: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/model.go:21:  0.0%
github.com/vaayne/anna/plugins/channels/feishu/model.go:6:   100.0%
github.com/vaayne/anna/plugins/channels/feishu/plugin.go:49: 11.1%
github.com/vaayne/anna/plugins/channels/feishu/provision.go:110: 54.5%
github.com/vaayne/anna/plugins/channels/feishu/provision.go:14: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/provision.go:23: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/provision.go:35: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/provision.go:64: 11.1%
github.com/vaayne/anna/plugins/channels/feishu/render.go:14: 15.4%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:154: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:161: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:177: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:21: 80.0%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:53: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:60: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:64: 90.9%
github.com/vaayne/anna/plugins/channels/feishu/runtime.go:82: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/stream.go:132: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/stream.go:158: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/stream.go:181: 91.7%
github.com/vaayne/anna/plugins/channels/feishu/stream.go:27: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/stream.go:32: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/stream.go:47: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/thread.go:10: 100.0%
github.com/vaayne/anna/plugins/channels/feishu/thread.go:19: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/thread.go:25: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/thread.go:30: 0.0%
github.com/vaayne/anna/plugins/channels/feishu/thread.go:55: 0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:116:   100.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:129:   78.6%
github.com/vaayne/anna/plugins/channels/qq/handler.go:161:   0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:18:    0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:206:   84.6%
github.com/vaayne/anna/plugins/channels/qq/handler.go:231:   100.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:236:   0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:246:   0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:258:   0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:43:    0.0%
github.com/vaayne/anna/plugins/channels/qq/handler.go:82:    30.0%
github.com/vaayne/anna/plugins/channels/qq/model.go:19:      0.0%
github.com/vaayne/anna/plugins/channels/qq/model.go:6:       100.0%
github.com/vaayne/anna/plugins/channels/qq/plugin.go:44:     11.1%
github.com/vaayne/anna/plugins/channels/qq/qq.go:114:        100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:122:        100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:126:        0.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:128:        66.7%
github.com/vaayne/anna/plugins/channels/qq/qq.go:136:        18.2%
github.com/vaayne/anna/plugins/channels/qq/qq.go:165:        100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:170:        100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:174:        100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:179:        0.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:183:        100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:22:         100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:49:         100.0%
github.com/vaayne/anna/plugins/channels/qq/qq.go:69:         0.0%
github.com/vaayne/anna/plugins/channels/qq/render.go:10:     0.0%
github.com/vaayne/anna/plugins/channels/qq/render.go:40:     100.0%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:105:   100.0%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:21:    80.0%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:48:    100.0%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:55:    100.0%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:59:    85.7%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:71:    0.0%
github.com/vaayne/anna/plugins/channels/qq/runtime.go:98:    100.0%
github.com/vaayne/anna/plugins/channels/qq/stream.go:137:    91.7%
github.com/vaayne/anna/plugins/channels/qq/stream.go:19:     0.0%
github.com/vaayne/anna/plugins/channels/qq/stream.go:97:     0.0%
github.com/vaayne/anna/plugins/channels/telegram/agent.go:15: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/agent.go:20: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/agent.go:71: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/config.go:11: 85.7%
github.com/vaayne/anna/plugins/channels/telegram/config.go:23: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/config.go:7: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:149: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:162: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:171: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:18: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:190: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:215: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:243: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:26: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:292: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:38: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/handler.go:42: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/model.go:102: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/model.go:13: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/model.go:20: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/model.go:84: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/plugin.go:105: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/plugin.go:39: 30.0%
github.com/vaayne/anna/plugins/channels/telegram/plugin.go:77: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/render.go:21: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/render.go:31: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/render.go:47: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/render.go:66: 85.7%
github.com/vaayne/anna/plugins/channels/telegram/runtime.go:20: 66.7%
github.com/vaayne/anna/plugins/channels/telegram/runtime.go:35: 85.7%
github.com/vaayne/anna/plugins/channels/telegram/runtime.go:57: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/runtime.go:64: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:114: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:184: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:210: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:221: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:30: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:38: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/stream.go:57: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:104: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:111: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:114: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:148: 100.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:151: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:168: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:174: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:187: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:205: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:213: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:24: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:49: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:78: 0.0%
github.com/vaayne/anna/plugins/channels/telegram/telegram.go:98: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:103: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:124: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:158: 87.5%
github.com/vaayne/anna/plugins/channels/weixin/client.go:182: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:215: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:241: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:277: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:38: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:49: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:66: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:75: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/client.go:85: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:115: 93.3%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:146: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:15: 90.9%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:176: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:200: 20.8%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:244: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:257: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:271: 83.3%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:47: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:76: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/handler.go:89: 53.8%
github.com/vaayne/anna/plugins/channels/weixin/media.go:117: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:147: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:168: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:176: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:187: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:18:  100.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:194: 88.9%
github.com/vaayne/anna/plugins/channels/weixin/media.go:214: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:35:  88.9%
github.com/vaayne/anna/plugins/channels/weixin/media.go:55:  100.0%
github.com/vaayne/anna/plugins/channels/weixin/media.go:63:  83.3%
github.com/vaayne/anna/plugins/channels/weixin/media.go:90:  75.0%
github.com/vaayne/anna/plugins/channels/weixin/plugin.go:45: 11.1%
github.com/vaayne/anna/plugins/channels/weixin/render.go:132: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/render.go:14: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/render.go:205: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/render.go:277: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/render.go:286: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/render.go:47: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:102: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:109: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:21: 80.0%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:49: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:56: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:60: 85.7%
github.com/vaayne/anna/plugins/channels/weixin/runtime.go:72: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/stream.go:23: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/stream.go:29: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/stream.go:58: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/stream.go:89: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:144: 61.5%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:182: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:189: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:41: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:55: 66.7%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:62: 0.0%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:65: 100.0%
github.com/vaayne/anna/plugins/channels/weixin/weixin.go:73: 0.0%
github.com/vaayne/anna/plugins/hooks/registry.go:17:         100.0%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:113:         33.3%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:17:          20.0%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:60:          100.0%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:64:          100.0%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:65:          100.0%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:67:          72.7%
github.com/vaayne/anna/plugins/hooks/rtk/rtk.go:91:          66.7%
github.com/vaayne/anna/plugins/hooks/trace/agent.go:14:      20.0%
github.com/vaayne/anna/plugins/hooks/trace/agent.go:40:      22.7%
github.com/vaayne/anna/plugins/hooks/trace/config.go:14:     100.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:116:      0.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:149:      100.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:150:      100.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:152:      100.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:155:      18.2%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:173:      0.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:196:      0.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:210:      0.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:25:       25.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:61:       100.0%
github.com/vaayne/anna/plugins/hooks/trace/hook.go:86:       38.5%
github.com/vaayne/anna/plugins/hooks/trace/llm.go:15:        17.2%
github.com/vaayne/anna/plugins/hooks/trace/llm.go:90:        13.3%
github.com/vaayne/anna/plugins/hooks/trace/memory.go:20:     22.9%
github.com/vaayne/anna/plugins/hooks/trace/tool.go:121:      85.7%
github.com/vaayne/anna/plugins/hooks/trace/tool.go:16:       22.2%
github.com/vaayne/anna/plugins/hooks/trace/tool.go:61:       16.1%
github.com/vaayne/anna/plugins/memory/lcm/assembler.go:108:  27.8%
github.com/vaayne/anna/plugins/memory/lcm/assembler.go:142:  100.0%
github.com/vaayne/anna/plugins/memory/lcm/assembler.go:17:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/assembler.go:24:   87.1%
github.com/vaayne/anna/plugins/memory/lcm/assembler.go:78:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/assembler.go:95:   85.7%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:123: 63.6%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:154: 0.0%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:24:  66.7%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:266: 47.1%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:306: 65.0%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:344: 0.0%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:37:  54.5%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:467: 100.0%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:78:  63.6%
github.com/vaayne/anna/plugins/memory/lcm/compaction.go:98:  50.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:117:     80.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:130:     25.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:152:     100.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:173:     87.5%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:198:     0.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:213:     92.9%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:236:     20.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:257:     55.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:292:     83.3%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:302:     83.3%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:322:     100.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:42:      100.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:58:      75.0%
github.com/vaayne/anna/plugins/memory/lcm/engine.go:85:      100.0%
github.com/vaayne/anna/plugins/memory/lcm/plugin.go:11:      16.7%
github.com/vaayne/anna/plugins/memory/lcm/profile.go:13:     83.3%
github.com/vaayne/anna/plugins/memory/lcm/profile.go:27:     83.3%
github.com/vaayne/anna/plugins/memory/lcm/profile.go:38:     66.7%
github.com/vaayne/anna/plugins/memory/lcm/profile.go:49:     83.3%
github.com/vaayne/anna/plugins/memory/lcm/profile.go:60:     66.7%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:151:   75.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:160:   80.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:200:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:205:   71.4%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:218:   88.9%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:233:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:247:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:261:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:48:    76.9%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:81:    100.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:84:    100.0%
github.com/vaayne/anna/plugins/memory/lcm/provider.go:90:    76.7%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:100:  100.0%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:104:  18.8%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:142:  100.0%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:146:  14.8%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:201:  100.0%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:24:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:29:   75.0%
github.com/vaayne/anna/plugins/memory/lcm/retrieval.go:37:   72.0%
github.com/vaayne/anna/plugins/memory/lcm/review.go:18:      60.9%
github.com/vaayne/anna/plugins/memory/lcm/review.go:62:      83.3%
github.com/vaayne/anna/plugins/memory/lcm/sessions.go:120:   66.7%
github.com/vaayne/anna/plugins/memory/lcm/sessions.go:137:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/sessions.go:161:   100.0%
github.com/vaayne/anna/plugins/memory/lcm/sessions.go:16:    50.0%
github.com/vaayne/anna/plugins/memory/lcm/sessions.go:80:    75.0%
github.com/vaayne/anna/plugins/memory/lcm/sessions.go:89:    72.2%
github.com/vaayne/anna/plugins/memory/simple/plugin.go:11:   16.7%
github.com/vaayne/anna/plugins/memory/simple/provider.go:106: 84.2%
github.com/vaayne/anna/plugins/memory/simple/provider.go:140: 87.5%
github.com/vaayne/anna/plugins/memory/simple/provider.go:174: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:179: 83.3%
github.com/vaayne/anna/plugins/memory/simple/provider.go:193: 83.3%
github.com/vaayne/anna/plugins/memory/simple/provider.go:204: 66.7%
github.com/vaayne/anna/plugins/memory/simple/provider.go:215: 83.3%
github.com/vaayne/anna/plugins/memory/simple/provider.go:226: 66.7%
github.com/vaayne/anna/plugins/memory/simple/provider.go:240: 50.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:302: 75.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:311: 72.2%
github.com/vaayne/anna/plugins/memory/simple/provider.go:341: 66.7%
github.com/vaayne/anna/plugins/memory/simple/provider.go:360: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:374: 75.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:39: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:401: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:407: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:431: 66.7%
github.com/vaayne/anna/plugins/memory/simple/provider.go:438: 75.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:483: 80.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:496: 25.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:50: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:518: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:538: 87.5%
github.com/vaayne/anna/plugins/memory/simple/provider.go:53: 100.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:562: 0.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:575: 92.9%
github.com/vaayne/anna/plugins/memory/simple/provider.go:598: 20.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:59: 78.3%
github.com/vaayne/anna/plugins/memory/simple/provider.go:617: 70.0%
github.com/vaayne/anna/plugins/memory/simple/provider.go:651: 83.3%
github.com/vaayne/anna/plugins/memory/simple/provider.go:661: 83.3%
github.com/vaayne/anna/plugins/memory/simple/provider.go:678: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:117: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:16: 16.7%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:57: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:71: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:74: 0.0%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:92: 0.0%
github.com/vaayne/anna/plugins/providers/anthropic/client.go:97: 0.0%
github.com/vaayne/anna/plugins/providers/anthropic/convert_messages.go:10: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/convert_messages.go:31: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/convert_messages.go:41: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/convert_messages.go:49: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/convert_messages.go:69: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/convert_messages.go:84: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/options.go:36: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/options.go:9: 100.0%
github.com/vaayne/anna/plugins/providers/anthropic/stream.go:13: 0.0%
github.com/vaayne/anna/plugins/providers/anthropic/stream.go:30: 76.0%
github.com/vaayne/anna/plugins/providers/anthropic/stream.go:86: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:113: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:118: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:121: 0.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:143: 0.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:148: 0.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:168: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:19: 16.7%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:60: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:76: 0.0%
github.com/vaayne/anna/plugins/providers/openai-response/client.go:93: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/convert_messages.go:13: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/convert_messages.go:34: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/convert_messages.go:68: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/options.go:37: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/options.go:9: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/stream.go:13: 0.0%
github.com/vaayne/anna/plugins/providers/openai-response/stream.go:31: 100.0%
github.com/vaayne/anna/plugins/providers/openai-response/stream.go:84: 100.0%
github.com/vaayne/anna/plugins/providers/openai/client.go:118: 100.0%
github.com/vaayne/anna/plugins/providers/openai/client.go:16: 16.7%
github.com/vaayne/anna/plugins/providers/openai/client.go:57: 100.0%
github.com/vaayne/anna/plugins/providers/openai/client.go:71: 100.0%
github.com/vaayne/anna/plugins/providers/openai/client.go:74: 0.0%
github.com/vaayne/anna/plugins/providers/openai/client.go:93: 0.0%
github.com/vaayne/anna/plugins/providers/openai/client.go:98: 0.0%
github.com/vaayne/anna/plugins/providers/openai/convert_messages.go:13: 100.0%
github.com/vaayne/anna/plugins/providers/openai/convert_messages.go:33: 100.0%
github.com/vaayne/anna/plugins/providers/openai/convert_messages.go:66: 100.0%
github.com/vaayne/anna/plugins/providers/openai/options.go:10: 100.0%
github.com/vaayne/anna/plugins/providers/openai/options.go:32: 100.0%
github.com/vaayne/anna/plugins/providers/openai/stream.go:13: 0.0%
github.com/vaayne/anna/plugins/providers/openai/stream.go:33: 100.0%
github.com/vaayne/anna/plugins/providers/openai/stream.go:68: 100.0%
github.com/vaayne/anna/plugins/reflect/candidates.go:18:     92.3%
github.com/vaayne/anna/plugins/reflect/candidates.go:43:     77.8%
github.com/vaayne/anna/plugins/reflect/candidates.go:69:     100.0%
github.com/vaayne/anna/plugins/reflect/contextbuilder.go:17: 90.0%
github.com/vaayne/anna/plugins/reflect/contextbuilder.go:77: 66.7%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:114: 0.0%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:118: 0.0%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:129: 0.0%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:20: 0.0%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:81: 0.0%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:88: 0.0%
github.com/vaayne/anna/plugins/reflect/conversation_review.go:98: 0.0%
github.com/vaayne/anna/plugins/reflect/expiry.go:13:         0.0%
github.com/vaayne/anna/plugins/reflect/loop.go:15:           0.0%
github.com/vaayne/anna/plugins/reflect/loop.go:34:           0.0%
github.com/vaayne/anna/plugins/reflect/loop.go:40:           0.0%
github.com/vaayne/anna/plugins/reflect/loop.go:48:           0.0%
github.com/vaayne/anna/plugins/reflect/loop.go:76:           0.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:156: 69.2%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:175: 100.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:181: 0.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:185: 0.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:187: 0.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:215: 100.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:39: 55.6%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:59: 0.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:63: 0.0%
github.com/vaayne/anna/plugins/reflect/managed_runtime.go:67: 69.4%
github.com/vaayne/anna/plugins/reflect/plugin.go:107:        0.0%
github.com/vaayne/anna/plugins/reflect/plugin.go:115:        0.0%
github.com/vaayne/anna/plugins/reflect/plugin.go:18:         11.1%
github.com/vaayne/anna/plugins/reflect/plugin.go:59:         0.0%
github.com/vaayne/anna/plugins/reflect/plugin.go:65:         0.0%
github.com/vaayne/anna/plugins/reflect/plugin.go:92:         0.0%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:107: 0.0%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:21:  0.0%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:25:  0.0%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:44:  77.8%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:75:  0.0%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:79:  71.4%
github.com/vaayne/anna/plugins/reflect/plugin_config.go:91:  57.1%
github.com/vaayne/anna/plugins/reflect/reviewer.go:39:       0.0%
github.com/vaayne/anna/plugins/reflect/reviewer.go:68:       0.0%
github.com/vaayne/anna/plugins/reflect/reviewer.go:83:       92.3%
github.com/vaayne/anna/plugins/reflect/service.go:54:        0.0%
github.com/vaayne/anna/plugins/reflect/service.go:70:        0.0%
github.com/vaayne/anna/plugins/reflect/trace.go:16:          0.0%
github.com/vaayne/anna/plugins/reflect/trace.go:27:          0.0%
github.com/vaayne/anna/plugins/reflect/trace.go:37:          0.0%
github.com/vaayne/anna/plugins/reflect/trace.go:50:          0.0%
github.com/vaayne/anna/plugins/reflect/watermark.go:18:      100.0%
github.com/vaayne/anna/plugins/reflect/watermark.go:25:      75.0%
github.com/vaayne/anna/plugins/reflect/watermark.go:48:      100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:193: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:207: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:214: 83.3%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:227: 76.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:278: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:285: 85.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:299: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:307: 42.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:320: 70.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:56: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/backend.go:81: 70.2%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:106: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:115: 70.1%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:218: 81.8%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:244: 85.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:285: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:299: 64.1%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:358: 84.6%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:381: 63.6%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:401: 71.4%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:434: 66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:485: 69.2%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:507: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:515: 25.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:529: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:535: 63.6%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:560: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:573: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:580: 66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:591: 66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:605: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:615: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:633: 70.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:649: 60.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:661: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:669: 90.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/client.go:92: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/config.go:21: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/config.go:28: 40.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:124: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:140: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:161: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:175: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:180: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:34: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:42: 90.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/normalize.go:92: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:140: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:148: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:157: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:162: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:174: 92.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:18: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:23: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:32: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:82: 83.3%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/session.go:97: 88.2%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/sync.go:19: 77.8%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/sync.go:38: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/sync.go:48: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/sync.go:55: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:109: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:119: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:128: 54.5%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:148: 70.6%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:178: 83.3%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:199: 71.4%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:240: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:258: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/tools.go:98: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/trace.go:14: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/boxshclient/trace.go:25: 80.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/config.go:23:   50.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/preflight.go:18: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/preflight.go:27: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/preflight.go:31: 90.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/preflight.go:50: 67.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:107: 65.5%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:188: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:195: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:197: 80.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:208: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:210: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:214: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:236: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:249: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:258: 76.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:285: 86.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:316: 73.3%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:347: 66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:370: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:395: 71.4%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:408: 71.4%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:421: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:435: 72.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:43:  100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:454: 66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:45:  100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:475: 76.5%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:49:  100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:502: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:53:  0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:573: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:578: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:57:  100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:583: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:588: 52.4%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:61:  66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:622: 66.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:633: 72.7%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:651: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:661: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:665: 0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:669: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:673: 52.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:707: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:708: 75.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:722: 83.3%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:733: 42.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:74:  100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:755: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:759: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:763: 88.9%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:76:  0.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:784: 100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:788: 81.8%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:78:  100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:809: 60.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/session.go:82:  60.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/trace.go:16:    100.0%
github.com/vaayne/anna/plugins/sandbox/boxsh/trace.go:28:    40.0%
github.com/vaayne/anna/plugins/sandbox/docker/config.go:25:  100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/client.go:108: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/client.go:56: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/client.go:68: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/client.go:73: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/client.go:82: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/client.go:96: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:109: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:117: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:131: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:139: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:148: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:176: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:47: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:75: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/container.go:93: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:162: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:163: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:172: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:187: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:208: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:46: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/exec.go:95: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/orphan.go:103: 81.8%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/orphan.go:26: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/orphan.go:43: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/dockerclient/orphan.go:80: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/preflight.go:26: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/preflight.go:37: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/preflight.go:42: 70.6%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:122: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:235: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:249: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:259: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:272: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:299: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:336: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:337: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:339: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:345: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:347: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:351: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:366: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:399: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:422: 94.7%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:467: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:478: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:499: 78.9%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:531: 80.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:53: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:548: 55.6%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:55: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:584: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:59: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:601: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:625: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:63: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:648: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:675: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:67: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:683: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:694: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:706: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:720: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:765: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:77: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:79: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:820: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:826: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:837: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:838: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:842: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:84: 88.9%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:861: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:863: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:864: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:865: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:867: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:889: 0.0%
github.com/vaayne/anna/plugins/sandbox/docker/session.go:99: 100.0%
github.com/vaayne/anna/plugins/sandbox/docker/trace.go:14:   0.0%
github.com/vaayne/anna/plugins/sandbox/docker/trace.go:26:   0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:105: 100.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:116: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:117: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:119: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:125: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:127: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:149: 76.2%
github.com/vaayne/anna/plugins/sandbox/local/session.go:190: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:231: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:253: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:279: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:302: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:330: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:339: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:351: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:365: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:380: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:441: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:44:  100.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:46:  100.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:50:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:512: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:54:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:569: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:58:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:615: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:624: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:633: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:634: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:638: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:658: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:665: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:66:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:68:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:699: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:69:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:700: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:701: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:703: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:71:  0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:731: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:737: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:739: 0.0%
github.com/vaayne/anna/plugins/sandbox/local/session.go:84:  0.0%
github.com/vaayne/anna/plugins/sandbox/plugin.go:8:          0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:154:     0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:158:     0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:222:     72.7%
github.com/vaayne/anna/plugins/tools/agent/agent.go:247:     0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:253:     0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:379:     0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:403:     100.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:420:     100.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:428:     95.6%
github.com/vaayne/anna/plugins/tools/agent/agent.go:503:     66.7%
github.com/vaayne/anna/plugins/tools/agent/agent.go:54:      100.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:61:      100.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:68:      100.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:82:      0.0%
github.com/vaayne/anna/plugins/tools/agent/agent.go:91:      66.7%
github.com/vaayne/anna/plugins/tools/agent/event.go:11:      100.0%
github.com/vaayne/anna/plugins/tools/agent/event.go:20:      100.0%
github.com/vaayne/anna/plugins/tools/agent/hostfs.go:15:     75.0%
github.com/vaayne/anna/plugins/tools/agent/hostfs.go:29:     75.0%
github.com/vaayne/anna/plugins/tools/agent/hostfs.go:37:     100.0%
github.com/vaayne/anna/plugins/tools/agent/hostfs.go:41:     100.0%
github.com/vaayne/anna/plugins/tools/agent/preset.go:37:     100.0%
github.com/vaayne/anna/plugins/tools/agent/preset.go:46:     100.0%
github.com/vaayne/anna/plugins/tools/agent/preset.go:52:     100.0%
github.com/vaayne/anna/plugins/tools/agent/preset.go:61:     100.0%
github.com/vaayne/anna/plugins/tools/agent/preset_loader.go:102: 90.9%
github.com/vaayne/anna/plugins/tools/agent/preset_loader.go:152: 94.1%
github.com/vaayne/anna/plugins/tools/agent/preset_loader.go:26: 0.0%
github.com/vaayne/anna/plugins/tools/agent/preset_loader.go:30: 100.0%
github.com/vaayne/anna/plugins/tools/agent/preset_loader.go:72: 93.8%
github.com/vaayne/anna/plugins/tools/bash/bash.go:144:       100.0%
github.com/vaayne/anna/plugins/tools/bash/bash.go:150:       87.5%
github.com/vaayne/anna/plugins/tools/bash/bash.go:164:       88.9%
github.com/vaayne/anna/plugins/tools/bash/bash.go:17:        25.0%
github.com/vaayne/anna/plugins/tools/bash/bash.go:183:       100.0%
github.com/vaayne/anna/plugins/tools/bash/bash.go:50:        100.0%
github.com/vaayne/anna/plugins/tools/bash/bash.go:54:        100.0%
github.com/vaayne/anna/plugins/tools/bash/bash.go:75:        89.1%
github.com/vaayne/anna/plugins/tools/edit/edit.go:13:        25.0%
github.com/vaayne/anna/plugins/tools/edit/edit.go:42:        100.0%
github.com/vaayne/anna/plugins/tools/edit/edit.go:46:        100.0%
github.com/vaayne/anna/plugins/tools/edit/edit.go:82:        95.7%
github.com/vaayne/anna/plugins/tools/mcp/config.go:104:      72.7%
github.com/vaayne/anna/plugins/tools/mcp/config.go:128:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:144:      93.8%
github.com/vaayne/anna/plugins/tools/mcp/config.go:171:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:176:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:181:      60.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:194:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:208:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:38:       73.7%
github.com/vaayne/anna/plugins/tools/mcp/config.go:70:       88.9%
github.com/vaayne/anna/plugins/tools/mcp/config.go:85:       100.0%
github.com/vaayne/anna/plugins/tools/mcp/config.go:95:       0.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:100:         0.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:27:          100.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:34:          100.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:47:          100.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:51:          66.7%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:62:          100.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:69:          100.0%
github.com/vaayne/anna/plugins/tools/mcp/ids.go:93:          100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:100:     90.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:145:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:151:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:157:     88.9%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:180:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:190:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:202:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:209:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:213:     75.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:231:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:240:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:246:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:251:     70.6%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:277:     66.7%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:293:     75.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:312:     40.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:31:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:321:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:339:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:356:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:362:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:371:     100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:46:      66.7%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:56:      29.4%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:82:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/manager.go:96:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:153:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:154:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:155:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:159:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:163:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:16:       38.9%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:172:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:177:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:192:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:196:      66.7%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:217:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/plugin.go:89:       100.0%
github.com/vaayne/anna/plugins/tools/mcp/runtime_lookup.go:5: 100.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:111:     80.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:125:     85.7%
github.com/vaayne/anna/plugins/tools/mcp/session.go:141:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:149:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:159:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:173:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:182:     0.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:29:      0.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:44:      71.4%
github.com/vaayne/anna/plugins/tools/mcp/session.go:77:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:86:      100.0%
github.com/vaayne/anna/plugins/tools/mcp/session.go:95:      90.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:135:  80.6%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:178:  87.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:221:  57.1%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:234:  16.7%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:253:  100.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:263:  100.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:271:  100.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:279:  100.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:287:  100.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:38:   100.0%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:49:   77.8%
github.com/vaayne/anna/plugins/tools/mcp/supervisor.go:63:   76.6%
github.com/vaayne/anna/plugins/tools/mcp/tool.go:113:        75.0%
github.com/vaayne/anna/plugins/tools/mcp/tool.go:16:         66.7%
github.com/vaayne/anna/plugins/tools/mcp/tool.go:23:         0.0%
github.com/vaayne/anna/plugins/tools/mcp/tool.go:49:         77.3%
github.com/vaayne/anna/plugins/tools/mcp/tool.go:91:         50.0%
github.com/vaayne/anna/plugins/tools/mise/plugin.go:23:      0.0%
github.com/vaayne/anna/plugins/tools/notify/plugin.go:15:    14.3%
github.com/vaayne/anna/plugins/tools/notify/plugin.go:71:    0.0%
github.com/vaayne/anna/plugins/tools/notify/plugin.go:79:    83.3%
github.com/vaayne/anna/plugins/tools/read/read.go:140:       100.0%
github.com/vaayne/anna/plugins/tools/read/read.go:14:        25.0%
github.com/vaayne/anna/plugins/tools/read/read.go:157:       0.0%
github.com/vaayne/anna/plugins/tools/read/read.go:187:       71.4%
github.com/vaayne/anna/plugins/tools/read/read.go:199:       100.0%
github.com/vaayne/anna/plugins/tools/read/read.go:43:        100.0%
github.com/vaayne/anna/plugins/tools/read/read.go:47:        100.0%
github.com/vaayne/anna/plugins/tools/read/read.go:72:        86.5%
github.com/vaayne/anna/plugins/tools/skills/builtin/embed.go:17: 100.0%
github.com/vaayne/anna/plugins/tools/skills/builtin/embed.go:29: 100.0%
github.com/vaayne/anna/plugins/tools/skills/builtin/embed.go:43: 100.0%
github.com/vaayne/anna/plugins/tools/skills/builtin/embed.go:57: 75.0%
github.com/vaayne/anna/plugins/tools/skills/builtin/embed.go:80: 72.7%
github.com/vaayne/anna/plugins/tools/skills/catalog.go:30:   42.9%
github.com/vaayne/anna/plugins/tools/skills/catalog.go:45:   75.0%
github.com/vaayne/anna/plugins/tools/skills/catalog.go:69:   60.0%
github.com/vaayne/anna/plugins/tools/skills/catalog.go:93:   83.3%
github.com/vaayne/anna/plugins/tools/skills/fs_project.go:18: 68.6%
github.com/vaayne/anna/plugins/tools/skills/fs_project.go:87: 80.0%
github.com/vaayne/anna/plugins/tools/skills/install.go:14:   23.1%
github.com/vaayne/anna/plugins/tools/skills/install.go:38:   83.3%
github.com/vaayne/anna/plugins/tools/skills/install_lib.go:22: 0.0%
github.com/vaayne/anna/plugins/tools/skills/install_lib.go:78: 57.5%
github.com/vaayne/anna/plugins/tools/skills/manage.go:10:    0.0%
github.com/vaayne/anna/plugins/tools/skills/manage.go:21:    0.0%
github.com/vaayne/anna/plugins/tools/skills/plugin.go:12:    20.0%
github.com/vaayne/anna/plugins/tools/skills/plugin.go:50:    0.0%
github.com/vaayne/anna/plugins/tools/skills/plugin.go:57:    0.0%
github.com/vaayne/anna/plugins/tools/skills/project_context.go:14: 100.0%
github.com/vaayne/anna/plugins/tools/skills/project_context.go:7: 66.7%
github.com/vaayne/anna/plugins/tools/skills/prompt.go:10:    94.6%
github.com/vaayne/anna/plugins/tools/skills/prompt.go:71:    100.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:113:     77.8%
github.com/vaayne/anna/plugins/tools/skills/tool.go:133:     71.4%
github.com/vaayne/anna/plugins/tools/skills/tool.go:149:     100.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:156:     100.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:164:     100.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:168:     54.5%
github.com/vaayne/anna/plugins/tools/skills/tool.go:192:     85.2%
github.com/vaayne/anna/plugins/tools/skills/tool.go:247:     86.4%
github.com/vaayne/anna/plugins/tools/skills/tool.go:302:     0.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:358:     0.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:399:     0.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:427:     79.5%
github.com/vaayne/anna/plugins/tools/skills/tool.go:495:     88.9%
github.com/vaayne/anna/plugins/tools/skills/tool.go:510:     0.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:80:      100.0%
github.com/vaayne/anna/plugins/tools/skills/tool.go:99:      83.3%
github.com/vaayne/anna/plugins/tools/tap-web/plugin.go:14:   0.0%
github.com/vaayne/anna/plugins/tools/tap-web/plugin.go:42:   0.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:135: 100.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:144: 70.6%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:183: 66.7%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:194: 100.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:207: 81.8%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:21: 25.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:225: 75.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:233: 87.5%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:256: 75.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:282: 90.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:301: 75.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:68: 100.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:74: 100.0%
github.com/vaayne/anna/plugins/tools/webfetch/webfetch.go:97: 75.0%
github.com/vaayne/anna/plugins/tools/write/write.go:13:      25.0%
github.com/vaayne/anna/plugins/tools/write/write.go:42:      100.0%
github.com/vaayne/anna/plugins/tools/write/write.go:46:      100.0%
github.com/vaayne/anna/plugins/tools/write/write.go:67:      84.6%

vaayne added 3 commits April 20, 2026 14:50
P1: guard against empty union_id in maybeAutoProvision — without this, every
user missing union_id would be stored as (feishu, "") and resolve to the same
Anna account due to idempotent lookup on (platform, externalID).

P2: distinguish sql.ErrNoRows from real DB failures in deriveUsername — only
treat ErrNoRows as "username available"; propagate other errors so transient
DB failures don't silently cause mis-keyed account creation.

Assisted-by: claude-code:claude-sonnet-4-6
Exposes the two auto-provisioning config fields (tenant_key text input
and auto_provision toggle) in the admin channels form so operators can
configure them without hand-editing the database.

Assisted-by: Claude Code:claude-sonnet-4-6
When auto_provision=true and tenant_key is not configured, the bot now
calls /open-apis/tenant/v2/tenant/query on startup to detect its home
tenant key. This avoids the first-event race condition and removes the
requirement to manually look up and enter the tenant key.

- Add fetchBotTenantKey() using client.Tenant.Tenant.Query()
- Add effectiveTenantKey() combining configured + detected values
- Drop validateConfig check requiring tenant_key when auto_provision=true
- Update schema description and UI placeholder to reflect optional field

Assisted-by: Claude Code:claude-sonnet-4-6
@vaayne
Copy link
Copy Markdown
Owner Author

vaayne commented Apr 20, 2026

@codex review

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: 3d4100d891

ℹ️ 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".

Comment on lines +30 to +31
existing, err := store.GetIdentityByPlatform(ctx, req.Platform, req.ExternalID)
if err == 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.

P1 Badge Return identity lookup errors before provisioning

ProvisionIdentityUser currently treats every GetIdentityByPlatform error as a cache miss and proceeds to create a user. If that lookup fails for reasons other than not-found (for example transient DB/context failures), this path can perform unintended writes and then surface misleading downstream errors from create/rollback attempts. The provisioning flow should only continue on sql.ErrNoRows and immediately return other lookup errors.

Useful? React with 👍 / 👎.

Comment thread plugins/channels/feishu/handler.go Outdated
Comment on lines +140 to +142
provCtx, provCancel := b.apiContext()
b.maybeAutoProvision(provCtx, openID, unionID, tenantKey)
provCancel()
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 Avoid blocking message handling on auto-provision API calls

This call runs inline on the message handler hot path, and maybeAutoProvision performs a remote Contact API request on cache misses. Because the provisioning context uses a 30-second timeout, slow Feishu API responses can delay normal message processing for first-contact users by up to that timeout, despite the intent that provisioning failures should not block chat flow. Consider moving provisioning off the synchronous path (or otherwise decoupling first-message handling from profile fetch latency).

Useful? React with 👍 / 👎.

vaayne added 2 commits April 20, 2026 15:57
P1 (internal/auth/provision.go): GetIdentityByPlatform error was treated
as "not found" for any error, not just sql.ErrNoRows. Transient DB errors
now propagate immediately instead of proceeding to unintended user creation.

P2 (handler.go): maybeAutoProvision ran synchronously on the message hot
path, blocking delivery for first-contact users by up to 30s on Contact API
latency. Both onMessage and onReaction now launch provisioning in a goroutine.

Assisted-by: Claude Code:claude-sonnet-4-6
- Use platform field instead of hardcoded "feishu-" in deriveUsername
- Wrap discarded error in Coordinator.ProvisionUser count check
- Replace slog.Debug with logger() for consistent log routing
- Extract isCachedProvision helper to deduplicate lock/check pattern

Assisted-by: claude-code:claude-sonnet-4-6
@vaayne vaayne merged commit ebb9ace into main Apr 20, 2026
7 checks passed
@vaayne vaayne deleted the feat/feishu-auto-provision branch April 20, 2026 08:11
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