@happyvertical/smrt-images 0.30.0
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/AGENTS.md +48 -0
- package/CLAUDE.md +1 -0
- package/LICENSE +7 -0
- package/README.md +92 -0
- package/dist/__smrt-register__.d.ts +2 -0
- package/dist/__smrt-register__.d.ts.map +1 -0
- package/dist/categorizer.d.ts +26 -0
- package/dist/categorizer.d.ts.map +1 -0
- package/dist/deriver.d.ts +33 -0
- package/dist/deriver.d.ts.map +1 -0
- package/dist/editor.d.ts +72 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/image.d.ts +53 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/images.d.ts +80 -0
- package/dist/images.d.ts.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +839 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.json +1179 -0
- package/dist/media-bundle-persistence.d.ts +15 -0
- package/dist/media-bundle-persistence.d.ts.map +1 -0
- package/dist/metadata.d.ts +19 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/playground.d.ts +2 -0
- package/dist/playground.d.ts.map +1 -0
- package/dist/playground.js +140 -0
- package/dist/playground.js.map +1 -0
- package/dist/prompts.d.ts +8 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/search.d.ts +42 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +561 -0
- package/dist/svelte/components/AssetsGallery.svelte +436 -0
- package/dist/svelte/components/AssetsGallery.svelte.d.ts +11 -0
- package/dist/svelte/components/AssetsGallery.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ImageEditor.svelte +485 -0
- package/dist/svelte/components/ImageEditor.svelte.d.ts +12 -0
- package/dist/svelte/components/ImageEditor.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ImageUploader.svelte +922 -0
- package/dist/svelte/components/ImageUploader.svelte.d.ts +15 -0
- package/dist/svelte/components/ImageUploader.svelte.d.ts.map +1 -0
- package/dist/svelte/i18n.d.ts +42 -0
- package/dist/svelte/i18n.d.ts.map +1 -0
- package/dist/svelte/i18n.js +46 -0
- package/dist/svelte/image-clients.d.ts +45 -0
- package/dist/svelte/image-clients.d.ts.map +1 -0
- package/dist/svelte/image-clients.js +1 -0
- package/dist/svelte/index.d.ts +14 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +21 -0
- package/dist/svelte/playground.d.ts +74 -0
- package/dist/svelte/playground.d.ts.map +1 -0
- package/dist/svelte/playground.js +105 -0
- package/dist/svelte/routes/ImageStudioRoute.svelte +194 -0
- package/dist/svelte/routes/ImageStudioRoute.svelte.d.ts +7 -0
- package/dist/svelte/routes/ImageStudioRoute.svelte.d.ts.map +1 -0
- package/dist/svelte/routes/index.d.ts +2 -0
- package/dist/svelte/routes/index.d.ts.map +1 -0
- package/dist/svelte/routes/index.js +1 -0
- package/dist/svelte/routes/shared.d.ts +25 -0
- package/dist/svelte/routes/shared.d.ts.map +1 -0
- package/dist/svelte/routes/shared.js +31 -0
- package/dist/types.d.ts +51 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui.d.ts +10 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +42 -0
- package/dist/ui.js.map +1 -0
- package/dist/upstream.d.ts +65 -0
- package/dist/upstream.d.ts.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const IMAGES_ROUTE_IDS = {
|
|
2
|
+
studio: '@happyvertical/smrt-images:studio',
|
|
3
|
+
};
|
|
4
|
+
export const IMAGES_ROUTE_META = {
|
|
5
|
+
studio: {
|
|
6
|
+
id: IMAGES_ROUTE_IDS.studio,
|
|
7
|
+
title: 'Image Studio',
|
|
8
|
+
description: 'Browse images, run uploads, and hand off selected assets into the package-owned image editor surface.',
|
|
9
|
+
defaultPath: '/images',
|
|
10
|
+
loadKind: undefined,
|
|
11
|
+
nav: {
|
|
12
|
+
label: 'Images',
|
|
13
|
+
description: 'Browse image assets and open the image editor.',
|
|
14
|
+
icon: 'image',
|
|
15
|
+
order: 20,
|
|
16
|
+
group: 'content',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
export function createImagesRouteNavigation(mounts = {}) {
|
|
21
|
+
return [IMAGES_ROUTE_META.studio].map((route) => ({
|
|
22
|
+
routeId: route.id,
|
|
23
|
+
href: mounts[route.id] ?? route.defaultPath,
|
|
24
|
+
label: route.nav?.label ?? route.title,
|
|
25
|
+
description: route.nav?.description ?? route.description,
|
|
26
|
+
icon: route.nav?.icon,
|
|
27
|
+
order: route.nav?.order,
|
|
28
|
+
group: route.nav?.group,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
export const IMAGES_DEFAULT_ROUTE_NAVIGATION = createImagesRouteNavigation();
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { AssetOptions } from '@happyvertical/smrt-assets';
|
|
2
|
+
/**
|
|
3
|
+
* Options for creating an Image instance
|
|
4
|
+
*/
|
|
5
|
+
export interface ImageOptions extends AssetOptions {
|
|
6
|
+
width?: number;
|
|
7
|
+
height?: number;
|
|
8
|
+
alt?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Result from AI-powered image categorization
|
|
12
|
+
*/
|
|
13
|
+
export interface CategoryResult {
|
|
14
|
+
tags: string[];
|
|
15
|
+
description: string;
|
|
16
|
+
confidence: number;
|
|
17
|
+
subjects: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Options for image search queries
|
|
21
|
+
*/
|
|
22
|
+
export interface ImageSearchOptions {
|
|
23
|
+
tags?: string[];
|
|
24
|
+
minWidth?: number;
|
|
25
|
+
minHeight?: number;
|
|
26
|
+
orientation?: 'landscape' | 'portrait' | 'square';
|
|
27
|
+
limit?: number;
|
|
28
|
+
offset?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Options for derived image creation
|
|
32
|
+
*/
|
|
33
|
+
export interface DeriveOptions {
|
|
34
|
+
/** Number of results (default 1) */
|
|
35
|
+
count?: number;
|
|
36
|
+
/** Output dimensions (e.g., '1024x1024') */
|
|
37
|
+
size?: string;
|
|
38
|
+
/** Style hint */
|
|
39
|
+
style?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Result from image metadata extraction
|
|
43
|
+
*/
|
|
44
|
+
export interface ImageMetadataResult {
|
|
45
|
+
width: number;
|
|
46
|
+
height: number;
|
|
47
|
+
format: string;
|
|
48
|
+
mimeType: string;
|
|
49
|
+
exif?: Record<string, unknown>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/ui.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';
|
|
2
|
+
/**
|
|
3
|
+
* Images module UI slots
|
|
4
|
+
*/
|
|
5
|
+
export declare const IMAGES_UI_SLOTS: Record<string, ModuleUISlot>;
|
|
6
|
+
/**
|
|
7
|
+
* Images module metadata
|
|
8
|
+
*/
|
|
9
|
+
export declare const IMAGES_MODULE_META: SmrtModuleMeta;
|
|
10
|
+
//# sourceMappingURL=ui.d.ts.map
|
package/dist/ui.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA6BxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAQhC,CAAC"}
|
package/dist/ui.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const IMAGES_UI_SLOTS = {
|
|
2
|
+
"assets-gallery": {
|
|
3
|
+
id: "assets-gallery",
|
|
4
|
+
label: "Assets Gallery",
|
|
5
|
+
description: "Grid gallery of image assets with filtering and selection",
|
|
6
|
+
icon: "images",
|
|
7
|
+
category: "list",
|
|
8
|
+
order: 1,
|
|
9
|
+
propsInterface: "AssetsGalleryProps"
|
|
10
|
+
},
|
|
11
|
+
"image-editor": {
|
|
12
|
+
id: "image-editor",
|
|
13
|
+
label: "Image Editor",
|
|
14
|
+
description: "Resize, crop, convert, and AI-edit an image with derivative tracking",
|
|
15
|
+
icon: "image",
|
|
16
|
+
category: "form",
|
|
17
|
+
order: 2,
|
|
18
|
+
propsInterface: "ImageEditorProps"
|
|
19
|
+
},
|
|
20
|
+
"image-uploader": {
|
|
21
|
+
id: "image-uploader",
|
|
22
|
+
label: "Image Uploader",
|
|
23
|
+
description: "Upload images with metadata extraction and AI categorization",
|
|
24
|
+
icon: "upload",
|
|
25
|
+
category: "form",
|
|
26
|
+
order: 3,
|
|
27
|
+
propsInterface: "ImageUploaderProps"
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const IMAGES_MODULE_META = {
|
|
31
|
+
name: "@happyvertical/smrt-images",
|
|
32
|
+
displayName: "Images",
|
|
33
|
+
description: "Image asset management with AI-powered categorization, search, editing, and metadata extraction",
|
|
34
|
+
uiSlots: IMAGES_UI_SLOTS,
|
|
35
|
+
models: ["Image"],
|
|
36
|
+
collections: ["ImageCollection"]
|
|
37
|
+
};
|
|
38
|
+
export {
|
|
39
|
+
IMAGES_MODULE_META,
|
|
40
|
+
IMAGES_UI_SLOTS
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=ui.js.map
|
package/dist/ui.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sources":["../src/ui.ts"],"sourcesContent":["/**\n * Images Module UI Slot Declarations\n *\n * This file defines the UI extension points for the images module.\n * UI components are implemented in the ./svelte subpath.\n */\n\nimport type { ModuleUISlot, SmrtModuleMeta } from '@happyvertical/smrt-types';\n\n/**\n * Images module UI slots\n */\nexport const IMAGES_UI_SLOTS: Record<string, ModuleUISlot> = {\n 'assets-gallery': {\n id: 'assets-gallery',\n label: 'Assets Gallery',\n description: 'Grid gallery of image assets with filtering and selection',\n icon: 'images',\n category: 'list',\n order: 1,\n propsInterface: 'AssetsGalleryProps',\n },\n 'image-editor': {\n id: 'image-editor',\n label: 'Image Editor',\n description:\n 'Resize, crop, convert, and AI-edit an image with derivative tracking',\n icon: 'image',\n category: 'form',\n order: 2,\n propsInterface: 'ImageEditorProps',\n },\n 'image-uploader': {\n id: 'image-uploader',\n label: 'Image Uploader',\n description: 'Upload images with metadata extraction and AI categorization',\n icon: 'upload',\n category: 'form',\n order: 3,\n propsInterface: 'ImageUploaderProps',\n },\n};\n\n/**\n * Images module metadata\n */\nexport const IMAGES_MODULE_META: SmrtModuleMeta = {\n name: '@happyvertical/smrt-images',\n displayName: 'Images',\n description:\n 'Image asset management with AI-powered categorization, search, editing, and metadata extraction',\n uiSlots: IMAGES_UI_SLOTS,\n models: ['Image'],\n collections: ['ImageCollection'],\n};\n"],"names":[],"mappings":"AAYO,MAAM,kBAAgD;AAAA,EAC3D,kBAAkB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,gBAAgB;AAAA,EAAA;AAAA,EAElB,gBAAgB;AAAA,IACd,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aACE;AAAA,IACF,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,gBAAgB;AAAA,EAAA;AAAA,EAElB,kBAAkB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IACP,gBAAgB;AAAA,EAAA;AAEpB;AAKO,MAAM,qBAAqC;AAAA,EAChD,MAAM;AAAA,EACN,aAAa;AAAA,EACb,aACE;AAAA,EACF,SAAS;AAAA,EACT,QAAQ,CAAC,OAAO;AAAA,EAChB,aAAa,CAAC,iBAAiB;AACjC;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { AssetStore } from '@happyvertical/smrt-assets';
|
|
2
|
+
import { Image } from './image';
|
|
3
|
+
import { ImageCollection } from './images';
|
|
4
|
+
/**
|
|
5
|
+
* Minimal adapter interface for upstream asset sources.
|
|
6
|
+
* Full implementation lives in @happyvertical/assets (SDK package).
|
|
7
|
+
*/
|
|
8
|
+
export interface AssetSourceAdapter {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly capabilities: {
|
|
11
|
+
search: boolean;
|
|
12
|
+
download: boolean;
|
|
13
|
+
browse: boolean;
|
|
14
|
+
};
|
|
15
|
+
search(query: string, options?: {
|
|
16
|
+
limit?: number;
|
|
17
|
+
offset?: number;
|
|
18
|
+
}): Promise<SourceAsset[]>;
|
|
19
|
+
get(externalId: string): Promise<SourceAsset | null>;
|
|
20
|
+
download(externalId: string): Promise<{
|
|
21
|
+
data: Buffer;
|
|
22
|
+
metadata: SourceAssetMetadata;
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
export interface SourceAsset {
|
|
26
|
+
externalId: string;
|
|
27
|
+
sourceName: string;
|
|
28
|
+
name: string;
|
|
29
|
+
mimeType: string;
|
|
30
|
+
previewUrl?: string;
|
|
31
|
+
thumbnailUrl?: string;
|
|
32
|
+
metadata: SourceAssetMetadata;
|
|
33
|
+
}
|
|
34
|
+
export interface SourceAssetMetadata {
|
|
35
|
+
width?: number;
|
|
36
|
+
height?: number;
|
|
37
|
+
description?: string;
|
|
38
|
+
tags?: string[];
|
|
39
|
+
license?: string;
|
|
40
|
+
attribution?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare class UpstreamManager {
|
|
43
|
+
private readonly sources;
|
|
44
|
+
private readonly store;
|
|
45
|
+
private readonly collection;
|
|
46
|
+
constructor(sources: AssetSourceAdapter[], store: AssetStore, collection: ImageCollection);
|
|
47
|
+
/**
|
|
48
|
+
* Search across all configured upstream sources
|
|
49
|
+
*
|
|
50
|
+
* @param query - Search query
|
|
51
|
+
* @param options - Search options
|
|
52
|
+
* @returns Merged and ranked results from all sources
|
|
53
|
+
*/
|
|
54
|
+
search(query: string, options?: {
|
|
55
|
+
limit?: number;
|
|
56
|
+
}): Promise<SourceAsset[]>;
|
|
57
|
+
/**
|
|
58
|
+
* Import an asset from an upstream source into the local store
|
|
59
|
+
*
|
|
60
|
+
* @param sourceAsset - The upstream asset to import
|
|
61
|
+
* @returns Locally stored Image with provenance
|
|
62
|
+
*/
|
|
63
|
+
import(sourceAsset: SourceAsset): Promise<Image>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=upstream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upstream.d.ts","sourceRoot":"","sources":["../src/upstream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1B,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrD,QAAQ,CACN,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,OAAO,EAAE,kBAAkB,EAAE,EAC7B,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,eAAe;IAG9C;;;;;;OAMG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBzB;;;;;OAKG;IACG,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;CAoCvD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@happyvertical/smrt-images",
|
|
3
|
+
"version": "0.30.0",
|
|
4
|
+
"description": "Image asset management with AI-powered categorization, search, editing, and metadata extraction for SMRT framework",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"CLAUDE.md",
|
|
11
|
+
"AGENTS.md"
|
|
12
|
+
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./ui": {
|
|
19
|
+
"types": "./dist/ui.d.ts",
|
|
20
|
+
"import": "./dist/ui.js"
|
|
21
|
+
},
|
|
22
|
+
"./manifest": "./dist/manifest.json",
|
|
23
|
+
"./manifest.json": "./dist/manifest.json",
|
|
24
|
+
"./playground": {
|
|
25
|
+
"types": "./dist/playground.d.ts",
|
|
26
|
+
"import": "./dist/playground.js"
|
|
27
|
+
},
|
|
28
|
+
"./svelte": {
|
|
29
|
+
"types": "./dist/svelte/index.d.ts",
|
|
30
|
+
"svelte": "./dist/svelte/index.js",
|
|
31
|
+
"import": "./dist/svelte/index.js",
|
|
32
|
+
"default": "./dist/svelte/index.js"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@happyvertical/ai": "^0.74.7",
|
|
37
|
+
"@happyvertical/images": "^0.74.7",
|
|
38
|
+
"@happyvertical/utils": "^0.74.7",
|
|
39
|
+
"jimp": "^1.6.1",
|
|
40
|
+
"sharp": "^0.34.5",
|
|
41
|
+
"@happyvertical/smrt-assets": "0.30.0",
|
|
42
|
+
"@happyvertical/smrt-tenancy": "0.30.0",
|
|
43
|
+
"@happyvertical/smrt-core": "0.30.0",
|
|
44
|
+
"@happyvertical/smrt-prompts": "0.30.0",
|
|
45
|
+
"@happyvertical/smrt-types": "0.30.0",
|
|
46
|
+
"@happyvertical/smrt-ui": "0.30.0"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"svelte": "^5.18.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@happyvertical/sql": "^0.74.7",
|
|
53
|
+
"@sveltejs/kit": "^2.5.7",
|
|
54
|
+
"@sveltejs/package": "^2.5.7",
|
|
55
|
+
"@sveltejs/vite-plugin-svelte": "^6.2.4",
|
|
56
|
+
"@types/node": "25.0.9",
|
|
57
|
+
"svelte": "^5.46.4",
|
|
58
|
+
"svelte-check": "^4.3.5",
|
|
59
|
+
"typescript": "^5.9.3",
|
|
60
|
+
"vite": "^7.3.1",
|
|
61
|
+
"vitest": "^4.0.17",
|
|
62
|
+
"@happyvertical/smrt-playground": "0.30.0",
|
|
63
|
+
"@happyvertical/smrt-vitest": "0.30.0"
|
|
64
|
+
},
|
|
65
|
+
"keywords": [
|
|
66
|
+
"ai",
|
|
67
|
+
"smrt",
|
|
68
|
+
"images",
|
|
69
|
+
"image-processing",
|
|
70
|
+
"categorization",
|
|
71
|
+
"search"
|
|
72
|
+
],
|
|
73
|
+
"author": "HappyVertical",
|
|
74
|
+
"license": "MIT",
|
|
75
|
+
"publishConfig": {
|
|
76
|
+
"registry": "https://registry.npmjs.org",
|
|
77
|
+
"access": "public"
|
|
78
|
+
},
|
|
79
|
+
"repository": {
|
|
80
|
+
"type": "git",
|
|
81
|
+
"url": "https://github.com/happyvertical/smrt.git",
|
|
82
|
+
"directory": "packages/images"
|
|
83
|
+
},
|
|
84
|
+
"scripts": {
|
|
85
|
+
"build": "SMRT_PACKAGE_BUILD=1 svelte-kit sync && SMRT_PACKAGE_BUILD=1 vite build --mode library && SMRT_PACKAGE_BUILD=1 svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json",
|
|
86
|
+
"build:watch": "vite build --mode library --watch",
|
|
87
|
+
"clean": "rm -rf dist",
|
|
88
|
+
"dev": "vite dev",
|
|
89
|
+
"test": "vitest run",
|
|
90
|
+
"test:watch": "vitest",
|
|
91
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.kit.json",
|
|
92
|
+
"typecheck": "svelte-kit sync && tsc -p tsconfig.typecheck.json && node ../../scripts/svelte-check-a11y.mjs --tsconfig ./tsconfig.kit.json",
|
|
93
|
+
"verify:pack": "node ../../scripts/verify-package-types-exports.js ."
|
|
94
|
+
}
|
|
95
|
+
}
|