@anvilkit/plugin-asset-manager 0.1.8 → 0.1.10
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 +96 -3
- package/dist/adapters/data-url.d.cts +1 -0
- package/dist/adapters/data-url.d.cts.map +1 -1
- package/dist/adapters/data-url.d.ts +1 -0
- package/dist/adapters/data-url.d.ts.map +1 -1
- package/dist/adapters/s3-multipart.cjs +425 -0
- package/dist/adapters/s3-multipart.d.cts +43 -0
- package/dist/adapters/s3-multipart.d.cts.map +1 -0
- package/dist/adapters/s3-multipart.d.ts +43 -0
- package/dist/adapters/s3-multipart.d.ts.map +1 -0
- package/dist/adapters/s3-multipart.js +387 -0
- package/dist/adapters/s3-presigned.d.cts +2 -0
- package/dist/adapters/s3-presigned.d.cts.map +1 -1
- package/dist/adapters/s3-presigned.d.ts +2 -0
- package/dist/adapters/s3-presigned.d.ts.map +1 -1
- package/dist/i18n/provider.d.cts +1 -0
- package/dist/i18n/provider.d.cts.map +1 -1
- package/dist/i18n/provider.d.ts +1 -0
- package/dist/i18n/provider.d.ts.map +1 -1
- package/dist/index.cjs +14 -0
- package/dist/index.d.cts +9 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/plugin.cjs +152 -12
- package/dist/plugin.d.cts +49 -1
- package/dist/plugin.d.cts.map +1 -1
- package/dist/plugin.d.ts +49 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +147 -13
- package/dist/sources/composite-source.cjs +3 -0
- package/dist/sources/composite-source.d.cts.map +1 -1
- package/dist/sources/composite-source.d.ts.map +1 -1
- package/dist/sources/composite-source.js +3 -0
- package/dist/sources/federated-search.cjs +45 -7
- package/dist/sources/federated-search.d.cts.map +1 -1
- package/dist/sources/federated-search.d.ts.map +1 -1
- package/dist/sources/federated-search.js +45 -7
- package/dist/sources/provider.d.cts +5 -0
- package/dist/sources/provider.d.cts.map +1 -1
- package/dist/sources/provider.d.ts +5 -0
- package/dist/sources/provider.d.ts.map +1 -1
- package/dist/sources/unsplash/index.d.cts +1 -0
- package/dist/sources/unsplash/index.d.cts.map +1 -1
- package/dist/sources/unsplash/index.d.ts +1 -0
- package/dist/sources/unsplash/index.d.ts.map +1 -1
- package/dist/testing/index.d.cts +4 -0
- package/dist/testing/index.d.cts.map +1 -1
- package/dist/testing/index.d.ts +4 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/types/categories.d.cts +3 -0
- package/dist/types/categories.d.cts.map +1 -1
- package/dist/types/categories.d.ts +3 -0
- package/dist/types/categories.d.ts.map +1 -1
- package/dist/types/data-source.d.cts +9 -0
- package/dist/types/data-source.d.cts.map +1 -1
- package/dist/types/data-source.d.ts +9 -0
- package/dist/types/data-source.d.ts.map +1 -1
- package/dist/types/filter.d.cts +11 -0
- package/dist/types/filter.d.cts.map +1 -1
- package/dist/types/filter.d.ts +11 -0
- package/dist/types/filter.d.ts.map +1 -1
- package/dist/types/folders.d.cts +2 -0
- package/dist/types/folders.d.cts.map +1 -1
- package/dist/types/folders.d.ts +2 -0
- package/dist/types/folders.d.ts.map +1 -1
- package/dist/types/options.d.cts +57 -1
- package/dist/types/options.d.cts.map +1 -1
- package/dist/types/options.d.ts +57 -1
- package/dist/types/options.d.ts.map +1 -1
- package/dist/types/resumable.cjs +42 -0
- package/dist/types/resumable.d.cts +204 -0
- package/dist/types/resumable.d.cts.map +1 -0
- package/dist/types/resumable.d.ts +204 -0
- package/dist/types/resumable.d.ts.map +1 -0
- package/dist/types/resumable.js +4 -0
- package/dist/types/transform.cjs +18 -0
- package/dist/types/transform.d.cts +45 -0
- package/dist/types/transform.d.cts.map +1 -0
- package/dist/types/transform.d.ts +45 -0
- package/dist/types/transform.d.ts.map +1 -0
- package/dist/types/transform.js +1 -0
- package/dist/types/types.d.cts +17 -0
- package/dist/types/types.d.cts.map +1 -1
- package/dist/types/types.d.ts +17 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/unsplash.d.cts +2 -0
- package/dist/types/unsplash.d.cts.map +1 -1
- package/dist/types/unsplash.d.ts +2 -0
- package/dist/types/unsplash.d.ts.map +1 -1
- package/dist/ui/AssetBrowser.d.cts +3 -1
- package/dist/ui/AssetBrowser.d.cts.map +1 -1
- package/dist/ui/AssetBrowser.d.ts +3 -1
- package/dist/ui/AssetBrowser.d.ts.map +1 -1
- package/dist/ui/AssetCommandPalette.d.cts +4 -1
- package/dist/ui/AssetCommandPalette.d.cts.map +1 -1
- package/dist/ui/AssetCommandPalette.d.ts +4 -1
- package/dist/ui/AssetCommandPalette.d.ts.map +1 -1
- package/dist/ui/AssetManagerUI.cjs +3 -1
- package/dist/ui/AssetManagerUI.d.cts +11 -2
- package/dist/ui/AssetManagerUI.d.cts.map +1 -1
- package/dist/ui/AssetManagerUI.d.ts +11 -2
- package/dist/ui/AssetManagerUI.d.ts.map +1 -1
- package/dist/ui/AssetManagerUI.js +3 -1
- package/dist/ui/DeleteAssetDialog.d.cts +4 -1
- package/dist/ui/DeleteAssetDialog.d.cts.map +1 -1
- package/dist/ui/DeleteAssetDialog.d.ts +4 -1
- package/dist/ui/DeleteAssetDialog.d.ts.map +1 -1
- package/dist/ui/DeleteFolderDialog.d.cts +4 -1
- package/dist/ui/DeleteFolderDialog.d.cts.map +1 -1
- package/dist/ui/DeleteFolderDialog.d.ts +4 -1
- package/dist/ui/DeleteFolderDialog.d.ts.map +1 -1
- package/dist/ui/EmptyFolderState.d.cts +4 -1
- package/dist/ui/EmptyFolderState.d.cts.map +1 -1
- package/dist/ui/EmptyFolderState.d.ts +4 -1
- package/dist/ui/EmptyFolderState.d.ts.map +1 -1
- package/dist/ui/FolderBreadcrumb.d.cts +4 -1
- package/dist/ui/FolderBreadcrumb.d.cts.map +1 -1
- package/dist/ui/FolderBreadcrumb.d.ts +4 -1
- package/dist/ui/FolderBreadcrumb.d.ts.map +1 -1
- package/dist/ui/FolderNameDialog.d.cts +3 -1
- package/dist/ui/FolderNameDialog.d.cts.map +1 -1
- package/dist/ui/FolderNameDialog.d.ts +3 -1
- package/dist/ui/FolderNameDialog.d.ts.map +1 -1
- package/dist/ui/FolderTree.d.cts +4 -1
- package/dist/ui/FolderTree.d.cts.map +1 -1
- package/dist/ui/FolderTree.d.ts +4 -1
- package/dist/ui/FolderTree.d.ts.map +1 -1
- package/dist/ui/MetadataPanel.d.cts +4 -1
- package/dist/ui/MetadataPanel.d.cts.map +1 -1
- package/dist/ui/MetadataPanel.d.ts +4 -1
- package/dist/ui/MetadataPanel.d.ts.map +1 -1
- package/dist/ui/MoveTargetPicker.d.cts +3 -1
- package/dist/ui/MoveTargetPicker.d.cts.map +1 -1
- package/dist/ui/MoveTargetPicker.d.ts +3 -1
- package/dist/ui/MoveTargetPicker.d.ts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.cjs +7 -2
- package/dist/ui/ReplaceAssetDialog.d.cts +5 -2
- package/dist/ui/ReplaceAssetDialog.d.cts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.d.ts +5 -2
- package/dist/ui/ReplaceAssetDialog.d.ts.map +1 -1
- package/dist/ui/ReplaceAssetDialog.js +7 -2
- package/dist/ui/UnsplashPanel.d.cts +4 -1
- package/dist/ui/UnsplashPanel.d.cts.map +1 -1
- package/dist/ui/UnsplashPanel.d.ts +4 -1
- package/dist/ui/UnsplashPanel.d.ts.map +1 -1
- package/dist/ui/UploadButton.cjs +7 -2
- package/dist/ui/UploadButton.d.cts +6 -2
- package/dist/ui/UploadButton.d.cts.map +1 -1
- package/dist/ui/UploadButton.d.ts +6 -2
- package/dist/ui/UploadButton.d.ts.map +1 -1
- package/dist/ui/UploadButton.js +7 -2
- package/dist/utils/asset-reference.cjs +87 -4
- package/dist/utils/asset-reference.d.cts +30 -6
- package/dist/utils/asset-reference.d.cts.map +1 -1
- package/dist/utils/asset-reference.d.ts +30 -6
- package/dist/utils/asset-reference.d.ts.map +1 -1
- package/dist/utils/asset-reference.js +83 -3
- package/dist/utils/csp.cjs +16 -0
- package/dist/utils/csp.d.cts +23 -0
- package/dist/utils/csp.d.cts.map +1 -1
- package/dist/utils/csp.d.ts +23 -0
- package/dist/utils/csp.d.ts.map +1 -1
- package/dist/utils/csp.js +16 -0
- package/dist/utils/data-source.cjs +19 -5
- package/dist/utils/data-source.d.cts +5 -1
- package/dist/utils/data-source.d.cts.map +1 -1
- package/dist/utils/data-source.d.ts +5 -1
- package/dist/utils/data-source.d.ts.map +1 -1
- package/dist/utils/data-source.js +19 -5
- package/dist/utils/errors.d.cts +5 -0
- package/dist/utils/errors.d.cts.map +1 -1
- package/dist/utils/errors.d.ts +5 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/query-param-transform.cjs +101 -0
- package/dist/utils/query-param-transform.d.cts +46 -0
- package/dist/utils/query-param-transform.d.cts.map +1 -0
- package/dist/utils/query-param-transform.d.ts +46 -0
- package/dist/utils/query-param-transform.d.ts.map +1 -0
- package/dist/utils/query-param-transform.js +60 -0
- package/dist/utils/registry.cjs +3 -0
- package/dist/utils/registry.d.cts +8 -0
- package/dist/utils/registry.d.cts.map +1 -1
- package/dist/utils/registry.d.ts +8 -0
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +3 -0
- package/dist/utils/resolver.cjs +19 -11
- package/dist/utils/resolver.d.cts +24 -0
- package/dist/utils/resolver.d.cts.map +1 -1
- package/dist/utils/resolver.d.ts +24 -0
- package/dist/utils/resolver.d.ts.map +1 -1
- package/dist/utils/resolver.js +19 -11
- package/dist/utils/retry.d.cts +2 -0
- package/dist/utils/retry.d.cts.map +1 -1
- package/dist/utils/retry.d.ts +2 -0
- package/dist/utils/retry.d.ts.map +1 -1
- package/dist/utils/run-resumable-upload.cjs +160 -0
- package/dist/utils/run-resumable-upload.d.cts +56 -0
- package/dist/utils/run-resumable-upload.d.cts.map +1 -0
- package/dist/utils/run-resumable-upload.d.ts +56 -0
- package/dist/utils/run-resumable-upload.d.ts.map +1 -0
- package/dist/utils/run-resumable-upload.js +122 -0
- package/dist/utils/sniff-file-type.cjs +209 -0
- package/dist/utils/sniff-file-type.d.cts +25 -0
- package/dist/utils/sniff-file-type.d.cts.map +1 -0
- package/dist/utils/sniff-file-type.d.ts +25 -0
- package/dist/utils/sniff-file-type.d.ts.map +1 -0
- package/dist/utils/sniff-file-type.js +164 -0
- package/dist/utils/studio-asset-source.cjs +11 -6
- package/dist/utils/studio-asset-source.d.cts +5 -1
- package/dist/utils/studio-asset-source.d.cts.map +1 -1
- package/dist/utils/studio-asset-source.d.ts +5 -1
- package/dist/utils/studio-asset-source.d.ts.map +1 -1
- package/dist/utils/studio-asset-source.js +11 -6
- package/dist/utils/upload-session-store.cjs +125 -0
- package/dist/utils/upload-session-store.d.cts +55 -0
- package/dist/utils/upload-session-store.d.cts.map +1 -0
- package/dist/utils/upload-session-store.d.ts +55 -0
- package/dist/utils/upload-session-store.d.ts.map +1 -0
- package/dist/utils/upload-session-store.js +84 -0
- package/dist/utils/validate-upload-result.cjs +9 -1
- package/dist/utils/validate-upload-result.d.cts +1 -0
- package/dist/utils/validate-upload-result.d.cts.map +1 -1
- package/dist/utils/validate-upload-result.d.ts +1 -0
- package/dist/utils/validate-upload-result.d.ts.map +1 -1
- package/dist/utils/validate-upload-result.js +9 -1
- package/dist/version.cjs +1 -1
- package/dist/version.d.cts +1 -1
- package/dist/version.d.cts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/meta/config.json +1 -1
- package/package.json +42 -12
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACN,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACV,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,cAAc,GACd,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACX,SAAS,EACT,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,qBAAqB,EACrB,aAAa,EACb,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACV,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,cAAc,GACd,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACX,SAAS,EACT,OAAO,EACP,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACX,cAAc,EACd,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,qBAAqB,EACrB,aAAa,EACb,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EACX,wBAAwB,EACxB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export type { DataUrlUploaderOptions } from "./adapters/data-url.js";
|
|
2
2
|
export { dataUrlUploader } from "./adapters/data-url.js";
|
|
3
3
|
export { inMemoryUploader } from "./adapters/in-memory.js";
|
|
4
|
-
export {
|
|
4
|
+
export type { AssetManagerErrorEvent, AssetManagerEventMap, AssetManagerEventName, AssetManagerUploadedEvent, } from "./plugin.js";
|
|
5
|
+
export { ASSET_MANAGER_ERROR_EVENT, ASSET_MANAGER_UPLOADED_EVENT, createAssetManagerPlugin, createAssetReference, getAssetRegistry, uploadAsset, } from "./plugin.js";
|
|
5
6
|
export type { AssetSourceCapabilities, AssetSourceProvider, AssetTheme, } from "./sources/provider.js";
|
|
6
7
|
export type { AssetCategory, AssetFacetDefinition, AssetFacetOption, } from "./types/categories.js";
|
|
7
8
|
export type { AssetDataSource, AssetSourceStatus, ReplacePayload, } from "./types/data-source.js";
|
|
@@ -9,9 +10,14 @@ export type { AssetFilter, AssetListPage, AssetSort, AssetSortField, AssetSource
|
|
|
9
10
|
export type { AssetFolder, FolderId, FolderOptions } from "./types/folders.js";
|
|
10
11
|
export { resolveFolderId } from "./types/folders.js";
|
|
11
12
|
export type { AssetManagerOptions } from "./types/options.js";
|
|
12
|
-
export type {
|
|
13
|
+
export type { JsonValue, PartTag, PersistedUploadSession, ResumableUploadAdapter, ResumableUploadConfig, UploadPart, UploadSession, UploadSessionStore, } from "./types/resumable.js";
|
|
14
|
+
export { isResumableAdapter } from "./types/resumable.js";
|
|
15
|
+
export type { AssetTransform, TransformResolver, } from "./types/transform.js";
|
|
16
|
+
export type { AssetDeletedHook, AssetKind, AssetMeta, AssetRegistry, AssetRegistryListener, AssetSearchOptions, AssetSearchPage, UploadAdapter, UploadAdapterOptions, UploadResult, } from "./types/types.js";
|
|
13
17
|
export type { UnsplashSourceOptions, UnsplashTheme, UnsplashThemeConfig, } from "./types/unsplash.js";
|
|
14
|
-
export type {
|
|
18
|
+
export type { ParsedAssetReference } from "./utils/asset-reference.js";
|
|
19
|
+
export { parseAssetReference } from "./utils/asset-reference.js";
|
|
20
|
+
export type { RequiredCsp, RequiredCspOptions, S3CspOptions, S3MultipartCspOptions, } from "./utils/csp.js";
|
|
15
21
|
export { getRequiredCsp } from "./utils/csp.js";
|
|
16
22
|
export type { AssetResolutionErrorCode, AssetSourceErrorCode, } from "./utils/errors.js";
|
|
17
23
|
export { AssetResolutionError, AssetSourceError, AssetValidationError, } from "./utils/errors.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACN,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACV,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,cAAc,GACd,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACX,SAAS,EACT,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,qBAAqB,EACrB,aAAa,EACb,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACX,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACX,uBAAuB,EACvB,mBAAmB,EACnB,UAAU,GACV,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACX,eAAe,EACf,iBAAiB,EACjB,cAAc,GACd,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,aAAa,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EACX,SAAS,EACT,OAAO,EACP,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EACX,cAAc,EACd,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,qBAAqB,EACrB,aAAa,EACb,mBAAmB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACX,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EACX,wBAAwB,EACxB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EACN,uBAAuB,EACvB,oBAAoB,GACpB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { dataUrlUploader } from "./adapters/data-url.js";
|
|
2
2
|
export { inMemoryUploader } from "./adapters/in-memory.js";
|
|
3
|
-
export { createAssetManagerPlugin, createAssetReference, getAssetRegistry, uploadAsset } from "./plugin.js";
|
|
3
|
+
export { ASSET_MANAGER_ERROR_EVENT, ASSET_MANAGER_UPLOADED_EVENT, createAssetManagerPlugin, createAssetReference, getAssetRegistry, uploadAsset } from "./plugin.js";
|
|
4
4
|
export { resolveFolderId } from "./types/folders.js";
|
|
5
|
+
export { isResumableAdapter } from "./types/resumable.js";
|
|
6
|
+
export { parseAssetReference } from "./utils/asset-reference.js";
|
|
5
7
|
export { getRequiredCsp } from "./utils/csp.js";
|
|
6
8
|
export { AssetResolutionError, AssetSourceError, AssetValidationError } from "./utils/errors.js";
|
|
7
9
|
export { inferAssetKind } from "./utils/infer-kind.js";
|
package/dist/plugin.cjs
CHANGED
|
@@ -37,6 +37,8 @@ var __webpack_require__ = {};
|
|
|
37
37
|
var __webpack_exports__ = {};
|
|
38
38
|
__webpack_require__.r(__webpack_exports__);
|
|
39
39
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
ASSET_MANAGER_ERROR_EVENT: ()=>ASSET_MANAGER_ERROR_EVENT,
|
|
41
|
+
ASSET_MANAGER_UPLOADED_EVENT: ()=>ASSET_MANAGER_UPLOADED_EVENT,
|
|
40
42
|
createAssetManagerPlugin: ()=>createAssetManagerPlugin,
|
|
41
43
|
createAssetReference: ()=>asset_reference_cjs_namespaceObject.createAssetReference,
|
|
42
44
|
getAssetRegistry: ()=>getAssetRegistry,
|
|
@@ -58,6 +60,8 @@ const resolver_cjs_namespaceObject = require("./utils/resolver.cjs");
|
|
|
58
60
|
const studio_asset_source_cjs_namespaceObject = require("./utils/studio-asset-source.cjs");
|
|
59
61
|
const validate_upload_result_cjs_namespaceObject = require("./utils/validate-upload-result.cjs");
|
|
60
62
|
const external_version_cjs_namespaceObject = require("./version.cjs");
|
|
63
|
+
const ASSET_MANAGER_UPLOADED_EVENT = "asset-manager:uploaded";
|
|
64
|
+
const ASSET_MANAGER_ERROR_EVENT = "asset-manager:error";
|
|
61
65
|
const META = {
|
|
62
66
|
...config_json_default(),
|
|
63
67
|
version: external_version_cjs_namespaceObject.ASSET_MANAGER_VERSION,
|
|
@@ -72,7 +76,10 @@ function createAssetManagerPlugin(options = {}) {
|
|
|
72
76
|
const assetResolver = (0, resolver_cjs_namespaceObject.createIRAssetResolver)({
|
|
73
77
|
registry,
|
|
74
78
|
dataUrlAllowlistOptIn: normalizedOptions.dataUrlAllowlistOptIn,
|
|
75
|
-
allowMixedScriptHostnames: normalizedOptions.allowMixedScriptHostnames
|
|
79
|
+
allowMixedScriptHostnames: normalizedOptions.allowMixedScriptHostnames,
|
|
80
|
+
...normalizedOptions.transformResolver ? {
|
|
81
|
+
transformResolver: normalizedOptions.transformResolver
|
|
82
|
+
} : {}
|
|
76
83
|
});
|
|
77
84
|
return {
|
|
78
85
|
meta: META,
|
|
@@ -94,9 +101,11 @@ function createAssetManagerPlugin(options = {}) {
|
|
|
94
101
|
tokenByContext.set(initCtx, token);
|
|
95
102
|
initCtx.registerAssetResolver(assetResolver);
|
|
96
103
|
const upload = (file, opts)=>uploadAsset(initCtx, file, opts?.signal);
|
|
104
|
+
const onDelete = createAssetDeletedHandler(normalizedOptions, !hostOwnsAssetPlane(normalizedOptions));
|
|
97
105
|
const studioAssetSource = (0, studio_asset_source_cjs_namespaceObject.createStudioAssetSource)({
|
|
98
106
|
registry,
|
|
99
107
|
upload,
|
|
108
|
+
onDelete,
|
|
100
109
|
...normalizedOptions.getThumbnail ? {
|
|
101
110
|
getThumbnail: normalizedOptions.getThumbnail
|
|
102
111
|
} : {}
|
|
@@ -143,39 +152,146 @@ async function uploadAsset(ctx, file, signal) {
|
|
|
143
152
|
const { options, registry } = state;
|
|
144
153
|
try {
|
|
145
154
|
validateSelectedFile(file, options);
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
155
|
+
await assertSniffedContentType(file, options, signal);
|
|
156
|
+
let contentHash;
|
|
157
|
+
if (true === options.dedupe) {
|
|
158
|
+
if (signal?.aborted) throw makePluginAbortError();
|
|
159
|
+
contentHash = await computeFileHash(file);
|
|
160
|
+
if (signal?.aborted) throw makePluginAbortError();
|
|
161
|
+
if (void 0 !== contentHash) {
|
|
162
|
+
const existing = registry.list().find((entry)=>entry.meta?.hash === contentHash);
|
|
163
|
+
if (void 0 !== existing) {
|
|
164
|
+
dispatchAssetReference(ctx, existing);
|
|
165
|
+
ctx.emit(ASSET_MANAGER_UPLOADED_EVENT, {
|
|
166
|
+
asset: existing,
|
|
167
|
+
reference: (0, asset_reference_cjs_namespaceObject.createAssetReference)(existing.id)
|
|
168
|
+
});
|
|
169
|
+
return existing;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (signal?.aborted) throw makePluginAbortError();
|
|
174
|
+
const uploadResult = await performUpload(options, file, signal);
|
|
149
175
|
if (signal?.aborted) throw makePluginAbortError();
|
|
150
176
|
const validated = (0, validate_upload_result_cjs_namespaceObject.validateUploadResult)(mergeUploadMeta(uploadResult, file), options);
|
|
151
|
-
const
|
|
177
|
+
const hashed = void 0 !== contentHash ? {
|
|
178
|
+
...validated,
|
|
179
|
+
meta: {
|
|
180
|
+
...validated.meta ?? {},
|
|
181
|
+
hash: contentHash
|
|
182
|
+
}
|
|
183
|
+
} : validated;
|
|
184
|
+
const tagged = withDerivedTags(hashed, file);
|
|
152
185
|
const stored = registry.register(tagged);
|
|
153
186
|
dispatchAssetReference(ctx, stored);
|
|
154
|
-
|
|
187
|
+
const payload = {
|
|
155
188
|
asset: stored,
|
|
156
189
|
reference: (0, asset_reference_cjs_namespaceObject.createAssetReference)(stored.id)
|
|
157
|
-
}
|
|
190
|
+
};
|
|
191
|
+
ctx.emit(ASSET_MANAGER_UPLOADED_EVENT, payload);
|
|
158
192
|
return stored;
|
|
159
193
|
} catch (error) {
|
|
160
194
|
if (isAbortLikeError(error) || signal?.aborted) throw error;
|
|
161
195
|
const normalizedError = error instanceof errors_cjs_namespaceObject.AssetValidationError ? error : new errors_cjs_namespaceObject.AssetValidationError("UPLOAD_FAILED", error instanceof Error ? error.message : String(error), {
|
|
162
196
|
cause: error
|
|
163
197
|
});
|
|
164
|
-
|
|
198
|
+
const payload = {
|
|
165
199
|
code: normalizedError.code,
|
|
166
200
|
message: normalizedError.message
|
|
167
|
-
}
|
|
201
|
+
};
|
|
202
|
+
ctx.emit(ASSET_MANAGER_ERROR_EVENT, payload);
|
|
168
203
|
ctx.log("error", normalizedError.message, {
|
|
169
204
|
code: normalizedError.code
|
|
170
205
|
});
|
|
171
206
|
throw normalizedError;
|
|
172
207
|
}
|
|
173
208
|
}
|
|
209
|
+
const DEFAULT_RESUMABLE_THRESHOLD = 8388608;
|
|
210
|
+
async function performUpload(options, file, signal) {
|
|
211
|
+
const { resumable } = options;
|
|
212
|
+
if (void 0 !== resumable && shouldUseResumable(resumable, file)) {
|
|
213
|
+
if (signal?.aborted) throw makePluginAbortError();
|
|
214
|
+
const { runResumableUpload } = await import("./utils/run-resumable-upload.cjs");
|
|
215
|
+
return runResumableUpload(resumable.adapter, file, {
|
|
216
|
+
...void 0 !== resumable.partSize ? {
|
|
217
|
+
partSize: resumable.partSize
|
|
218
|
+
} : {},
|
|
219
|
+
...resumable.sessionStore ? {
|
|
220
|
+
sessionStore: resumable.sessionStore
|
|
221
|
+
} : {},
|
|
222
|
+
...signal ? {
|
|
223
|
+
signal
|
|
224
|
+
} : {}
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
return options.uploader(file, signal ? {
|
|
228
|
+
signal
|
|
229
|
+
} : void 0);
|
|
230
|
+
}
|
|
231
|
+
function shouldUseResumable(resumable, file) {
|
|
232
|
+
const threshold = resumable.threshold ?? resumable.partSize ?? DEFAULT_RESUMABLE_THRESHOLD;
|
|
233
|
+
return file.size >= threshold;
|
|
234
|
+
}
|
|
235
|
+
function createAssetDeletedHandler(options, callHostHook) {
|
|
236
|
+
return async (asset)=>{
|
|
237
|
+
revokeBlobUrl(asset.url);
|
|
238
|
+
if (callHostHook) await options.onAssetDeleted?.(asset);
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
const HOST_ASSET_PLANE_METHODS = [
|
|
242
|
+
"list",
|
|
243
|
+
"remove",
|
|
244
|
+
"replace",
|
|
245
|
+
"rename",
|
|
246
|
+
"move"
|
|
247
|
+
];
|
|
248
|
+
function hostOwnsAssetPlane(options) {
|
|
249
|
+
const ds = options.dataSource;
|
|
250
|
+
if (void 0 === ds) return false;
|
|
251
|
+
return HOST_ASSET_PLANE_METHODS.every((method)=>"function" == typeof ds[method]);
|
|
252
|
+
}
|
|
253
|
+
function revokeBlobUrl(url) {
|
|
254
|
+
if (url.startsWith("blob:") && "u" > typeof URL && "function" == typeof URL.revokeObjectURL) URL.revokeObjectURL(url);
|
|
255
|
+
}
|
|
256
|
+
async function computeFileHash(file) {
|
|
257
|
+
const subtle = globalThis.crypto?.subtle;
|
|
258
|
+
if (void 0 === subtle || "function" != typeof file.arrayBuffer) return;
|
|
259
|
+
try {
|
|
260
|
+
const digest = await subtle.digest("SHA-256", await file.arrayBuffer());
|
|
261
|
+
const bytes = new Uint8Array(digest);
|
|
262
|
+
let hex = "";
|
|
263
|
+
for (const byte of bytes)hex += byte.toString(16).padStart(2, "0");
|
|
264
|
+
return hex;
|
|
265
|
+
} catch {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
async function assertSniffedContentType(file, options, signal) {
|
|
270
|
+
if (true !== options.sniffContent) return;
|
|
271
|
+
const declared = normalizeMime(file.type);
|
|
272
|
+
if ("" === declared || "application/octet-stream" === declared) return;
|
|
273
|
+
if (signal?.aborted) throw makePluginAbortError();
|
|
274
|
+
const { sniffFileMime } = await import("./utils/sniff-file-type.cjs");
|
|
275
|
+
const sniffed = await sniffFileMime(file);
|
|
276
|
+
if (signal?.aborted) throw makePluginAbortError();
|
|
277
|
+
if (void 0 === sniffed) return;
|
|
278
|
+
if (normalizeMime(sniffed) !== declared) throw new errors_cjs_namespaceObject.AssetValidationError("CONTENT_TYPE_MISMATCH", `File content was detected as "${sniffed}" but its declared type is "${file.type}".`);
|
|
279
|
+
}
|
|
280
|
+
function normalizeMime(mime) {
|
|
281
|
+
const lower = mime.trim().toLowerCase();
|
|
282
|
+
return "image/jpg" === lower ? "image/jpeg" : lower;
|
|
283
|
+
}
|
|
174
284
|
function validateSelectedFile(file, options) {
|
|
175
285
|
if (void 0 !== options.maxFileSize && file.size > options.maxFileSize) throw new errors_cjs_namespaceObject.AssetValidationError("FILE_TOO_LARGE", `File size ${file.size} bytes exceeds the configured maxFileSize of ${options.maxFileSize} bytes.`);
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
286
|
+
const acceptedMimeTypes = options.acceptedMimeTypes ?? [];
|
|
287
|
+
const acceptedFileExtensions = options.acceptedFileExtensions ?? [];
|
|
288
|
+
const hasMimeAllowlist = acceptedMimeTypes.length > 0;
|
|
289
|
+
const hasExtensionAllowlist = acceptedFileExtensions.length > 0;
|
|
290
|
+
if (hasMimeAllowlist && "" !== file.type && !mimeTypeMatches(file.type, acceptedMimeTypes)) throw new errors_cjs_namespaceObject.AssetValidationError("UNSUPPORTED_MIME_TYPE", `File MIME type "${file.type}" is not in acceptedMimeTypes.`);
|
|
291
|
+
if (hasMimeAllowlist && "" === file.type && !hasExtensionAllowlist) throw new errors_cjs_namespaceObject.AssetValidationError("UNSUPPORTED_MIME_TYPE", 'File MIME type "unknown" is not in acceptedMimeTypes.');
|
|
292
|
+
if (hasExtensionAllowlist && !fileExtensionMatches(file.name, acceptedFileExtensions)) {
|
|
293
|
+
const extension = file.name.includes(".") ? file.name.slice(file.name.lastIndexOf(".")).toLowerCase() : "unknown";
|
|
294
|
+
throw new errors_cjs_namespaceObject.AssetValidationError("UNSUPPORTED_FILE_EXTENSION", `File extension "${extension}" is not in acceptedFileExtensions.`);
|
|
179
295
|
}
|
|
180
296
|
}
|
|
181
297
|
function getRuntimeState(ctx) {
|
|
@@ -193,15 +309,20 @@ async function loadRichSource(ctx, registry, upload, options) {
|
|
|
193
309
|
import("./sources/composite-source.cjs")
|
|
194
310
|
]);
|
|
195
311
|
const maxDepth = "object" == typeof options.folders ? options.folders.maxDepth : void 0;
|
|
312
|
+
const allowMove = "object" == typeof options.folders ? options.folders.allowMove : void 0;
|
|
196
313
|
const resolved = resolveDataSource({
|
|
197
314
|
registry,
|
|
198
315
|
upload,
|
|
316
|
+
onDelete: createAssetDeletedHandler(options, !hostOwnsAssetPlane(options)),
|
|
199
317
|
...options.dataSource ? {
|
|
200
318
|
hostDataSource: options.dataSource
|
|
201
319
|
} : {},
|
|
202
320
|
...void 0 !== maxDepth ? {
|
|
203
321
|
maxDepth
|
|
204
322
|
} : {},
|
|
323
|
+
...void 0 !== allowMove ? {
|
|
324
|
+
allowMove
|
|
325
|
+
} : {},
|
|
205
326
|
warn: (message)=>ctx.log("warn", message)
|
|
206
327
|
});
|
|
207
328
|
const providers = [
|
|
@@ -234,6 +355,11 @@ function normalizeOptions(options) {
|
|
|
234
355
|
acceptedMimeTypes: Object.freeze([
|
|
235
356
|
...options.acceptedMimeTypes
|
|
236
357
|
])
|
|
358
|
+
} : {},
|
|
359
|
+
...options.acceptedFileExtensions ? {
|
|
360
|
+
acceptedFileExtensions: Object.freeze([
|
|
361
|
+
...options.acceptedFileExtensions
|
|
362
|
+
])
|
|
237
363
|
} : {}
|
|
238
364
|
};
|
|
239
365
|
}
|
|
@@ -285,6 +411,16 @@ function mimeTypeMatches(input, acceptedMimeTypes) {
|
|
|
285
411
|
return input === accepted;
|
|
286
412
|
});
|
|
287
413
|
}
|
|
414
|
+
function fileExtensionMatches(name, acceptedFileExtensions) {
|
|
415
|
+
const lowerName = name.toLowerCase();
|
|
416
|
+
if ("" === lowerName) return false;
|
|
417
|
+
return acceptedFileExtensions.some((accepted)=>{
|
|
418
|
+
const trimmed = accepted.trim().toLowerCase();
|
|
419
|
+
if ("" === trimmed) return false;
|
|
420
|
+
const extension = trimmed.startsWith(".") ? trimmed : `.${trimmed}`;
|
|
421
|
+
return lowerName.endsWith(extension);
|
|
422
|
+
});
|
|
423
|
+
}
|
|
288
424
|
function dispatchAssetReference(ctx, asset) {
|
|
289
425
|
const currentData = ctx.getData();
|
|
290
426
|
const assetsView = currentData.assets;
|
|
@@ -338,12 +474,16 @@ function isAbortLikeError(error) {
|
|
|
338
474
|
const name = error.name;
|
|
339
475
|
return "AbortError" === name;
|
|
340
476
|
}
|
|
477
|
+
exports.ASSET_MANAGER_ERROR_EVENT = __webpack_exports__.ASSET_MANAGER_ERROR_EVENT;
|
|
478
|
+
exports.ASSET_MANAGER_UPLOADED_EVENT = __webpack_exports__.ASSET_MANAGER_UPLOADED_EVENT;
|
|
341
479
|
exports.createAssetManagerPlugin = __webpack_exports__.createAssetManagerPlugin;
|
|
342
480
|
exports.createAssetReference = __webpack_exports__.createAssetReference;
|
|
343
481
|
exports.getAssetRegistry = __webpack_exports__.getAssetRegistry;
|
|
344
482
|
exports.uploadAsset = __webpack_exports__.uploadAsset;
|
|
345
483
|
exports.validateSelectedFile = __webpack_exports__.validateSelectedFile;
|
|
346
484
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
485
|
+
"ASSET_MANAGER_ERROR_EVENT",
|
|
486
|
+
"ASSET_MANAGER_UPLOADED_EVENT",
|
|
347
487
|
"createAssetManagerPlugin",
|
|
348
488
|
"createAssetReference",
|
|
349
489
|
"getAssetRegistry",
|
package/dist/plugin.d.cts
CHANGED
|
@@ -4,8 +4,56 @@ import type { AssetManagerOptions } from "./types/options.js";
|
|
|
4
4
|
import type { AssetRegistry, UploadResult } from "./types/types.js";
|
|
5
5
|
import { createAssetReference } from "./utils/asset-reference.js";
|
|
6
6
|
export { createAssetReference };
|
|
7
|
+
/** Event name emitted after an asset upload has been validated and registered. */
|
|
8
|
+
export declare const ASSET_MANAGER_UPLOADED_EVENT: "asset-manager:uploaded";
|
|
9
|
+
/** Event name emitted when upload validation or adapter execution fails. */
|
|
10
|
+
export declare const ASSET_MANAGER_ERROR_EVENT: "asset-manager:error";
|
|
11
|
+
/** Payload emitted with {@link ASSET_MANAGER_UPLOADED_EVENT}. */
|
|
12
|
+
export interface AssetManagerUploadedEvent {
|
|
13
|
+
readonly asset: UploadResult;
|
|
14
|
+
readonly reference: string;
|
|
15
|
+
}
|
|
16
|
+
/** Payload emitted with {@link ASSET_MANAGER_ERROR_EVENT}. */
|
|
17
|
+
export interface AssetManagerErrorEvent {
|
|
18
|
+
readonly code: string;
|
|
19
|
+
readonly message: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Event payload map for asset-manager runtime notifications. Hosts can use this
|
|
23
|
+
* to type their event-bus wrappers around `asset-manager:uploaded` and
|
|
24
|
+
* `asset-manager:error`.
|
|
25
|
+
*/
|
|
26
|
+
export interface AssetManagerEventMap {
|
|
27
|
+
readonly [ASSET_MANAGER_UPLOADED_EVENT]: AssetManagerUploadedEvent;
|
|
28
|
+
readonly [ASSET_MANAGER_ERROR_EVENT]: AssetManagerErrorEvent;
|
|
29
|
+
}
|
|
30
|
+
/** Supported asset-manager event names. */
|
|
31
|
+
export type AssetManagerEventName = keyof AssetManagerEventMap;
|
|
32
|
+
/**
|
|
33
|
+
* Create the Anvilkit Studio asset-manager plugin.
|
|
34
|
+
*
|
|
35
|
+
* The returned plugin registers localization messages, a header upload action,
|
|
36
|
+
* an IR asset resolver, and a Studio asset source. With no options it provides
|
|
37
|
+
* an in-memory uploader/library; production hosts typically provide an
|
|
38
|
+
* `uploader` and optionally a folder-aware `dataSource` or external providers.
|
|
39
|
+
*/
|
|
7
40
|
export declare function createAssetManagerPlugin<UserConfig extends PuckConfig = PuckConfig>(options?: AssetManagerOptions): StudioPlugin<UserConfig>;
|
|
41
|
+
/**
|
|
42
|
+
* Return the runtime registry associated with an initialized plugin context.
|
|
43
|
+
*
|
|
44
|
+
* The registry is available after the plugin `onInit` hook has run and is
|
|
45
|
+
* removed during `onDestroy`; callers should handle `undefined` in setup,
|
|
46
|
+
* teardown, and tests that inspect lifecycle boundaries.
|
|
47
|
+
*/
|
|
8
48
|
export declare function getAssetRegistry<UserConfig extends PuckConfig = PuckConfig>(ctx: StudioPluginContext<UserConfig>): AssetRegistry | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Validate and upload a single file through the configured plugin runtime.
|
|
51
|
+
*
|
|
52
|
+
* The pipeline enforces selected-file constraints, calls the resolved upload
|
|
53
|
+
* adapter, validates the adapter's `UploadResult`, derives lightweight tags,
|
|
54
|
+
* registers the asset, dispatches an `asset://` reference into page data, and
|
|
55
|
+
* emits typed asset-manager events.
|
|
56
|
+
*/
|
|
9
57
|
export declare function uploadAsset<UserConfig extends PuckConfig = PuckConfig>(ctx: StudioPluginContext<UserConfig>, file: File, signal?: AbortSignal): Promise<UploadResult>;
|
|
10
|
-
export declare function validateSelectedFile(file: File, options: Pick<AssetManagerOptions, "acceptedMimeTypes" | "maxFileSize">): void;
|
|
58
|
+
export declare function validateSelectedFile(file: File, options: Pick<AssetManagerOptions, "acceptedFileExtensions" | "acceptedMimeTypes" | "maxFileSize">): void;
|
|
11
59
|
//# sourceMappingURL=plugin.d.cts.map
|
package/dist/plugin.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.cts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,YAAY,EACZ,mBAAmB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.cts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,YAAY,EACZ,mBAAmB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAGX,aAAa,EAEb,YAAY,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAWlE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,kFAAkF;AAClF,eAAO,MAAM,4BAA4B,EAAG,wBAAiC,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAG,qBAA8B,CAAC;AAExE,iEAAiE;AACjE,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC;IACnE,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,sBAAsB,CAAC;CAC7D;AAED,2CAA2C;AAC3C,MAAM,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC;AA8B/D;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,SAAS,UAAU,GAAG,UAAU,EACzC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAAC,UAAU,CAAC,CAoG7D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1E,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAClC,aAAa,GAAG,SAAS,CAG3B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EAC3E,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,YAAY,CAAC,CAmGvB;AAoKD,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CACZ,mBAAmB,EACnB,wBAAwB,GAAG,mBAAmB,GAAG,aAAa,CAC9D,GACC,IAAI,CAyCN"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -4,8 +4,56 @@ import type { AssetManagerOptions } from "./types/options.js";
|
|
|
4
4
|
import type { AssetRegistry, UploadResult } from "./types/types.js";
|
|
5
5
|
import { createAssetReference } from "./utils/asset-reference.js";
|
|
6
6
|
export { createAssetReference };
|
|
7
|
+
/** Event name emitted after an asset upload has been validated and registered. */
|
|
8
|
+
export declare const ASSET_MANAGER_UPLOADED_EVENT: "asset-manager:uploaded";
|
|
9
|
+
/** Event name emitted when upload validation or adapter execution fails. */
|
|
10
|
+
export declare const ASSET_MANAGER_ERROR_EVENT: "asset-manager:error";
|
|
11
|
+
/** Payload emitted with {@link ASSET_MANAGER_UPLOADED_EVENT}. */
|
|
12
|
+
export interface AssetManagerUploadedEvent {
|
|
13
|
+
readonly asset: UploadResult;
|
|
14
|
+
readonly reference: string;
|
|
15
|
+
}
|
|
16
|
+
/** Payload emitted with {@link ASSET_MANAGER_ERROR_EVENT}. */
|
|
17
|
+
export interface AssetManagerErrorEvent {
|
|
18
|
+
readonly code: string;
|
|
19
|
+
readonly message: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Event payload map for asset-manager runtime notifications. Hosts can use this
|
|
23
|
+
* to type their event-bus wrappers around `asset-manager:uploaded` and
|
|
24
|
+
* `asset-manager:error`.
|
|
25
|
+
*/
|
|
26
|
+
export interface AssetManagerEventMap {
|
|
27
|
+
readonly [ASSET_MANAGER_UPLOADED_EVENT]: AssetManagerUploadedEvent;
|
|
28
|
+
readonly [ASSET_MANAGER_ERROR_EVENT]: AssetManagerErrorEvent;
|
|
29
|
+
}
|
|
30
|
+
/** Supported asset-manager event names. */
|
|
31
|
+
export type AssetManagerEventName = keyof AssetManagerEventMap;
|
|
32
|
+
/**
|
|
33
|
+
* Create the Anvilkit Studio asset-manager plugin.
|
|
34
|
+
*
|
|
35
|
+
* The returned plugin registers localization messages, a header upload action,
|
|
36
|
+
* an IR asset resolver, and a Studio asset source. With no options it provides
|
|
37
|
+
* an in-memory uploader/library; production hosts typically provide an
|
|
38
|
+
* `uploader` and optionally a folder-aware `dataSource` or external providers.
|
|
39
|
+
*/
|
|
7
40
|
export declare function createAssetManagerPlugin<UserConfig extends PuckConfig = PuckConfig>(options?: AssetManagerOptions): StudioPlugin<UserConfig>;
|
|
41
|
+
/**
|
|
42
|
+
* Return the runtime registry associated with an initialized plugin context.
|
|
43
|
+
*
|
|
44
|
+
* The registry is available after the plugin `onInit` hook has run and is
|
|
45
|
+
* removed during `onDestroy`; callers should handle `undefined` in setup,
|
|
46
|
+
* teardown, and tests that inspect lifecycle boundaries.
|
|
47
|
+
*/
|
|
8
48
|
export declare function getAssetRegistry<UserConfig extends PuckConfig = PuckConfig>(ctx: StudioPluginContext<UserConfig>): AssetRegistry | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Validate and upload a single file through the configured plugin runtime.
|
|
51
|
+
*
|
|
52
|
+
* The pipeline enforces selected-file constraints, calls the resolved upload
|
|
53
|
+
* adapter, validates the adapter's `UploadResult`, derives lightweight tags,
|
|
54
|
+
* registers the asset, dispatches an `asset://` reference into page data, and
|
|
55
|
+
* emits typed asset-manager events.
|
|
56
|
+
*/
|
|
9
57
|
export declare function uploadAsset<UserConfig extends PuckConfig = PuckConfig>(ctx: StudioPluginContext<UserConfig>, file: File, signal?: AbortSignal): Promise<UploadResult>;
|
|
10
|
-
export declare function validateSelectedFile(file: File, options: Pick<AssetManagerOptions, "acceptedMimeTypes" | "maxFileSize">): void;
|
|
58
|
+
export declare function validateSelectedFile(file: File, options: Pick<AssetManagerOptions, "acceptedFileExtensions" | "acceptedMimeTypes" | "maxFileSize">): void;
|
|
11
59
|
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,YAAY,EACZ,mBAAmB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,YAAY,EACZ,mBAAmB,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAU7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAGX,aAAa,EAEb,YAAY,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAWlE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,kFAAkF;AAClF,eAAO,MAAM,4BAA4B,EAAG,wBAAiC,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAG,qBAA8B,CAAC;AAExE,iEAAiE;AACjE,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,CAAC,4BAA4B,CAAC,EAAE,yBAAyB,CAAC;IACnE,QAAQ,CAAC,CAAC,yBAAyB,CAAC,EAAE,sBAAsB,CAAC;CAC7D;AAED,2CAA2C;AAC3C,MAAM,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC;AA8B/D;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACvC,UAAU,SAAS,UAAU,GAAG,UAAU,EACzC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAAC,UAAU,CAAC,CAoG7D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1E,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAClC,aAAa,GAAG,SAAS,CAG3B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,UAAU,SAAS,UAAU,GAAG,UAAU,EAC3E,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,EACpC,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,YAAY,CAAC,CAmGvB;AAoKD,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CACZ,mBAAmB,EACnB,wBAAwB,GAAG,mBAAmB,GAAG,aAAa,CAC9D,GACC,IAAI,CAyCN"}
|