managarten/packages
Till JS 10acabfed6 feat(ai): tag-based agent scoping — agents see only their tagged records
Connects the existing global tag system (@mana/shared-tags, 15+ module
junctions, TagSelector UI) to the AI agent model so different agents
can operate on different slices of the user's data.

Core additions:

1. Agent.scopeTagIds — optional array of global tag IDs. When set,
   the agent sees only records tagged with at least one of those tags
   (plus untagged records, which stay globally visible). Empty/undefined
   = General-Agent, sees everything. Agent-editor grows a <TagSelector>
   under "Bereiche (Tag-Scope)".

2. Per-agent kontext documents — new Dexie table `agentKontextDocs`
   (v22, encrypted, synced). Each agent can have its own markdown
   context doc, replacing the global singleton auto-inject. Runner
   tries agent kontext first, falls back to global singleton when
   the agent has no dedicated doc.

3. Ambient scope context — `withAgentScope(tagIds, fn)` sets a
   module-level scope during the reasoning loop. Auto-tools read it
   via `getAgentScopeTagIds()` and filter their result sets.
   `filterByScope(records, getTagIds)` is the reusable filter
   primitive (keeps untagged records, drops mismatched tagged ones).

4. Notes tag junction — `noteTags` table (v22) + `noteTagOps` via
   `createTagLinkOps`. Notes was the only major module without
   structured tag support. `list_notes` now calls `filterByScope`
   so a scoped agent only sees notes tagged with its scope.

Flow: mission starts → runner resolves owning agent → reads
agent.scopeTagIds → wraps entire reasoning loop in withAgentScope →
list_notes (and future list_tasks etc.) auto-filter → planner sees
only scope-relevant records → proposes scoped edits.

Runner tests: 8/8. shared-ai type-check: clean.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 13:43:33 +02:00
..
credits refactor(theme): migrate shared packages to --color-* token naming 2026-04-15 22:11:42 +02:00
eslint-config fix(timeblocks): type errors from recurrence migration 2026-04-07 13:22:59 +02:00
feedback fix(packages): cross-package broken imports + missing exports 2026-04-09 20:23:34 +02:00
help refactor: rename planta → plants, clean up codebase 2026-04-12 18:59:44 +02:00
local-llm docs(shared-llm): correct the mana-server tier topology in code + CLAUDE.md 2026-04-09 16:40:34 +02:00
local-store fix(mana/web): sprint 2 — auth-aware data layer + guest migration 2026-04-07 13:07:12 +02:00
local-stt feat(web): PillNav bar mode, fullscreen, local STT + mic button 2026-04-12 16:05:43 +02:00
notify-client chore(matrix): final scrub of stale matrix references 2026-04-08 16:47:54 +02:00
qr-export chore(workspace): unify vitest to ^4.1.2 across all packages 2026-04-07 13:58:29 +02:00
shared-ai feat(ai): tag-based agent scoping — agents see only their tagged records 2026-04-16 13:43:33 +02:00
shared-auth refactor(credits): simplify credit system — remove productivity credits, guild pools, complex gift types 2026-04-10 19:08:42 +02:00
shared-auth-ui refactor(theme): migrate --theme-* tokens in shared-auth-ui 2026-04-16 00:16:39 +02:00
shared-branding feat(news-research): RSS feed discovery, filter, and AI-context export 2026-04-15 22:31:07 +02:00
shared-drizzle-config feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
shared-error-tracking feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
shared-go chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
shared-hono refactor(credits): simplify credit system — remove productivity credits, guild pools, complex gift types 2026-04-10 19:08:42 +02:00
shared-i18n chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
shared-icons perf(shared-icons): mark package as side-effect-free for tree-shaking 2026-04-14 17:16:19 +02:00
shared-landing-ui refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
shared-links refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
shared-llm feat(ai): SSE streaming for foreground Mission Runner 2026-04-16 12:32:43 +02:00
shared-logger feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
shared-pwa fix(pwa): wire up manifest link + SW registration so install prompt works 2026-04-14 14:05:49 +02:00
shared-python/manacore_auth feat: rename ManaCore to Mana across entire codebase 2026-04-05 20:00:13 +02:00
shared-rss refactor(shared-rss): extract RSS parsing + Readability into one package 2026-04-15 22:30:44 +02:00
shared-storage perf(shared-pkgs): declare sideEffects for aggressive tree-shaking 2026-04-14 18:12:22 +02:00
shared-stores refactor: rename planta → plants, clean up codebase 2026-04-12 18:59:44 +02:00
shared-tags chore: complete ManaCore → Mana rename (docs, go modules, plists, images) 2026-04-07 12:26:10 +02:00
shared-tailwind fix(shared-tailwind): export CSS under 'style' condition for Vite build 2026-04-16 13:39:01 +02:00
shared-theme refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
shared-theme-ui feat(web): wallpaper system + sticky PageHeader 2026-04-12 16:00:03 +02:00
shared-types fix(types): enable allowImportingTsExtensions, restore .ts on shared-types 2026-04-14 20:54:35 +02:00
shared-ui chore: cleanup dead props, deps, dirs, and stale comments 2026-04-16 13:17:59 +02:00
shared-uload fix(packages): modal keydown handlers, $derived.by usage, UserData fields 2026-04-09 20:24:05 +02:00
shared-utils refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
shared-vite-config chore(packages): remove 4 dead zero-consumer packages 2026-04-09 11:56:25 +02:00
spiral-db refactor: rename zitare -> quotes (Zitate) 2026-04-14 20:59:16 +02:00
subscriptions fix(mana-llm): google-genai v1.73 keyword-only Part.from_text() 2026-04-16 12:47:23 +02:00
test-config chore(workspace): unify vitest to ^4.1.2 across all packages 2026-04-07 13:58:29 +02:00
wallpaper-generator fix(a11y): replace 215 suppression comments with real fixes 2026-04-10 22:43:05 +02:00