@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 +7 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +32 -0
- package/package.json +18 -6
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
|
+
[](https://github.com/filamind-app/filamind-core/actions/workflows/ci.yml)
|
|
7
|
+
[](https://www.npmjs.com/package/@filamind-app/core)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
[](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
|
-
| `
|
|
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.
|
|
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": {
|
|
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": {
|
|
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
|
-
".": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"import": "./dist/index.js"
|
|
22
|
+
}
|
|
15
23
|
},
|
|
16
|
-
"files": [
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
17
27
|
"sideEffects": false,
|
|
18
|
-
"publishConfig": {
|
|
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",
|