managarten/packages
Till JS a08e45ca16 feat(templates): generalise to WorkbenchTemplate + ship Calmness pilot (T1)
First pass of the workbench-templates plan (docs/plans/workbench-
templates.md) — templates are no longer agent-centric but a general
"starter kit" bundle: optional agent + optional scene + optional
missions + optional per-module seeds. Pilot non-AI template "Calmness"
ships alongside.

Shape generalisation (packages/shared-ai/src/agents/templates/types.ts):
- AgentTemplate renamed to WorkbenchTemplate; all fields now optional
  (agent, scene, missions, seeds). Back-compat AgentTemplate alias
  kept so research/context/today keep compiling.
- Added `category: 'ai'|'wellness'|'work'|'lifeEvent'|'delight'` +
  `icon` (for non-agent templates that have no avatar) + `version`
  field (for future update-detection).
- New WorkbenchTemplateSeedItem shape: `{stableId?, data: unknown}`.
  Module-specific seed payloads are typed at the handler side.
- Existing three AI templates nachgezogen: category='ai' (or
  'delight' for today-agent), icon, version='1'.

Seed infrastructure:
- apps/mana/apps/web/src/lib/data/ai/agents/seed-registry.ts — in-
  memory handler map keyed by module name; module-local seed.ts files
  register themselves at import time.
- apps/mana/apps/web/src/lib/modules/meditate/seed.ts — first handler:
  createPreset-based, idempotent via stableId embedded as HTML
  comment in the preset description (T1 pragmatism; T2 adds a proper
  column on the preset schema).
- data/ai/missions/setup.ts pulls `import '$lib/modules/meditate/seed'`
  so the handler is registered before any template is applied.

Applicator upgrades (data/ai/agents/apply-template.ts):
- Agent step now optional — skipped cleanly when template has no
  agent part.
- New step 4: seeds. Walks template.seeds, looks up the handler for
  each module, aggregates per-item outcomes (created/skipped-exists/
  failed) into result.seedOutcomes. Missing handler = warning, not
  fatal. Crypto/encryption unchanged — seeds go through the same
  module stores that module code already uses.
- Result shape gains `seedOutcomes: Record<string, SeedOutcome[]>`
  so the gallery can show "3 new, 1 already there".

Calmness pilot (packages/shared-ai/src/agents/templates/calmness.ts):
- category='wellness', NO agent, scene with meditate/mood/journal/
  sleep apps, two meditate preset seeds:
  * 4-7-8 Atmung (breathing preset)
  * Body-Scan 10min (bodyscan preset with 9 scan steps)
- Each seed has a stableId so re-apply is idempotent.

Gallery updates (routes/(app)/agents/templates/+page.svelte):
- Card avatar falls back to t.icon when no agent. "Agent" chip shows
  only for agent-templates; "N Seeds" chip shows for templates with
  seeds.
- Detail header shows "Workbench-Setup ohne AI-Agent" when no agent.
- New "Seeds" preview section: lists per-module counts + item names.
- Options section gains a "Seed-Daten in Module einpflegen" checkbox.
- Success panel shows seed summary: "3 Seeds neu, 1 bereits
  vorhanden".

Tests: shared-ai 26/26, webapp svelte-check 0 errors, 0 warnings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 01:07:41 +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(templates): generalise to WorkbenchTemplate + ship Calmness pilot (T1) 2026-04-16 01:07:41 +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 perf(shared-pkgs): declare sideEffects for aggressive tree-shaking 2026-04-14 18:12:22 +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 refactor(tailwind): centralize @source list in @mana/shared-tailwind/sources.css 2026-04-16 00:59:33 +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 refactor(theme): migrate shared packages to --color-* token naming 2026-04-15 22:11:42 +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 refactor(theme): migrate shared packages to --color-* token naming 2026-04-15 22:11:42 +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