/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@directus/extensions@3.0.24/dist/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
import{API_EXTENSION_TYPES,APP_EXTENSION_TYPES,APP_OR_HYBRID_EXTENSION_PACKAGE_TYPES,APP_OR_HYBRID_EXTENSION_TYPES,BUNDLE_EXTENSION_TYPES,EXTENSION_TYPES,HYBRID_EXTENSION_TYPES,NESTED_EXTENSION_TYPES}from"@directus/constants";import{z}from"zod";const EXTENSION_LANGUAGES=["javascript","typescript"],EXTENSION_PKG_KEY="directus:extension",APP_SHARED_DEPS=["@directus/extensions-sdk","vue","vue-router","vue-i18n","pinia"],API_SHARED_DEPS=["directus","directus:api"],SplitEntrypoint=z.object({app:z.string(),api:z.string()}),ExtensionSandboxRequestedScopes=z.object({request:z.optional(z.object({urls:z.array(z.string()),methods:z.array(z.union([z.literal("GET"),z.literal("POST"),z.literal("PATCH"),z.literal("PUT"),z.literal("DELETE")]))})),log:z.optional(z.object({})),sleep:z.optional(z.object({}))}),ExtensionSandboxOptions=z.optional(z.object({enabled:z.boolean(),requestedScopes:ExtensionSandboxRequestedScopes})),ExtensionOptionsBundleEntry=z.union([z.object({type:z.enum(API_EXTENSION_TYPES),name:z.string(),source:z.string()}),z.object({type:z.enum(APP_EXTENSION_TYPES),name:z.string(),source:z.string()}),z.object({type:z.enum(HYBRID_EXTENSION_TYPES),name:z.string(),source:SplitEntrypoint})]),ExtensionOptionsBase=z.object({host:z.string(),hidden:z.boolean().optional()}),ExtensionOptionsApp=z.object({type:z.enum(APP_EXTENSION_TYPES),path:z.string(),source:z.string()}),ExtensionOptionsApi=z.object({type:z.enum(API_EXTENSION_TYPES),path:z.string(),source:z.string(),sandbox:ExtensionSandboxOptions}),ExtensionOptionsHybrid=z.object({type:z.enum(HYBRID_EXTENSION_TYPES),path:SplitEntrypoint,source:SplitEntrypoint,sandbox:ExtensionSandboxOptions}),ExtensionOptionsBundle=z.object({type:z.literal("bundle"),partial:z.boolean().optional(),path:SplitEntrypoint,entries:z.array(ExtensionOptionsBundleEntry)}),ExtensionOptionsBundleEntries=z.array(ExtensionOptionsBundleEntry),ExtensionOptions=ExtensionOptionsBase.and(z.union([ExtensionOptionsApp,ExtensionOptionsApi,ExtensionOptionsHybrid,ExtensionOptionsBundle])),ExtensionManifest=z.object({name:z.string(),version:z.string(),type:z.union([z.literal("module"),z.literal("commonjs")]).optional(),description:z.string().optional(),icon:z.string().optional(),dependencies:z.record(z.string(),z.string()).optional(),devDependencies:z.record(z.string(),z.string()).optional(),[EXTENSION_PKG_KEY]:ExtensionOptions});function defineInterface(n){return n}function defineDisplay(n){return n}function defineLayout(n){return n}function defineModule(n){return n}function definePanel(n){return n}function defineHook(n){return n}function defineEndpoint(n){return n}function defineOperationApp(n){return n}function defineOperationApi(n){return n}export{API_EXTENSION_TYPES,API_SHARED_DEPS,APP_EXTENSION_TYPES,APP_OR_HYBRID_EXTENSION_PACKAGE_TYPES,APP_OR_HYBRID_EXTENSION_TYPES,APP_SHARED_DEPS,BUNDLE_EXTENSION_TYPES,EXTENSION_LANGUAGES,EXTENSION_PKG_KEY,EXTENSION_TYPES,ExtensionManifest,ExtensionOptions,ExtensionOptionsApi,ExtensionOptionsApp,ExtensionOptionsBase,ExtensionOptionsBundle,ExtensionOptionsBundleEntries,ExtensionOptionsBundleEntry,ExtensionOptionsHybrid,ExtensionSandboxOptions,ExtensionSandboxRequestedScopes,HYBRID_EXTENSION_TYPES,NESTED_EXTENSION_TYPES,SplitEntrypoint,defineDisplay,defineEndpoint,defineHook,defineInterface,defineLayout,defineModule,defineOperationApi,defineOperationApp,definePanel};
//# sourceMappingURL=/sm/ee501859601de3d8374af9b6496f50c6e5890c3670a271edf1eef29480947950.map