@happyvertical/smrt-assets 0.37.2 → 0.37.4
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/dist/index.js +1906 -2192
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +2 -2
- package/dist/playground.js +102 -108
- package/dist/playground.js.map +1 -1
- package/dist/smrt-knowledge.json +12 -12
- package/dist/types.js +0 -2
- package/dist/ui.js +89 -83
- package/dist/ui.js.map +1 -1
- package/package.json +22 -22
- package/dist/types.js.map +0 -1
package/dist/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"timestamp":
|
|
3
|
+
"timestamp": 1782943598222,
|
|
4
4
|
"packageName": "@happyvertical/smrt-assets",
|
|
5
|
-
"packageVersion": "0.37.
|
|
5
|
+
"packageVersion": "0.37.4",
|
|
6
6
|
"objects": {
|
|
7
7
|
"@happyvertical/smrt-assets:AssetAssociation": {
|
|
8
8
|
"name": "assetassociation",
|
package/dist/playground.js
CHANGED
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
order: 10,
|
|
16
|
-
group: "content"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
};
|
|
1
|
+
var ASSETS_ROUTE_META = { manager: {
|
|
2
|
+
id: { manager: "@happyvertical/smrt-assets:manager" }.manager,
|
|
3
|
+
title: "Asset Manager",
|
|
4
|
+
description: "Manage uploads, browse the asset library, and review selection state from the package-owned asset management route.",
|
|
5
|
+
defaultPath: "/assets",
|
|
6
|
+
loadKind: void 0,
|
|
7
|
+
nav: {
|
|
8
|
+
label: "Assets",
|
|
9
|
+
description: "Manage uploaded media and reusable files.",
|
|
10
|
+
icon: "folder-image",
|
|
11
|
+
order: 10,
|
|
12
|
+
group: "content"
|
|
13
|
+
}
|
|
14
|
+
} };
|
|
20
15
|
function createAssetsRouteNavigation(mounts = {}) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
return [ASSETS_ROUTE_META.manager].map((route) => ({
|
|
17
|
+
routeId: route.id,
|
|
18
|
+
href: mounts[route.id] ?? route.defaultPath,
|
|
19
|
+
label: route.nav?.label ?? route.title,
|
|
20
|
+
description: route.nav?.description ?? route.description,
|
|
21
|
+
icon: route.nav?.icon,
|
|
22
|
+
order: route.nav?.order,
|
|
23
|
+
group: route.nav?.group
|
|
24
|
+
}));
|
|
30
25
|
}
|
|
31
26
|
createAssetsRouteNavigation();
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/svelte/playground.ts
|
|
32
29
|
function createPreviewAssetUri(label, accent) {
|
|
33
|
-
|
|
30
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800">
|
|
34
31
|
<defs>
|
|
35
32
|
<linearGradient id="bg" x1="0%" x2="100%" y1="0%" y2="100%">
|
|
36
33
|
<stop offset="0%" stop-color="${accent}" />
|
|
@@ -43,85 +40,82 @@ function createPreviewAssetUri(label, accent) {
|
|
|
43
40
|
<text x="96" y="126" fill="#e2e8f0" font-size="64" font-family="Arial, sans-serif" font-weight="700">${label}</text>
|
|
44
41
|
<text x="96" y="690" fill="#cbd5e1" font-size="34" font-family="Arial, sans-serif">SMRT Assets preview</text>
|
|
45
42
|
</svg>`;
|
|
46
|
-
|
|
43
|
+
return `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(svg)}`;
|
|
47
44
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
45
|
+
var sampleAssets = [
|
|
46
|
+
{
|
|
47
|
+
id: "asset-harbor-map",
|
|
48
|
+
name: "Harbor Map",
|
|
49
|
+
description: "Annotated port operations map for logistics planning.",
|
|
50
|
+
sourceUri: createPreviewAssetUri("Harbor Map", "#0891b2"),
|
|
51
|
+
mimeType: "image/png",
|
|
52
|
+
createdAt: "2026-03-11T09:15:00.000Z",
|
|
53
|
+
updatedAt: "2026-03-18T15:44:00.000Z",
|
|
54
|
+
statusSlug: "active",
|
|
55
|
+
alt: "Stylized harbor map with highlighted shipping lanes."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "asset-spring-lookbook",
|
|
59
|
+
name: "Spring Lookbook",
|
|
60
|
+
description: "Photography sheet prepared for the seasonal launch.",
|
|
61
|
+
sourceUri: createPreviewAssetUri("Lookbook", "#7c3aed"),
|
|
62
|
+
mimeType: "image/jpeg",
|
|
63
|
+
createdAt: "2026-03-07T13:22:00.000Z",
|
|
64
|
+
updatedAt: "2026-03-19T08:05:00.000Z",
|
|
65
|
+
statusSlug: "draft",
|
|
66
|
+
alt: ""
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: "asset-style-guide",
|
|
70
|
+
name: "Brand Style Guide",
|
|
71
|
+
description: "Reference PDF for typography, voice, and image treatment.",
|
|
72
|
+
sourceUri: "",
|
|
73
|
+
mimeType: "application/pdf",
|
|
74
|
+
createdAt: "2026-03-01T18:00:00.000Z",
|
|
75
|
+
updatedAt: "2026-03-10T18:45:00.000Z",
|
|
76
|
+
statusSlug: "published"
|
|
77
|
+
}
|
|
81
78
|
];
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
]
|
|
123
|
-
};
|
|
124
|
-
export {
|
|
125
|
-
playground as default
|
|
79
|
+
var loadAssetGrid = () => import("./svelte/AssetGrid.svelte");
|
|
80
|
+
var loadAssetManagerRoute = () => import("./svelte/routes/AssetManagerRoute.svelte");
|
|
81
|
+
var playground_default = {
|
|
82
|
+
packageName: "@happyvertical/smrt-assets",
|
|
83
|
+
displayName: "Assets",
|
|
84
|
+
description: ASSETS_ROUTE_META.manager.description,
|
|
85
|
+
entries: [{
|
|
86
|
+
id: "asset-manager-route",
|
|
87
|
+
title: "Asset Manager Route",
|
|
88
|
+
description: "Package-owned route surface for browsing, selecting, and reviewing assets.",
|
|
89
|
+
loadComponent: loadAssetManagerRoute,
|
|
90
|
+
order: 1,
|
|
91
|
+
tags: [
|
|
92
|
+
"route",
|
|
93
|
+
"assets",
|
|
94
|
+
"admin"
|
|
95
|
+
],
|
|
96
|
+
modes: { mock: { label: "Mock" } }
|
|
97
|
+
}, {
|
|
98
|
+
id: "asset-grid",
|
|
99
|
+
title: "Asset Grid",
|
|
100
|
+
description: "Thumbnail grid preview showing selection state and missing-alt warnings.",
|
|
101
|
+
loadComponent: loadAssetGrid,
|
|
102
|
+
order: 2,
|
|
103
|
+
tags: [
|
|
104
|
+
"grid",
|
|
105
|
+
"assets",
|
|
106
|
+
"media"
|
|
107
|
+
],
|
|
108
|
+
props: {
|
|
109
|
+
assets: sampleAssets,
|
|
110
|
+
selectedIds: /* @__PURE__ */ new Set(["asset-spring-lookbook"]),
|
|
111
|
+
loading: false,
|
|
112
|
+
onSelectionChange: () => void 0,
|
|
113
|
+
onAssetClick: () => void 0
|
|
114
|
+
},
|
|
115
|
+
modes: { mock: { label: "Mock" } }
|
|
116
|
+
}]
|
|
126
117
|
};
|
|
127
|
-
//#
|
|
118
|
+
//#endregion
|
|
119
|
+
export { playground_default as default };
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=playground.js.map
|
package/dist/playground.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playground.js","sources":["../src/svelte/routes/shared.ts","../src/svelte/playground.ts"],"sourcesContent":["import type {\n SmrtRouteDefinition,\n SmrtRouteNavigationItem,\n} from '@happyvertical/smrt-types';\n\nexport const ASSETS_ROUTE_IDS = {\n manager: '@happyvertical/smrt-assets:manager',\n} as const;\n\nexport type AssetsRouteId =\n (typeof ASSETS_ROUTE_IDS)[keyof typeof ASSETS_ROUTE_IDS];\n\nexport type AssetsRouteNavigationItem = SmrtRouteNavigationItem;\n\nexport const ASSETS_ROUTE_META = {\n manager: {\n id: ASSETS_ROUTE_IDS.manager,\n title: 'Asset Manager',\n description:\n 'Manage uploads, browse the asset library, and review selection state from the package-owned asset management route.',\n defaultPath: '/assets',\n loadKind: undefined,\n nav: {\n label: 'Assets',\n description: 'Manage uploaded media and reusable files.',\n icon: 'folder-image',\n order: 10,\n group: 'content',\n },\n } satisfies Omit<SmrtRouteDefinition, 'component'>,\n} as const;\n\nexport function createAssetsRouteNavigation(\n mounts: Partial<Record<AssetsRouteId, string>> = {},\n): AssetsRouteNavigationItem[] {\n return [ASSETS_ROUTE_META.manager].map((route) => ({\n routeId: route.id,\n href: mounts[route.id] ?? route.defaultPath,\n label: route.nav?.label ?? route.title,\n description: route.nav?.description ?? route.description,\n icon: route.nav?.icon,\n order: route.nav?.order,\n group: route.nav?.group,\n }));\n}\n\nexport const ASSETS_DEFAULT_ROUTE_NAVIGATION = createAssetsRouteNavigation();\n","import { ASSETS_ROUTE_META } from './routes/shared.js';\n\nfunction createPreviewAssetUri(label: string, accent: string): string {\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1200 800\">\n <defs>\n <linearGradient id=\"bg\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stop-color=\"${accent}\" />\n <stop offset=\"100%\" stop-color=\"#0f172a\" />\n </linearGradient>\n </defs>\n <rect width=\"1200\" height=\"800\" fill=\"url(#bg)\" rx=\"48\" />\n <circle cx=\"260\" cy=\"220\" r=\"110\" fill=\"rgba(255,255,255,0.16)\" />\n <path d=\"M120 620L430 330l210 190 150-120 290 220H120z\" fill=\"rgba(255,255,255,0.22)\" />\n <text x=\"96\" y=\"126\" fill=\"#e2e8f0\" font-size=\"64\" font-family=\"Arial, sans-serif\" font-weight=\"700\">${label}</text>\n <text x=\"96\" y=\"690\" fill=\"#cbd5e1\" font-size=\"34\" font-family=\"Arial, sans-serif\">SMRT Assets preview</text>\n </svg>`;\n\n return `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(svg)}`;\n}\n\nconst sampleAssets = [\n {\n id: 'asset-harbor-map',\n name: 'Harbor Map',\n description: 'Annotated port operations map for logistics planning.',\n sourceUri: createPreviewAssetUri('Harbor Map', '#0891b2'),\n mimeType: 'image/png',\n createdAt: '2026-03-11T09:15:00.000Z',\n updatedAt: '2026-03-18T15:44:00.000Z',\n statusSlug: 'active',\n alt: 'Stylized harbor map with highlighted shipping lanes.',\n },\n {\n id: 'asset-spring-lookbook',\n name: 'Spring Lookbook',\n description: 'Photography sheet prepared for the seasonal launch.',\n sourceUri: createPreviewAssetUri('Lookbook', '#7c3aed'),\n mimeType: 'image/jpeg',\n createdAt: '2026-03-07T13:22:00.000Z',\n updatedAt: '2026-03-19T08:05:00.000Z',\n statusSlug: 'draft',\n alt: '',\n },\n {\n id: 'asset-style-guide',\n name: 'Brand Style Guide',\n description: 'Reference PDF for typography, voice, and image treatment.',\n sourceUri: '',\n mimeType: 'application/pdf',\n createdAt: '2026-03-01T18:00:00.000Z',\n updatedAt: '2026-03-10T18:45:00.000Z',\n statusSlug: 'published',\n },\n];\n\nconst loadAssetGrid = () => import('./AssetGrid.svelte');\nconst loadAssetManagerRoute = () => import('./routes/AssetManagerRoute.svelte');\n\nexport default {\n packageName: '@happyvertical/smrt-assets',\n displayName: 'Assets',\n description: ASSETS_ROUTE_META.manager.description,\n entries: [\n {\n id: 'asset-manager-route',\n title: 'Asset Manager Route',\n description:\n 'Package-owned route surface for browsing, selecting, and reviewing assets.',\n loadComponent: loadAssetManagerRoute,\n order: 1,\n tags: ['route', 'assets', 'admin'],\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n {\n id: 'asset-grid',\n title: 'Asset Grid',\n description:\n 'Thumbnail grid preview showing selection state and missing-alt warnings.',\n loadComponent: loadAssetGrid,\n order: 2,\n tags: ['grid', 'assets', 'media'],\n props: {\n assets: sampleAssets,\n selectedIds: new Set(['asset-spring-lookbook']),\n loading: false,\n onSelectionChange: () => undefined,\n onAssetClick: () => undefined,\n },\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n ],\n};\n"],"
|
|
1
|
+
{"version":3,"file":"playground.js","names":[],"sources":["../src/svelte/routes/shared.ts","../src/svelte/playground.ts"],"sourcesContent":["import type {\n SmrtRouteDefinition,\n SmrtRouteNavigationItem,\n} from '@happyvertical/smrt-types';\n\nexport const ASSETS_ROUTE_IDS = {\n manager: '@happyvertical/smrt-assets:manager',\n} as const;\n\nexport type AssetsRouteId =\n (typeof ASSETS_ROUTE_IDS)[keyof typeof ASSETS_ROUTE_IDS];\n\nexport type AssetsRouteNavigationItem = SmrtRouteNavigationItem;\n\nexport const ASSETS_ROUTE_META = {\n manager: {\n id: ASSETS_ROUTE_IDS.manager,\n title: 'Asset Manager',\n description:\n 'Manage uploads, browse the asset library, and review selection state from the package-owned asset management route.',\n defaultPath: '/assets',\n loadKind: undefined,\n nav: {\n label: 'Assets',\n description: 'Manage uploaded media and reusable files.',\n icon: 'folder-image',\n order: 10,\n group: 'content',\n },\n } satisfies Omit<SmrtRouteDefinition, 'component'>,\n} as const;\n\nexport function createAssetsRouteNavigation(\n mounts: Partial<Record<AssetsRouteId, string>> = {},\n): AssetsRouteNavigationItem[] {\n return [ASSETS_ROUTE_META.manager].map((route) => ({\n routeId: route.id,\n href: mounts[route.id] ?? route.defaultPath,\n label: route.nav?.label ?? route.title,\n description: route.nav?.description ?? route.description,\n icon: route.nav?.icon,\n order: route.nav?.order,\n group: route.nav?.group,\n }));\n}\n\nexport const ASSETS_DEFAULT_ROUTE_NAVIGATION = createAssetsRouteNavigation();\n","import { ASSETS_ROUTE_META } from './routes/shared.js';\n\nfunction createPreviewAssetUri(label: string, accent: string): string {\n const svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1200 800\">\n <defs>\n <linearGradient id=\"bg\" x1=\"0%\" x2=\"100%\" y1=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stop-color=\"${accent}\" />\n <stop offset=\"100%\" stop-color=\"#0f172a\" />\n </linearGradient>\n </defs>\n <rect width=\"1200\" height=\"800\" fill=\"url(#bg)\" rx=\"48\" />\n <circle cx=\"260\" cy=\"220\" r=\"110\" fill=\"rgba(255,255,255,0.16)\" />\n <path d=\"M120 620L430 330l210 190 150-120 290 220H120z\" fill=\"rgba(255,255,255,0.22)\" />\n <text x=\"96\" y=\"126\" fill=\"#e2e8f0\" font-size=\"64\" font-family=\"Arial, sans-serif\" font-weight=\"700\">${label}</text>\n <text x=\"96\" y=\"690\" fill=\"#cbd5e1\" font-size=\"34\" font-family=\"Arial, sans-serif\">SMRT Assets preview</text>\n </svg>`;\n\n return `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(svg)}`;\n}\n\nconst sampleAssets = [\n {\n id: 'asset-harbor-map',\n name: 'Harbor Map',\n description: 'Annotated port operations map for logistics planning.',\n sourceUri: createPreviewAssetUri('Harbor Map', '#0891b2'),\n mimeType: 'image/png',\n createdAt: '2026-03-11T09:15:00.000Z',\n updatedAt: '2026-03-18T15:44:00.000Z',\n statusSlug: 'active',\n alt: 'Stylized harbor map with highlighted shipping lanes.',\n },\n {\n id: 'asset-spring-lookbook',\n name: 'Spring Lookbook',\n description: 'Photography sheet prepared for the seasonal launch.',\n sourceUri: createPreviewAssetUri('Lookbook', '#7c3aed'),\n mimeType: 'image/jpeg',\n createdAt: '2026-03-07T13:22:00.000Z',\n updatedAt: '2026-03-19T08:05:00.000Z',\n statusSlug: 'draft',\n alt: '',\n },\n {\n id: 'asset-style-guide',\n name: 'Brand Style Guide',\n description: 'Reference PDF for typography, voice, and image treatment.',\n sourceUri: '',\n mimeType: 'application/pdf',\n createdAt: '2026-03-01T18:00:00.000Z',\n updatedAt: '2026-03-10T18:45:00.000Z',\n statusSlug: 'published',\n },\n];\n\nconst loadAssetGrid = () => import('./AssetGrid.svelte');\nconst loadAssetManagerRoute = () => import('./routes/AssetManagerRoute.svelte');\n\nexport default {\n packageName: '@happyvertical/smrt-assets',\n displayName: 'Assets',\n description: ASSETS_ROUTE_META.manager.description,\n entries: [\n {\n id: 'asset-manager-route',\n title: 'Asset Manager Route',\n description:\n 'Package-owned route surface for browsing, selecting, and reviewing assets.',\n loadComponent: loadAssetManagerRoute,\n order: 1,\n tags: ['route', 'assets', 'admin'],\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n {\n id: 'asset-grid',\n title: 'Asset Grid',\n description:\n 'Thumbnail grid preview showing selection state and missing-alt warnings.',\n loadComponent: loadAssetGrid,\n order: 2,\n tags: ['grid', 'assets', 'media'],\n props: {\n assets: sampleAssets,\n selectedIds: new Set(['asset-spring-lookbook']),\n loading: false,\n onSelectionChange: () => undefined,\n onAssetClick: () => undefined,\n },\n modes: {\n mock: {\n label: 'Mock',\n },\n },\n },\n ],\n};\n"],"mappings":"AAcO,IAAM,oBAAoB,EAC/B,SAAS;CACP,IAAI,EAVN,SAAS,qCAUH,EAAiB;CACrB,OAAO;CACP,aACE;CACF,aAAa;CACb,UAAU,KAAA;CACV,KAAK;EACH,OAAO;EACP,aAAa;EACb,MAAM;EACN,OAAO;EACP,OAAO;CACT;AACF,EACF;AAEO,SAAS,4BACd,SAAiD,CAAC,GACrB;CAC7B,OAAO,CAAC,kBAAkB,OAAO,CAAA,CAAE,KAAK,WAAW;EACjD,SAAS,MAAM;EACf,MAAM,OAAO,MAAM,OAAO,MAAM;EAChC,OAAO,MAAM,KAAK,SAAS,MAAM;EACjC,aAAa,MAAM,KAAK,eAAe,MAAM;EAC7C,MAAM,MAAM,KAAK;EACjB,OAAO,MAAM,KAAK;EAClB,OAAO,MAAM,KAAK;CACpB,EAAE;AACJ;AAE+C,4BAA4B;;;AC5C3E,SAAS,sBAAsB,OAAe,QAAwB;CACpE,MAAM,MAAM;;;wCAG0B,OAAM;;;;;;;2GAO6D,MAAK;;;CAI9G,OAAO,oCAAoC,mBAAmB,GAAG;AACnE;AAEA,IAAM,eAAe;CACnB;EACE,IAAI;EACJ,MAAM;EACN,aAAa;EACb,WAAW,sBAAsB,cAAc,SAAS;EACxD,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY;EACZ,KAAK;CACP;CACA;EACE,IAAI;EACJ,MAAM;EACN,aAAa;EACb,WAAW,sBAAsB,YAAY,SAAS;EACtD,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY;EACZ,KAAK;CACP;CACA;EACE,IAAI;EACJ,MAAM;EACN,aAAa;EACb,WAAW;EACX,UAAU;EACV,WAAW;EACX,WAAW;EACX,YAAY;CACd;AACF;AAEA,IAAM,sBAAsB,OAAO;AACnC,IAAM,8BAA8B,OAAO;AAE3C,IAAA,qBAAe;CACb,aAAa;CACb,aAAa;CACb,aAAa,kBAAkB,QAAQ;CACvC,SAAS,CACP;EACE,IAAI;EACJ,OAAO;EACP,aACE;EACF,eAAe;EACf,OAAO;EACP,MAAM;GAAC;GAAS;GAAU;EAAO;EACjC,OAAO,EACL,MAAM,EACJ,OAAO,OACT,EACF;CACF,GACA;EACE,IAAI;EACJ,OAAO;EACP,aACE;EACF,eAAe;EACf,OAAO;EACP,MAAM;GAAC;GAAQ;GAAU;EAAO;EAChC,OAAO;GACL,QAAQ;GACR,6BAAa,IAAI,IAAI,CAAC,uBAAuB,CAAC;GAC9C,SAAS;GACT,yBAAyB,KAAA;GACzB,oBAAoB,KAAA;EACtB;EACA,OAAO,EACL,MAAM,EACJ,OAAO,OACT,EACF;CACF,CACF;AACF"}
|
package/dist/smrt-knowledge.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"generatedAt": "2026-07-
|
|
3
|
+
"generatedAt": "2026-07-01T22:06:38.570Z",
|
|
4
4
|
"packageName": "@happyvertical/smrt-assets",
|
|
5
|
-
"packageVersion": "0.37.
|
|
5
|
+
"packageVersion": "0.37.4",
|
|
6
6
|
"sourceManifestPath": "dist/manifest.json",
|
|
7
7
|
"agentDocPath": "AGENTS.md",
|
|
8
8
|
"sourceHashes": {
|
|
9
|
-
"manifest": "
|
|
10
|
-
"packageJson": "
|
|
9
|
+
"manifest": "7c2e12a14ebd5b3fb21a97164cd8c151daad95c8fbe49b991c3e14d27d7d2e14",
|
|
10
|
+
"packageJson": "a28e548d038ccd3a37afffe8a64ac5d114263c4e0bfecdf5b0b52b4fdf49d5a5",
|
|
11
11
|
"agents": "a034545874fb7767b31168d98aa2b1b8cac205b14f2f04fb5a8e5acf33690eef"
|
|
12
12
|
},
|
|
13
13
|
"exports": [
|
|
@@ -32,16 +32,16 @@
|
|
|
32
32
|
"@happyvertical/smrt-playground": "workspace:*",
|
|
33
33
|
"@happyvertical/smrt-vitest": "workspace:*",
|
|
34
34
|
"@sveltejs/adapter-auto": "^7.0.1",
|
|
35
|
-
"@sveltejs/kit": "^2.
|
|
36
|
-
"@sveltejs/package": "^2.5.
|
|
37
|
-
"@sveltejs/vite-plugin-svelte": "^
|
|
38
|
-
"@types/node": "
|
|
39
|
-
"svelte": "^5.
|
|
40
|
-
"svelte-check": "^4.
|
|
35
|
+
"@sveltejs/kit": "^2.68.0",
|
|
36
|
+
"@sveltejs/package": "^2.5.8",
|
|
37
|
+
"@sveltejs/vite-plugin-svelte": "^7.1.2",
|
|
38
|
+
"@types/node": "24.13.2",
|
|
39
|
+
"svelte": "^5.56.4",
|
|
40
|
+
"svelte-check": "^4.7.1",
|
|
41
41
|
"tslib": "^2.8.1",
|
|
42
42
|
"typescript": "^5.9.3",
|
|
43
|
-
"vite": "^
|
|
44
|
-
"vitest": "^4.
|
|
43
|
+
"vite": "^8.1.2",
|
|
44
|
+
"vitest": "^4.1.9"
|
|
45
45
|
},
|
|
46
46
|
"smrtDependencies": [
|
|
47
47
|
"@happyvertical/smrt-core",
|
package/dist/types.js
CHANGED
package/dist/ui.js
CHANGED
|
@@ -1,85 +1,91 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
1
|
+
//#region src/ui.ts
|
|
2
|
+
var ASSETS_UI_SLOTS = {
|
|
3
|
+
"asset-manager": {
|
|
4
|
+
id: "asset-manager",
|
|
5
|
+
label: "Asset Manager",
|
|
6
|
+
description: "Combined asset management surface with toolbar, grid/list view, detail, and selection",
|
|
7
|
+
icon: "folder-image",
|
|
8
|
+
category: "admin",
|
|
9
|
+
order: 1,
|
|
10
|
+
propsInterface: "AssetManagerProps"
|
|
11
|
+
},
|
|
12
|
+
"asset-grid": {
|
|
13
|
+
id: "asset-grid",
|
|
14
|
+
label: "Asset Grid",
|
|
15
|
+
description: "Grid view of asset thumbnails with selection",
|
|
16
|
+
icon: "grid",
|
|
17
|
+
category: "list",
|
|
18
|
+
order: 2,
|
|
19
|
+
propsInterface: "AssetGridProps"
|
|
20
|
+
},
|
|
21
|
+
"asset-list": {
|
|
22
|
+
id: "asset-list",
|
|
23
|
+
label: "Asset List",
|
|
24
|
+
description: "Sortable list view of assets with metadata columns",
|
|
25
|
+
icon: "list",
|
|
26
|
+
category: "list",
|
|
27
|
+
order: 3,
|
|
28
|
+
propsInterface: "AssetListProps"
|
|
29
|
+
},
|
|
30
|
+
"asset-detail": {
|
|
31
|
+
id: "asset-detail",
|
|
32
|
+
label: "Asset Detail",
|
|
33
|
+
description: "Detailed view of a single asset with metadata and preview",
|
|
34
|
+
icon: "file-text",
|
|
35
|
+
category: "detail",
|
|
36
|
+
order: 4,
|
|
37
|
+
propsInterface: "AssetDetailProps"
|
|
38
|
+
},
|
|
39
|
+
"asset-toolbar": {
|
|
40
|
+
id: "asset-toolbar",
|
|
41
|
+
label: "Asset Toolbar",
|
|
42
|
+
description: "Toolbar with view toggle, filters, sort, and upload action",
|
|
43
|
+
icon: "sliders",
|
|
44
|
+
category: "action",
|
|
45
|
+
order: 5,
|
|
46
|
+
propsInterface: "AssetToolbarProps"
|
|
47
|
+
},
|
|
48
|
+
"asset-action-bar": {
|
|
49
|
+
id: "asset-action-bar",
|
|
50
|
+
label: "Asset Action Bar",
|
|
51
|
+
description: "Bulk action bar shown when assets are selected",
|
|
52
|
+
icon: "more-horizontal",
|
|
53
|
+
category: "action",
|
|
54
|
+
order: 6,
|
|
55
|
+
propsInterface: "ActionBarProps"
|
|
56
|
+
},
|
|
57
|
+
"asset-create-modal": {
|
|
58
|
+
id: "asset-create-modal",
|
|
59
|
+
label: "Create Asset Modal",
|
|
60
|
+
description: "Modal dialog for uploading and creating a new asset",
|
|
61
|
+
icon: "upload",
|
|
62
|
+
category: "form",
|
|
63
|
+
order: 7,
|
|
64
|
+
propsInterface: "CreateAssetModalProps"
|
|
65
|
+
}
|
|
65
66
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
67
|
+
var ASSETS_MODULE_META = {
|
|
68
|
+
name: "@happyvertical/smrt-assets",
|
|
69
|
+
displayName: "Assets",
|
|
70
|
+
description: "Provider-agnostic asset management with versioning, metadata, folders, and associations",
|
|
71
|
+
uiSlots: ASSETS_UI_SLOTS,
|
|
72
|
+
models: [
|
|
73
|
+
"Asset",
|
|
74
|
+
"AssetType",
|
|
75
|
+
"AssetStatus",
|
|
76
|
+
"AssetMetafield",
|
|
77
|
+
"Folder"
|
|
78
|
+
],
|
|
79
|
+
collections: [
|
|
80
|
+
"AssetCollection",
|
|
81
|
+
"AssetTypeCollection",
|
|
82
|
+
"AssetStatusCollection",
|
|
83
|
+
"AssetMetafieldCollection",
|
|
84
|
+
"AssetAssociationCollection",
|
|
85
|
+
"FolderCollection"
|
|
86
|
+
]
|
|
80
87
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
//# sourceMappingURL=ui.js.map
|
|
88
|
+
//#endregion
|
|
89
|
+
export { ASSETS_MODULE_META, ASSETS_UI_SLOTS };
|
|
90
|
+
|
|
91
|
+
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["/**\n * Assets Module UI Slot Declarations\n *\n * This file defines the UI extension points for the assets module.\n * UI components are implemented in the ./svelte subpath.\n */\n\nimport type { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';\n\n/**\n * Assets module UI slots\n */\nexport const ASSETS_UI_SLOTS: Record<string, ModuleUISlot> = {\n 'asset-manager': {\n id: 'asset-manager',\n label: 'Asset Manager',\n description:\n 'Combined asset management surface with toolbar, grid/list view, detail, and selection',\n icon: 'folder-image',\n category: 'admin',\n order: 1,\n propsInterface: 'AssetManagerProps',\n },\n 'asset-grid': {\n id: 'asset-grid',\n label: 'Asset Grid',\n description: 'Grid view of asset thumbnails with selection',\n icon: 'grid',\n category: 'list',\n order: 2,\n propsInterface: 'AssetGridProps',\n },\n 'asset-list': {\n id: 'asset-list',\n label: 'Asset List',\n description: 'Sortable list view of assets with metadata columns',\n icon: 'list',\n category: 'list',\n order: 3,\n propsInterface: 'AssetListProps',\n },\n 'asset-detail': {\n id: 'asset-detail',\n label: 'Asset Detail',\n description: 'Detailed view of a single asset with metadata and preview',\n icon: 'file-text',\n category: 'detail',\n order: 4,\n propsInterface: 'AssetDetailProps',\n },\n 'asset-toolbar': {\n id: 'asset-toolbar',\n label: 'Asset Toolbar',\n description: 'Toolbar with view toggle, filters, sort, and upload action',\n icon: 'sliders',\n category: 'action',\n order: 5,\n propsInterface: 'AssetToolbarProps',\n },\n 'asset-action-bar': {\n id: 'asset-action-bar',\n label: 'Asset Action Bar',\n description: 'Bulk action bar shown when assets are selected',\n icon: 'more-horizontal',\n category: 'action',\n order: 6,\n propsInterface: 'ActionBarProps',\n },\n 'asset-create-modal': {\n id: 'asset-create-modal',\n label: 'Create Asset Modal',\n description: 'Modal dialog for uploading and creating a new asset',\n icon: 'upload',\n category: 'form',\n order: 7,\n propsInterface: 'CreateAssetModalProps',\n },\n};\n\n/**\n * Assets module metadata\n */\nexport const ASSETS_MODULE_META: SmrtModuleMeta = {\n name: '@happyvertical/smrt-assets',\n displayName: 'Assets',\n description:\n 'Provider-agnostic asset management with versioning, metadata, folders, and associations',\n uiSlots: ASSETS_UI_SLOTS,\n models: ['Asset', 'AssetType', 'AssetStatus', 'AssetMetafield', 'Folder'],\n collections: [\n 'AssetCollection',\n 'AssetTypeCollection',\n 'AssetStatusCollection',\n 'AssetMetafieldCollection',\n 'AssetAssociationCollection',\n 'FolderCollection',\n ],\n};\n"],"
|
|
1
|
+
{"version":3,"file":"ui.js","names":[],"sources":["../src/ui.ts"],"sourcesContent":["/**\n * Assets Module UI Slot Declarations\n *\n * This file defines the UI extension points for the assets module.\n * UI components are implemented in the ./svelte subpath.\n */\n\nimport type { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';\n\n/**\n * Assets module UI slots\n */\nexport const ASSETS_UI_SLOTS: Record<string, ModuleUISlot> = {\n 'asset-manager': {\n id: 'asset-manager',\n label: 'Asset Manager',\n description:\n 'Combined asset management surface with toolbar, grid/list view, detail, and selection',\n icon: 'folder-image',\n category: 'admin',\n order: 1,\n propsInterface: 'AssetManagerProps',\n },\n 'asset-grid': {\n id: 'asset-grid',\n label: 'Asset Grid',\n description: 'Grid view of asset thumbnails with selection',\n icon: 'grid',\n category: 'list',\n order: 2,\n propsInterface: 'AssetGridProps',\n },\n 'asset-list': {\n id: 'asset-list',\n label: 'Asset List',\n description: 'Sortable list view of assets with metadata columns',\n icon: 'list',\n category: 'list',\n order: 3,\n propsInterface: 'AssetListProps',\n },\n 'asset-detail': {\n id: 'asset-detail',\n label: 'Asset Detail',\n description: 'Detailed view of a single asset with metadata and preview',\n icon: 'file-text',\n category: 'detail',\n order: 4,\n propsInterface: 'AssetDetailProps',\n },\n 'asset-toolbar': {\n id: 'asset-toolbar',\n label: 'Asset Toolbar',\n description: 'Toolbar with view toggle, filters, sort, and upload action',\n icon: 'sliders',\n category: 'action',\n order: 5,\n propsInterface: 'AssetToolbarProps',\n },\n 'asset-action-bar': {\n id: 'asset-action-bar',\n label: 'Asset Action Bar',\n description: 'Bulk action bar shown when assets are selected',\n icon: 'more-horizontal',\n category: 'action',\n order: 6,\n propsInterface: 'ActionBarProps',\n },\n 'asset-create-modal': {\n id: 'asset-create-modal',\n label: 'Create Asset Modal',\n description: 'Modal dialog for uploading and creating a new asset',\n icon: 'upload',\n category: 'form',\n order: 7,\n propsInterface: 'CreateAssetModalProps',\n },\n};\n\n/**\n * Assets module metadata\n */\nexport const ASSETS_MODULE_META: SmrtModuleMeta = {\n name: '@happyvertical/smrt-assets',\n displayName: 'Assets',\n description:\n 'Provider-agnostic asset management with versioning, metadata, folders, and associations',\n uiSlots: ASSETS_UI_SLOTS,\n models: ['Asset', 'AssetType', 'AssetStatus', 'AssetMetafield', 'Folder'],\n collections: [\n 'AssetCollection',\n 'AssetTypeCollection',\n 'AssetStatusCollection',\n 'AssetMetafieldCollection',\n 'AssetAssociationCollection',\n 'FolderCollection',\n ],\n};\n"],"mappings":";AAYO,IAAM,kBAAgD;CAC3D,iBAAiB;EACf,IAAI;EACJ,OAAO;EACP,aACE;EACF,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,cAAc;EACZ,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,gBAAgB;EACd,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,iBAAiB;EACf,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,oBAAoB;EAClB,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;CACA,sBAAsB;EACpB,IAAI;EACJ,OAAO;EACP,aAAa;EACb,MAAM;EACN,UAAU;EACV,OAAO;EACP,gBAAgB;CAClB;AACF;AAKO,IAAM,qBAAqC;CAChD,MAAM;CACN,aAAa;CACb,aACE;CACF,SAAS;CACT,QAAQ;EAAC;EAAS;EAAa;EAAe;EAAkB;CAAQ;CACxE,aAAa;EACX;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-assets",
|
|
3
|
-
"version": "0.37.
|
|
3
|
+
"version": "0.37.4",
|
|
4
4
|
"description": "Asset management system with versioning, metadata, and AI-powered operations for SMRT framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"smrtRawPrimitives": "strict",
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@happyvertical/ai": "^0.74.
|
|
38
|
-
"@happyvertical/files": "^0.74.
|
|
39
|
-
"@happyvertical/logger": "^0.74.
|
|
40
|
-
"@happyvertical/sql": "^0.74.
|
|
41
|
-
"@happyvertical/utils": "^0.74.
|
|
42
|
-
"@happyvertical/smrt-
|
|
43
|
-
"@happyvertical/smrt-
|
|
44
|
-
"@happyvertical/smrt-tenancy": "0.37.
|
|
45
|
-
"@happyvertical/smrt-types": "0.37.
|
|
46
|
-
"@happyvertical/smrt-ui": "0.37.
|
|
37
|
+
"@happyvertical/ai": "^0.74.11",
|
|
38
|
+
"@happyvertical/files": "^0.74.11",
|
|
39
|
+
"@happyvertical/logger": "^0.74.11",
|
|
40
|
+
"@happyvertical/sql": "^0.74.11",
|
|
41
|
+
"@happyvertical/utils": "^0.74.11",
|
|
42
|
+
"@happyvertical/smrt-core": "0.37.4",
|
|
43
|
+
"@happyvertical/smrt-tags": "0.37.4",
|
|
44
|
+
"@happyvertical/smrt-tenancy": "0.37.4",
|
|
45
|
+
"@happyvertical/smrt-types": "0.37.4",
|
|
46
|
+
"@happyvertical/smrt-ui": "0.37.4"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"svelte": "^5.
|
|
49
|
+
"svelte": "^5.56.4"
|
|
50
50
|
},
|
|
51
51
|
"peerDependenciesMeta": {
|
|
52
52
|
"svelte": {
|
|
@@ -55,18 +55,18 @@
|
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@sveltejs/adapter-auto": "^7.0.1",
|
|
58
|
-
"@sveltejs/kit": "^2.
|
|
59
|
-
"@sveltejs/package": "^2.5.
|
|
60
|
-
"@sveltejs/vite-plugin-svelte": "^
|
|
61
|
-
"@types/node": "
|
|
62
|
-
"svelte": "^5.
|
|
63
|
-
"svelte-check": "^4.
|
|
58
|
+
"@sveltejs/kit": "^2.68.0",
|
|
59
|
+
"@sveltejs/package": "^2.5.8",
|
|
60
|
+
"@sveltejs/vite-plugin-svelte": "^7.1.2",
|
|
61
|
+
"@types/node": "24.13.2",
|
|
62
|
+
"svelte": "^5.56.4",
|
|
63
|
+
"svelte-check": "^4.7.1",
|
|
64
64
|
"tslib": "^2.8.1",
|
|
65
65
|
"typescript": "^5.9.3",
|
|
66
|
-
"vite": "^
|
|
67
|
-
"vitest": "^4.
|
|
68
|
-
"@happyvertical/smrt-playground": "0.37.
|
|
69
|
-
"@happyvertical/smrt-vitest": "0.37.
|
|
66
|
+
"vite": "^8.1.2",
|
|
67
|
+
"vitest": "^4.1.9",
|
|
68
|
+
"@happyvertical/smrt-playground": "0.37.4",
|
|
69
|
+
"@happyvertical/smrt-vitest": "0.37.4"
|
|
70
70
|
},
|
|
71
71
|
"keywords": [
|
|
72
72
|
"ai",
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|