@happyvertical/smrt-svelte 0.40.61 → 0.40.63
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 +41 -11
- package/agents/components.md +9 -7
- package/agents/workspace.md +6 -0
- package/dist/components/workspace/MIGRATION.md +16 -5
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ pnpm add @happyvertical/smrt-svelte
|
|
|
55
55
|
|
|
56
56
|
```svelte
|
|
57
57
|
<script>
|
|
58
|
-
import { PermissionCheck, permission } from '@happyvertical/smrt-
|
|
58
|
+
import { PermissionCheck, permission } from '@happyvertical/smrt-ui';
|
|
59
59
|
</script>
|
|
60
60
|
|
|
61
61
|
<PermissionCheck requires="admin:write">
|
|
@@ -144,22 +144,52 @@ scaffold adopts AdminShell as its default chrome exactly this way; copy its
|
|
|
144
144
|
|
|
145
145
|
### Entry Points
|
|
146
146
|
|
|
147
|
+
This is the complete `exports` map of this package. Anything not listed is not
|
|
148
|
+
importable, even if it appears in `dist/`.
|
|
149
|
+
|
|
147
150
|
| Import Path | Contents |
|
|
148
151
|
|-------------|----------|
|
|
149
|
-
| `@happyvertical/smrt-svelte` | Provider
|
|
150
|
-
| `@happyvertical/smrt-svelte/
|
|
151
|
-
| `@happyvertical/smrt-svelte/
|
|
152
|
-
| `@happyvertical/smrt-svelte/layout` | Layout (Container, Grid, Header, Footer, Masthead, etc.) |
|
|
153
|
-
| `@happyvertical/smrt-svelte/ui` | UI primitives (Button, Card, Badge, Pagination) |
|
|
154
|
-
| `@happyvertical/smrt-ui/themes` | Canonical ThemeProvider, Material/Glass/Studio/s-m-r-t presets, CSS generation |
|
|
155
|
-
| `@happyvertical/smrt-ui/forms` | Provider-free foundational form controls and the agent interaction registry |
|
|
156
|
-
| `@happyvertical/smrt-ui/data` | DataTable, CollectionList/ContentList, CollectionToolbar |
|
|
157
|
-
| `@happyvertical/smrt-svelte/registry` | ModuleUIRegistry for agent admin panels |
|
|
152
|
+
| `@happyvertical/smrt-svelte` | `Provider`, hooks (`useAppState`, `useAuth`, `useLLM`, `useSocket`, `useSTT`, `useTheme`, `useTTS`), app state/context, `ModulePanel`, and the form components below |
|
|
153
|
+
| `@happyvertical/smrt-svelte/forms` | Form inputs (TextInput, Select, MoneyInput, DateTimeInput, Toggle, etc.) |
|
|
154
|
+
| `@happyvertical/smrt-svelte/settings` | Server-paged settings search, selection, and list/detail layout (`SettingsCatalog`, `paginateSettingsCatalog`) |
|
|
158
155
|
| `@happyvertical/smrt-svelte/workspace` | AdminShell, ShellState, tenant nav, focus tools, settings, activities, and system/app panels |
|
|
159
156
|
| `@happyvertical/smrt-svelte/workspace/legacy` | Opt-in ToolsDock compatibility surface for applications migrating to AdminShell |
|
|
157
|
+
| `@happyvertical/smrt-svelte/workspace/server` | Server-side workspace helpers (Node only) |
|
|
158
|
+
| `@happyvertical/smrt-svelte/workspace/live` | `systemFeed` — the AdminShell system scope (jobs/schedules/dispatch) polled from an app status endpoint; deliberately carries no `smrt-web` dependency |
|
|
160
159
|
| `@happyvertical/smrt-svelte/browser-ai` | Browser AI client (STT/TTS/LLM adapters, capability detection) |
|
|
161
160
|
| `@happyvertical/smrt-svelte/browser-ai/svelte` | Svelte AI components (VoiceInput, CapabilityGate, etc.) |
|
|
162
|
-
| `@happyvertical/smrt-svelte/
|
|
161
|
+
| `@happyvertical/smrt-svelte/web` | `smrt-web` live-query bindings (`liveCollection`, `activityFeed`, `useUpdateAvailable`) |
|
|
162
|
+
| `@happyvertical/smrt-svelte/i18n/server` | Server-side i18n resolver (Node only) |
|
|
163
|
+
|
|
164
|
+
Domain-agnostic UI lives in `@happyvertical/smrt-ui`. There is no `ui`,
|
|
165
|
+
`layout`, `calendar`, `data`, `chat`, `feedback`, `registry`, `themes`, `i18n`,
|
|
166
|
+
or `styles/tokens.css` subpath on `smrt-svelte`, so those specifiers only
|
|
167
|
+
resolve against `smrt-ui`:
|
|
168
|
+
|
|
169
|
+
| Import Path | Contents |
|
|
170
|
+
|-------------|----------|
|
|
171
|
+
| `@happyvertical/smrt-ui` | `PermissionCheck`, `permission` / `hasPermission` / `hasAnyPermission` / `hasAllPermissions` |
|
|
172
|
+
| `@happyvertical/smrt-ui/ui` | UI primitives (Button, Card, Badge, Pagination) |
|
|
173
|
+
| `@happyvertical/smrt-ui/layout` | Layout (Container, Grid, Header, Footer, Masthead, etc.) |
|
|
174
|
+
| `@happyvertical/smrt-ui/calendar` | Calendar and DayView |
|
|
175
|
+
| `@happyvertical/smrt-ui/data` | DataTable, CollectionList/ContentList, CollectionToolbar |
|
|
176
|
+
| `@happyvertical/smrt-ui/feedback` | Modal, ConfirmDialog, LoadingOverlay, ProgressBar |
|
|
177
|
+
| `@happyvertical/smrt-ui/chat` | Message bubble, reaction picker, typing indicator |
|
|
178
|
+
| `@happyvertical/smrt-ui/registry` | ModuleUIRegistry for agent admin panels |
|
|
179
|
+
| `@happyvertical/smrt-ui/themes` | Canonical ThemeProvider, Material/Glass/Studio/s-m-r-t presets, CSS generation |
|
|
180
|
+
| `@happyvertical/smrt-ui/i18n` | Client i18n (`useI18n`, `Trans`) — the counterpart to `smrt-svelte`'s `/i18n/server` |
|
|
181
|
+
| `@happyvertical/smrt-ui/styles/tokens.css` | Design tokens CSS |
|
|
182
|
+
|
|
183
|
+
`forms` is the one name on both: `@happyvertical/smrt-ui/forms` holds the
|
|
184
|
+
Provider-free primitives (`Input`, `Select`, `Textarea`, `Toggle`, `FormGroup`),
|
|
185
|
+
and `@happyvertical/smrt-svelte/forms` re-exports those and adds the
|
|
186
|
+
Provider-backed inputs, so it stays the one-stop barrel for applications.
|
|
187
|
+
|
|
188
|
+
The first-generation `WorkspaceShell`, `RoleShell`, `NavTree`, and `Breadcrumbs`
|
|
189
|
+
have no entry point at all. Their `.svelte` files are copied into `dist/` but no
|
|
190
|
+
export subpath or barrel names them, so they cannot be imported from an
|
|
191
|
+
installed package — see the [migration
|
|
192
|
+
guide](./src/components/workspace/MIGRATION.md). `AdminShell` supersedes them.
|
|
163
193
|
|
|
164
194
|
Legacy ToolsDock availability is presentation-only, not authorization.
|
|
165
195
|
`fetchAvailability` failures intentionally keep controls usable using the
|
package/agents/components.md
CHANGED
|
@@ -50,20 +50,22 @@ library. Which barrel for what:
|
|
|
50
50
|
|
|
51
51
|
| Need | Import from |
|
|
52
52
|
|------|-------------|
|
|
53
|
-
| Buttons, cards, badges, avatars, chips, skeletons, tooltips, dropdowns, trees, pagination | `@happyvertical/smrt-
|
|
53
|
+
| Buttons, cards, badges, avatars, chips, skeletons, tooltips, dropdowns, trees, pagination | `@happyvertical/smrt-ui/ui` |
|
|
54
54
|
| Provider-free base inputs — `Input`, `Select`, `Textarea`, `Toggle`, `FormGroup` | `@happyvertical/smrt-ui/forms` (also re-exported from `@happyvertical/smrt-svelte/forms`) |
|
|
55
55
|
| Provider-free `Form` (plain `<form>` wrapper) | `@happyvertical/smrt-ui/forms` **only** — `@happyvertical/smrt-svelte/forms` exports the *rich* Provider-backed `Form` under that name, so import the plain one straight from smrt-ui |
|
|
56
56
|
| Provider-backed inputs — `TextInput`, `NumberInput`, `MoneyInput`, date/measurement/address inputs, `CheckboxInput`, file upload, the rich `Form` | `@happyvertical/smrt-svelte/forms` |
|
|
57
|
-
| `Modal`, `ConfirmDialog`, `LoadingOverlay`, `ProgressBar` | `@happyvertical/smrt-
|
|
58
|
-
| `Container`, `Grid`, `Header`, `Footer`, `PageHeader`, `EmptyState` | `@happyvertical/smrt-
|
|
59
|
-
| Chat message bubble, reaction picker, typing indicator | `@happyvertical/smrt-
|
|
57
|
+
| `Modal`, `ConfirmDialog`, `LoadingOverlay`, `ProgressBar` | `@happyvertical/smrt-ui/feedback` |
|
|
58
|
+
| `Container`, `Grid`, `Header`, `Footer`, `PageHeader`, `EmptyState` | `@happyvertical/smrt-ui/layout` |
|
|
59
|
+
| Chat message bubble, reaction picker, typing indicator | `@happyvertical/smrt-ui/chat` |
|
|
60
60
|
| Admin shell, tenant navigation, focus tools, settings, and activities | `@happyvertical/smrt-svelte/workspace` |
|
|
61
61
|
| First-generation ToolsDock during AdminShell migration | `@happyvertical/smrt-svelte/workspace/legacy` |
|
|
62
62
|
| Server-paged settings search, selection, and list/detail layout | `@happyvertical/smrt-svelte/settings` |
|
|
63
63
|
|
|
64
|
-
The
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
The domain-agnostic primitives are **not** re-exported by smrt-svelte: its
|
|
65
|
+
`exports` map has no `./ui`, `./feedback`, `./layout`, `./chat`, or `./registry`,
|
|
66
|
+
so those specifiers fail to resolve — import them from `@happyvertical/smrt-ui`.
|
|
67
|
+
The smrt-svelte root does re-export `./forms`, but prefer the specific subpath
|
|
68
|
+
in domain code for tree-shaking and clarity.
|
|
67
69
|
|
|
68
70
|
**Consolidating an existing re-roll** — two patterns:
|
|
69
71
|
|
package/agents/workspace.md
CHANGED
|
@@ -18,6 +18,12 @@ compatibility. Applications that still need ToolsDock during migration may use
|
|
|
18
18
|
the explicit `@happyvertical/smrt-svelte/workspace/legacy` subpath; keep legacy
|
|
19
19
|
additions isolated there so the canonical workspace surface remains AdminShell.
|
|
20
20
|
|
|
21
|
+
Of that family, only ToolsDock has an entry point. `WorkspaceShell`,
|
|
22
|
+
`RoleShell`, `NavTree`, and `Breadcrumbs` are named by no subpath and no barrel,
|
|
23
|
+
so they are unreachable from an installed package even though their `.svelte`
|
|
24
|
+
files are copied into `dist/`. Do not document them as available API; removing
|
|
25
|
+
them from the published artifact versus exporting them is tracked in #2286.
|
|
26
|
+
|
|
21
27
|
**Principles**:
|
|
22
28
|
- SvelteKit-agnostic core — no `$app/state` or `$app/navigation` imports
|
|
23
29
|
- SSR-safe public shell import/render path; browser listeners and localStorage
|
|
@@ -5,14 +5,25 @@ The first-generation workspace family (`WorkspaceShell`, `RoleShell`,
|
|
|
5
5
|
`@happyvertical/smrt-svelte/workspace` surface. Treat those source files as a
|
|
6
6
|
migration reference while moving apps to `AdminShell`.
|
|
7
7
|
|
|
8
|
+
## What is still importable
|
|
9
|
+
|
|
10
|
+
Only `ToolsDock` (with `defineToolsDock`, `useToolsDock`, and the dock types)
|
|
11
|
+
has a public entry point: `@happyvertical/smrt-svelte/workspace/legacy`.
|
|
12
|
+
|
|
13
|
+
`WorkspaceShell`, `RoleShell`, `NavTree`, and `Breadcrumbs` have **no export
|
|
14
|
+
subpath**. Their `.svelte` files are copied into `dist/`, but the package's
|
|
15
|
+
`exports` map does not name them and no barrel re-exports them, so
|
|
16
|
+
`import ... from '@happyvertical/smrt-svelte/…'` cannot reach them from an
|
|
17
|
+
installed package — the specifier resolves to nothing exported. Read them as
|
|
18
|
+
source; do not plan a migration that keeps rendering them.
|
|
19
|
+
|
|
8
20
|
## Adopting AdminShell is additive
|
|
9
21
|
|
|
10
|
-
Moving to `AdminShell` is a non-breaking, opt-in change
|
|
11
|
-
|
|
22
|
+
Moving to `AdminShell` is a non-breaking, opt-in change for the parts that are
|
|
23
|
+
still reachable:
|
|
12
24
|
|
|
13
|
-
- **
|
|
14
|
-
|
|
15
|
-
there is no flag day.
|
|
25
|
+
- **ToolsDock consumers keep working** through the `workspace/legacy` subpath.
|
|
26
|
+
Migrate a route or an app at your own pace; there is no flag day.
|
|
16
27
|
- **Adopt by wrapping, not rewriting.** Mount `AdminShell` in a layout around
|
|
17
28
|
your existing pages (`{@render children()}`). Page-level data loading is
|
|
18
29
|
unchanged — in SvelteKit, keep loading data in each route's server `load` and
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-svelte",
|
|
3
|
-
"version": "0.40.
|
|
3
|
+
"version": "0.40.63",
|
|
4
4
|
"description": "Svelte 5 components for SMRT user management - auth, users, tenants, roles, permissions, groups",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"smrtRawPrimitives": "strict",
|
|
@@ -101,14 +101,14 @@
|
|
|
101
101
|
"access": "public"
|
|
102
102
|
},
|
|
103
103
|
"dependencies": {
|
|
104
|
-
"@happyvertical/logger": "^0.
|
|
104
|
+
"@happyvertical/logger": "^0.86.1",
|
|
105
105
|
"@tanstack/db": "^0.6.14",
|
|
106
106
|
"@tanstack/svelte-db": "^0.1.91",
|
|
107
107
|
"esm-env": "^1.2.2",
|
|
108
|
-
"@happyvertical/smrt-languages": "0.40.
|
|
109
|
-
"@happyvertical/smrt-types": "0.40.
|
|
110
|
-
"@happyvertical/smrt-ui": "0.40.
|
|
111
|
-
"@happyvertical/smrt-web": "0.40.
|
|
108
|
+
"@happyvertical/smrt-languages": "0.40.63",
|
|
109
|
+
"@happyvertical/smrt-types": "0.40.63",
|
|
110
|
+
"@happyvertical/smrt-ui": "0.40.63",
|
|
111
|
+
"@happyvertical/smrt-web": "0.40.63"
|
|
112
112
|
},
|
|
113
113
|
"peerDependencies": {
|
|
114
114
|
"@huggingface/transformers": ">=3.8.1",
|