@filamind-app/core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,6 +3,11 @@
3
3
  The shared foundation of the FilaMind suite — **framework-agnostic TypeScript** consumed by FilaMind 3d
4
4
  (web), FilaMind screen (touch), and FilaMind flow. Phase 0.
5
5
 
6
+ [![CI](https://github.com/filamind-app/filamind-core/actions/workflows/ci.yml/badge.svg)](https://github.com/filamind-app/filamind-core/actions/workflows/ci.yml)
7
+ [![npm](https://img.shields.io/npm/v/@filamind-app/core?color=111111&label=npm)](https://www.npmjs.com/package/@filamind-app/core)
8
+ [![License: GPLv3](https://img.shields.io/badge/License-GPLv3-111111.svg)](LICENSE)
9
+ [![TypeScript](https://img.shields.io/badge/TypeScript-strict-111111?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
10
+
6
11
  ## What's here
7
12
  | Module | Purpose |
8
13
  | --- | --- |
@@ -20,7 +25,8 @@ The shared foundation of the FilaMind suite — **framework-agnostic TypeScript*
20
25
  | `backup/restore-points.ts` | reversible, retention-bounded **`RestorePoints`** (back-up-first substrate for config/flash/migrate) |
21
26
  | `observability/logger.ts` | pluggable ring-buffer `Logger` (the diagnostics-bundle source; replaces silent `catch {}`) |
22
27
  | `registry/widget-registry.ts` | the cross-surface widget/plugin registry + `aggregateSubscriptions` |
23
- | `theme/tokens.ts` | the exclusive Pharaonic themes (Tutankhamun · Horus · Anubis) as `--fm-*` design tokens |
28
+ | `remote/commands.ts` · `remote/command-sender.ts` | the cross-surface command bus — **UI-only** commands (navigate / message / locate) over a Moonraker **agent** connection. `CommandSender` identifies as an agent, re-identifies on reconnect, is single-flight, and sanitizes control/bidi text; it is never a mutation path (those still go through `WriteArbiter`) |
29
+ | `theme/tokens.ts` | the theme palettes as `--fm-*` design tokens — 3 signature Pharaonic themes (Tutankhamun · Horus · Anubis) + neutral **light** / **dark** |
24
30
  | `i18n/locale-meta.ts` | the 19 shipped locales `{ code, name, rtl, dir }` + RTL list + CLDR `pluralCategory` (`Intl.PluralRules`) |
25
31
  | `i18n/translator.ts` | framework-agnostic `translate` / `Translator` + the backend message-code contract (`resolveMessage`) |
26
32
  | `i18n/locales/*.json` | drop-in catalogs (en + ar shipped as proof, incl. the full Arabic plural set) |
package/dist/index.d.ts CHANGED
@@ -361,7 +361,7 @@ interface ThemeTokens {
361
361
  warning: string;
362
362
  danger: string;
363
363
  }
364
- type ThemeName = 'tutankhamun' | 'horus' | 'anubis';
364
+ type ThemeName = 'tutankhamun' | 'horus' | 'anubis' | 'light' | 'dark';
365
365
  declare const themes: Record<ThemeName, ThemeTokens>;
366
366
  declare const DEFAULT_THEME: ThemeName;
367
367
  /** `{ "--fm-bg": "#0E0F12", ... }` for a theme. */
package/dist/index.js CHANGED
@@ -759,6 +759,38 @@ var themes = {
759
759
  success: "#6E7C3A",
760
760
  warning: "#D98E2B",
761
761
  danger: "#8C1F1A"
762
+ },
763
+ // neutral light — a conventional bright UI for users who prefer it
764
+ light: {
765
+ bg: "#F7F8FA",
766
+ surface: "#FFFFFF",
767
+ surface2: "#EEF1F5",
768
+ border: "#D6DBE2",
769
+ text: "#1A1D23",
770
+ textMuted: "#5B6573",
771
+ primary: "#2563EB",
772
+ primaryContrast: "#FFFFFF",
773
+ secondary: "#64748B",
774
+ accent: "#0D9488",
775
+ success: "#15803D",
776
+ warning: "#B45309",
777
+ danger: "#DC2626"
778
+ },
779
+ // neutral dark — a conventional dark UI, distinct from the warm Pharaonic palettes
780
+ dark: {
781
+ bg: "#0F1115",
782
+ surface: "#171A21",
783
+ surface2: "#1F232C",
784
+ border: "#2C313C",
785
+ text: "#E6E8EC",
786
+ textMuted: "#9AA2AE",
787
+ primary: "#4F8EF7",
788
+ primaryContrast: "#0B0D11",
789
+ secondary: "#6B7280",
790
+ accent: "#14B8A6",
791
+ success: "#22A06B",
792
+ warning: "#E0A92E",
793
+ danger: "#E5484D"
762
794
  }
763
795
  };
764
796
  var DEFAULT_THEME = "tutankhamun";
package/package.json CHANGED
@@ -1,21 +1,33 @@
1
1
  {
2
2
  "name": "@filamind-app/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Shared foundation for the FilaMind suite — Moonraker client, reactive printer state, provenance-stamped values, design tokens, and the widget/plugin registry. Framework-agnostic TypeScript.",
5
5
  "license": "GPL-3.0-or-later",
6
- "repository": { "type": "git", "url": "git+https://github.com/filamind-app/filamind-core.git" },
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/filamind-app/filamind-core.git"
9
+ },
7
10
  "homepage": "https://github.com/filamind-app/filamind-core#readme",
8
- "bugs": { "url": "https://github.com/filamind-app/filamind-core/issues" },
11
+ "bugs": {
12
+ "url": "https://github.com/filamind-app/filamind-core/issues"
13
+ },
9
14
  "type": "module",
10
15
  "main": "./dist/index.js",
11
16
  "module": "./dist/index.js",
12
17
  "types": "./dist/index.d.ts",
13
18
  "exports": {
14
- ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" }
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js"
22
+ }
15
23
  },
16
- "files": ["dist"],
24
+ "files": [
25
+ "dist"
26
+ ],
17
27
  "sideEffects": false,
18
- "publishConfig": { "access": "public" },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
19
31
  "scripts": {
20
32
  "build": "tsup src/index.ts --format esm --dts --clean",
21
33
  "dev": "tsup src/index.ts --format esm --dts --watch",