diff --git a/.gitignore b/.gitignore index b7965c83..e65e0822 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ packages/*/dist examples/*/dist .env .env.local +.mcp.json .nvmrc *.tgz CLAUDE.md diff --git a/examples/eachlabs-demo/esbuild/config.mjs b/examples/eachlabs-demo/esbuild/config.mjs new file mode 100644 index 00000000..458fe279 --- /dev/null +++ b/examples/eachlabs-demo/esbuild/config.mjs @@ -0,0 +1,56 @@ +import chalk from 'chalk'; +import { readFile } from 'fs/promises'; +import dotenv from 'dotenv'; + +import baseConfig from '../../../esbuild/config.mjs'; +import log from '../../../esbuild/log.mjs'; + +// import packageJson from '../package.json' assert { type: 'json' }; +// Avoid the Experimental Feature warning when using the above. +const packageJson = JSON.parse( + await readFile(new URL('../package.json', import.meta.url)) +); + +// Load .env.local only in local development (not in CI/Vercel) +if (!process.env.CI && !process.env.VERCEL) { + dotenv.config({ path: '.env.local' }); +} + +export default ({ isDevelopment }) => { + log( + `${chalk.yellow('Building version:')} ${chalk.bold(packageJson.version)}` + ); + + // Base configuration that applies to all builds + const baseOptions = { + isDevelopment, + external: [], + pluginVersion: packageJson.version + }; + + // Get the base configuration + const config = baseConfig(baseOptions); + + // Set entry points and output configuration + config.entryPoints = ['./src/index.ts']; + config.outExtension = { '.js': '.mjs' }; + config.outdir = './dist'; + config.outbase = './src'; + config.outfile = undefined; + config.define = { + ...config.define, + 'process.env.CESDK_LICENSE': JSON.stringify( + 'CESDK_LICENSE' in process.env ? process.env.CESDK_LICENSE : '' + ), + 'process.env.EACHLABS_PROXY_URL': JSON.stringify( + 'EACHLABS_PROXY_URL' in process.env ? process.env.EACHLABS_PROXY_URL : '' + ), + 'process.env.ANTHROPIC_PROXY_URL': JSON.stringify( + 'ANTHROPIC_PROXY_URL' in process.env + ? process.env.ANTHROPIC_PROXY_URL + : '' + ) + }; + + return config; +}; diff --git a/examples/eachlabs-demo/esbuild/global.d.ts b/examples/eachlabs-demo/esbuild/global.d.ts new file mode 100644 index 00000000..b7473529 --- /dev/null +++ b/examples/eachlabs-demo/esbuild/global.d.ts @@ -0,0 +1,11 @@ +// These constants here are added by the base esbuild config + +declare const PLUGIN_VERSION: string; + +declare namespace NodeJS { + interface ProcessEnv { + CESDK_LICENSE: string; + EACHLABS_PROXY_URL: string; + ANTHROPIC_PROXY_URL: string; + } +} diff --git a/examples/eachlabs-demo/index.html b/examples/eachlabs-demo/index.html new file mode 100644 index 00000000..c33b3057 --- /dev/null +++ b/examples/eachlabs-demo/index.html @@ -0,0 +1,208 @@ + + + + + + CE.SDK with Eachlabs.ai + + + + +
+
+
+ +

Eachlabs.ai Demo

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/examples/eachlabs-demo/package.json b/examples/eachlabs-demo/package.json new file mode 100644 index 00000000..bee61d78 --- /dev/null +++ b/examples/eachlabs-demo/package.json @@ -0,0 +1,67 @@ +{ + "private": true, + "name": "@imgly/plugin-eachlabs-demo-web", + "version": "0.0.0", + "description": "Eachlabs.ai Demo", + "keywords": ["CE.SDK", "plugin", "AI", "Eachlabs.ai"], + "repository": { + "type": "git", + "url": "git+https://github.com/imgly/plugins.git" + }, + "license": "SEE LICENSE IN LICENSE.md", + "author": { + "name": "IMG.LY GmbH", + "email": "support@img.ly", + "url": "https://img.ly" + }, + "bugs": { + "email": "support@img.ly" + }, + "source": "./src/index.ts", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.mjs", + "types": "./dist/index.d.ts" + } + }, + "homepage": "https://img.ly/products/creative-sdk", + "files": ["LICENSE.md", "README.md", "CHANGELOG.md", "dist/", "bin/"], + "scripts": { + "start": "npm run watch", + "clean": "pnpm exec rimraf dist", + "purge": "pnpm exec rimraf node_modules", + "build": "pnpm run clean && pnpm exec node scripts/build.mjs", + "test": "echo No tests", + "dev": "node scripts/watch.mjs", + "dev:wait": "pnpm exec wait-on ./dist/index.mjs ./dist/index.d.ts --window 250 --timeout 60000", + "dev:types": "tsc --emitDeclarationOnly --watch --preserveWatchOutput", + "publish:latest": "pnpm run build && npm publish --tag latest --access public", + "publish:next": "pnpm run build && npm publish --tag next --access public", + "check:all": "concurrently -n type,pretty \"pnpm run check:types\" \"pnpm run check:pretty\"", + "check:pretty": "prettier --list-different './src/**/*.{ts,tsx}'", + "check:types": "tsc --noEmit", + "types:create": "tsc --emitDeclarationOnly" + }, + "devDependencies": { + "@types/ndarray": "^1.0.14", + "chalk": "^5.3.0", + "concurrently": "^8.2.2", + "esbuild": "^0.19.11", + "eslint": "^8.51.0", + "lodash-es": "^4.17.21", + "typescript": "^5.3.3" + }, + "dependencies": { + "@cesdk/cesdk-js": "catalog:", + "@cesdk/engine": "catalog:", + "@imgly/plugin-ai-apps-web": "workspace:*", + "@imgly/plugin-ai-generation-web": "workspace:*", + "@imgly/plugin-ai-image-generation-web": "workspace:*", + "@imgly/plugin-ai-text-generation-web": "workspace:*", + "@imgly/plugin-ai-video-generation-web": "workspace:*", + "@imgly/plugin-utils": "workspace:*", + "dotenv": "^16.5.0" + } +} diff --git a/examples/eachlabs-demo/scripts/build.mjs b/examples/eachlabs-demo/scripts/build.mjs new file mode 100644 index 00000000..b8e529d8 --- /dev/null +++ b/examples/eachlabs-demo/scripts/build.mjs @@ -0,0 +1,4 @@ +import * as esbuild from 'esbuild'; +import config from '../esbuild/config.mjs'; + +await esbuild.build(config({ isDevelopment: false })); diff --git a/examples/eachlabs-demo/scripts/watch.mjs b/examples/eachlabs-demo/scripts/watch.mjs new file mode 100644 index 00000000..13852c5e --- /dev/null +++ b/examples/eachlabs-demo/scripts/watch.mjs @@ -0,0 +1,12 @@ +import * as esbuild from 'esbuild'; +import config from '../esbuild/config.mjs'; + +const context = await esbuild.context(config({ isDevelopment: true })); +await context.watch(); + +const { port } = await context.serve({ + servedir: '.', + port: 5179 +}); + +console.log(`\nšŸš€ Eachlabs.ai Demo running at: http://localhost:${port}\n`); diff --git a/examples/eachlabs-demo/src/index.ts b/examples/eachlabs-demo/src/index.ts new file mode 100644 index 00000000..e52e34bb --- /dev/null +++ b/examples/eachlabs-demo/src/index.ts @@ -0,0 +1,209 @@ +import CreativeEditorSDK from '@cesdk/cesdk-js'; +import AiApps from '@imgly/plugin-ai-apps-web'; +import EachLabsImage from '@imgly/plugin-ai-image-generation-web/eachlabs'; +import EachLabsVideo from '@imgly/plugin-ai-video-generation-web/eachlabs'; +import Anthropic from '@imgly/plugin-ai-text-generation-web/anthropic'; +import { Middleware } from '@imgly/plugin-ai-generation-web'; +import { Icons } from '@imgly/plugin-utils'; + +function initialize( + selector: string, + options?: { + archiveUrl?: string; + license?: string; + } +) { + document.addEventListener('DOMContentLoaded', function () { + const domElement = document.querySelector(selector); + if (domElement != null) { + CreativeEditorSDK.create(domElement, { + license: options?.license ?? process.env.CESDK_LICENSE ?? '', + userId: 'plugins-vercel', + callbacks: { + onUpload: 'local', + onExport: 'download', + onLoadArchive: 'uploadArchive' + }, + featureFlags: { + archiveSceneEnabled: true, + dangerouslyDisableVideoSupportCheck: false + }, + ui: { + elements: { + navigation: { + action: { + load: true, + export: true + } + } + } + } + }).then(async (instance) => { + // @ts-ignore + window.cesdk = instance; + + await Promise.all([ + instance.addDefaultAssetSources(), + instance.addDemoAssetSources({ sceneMode: 'Video' }) + ]); + + instance.ui.setDockOrder([ + 'ly.img.ai.apps.dock', + ...instance.ui.getDockOrder().filter(({ key }) => { + return key !== 'ly.img.video.template' && key !== 'ly.img.template'; + }), + 'ly.img.spacer', + 'byok.dock' + ]); + + instance.ui.setCanvasMenuOrder([ + { + id: 'ly.img.ai.text.canvasMenu' + }, + { + id: 'ly.img.ai.image.canvasMenu' + }, + { + id: 'ly.img.separator' + }, + ...instance.ui.getCanvasMenuOrder() + ]); + + instance.feature.enable('ly.img.preview', false); + instance.feature.enable('ly.img.placeholder', false); + + await instance.engine.scene.loadFromArchiveURL( + options?.archiveUrl ?? + 'https://img.ly/showcases/cesdk/cases/ai-editor/ai_editor_video.archive' + ); + const [page] = instance.engine.scene.getPages(); + instance.engine.scene.enableZoomAutoFit(page, 'Both'); + + instance.i18n.setTranslations({ + en: {} + }); + + // Add format icons for aspect ratio/size selection + instance.ui.addIconSet('@imgly/plugin/formats', Icons.Formats); + + const errorMiddleware: Middleware = async ( + input, + options, + next + ) => { + return next(input, options).catch((error) => { + console.error('Error:', error); + if (error.name === 'AbortError') { + // Ignore abort errors + return; + } + instance.ui.showDialog({ + type: 'warning', + size: 'large', + content: + 'Due to high demand, we are currently unable to process your request. Please try again shortly - we appreciate your patience!' + }); + // Throw abort error to stop the generation without further + // error notification. + throw new DOMException( + 'Operation aborted: Rate limit exceeded', + 'AbortError' + ); + }); + }; + + instance.engine.scene.setDesignUnit('Pixel'); + instance.addPlugin( + AiApps({ + debug: true, + dryRun: false, + providers: { + text2text: Anthropic.AnthropicProvider({ + middleware: [errorMiddleware], + proxyUrl: process.env.ANTHROPIC_PROXY_URL + }), + text2image: [ + EachLabsImage.NanoBananaPro.Text2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Flux2Pro.Text2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Flux2.Text2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.OpenAIGptImage.Text2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Seedream45.Text2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Gemini3Pro.Text2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }) + ], + image2image: [ + EachLabsImage.NanoBananaPro.Image2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Flux2Pro.Image2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Flux2.Image2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.OpenAIGptImage.Image2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Seedream45.Image2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsImage.Gemini3Pro.Image2Image({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }) + ], + text2video: [ + EachLabsVideo.KlingV26ProTextToVideo({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsVideo.Veo31TextToVideo({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }) + ], + image2video: [ + EachLabsVideo.KlingV26ProImageToVideo({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsVideo.KlingO1ImageToVideo({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }), + EachLabsVideo.Veo31ImageToVideo({ + middlewares: [errorMiddleware], + proxyUrl: process.env.EACHLABS_PROXY_URL + }) + ] + } + }) + ); + }); + } + }); +} + +export default initialize; diff --git a/examples/eachlabs-demo/tsconfig.json b/examples/eachlabs-demo/tsconfig.json new file mode 100644 index 00000000..ea17f997 --- /dev/null +++ b/examples/eachlabs-demo/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "strict": true, + "target": "es2017", + "module": "es2020", + "lib": ["es2018", "dom"], + "moduleResolution": "bundler", + "isolatedModules": true, + "esModuleInterop": true, + "declaration": true, + "declarationDir": "dist/", + "skipLibCheck": true, + "resolveJsonModule": true + }, + "include": ["src/**/*", "esbuild/global.d.ts"], + "exclude": ["node_modules"] +} diff --git a/package.json b/package.json index a7500e2c..23ad12ca 100644 --- a/package.json +++ b/package.json @@ -44,8 +44,8 @@ "protobufjs" ], "overrides": { - "@cesdk/cesdk-js": "1.60.0", - "@cesdk/engine": "1.60.0" + "@cesdk/cesdk-js": "1.66.1", + "@cesdk/engine": "1.66.1" } } } diff --git a/packages/plugin-ai-apps-web/src/plugin.ts b/packages/plugin-ai-apps-web/src/plugin.ts index 26f4c6a2..f2f095fe 100644 --- a/packages/plugin-ai-apps-web/src/plugin.ts +++ b/packages/plugin-ai-apps-web/src/plugin.ts @@ -313,7 +313,11 @@ function overrideAssetLibraryDockComponent(cesdk: CreativeEditorSDK) { ); } if (typeof entrySceneMode === 'function') { - return entry.sourceIds.some((sourceId) => { + const sourceIds = + typeof entry.sourceIds === 'function' + ? entry.sourceIds({ cesdk, engine }) + : entry.sourceIds; + return sourceIds.some((sourceId: string) => { // Changes in the interface in CE.SDK version 1.51.0 // We do not want to bump the version for this change. // In addition, 1.51.0 will only accept the sourceId as a string diff --git a/packages/plugin-ai-generation-web/src/assets/integrateIntoDefaultAssetLibraryEntry.ts b/packages/plugin-ai-generation-web/src/assets/integrateIntoDefaultAssetLibraryEntry.ts index 2867ee9f..dd895786 100644 --- a/packages/plugin-ai-generation-web/src/assets/integrateIntoDefaultAssetLibraryEntry.ts +++ b/packages/plugin-ai-generation-web/src/assets/integrateIntoDefaultAssetLibraryEntry.ts @@ -13,8 +13,13 @@ function integrateIntoDefaultAssetLibraryEntry( const entryId = `ly.img.${kind}`; const entry = cesdk.ui.getAssetLibraryEntry(entryId); if (entry != null) { + // Resolve sourceIds - it can be a function in CESDK >= 1.62.0 + const currentSourceIds = + typeof entry.sourceIds === 'function' + ? entry.sourceIds({ cesdk, engine: cesdk.engine }) + : entry.sourceIds; cesdk.ui.updateAssetLibraryEntry(entryId, { - sourceIds: [...entry.sourceIds, ...historAssetSourceIds] + sourceIds: [...currentSourceIds, ...historAssetSourceIds] }); return entry.id; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc4a3fed..738d532b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,8 @@ settings: excludeLinksFromLockfile: false overrides: - '@cesdk/cesdk-js': 1.60.0 - '@cesdk/engine': 1.60.0 + '@cesdk/cesdk-js': 1.66.1 + '@cesdk/engine': 1.66.1 importers: @@ -70,11 +70,11 @@ importers: examples/ai: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@cesdk/engine': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-apps-web': specifier: workspace:* version: link:../../packages/plugin-ai-apps-web @@ -143,11 +143,63 @@ importers: examples/bytedance-demo: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@cesdk/engine': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) + '@imgly/plugin-ai-apps-web': + specifier: workspace:* + version: link:../../packages/plugin-ai-apps-web + '@imgly/plugin-ai-generation-web': + specifier: workspace:* + version: link:../../packages/plugin-ai-generation-web + '@imgly/plugin-ai-image-generation-web': + specifier: workspace:* + version: link:../../packages/plugin-ai-image-generation-web + '@imgly/plugin-ai-text-generation-web': + specifier: workspace:* + version: link:../../packages/plugin-ai-text-generation-web + '@imgly/plugin-ai-video-generation-web': + specifier: workspace:* + version: link:../../packages/plugin-ai-video-generation-web + '@imgly/plugin-utils': + specifier: workspace:* + version: link:../../packages/plugin-utils + dotenv: + specifier: ^16.5.0 + version: 16.6.1 + devDependencies: + '@types/ndarray': + specifier: ^1.0.14 + version: 1.0.14 + chalk: + specifier: ^5.3.0 + version: 5.6.0 + concurrently: + specifier: ^8.2.2 + version: 8.2.2 + esbuild: + specifier: ^0.19.11 + version: 0.19.12 + eslint: + specifier: ^8.51.0 + version: 8.57.1 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 + typescript: + specifier: ^5.3.3 + version: 5.9.2 + + examples/eachlabs-demo: + dependencies: + '@cesdk/cesdk-js': + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) + '@cesdk/engine': + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-apps-web': specifier: workspace:* version: link:../../packages/plugin-ai-apps-web @@ -195,11 +247,11 @@ importers: examples/gpt-demo: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@cesdk/engine': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-apps-web': specifier: workspace:* version: link:../../packages/plugin-ai-apps-web @@ -250,11 +302,11 @@ importers: examples/web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@cesdk/engine': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-background-removal-web': specifier: workspace:* version: link:../../packages/plugin-background-removal-web @@ -335,8 +387,8 @@ importers: packages/plugin-ai-apps-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) devDependencies: '@imgly/plugin-ai-audio-generation-web': specifier: workspace:* @@ -384,8 +436,8 @@ importers: packages/plugin-ai-audio-generation-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-generation-web': specifier: workspace:* version: link:../plugin-ai-generation-web @@ -421,8 +473,8 @@ importers: packages/plugin-ai-generation-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) devDependencies: '@imgly/plugin-utils': specifier: workspace:* @@ -452,8 +504,8 @@ importers: packages/plugin-ai-image-generation-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-generation-web': specifier: workspace:* version: link:../plugin-ai-generation-web @@ -495,8 +547,8 @@ importers: packages/plugin-ai-sticker-generation-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-generation-web': specifier: workspace:* version: link:../plugin-ai-generation-web @@ -535,8 +587,8 @@ importers: packages/plugin-ai-text-generation-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-generation-web': specifier: workspace:* version: link:../plugin-ai-generation-web @@ -581,8 +633,8 @@ importers: packages/plugin-ai-video-generation-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/plugin-ai-generation-web': specifier: workspace:* version: link:../plugin-ai-generation-web @@ -621,8 +673,8 @@ importers: packages/plugin-background-removal-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/background-removal': specifier: 1.7.0 version: 1.7.0(onnxruntime-web@1.21.0) @@ -661,8 +713,8 @@ importers: packages/plugin-cutout-library-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -692,17 +744,17 @@ importers: injected: true devDependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@cesdk/engine': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@cesdk/node': specifier: ~1.61.0 version: 1.61.0 '@imgly/plugin-utils': specifier: workspace:* - version: file:packages/plugin-utils(@cesdk/cesdk-js@1.60.0(react@18.3.1)) + version: file:packages/plugin-utils(@cesdk/cesdk-js@1.66.1(react@18.3.1)) '@playwright/test': specifier: ^1.54.1 version: 1.56.0 @@ -755,8 +807,8 @@ importers: packages/plugin-qr-code-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) devDependencies: '@imgly/plugin-utils': specifier: workspace:* @@ -786,8 +838,8 @@ importers: packages/plugin-remote-asset-source-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -817,12 +869,12 @@ importers: packages/plugin-soundstripe-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) devDependencies: '@cesdk/engine': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) chalk: specifier: ^5.4.1 version: 5.6.0 @@ -845,8 +897,8 @@ importers: packages/plugin-utils: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) lodash-es: specifier: ^4.17.21 version: 4.17.21 @@ -876,8 +928,8 @@ importers: packages/plugin-vectorizer-web: dependencies: '@cesdk/cesdk-js': - specifier: 1.60.0 - version: 1.60.0(react@18.3.1) + specifier: 1.66.1 + version: 1.66.1(react@18.3.1) '@imgly/vectorizer': specifier: 1.0.0 version: 1.0.0 @@ -1097,8 +1149,8 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@cesdk/cesdk-js@1.60.0': - resolution: {integrity: sha512-A4HJ8DHZ1szNxpf5yG5/NIlFdExzwDXwBJPGBV4/HoNqgjMS0IibCruLClz9qVFquX1c27sCmO9/+B61tP9z2g==} + '@cesdk/cesdk-js@1.66.1': + resolution: {integrity: sha512-ViQhqNNtVFJH7PKWUDXuTrHrpGCcx1AwAOE4NYCw1Ij/pLGil+E47LOjAqz1vZa4JI8WWfxojsuKenwP1msHlg==} peerDependencies: '@angular/common': '>=14.0.0' '@angular/core': '>=14.0.0' @@ -1114,8 +1166,8 @@ packages: vue: optional: true - '@cesdk/engine@1.60.0': - resolution: {integrity: sha512-e0k9SK0iheuCtcDJPPh7vquO/h/RkrWgJ8391fjBPKIA/J0k9msJCQPVJR0iGmJpNEM3TIFRGreWqU1nFqgcaA==} + '@cesdk/engine@1.66.1': + resolution: {integrity: sha512-SlJHYphbvR3y4sGi2mOXOGv1rXDQ2702rRu3fFrxidpD2NmdohjkLbaMohEeGAa+cGggFSv1u6qYODnq+8F6wQ==} peerDependencies: react: '>16' peerDependenciesMeta: @@ -1806,7 +1858,7 @@ packages: '@imgly/plugin-utils@file:packages/plugin-utils': resolution: {directory: packages/plugin-utils, type: directory} peerDependencies: - '@cesdk/cesdk-js': 1.60.0 + '@cesdk/cesdk-js': 1.66.1 '@imgly/vectorizer@1.0.0': resolution: {integrity: sha512-cXVmZYZgIIX8KOMDBd/xko8Wg158LmWkcjIAjTlKh2Rf9MPsVpuUTCdbPteX3Ut2bMMzmP7CO7cixlkKIizR5Q==} @@ -5822,13 +5874,13 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@cesdk/cesdk-js@1.60.0(react@18.3.1)': + '@cesdk/cesdk-js@1.66.1(react@18.3.1)': dependencies: - '@cesdk/engine': 1.60.0(react@18.3.1) + '@cesdk/engine': 1.66.1(react@18.3.1) optionalDependencies: react: 18.3.1 - '@cesdk/engine@1.60.0(react@18.3.1)': + '@cesdk/engine@1.66.1(react@18.3.1)': optionalDependencies: react: 18.3.1 @@ -6250,9 +6302,9 @@ snapshots: onnxruntime-web: 1.21.0 zod: 3.25.76 - '@imgly/plugin-utils@file:packages/plugin-utils(@cesdk/cesdk-js@1.60.0(react@18.3.1))': + '@imgly/plugin-utils@file:packages/plugin-utils(@cesdk/cesdk-js@1.66.1(react@18.3.1))': dependencies: - '@cesdk/cesdk-js': 1.60.0(react@18.3.1) + '@cesdk/cesdk-js': 1.66.1(react@18.3.1) lodash-es: 4.17.21 '@imgly/vectorizer@1.0.0': diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 74e84efa..44f4c02d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -3,5 +3,5 @@ packages: - 'examples/*' catalog: - '@cesdk/cesdk-js': '1.60.0' - '@cesdk/engine': '1.60.0' + '@cesdk/cesdk-js': '1.66.1' + '@cesdk/engine': '1.66.1'