You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/svelte.config.js

78 lines
3.6 KiB

import adapter from '@sveltejs/adapter-static';
import { resolve, dirname } from 'path';
import { fileURLToPath } from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
adapter: adapter({ fallback: '200.html' }),
files: {
routes: 'web/routes'
},
alias: {
// Sincronizado con vite.config.ts para que TypeScript,
// el compilador de Svelte y Vitest resuelvan el mismo alias.
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
// ── Runtime artifacts (src/arts) ────────────────────────────────
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$active-app': resolve(__dirname, 'src/arts/active-app'),
'$adom': resolve(__dirname, 'src/arts/adom'),
feat(agent): eje agéntico — motor $agent (F1) + Aura + promoción uix.scene Materializa el eje ortogonal agéntico del ecosistema: la 8ª familia semántica `delegate` («¿quién actúa ahora?») deja de estar sin materializar. El agente es OTRO ACTOR (LLM, macro, regla, workflow) que actúa por la MISMA API pública del provider; la ruta de llamada no se bifurca, la concreción semántica depende del actor. F0 · Doctrina - docs/architecture/agent.md — la doctrina permanente (capítulo comparativo de referencias + bibliografía de seguridad, máquina estados=verbos, contrato de participación, fila §0, a11y, amenazas). - docs/process/{PLAN,TRIAGE,INFORME}-agent — plan de ejecución con todas las decisiones firmadas (D-AG.1–11 + ⚖️1/2/3), triage de 4 revisores externos, e informe autocontenido para revisión externa. F1 · Motor ($libs/actor + arts/agent, 24º arte) - EngineAgent puro (sin DOM/runes, portable a servidor): máquina D-AG.4 (suggest/review/auto · escalated con reason+timeout · returned outcome-tipado · kill switch · autorización journaled aunque sea auto), tool-loop D-AG.5 (acts secuenciales, fallos→verbos, unknown-capability acotado, idempotencia por callId, presupuestos acts/turns/wall-clock vía puerto de timers), techo de autonomía por origen no confiable (F8b). - ActiveAgent (sesión reactiva, contrato ActiveEngine) · protocolo v1 espejo AG-UI (5 categorías + dirección tipada + reservas) · ScriptedAgentTransport determinista (adapters/ fuera del barrel) · journal WAL + puerto de trazas OTel · emisor sium→JSON Schema. - Acuñación del actor (⚖️2/F6b): ActorToken opaco en $libs/actor (hoja bajo orca/agent), registro privado WeakMap — los forjados resuelven a null; costura `actor?` en TriggerOptions→SemanticSignal (runtime copia verbatim; sema no resuelve). defineActiveAgent (service-factory app-level, timers del core — cero setTimeout a pelo). F3 · Aura — primer componente del eje (ruta 9 fases 0–6) - El materializador canónico de `delegate` (reservado en scene §F6): morfo con los eventos del ciclo (offer/escalate-untilAction/return + sustain-processing stateBound) — PRIMER morfo del ecosistema que emite familia delegate; provider soma que observa un puerto estructural (sin importar $agent — degradación total); orb eidos = aurora $scene modulada por estado (§F6) con fallback CSS = render de reduced-motion; live region única atribuida (WCAG 4.1.3); cancel compone Button (asChild). Demo v2 sobre el MOTOR REAL con compuertas deterministas. Orb-size derivado de la primitiva Avatar (32/40/48). D4 · Promoción uix.scene (Aura llegó) - defineEngineScene + superficie ActiveUix/ActiveEidos/contracts; el orb prefiere el motor compartido (presupuesto de escenas global) con fallback por-superficie. Gates: arts/agent 18/18 · aura 6/6 · arts:check 24 · eidos battery + recipe 30/30 + eidos-lint aura 0 inválidos · morfo:vocabulary + esquemas · smoke aura PASS · verificado en navegador (ciclo completo + estampa delegate en DOM + aurora WebGL pintando). Los tokens de recipe base.ts + CSS generado ya entraron en HEAD vía una sesión concurrente. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 months ago
'$agent': resolve(__dirname, 'src/arts/agent'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$auth': resolve(__dirname, 'src/arts/auth'),
'$bus': resolve(__dirname, 'src/arts/bus'),
'$cache': resolve(__dirname, 'src/arts/cache'),
'$clipboard': resolve(__dirname, 'src/arts/clipboard'),
'$color': resolve(__dirname, 'src/arts/color'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$connection': resolve(__dirname, 'src/arts/connection'),
'$ethereal': resolve(__dirname, 'src/arts/ethereal'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$format': resolve(__dirname, 'src/arts/format'),
'$http': resolve(__dirname, 'src/arts/http'),
'$langs': resolve(__dirname, 'src/arts/langs'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$logger': resolve(__dirname, 'src/arts/logger'),
'$motion': resolve(__dirname, 'src/arts/motion'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$orca': resolve(__dirname, 'src/arts/orca'),
'$perf': resolve(__dirname, 'src/arts/perf'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$perm': resolve(__dirname, 'src/arts/perm'),
'$prefs': resolve(__dirname, 'src/arts/prefs'),
feat(packs+text): incorporate the animation collection — Ambient pack + text-effects family + docs Two streams, split by what the animation touches: STREAM A — decorative backgrounds → the pack tier - arts/scene: a consolidated scene runtime ($scene) that owns, once, the citizenship every ad-hoc background reinvented or skipped (frame loop, off-view pause, DPR cap, mandatory reduced-motion, WebGL context loss/restore, scene budget, teardown). SceneDom port (adom satisfies it), webgl/webgl2/canvas2d drivers + a custom-pipeline extension (vertexShader + draw + glContext.depth/dprCap) for real geometry (beam, particles, dither, grid, eter, pixel-blast, hyperspeed). 32 effects as shared resources. - src/packs/ambient: the first pack — <Ambient effect="…"> mounts a registered effect; the P contract (P-1..P-6) guarded by scripts/packs-check.ts; colors are token-aware (P-4). One-way dependency, removable-by-construction. - resolveToken extended to semantic color slots (--color-{role}-{slot}) so consumers resolve theme tokens to concrete colors (the P-4 half). STREAM B — animations over real text → canon - Six components (count-up + text-{gradient,circular,blur,focus,scramble}): each a morfo + eidos recipe (where there's styling) + demo. CountUp is a service component (counts through uix.format.numbers). The five Text* are passive decoratives. Upgrades over the seeds: SR hardening (real text visually-hidden + aria-hidden decoration), a11y fix (no fake role=button), measurement discipline (cached rects via dom.measure, no reflow storm), reduced-motion, ecosystem citizenship (eidos.dom/timers, no raw platform). - MorfoElement gains 'p'. DOCS - docs/architecture/packs.md (pack tier, admission rule, P contract, Aura promotion path); docs/decisions/design-text-effects.md (the family design record) + indexed in decisions.md / README.md; glossary entries (scene/Ambient/Aura/text effects); scene README custom-pipeline + authoring bridge; motion-guide content-effects note; strata tables acknowledge packs. Gates: component:audit 141/0/0 · docs:check 0/0 · scene tests 9/9 · packs:check 0/36 · check 0 own errors. Verified in browser (32 effects mount+compile; 6 text components SSR+hydrate, CountUp re-formats by locale live, TextGradient resolves token stops to OKLCH via var()). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 months ago
'$scene': resolve(__dirname, 'src/arts/scene'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$session': resolve(__dirname, 'src/arts/session'),
'$sium': resolve(__dirname, 'src/arts/sium'),
refactor(sound): extraer el motor Web Audio de sema al art `$sound` `sema/chans/sound.ts` tenía 407 líneas de las que ~255 (≈63%) eran maquinaria Web Audio —ciclo de vida del AudioContext, síntesis, samples, desbloqueo por gesto— mezclada con doctrina perceptiva. Deuda arrastrada, con tres síntomas medidos: el import era estático, así que toda app con sema metía el sintetizador en el bundle aunque el sonido estuviera apagado (que es el default); faltaba ciudadanía que `$scene` ya resuelve; y la costura de inyección (`audioContextFactory`) llevaba ahí sin usar desde el principio. Mismo movimiento que `$motion` hizo desde eidos: el art se lleva el RUNTIME, la capa conserva sus DATOS y su doctrina. - `$sound` / `EngineSound`: UN AudioContext por documento (los navegadores los limitan y el gesto de desbloqueo es por contexto), síntesis de earcon, samples con caché y fallback a síntesis, `autoSuspend` OPT-IN —suspender con la pestaña oculta es correcto para earcons y erróneo para contenido, así que es decisión de quien compone— y aviso cuando un segundo contexto va vivo. Puertos `SoundDom` / `SoundTimers` inyectados; no importa ningún otro art ni nada de `$uix/sema`, que es la prueba objetiva del corte. - `SoundChannel`: 407 → 136 líneas. Solo doctrina: el gate de `prepare`, la política de reducción y el reparto «el canal resuelve el NIVEL, el motor aplica la ganancia». Sema no gana ni un import: recibe el motor por puerto. - `uix.sound` en standalone y attach con `ownsSound` (idioma ya shipped: `ownsMotion` / `ownsScene`), fila `sound` en la tabla ejecutable `contracts.ts`, y `defineEngineSound()` para el camino de app. - Tests nuevos: `engine-sound.test.ts` (11), `sound-port.test.ts` (guard de deriva de tipos + la regla de propiedad) y `sound-e2e.test.ts`, que recorre `emit -> cascada -> canal -> art -> grafo real`: el camino que las 16 suites previas no cubrían porque paraban en canales falsos. Sin `diagnostics.ts` ni `errors.ts`, y es decisión: espejo de `$scene`, aquí todo fallo es degradación documentada, no error de programador. Verificación: 17 suites / 198 tests · `check` en la baseline exacta (73 errores, 0 propios) · `sound.test.ts` verde SIN tocar un solo assert, que era el criterio de que el movimiento fue value-preserving. Planes: `PLAN-sound-engine.md` (completo, con el registro de la revisión adversarial E-1..E-7), `PLAN-audio-player.md` (aparcado tras el análisis del reproductor, con sus correcciones en cabecera) y `CONTINUE-sound-engine.md` (handoff). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 months ago
'$sound': resolve(__dirname, 'src/arts/sound'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$storage': resolve(__dirname, 'src/arts/storage'),
'$timer': resolve(__dirname, 'src/arts/timer'),
// ── Pure helpers (src/libs) ─────────────────────────────────────
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$libs': resolve(__dirname, 'src/libs'),
'$locale': resolve(__dirname, 'src/libs/locale'),
'$reactive': resolve(__dirname, 'src/libs/reactive'),
feat(packs+text): incorporate the animation collection — Ambient pack + text-effects family + docs Two streams, split by what the animation touches: STREAM A — decorative backgrounds → the pack tier - arts/scene: a consolidated scene runtime ($scene) that owns, once, the citizenship every ad-hoc background reinvented or skipped (frame loop, off-view pause, DPR cap, mandatory reduced-motion, WebGL context loss/restore, scene budget, teardown). SceneDom port (adom satisfies it), webgl/webgl2/canvas2d drivers + a custom-pipeline extension (vertexShader + draw + glContext.depth/dprCap) for real geometry (beam, particles, dither, grid, eter, pixel-blast, hyperspeed). 32 effects as shared resources. - src/packs/ambient: the first pack — <Ambient effect="…"> mounts a registered effect; the P contract (P-1..P-6) guarded by scripts/packs-check.ts; colors are token-aware (P-4). One-way dependency, removable-by-construction. - resolveToken extended to semantic color slots (--color-{role}-{slot}) so consumers resolve theme tokens to concrete colors (the P-4 half). STREAM B — animations over real text → canon - Six components (count-up + text-{gradient,circular,blur,focus,scramble}): each a morfo + eidos recipe (where there's styling) + demo. CountUp is a service component (counts through uix.format.numbers). The five Text* are passive decoratives. Upgrades over the seeds: SR hardening (real text visually-hidden + aria-hidden decoration), a11y fix (no fake role=button), measurement discipline (cached rects via dom.measure, no reflow storm), reduced-motion, ecosystem citizenship (eidos.dom/timers, no raw platform). - MorfoElement gains 'p'. DOCS - docs/architecture/packs.md (pack tier, admission rule, P contract, Aura promotion path); docs/decisions/design-text-effects.md (the family design record) + indexed in decisions.md / README.md; glossary entries (scene/Ambient/Aura/text effects); scene README custom-pipeline + authoring bridge; motion-guide content-effects note; strata tables acknowledge packs. Gates: component:audit 141/0/0 · docs:check 0/0 · scene tests 9/9 · packs:check 0/36 · check 0 own errors. Verified in browser (32 effects mount+compile; 6 text components SSR+hydrate, CountUp re-formats by locale live, TextGradient resolves token stops to OKLCH via var()). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 months ago
// ── Encapsulated opt-in packs (src/packs) ───────────────────────
'$packs': resolve(__dirname, 'src/packs'),
// ── Server-authoritative engines (src/svrs) ─────────────────────
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
'$svrs': resolve(__dirname, 'src/svrs'),
// ── UIX layers (src/uix) ────────────────────────────────────────
active-uix: introduce UIX layer between active-app and components Decouples the UIX layer (soma / morfo runtime / sema / eidos) from the App composition layer (`active-app`). UIX components no longer import `\$active-app` directly — they read services through `getActiveUix()`. Two boot paths produce the same `ActiveUix`: - **Standalone** — `createActiveUix({ lang, semantic, … })` bootstraps an `ActiveApp` internally with the UIX services plus any `extraServices`. Owns the app — `dispose()` propagates. - **Attach** — `attachActiveUix(externalApp)` wraps an app the application composed itself (typically when it has services beyond UIX: cache, session, http, …). The external app must declare the UIX services; helper `defineUixServices(options)` returns the slice ready to spread into `createActiveApp({ services })`. Does NOT own the app. In both cases components see only `ActiveUix`. They have no way to tell which boot path was used. Module: src/uix/active-uix/ ├── index.ts barrel ($active-uix) ├── types.ts ActiveUix, ActiveUixOptions, AttachActiveUixOptions ├── services.ts defineUixServices() + UIX_REQUIRED_SERVICES ├── active-uix.svelte.ts createActiveUix() + attachActiveUix() + ActiveUixImpl ├── components/uix.svelte <Uix uix={...}> wrapper (sets context + creates Soma) └── svelte/context.svelte.ts setActiveUix() / getActiveUix() / tryGetActiveUix() Surface exposed by `ActiveUix`: - UIX services: lang, frontend, format (optional), dom, semantic - Core: logger, bus, timers, prefs - Config: somaPortalTo - `app` escape hatch for advanced integration code (NOT for UIX components) Wiring done by active-uix at boot: - `App.lang.extend('components', componentLangs)` — soma component translations always available without per-app boilerplate. - Frontend service auto-configured with `applyDom: true` + `target: () => document.documentElement` so theme/dir/density land on `<html>` automatically. Migration: - `Soma.create()` reads `getActiveUix()` instead of `getActiveApp()`. Soma class no longer imports `\$active-app`. - 3 layouts (test/eidos, test/sium, test/soma) replace `createActiveApp + setActiveApp + <Soma>` with `createActiveUix + <Uix>`. Boilerplate drops ~20 lines per layout. - 7 sium pages replace `getActiveApp() + app.lang.setLocale(…)` with `getActiveUix() + uix.lang.setLocale(…)`. Validation: - `attachActiveUix(app)` throws `ActiveUixMissingServiceError` if the external app didn't declare lang/frontend/dom/semantic. - `getActiveUix()` throws `ActiveUixNoContextError` if no `<Uix>` ancestor mounted. `\$active-uix` alias wired in svelte.config.js + vite.config.ts (both client and server projects). Verified: vitest 197/197, smoke 68/68, morfo-check 66/66, playwright probe (4 routes including dialog with sound) zero page/console errors.
5 months ago
'$uix': resolve(__dirname, 'src/uix'),
'$active-uix': resolve(__dirname, 'src/uix/active-uix'),
'$soma': resolve(__dirname, 'src/uix/soma'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
// ── Blocks tier (src/uix/blocks) — page-function compositions ───
'$blocks': resolve(__dirname, 'src/uix/blocks'),
sema/morfo/eidos: typed selector builder + dialog wrapper + emerge color sema architecture - sema-map: 5-channel registry (motion / sound / color / presence / haptic) via SemaChannelSignatures declaration merging; engine stamps data-event-* tokens; flat CSS-style cascade replaces the eventLabel-overrides middle layer. - sema-map: emerge family gains base.color so intent deltas can shift hue / saturation / intensity. Without a base, the resolver was skipping the channel and Dialog open with intent='threat' rendered as neutral blue in the Sema tab visualisation. - types: SEMA_FAMILY_POLICY const drives compile-time + runtime intent requirements per family. Object shape so future per-family policy fields fit alongside. Emerge events MAY now declare intent (canon update — a Dialog confirming threat carries it in its very appearance). - chans: rename vibra→haptic, add HapticChannel V1 (Vibration API); SoundChannel eager-init on first user gesture (autoplay race fix). morfo selector discipline - morfo/selectors.ts (new): semaSelector(morfo, partKebab, matchers?) — type-checked against morfo.parts and morfo.events. Sema cascade rules MUST use it; hand-written strings are an architecture violation that breaks silently when morfo renames a part. - dialog morfo: open carries intent via fromProp; close-cancel / close-dismiss / close-dismiss-outside drop intent (cancellation has no evaluative load); close-save stays hardcoded fulfill (commit fulfils the user's decision regardless of dialog context). eidos dialog migration (4th pilot) - eidos/components/dialog/: full subdirectory wrapper — flat <Dialog> + compound Provider/Trigger/Overlay/Content/Title/Description/Close/Header/ Footer; size + position responsive props; sheet auto-form on narrow viewports; closePosition for the auto-X. - sema/components/dialog.ts: cascade rules use semaSelector(dialogMorfo, 'content', matchers?). Intent block adds character (haptic kind / pattern) but never overrides pitch / gain / contour — those are intent.deltas signature ownership and overriding flattens per-intent perceptual difference. demo controls + dialog page - src/lib/_demo (DemoSwitch / DemoEnum / DemoText / DemoRange) — unified controls reused across all component demos. - web/routes/dialog: live preview always rendered above tabs; per-event Sema tab with independent intent probe; signature visualisation + Play buttons with fallback target chain. documentation - CLAUDE.md: intent.deltas signature ownership rule; eidos drift defense doctrine (types over lint); 2026-05-09 hand-off entry. - morfo/README: Typed selector builder section. - eidos/README: linter section reframed as opt-in safety net for plain CSS recipes; the architectural mechanism is compile-time typing. - sema/README: open channel registry + flat cascade docs + override semantics + intent policy const + selector builder discipline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
// ── Demo controls (src/lib/_demo) ───────────────────────────────
'$demo': resolve(__dirname, 'src/lib/_demo'),
deprecate src/lib + wire new ecosystem aliases (Phase 0+1) Phase 0 — mark legacy as deprecated: - Add @deprecated JSDoc header to all 27 top-level barrels under src/lib (ext/{app,lang,dates,money,nums,units,presentation}, {actx,ling,logr,glob,sium,util}, root index.ts). - Add src/lib/README.md with the migration map: legacy module → new equivalent under src/arts + src/libs + src/svrs. - Zero behavior change. Only IDE strikethrough at usage sites. Phase 1 — wire new ecosystem aliases in vite.config.ts and svelte.config.js: - 18 new $arts/* aliases: $active-app, $adom, $auth, $bus, $cache, $connection, $format, $frontend, $http, $lang, $logger, $orca, $perm, $prefs, $session, $sium, $storage, $timer. - $libs (src/libs), $locale (src/libs/locale), $svrs (src/svrs). - $reactive rewired from src/lib/util/reactive to src/libs/reactive (export surfaces verified compatible — same symbols, drop-in). - Legacy aliases ($lib, $glob, $langs, @/ling, @/logr, @/glob, @/actx, @/uiux) preserved for backwards compat during migration. - SvelteKit auto-regenerates .svelte-kit/tsconfig.json paths from svelte.config.js, so TS resolution updates without manual edits. The migration plan (Phases 2-6) lives in src/lib/README.md: Phase 2 — sweep src/lib/util/* imports to $libs/* (drop-in). Phase 3 — morfo/schema.ts: 3 imports to $libs/standard-schema. Phase 4 — soma's App.create() composition to createActiveApp with explicit service slots (including semantic for sema). Only step that changes architecture. Phase 5 — sweep ~82 test pages to use new aliases. Phase 6 — remove src/lib/{glob,ling,actx} after verifying no consumers; investigate sium and util/{dates,times,timers}. Verification: smoke 68/68, morfo-check 66/66. svelte-check baseline unchanged for the alias rewire (no Cannot-find-module errors). The 2 dialog-provider possibly-undefined errors at lines 113-114 are pre-existing (this.soma vs this.soma! after Soma.get() returning Soma | undefined) — not introduced by this commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 months ago
// ── @/ catch-all ────────────────────────────────────────────────
'@': resolve(__dirname, 'src'),
},
},
vitePlugin: {
dynamicCompileOptions: ({ filename }) =>
filename.includes('node_modules') ? undefined : { runes: true }
}
};
export default config;

Powered by TurnKey Linux.