@veecode-platform/plugin-veecode-homepage-dynamic 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-scalprum/plugin-manifest.json +3 -3
- package/dist-scalprum/static/{4327.bbda4e4c.chunk.js → 4327.1a031031.chunk.js} +2 -2
- package/dist-scalprum/static/{4327.bbda4e4c.chunk.js.map → 4327.1a031031.chunk.js.map} +1 -1
- package/dist-scalprum/static/{5689.ba470bd3.chunk.js → 5689.44adcfd6.chunk.js} +1 -1
- package/dist-scalprum/static/{5689.ba470bd3.chunk.js.map → 5689.44adcfd6.chunk.js.map} +1 -1
- package/dist-scalprum/static/{8505.bd5ab33a.chunk.js → 8505.9dd864c9.chunk.js} +1 -1
- package/dist-scalprum/static/{8505.bd5ab33a.chunk.js.map → 8505.9dd864c9.chunk.js.map} +1 -1
- package/dist-scalprum/static/{9286.0bf88601.chunk.js → 9286.e13da971.chunk.js} +2 -2
- package/dist-scalprum/static/{9286.0bf88601.chunk.js.map → 9286.e13da971.chunk.js.map} +1 -1
- package/dist-scalprum/static/avatar.82d1e940..svg +1 -0
- package/dist-scalprum/{veecode-platform.plugin-veecode-homepage.3e373113bddaa04ee494.js → veecode-platform.plugin-veecode-homepage.0adabea53a5aa82d663c.js} +2 -2
- package/dist-scalprum/{veecode-platform.plugin-veecode-homepage.3e373113bddaa04ee494.js.map → veecode-platform.plugin-veecode-homepage.0adabea53a5aa82d663c.js.map} +1 -1
- package/package.json +1 -1
- package/dist-scalprum/static/avatar.ab2c97e7..svg +0 -1
- /package/dist-scalprum/static/{9286.0bf88601.chunk.js.LICENSE.txt → 9286.e13da971.chunk.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"static/8505.bd5ab33a.chunk.js","mappings":"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","sources":["webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/apis/definitions/ErrorApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/analytics/AnalyticsContext.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AnalyticsApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/analytics/Tracker.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/analytics/useAnalytics.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AppTreeApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/ComponentsApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/IconsApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/DialogApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/RouteResolutionApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/Options.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/errorMessages.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/branded.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/date.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/string.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/record.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/union.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/object.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/selectParser.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/number.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/null.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/array.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/literal.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/enum.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/optional.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/map.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/set.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/promise.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/never.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/effects.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/default.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/catch.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parseDef.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/index.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/Refs.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionDataRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/createExtensionDataContainer.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveInputOverrides.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/schema/createSchemaFromZod.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/opaque-internal/src/OpaqueType.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalExtensionDefinition.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtension.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/ApiBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/coreExtensionData.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootElementBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootWrapperBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/IconBundleBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavItemBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavLogoBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/ErrorBoundary.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/createComponentRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/core-plugin-api/src/analytics/Tracker.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/coreComponentRefs.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/AppNodeProvider.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/ExtensionBoundary.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/PageBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/RouterBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/SignInPageBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/ThemeBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/TranslationBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/extensions/createComponentExtension.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/describeParentCallSite.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/RouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/SubRouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/ExternalRouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRefParams.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/TranslationMessages.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/TranslationResource.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/TranslationRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/useTranslationRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionInput.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveExtensionDefinition.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalFrontendPlugin.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendPlugin.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendModule.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendFeatureLoader.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/apis/system/useApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/apis/system/ApiRef.esm.js"],"sourcesContent":["import 'react/jsx-runtime';\nimport '@backstage/version-bridge';\nimport '@backstage/errors';\nimport { createApiRef } from '../system/ApiRef.esm.js';\n\nconst errorApiRef = createApiRef({\n id: \"core.error\"\n});\n\nexport { errorApiRef };\n//# sourceMappingURL=ErrorApi.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, createVersionedValueMap } from '@backstage/version-bridge';\nimport { useContext } from 'react';\n\nconst AnalyticsReactContext = createVersionedContext(\"analytics-context\");\nconst useAnalyticsContext = () => {\n const theContext = useContext(AnalyticsReactContext);\n if (theContext === void 0) {\n return {\n pluginId: \"app\",\n extensionId: \"app\"\n };\n }\n const theValue = theContext.atVersion(1);\n if (theValue === void 0) {\n throw new Error(\"No context found for version 1.\");\n }\n return theValue;\n};\nconst AnalyticsContext = (options) => {\n const { attributes, children } = options;\n const parentValues = useAnalyticsContext();\n const combinedValue = {\n ...parentValues,\n ...attributes\n };\n const versionedCombinedValue = createVersionedValueMap({ 1: combinedValue });\n return /* @__PURE__ */ jsx(AnalyticsReactContext.Provider, { value: versionedCombinedValue, children });\n};\n\nexport { AnalyticsContext, useAnalyticsContext };\n//# sourceMappingURL=AnalyticsContext.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst analyticsApiRef = createApiRef({\n id: \"core.analytics\"\n});\n\nexport { analyticsApiRef };\n//# sourceMappingURL=AnalyticsApi.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\nconst globalEvents = getOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\nclass Tracker {\n constructor(analyticsApi, context = {\n pluginId: \"root\",\n extensionId: \"App\"\n }) {\n this.analyticsApi = analyticsApi;\n this.context = context;\n if (!globalEvents.beforeUnloadRegistered) {\n addEventListener(\n \"beforeunload\",\n () => {\n if (globalEvents.mostRecentGatheredNavigation) {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n },\n { once: true, passive: true }\n );\n globalEvents.beforeUnloadRegistered = true;\n }\n }\n setContext(context) {\n this.context = context;\n }\n captureEvent(action, subject, {\n value,\n attributes\n } = {}) {\n const context = this.context;\n if (action === routableExtensionRenderedEvent) {\n if (globalEvents.mostRecentGatheredNavigation) {\n globalEvents.mostRecentRoutableExtensionRender = {\n context: {\n ...context,\n extensionId: \"App\"\n }\n };\n }\n return;\n }\n if (globalEvents.mostRecentGatheredNavigation) {\n try {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n if (action === \"navigate\" && context.pluginId === \"root\") {\n globalEvents.mostRecentGatheredNavigation = {\n action,\n subject,\n value,\n attributes,\n context\n };\n return;\n }\n try {\n this.analyticsApi.captureEvent({\n action,\n subject,\n value,\n attributes,\n context\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n }\n}\n\nexport { Tracker, routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { useApi } from '@backstage/core-plugin-api';\nimport { useAnalyticsContext } from './AnalyticsContext.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '../apis/definitions/ComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport { analyticsApiRef } from '../apis/definitions/AnalyticsApi.esm.js';\nimport { useRef } from 'react';\nimport { Tracker } from './Tracker.esm.js';\n\nfunction useAnalyticsApi() {\n try {\n return useApi(analyticsApiRef);\n } catch (error) {\n if (error.name === \"NotImplementedError\") {\n return { captureEvent: () => {\n } };\n }\n throw error;\n }\n}\nfunction useAnalytics() {\n const trackerRef = useRef(null);\n const context = useAnalyticsContext();\n const analyticsApi = useAnalyticsApi();\n function getTracker() {\n if (trackerRef.current === null) {\n trackerRef.current = new Tracker(analyticsApi);\n }\n return trackerRef.current;\n }\n const tracker = getTracker();\n tracker.setContext(context);\n return tracker;\n}\n\nexport { useAnalytics };\n//# sourceMappingURL=useAnalytics.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst appTreeApiRef = createApiRef({ id: \"core.app-tree\" });\n\nexport { appTreeApiRef };\n//# sourceMappingURL=AppTreeApi.esm.js.map\n","import { createApiRef, useApi } from '@backstage/core-plugin-api';\n\nconst componentsApiRef = createApiRef({\n id: \"core.components\"\n});\nfunction useComponentRef(ref) {\n const componentsApi = useApi(componentsApiRef);\n return componentsApi.getComponent(ref);\n}\n\nexport { componentsApiRef, useComponentRef };\n//# sourceMappingURL=ComponentsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst iconsApiRef = createApiRef({\n id: \"core.icons\"\n});\n\nexport { iconsApiRef };\n//# sourceMappingURL=IconsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst dialogApiRef = createApiRef({\n id: \"core.dialog\"\n});\n\nexport { dialogApiRef };\n//# sourceMappingURL=DialogApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst routeResolutionApiRef = createApiRef({\n id: \"core.route-resolution\"\n});\n\nexport { routeResolutionApiRef };\n//# sourceMappingURL=RouteResolutionApi.esm.js.map\n","export const ignoreOverride = Symbol(\"Let zodToJsonSchema decide on which parser to use\");\nexport const jsonDescription = (jsonSchema, def) => {\n if (def.description) {\n try {\n return {\n ...jsonSchema,\n ...JSON.parse(def.description),\n };\n }\n catch { }\n }\n return jsonSchema;\n};\nexport const defaultOptions = {\n name: undefined,\n $refStrategy: \"root\",\n basePath: [\"#\"],\n effectStrategy: \"input\",\n pipeStrategy: \"all\",\n dateStrategy: \"format:date-time\",\n mapStrategy: \"entries\",\n removeAdditionalStrategy: \"passthrough\",\n allowedAdditionalProperties: true,\n rejectedAdditionalProperties: false,\n definitionPath: \"definitions\",\n target: \"jsonSchema7\",\n strictUnions: false,\n definitions: {},\n errorMessages: false,\n markdownDescription: false,\n patternStrategy: \"escape\",\n applyRegexFlags: false,\n emailStrategy: \"format:email\",\n base64Strategy: \"contentEncoding:base64\",\n nameStrategy: \"ref\",\n};\nexport const getDefaultOptions = (options) => (typeof options === \"string\"\n ? {\n ...defaultOptions,\n name: options,\n }\n : {\n ...defaultOptions,\n ...options,\n });\n","export function addErrorMessage(res, key, errorMessage, refs) {\n if (!refs?.errorMessages)\n return;\n if (errorMessage) {\n res.errorMessage = {\n ...res.errorMessage,\n [key]: errorMessage,\n };\n }\n}\nexport function setResponseValueAndErrors(res, key, value, errorMessage, refs) {\n res[key] = value;\n addErrorMessage(res, key, errorMessage, refs);\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseBrandedDef(_def, refs) {\n return parseDef(_def.type._def, refs);\n}\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nexport function parseDateDef(def, refs, overrideDateStrategy) {\n const strategy = overrideDateStrategy ?? refs.dateStrategy;\n if (Array.isArray(strategy)) {\n return {\n anyOf: strategy.map((item, i) => parseDateDef(def, refs, item)),\n };\n }\n switch (strategy) {\n case \"string\":\n case \"format:date-time\":\n return {\n type: \"string\",\n format: \"date-time\",\n };\n case \"format:date\":\n return {\n type: \"string\",\n format: \"date\",\n };\n case \"integer\":\n return integerDateParser(def, refs);\n }\n}\nconst integerDateParser = (def, refs) => {\n const res = {\n type: \"integer\",\n format: \"unix-time\",\n };\n if (refs.target === \"openApi3\") {\n return res;\n }\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n setResponseValueAndErrors(res, \"minimum\", check.value, // This is in milliseconds\n check.message, refs);\n break;\n case \"max\":\n setResponseValueAndErrors(res, \"maximum\", check.value, // This is in milliseconds\n check.message, refs);\n break;\n }\n }\n return res;\n};\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nlet emojiRegex = undefined;\n/**\n * Generated from the regular expressions found here as of 2024-05-22:\n * https://github.com/colinhacks/zod/blob/master/src/types.ts.\n *\n * Expressions with /i flag have been changed accordingly.\n */\nexport const zodPatterns = {\n /**\n * `c` was changed to `[cC]` to replicate /i flag\n */\n cuid: /^[cC][^\\s-]{8,}$/,\n cuid2: /^[0-9a-z]+$/,\n ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,\n /**\n * `a-z` was added to replicate /i flag\n */\n email: /^(?!\\.)(?!.*\\.\\.)([a-zA-Z0-9_'+\\-\\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\\-]*\\.)+[a-zA-Z]{2,}$/,\n /**\n * Constructed a valid Unicode RegExp\n *\n * Lazily instantiate since this type of regex isn't supported\n * in all envs (e.g. React Native).\n *\n * See:\n * https://github.com/colinhacks/zod/issues/2433\n * Fix in Zod:\n * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b\n */\n emoji: () => {\n if (emojiRegex === undefined) {\n emojiRegex = RegExp(\"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\", \"u\");\n }\n return emojiRegex;\n },\n /**\n * Unused\n */\n uuid: /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/,\n /**\n * Unused\n */\n ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,\n ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/,\n /**\n * Unused\n */\n ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,\n ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,\n base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,\n base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,\n nanoid: /^[a-zA-Z0-9_-]{21}$/,\n jwt: /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/,\n};\nexport function parseStringDef(def, refs) {\n const res = {\n type: \"string\",\n };\n if (def.checks) {\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n setResponseValueAndErrors(res, \"minLength\", typeof res.minLength === \"number\"\n ? Math.max(res.minLength, check.value)\n : check.value, check.message, refs);\n break;\n case \"max\":\n setResponseValueAndErrors(res, \"maxLength\", typeof res.maxLength === \"number\"\n ? Math.min(res.maxLength, check.value)\n : check.value, check.message, refs);\n break;\n case \"email\":\n switch (refs.emailStrategy) {\n case \"format:email\":\n addFormat(res, \"email\", check.message, refs);\n break;\n case \"format:idn-email\":\n addFormat(res, \"idn-email\", check.message, refs);\n break;\n case \"pattern:zod\":\n addPattern(res, zodPatterns.email, check.message, refs);\n break;\n }\n break;\n case \"url\":\n addFormat(res, \"uri\", check.message, refs);\n break;\n case \"uuid\":\n addFormat(res, \"uuid\", check.message, refs);\n break;\n case \"regex\":\n addPattern(res, check.regex, check.message, refs);\n break;\n case \"cuid\":\n addPattern(res, zodPatterns.cuid, check.message, refs);\n break;\n case \"cuid2\":\n addPattern(res, zodPatterns.cuid2, check.message, refs);\n break;\n case \"startsWith\":\n addPattern(res, RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`), check.message, refs);\n break;\n case \"endsWith\":\n addPattern(res, RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`), check.message, refs);\n break;\n case \"datetime\":\n addFormat(res, \"date-time\", check.message, refs);\n break;\n case \"date\":\n addFormat(res, \"date\", check.message, refs);\n break;\n case \"time\":\n addFormat(res, \"time\", check.message, refs);\n break;\n case \"duration\":\n addFormat(res, \"duration\", check.message, refs);\n break;\n case \"length\":\n setResponseValueAndErrors(res, \"minLength\", typeof res.minLength === \"number\"\n ? Math.max(res.minLength, check.value)\n : check.value, check.message, refs);\n setResponseValueAndErrors(res, \"maxLength\", typeof res.maxLength === \"number\"\n ? Math.min(res.maxLength, check.value)\n : check.value, check.message, refs);\n break;\n case \"includes\": {\n addPattern(res, RegExp(escapeLiteralCheckValue(check.value, refs)), check.message, refs);\n break;\n }\n case \"ip\": {\n if (check.version !== \"v6\") {\n addFormat(res, \"ipv4\", check.message, refs);\n }\n if (check.version !== \"v4\") {\n addFormat(res, \"ipv6\", check.message, refs);\n }\n break;\n }\n case \"base64url\":\n addPattern(res, zodPatterns.base64url, check.message, refs);\n break;\n case \"jwt\":\n addPattern(res, zodPatterns.jwt, check.message, refs);\n break;\n case \"cidr\": {\n if (check.version !== \"v6\") {\n addPattern(res, zodPatterns.ipv4Cidr, check.message, refs);\n }\n if (check.version !== \"v4\") {\n addPattern(res, zodPatterns.ipv6Cidr, check.message, refs);\n }\n break;\n }\n case \"emoji\":\n addPattern(res, zodPatterns.emoji(), check.message, refs);\n break;\n case \"ulid\": {\n addPattern(res, zodPatterns.ulid, check.message, refs);\n break;\n }\n case \"base64\": {\n switch (refs.base64Strategy) {\n case \"format:binary\": {\n addFormat(res, \"binary\", check.message, refs);\n break;\n }\n case \"contentEncoding:base64\": {\n setResponseValueAndErrors(res, \"contentEncoding\", \"base64\", check.message, refs);\n break;\n }\n case \"pattern:zod\": {\n addPattern(res, zodPatterns.base64, check.message, refs);\n break;\n }\n }\n break;\n }\n case \"nanoid\": {\n addPattern(res, zodPatterns.nanoid, check.message, refs);\n }\n case \"toLowerCase\":\n case \"toUpperCase\":\n case \"trim\":\n break;\n default:\n /* c8 ignore next */\n ((_) => { })(check);\n }\n }\n }\n return res;\n}\nfunction escapeLiteralCheckValue(literal, refs) {\n return refs.patternStrategy === \"escape\"\n ? escapeNonAlphaNumeric(literal)\n : literal;\n}\nconst ALPHA_NUMERIC = new Set(\"ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789\");\nfunction escapeNonAlphaNumeric(source) {\n let result = \"\";\n for (let i = 0; i < source.length; i++) {\n if (!ALPHA_NUMERIC.has(source[i])) {\n result += \"\\\\\";\n }\n result += source[i];\n }\n return result;\n}\n// Adds a \"format\" keyword to the schema. If a format exists, both formats will be joined in an allOf-node, along with subsequent ones.\nfunction addFormat(schema, value, message, refs) {\n if (schema.format || schema.anyOf?.some((x) => x.format)) {\n if (!schema.anyOf) {\n schema.anyOf = [];\n }\n if (schema.format) {\n schema.anyOf.push({\n format: schema.format,\n ...(schema.errorMessage &&\n refs.errorMessages && {\n errorMessage: { format: schema.errorMessage.format },\n }),\n });\n delete schema.format;\n if (schema.errorMessage) {\n delete schema.errorMessage.format;\n if (Object.keys(schema.errorMessage).length === 0) {\n delete schema.errorMessage;\n }\n }\n }\n schema.anyOf.push({\n format: value,\n ...(message &&\n refs.errorMessages && { errorMessage: { format: message } }),\n });\n }\n else {\n setResponseValueAndErrors(schema, \"format\", value, message, refs);\n }\n}\n// Adds a \"pattern\" keyword to the schema. If a pattern exists, both patterns will be joined in an allOf-node, along with subsequent ones.\nfunction addPattern(schema, regex, message, refs) {\n if (schema.pattern || schema.allOf?.some((x) => x.pattern)) {\n if (!schema.allOf) {\n schema.allOf = [];\n }\n if (schema.pattern) {\n schema.allOf.push({\n pattern: schema.pattern,\n ...(schema.errorMessage &&\n refs.errorMessages && {\n errorMessage: { pattern: schema.errorMessage.pattern },\n }),\n });\n delete schema.pattern;\n if (schema.errorMessage) {\n delete schema.errorMessage.pattern;\n if (Object.keys(schema.errorMessage).length === 0) {\n delete schema.errorMessage;\n }\n }\n }\n schema.allOf.push({\n pattern: stringifyRegExpWithFlags(regex, refs),\n ...(message &&\n refs.errorMessages && { errorMessage: { pattern: message } }),\n });\n }\n else {\n setResponseValueAndErrors(schema, \"pattern\", stringifyRegExpWithFlags(regex, refs), message, refs);\n }\n}\n// Mutate z.string.regex() in a best attempt to accommodate for regex flags when applyRegexFlags is true\nfunction stringifyRegExpWithFlags(regex, refs) {\n if (!refs.applyRegexFlags || !regex.flags) {\n return regex.source;\n }\n // Currently handled flags\n const flags = {\n i: regex.flags.includes(\"i\"),\n m: regex.flags.includes(\"m\"),\n s: regex.flags.includes(\"s\"), // `.` matches newlines\n };\n // The general principle here is to step through each character, one at a time, applying mutations as flags require. We keep track when the current character is escaped, and when it's inside a group /like [this]/ or (also) a range like /[a-z]/. The following is fairly brittle imperative code; edit at your peril!\n const source = flags.i ? regex.source.toLowerCase() : regex.source;\n let pattern = \"\";\n let isEscaped = false;\n let inCharGroup = false;\n let inCharRange = false;\n for (let i = 0; i < source.length; i++) {\n if (isEscaped) {\n pattern += source[i];\n isEscaped = false;\n continue;\n }\n if (flags.i) {\n if (inCharGroup) {\n if (source[i].match(/[a-z]/)) {\n if (inCharRange) {\n pattern += source[i];\n pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();\n inCharRange = false;\n }\n else if (source[i + 1] === \"-\" && source[i + 2]?.match(/[a-z]/)) {\n pattern += source[i];\n inCharRange = true;\n }\n else {\n pattern += `${source[i]}${source[i].toUpperCase()}`;\n }\n continue;\n }\n }\n else if (source[i].match(/[a-z]/)) {\n pattern += `[${source[i]}${source[i].toUpperCase()}]`;\n continue;\n }\n }\n if (flags.m) {\n if (source[i] === \"^\") {\n pattern += `(^|(?<=[\\r\\n]))`;\n continue;\n }\n else if (source[i] === \"$\") {\n pattern += `($|(?=[\\r\\n]))`;\n continue;\n }\n }\n if (flags.s && source[i] === \".\") {\n pattern += inCharGroup ? `${source[i]}\\r\\n` : `[${source[i]}\\r\\n]`;\n continue;\n }\n pattern += source[i];\n if (source[i] === \"\\\\\") {\n isEscaped = true;\n }\n else if (inCharGroup && source[i] === \"]\") {\n inCharGroup = false;\n }\n else if (!inCharGroup && source[i] === \"[\") {\n inCharGroup = true;\n }\n }\n try {\n new RegExp(pattern);\n }\n catch {\n console.warn(`Could not convert regex pattern at ${refs.currentPath.join(\"/\")} to a flag-independent form! Falling back to the flag-ignorant source`);\n return regex.source;\n }\n return pattern;\n}\n","import { ZodFirstPartyTypeKind, } from \"zod\";\nimport { parseDef } from \"../parseDef.js\";\nimport { parseStringDef } from \"./string.js\";\nimport { parseBrandedDef } from \"./branded.js\";\nexport function parseRecordDef(def, refs) {\n if (refs.target === \"openAi\") {\n console.warn(\"Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.\");\n }\n if (refs.target === \"openApi3\" &&\n def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {\n return {\n type: \"object\",\n required: def.keyType._def.values,\n properties: def.keyType._def.values.reduce((acc, key) => ({\n ...acc,\n [key]: parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"properties\", key],\n }) ?? {},\n }), {}),\n additionalProperties: refs.rejectedAdditionalProperties,\n };\n }\n const schema = {\n type: \"object\",\n additionalProperties: parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalProperties\"],\n }) ?? refs.allowedAdditionalProperties,\n };\n if (refs.target === \"openApi3\") {\n return schema;\n }\n if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodString &&\n def.keyType._def.checks?.length) {\n const { type, ...keyType } = parseStringDef(def.keyType._def, refs);\n return {\n ...schema,\n propertyNames: keyType,\n };\n }\n else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {\n return {\n ...schema,\n propertyNames: {\n enum: def.keyType._def.values,\n },\n };\n }\n else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodBranded &&\n def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind.ZodString &&\n def.keyType._def.type._def.checks?.length) {\n const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs);\n return {\n ...schema,\n propertyNames: keyType,\n };\n }\n return schema;\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const primitiveMappings = {\n ZodString: \"string\",\n ZodNumber: \"number\",\n ZodBigInt: \"integer\",\n ZodBoolean: \"boolean\",\n ZodNull: \"null\",\n};\nexport function parseUnionDef(def, refs) {\n if (refs.target === \"openApi3\")\n return asAnyOf(def, refs);\n const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;\n // This blocks tries to look ahead a bit to produce nicer looking schemas with type array instead of anyOf.\n if (options.every((x) => x._def.typeName in primitiveMappings &&\n (!x._def.checks || !x._def.checks.length))) {\n // all types in union are primitive and lack checks, so might as well squash into {type: [...]}\n const types = options.reduce((types, x) => {\n const type = primitiveMappings[x._def.typeName]; //Can be safely casted due to row 43\n return type && !types.includes(type) ? [...types, type] : types;\n }, []);\n return {\n type: types.length > 1 ? types : types[0],\n };\n }\n else if (options.every((x) => x._def.typeName === \"ZodLiteral\" && !x.description)) {\n // all options literals\n const types = options.reduce((acc, x) => {\n const type = typeof x._def.value;\n switch (type) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n return [...acc, type];\n case \"bigint\":\n return [...acc, \"integer\"];\n case \"object\":\n if (x._def.value === null)\n return [...acc, \"null\"];\n case \"symbol\":\n case \"undefined\":\n case \"function\":\n default:\n return acc;\n }\n }, []);\n if (types.length === options.length) {\n // all the literals are primitive, as far as null can be considered primitive\n const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i);\n return {\n type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],\n enum: options.reduce((acc, x) => {\n return acc.includes(x._def.value) ? acc : [...acc, x._def.value];\n }, []),\n };\n }\n }\n else if (options.every((x) => x._def.typeName === \"ZodEnum\")) {\n return {\n type: \"string\",\n enum: options.reduce((acc, x) => [\n ...acc,\n ...x._def.values.filter((x) => !acc.includes(x)),\n ], []),\n };\n }\n return asAnyOf(def, refs);\n}\nconst asAnyOf = (def, refs) => {\n const anyOf = (def.options instanceof Map\n ? Array.from(def.options.values())\n : def.options)\n .map((x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", `${i}`],\n }))\n .filter((x) => !!x &&\n (!refs.strictUnions ||\n (typeof x === \"object\" && Object.keys(x).length > 0)));\n return anyOf.length ? { anyOf } : undefined;\n};\n","import { ZodOptional } from \"zod\";\nimport { parseDef } from \"../parseDef.js\";\nexport function parseObjectDef(def, refs) {\n const forceOptionalIntoNullable = refs.target === \"openAi\";\n const result = {\n type: \"object\",\n properties: {},\n };\n const required = [];\n const shape = def.shape();\n for (const propName in shape) {\n let propDef = shape[propName];\n if (propDef === undefined || propDef._def === undefined) {\n continue;\n }\n let propOptional = safeIsOptional(propDef);\n if (propOptional && forceOptionalIntoNullable) {\n if (propDef instanceof ZodOptional) {\n propDef = propDef._def.innerType;\n }\n if (!propDef.isNullable()) {\n propDef = propDef.nullable();\n }\n propOptional = false;\n }\n const parsedDef = parseDef(propDef._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"properties\", propName],\n propertyPath: [...refs.currentPath, \"properties\", propName],\n });\n if (parsedDef === undefined) {\n continue;\n }\n result.properties[propName] = parsedDef;\n if (!propOptional) {\n required.push(propName);\n }\n }\n if (required.length) {\n result.required = required;\n }\n const additionalProperties = decideAdditionalProperties(def, refs);\n if (additionalProperties !== undefined) {\n result.additionalProperties = additionalProperties;\n }\n return result;\n}\nfunction decideAdditionalProperties(def, refs) {\n if (def.catchall._def.typeName !== \"ZodNever\") {\n return parseDef(def.catchall._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalProperties\"],\n });\n }\n switch (def.unknownKeys) {\n case \"passthrough\":\n return refs.allowedAdditionalProperties;\n case \"strict\":\n return refs.rejectedAdditionalProperties;\n case \"strip\":\n return refs.removeAdditionalStrategy === \"strict\"\n ? refs.allowedAdditionalProperties\n : refs.rejectedAdditionalProperties;\n }\n}\nfunction safeIsOptional(schema) {\n try {\n return schema.isOptional();\n }\n catch {\n return true;\n }\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const parseReadonlyDef = (def, refs) => {\n return parseDef(def.innerType._def, refs);\n};\n","import { ZodFirstPartyTypeKind } from \"zod\";\nimport { parseAnyDef } from \"./parsers/any.js\";\nimport { parseArrayDef } from \"./parsers/array.js\";\nimport { parseBigintDef } from \"./parsers/bigint.js\";\nimport { parseBooleanDef } from \"./parsers/boolean.js\";\nimport { parseBrandedDef } from \"./parsers/branded.js\";\nimport { parseCatchDef } from \"./parsers/catch.js\";\nimport { parseDateDef } from \"./parsers/date.js\";\nimport { parseDefaultDef } from \"./parsers/default.js\";\nimport { parseEffectsDef } from \"./parsers/effects.js\";\nimport { parseEnumDef } from \"./parsers/enum.js\";\nimport { parseIntersectionDef } from \"./parsers/intersection.js\";\nimport { parseLiteralDef } from \"./parsers/literal.js\";\nimport { parseMapDef } from \"./parsers/map.js\";\nimport { parseNativeEnumDef } from \"./parsers/nativeEnum.js\";\nimport { parseNeverDef } from \"./parsers/never.js\";\nimport { parseNullDef } from \"./parsers/null.js\";\nimport { parseNullableDef } from \"./parsers/nullable.js\";\nimport { parseNumberDef } from \"./parsers/number.js\";\nimport { parseObjectDef } from \"./parsers/object.js\";\nimport { parseOptionalDef } from \"./parsers/optional.js\";\nimport { parsePipelineDef } from \"./parsers/pipeline.js\";\nimport { parsePromiseDef } from \"./parsers/promise.js\";\nimport { parseRecordDef } from \"./parsers/record.js\";\nimport { parseSetDef } from \"./parsers/set.js\";\nimport { parseStringDef } from \"./parsers/string.js\";\nimport { parseTupleDef } from \"./parsers/tuple.js\";\nimport { parseUndefinedDef } from \"./parsers/undefined.js\";\nimport { parseUnionDef } from \"./parsers/union.js\";\nimport { parseUnknownDef } from \"./parsers/unknown.js\";\nimport { parseReadonlyDef } from \"./parsers/readonly.js\";\nexport const selectParser = (def, typeName, refs) => {\n switch (typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return parseStringDef(def, refs);\n case ZodFirstPartyTypeKind.ZodNumber:\n return parseNumberDef(def, refs);\n case ZodFirstPartyTypeKind.ZodObject:\n return parseObjectDef(def, refs);\n case ZodFirstPartyTypeKind.ZodBigInt:\n return parseBigintDef(def, refs);\n case ZodFirstPartyTypeKind.ZodBoolean:\n return parseBooleanDef();\n case ZodFirstPartyTypeKind.ZodDate:\n return parseDateDef(def, refs);\n case ZodFirstPartyTypeKind.ZodUndefined:\n return parseUndefinedDef();\n case ZodFirstPartyTypeKind.ZodNull:\n return parseNullDef(refs);\n case ZodFirstPartyTypeKind.ZodArray:\n return parseArrayDef(def, refs);\n case ZodFirstPartyTypeKind.ZodUnion:\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:\n return parseUnionDef(def, refs);\n case ZodFirstPartyTypeKind.ZodIntersection:\n return parseIntersectionDef(def, refs);\n case ZodFirstPartyTypeKind.ZodTuple:\n return parseTupleDef(def, refs);\n case ZodFirstPartyTypeKind.ZodRecord:\n return parseRecordDef(def, refs);\n case ZodFirstPartyTypeKind.ZodLiteral:\n return parseLiteralDef(def, refs);\n case ZodFirstPartyTypeKind.ZodEnum:\n return parseEnumDef(def);\n case ZodFirstPartyTypeKind.ZodNativeEnum:\n return parseNativeEnumDef(def);\n case ZodFirstPartyTypeKind.ZodNullable:\n return parseNullableDef(def, refs);\n case ZodFirstPartyTypeKind.ZodOptional:\n return parseOptionalDef(def, refs);\n case ZodFirstPartyTypeKind.ZodMap:\n return parseMapDef(def, refs);\n case ZodFirstPartyTypeKind.ZodSet:\n return parseSetDef(def, refs);\n case ZodFirstPartyTypeKind.ZodLazy:\n return () => def.getter()._def;\n case ZodFirstPartyTypeKind.ZodPromise:\n return parsePromiseDef(def, refs);\n case ZodFirstPartyTypeKind.ZodNaN:\n case ZodFirstPartyTypeKind.ZodNever:\n return parseNeverDef();\n case ZodFirstPartyTypeKind.ZodEffects:\n return parseEffectsDef(def, refs);\n case ZodFirstPartyTypeKind.ZodAny:\n return parseAnyDef();\n case ZodFirstPartyTypeKind.ZodUnknown:\n return parseUnknownDef();\n case ZodFirstPartyTypeKind.ZodDefault:\n return parseDefaultDef(def, refs);\n case ZodFirstPartyTypeKind.ZodBranded:\n return parseBrandedDef(def, refs);\n case ZodFirstPartyTypeKind.ZodReadonly:\n return parseReadonlyDef(def, refs);\n case ZodFirstPartyTypeKind.ZodCatch:\n return parseCatchDef(def, refs);\n case ZodFirstPartyTypeKind.ZodPipeline:\n return parsePipelineDef(def, refs);\n case ZodFirstPartyTypeKind.ZodFunction:\n case ZodFirstPartyTypeKind.ZodVoid:\n case ZodFirstPartyTypeKind.ZodSymbol:\n return undefined;\n default:\n /* c8 ignore next */\n return ((_) => undefined)(typeName);\n }\n};\n","import { addErrorMessage, setResponseValueAndErrors, } from \"../errorMessages.js\";\nexport function parseNumberDef(def, refs) {\n const res = {\n type: \"number\",\n };\n if (!def.checks)\n return res;\n for (const check of def.checks) {\n switch (check.kind) {\n case \"int\":\n res.type = \"integer\";\n addErrorMessage(res, \"type\", check.message, refs);\n break;\n case \"min\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMinimum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMinimum = true;\n }\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n break;\n case \"max\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMaximum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMaximum = true;\n }\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n break;\n case \"multipleOf\":\n setResponseValueAndErrors(res, \"multipleOf\", check.value, check.message, refs);\n break;\n }\n }\n return res;\n}\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nexport function parseBigintDef(def, refs) {\n const res = {\n type: \"integer\",\n format: \"int64\",\n };\n if (!def.checks)\n return res;\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMinimum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMinimum = true;\n }\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n break;\n case \"max\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMaximum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMaximum = true;\n }\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n break;\n case \"multipleOf\":\n setResponseValueAndErrors(res, \"multipleOf\", check.value, check.message, refs);\n break;\n }\n }\n return res;\n}\n","export function parseBooleanDef() {\n return {\n type: \"boolean\",\n };\n}\n","export function parseUndefinedDef() {\n return {\n not: {},\n };\n}\n","export function parseNullDef(refs) {\n return refs.target === \"openApi3\"\n ? {\n enum: [\"null\"],\n nullable: true,\n }\n : {\n type: \"null\",\n };\n}\n","import { ZodFirstPartyTypeKind } from \"zod\";\nimport { setResponseValueAndErrors } from \"../errorMessages.js\";\nimport { parseDef } from \"../parseDef.js\";\nexport function parseArrayDef(def, refs) {\n const res = {\n type: \"array\",\n };\n if (def.type?._def &&\n def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {\n res.items = parseDef(def.type._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"],\n });\n }\n if (def.minLength) {\n setResponseValueAndErrors(res, \"minItems\", def.minLength.value, def.minLength.message, refs);\n }\n if (def.maxLength) {\n setResponseValueAndErrors(res, \"maxItems\", def.maxLength.value, def.maxLength.message, refs);\n }\n if (def.exactLength) {\n setResponseValueAndErrors(res, \"minItems\", def.exactLength.value, def.exactLength.message, refs);\n setResponseValueAndErrors(res, \"maxItems\", def.exactLength.value, def.exactLength.message, refs);\n }\n return res;\n}\n","import { parseDef } from \"../parseDef.js\";\nconst isJsonSchema7AllOfType = (type) => {\n if (\"type\" in type && type.type === \"string\")\n return false;\n return \"allOf\" in type;\n};\nexport function parseIntersectionDef(def, refs) {\n const allOf = [\n parseDef(def.left._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"0\"],\n }),\n parseDef(def.right._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"1\"],\n }),\n ].filter((x) => !!x);\n let unevaluatedProperties = refs.target === \"jsonSchema2019-09\"\n ? { unevaluatedProperties: false }\n : undefined;\n const mergedAllOf = [];\n // If either of the schemas is an allOf, merge them into a single allOf\n allOf.forEach((schema) => {\n if (isJsonSchema7AllOfType(schema)) {\n mergedAllOf.push(...schema.allOf);\n if (schema.unevaluatedProperties === undefined) {\n // If one of the schemas has no unevaluatedProperties set,\n // the merged schema should also have no unevaluatedProperties set\n unevaluatedProperties = undefined;\n }\n }\n else {\n let nestedSchema = schema;\n if (\"additionalProperties\" in schema &&\n schema.additionalProperties === false) {\n const { additionalProperties, ...rest } = schema;\n nestedSchema = rest;\n }\n else {\n // As soon as one of the schemas has additionalProperties set not to false, we allow unevaluatedProperties\n unevaluatedProperties = undefined;\n }\n mergedAllOf.push(nestedSchema);\n }\n });\n return mergedAllOf.length\n ? {\n allOf: mergedAllOf,\n ...unevaluatedProperties,\n }\n : undefined;\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseTupleDef(def, refs) {\n if (def.rest) {\n return {\n type: \"array\",\n minItems: def.items.length,\n items: def.items\n .map((x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", `${i}`],\n }))\n .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),\n additionalItems: parseDef(def.rest._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalItems\"],\n }),\n };\n }\n else {\n return {\n type: \"array\",\n minItems: def.items.length,\n maxItems: def.items.length,\n items: def.items\n .map((x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", `${i}`],\n }))\n .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),\n };\n }\n}\n","export function parseLiteralDef(def, refs) {\n const parsedType = typeof def.value;\n if (parsedType !== \"bigint\" &&\n parsedType !== \"number\" &&\n parsedType !== \"boolean\" &&\n parsedType !== \"string\") {\n return {\n type: Array.isArray(def.value) ? \"array\" : \"object\",\n };\n }\n if (refs.target === \"openApi3\") {\n return {\n type: parsedType === \"bigint\" ? \"integer\" : parsedType,\n enum: [def.value],\n };\n }\n return {\n type: parsedType === \"bigint\" ? \"integer\" : parsedType,\n const: def.value,\n };\n}\n","export function parseEnumDef(def) {\n return {\n type: \"string\",\n enum: Array.from(def.values),\n };\n}\n","export function parseNativeEnumDef(def) {\n const object = def.values;\n const actualKeys = Object.keys(def.values).filter((key) => {\n return typeof object[object[key]] !== \"number\";\n });\n const actualValues = actualKeys.map((key) => object[key]);\n const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));\n return {\n type: parsedTypes.length === 1\n ? parsedTypes[0] === \"string\"\n ? \"string\"\n : \"number\"\n : [\"string\", \"number\"],\n enum: actualValues,\n };\n}\n","import { parseDef } from \"../parseDef.js\";\nimport { primitiveMappings } from \"./union.js\";\nexport function parseNullableDef(def, refs) {\n if ([\"ZodString\", \"ZodNumber\", \"ZodBigInt\", \"ZodBoolean\", \"ZodNull\"].includes(def.innerType._def.typeName) &&\n (!def.innerType._def.checks || !def.innerType._def.checks.length)) {\n if (refs.target === \"openApi3\") {\n return {\n type: primitiveMappings[def.innerType._def.typeName],\n nullable: true,\n };\n }\n return {\n type: [\n primitiveMappings[def.innerType._def.typeName],\n \"null\",\n ],\n };\n }\n if (refs.target === \"openApi3\") {\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath],\n });\n if (base && \"$ref\" in base)\n return { allOf: [base], nullable: true };\n return base && { ...base, nullable: true };\n }\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"0\"],\n });\n return base && { anyOf: [base, { type: \"null\" }] };\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const parseOptionalDef = (def, refs) => {\n if (refs.currentPath.toString() === refs.propertyPath?.toString()) {\n return parseDef(def.innerType._def, refs);\n }\n const innerSchema = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"1\"],\n });\n return innerSchema\n ? {\n anyOf: [\n {\n not: {},\n },\n innerSchema,\n ],\n }\n : {};\n};\n","import { parseDef } from \"../parseDef.js\";\nimport { parseRecordDef } from \"./record.js\";\nexport function parseMapDef(def, refs) {\n if (refs.mapStrategy === \"record\") {\n return parseRecordDef(def, refs);\n }\n const keys = parseDef(def.keyType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", \"items\", \"0\"],\n }) || {};\n const values = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", \"items\", \"1\"],\n }) || {};\n return {\n type: \"array\",\n maxItems: 125,\n items: {\n type: \"array\",\n items: [keys, values],\n minItems: 2,\n maxItems: 2,\n },\n };\n}\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nimport { parseDef } from \"../parseDef.js\";\nexport function parseSetDef(def, refs) {\n const items = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"],\n });\n const schema = {\n type: \"array\",\n uniqueItems: true,\n items,\n };\n if (def.minSize) {\n setResponseValueAndErrors(schema, \"minItems\", def.minSize.value, def.minSize.message, refs);\n }\n if (def.maxSize) {\n setResponseValueAndErrors(schema, \"maxItems\", def.maxSize.value, def.maxSize.message, refs);\n }\n return schema;\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parsePromiseDef(def, refs) {\n return parseDef(def.type._def, refs);\n}\n","export function parseNeverDef() {\n return {\n not: {},\n };\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseEffectsDef(_def, refs) {\n return refs.effectStrategy === \"input\"\n ? parseDef(_def.schema._def, refs)\n : {};\n}\n","export function parseUnknownDef() {\n return {};\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseDefaultDef(_def, refs) {\n return {\n ...parseDef(_def.innerType._def, refs),\n default: _def.defaultValue(),\n };\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const parseCatchDef = (def, refs) => {\n return parseDef(def.innerType._def, refs);\n};\n","import { parseDef } from \"../parseDef.js\";\nexport const parsePipelineDef = (def, refs) => {\n if (refs.pipeStrategy === \"input\") {\n return parseDef(def.in._def, refs);\n }\n else if (refs.pipeStrategy === \"output\") {\n return parseDef(def.out._def, refs);\n }\n const a = parseDef(def.in._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"0\"],\n });\n const b = parseDef(def.out._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", a ? \"1\" : \"0\"],\n });\n return {\n allOf: [a, b].filter((x) => x !== undefined),\n };\n};\n","import { ignoreOverride } from \"./Options.js\";\nimport { selectParser } from \"./selectParser.js\";\nexport function parseDef(def, refs, forceResolution = false) {\n const seenItem = refs.seen.get(def);\n if (refs.override) {\n const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);\n if (overrideResult !== ignoreOverride) {\n return overrideResult;\n }\n }\n if (seenItem && !forceResolution) {\n const seenSchema = get$ref(seenItem, refs);\n if (seenSchema !== undefined) {\n return seenSchema;\n }\n }\n const newItem = { def, path: refs.currentPath, jsonSchema: undefined };\n refs.seen.set(def, newItem);\n const jsonSchemaOrGetter = selectParser(def, def.typeName, refs);\n // If the return was a function, then the inner definition needs to be extracted before a call to parseDef (recursive)\n const jsonSchema = typeof jsonSchemaOrGetter === \"function\"\n ? parseDef(jsonSchemaOrGetter(), refs)\n : jsonSchemaOrGetter;\n if (jsonSchema) {\n addMeta(def, refs, jsonSchema);\n }\n if (refs.postProcess) {\n const postProcessResult = refs.postProcess(jsonSchema, def, refs);\n newItem.jsonSchema = jsonSchema;\n return postProcessResult;\n }\n newItem.jsonSchema = jsonSchema;\n return jsonSchema;\n}\nconst get$ref = (item, refs) => {\n switch (refs.$refStrategy) {\n case \"root\":\n return { $ref: item.path.join(\"/\") };\n case \"relative\":\n return { $ref: getRelativePath(refs.currentPath, item.path) };\n case \"none\":\n case \"seen\": {\n if (item.path.length < refs.currentPath.length &&\n item.path.every((value, index) => refs.currentPath[index] === value)) {\n console.warn(`Recursive reference detected at ${refs.currentPath.join(\"/\")}! Defaulting to any`);\n return {};\n }\n return refs.$refStrategy === \"seen\" ? {} : undefined;\n }\n }\n};\nconst getRelativePath = (pathA, pathB) => {\n let i = 0;\n for (; i < pathA.length && i < pathB.length; i++) {\n if (pathA[i] !== pathB[i])\n break;\n }\n return [(pathA.length - i).toString(), ...pathB.slice(i)].join(\"/\");\n};\nconst addMeta = (def, refs, jsonSchema) => {\n if (def.description) {\n jsonSchema.description = def.description;\n if (refs.markdownDescription) {\n jsonSchema.markdownDescription = def.description;\n }\n }\n return jsonSchema;\n};\n","export * from \"./Options.js\";\nexport * from \"./Refs.js\";\nexport * from \"./errorMessages.js\";\nexport * from \"./parseDef.js\";\nexport * from \"./parseTypes.js\";\nexport * from \"./parsers/any.js\";\nexport * from \"./parsers/array.js\";\nexport * from \"./parsers/bigint.js\";\nexport * from \"./parsers/boolean.js\";\nexport * from \"./parsers/branded.js\";\nexport * from \"./parsers/catch.js\";\nexport * from \"./parsers/date.js\";\nexport * from \"./parsers/default.js\";\nexport * from \"./parsers/effects.js\";\nexport * from \"./parsers/enum.js\";\nexport * from \"./parsers/intersection.js\";\nexport * from \"./parsers/literal.js\";\nexport * from \"./parsers/map.js\";\nexport * from \"./parsers/nativeEnum.js\";\nexport * from \"./parsers/never.js\";\nexport * from \"./parsers/null.js\";\nexport * from \"./parsers/nullable.js\";\nexport * from \"./parsers/number.js\";\nexport * from \"./parsers/object.js\";\nexport * from \"./parsers/optional.js\";\nexport * from \"./parsers/pipeline.js\";\nexport * from \"./parsers/promise.js\";\nexport * from \"./parsers/readonly.js\";\nexport * from \"./parsers/record.js\";\nexport * from \"./parsers/set.js\";\nexport * from \"./parsers/string.js\";\nexport * from \"./parsers/tuple.js\";\nexport * from \"./parsers/undefined.js\";\nexport * from \"./parsers/union.js\";\nexport * from \"./parsers/unknown.js\";\nexport * from \"./selectParser.js\";\nexport * from \"./zodToJsonSchema.js\";\nimport { zodToJsonSchema } from \"./zodToJsonSchema.js\";\nexport default zodToJsonSchema;\n","import { parseDef } from \"./parseDef.js\";\nimport { getRefs } from \"./Refs.js\";\nconst zodToJsonSchema = (schema, options) => {\n const refs = getRefs(options);\n const definitions = typeof options === \"object\" && options.definitions\n ? Object.entries(options.definitions).reduce((acc, [name, schema]) => ({\n ...acc,\n [name]: parseDef(schema._def, {\n ...refs,\n currentPath: [...refs.basePath, refs.definitionPath, name],\n }, true) ?? {},\n }), {})\n : undefined;\n const name = typeof options === \"string\"\n ? options\n : options?.nameStrategy === \"title\"\n ? undefined\n : options?.name;\n const main = parseDef(schema._def, name === undefined\n ? refs\n : {\n ...refs,\n currentPath: [...refs.basePath, refs.definitionPath, name],\n }, false) ?? {};\n const title = typeof options === \"object\" &&\n options.name !== undefined &&\n options.nameStrategy === \"title\"\n ? options.name\n : undefined;\n if (title !== undefined) {\n main.title = title;\n }\n const combined = name === undefined\n ? definitions\n ? {\n ...main,\n [refs.definitionPath]: definitions,\n }\n : main\n : {\n $ref: [\n ...(refs.$refStrategy === \"relative\" ? [] : refs.basePath),\n refs.definitionPath,\n name,\n ].join(\"/\"),\n [refs.definitionPath]: {\n ...definitions,\n [name]: main,\n },\n };\n if (refs.target === \"jsonSchema7\") {\n combined.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (refs.target === \"jsonSchema2019-09\" || refs.target === \"openAi\") {\n combined.$schema = \"https://json-schema.org/draft/2019-09/schema#\";\n }\n if (refs.target === \"openAi\" &&\n (\"anyOf\" in combined ||\n \"oneOf\" in combined ||\n \"allOf\" in combined ||\n (\"type\" in combined && Array.isArray(combined.type)))) {\n console.warn(\"Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.\");\n }\n return combined;\n};\nexport { zodToJsonSchema };\n","import { getDefaultOptions } from \"./Options.js\";\nexport const getRefs = (options) => {\n const _options = getDefaultOptions(options);\n const currentPath = _options.name !== undefined\n ? [..._options.basePath, _options.definitionPath, _options.name]\n : _options.basePath;\n return {\n ..._options,\n currentPath: currentPath,\n propertyPath: undefined,\n seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [\n def._def,\n {\n def: def._def,\n path: [..._options.basePath, _options.definitionPath, name],\n // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.\n jsonSchema: undefined,\n },\n ])),\n };\n};\n","function createExtensionDataRef() {\n const createRef = (refId) => Object.assign(\n (value) => ({\n $$type: \"@backstage/ExtensionDataValue\",\n id: refId,\n value\n }),\n {\n id: refId,\n $$type: \"@backstage/ExtensionDataRef\",\n config: {},\n optional() {\n return {\n ...this,\n config: { ...this.config, optional: true }\n };\n },\n toString() {\n const optional = Boolean(this.config.optional);\n return `ExtensionDataRef{id=${refId},optional=${optional}}`;\n }\n }\n );\n return {\n with(options) {\n return createRef(options.id);\n }\n };\n}\n\nexport { createExtensionDataRef };\n//# sourceMappingURL=createExtensionDataRef.esm.js.map\n","function createExtensionDataContainer(values, declaredRefs) {\n const container = /* @__PURE__ */ new Map();\n const verifyRefs = declaredRefs && new Map(declaredRefs.map((ref) => [ref.id, ref]));\n for (const output of values) {\n if (verifyRefs) {\n if (!verifyRefs.delete(output.id)) {\n throw new Error(\n `extension data '${output.id}' was provided but not declared`\n );\n }\n }\n container.set(output.id, output);\n }\n const remainingRefs = verifyRefs && Array.from(verifyRefs.values()).filter((ref) => !ref.config.optional);\n if (remainingRefs && remainingRefs.length > 0) {\n throw new Error(\n `missing required extension data value(s) '${remainingRefs.map((ref) => ref.id).join(\", \")}'`\n );\n }\n return {\n get(ref) {\n return container.get(ref.id)?.value;\n },\n [Symbol.iterator]() {\n return container.values();\n }\n };\n}\n\nexport { createExtensionDataContainer };\n//# sourceMappingURL=createExtensionDataContainer.esm.js.map\n","import { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nfunction expectArray(value) {\n return value;\n}\nfunction expectItem(value) {\n return value;\n}\nfunction resolveInputOverrides(declaredInputs, inputs, inputOverrides) {\n if (!declaredInputs || !inputs || !inputOverrides) {\n return inputs;\n }\n const newInputs = {};\n for (const name in declaredInputs) {\n if (!Object.hasOwn(declaredInputs, name)) {\n continue;\n }\n const declaredInput = declaredInputs[name];\n const providedData = inputOverrides[name];\n if (declaredInput.config.singleton) {\n const originalInput = expectItem(inputs[name]);\n if (providedData) {\n const providedContainer = createExtensionDataContainer(\n providedData,\n declaredInput.extensionData\n );\n if (!originalInput) {\n throw new Error(\n `attempted to override data of input '${name}' but it is not present in the original inputs`\n );\n }\n newInputs[name] = Object.assign(providedContainer, {\n node: originalInput.node\n });\n }\n } else {\n const originalInput = expectArray(inputs[name]);\n if (!Array.isArray(providedData)) {\n throw new Error(\n `override data provided for input '${name}' must be an array`\n );\n }\n if (providedData.length === 0) {\n newInputs[name] = [];\n } else {\n const withNodesCount = providedData.filter((d) => \"node\" in d).length;\n if (withNodesCount === 0) {\n if (originalInput.length !== providedData.length) {\n throw new Error(\n `override data provided for input '${name}' must match the length of the original inputs`\n );\n }\n newInputs[name] = providedData.map((data, i) => {\n const providedContainer = createExtensionDataContainer(\n data,\n declaredInput.extensionData\n );\n return Object.assign(providedContainer, {\n node: originalInput[i].node\n });\n });\n } else if (withNodesCount === providedData.length) {\n newInputs[name] = providedData;\n } else {\n throw new Error(\n `override data for input '${name}' may not mix forwarded inputs with data overrides`\n );\n }\n }\n }\n }\n return newInputs;\n}\n\nexport { resolveInputOverrides };\n//# sourceMappingURL=resolveInputOverrides.esm.js.map\n","import { z } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nfunction createSchemaFromZod(schemaCreator) {\n const schema = schemaCreator(z);\n return {\n // TODO: Types allow z.array etc here but it will break stuff\n parse: (input) => {\n const result = schema.safeParse(input);\n if (result.success) {\n return result.data;\n }\n throw new Error(result.error.issues.map(formatIssue).join(\"; \"));\n },\n // TODO: Verify why we are not compatible with the latest zodToJsonSchema.\n schema: zodToJsonSchema(schema)\n };\n}\nfunction formatIssue(issue) {\n if (issue.code === \"invalid_union\") {\n return formatIssue(issue.unionErrors[0].issues[0]);\n }\n let message = issue.message;\n if (message === \"Required\") {\n message = `Missing required value`;\n }\n if (issue.path.length) {\n message += ` at '${issue.path.join(\".\")}'`;\n }\n return message;\n}\n\nexport { createSchemaFromZod };\n//# sourceMappingURL=createSchemaFromZod.esm.js.map\n","class OpaqueType {\n /**\n * Creates a new opaque type.\n *\n * @param options.type The type identifier of the opaque type\n * @param options.versions The available versions of the opaque type\n * @returns A new opaque type helper\n */\n static create(options) {\n return new OpaqueType(options.type, new Set(options.versions));\n }\n #type;\n #versions;\n constructor(type, versions) {\n this.#type = type;\n this.#versions = versions;\n }\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TPublic`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TPublic = void 0;\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TInternal`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TInternal = void 0;\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @returns True if the value matches this opaque type\n */\n isType = (value) => {\n return this.#isThisInternalType(value);\n };\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @throws If the value is not an instance of this opaque type or is of an unsupported version\n * @returns The internal version of the opaque type\n */\n toInternal = (value) => {\n if (!this.#isThisInternalType(value)) {\n throw new TypeError(\n `Invalid opaque type, expected '${this.#type}', but got '${this.#stringifyUnknown(value)}'`\n );\n }\n if (!this.#versions.has(value.version)) {\n const versions = Array.from(this.#versions).map(this.#stringifyVersion);\n if (versions.length > 1) {\n versions[versions.length - 1] = `or ${versions[versions.length - 1]}`;\n }\n const expected = versions.length > 2 ? versions.join(\", \") : versions.join(\" \");\n throw new TypeError(\n `Invalid opaque type instance, got version ${this.#stringifyVersion(\n value.version\n )}, expected ${expected}`\n );\n }\n return value;\n };\n /**\n * Creates an instance of the opaque type, returning the public type.\n *\n * @param version The version of the instance to create\n * @param value The remaining public and internal properties of the instance\n * @returns An instance of the opaque type\n */\n createInstance(version, props) {\n return Object.assign(props, {\n $$type: this.#type,\n ...version && { version }\n });\n }\n #isThisInternalType(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n return value.$$type === this.#type;\n }\n #stringifyUnknown(value) {\n if (typeof value !== \"object\") {\n return `<${typeof value}>`;\n }\n if (value === null) {\n return \"<null>\";\n }\n if (\"$$type\" in value) {\n return String(value.$$type);\n }\n return String(value);\n }\n #stringifyVersion = (version) => {\n return version ? `'${version}'` : \"undefined\";\n };\n}\n\nexport { OpaqueType };\n//# sourceMappingURL=OpaqueType.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueExtensionDefinition = OpaqueType.create({\n type: \"@backstage/ExtensionDefinition\",\n versions: [\"v1\", \"v2\"]\n});\n\nexport { OpaqueExtensionDefinition };\n//# sourceMappingURL=InternalExtensionDefinition.esm.js.map\n","import { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { createSchemaFromZod } from '../schema/createSchemaFromZod.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nconst ctxParamsSymbol = Symbol(\"params\");\nfunction createExtension(options) {\n const schemaDeclaration = options.config?.schema;\n const configSchema = schemaDeclaration && createSchemaFromZod(\n (innerZ) => innerZ.object(\n Object.fromEntries(\n Object.entries(schemaDeclaration).map(([k, v]) => [k, v(innerZ)])\n )\n )\n );\n return OpaqueExtensionDefinition.createInstance(\"v2\", {\n T: void 0,\n kind: options.kind,\n name: options.name,\n attachTo: options.attachTo,\n disabled: options.disabled ?? false,\n inputs: options.inputs ?? {},\n output: options.output,\n configSchema,\n factory: options.factory,\n toString() {\n const parts = [];\n if (options.kind) {\n parts.push(`kind=${options.kind}`);\n }\n if (options.name) {\n parts.push(`name=${options.name}`);\n }\n parts.push(\n `attachTo=${[options.attachTo].flat().map((a) => `${a.id}@${a.input}`).join(\"+\")}`\n );\n return `ExtensionDefinition{${parts.join(\",\")}}`;\n },\n override(overrideOptions) {\n if (!Array.isArray(options.output)) {\n throw new Error(\n \"Cannot override an extension that is not declared using the new format with outputs as an array\"\n );\n }\n if (overrideOptions.output && !overrideOptions.factory) {\n throw new Error(\n \"Refused to override output without also overriding factory\"\n );\n }\n if (overrideOptions.params && overrideOptions.factory) {\n throw new Error(\n \"Refused to override params and factory at the same time\"\n );\n }\n return createExtension({\n kind: options.kind,\n name: options.name,\n attachTo: overrideOptions.attachTo ?? options.attachTo,\n disabled: overrideOptions.disabled ?? options.disabled,\n inputs: { ...overrideOptions.inputs, ...options.inputs },\n output: overrideOptions.output ?? options.output,\n config: options.config || overrideOptions.config ? {\n schema: {\n ...options.config?.schema,\n ...overrideOptions.config?.schema\n }\n } : void 0,\n factory: ({ node, apis, config, inputs }) => {\n if (!overrideOptions.factory) {\n return options.factory({\n node,\n apis,\n config,\n inputs,\n [ctxParamsSymbol]: overrideOptions.params\n });\n }\n const parentResult = overrideOptions.factory(\n (innerContext) => {\n return createExtensionDataContainer(\n options.factory({\n node,\n apis,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n ),\n [ctxParamsSymbol]: innerContext?.params\n }),\n options.output\n );\n },\n {\n node,\n apis,\n config,\n inputs\n }\n );\n const deduplicatedResult = /* @__PURE__ */ new Map();\n for (const item of parentResult) {\n deduplicatedResult.set(item.id, item);\n }\n return deduplicatedResult.values();\n }\n });\n }\n });\n}\n\nexport { createExtension, ctxParamsSymbol };\n//# sourceMappingURL=createExtension.esm.js.map\n","import { createExtension, ctxParamsSymbol } from './createExtension.esm.js';\nimport { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\n\nfunction createExtensionBlueprint(options) {\n return {\n dataRefs: options.dataRefs,\n make(args) {\n return createExtension({\n kind: options.kind,\n name: args.name ?? options.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: options.inputs,\n output: options.output,\n config: options.config,\n factory: (ctx) => options.factory(\n { ...args.params, ...ctx[ctxParamsSymbol] },\n ctx\n )\n });\n },\n makeWithOverrides(args) {\n return createExtension({\n kind: options.kind,\n name: args.name ?? options.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: { ...args.inputs, ...options.inputs },\n output: args.output ?? options.output,\n config: options.config || args.config ? {\n schema: {\n ...options.config?.schema,\n ...args.config?.schema\n }\n } : void 0,\n factory: (ctx) => {\n const { node, config, inputs, apis } = ctx;\n return args.factory(\n (innerParams, innerContext) => {\n return createExtensionDataContainer(\n options.factory(\n { ...innerParams, ...ctx[ctxParamsSymbol] },\n {\n apis,\n node,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n )\n }\n ),\n options.output\n );\n },\n {\n apis,\n node,\n config,\n inputs\n }\n );\n }\n });\n }\n };\n}\n\nexport { createExtensionBlueprint };\n//# sourceMappingURL=createExtensionBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst factoryDataRef = createExtensionDataRef().with({\n id: \"core.api.factory\"\n});\nconst ApiBlueprint = createExtensionBlueprint({\n kind: \"api\",\n attachTo: { id: \"root\", input: \"apis\" },\n output: [factoryDataRef],\n dataRefs: {\n factory: factoryDataRef\n },\n *factory(params) {\n yield factoryDataRef(params.factory);\n }\n});\n\nexport { ApiBlueprint };\n//# sourceMappingURL=ApiBlueprint.esm.js.map\n","import { createExtensionDataRef } from './createExtensionDataRef.esm.js';\n\nconst coreExtensionData = {\n reactElement: createExtensionDataRef().with({\n id: \"core.reactElement\"\n }),\n routePath: createExtensionDataRef().with({ id: \"core.routing.path\" }),\n routeRef: createExtensionDataRef().with({ id: \"core.routing.ref\" })\n};\n\nexport { coreExtensionData };\n//# sourceMappingURL=coreExtensionData.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst AppRootElementBlueprint = createExtensionBlueprint({\n kind: \"app-root-element\",\n attachTo: { id: \"app/root\", input: \"elements\" },\n output: [coreExtensionData.reactElement],\n *factory(params) {\n yield coreExtensionData.reactElement(\n typeof params.element === \"function\" ? params.element() : params.element\n );\n }\n});\n\nexport { AppRootElementBlueprint };\n//# sourceMappingURL=AppRootElementBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.root.wrapper\" });\nconst AppRootWrapperBlueprint = createExtensionBlueprint({\n kind: \"app-root-wrapper\",\n attachTo: { id: \"app/root\", input: \"wrappers\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n const Component = (props) => {\n return /* @__PURE__ */ jsx(params.Component, { children: props.children });\n };\n yield componentDataRef(Component);\n }\n});\n\nexport { AppRootWrapperBlueprint };\n//# sourceMappingURL=AppRootWrapperBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst iconsDataRef = createExtensionDataRef().with({ id: \"core.icons\" });\nconst IconBundleBlueprint = createExtensionBlueprint({\n kind: \"icon-bundle\",\n attachTo: { id: \"api:app/icons\", input: \"icons\" },\n output: [iconsDataRef],\n factory: (params) => [\n iconsDataRef(params.icons)\n ],\n dataRefs: {\n icons: iconsDataRef\n }\n});\n\nexport { IconBundleBlueprint };\n//# sourceMappingURL=IconBundleBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst targetDataRef = createExtensionDataRef().with({ id: \"core.nav-item.target\" });\nconst NavItemBlueprint = createExtensionBlueprint({\n kind: \"nav-item\",\n attachTo: { id: \"app/nav\", input: \"items\" },\n output: [targetDataRef],\n dataRefs: {\n target: targetDataRef\n },\n factory: ({\n icon,\n routeRef,\n title\n }, { config }) => [\n targetDataRef({\n title: config.title ?? title,\n icon,\n routeRef\n })\n ],\n config: {\n schema: {\n title: (z) => z.string().optional()\n }\n }\n});\n\nexport { NavItemBlueprint };\n//# sourceMappingURL=NavItemBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst logoElementsDataRef = createExtensionDataRef().with({ id: \"core.nav-logo.logo-elements\" });\nconst NavLogoBlueprint = createExtensionBlueprint({\n kind: \"nav-logo\",\n attachTo: { id: \"app/nav\", input: \"logos\" },\n output: [logoElementsDataRef],\n dataRefs: {\n logoElements: logoElementsDataRef\n },\n *factory({\n logoIcon,\n logoFull\n }) {\n yield logoElementsDataRef({\n logoIcon,\n logoFull\n });\n }\n});\n\nexport { NavLogoBlueprint };\n//# sourceMappingURL=NavLogoBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { Component } from 'react';\n\nclass ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { error };\n }\n state = { error: void 0 };\n handleErrorReset = () => {\n this.setState({ error: void 0 });\n };\n render() {\n const { error } = this.state;\n const { plugin, children, Fallback } = this.props;\n if (error) {\n return /* @__PURE__ */ jsx(\n Fallback,\n {\n plugin,\n error,\n resetError: this.handleErrorReset\n }\n );\n }\n return children;\n }\n}\n\nexport { ErrorBoundary };\n//# sourceMappingURL=ErrorBoundary.esm.js.map\n","function createComponentRef(options) {\n const { id } = options;\n return {\n id,\n toString() {\n return `ComponentRef{id=${id}}`;\n }\n };\n}\n\nexport { createComponentRef };\n//# sourceMappingURL=createComponentRef.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\ngetOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\n\nexport { routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { createComponentRef } from './createComponentRef.esm.js';\n\nconst coreProgressComponentRef = createComponentRef({\n id: \"core.components.progress\"\n});\nconst coreNotFoundErrorPageComponentRef = createComponentRef({\n id: \"core.components.notFoundErrorPage\"\n});\nconst coreErrorBoundaryFallbackComponentRef = createComponentRef({\n id: \"core.components.errorBoundaryFallback\"\n});\nconst coreComponentRefs = {\n progress: coreProgressComponentRef,\n notFoundErrorPage: coreNotFoundErrorPageComponentRef,\n errorBoundaryFallback: coreErrorBoundaryFallbackComponentRef\n};\n\nexport { coreComponentRefs };\n//# sourceMappingURL=coreComponentRefs.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, useVersionedContext, createVersionedValueMap } from '@backstage/version-bridge';\n\nconst CONTEXT_KEY = \"app-node-context\";\nconst AppNodeContext = createVersionedContext(CONTEXT_KEY);\nfunction AppNodeProvider({\n node,\n children\n}) {\n const versionedValue = createVersionedValueMap({ 1: { node } });\n return /* @__PURE__ */ jsx(AppNodeContext.Provider, { value: versionedValue, children });\n}\nfunction useAppNode() {\n const versionedContext = useVersionedContext(CONTEXT_KEY);\n if (!versionedContext) {\n return void 0;\n }\n const context = versionedContext.atVersion(1);\n if (!context) {\n throw new Error(\"AppNodeContext v1 not available\");\n }\n return context.node;\n}\n\nexport { AppNodeProvider, useAppNode };\n//# sourceMappingURL=AppNodeProvider.esm.js.map\n","import { jsx, Fragment } from 'react/jsx-runtime';\nimport { Suspense, lazy, useEffect } from 'react';\nimport { AnalyticsContext, useAnalytics } from '@backstage/core-plugin-api';\nimport { ErrorBoundary } from './ErrorBoundary.esm.js';\nimport { routableExtensionRenderedEvent } from '../core-plugin-api/src/analytics/Tracker.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useComponentRef } from '../apis/definitions/ComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport { coreComponentRefs } from './coreComponentRefs.esm.js';\nimport { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { AppNodeProvider } from './AppNodeProvider.esm.js';\n\nconst RouteTracker = (props) => {\n const { disableTracking, children } = props;\n const analytics = useAnalytics();\n useEffect(() => {\n if (disableTracking) return;\n analytics.captureEvent(routableExtensionRenderedEvent, \"\");\n }, [analytics, disableTracking]);\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction ExtensionBoundary(props) {\n const { node, routable, children } = props;\n const doesOutputRoutePath = Boolean(\n node.instance?.getData(coreExtensionData.routePath)\n );\n const plugin = node.spec.plugin;\n const Progress = useComponentRef(coreComponentRefs.progress);\n const fallback = useComponentRef(coreComponentRefs.errorBoundaryFallback);\n const attributes = {\n extensionId: node.spec.id,\n pluginId: node.spec.plugin?.id ?? \"app\"\n };\n return /* @__PURE__ */ jsx(AppNodeProvider, { node, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Progress, {}), children: /* @__PURE__ */ jsx(ErrorBoundary, { plugin, Fallback: fallback, children: /* @__PURE__ */ jsx(AnalyticsContext, { attributes, children: /* @__PURE__ */ jsx(RouteTracker, { disableTracking: !(routable ?? doesOutputRoutePath), children }) }) }) }) });\n}\n((ExtensionBoundary2) => {\n function lazy$1(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((element) => ({ default: () => element }))\n );\n return /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, {}) });\n }\n ExtensionBoundary2.lazy = lazy$1;\n function lazyComponent(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((Component) => ({ default: Component }))\n );\n return (props) => /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) });\n }\n ExtensionBoundary2.lazyComponent = lazyComponent;\n})(ExtensionBoundary || (ExtensionBoundary = {}));\n\nexport { ExtensionBoundary };\n//# sourceMappingURL=ExtensionBoundary.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport '../components/AppNodeProvider.esm.js';\n\nconst PageBlueprint = createExtensionBlueprint({\n kind: \"page\",\n attachTo: { id: \"app/routes\", input: \"routes\" },\n output: [\n coreExtensionData.routePath,\n coreExtensionData.reactElement,\n coreExtensionData.routeRef.optional()\n ],\n config: {\n schema: {\n path: (z) => z.string().optional()\n }\n },\n *factory({\n defaultPath,\n loader,\n routeRef\n }, { config, node }) {\n yield coreExtensionData.routePath(config.path ?? defaultPath);\n yield coreExtensionData.reactElement(ExtensionBoundary.lazy(node, loader));\n if (routeRef) {\n yield coreExtensionData.routeRef(routeRef);\n }\n }\n});\n\nexport { PageBlueprint };\n//# sourceMappingURL=PageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.router.wrapper\" });\nconst RouterBlueprint = createExtensionBlueprint({\n kind: \"app-router-component\",\n attachTo: { id: \"app/root\", input: \"router\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory({ Component }) {\n yield componentDataRef(Component);\n }\n});\n\nexport { RouterBlueprint };\n//# sourceMappingURL=RouterBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { lazy } from 'react';\nimport '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport '../components/AppNodeProvider.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"core.sign-in-page.component\" });\nconst SignInPageBlueprint = createExtensionBlueprint({\n kind: \"sign-in-page\",\n attachTo: { id: \"app/root\", input: \"signInPage\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory({\n loader\n }, { node }) {\n const ExtensionComponent = lazy(\n () => loader().then((component) => ({ default: component }))\n );\n yield componentDataRef((props) => /* @__PURE__ */ jsx(ExtensionBoundary, { node, routable: true, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) }));\n }\n});\n\nexport { SignInPageBlueprint };\n//# sourceMappingURL=SignInPageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst themeDataRef = createExtensionDataRef().with({\n id: \"core.theme.theme\"\n});\nconst ThemeBlueprint = createExtensionBlueprint({\n kind: \"theme\",\n attachTo: { id: \"api:app/app-theme\", input: \"themes\" },\n output: [themeDataRef],\n dataRefs: {\n theme: themeDataRef\n },\n factory: ({ theme }) => [themeDataRef(theme)]\n});\n\nexport { ThemeBlueprint };\n//# sourceMappingURL=ThemeBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst translationDataRef = createExtensionDataRef().with({ id: \"core.translation.translation\" });\nconst TranslationBlueprint = createExtensionBlueprint({\n kind: \"translation\",\n attachTo: { id: \"api:app/translations\", input: \"translations\" },\n output: [translationDataRef],\n dataRefs: {\n translation: translationDataRef\n },\n factory: ({\n resource\n }) => [translationDataRef(resource)]\n});\n\nexport { TranslationBlueprint };\n//# sourceMappingURL=TranslationBlueprint.esm.js.map\n","import { lazy } from 'react';\nimport '../wiring/coreExtensionData.esm.js';\nimport { createExtension } from '../wiring/createExtension.esm.js';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\n\nfunction createComponentExtension(options) {\n return createExtension({\n kind: \"component\",\n name: options.name ?? options.ref.id,\n attachTo: { id: \"api:app/components\", input: \"components\" },\n disabled: options.disabled,\n output: [createComponentExtension.componentDataRef],\n factory() {\n if (\"sync\" in options.loader) {\n return [\n createComponentExtension.componentDataRef({\n ref: options.ref,\n impl: options.loader.sync()\n })\n ];\n }\n const lazyLoader = options.loader.lazy;\n const ExtensionComponent = lazy(\n () => lazyLoader().then((Component) => ({\n default: Component\n }))\n );\n return [\n createComponentExtension.componentDataRef({\n ref: options.ref,\n impl: ExtensionComponent\n })\n ];\n }\n });\n}\n((createComponentExtension2) => {\n createComponentExtension2.componentDataRef = createExtensionDataRef().with({ id: \"core.component.component\" });\n})(createComponentExtension || (createComponentExtension = {}));\n\nexport { createComponentExtension };\n//# sourceMappingURL=createComponentExtension.esm.js.map\n","const MESSAGE_MARKER = \"eHgtF5hmbrXyiEvo\";\nfunction describeParentCallSite(ErrorConstructor = Error) {\n const { stack } = new ErrorConstructor(MESSAGE_MARKER);\n if (!stack) {\n return \"<unknown>\";\n }\n const startIndex = stack.includes(MESSAGE_MARKER) ? stack.indexOf(\"\\n\") + 1 : 0;\n const secondEntryStart = stack.indexOf(\"\\n\", stack.indexOf(\"\\n\", startIndex) + 1) + 1;\n const secondEntryEnd = stack.indexOf(\"\\n\", secondEntryStart);\n const line = stack.substring(secondEntryStart, secondEntryEnd).trim();\n if (!line) {\n return \"unknown\";\n }\n if (line.includes(\"(\")) {\n return line.substring(line.indexOf(\"(\") + 1, line.indexOf(\")\"));\n }\n if (line.includes(\"@\")) {\n return line.substring(line.indexOf(\"@\") + 1);\n }\n return line;\n}\n\nexport { describeParentCallSite };\n//# sourceMappingURL=describeParentCallSite.esm.js.map\n","import { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nfunction toInternalRouteRef(resource) {\n const r = resource;\n if (r.$$type !== \"@backstage/RouteRef\") {\n throw new Error(`Invalid RouteRef, bad type '${r.$$type}'`);\n }\n return r;\n}\nclass RouteRefImpl {\n constructor(params = [], creationSite) {\n this.params = params;\n this.#params = params;\n this.#creationSite = creationSite;\n }\n $$type = \"@backstage/RouteRef\";\n version = \"v1\";\n #id;\n #params;\n #creationSite;\n getParams() {\n return this.#params;\n }\n getDescription() {\n if (this.#id) {\n return this.#id;\n }\n return `created at '${this.#creationSite}'`;\n }\n get #name() {\n return this.$$type.slice(\"@backstage/\".length);\n }\n setId(id) {\n if (!id) {\n throw new Error(`${this.#name} id must be a non-empty string`);\n }\n if (this.#id && this.#id !== id) {\n throw new Error(\n `${this.#name} was referenced twice as both '${this.#id}' and '${id}'`\n );\n }\n this.#id = id;\n }\n toString() {\n return `${this.#name}{${this.getDescription()}}`;\n }\n}\nfunction createRouteRef(config) {\n return new RouteRefImpl(\n config?.params,\n describeParentCallSite()\n );\n}\n\nexport { RouteRefImpl, createRouteRef, toInternalRouteRef };\n//# sourceMappingURL=RouteRef.esm.js.map\n","import { toInternalRouteRef } from './RouteRef.esm.js';\n\nconst PARAM_PATTERN = /^\\w+$/;\nclass SubRouteRefImpl {\n constructor(path, params, parent) {\n this.path = path;\n this.#params = params;\n this.#parent = parent;\n }\n $$type = \"@backstage/SubRouteRef\";\n version = \"v1\";\n #params;\n #parent;\n getParams() {\n return this.#params;\n }\n getParent() {\n return this.#parent;\n }\n getDescription() {\n const parent = toInternalRouteRef(this.#parent);\n return `at ${this.path} with parent ${parent.getDescription()}`;\n }\n toString() {\n return `SubRouteRef{${this.getDescription()}}`;\n }\n}\nfunction createSubRouteRef(config) {\n const { path, parent } = config;\n const internalParent = toInternalRouteRef(parent);\n const parentParams = internalParent.getParams();\n const pathParams = path.split(\"/\").filter((p) => p.startsWith(\":\")).map((p) => p.substring(1));\n const params = [...parentParams, ...pathParams];\n if (parentParams.some((p) => pathParams.includes(p))) {\n throw new Error(\n \"SubRouteRef may not have params that overlap with its parent\"\n );\n }\n if (!path.startsWith(\"/\")) {\n throw new Error(`SubRouteRef path must start with '/', got '${path}'`);\n }\n if (path.endsWith(\"/\")) {\n throw new Error(`SubRouteRef path must not end with '/', got '${path}'`);\n }\n for (const param of pathParams) {\n if (!PARAM_PATTERN.test(param)) {\n throw new Error(`SubRouteRef path has invalid param, got '${param}'`);\n }\n }\n const subRouteRef = new SubRouteRefImpl(\n path,\n params,\n parent\n );\n return subRouteRef;\n}\n\nexport { SubRouteRefImpl, createSubRouteRef };\n//# sourceMappingURL=SubRouteRef.esm.js.map\n","import { RouteRefImpl } from './RouteRef.esm.js';\nimport { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nclass ExternalRouteRefImpl extends RouteRefImpl {\n constructor(params = [], defaultTarget, creationSite) {\n super(params, creationSite);\n this.params = params;\n this.defaultTarget = defaultTarget;\n }\n $$type = \"@backstage/ExternalRouteRef\";\n getDefaultTarget() {\n return this.defaultTarget;\n }\n}\nfunction createExternalRouteRef(options) {\n return new ExternalRouteRefImpl(\n options?.params,\n options?.defaultTarget,\n describeParentCallSite()\n );\n}\n\nexport { createExternalRouteRef };\n//# sourceMappingURL=ExternalRouteRef.esm.js.map\n","import { useMemo } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useApi } from '@backstage/core-plugin-api';\nimport '../apis/definitions/ComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport { routeResolutionApiRef } from '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\n\nfunction useRouteRef(routeRef) {\n const { pathname } = useLocation();\n const routeResolutionApi = useApi(routeResolutionApiRef);\n const routeFunc = useMemo(\n () => routeResolutionApi.resolve(routeRef, { sourcePath: pathname }),\n [routeResolutionApi, routeRef, pathname]\n );\n return routeFunc;\n}\n\nexport { useRouteRef };\n//# sourceMappingURL=useRouteRef.esm.js.map\n","import { useParams } from 'react-router-dom';\n\nfunction useRouteRefParams(_routeRef) {\n return useParams();\n}\n\nexport { useRouteRefParams };\n//# sourceMappingURL=useRouteRefParams.esm.js.map\n","function createTranslationMessages(options) {\n return {\n $$type: \"@backstage/TranslationMessages\",\n id: options.ref.id,\n full: Boolean(options.full),\n messages: options.messages\n };\n}\n\nexport { createTranslationMessages };\n//# sourceMappingURL=TranslationMessages.esm.js.map\n","function createTranslationResource(options) {\n return {\n $$type: \"@backstage/TranslationResource\",\n version: \"v1\",\n id: options.ref.id,\n resources: Object.entries(options.translations).map(\n ([language, loader]) => ({\n language,\n loader: () => loader().then((m) => {\n const value = m.default;\n return {\n messages: value?.$$type === \"@backstage/TranslationMessages\" ? value.messages : value\n };\n })\n })\n )\n };\n}\n\nexport { createTranslationResource };\n//# sourceMappingURL=TranslationResource.esm.js.map\n","import { createTranslationResource } from './TranslationResource.esm.js';\n\nfunction flattenMessages(nested) {\n const entries = new Array();\n function visit(obj, prefix) {\n for (const [key, value] of Object.entries(obj)) {\n if (typeof value === \"string\") {\n entries.push([prefix + key, value]);\n } else {\n visit(value, `${prefix}${key}.`);\n }\n }\n }\n visit(nested, \"\");\n return Object.fromEntries(entries);\n}\nclass TranslationRefImpl {\n #id;\n #messages;\n #resources;\n constructor(options) {\n this.#id = options.id;\n this.#messages = flattenMessages(\n options.messages\n );\n }\n $$type = \"@backstage/TranslationRef\";\n version = \"v1\";\n get id() {\n return this.#id;\n }\n get T() {\n throw new Error(\"Not implemented\");\n }\n getDefaultMessages() {\n return this.#messages;\n }\n setDefaultResource(resources) {\n this.#resources = resources;\n }\n getDefaultResource() {\n return this.#resources;\n }\n toString() {\n return `TranslationRef{id=${this.id}}`;\n }\n}\nfunction createTranslationRef(config) {\n const ref = new TranslationRefImpl(config);\n if (config.translations) {\n ref.setDefaultResource(\n createTranslationResource({\n ref,\n translations: config.translations\n })\n );\n }\n return ref;\n}\n\nexport { createTranslationRef };\n//# sourceMappingURL=TranslationRef.esm.js.map\n","import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { useApi } from '../apis/system/useApi.esm.js';\nimport '../apis/definitions/auth.esm.js';\nimport '../apis/definitions/AlertApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport '../apis/definitions/AppThemeApi.esm.js';\nimport '../apis/definitions/ConfigApi.esm.js';\nimport '../apis/definitions/DiscoveryApi.esm.js';\nimport { errorApiRef } from '../apis/definitions/ErrorApi.esm.js';\nimport '../apis/definitions/FeatureFlagsApi.esm.js';\nimport '../apis/definitions/FetchApi.esm.js';\nimport '../apis/definitions/IdentityApi.esm.js';\nimport '../apis/definitions/OAuthRequestApi.esm.js';\nimport '../apis/definitions/StorageApi.esm.js';\nimport { translationApiRef } from '../apis/definitions/TranslationApi.esm.js';\nimport '../apis/definitions/AppLanguageApi.esm.js';\n\nconst loggedRefs = /* @__PURE__ */ new WeakSet();\nconst useTranslationRef = (translationRef) => {\n const errorApi = useApi(errorApiRef);\n const translationApi = useApi(translationApiRef);\n const [snapshot, setSnapshot] = useState(\n () => translationApi.getTranslation(translationRef)\n );\n const observable = useMemo(\n () => translationApi.translation$(translationRef),\n [translationApi, translationRef]\n );\n const onError = useCallback(\n (error) => {\n if (!loggedRefs.has(translationRef)) {\n const errMsg = `Failed to load translation resource '${translationRef.id}'; caused by ${error}`;\n console.error(errMsg);\n errorApi.post(new Error(errMsg));\n loggedRefs.add(translationRef);\n }\n },\n [errorApi, translationRef]\n );\n useEffect(() => {\n const subscription = observable.subscribe({\n next(next) {\n if (next.ready) {\n setSnapshot(next);\n }\n },\n error(error) {\n onError(error);\n }\n });\n return () => {\n subscription.unsubscribe();\n };\n }, [observable, onError]);\n const initialRenderRef = useRef(true);\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n } else {\n setSnapshot(translationApi.getTranslation(translationRef));\n }\n }, [translationApi, translationRef]);\n if (!snapshot.ready) {\n throw new Promise((resolve) => {\n const subscription = observable.subscribe({\n next(next) {\n if (next.ready) {\n subscription.unsubscribe();\n resolve();\n }\n },\n error(error) {\n subscription.unsubscribe();\n onError(error);\n resolve();\n }\n });\n });\n }\n return { t: snapshot.t };\n};\n\nexport { useTranslationRef };\n//# sourceMappingURL=useTranslationRef.esm.js.map\n","function createExtensionInput(extensionData, config) {\n if (process.env.NODE_ENV !== \"production\") {\n if (Array.isArray(extensionData)) {\n const seen = /* @__PURE__ */ new Set();\n const duplicates = [];\n for (const dataRef of extensionData) {\n if (seen.has(dataRef.id)) {\n duplicates.push(dataRef.id);\n } else {\n seen.add(dataRef.id);\n }\n }\n if (duplicates.length > 0) {\n throw new Error(\n `ExtensionInput may not have duplicate data refs: '${duplicates.join(\n \"', '\"\n )}'`\n );\n }\n }\n }\n return {\n $$type: \"@backstage/ExtensionInput\",\n extensionData,\n config: {\n singleton: Boolean(config?.singleton),\n optional: Boolean(config?.optional)\n },\n replaces: config?.replaces\n };\n}\n\nexport { createExtensionInput };\n//# sourceMappingURL=createExtensionInput.esm.js.map\n","import { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction resolveExtensionDefinition(definition, context) {\n const internalDefinition = OpaqueExtensionDefinition.toInternal(definition);\n const {\n name,\n kind,\n namespace: _skip1,\n override: _skip2,\n ...rest\n } = internalDefinition;\n const namespace = internalDefinition.namespace ?? context?.namespace;\n const namePart = name && namespace ? `${namespace}/${name}` : namespace || name;\n if (!namePart) {\n throw new Error(\n `Extension must declare an explicit namespace or name as it could not be resolved from context, kind=${kind} namespace=${namespace} name=${name}`\n );\n }\n const id = kind ? `${kind}:${namePart}` : namePart;\n return {\n ...rest,\n $$type: \"@backstage/Extension\",\n version: internalDefinition.version,\n id,\n toString() {\n return `Extension{id=${id}}`;\n }\n };\n}\n\nexport { resolveExtensionDefinition };\n//# sourceMappingURL=resolveExtensionDefinition.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueFrontendPlugin = OpaqueType.create({\n type: \"@backstage/FrontendPlugin\",\n versions: [\"v1\"]\n});\n\nexport { OpaqueFrontendPlugin };\n//# sourceMappingURL=InternalFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueFrontendPlugin } from '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendPlugin(options) {\n const pluginId = \"pluginId\" in options ? options.pluginId : options.id;\n if (!pluginId) {\n throw new Error(\n \"Either 'id' or 'pluginId' must be provided to createFrontendPlugin\"\n );\n }\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return OpaqueFrontendPlugin.createInstance(\"v1\", {\n id: pluginId,\n routes: options.routes ?? {},\n externalRoutes: options.externalRoutes ?? {},\n featureFlags: options.featureFlags ?? [],\n extensions,\n infoOptions: options.info,\n // This method is overridden when the plugin instance is installed in an app\n async info() {\n throw new Error(\n `Attempted to load plugin info for plugin '${pluginId}', but the plugin instance is not installed in an app`\n );\n },\n getExtension(id) {\n const ext = extensionDefinitionsById.get(id);\n if (!ext) {\n throw new Error(\n `Attempted to get non-existent extension '${id}' from plugin '${pluginId}'`\n );\n }\n return ext;\n },\n toString() {\n return `Plugin{id=${pluginId}}`;\n },\n withOverrides(overrides) {\n const overriddenExtensionIds = new Set(\n overrides.extensions.map(\n (e) => resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n const nonOverriddenExtensions = (options.extensions ?? []).filter(\n (e) => !overriddenExtensionIds.has(\n resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n return createFrontendPlugin({\n ...options,\n pluginId,\n extensions: [...nonOverriddenExtensions, ...overrides.extensions],\n info: {\n ...options.info,\n ...overrides.info\n }\n });\n }\n });\n}\n\nexport { createFrontendPlugin };\n//# sourceMappingURL=createFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendModule(options) {\n const { pluginId } = options;\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return {\n $$type: \"@backstage/FrontendModule\",\n version: \"v1\",\n pluginId,\n featureFlags: options.featureFlags ?? [],\n extensions,\n toString() {\n return `Module{pluginId=${pluginId}}`;\n }\n };\n}\n\nexport { createFrontendModule };\n//# sourceMappingURL=createFrontendModule.esm.js.map\n","import { describeParentCallSite } from '../routing/describeParentCallSite.esm.js';\n\nfunction createFrontendFeatureLoader(options) {\n const description = `created at '${describeParentCallSite()}'`;\n return {\n $$type: \"@backstage/FrontendFeatureLoader\",\n version: \"v1\",\n description,\n toString() {\n return `FeatureLoader{description=${description}}`;\n },\n async loader(deps) {\n const it = await options.loader(deps);\n const result = new Array();\n for await (const item of it) {\n if (isFeatureOrLoader(item)) {\n result.push(item);\n } else if (\"default\" in item) {\n result.push(item.default);\n } else {\n throw new Error(`Invalid item \"${item}\"`);\n }\n }\n return result;\n }\n };\n}\nfunction isFeatureOrLoader(obj) {\n if (obj !== null && typeof obj === \"object\" && \"$$type\" in obj) {\n return obj.$$type === \"@backstage/FrontendPlugin\" || obj.$$type === \"@backstage/FrontendModule\" || obj.$$type === \"@backstage/FrontendFeatureLoader\";\n }\n return false;\n}\n\nexport { createFrontendFeatureLoader };\n//# sourceMappingURL=createFrontendFeatureLoader.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { useVersionedContext } from '@backstage/version-bridge';\nimport { NotImplementedError } from '@backstage/errors';\n\nfunction useApiHolder() {\n const versionedHolder = useVersionedContext(\"api-context\");\n if (!versionedHolder) {\n throw new NotImplementedError(\"API context is not available\");\n }\n const apiHolder = versionedHolder.atVersion(1);\n if (!apiHolder) {\n throw new NotImplementedError(\"ApiContext v1 not available\");\n }\n return apiHolder;\n}\nfunction useApi(apiRef) {\n const apiHolder = useApiHolder();\n const api = apiHolder.get(apiRef);\n if (!api) {\n throw new NotImplementedError(`No implementation available for ${apiRef}`);\n }\n return api;\n}\nfunction withApis(apis) {\n return function withApisWrapper(WrappedComponent) {\n const Hoc = (props) => {\n const apiHolder = useApiHolder();\n const impls = {};\n for (const key in apis) {\n if (apis.hasOwnProperty(key)) {\n const ref = apis[key];\n const api = apiHolder.get(ref);\n if (!api) {\n throw new NotImplementedError(\n `No implementation available for ${ref}`\n );\n }\n impls[key] = api;\n }\n }\n return /* @__PURE__ */ jsx(WrappedComponent, { ...props, ...impls });\n };\n const displayName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n Hoc.displayName = `withApis(${displayName})`;\n return Hoc;\n };\n}\n\nexport { useApi, useApiHolder, withApis };\n//# sourceMappingURL=useApi.esm.js.map\n","class ApiRefImpl {\n constructor(config) {\n this.config = config;\n const valid = config.id.split(\".\").flatMap((part) => part.split(\"-\")).every((part) => part.match(/^[a-z][a-z0-9]*$/));\n if (!valid) {\n throw new Error(\n `API id must only contain period separated lowercase alphanum tokens with dashes, got '${config.id}'`\n );\n }\n }\n get id() {\n return this.config.id;\n }\n // Utility for getting type of an api, using `typeof apiRef.T`\n get T() {\n throw new Error(`tried to read ApiRef.T of ${this}`);\n }\n toString() {\n return `apiRef{${this.config.id}}`;\n }\n}\nfunction createApiRef(config) {\n return new ApiRefImpl(config);\n}\n\nexport { createApiRef };\n//# sourceMappingURL=ApiRef.esm.js.map\n"],"names":["errorApiRef","id","AnalyticsReactContext","createVersionedContext","useAnalyticsContext","theContext","useContext","pluginId","extensionId","theValue","atVersion","Error","AnalyticsContext","options","attributes","children","combinedValue","versionedCombinedValue","createVersionedValueMap","jsx","Provider","value","analyticsApiRef","createApiRef","globalEvents","getOrCreateGlobalSingleton","mostRecentGatheredNavigation","mostRecentRoutableExtensionRender","beforeUnloadRegistered","Tracker","constructor","analyticsApi","context","this","addEventListener","captureEvent","once","passive","setContext","action","subject","e","console","warn","useAnalytics","trackerRef","useRef","useApi","error","name","useAnalyticsApi","tracker","current","appTreeApiRef","componentsApiRef","useComponentRef","ref","getComponent","iconsApiRef","dialogApiRef","routeResolutionApiRef","ignoreOverride","Symbol","defaultOptions","undefined","$refStrategy","basePath","effectStrategy","pipeStrategy","dateStrategy","mapStrategy","removeAdditionalStrategy","allowedAdditionalProperties","rejectedAdditionalProperties","definitionPath","target","strictUnions","definitions","errorMessages","markdownDescription","patternStrategy","applyRegexFlags","emailStrategy","base64Strategy","nameStrategy","addErrorMessage","res","key","errorMessage","refs","setResponseValueAndErrors","parseBrandedDef","_def","parseDef","type","parseDateDef","def","overrideDateStrategy","strategy","Array","isArray","anyOf","map","item","i","format","integerDateParser","check","checks","kind","message","emojiRegex","zodPatterns","parseStringDef","minLength","Math","max","maxLength","min","addFormat","addPattern","regex","RegExp","escapeLiteralCheckValue","version","literal","source","result","length","ALPHA_NUMERIC","has","escapeNonAlphaNumeric","Set","schema","some","x","push","Object","keys","pattern","allOf","stringifyRegExpWithFlags","flags","includes","toLowerCase","isEscaped","inCharGroup","inCharRange","match","toUpperCase","currentPath","join","parseRecordDef","keyType","typeName","ZodEnum","required","values","properties","reduce","acc","valueType","additionalProperties","ZodString","propertyNames","enum","ZodBranded","primitiveMappings","ZodNumber","ZodBigInt","ZodBoolean","ZodNull","asAnyOf","Map","from","filter","safeIsOptional","isOptional","selectParser","inclusive","exclusiveMinimum","exclusiveMaximum","parseNumberDef","ZodObject","forceOptionalIntoNullable","shape","propName","propDef","propOptional","innerType","isNullable","nullable","parsedDef","propertyPath","catchall","unknownKeys","decideAdditionalProperties","parseObjectDef","parseBigintDef","ZodDate","ZodUndefined","not","parseNullDef","ZodArray","ZodAny","items","exactLength","parseArrayDef","ZodUnion","ZodDiscriminatedUnion","every","types","description","uniqueTypes","a","indexOf","parseUnionDef","ZodIntersection","left","right","unevaluatedProperties","mergedAllOf","forEach","nestedSchema","rest","parseIntersectionDef","ZodTuple","minItems","additionalItems","maxItems","parseTupleDef","ZodRecord","ZodLiteral","parsedType","const","parseLiteralDef","parseEnumDef","ZodNativeEnum","object","actualValues","parsedTypes","parseNativeEnumDef","ZodNullable","base","parseNullableDef","ZodOptional","toString","innerSchema","parseOptionalDef","ZodMap","parseMapDef","ZodSet","uniqueItems","minSize","maxSize","parseSetDef","ZodLazy","getter","ZodPromise","parsePromiseDef","ZodNaN","ZodNever","ZodEffects","parseEffectsDef","ZodUnknown","ZodDefault","default","defaultValue","parseDefaultDef","ZodReadonly","ZodCatch","parseCatchDef","ZodPipeline","in","out","parsePipelineDef","ZodFunction","ZodVoid","ZodSymbol","forceResolution","seenItem","seen","get","override","overrideResult","seenSchema","get$ref","newItem","path","jsonSchema","set","jsonSchemaOrGetter","addMeta","postProcess","postProcessResult","$ref","getRelativePath","index","pathA","pathB","slice","_options","getDefaultOptions","entries","getRefs","main","title","combined","$schema","createExtensionDataRef","createRef","refId","assign","$$type","config","optional","Boolean","with","createExtensionDataContainer","declaredRefs","container","verifyRefs","output","delete","remainingRefs","iterator","resolveInputOverrides","declaredInputs","inputs","inputOverrides","newInputs","hasOwn","declaredInput","providedData","singleton","originalInput","providedContainer","extensionData","node","withNodesCount","d","data","formatIssue","issue","code","unionErrors","issues","OpaqueType","create","versions","TPublic","TInternal","isType","toInternal","TypeError","expected","createInstance","props","String","OpaqueExtensionDefinition","ctxParamsSymbol","createExtension","schemaDeclaration","configSchema","innerZ","z","fromEntries","k","v","parse","input","safeParse","success","createSchemaFromZod","T","attachTo","disabled","factory","parts","flat","overrideOptions","params","apis","parentResult","innerContext","deduplicatedResult","createExtensionBlueprint","dataRefs","make","args","ctx","makeWithOverrides","innerParams","factoryDataRef","ApiBlueprint","coreExtensionData","reactElement","routePath","routeRef","AppRootElementBlueprint","element","componentDataRef","AppRootWrapperBlueprint","component","Component","iconsDataRef","IconBundleBlueprint","icons","targetDataRef","NavItemBlueprint","icon","string","logoElementsDataRef","NavLogoBlueprint","logoElements","logoIcon","logoFull","ErrorBoundary","getDerivedStateFromError","state","handleErrorReset","setState","render","plugin","Fallback","resetError","createComponentRef","coreComponentRefs","progress","notFoundErrorPage","errorBoundaryFallback","CONTEXT_KEY","AppNodeContext","AppNodeProvider","versionedValue","useAppNode","versionedContext","useVersionedContext","RouteTracker","disableTracking","analytics","useEffect","Fragment","ExtensionBoundary","routable","doesOutputRoutePath","instance","getData","spec","Progress","fallback","Suspense","ExtensionBoundary2","lazy","appNode","loader","ExtensionComponent","then","lazyComponent","PageBlueprint","defaultPath","RouterBlueprint","SignInPageBlueprint","themeDataRef","ThemeBlueprint","theme","translationDataRef","TranslationBlueprint","translation","resource","createComponentExtension","impl","sync","lazyLoader","MESSAGE_MARKER","describeParentCallSite","ErrorConstructor","stack","startIndex","secondEntryStart","secondEntryEnd","line","substring","trim","toInternalRouteRef","r","RouteRefImpl","creationSite","getParams","getDescription","setId","createRouteRef","PARAM_PATTERN","SubRouteRefImpl","parent","getParent","createSubRouteRef","parentParams","pathParams","split","p","startsWith","endsWith","param","test","ExternalRouteRefImpl","defaultTarget","super","getDefaultTarget","createExternalRouteRef","useRouteRef","pathname","useLocation","routeResolutionApi","useMemo","resolve","sourcePath","useRouteRefParams","_routeRef","useParams","createTranslationMessages","full","messages","createTranslationResource","resources","translations","language","m","TranslationRefImpl","nested","visit","obj","prefix","flattenMessages","getDefaultMessages","setDefaultResource","getDefaultResource","createTranslationRef","loggedRefs","WeakSet","useTranslationRef","translationRef","errorApi","translationApi","snapshot","setSnapshot","useState","getTranslation","observable","translation$","onError","useCallback","errMsg","post","add","subscription","subscribe","next","ready","unsubscribe","initialRenderRef","Promise","t","createExtensionInput","replaces","resolveExtensionDefinition","definition","internalDefinition","namespace","_skip1","_skip2","namePart","OpaqueFrontendPlugin","createFrontendPlugin","extensions","extensionDefinitionsById","internal","ext","size","extensionIds","duplicates","routes","externalRoutes","featureFlags","infoOptions","info","getExtension","withOverrides","overrides","overriddenExtensionIds","nonOverriddenExtensions","createFrontendModule","createFrontendFeatureLoader","deps","it","useApiHolder","versionedHolder","apiHolder","apiRef","api","withApis","WrappedComponent","Hoc","impls","hasOwnProperty","displayName","ApiRefImpl","flatMap","part"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"static/8505.9dd864c9.chunk.js","mappings":"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","sources":["webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/apis/definitions/ErrorApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/analytics/AnalyticsContext.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AnalyticsApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/analytics/Tracker.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/analytics/useAnalytics.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/AppTreeApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/ComponentsApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/IconsApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/DialogApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/apis/definitions/RouteResolutionApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/Options.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/errorMessages.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/branded.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/date.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/string.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/record.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/union.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/object.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/selectParser.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/number.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/null.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/array.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/literal.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/enum.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/optional.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/map.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/set.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/promise.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/never.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/effects.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/default.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/catch.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/parseDef.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/index.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/zod-to-json-schema/dist/esm/Refs.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionDataRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/createExtensionDataContainer.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveInputOverrides.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/schema/createSchemaFromZod.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/opaque-internal/src/OpaqueType.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalExtensionDefinition.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtension.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/ApiBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/coreExtensionData.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootElementBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/AppRootWrapperBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/IconBundleBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavItemBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/NavLogoBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/ErrorBoundary.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/createComponentRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/core-plugin-api/src/analytics/Tracker.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/coreComponentRefs.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/AppNodeProvider.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/components/ExtensionBoundary.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/PageBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/RouterBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/SignInPageBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/ThemeBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/blueprints/TranslationBlueprint.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/extensions/createComponentExtension.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/describeParentCallSite.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/RouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/SubRouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/ExternalRouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/routing/useRouteRefParams.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/TranslationMessages.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/TranslationResource.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/TranslationRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/translation/useTranslationRef.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createExtensionInput.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/resolveExtensionDefinition.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/frontend-internal/src/wiring/InternalFrontendPlugin.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendPlugin.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendModule.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/frontend-plugin-api/dist/wiring/createFrontendFeatureLoader.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/apis/system/useApi.esm.js","webpack://veecode-platform.plugin-veecode-homepage/./node_modules/@backstage/core-plugin-api/dist/apis/system/ApiRef.esm.js"],"sourcesContent":["import 'react/jsx-runtime';\nimport '@backstage/version-bridge';\nimport '@backstage/errors';\nimport { createApiRef } from '../system/ApiRef.esm.js';\n\nconst errorApiRef = createApiRef({\n id: \"core.error\"\n});\n\nexport { errorApiRef };\n//# sourceMappingURL=ErrorApi.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, createVersionedValueMap } from '@backstage/version-bridge';\nimport { useContext } from 'react';\n\nconst AnalyticsReactContext = createVersionedContext(\"analytics-context\");\nconst useAnalyticsContext = () => {\n const theContext = useContext(AnalyticsReactContext);\n if (theContext === void 0) {\n return {\n pluginId: \"app\",\n extensionId: \"app\"\n };\n }\n const theValue = theContext.atVersion(1);\n if (theValue === void 0) {\n throw new Error(\"No context found for version 1.\");\n }\n return theValue;\n};\nconst AnalyticsContext = (options) => {\n const { attributes, children } = options;\n const parentValues = useAnalyticsContext();\n const combinedValue = {\n ...parentValues,\n ...attributes\n };\n const versionedCombinedValue = createVersionedValueMap({ 1: combinedValue });\n return /* @__PURE__ */ jsx(AnalyticsReactContext.Provider, { value: versionedCombinedValue, children });\n};\n\nexport { AnalyticsContext, useAnalyticsContext };\n//# sourceMappingURL=AnalyticsContext.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst analyticsApiRef = createApiRef({\n id: \"core.analytics\"\n});\n\nexport { analyticsApiRef };\n//# sourceMappingURL=AnalyticsApi.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\nconst globalEvents = getOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\nclass Tracker {\n constructor(analyticsApi, context = {\n pluginId: \"root\",\n extensionId: \"App\"\n }) {\n this.analyticsApi = analyticsApi;\n this.context = context;\n if (!globalEvents.beforeUnloadRegistered) {\n addEventListener(\n \"beforeunload\",\n () => {\n if (globalEvents.mostRecentGatheredNavigation) {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n },\n { once: true, passive: true }\n );\n globalEvents.beforeUnloadRegistered = true;\n }\n }\n setContext(context) {\n this.context = context;\n }\n captureEvent(action, subject, {\n value,\n attributes\n } = {}) {\n const context = this.context;\n if (action === routableExtensionRenderedEvent) {\n if (globalEvents.mostRecentGatheredNavigation) {\n globalEvents.mostRecentRoutableExtensionRender = {\n context: {\n ...context,\n extensionId: \"App\"\n }\n };\n }\n return;\n }\n if (globalEvents.mostRecentGatheredNavigation) {\n try {\n this.analyticsApi.captureEvent({\n ...globalEvents.mostRecentGatheredNavigation,\n ...globalEvents.mostRecentRoutableExtensionRender\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n globalEvents.mostRecentGatheredNavigation = void 0;\n globalEvents.mostRecentRoutableExtensionRender = void 0;\n }\n if (action === \"navigate\" && context.pluginId === \"root\") {\n globalEvents.mostRecentGatheredNavigation = {\n action,\n subject,\n value,\n attributes,\n context\n };\n return;\n }\n try {\n this.analyticsApi.captureEvent({\n action,\n subject,\n value,\n attributes,\n context\n });\n } catch (e) {\n console.warn(\"Error during analytics event capture. %o\", e);\n }\n }\n}\n\nexport { Tracker, routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { useApi } from '@backstage/core-plugin-api';\nimport { useAnalyticsContext } from './AnalyticsContext.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport '../apis/definitions/ComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport { analyticsApiRef } from '../apis/definitions/AnalyticsApi.esm.js';\nimport { useRef } from 'react';\nimport { Tracker } from './Tracker.esm.js';\n\nfunction useAnalyticsApi() {\n try {\n return useApi(analyticsApiRef);\n } catch (error) {\n if (error.name === \"NotImplementedError\") {\n return { captureEvent: () => {\n } };\n }\n throw error;\n }\n}\nfunction useAnalytics() {\n const trackerRef = useRef(null);\n const context = useAnalyticsContext();\n const analyticsApi = useAnalyticsApi();\n function getTracker() {\n if (trackerRef.current === null) {\n trackerRef.current = new Tracker(analyticsApi);\n }\n return trackerRef.current;\n }\n const tracker = getTracker();\n tracker.setContext(context);\n return tracker;\n}\n\nexport { useAnalytics };\n//# sourceMappingURL=useAnalytics.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst appTreeApiRef = createApiRef({ id: \"core.app-tree\" });\n\nexport { appTreeApiRef };\n//# sourceMappingURL=AppTreeApi.esm.js.map\n","import { createApiRef, useApi } from '@backstage/core-plugin-api';\n\nconst componentsApiRef = createApiRef({\n id: \"core.components\"\n});\nfunction useComponentRef(ref) {\n const componentsApi = useApi(componentsApiRef);\n return componentsApi.getComponent(ref);\n}\n\nexport { componentsApiRef, useComponentRef };\n//# sourceMappingURL=ComponentsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst iconsApiRef = createApiRef({\n id: \"core.icons\"\n});\n\nexport { iconsApiRef };\n//# sourceMappingURL=IconsApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst dialogApiRef = createApiRef({\n id: \"core.dialog\"\n});\n\nexport { dialogApiRef };\n//# sourceMappingURL=DialogApi.esm.js.map\n","import { createApiRef } from '@backstage/core-plugin-api';\n\nconst routeResolutionApiRef = createApiRef({\n id: \"core.route-resolution\"\n});\n\nexport { routeResolutionApiRef };\n//# sourceMappingURL=RouteResolutionApi.esm.js.map\n","export const ignoreOverride = Symbol(\"Let zodToJsonSchema decide on which parser to use\");\nexport const jsonDescription = (jsonSchema, def) => {\n if (def.description) {\n try {\n return {\n ...jsonSchema,\n ...JSON.parse(def.description),\n };\n }\n catch { }\n }\n return jsonSchema;\n};\nexport const defaultOptions = {\n name: undefined,\n $refStrategy: \"root\",\n basePath: [\"#\"],\n effectStrategy: \"input\",\n pipeStrategy: \"all\",\n dateStrategy: \"format:date-time\",\n mapStrategy: \"entries\",\n removeAdditionalStrategy: \"passthrough\",\n allowedAdditionalProperties: true,\n rejectedAdditionalProperties: false,\n definitionPath: \"definitions\",\n target: \"jsonSchema7\",\n strictUnions: false,\n definitions: {},\n errorMessages: false,\n markdownDescription: false,\n patternStrategy: \"escape\",\n applyRegexFlags: false,\n emailStrategy: \"format:email\",\n base64Strategy: \"contentEncoding:base64\",\n nameStrategy: \"ref\",\n};\nexport const getDefaultOptions = (options) => (typeof options === \"string\"\n ? {\n ...defaultOptions,\n name: options,\n }\n : {\n ...defaultOptions,\n ...options,\n });\n","export function addErrorMessage(res, key, errorMessage, refs) {\n if (!refs?.errorMessages)\n return;\n if (errorMessage) {\n res.errorMessage = {\n ...res.errorMessage,\n [key]: errorMessage,\n };\n }\n}\nexport function setResponseValueAndErrors(res, key, value, errorMessage, refs) {\n res[key] = value;\n addErrorMessage(res, key, errorMessage, refs);\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseBrandedDef(_def, refs) {\n return parseDef(_def.type._def, refs);\n}\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nexport function parseDateDef(def, refs, overrideDateStrategy) {\n const strategy = overrideDateStrategy ?? refs.dateStrategy;\n if (Array.isArray(strategy)) {\n return {\n anyOf: strategy.map((item, i) => parseDateDef(def, refs, item)),\n };\n }\n switch (strategy) {\n case \"string\":\n case \"format:date-time\":\n return {\n type: \"string\",\n format: \"date-time\",\n };\n case \"format:date\":\n return {\n type: \"string\",\n format: \"date\",\n };\n case \"integer\":\n return integerDateParser(def, refs);\n }\n}\nconst integerDateParser = (def, refs) => {\n const res = {\n type: \"integer\",\n format: \"unix-time\",\n };\n if (refs.target === \"openApi3\") {\n return res;\n }\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n setResponseValueAndErrors(res, \"minimum\", check.value, // This is in milliseconds\n check.message, refs);\n break;\n case \"max\":\n setResponseValueAndErrors(res, \"maximum\", check.value, // This is in milliseconds\n check.message, refs);\n break;\n }\n }\n return res;\n};\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nlet emojiRegex = undefined;\n/**\n * Generated from the regular expressions found here as of 2024-05-22:\n * https://github.com/colinhacks/zod/blob/master/src/types.ts.\n *\n * Expressions with /i flag have been changed accordingly.\n */\nexport const zodPatterns = {\n /**\n * `c` was changed to `[cC]` to replicate /i flag\n */\n cuid: /^[cC][^\\s-]{8,}$/,\n cuid2: /^[0-9a-z]+$/,\n ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,\n /**\n * `a-z` was added to replicate /i flag\n */\n email: /^(?!\\.)(?!.*\\.\\.)([a-zA-Z0-9_'+\\-\\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\\-]*\\.)+[a-zA-Z]{2,}$/,\n /**\n * Constructed a valid Unicode RegExp\n *\n * Lazily instantiate since this type of regex isn't supported\n * in all envs (e.g. React Native).\n *\n * See:\n * https://github.com/colinhacks/zod/issues/2433\n * Fix in Zod:\n * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b\n */\n emoji: () => {\n if (emojiRegex === undefined) {\n emojiRegex = RegExp(\"^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$\", \"u\");\n }\n return emojiRegex;\n },\n /**\n * Unused\n */\n uuid: /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/,\n /**\n * Unused\n */\n ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,\n ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/,\n /**\n * Unused\n */\n ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,\n ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,\n base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,\n base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,\n nanoid: /^[a-zA-Z0-9_-]{21}$/,\n jwt: /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/,\n};\nexport function parseStringDef(def, refs) {\n const res = {\n type: \"string\",\n };\n if (def.checks) {\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n setResponseValueAndErrors(res, \"minLength\", typeof res.minLength === \"number\"\n ? Math.max(res.minLength, check.value)\n : check.value, check.message, refs);\n break;\n case \"max\":\n setResponseValueAndErrors(res, \"maxLength\", typeof res.maxLength === \"number\"\n ? Math.min(res.maxLength, check.value)\n : check.value, check.message, refs);\n break;\n case \"email\":\n switch (refs.emailStrategy) {\n case \"format:email\":\n addFormat(res, \"email\", check.message, refs);\n break;\n case \"format:idn-email\":\n addFormat(res, \"idn-email\", check.message, refs);\n break;\n case \"pattern:zod\":\n addPattern(res, zodPatterns.email, check.message, refs);\n break;\n }\n break;\n case \"url\":\n addFormat(res, \"uri\", check.message, refs);\n break;\n case \"uuid\":\n addFormat(res, \"uuid\", check.message, refs);\n break;\n case \"regex\":\n addPattern(res, check.regex, check.message, refs);\n break;\n case \"cuid\":\n addPattern(res, zodPatterns.cuid, check.message, refs);\n break;\n case \"cuid2\":\n addPattern(res, zodPatterns.cuid2, check.message, refs);\n break;\n case \"startsWith\":\n addPattern(res, RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`), check.message, refs);\n break;\n case \"endsWith\":\n addPattern(res, RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`), check.message, refs);\n break;\n case \"datetime\":\n addFormat(res, \"date-time\", check.message, refs);\n break;\n case \"date\":\n addFormat(res, \"date\", check.message, refs);\n break;\n case \"time\":\n addFormat(res, \"time\", check.message, refs);\n break;\n case \"duration\":\n addFormat(res, \"duration\", check.message, refs);\n break;\n case \"length\":\n setResponseValueAndErrors(res, \"minLength\", typeof res.minLength === \"number\"\n ? Math.max(res.minLength, check.value)\n : check.value, check.message, refs);\n setResponseValueAndErrors(res, \"maxLength\", typeof res.maxLength === \"number\"\n ? Math.min(res.maxLength, check.value)\n : check.value, check.message, refs);\n break;\n case \"includes\": {\n addPattern(res, RegExp(escapeLiteralCheckValue(check.value, refs)), check.message, refs);\n break;\n }\n case \"ip\": {\n if (check.version !== \"v6\") {\n addFormat(res, \"ipv4\", check.message, refs);\n }\n if (check.version !== \"v4\") {\n addFormat(res, \"ipv6\", check.message, refs);\n }\n break;\n }\n case \"base64url\":\n addPattern(res, zodPatterns.base64url, check.message, refs);\n break;\n case \"jwt\":\n addPattern(res, zodPatterns.jwt, check.message, refs);\n break;\n case \"cidr\": {\n if (check.version !== \"v6\") {\n addPattern(res, zodPatterns.ipv4Cidr, check.message, refs);\n }\n if (check.version !== \"v4\") {\n addPattern(res, zodPatterns.ipv6Cidr, check.message, refs);\n }\n break;\n }\n case \"emoji\":\n addPattern(res, zodPatterns.emoji(), check.message, refs);\n break;\n case \"ulid\": {\n addPattern(res, zodPatterns.ulid, check.message, refs);\n break;\n }\n case \"base64\": {\n switch (refs.base64Strategy) {\n case \"format:binary\": {\n addFormat(res, \"binary\", check.message, refs);\n break;\n }\n case \"contentEncoding:base64\": {\n setResponseValueAndErrors(res, \"contentEncoding\", \"base64\", check.message, refs);\n break;\n }\n case \"pattern:zod\": {\n addPattern(res, zodPatterns.base64, check.message, refs);\n break;\n }\n }\n break;\n }\n case \"nanoid\": {\n addPattern(res, zodPatterns.nanoid, check.message, refs);\n }\n case \"toLowerCase\":\n case \"toUpperCase\":\n case \"trim\":\n break;\n default:\n /* c8 ignore next */\n ((_) => { })(check);\n }\n }\n }\n return res;\n}\nfunction escapeLiteralCheckValue(literal, refs) {\n return refs.patternStrategy === \"escape\"\n ? escapeNonAlphaNumeric(literal)\n : literal;\n}\nconst ALPHA_NUMERIC = new Set(\"ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789\");\nfunction escapeNonAlphaNumeric(source) {\n let result = \"\";\n for (let i = 0; i < source.length; i++) {\n if (!ALPHA_NUMERIC.has(source[i])) {\n result += \"\\\\\";\n }\n result += source[i];\n }\n return result;\n}\n// Adds a \"format\" keyword to the schema. If a format exists, both formats will be joined in an allOf-node, along with subsequent ones.\nfunction addFormat(schema, value, message, refs) {\n if (schema.format || schema.anyOf?.some((x) => x.format)) {\n if (!schema.anyOf) {\n schema.anyOf = [];\n }\n if (schema.format) {\n schema.anyOf.push({\n format: schema.format,\n ...(schema.errorMessage &&\n refs.errorMessages && {\n errorMessage: { format: schema.errorMessage.format },\n }),\n });\n delete schema.format;\n if (schema.errorMessage) {\n delete schema.errorMessage.format;\n if (Object.keys(schema.errorMessage).length === 0) {\n delete schema.errorMessage;\n }\n }\n }\n schema.anyOf.push({\n format: value,\n ...(message &&\n refs.errorMessages && { errorMessage: { format: message } }),\n });\n }\n else {\n setResponseValueAndErrors(schema, \"format\", value, message, refs);\n }\n}\n// Adds a \"pattern\" keyword to the schema. If a pattern exists, both patterns will be joined in an allOf-node, along with subsequent ones.\nfunction addPattern(schema, regex, message, refs) {\n if (schema.pattern || schema.allOf?.some((x) => x.pattern)) {\n if (!schema.allOf) {\n schema.allOf = [];\n }\n if (schema.pattern) {\n schema.allOf.push({\n pattern: schema.pattern,\n ...(schema.errorMessage &&\n refs.errorMessages && {\n errorMessage: { pattern: schema.errorMessage.pattern },\n }),\n });\n delete schema.pattern;\n if (schema.errorMessage) {\n delete schema.errorMessage.pattern;\n if (Object.keys(schema.errorMessage).length === 0) {\n delete schema.errorMessage;\n }\n }\n }\n schema.allOf.push({\n pattern: stringifyRegExpWithFlags(regex, refs),\n ...(message &&\n refs.errorMessages && { errorMessage: { pattern: message } }),\n });\n }\n else {\n setResponseValueAndErrors(schema, \"pattern\", stringifyRegExpWithFlags(regex, refs), message, refs);\n }\n}\n// Mutate z.string.regex() in a best attempt to accommodate for regex flags when applyRegexFlags is true\nfunction stringifyRegExpWithFlags(regex, refs) {\n if (!refs.applyRegexFlags || !regex.flags) {\n return regex.source;\n }\n // Currently handled flags\n const flags = {\n i: regex.flags.includes(\"i\"),\n m: regex.flags.includes(\"m\"),\n s: regex.flags.includes(\"s\"), // `.` matches newlines\n };\n // The general principle here is to step through each character, one at a time, applying mutations as flags require. We keep track when the current character is escaped, and when it's inside a group /like [this]/ or (also) a range like /[a-z]/. The following is fairly brittle imperative code; edit at your peril!\n const source = flags.i ? regex.source.toLowerCase() : regex.source;\n let pattern = \"\";\n let isEscaped = false;\n let inCharGroup = false;\n let inCharRange = false;\n for (let i = 0; i < source.length; i++) {\n if (isEscaped) {\n pattern += source[i];\n isEscaped = false;\n continue;\n }\n if (flags.i) {\n if (inCharGroup) {\n if (source[i].match(/[a-z]/)) {\n if (inCharRange) {\n pattern += source[i];\n pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();\n inCharRange = false;\n }\n else if (source[i + 1] === \"-\" && source[i + 2]?.match(/[a-z]/)) {\n pattern += source[i];\n inCharRange = true;\n }\n else {\n pattern += `${source[i]}${source[i].toUpperCase()}`;\n }\n continue;\n }\n }\n else if (source[i].match(/[a-z]/)) {\n pattern += `[${source[i]}${source[i].toUpperCase()}]`;\n continue;\n }\n }\n if (flags.m) {\n if (source[i] === \"^\") {\n pattern += `(^|(?<=[\\r\\n]))`;\n continue;\n }\n else if (source[i] === \"$\") {\n pattern += `($|(?=[\\r\\n]))`;\n continue;\n }\n }\n if (flags.s && source[i] === \".\") {\n pattern += inCharGroup ? `${source[i]}\\r\\n` : `[${source[i]}\\r\\n]`;\n continue;\n }\n pattern += source[i];\n if (source[i] === \"\\\\\") {\n isEscaped = true;\n }\n else if (inCharGroup && source[i] === \"]\") {\n inCharGroup = false;\n }\n else if (!inCharGroup && source[i] === \"[\") {\n inCharGroup = true;\n }\n }\n try {\n new RegExp(pattern);\n }\n catch {\n console.warn(`Could not convert regex pattern at ${refs.currentPath.join(\"/\")} to a flag-independent form! Falling back to the flag-ignorant source`);\n return regex.source;\n }\n return pattern;\n}\n","import { ZodFirstPartyTypeKind, } from \"zod\";\nimport { parseDef } from \"../parseDef.js\";\nimport { parseStringDef } from \"./string.js\";\nimport { parseBrandedDef } from \"./branded.js\";\nexport function parseRecordDef(def, refs) {\n if (refs.target === \"openAi\") {\n console.warn(\"Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.\");\n }\n if (refs.target === \"openApi3\" &&\n def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {\n return {\n type: \"object\",\n required: def.keyType._def.values,\n properties: def.keyType._def.values.reduce((acc, key) => ({\n ...acc,\n [key]: parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"properties\", key],\n }) ?? {},\n }), {}),\n additionalProperties: refs.rejectedAdditionalProperties,\n };\n }\n const schema = {\n type: \"object\",\n additionalProperties: parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalProperties\"],\n }) ?? refs.allowedAdditionalProperties,\n };\n if (refs.target === \"openApi3\") {\n return schema;\n }\n if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodString &&\n def.keyType._def.checks?.length) {\n const { type, ...keyType } = parseStringDef(def.keyType._def, refs);\n return {\n ...schema,\n propertyNames: keyType,\n };\n }\n else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {\n return {\n ...schema,\n propertyNames: {\n enum: def.keyType._def.values,\n },\n };\n }\n else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodBranded &&\n def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind.ZodString &&\n def.keyType._def.type._def.checks?.length) {\n const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs);\n return {\n ...schema,\n propertyNames: keyType,\n };\n }\n return schema;\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const primitiveMappings = {\n ZodString: \"string\",\n ZodNumber: \"number\",\n ZodBigInt: \"integer\",\n ZodBoolean: \"boolean\",\n ZodNull: \"null\",\n};\nexport function parseUnionDef(def, refs) {\n if (refs.target === \"openApi3\")\n return asAnyOf(def, refs);\n const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;\n // This blocks tries to look ahead a bit to produce nicer looking schemas with type array instead of anyOf.\n if (options.every((x) => x._def.typeName in primitiveMappings &&\n (!x._def.checks || !x._def.checks.length))) {\n // all types in union are primitive and lack checks, so might as well squash into {type: [...]}\n const types = options.reduce((types, x) => {\n const type = primitiveMappings[x._def.typeName]; //Can be safely casted due to row 43\n return type && !types.includes(type) ? [...types, type] : types;\n }, []);\n return {\n type: types.length > 1 ? types : types[0],\n };\n }\n else if (options.every((x) => x._def.typeName === \"ZodLiteral\" && !x.description)) {\n // all options literals\n const types = options.reduce((acc, x) => {\n const type = typeof x._def.value;\n switch (type) {\n case \"string\":\n case \"number\":\n case \"boolean\":\n return [...acc, type];\n case \"bigint\":\n return [...acc, \"integer\"];\n case \"object\":\n if (x._def.value === null)\n return [...acc, \"null\"];\n case \"symbol\":\n case \"undefined\":\n case \"function\":\n default:\n return acc;\n }\n }, []);\n if (types.length === options.length) {\n // all the literals are primitive, as far as null can be considered primitive\n const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i);\n return {\n type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],\n enum: options.reduce((acc, x) => {\n return acc.includes(x._def.value) ? acc : [...acc, x._def.value];\n }, []),\n };\n }\n }\n else if (options.every((x) => x._def.typeName === \"ZodEnum\")) {\n return {\n type: \"string\",\n enum: options.reduce((acc, x) => [\n ...acc,\n ...x._def.values.filter((x) => !acc.includes(x)),\n ], []),\n };\n }\n return asAnyOf(def, refs);\n}\nconst asAnyOf = (def, refs) => {\n const anyOf = (def.options instanceof Map\n ? Array.from(def.options.values())\n : def.options)\n .map((x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", `${i}`],\n }))\n .filter((x) => !!x &&\n (!refs.strictUnions ||\n (typeof x === \"object\" && Object.keys(x).length > 0)));\n return anyOf.length ? { anyOf } : undefined;\n};\n","import { ZodOptional } from \"zod\";\nimport { parseDef } from \"../parseDef.js\";\nexport function parseObjectDef(def, refs) {\n const forceOptionalIntoNullable = refs.target === \"openAi\";\n const result = {\n type: \"object\",\n properties: {},\n };\n const required = [];\n const shape = def.shape();\n for (const propName in shape) {\n let propDef = shape[propName];\n if (propDef === undefined || propDef._def === undefined) {\n continue;\n }\n let propOptional = safeIsOptional(propDef);\n if (propOptional && forceOptionalIntoNullable) {\n if (propDef instanceof ZodOptional) {\n propDef = propDef._def.innerType;\n }\n if (!propDef.isNullable()) {\n propDef = propDef.nullable();\n }\n propOptional = false;\n }\n const parsedDef = parseDef(propDef._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"properties\", propName],\n propertyPath: [...refs.currentPath, \"properties\", propName],\n });\n if (parsedDef === undefined) {\n continue;\n }\n result.properties[propName] = parsedDef;\n if (!propOptional) {\n required.push(propName);\n }\n }\n if (required.length) {\n result.required = required;\n }\n const additionalProperties = decideAdditionalProperties(def, refs);\n if (additionalProperties !== undefined) {\n result.additionalProperties = additionalProperties;\n }\n return result;\n}\nfunction decideAdditionalProperties(def, refs) {\n if (def.catchall._def.typeName !== \"ZodNever\") {\n return parseDef(def.catchall._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalProperties\"],\n });\n }\n switch (def.unknownKeys) {\n case \"passthrough\":\n return refs.allowedAdditionalProperties;\n case \"strict\":\n return refs.rejectedAdditionalProperties;\n case \"strip\":\n return refs.removeAdditionalStrategy === \"strict\"\n ? refs.allowedAdditionalProperties\n : refs.rejectedAdditionalProperties;\n }\n}\nfunction safeIsOptional(schema) {\n try {\n return schema.isOptional();\n }\n catch {\n return true;\n }\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const parseReadonlyDef = (def, refs) => {\n return parseDef(def.innerType._def, refs);\n};\n","import { ZodFirstPartyTypeKind } from \"zod\";\nimport { parseAnyDef } from \"./parsers/any.js\";\nimport { parseArrayDef } from \"./parsers/array.js\";\nimport { parseBigintDef } from \"./parsers/bigint.js\";\nimport { parseBooleanDef } from \"./parsers/boolean.js\";\nimport { parseBrandedDef } from \"./parsers/branded.js\";\nimport { parseCatchDef } from \"./parsers/catch.js\";\nimport { parseDateDef } from \"./parsers/date.js\";\nimport { parseDefaultDef } from \"./parsers/default.js\";\nimport { parseEffectsDef } from \"./parsers/effects.js\";\nimport { parseEnumDef } from \"./parsers/enum.js\";\nimport { parseIntersectionDef } from \"./parsers/intersection.js\";\nimport { parseLiteralDef } from \"./parsers/literal.js\";\nimport { parseMapDef } from \"./parsers/map.js\";\nimport { parseNativeEnumDef } from \"./parsers/nativeEnum.js\";\nimport { parseNeverDef } from \"./parsers/never.js\";\nimport { parseNullDef } from \"./parsers/null.js\";\nimport { parseNullableDef } from \"./parsers/nullable.js\";\nimport { parseNumberDef } from \"./parsers/number.js\";\nimport { parseObjectDef } from \"./parsers/object.js\";\nimport { parseOptionalDef } from \"./parsers/optional.js\";\nimport { parsePipelineDef } from \"./parsers/pipeline.js\";\nimport { parsePromiseDef } from \"./parsers/promise.js\";\nimport { parseRecordDef } from \"./parsers/record.js\";\nimport { parseSetDef } from \"./parsers/set.js\";\nimport { parseStringDef } from \"./parsers/string.js\";\nimport { parseTupleDef } from \"./parsers/tuple.js\";\nimport { parseUndefinedDef } from \"./parsers/undefined.js\";\nimport { parseUnionDef } from \"./parsers/union.js\";\nimport { parseUnknownDef } from \"./parsers/unknown.js\";\nimport { parseReadonlyDef } from \"./parsers/readonly.js\";\nexport const selectParser = (def, typeName, refs) => {\n switch (typeName) {\n case ZodFirstPartyTypeKind.ZodString:\n return parseStringDef(def, refs);\n case ZodFirstPartyTypeKind.ZodNumber:\n return parseNumberDef(def, refs);\n case ZodFirstPartyTypeKind.ZodObject:\n return parseObjectDef(def, refs);\n case ZodFirstPartyTypeKind.ZodBigInt:\n return parseBigintDef(def, refs);\n case ZodFirstPartyTypeKind.ZodBoolean:\n return parseBooleanDef();\n case ZodFirstPartyTypeKind.ZodDate:\n return parseDateDef(def, refs);\n case ZodFirstPartyTypeKind.ZodUndefined:\n return parseUndefinedDef();\n case ZodFirstPartyTypeKind.ZodNull:\n return parseNullDef(refs);\n case ZodFirstPartyTypeKind.ZodArray:\n return parseArrayDef(def, refs);\n case ZodFirstPartyTypeKind.ZodUnion:\n case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:\n return parseUnionDef(def, refs);\n case ZodFirstPartyTypeKind.ZodIntersection:\n return parseIntersectionDef(def, refs);\n case ZodFirstPartyTypeKind.ZodTuple:\n return parseTupleDef(def, refs);\n case ZodFirstPartyTypeKind.ZodRecord:\n return parseRecordDef(def, refs);\n case ZodFirstPartyTypeKind.ZodLiteral:\n return parseLiteralDef(def, refs);\n case ZodFirstPartyTypeKind.ZodEnum:\n return parseEnumDef(def);\n case ZodFirstPartyTypeKind.ZodNativeEnum:\n return parseNativeEnumDef(def);\n case ZodFirstPartyTypeKind.ZodNullable:\n return parseNullableDef(def, refs);\n case ZodFirstPartyTypeKind.ZodOptional:\n return parseOptionalDef(def, refs);\n case ZodFirstPartyTypeKind.ZodMap:\n return parseMapDef(def, refs);\n case ZodFirstPartyTypeKind.ZodSet:\n return parseSetDef(def, refs);\n case ZodFirstPartyTypeKind.ZodLazy:\n return () => def.getter()._def;\n case ZodFirstPartyTypeKind.ZodPromise:\n return parsePromiseDef(def, refs);\n case ZodFirstPartyTypeKind.ZodNaN:\n case ZodFirstPartyTypeKind.ZodNever:\n return parseNeverDef();\n case ZodFirstPartyTypeKind.ZodEffects:\n return parseEffectsDef(def, refs);\n case ZodFirstPartyTypeKind.ZodAny:\n return parseAnyDef();\n case ZodFirstPartyTypeKind.ZodUnknown:\n return parseUnknownDef();\n case ZodFirstPartyTypeKind.ZodDefault:\n return parseDefaultDef(def, refs);\n case ZodFirstPartyTypeKind.ZodBranded:\n return parseBrandedDef(def, refs);\n case ZodFirstPartyTypeKind.ZodReadonly:\n return parseReadonlyDef(def, refs);\n case ZodFirstPartyTypeKind.ZodCatch:\n return parseCatchDef(def, refs);\n case ZodFirstPartyTypeKind.ZodPipeline:\n return parsePipelineDef(def, refs);\n case ZodFirstPartyTypeKind.ZodFunction:\n case ZodFirstPartyTypeKind.ZodVoid:\n case ZodFirstPartyTypeKind.ZodSymbol:\n return undefined;\n default:\n /* c8 ignore next */\n return ((_) => undefined)(typeName);\n }\n};\n","import { addErrorMessage, setResponseValueAndErrors, } from \"../errorMessages.js\";\nexport function parseNumberDef(def, refs) {\n const res = {\n type: \"number\",\n };\n if (!def.checks)\n return res;\n for (const check of def.checks) {\n switch (check.kind) {\n case \"int\":\n res.type = \"integer\";\n addErrorMessage(res, \"type\", check.message, refs);\n break;\n case \"min\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMinimum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMinimum = true;\n }\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n break;\n case \"max\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMaximum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMaximum = true;\n }\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n break;\n case \"multipleOf\":\n setResponseValueAndErrors(res, \"multipleOf\", check.value, check.message, refs);\n break;\n }\n }\n return res;\n}\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nexport function parseBigintDef(def, refs) {\n const res = {\n type: \"integer\",\n format: \"int64\",\n };\n if (!def.checks)\n return res;\n for (const check of def.checks) {\n switch (check.kind) {\n case \"min\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMinimum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMinimum = true;\n }\n setResponseValueAndErrors(res, \"minimum\", check.value, check.message, refs);\n }\n break;\n case \"max\":\n if (refs.target === \"jsonSchema7\") {\n if (check.inclusive) {\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n else {\n setResponseValueAndErrors(res, \"exclusiveMaximum\", check.value, check.message, refs);\n }\n }\n else {\n if (!check.inclusive) {\n res.exclusiveMaximum = true;\n }\n setResponseValueAndErrors(res, \"maximum\", check.value, check.message, refs);\n }\n break;\n case \"multipleOf\":\n setResponseValueAndErrors(res, \"multipleOf\", check.value, check.message, refs);\n break;\n }\n }\n return res;\n}\n","export function parseBooleanDef() {\n return {\n type: \"boolean\",\n };\n}\n","export function parseUndefinedDef() {\n return {\n not: {},\n };\n}\n","export function parseNullDef(refs) {\n return refs.target === \"openApi3\"\n ? {\n enum: [\"null\"],\n nullable: true,\n }\n : {\n type: \"null\",\n };\n}\n","import { ZodFirstPartyTypeKind } from \"zod\";\nimport { setResponseValueAndErrors } from \"../errorMessages.js\";\nimport { parseDef } from \"../parseDef.js\";\nexport function parseArrayDef(def, refs) {\n const res = {\n type: \"array\",\n };\n if (def.type?._def &&\n def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {\n res.items = parseDef(def.type._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"],\n });\n }\n if (def.minLength) {\n setResponseValueAndErrors(res, \"minItems\", def.minLength.value, def.minLength.message, refs);\n }\n if (def.maxLength) {\n setResponseValueAndErrors(res, \"maxItems\", def.maxLength.value, def.maxLength.message, refs);\n }\n if (def.exactLength) {\n setResponseValueAndErrors(res, \"minItems\", def.exactLength.value, def.exactLength.message, refs);\n setResponseValueAndErrors(res, \"maxItems\", def.exactLength.value, def.exactLength.message, refs);\n }\n return res;\n}\n","import { parseDef } from \"../parseDef.js\";\nconst isJsonSchema7AllOfType = (type) => {\n if (\"type\" in type && type.type === \"string\")\n return false;\n return \"allOf\" in type;\n};\nexport function parseIntersectionDef(def, refs) {\n const allOf = [\n parseDef(def.left._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"0\"],\n }),\n parseDef(def.right._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"1\"],\n }),\n ].filter((x) => !!x);\n let unevaluatedProperties = refs.target === \"jsonSchema2019-09\"\n ? { unevaluatedProperties: false }\n : undefined;\n const mergedAllOf = [];\n // If either of the schemas is an allOf, merge them into a single allOf\n allOf.forEach((schema) => {\n if (isJsonSchema7AllOfType(schema)) {\n mergedAllOf.push(...schema.allOf);\n if (schema.unevaluatedProperties === undefined) {\n // If one of the schemas has no unevaluatedProperties set,\n // the merged schema should also have no unevaluatedProperties set\n unevaluatedProperties = undefined;\n }\n }\n else {\n let nestedSchema = schema;\n if (\"additionalProperties\" in schema &&\n schema.additionalProperties === false) {\n const { additionalProperties, ...rest } = schema;\n nestedSchema = rest;\n }\n else {\n // As soon as one of the schemas has additionalProperties set not to false, we allow unevaluatedProperties\n unevaluatedProperties = undefined;\n }\n mergedAllOf.push(nestedSchema);\n }\n });\n return mergedAllOf.length\n ? {\n allOf: mergedAllOf,\n ...unevaluatedProperties,\n }\n : undefined;\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseTupleDef(def, refs) {\n if (def.rest) {\n return {\n type: \"array\",\n minItems: def.items.length,\n items: def.items\n .map((x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", `${i}`],\n }))\n .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),\n additionalItems: parseDef(def.rest._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"additionalItems\"],\n }),\n };\n }\n else {\n return {\n type: \"array\",\n minItems: def.items.length,\n maxItems: def.items.length,\n items: def.items\n .map((x, i) => parseDef(x._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", `${i}`],\n }))\n .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),\n };\n }\n}\n","export function parseLiteralDef(def, refs) {\n const parsedType = typeof def.value;\n if (parsedType !== \"bigint\" &&\n parsedType !== \"number\" &&\n parsedType !== \"boolean\" &&\n parsedType !== \"string\") {\n return {\n type: Array.isArray(def.value) ? \"array\" : \"object\",\n };\n }\n if (refs.target === \"openApi3\") {\n return {\n type: parsedType === \"bigint\" ? \"integer\" : parsedType,\n enum: [def.value],\n };\n }\n return {\n type: parsedType === \"bigint\" ? \"integer\" : parsedType,\n const: def.value,\n };\n}\n","export function parseEnumDef(def) {\n return {\n type: \"string\",\n enum: Array.from(def.values),\n };\n}\n","export function parseNativeEnumDef(def) {\n const object = def.values;\n const actualKeys = Object.keys(def.values).filter((key) => {\n return typeof object[object[key]] !== \"number\";\n });\n const actualValues = actualKeys.map((key) => object[key]);\n const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));\n return {\n type: parsedTypes.length === 1\n ? parsedTypes[0] === \"string\"\n ? \"string\"\n : \"number\"\n : [\"string\", \"number\"],\n enum: actualValues,\n };\n}\n","import { parseDef } from \"../parseDef.js\";\nimport { primitiveMappings } from \"./union.js\";\nexport function parseNullableDef(def, refs) {\n if ([\"ZodString\", \"ZodNumber\", \"ZodBigInt\", \"ZodBoolean\", \"ZodNull\"].includes(def.innerType._def.typeName) &&\n (!def.innerType._def.checks || !def.innerType._def.checks.length)) {\n if (refs.target === \"openApi3\") {\n return {\n type: primitiveMappings[def.innerType._def.typeName],\n nullable: true,\n };\n }\n return {\n type: [\n primitiveMappings[def.innerType._def.typeName],\n \"null\",\n ],\n };\n }\n if (refs.target === \"openApi3\") {\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath],\n });\n if (base && \"$ref\" in base)\n return { allOf: [base], nullable: true };\n return base && { ...base, nullable: true };\n }\n const base = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"0\"],\n });\n return base && { anyOf: [base, { type: \"null\" }] };\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const parseOptionalDef = (def, refs) => {\n if (refs.currentPath.toString() === refs.propertyPath?.toString()) {\n return parseDef(def.innerType._def, refs);\n }\n const innerSchema = parseDef(def.innerType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"anyOf\", \"1\"],\n });\n return innerSchema\n ? {\n anyOf: [\n {\n not: {},\n },\n innerSchema,\n ],\n }\n : {};\n};\n","import { parseDef } from \"../parseDef.js\";\nimport { parseRecordDef } from \"./record.js\";\nexport function parseMapDef(def, refs) {\n if (refs.mapStrategy === \"record\") {\n return parseRecordDef(def, refs);\n }\n const keys = parseDef(def.keyType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", \"items\", \"0\"],\n }) || {};\n const values = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\", \"items\", \"1\"],\n }) || {};\n return {\n type: \"array\",\n maxItems: 125,\n items: {\n type: \"array\",\n items: [keys, values],\n minItems: 2,\n maxItems: 2,\n },\n };\n}\n","import { setResponseValueAndErrors } from \"../errorMessages.js\";\nimport { parseDef } from \"../parseDef.js\";\nexport function parseSetDef(def, refs) {\n const items = parseDef(def.valueType._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"items\"],\n });\n const schema = {\n type: \"array\",\n uniqueItems: true,\n items,\n };\n if (def.minSize) {\n setResponseValueAndErrors(schema, \"minItems\", def.minSize.value, def.minSize.message, refs);\n }\n if (def.maxSize) {\n setResponseValueAndErrors(schema, \"maxItems\", def.maxSize.value, def.maxSize.message, refs);\n }\n return schema;\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parsePromiseDef(def, refs) {\n return parseDef(def.type._def, refs);\n}\n","export function parseNeverDef() {\n return {\n not: {},\n };\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseEffectsDef(_def, refs) {\n return refs.effectStrategy === \"input\"\n ? parseDef(_def.schema._def, refs)\n : {};\n}\n","export function parseUnknownDef() {\n return {};\n}\n","import { parseDef } from \"../parseDef.js\";\nexport function parseDefaultDef(_def, refs) {\n return {\n ...parseDef(_def.innerType._def, refs),\n default: _def.defaultValue(),\n };\n}\n","import { parseDef } from \"../parseDef.js\";\nexport const parseCatchDef = (def, refs) => {\n return parseDef(def.innerType._def, refs);\n};\n","import { parseDef } from \"../parseDef.js\";\nexport const parsePipelineDef = (def, refs) => {\n if (refs.pipeStrategy === \"input\") {\n return parseDef(def.in._def, refs);\n }\n else if (refs.pipeStrategy === \"output\") {\n return parseDef(def.out._def, refs);\n }\n const a = parseDef(def.in._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", \"0\"],\n });\n const b = parseDef(def.out._def, {\n ...refs,\n currentPath: [...refs.currentPath, \"allOf\", a ? \"1\" : \"0\"],\n });\n return {\n allOf: [a, b].filter((x) => x !== undefined),\n };\n};\n","import { ignoreOverride } from \"./Options.js\";\nimport { selectParser } from \"./selectParser.js\";\nexport function parseDef(def, refs, forceResolution = false) {\n const seenItem = refs.seen.get(def);\n if (refs.override) {\n const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);\n if (overrideResult !== ignoreOverride) {\n return overrideResult;\n }\n }\n if (seenItem && !forceResolution) {\n const seenSchema = get$ref(seenItem, refs);\n if (seenSchema !== undefined) {\n return seenSchema;\n }\n }\n const newItem = { def, path: refs.currentPath, jsonSchema: undefined };\n refs.seen.set(def, newItem);\n const jsonSchemaOrGetter = selectParser(def, def.typeName, refs);\n // If the return was a function, then the inner definition needs to be extracted before a call to parseDef (recursive)\n const jsonSchema = typeof jsonSchemaOrGetter === \"function\"\n ? parseDef(jsonSchemaOrGetter(), refs)\n : jsonSchemaOrGetter;\n if (jsonSchema) {\n addMeta(def, refs, jsonSchema);\n }\n if (refs.postProcess) {\n const postProcessResult = refs.postProcess(jsonSchema, def, refs);\n newItem.jsonSchema = jsonSchema;\n return postProcessResult;\n }\n newItem.jsonSchema = jsonSchema;\n return jsonSchema;\n}\nconst get$ref = (item, refs) => {\n switch (refs.$refStrategy) {\n case \"root\":\n return { $ref: item.path.join(\"/\") };\n case \"relative\":\n return { $ref: getRelativePath(refs.currentPath, item.path) };\n case \"none\":\n case \"seen\": {\n if (item.path.length < refs.currentPath.length &&\n item.path.every((value, index) => refs.currentPath[index] === value)) {\n console.warn(`Recursive reference detected at ${refs.currentPath.join(\"/\")}! Defaulting to any`);\n return {};\n }\n return refs.$refStrategy === \"seen\" ? {} : undefined;\n }\n }\n};\nconst getRelativePath = (pathA, pathB) => {\n let i = 0;\n for (; i < pathA.length && i < pathB.length; i++) {\n if (pathA[i] !== pathB[i])\n break;\n }\n return [(pathA.length - i).toString(), ...pathB.slice(i)].join(\"/\");\n};\nconst addMeta = (def, refs, jsonSchema) => {\n if (def.description) {\n jsonSchema.description = def.description;\n if (refs.markdownDescription) {\n jsonSchema.markdownDescription = def.description;\n }\n }\n return jsonSchema;\n};\n","export * from \"./Options.js\";\nexport * from \"./Refs.js\";\nexport * from \"./errorMessages.js\";\nexport * from \"./parseDef.js\";\nexport * from \"./parseTypes.js\";\nexport * from \"./parsers/any.js\";\nexport * from \"./parsers/array.js\";\nexport * from \"./parsers/bigint.js\";\nexport * from \"./parsers/boolean.js\";\nexport * from \"./parsers/branded.js\";\nexport * from \"./parsers/catch.js\";\nexport * from \"./parsers/date.js\";\nexport * from \"./parsers/default.js\";\nexport * from \"./parsers/effects.js\";\nexport * from \"./parsers/enum.js\";\nexport * from \"./parsers/intersection.js\";\nexport * from \"./parsers/literal.js\";\nexport * from \"./parsers/map.js\";\nexport * from \"./parsers/nativeEnum.js\";\nexport * from \"./parsers/never.js\";\nexport * from \"./parsers/null.js\";\nexport * from \"./parsers/nullable.js\";\nexport * from \"./parsers/number.js\";\nexport * from \"./parsers/object.js\";\nexport * from \"./parsers/optional.js\";\nexport * from \"./parsers/pipeline.js\";\nexport * from \"./parsers/promise.js\";\nexport * from \"./parsers/readonly.js\";\nexport * from \"./parsers/record.js\";\nexport * from \"./parsers/set.js\";\nexport * from \"./parsers/string.js\";\nexport * from \"./parsers/tuple.js\";\nexport * from \"./parsers/undefined.js\";\nexport * from \"./parsers/union.js\";\nexport * from \"./parsers/unknown.js\";\nexport * from \"./selectParser.js\";\nexport * from \"./zodToJsonSchema.js\";\nimport { zodToJsonSchema } from \"./zodToJsonSchema.js\";\nexport default zodToJsonSchema;\n","import { parseDef } from \"./parseDef.js\";\nimport { getRefs } from \"./Refs.js\";\nconst zodToJsonSchema = (schema, options) => {\n const refs = getRefs(options);\n const definitions = typeof options === \"object\" && options.definitions\n ? Object.entries(options.definitions).reduce((acc, [name, schema]) => ({\n ...acc,\n [name]: parseDef(schema._def, {\n ...refs,\n currentPath: [...refs.basePath, refs.definitionPath, name],\n }, true) ?? {},\n }), {})\n : undefined;\n const name = typeof options === \"string\"\n ? options\n : options?.nameStrategy === \"title\"\n ? undefined\n : options?.name;\n const main = parseDef(schema._def, name === undefined\n ? refs\n : {\n ...refs,\n currentPath: [...refs.basePath, refs.definitionPath, name],\n }, false) ?? {};\n const title = typeof options === \"object\" &&\n options.name !== undefined &&\n options.nameStrategy === \"title\"\n ? options.name\n : undefined;\n if (title !== undefined) {\n main.title = title;\n }\n const combined = name === undefined\n ? definitions\n ? {\n ...main,\n [refs.definitionPath]: definitions,\n }\n : main\n : {\n $ref: [\n ...(refs.$refStrategy === \"relative\" ? [] : refs.basePath),\n refs.definitionPath,\n name,\n ].join(\"/\"),\n [refs.definitionPath]: {\n ...definitions,\n [name]: main,\n },\n };\n if (refs.target === \"jsonSchema7\") {\n combined.$schema = \"http://json-schema.org/draft-07/schema#\";\n }\n else if (refs.target === \"jsonSchema2019-09\" || refs.target === \"openAi\") {\n combined.$schema = \"https://json-schema.org/draft/2019-09/schema#\";\n }\n if (refs.target === \"openAi\" &&\n (\"anyOf\" in combined ||\n \"oneOf\" in combined ||\n \"allOf\" in combined ||\n (\"type\" in combined && Array.isArray(combined.type)))) {\n console.warn(\"Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.\");\n }\n return combined;\n};\nexport { zodToJsonSchema };\n","import { getDefaultOptions } from \"./Options.js\";\nexport const getRefs = (options) => {\n const _options = getDefaultOptions(options);\n const currentPath = _options.name !== undefined\n ? [..._options.basePath, _options.definitionPath, _options.name]\n : _options.basePath;\n return {\n ..._options,\n currentPath: currentPath,\n propertyPath: undefined,\n seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [\n def._def,\n {\n def: def._def,\n path: [..._options.basePath, _options.definitionPath, name],\n // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.\n jsonSchema: undefined,\n },\n ])),\n };\n};\n","function createExtensionDataRef() {\n const createRef = (refId) => Object.assign(\n (value) => ({\n $$type: \"@backstage/ExtensionDataValue\",\n id: refId,\n value\n }),\n {\n id: refId,\n $$type: \"@backstage/ExtensionDataRef\",\n config: {},\n optional() {\n return {\n ...this,\n config: { ...this.config, optional: true }\n };\n },\n toString() {\n const optional = Boolean(this.config.optional);\n return `ExtensionDataRef{id=${refId},optional=${optional}}`;\n }\n }\n );\n return {\n with(options) {\n return createRef(options.id);\n }\n };\n}\n\nexport { createExtensionDataRef };\n//# sourceMappingURL=createExtensionDataRef.esm.js.map\n","function createExtensionDataContainer(values, declaredRefs) {\n const container = /* @__PURE__ */ new Map();\n const verifyRefs = declaredRefs && new Map(declaredRefs.map((ref) => [ref.id, ref]));\n for (const output of values) {\n if (verifyRefs) {\n if (!verifyRefs.delete(output.id)) {\n throw new Error(\n `extension data '${output.id}' was provided but not declared`\n );\n }\n }\n container.set(output.id, output);\n }\n const remainingRefs = verifyRefs && Array.from(verifyRefs.values()).filter((ref) => !ref.config.optional);\n if (remainingRefs && remainingRefs.length > 0) {\n throw new Error(\n `missing required extension data value(s) '${remainingRefs.map((ref) => ref.id).join(\", \")}'`\n );\n }\n return {\n get(ref) {\n return container.get(ref.id)?.value;\n },\n [Symbol.iterator]() {\n return container.values();\n }\n };\n}\n\nexport { createExtensionDataContainer };\n//# sourceMappingURL=createExtensionDataContainer.esm.js.map\n","import { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nfunction expectArray(value) {\n return value;\n}\nfunction expectItem(value) {\n return value;\n}\nfunction resolveInputOverrides(declaredInputs, inputs, inputOverrides) {\n if (!declaredInputs || !inputs || !inputOverrides) {\n return inputs;\n }\n const newInputs = {};\n for (const name in declaredInputs) {\n if (!Object.hasOwn(declaredInputs, name)) {\n continue;\n }\n const declaredInput = declaredInputs[name];\n const providedData = inputOverrides[name];\n if (declaredInput.config.singleton) {\n const originalInput = expectItem(inputs[name]);\n if (providedData) {\n const providedContainer = createExtensionDataContainer(\n providedData,\n declaredInput.extensionData\n );\n if (!originalInput) {\n throw new Error(\n `attempted to override data of input '${name}' but it is not present in the original inputs`\n );\n }\n newInputs[name] = Object.assign(providedContainer, {\n node: originalInput.node\n });\n }\n } else {\n const originalInput = expectArray(inputs[name]);\n if (!Array.isArray(providedData)) {\n throw new Error(\n `override data provided for input '${name}' must be an array`\n );\n }\n if (providedData.length === 0) {\n newInputs[name] = [];\n } else {\n const withNodesCount = providedData.filter((d) => \"node\" in d).length;\n if (withNodesCount === 0) {\n if (originalInput.length !== providedData.length) {\n throw new Error(\n `override data provided for input '${name}' must match the length of the original inputs`\n );\n }\n newInputs[name] = providedData.map((data, i) => {\n const providedContainer = createExtensionDataContainer(\n data,\n declaredInput.extensionData\n );\n return Object.assign(providedContainer, {\n node: originalInput[i].node\n });\n });\n } else if (withNodesCount === providedData.length) {\n newInputs[name] = providedData;\n } else {\n throw new Error(\n `override data for input '${name}' may not mix forwarded inputs with data overrides`\n );\n }\n }\n }\n }\n return newInputs;\n}\n\nexport { resolveInputOverrides };\n//# sourceMappingURL=resolveInputOverrides.esm.js.map\n","import { z } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\n\nfunction createSchemaFromZod(schemaCreator) {\n const schema = schemaCreator(z);\n return {\n // TODO: Types allow z.array etc here but it will break stuff\n parse: (input) => {\n const result = schema.safeParse(input);\n if (result.success) {\n return result.data;\n }\n throw new Error(result.error.issues.map(formatIssue).join(\"; \"));\n },\n // TODO: Verify why we are not compatible with the latest zodToJsonSchema.\n schema: zodToJsonSchema(schema)\n };\n}\nfunction formatIssue(issue) {\n if (issue.code === \"invalid_union\") {\n return formatIssue(issue.unionErrors[0].issues[0]);\n }\n let message = issue.message;\n if (message === \"Required\") {\n message = `Missing required value`;\n }\n if (issue.path.length) {\n message += ` at '${issue.path.join(\".\")}'`;\n }\n return message;\n}\n\nexport { createSchemaFromZod };\n//# sourceMappingURL=createSchemaFromZod.esm.js.map\n","class OpaqueType {\n /**\n * Creates a new opaque type.\n *\n * @param options.type The type identifier of the opaque type\n * @param options.versions The available versions of the opaque type\n * @returns A new opaque type helper\n */\n static create(options) {\n return new OpaqueType(options.type, new Set(options.versions));\n }\n #type;\n #versions;\n constructor(type, versions) {\n this.#type = type;\n this.#versions = versions;\n }\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TPublic`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TPublic = void 0;\n /**\n * The internal version of the opaque type, used like this: `typeof MyOpaqueType.TInternal`\n *\n * @remarks\n *\n * This property is only useful for type checking, its runtime value is `undefined`.\n */\n TInternal = void 0;\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @returns True if the value matches this opaque type\n */\n isType = (value) => {\n return this.#isThisInternalType(value);\n };\n /**\n * @param value Input value expected to be an instance of this opaque type\n * @throws If the value is not an instance of this opaque type or is of an unsupported version\n * @returns The internal version of the opaque type\n */\n toInternal = (value) => {\n if (!this.#isThisInternalType(value)) {\n throw new TypeError(\n `Invalid opaque type, expected '${this.#type}', but got '${this.#stringifyUnknown(value)}'`\n );\n }\n if (!this.#versions.has(value.version)) {\n const versions = Array.from(this.#versions).map(this.#stringifyVersion);\n if (versions.length > 1) {\n versions[versions.length - 1] = `or ${versions[versions.length - 1]}`;\n }\n const expected = versions.length > 2 ? versions.join(\", \") : versions.join(\" \");\n throw new TypeError(\n `Invalid opaque type instance, got version ${this.#stringifyVersion(\n value.version\n )}, expected ${expected}`\n );\n }\n return value;\n };\n /**\n * Creates an instance of the opaque type, returning the public type.\n *\n * @param version The version of the instance to create\n * @param value The remaining public and internal properties of the instance\n * @returns An instance of the opaque type\n */\n createInstance(version, props) {\n return Object.assign(props, {\n $$type: this.#type,\n ...version && { version }\n });\n }\n #isThisInternalType(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n return value.$$type === this.#type;\n }\n #stringifyUnknown(value) {\n if (typeof value !== \"object\") {\n return `<${typeof value}>`;\n }\n if (value === null) {\n return \"<null>\";\n }\n if (\"$$type\" in value) {\n return String(value.$$type);\n }\n return String(value);\n }\n #stringifyVersion = (version) => {\n return version ? `'${version}'` : \"undefined\";\n };\n}\n\nexport { OpaqueType };\n//# sourceMappingURL=OpaqueType.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueExtensionDefinition = OpaqueType.create({\n type: \"@backstage/ExtensionDefinition\",\n versions: [\"v1\", \"v2\"]\n});\n\nexport { OpaqueExtensionDefinition };\n//# sourceMappingURL=InternalExtensionDefinition.esm.js.map\n","import { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { createSchemaFromZod } from '../schema/createSchemaFromZod.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\nimport '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\n\nconst ctxParamsSymbol = Symbol(\"params\");\nfunction createExtension(options) {\n const schemaDeclaration = options.config?.schema;\n const configSchema = schemaDeclaration && createSchemaFromZod(\n (innerZ) => innerZ.object(\n Object.fromEntries(\n Object.entries(schemaDeclaration).map(([k, v]) => [k, v(innerZ)])\n )\n )\n );\n return OpaqueExtensionDefinition.createInstance(\"v2\", {\n T: void 0,\n kind: options.kind,\n name: options.name,\n attachTo: options.attachTo,\n disabled: options.disabled ?? false,\n inputs: options.inputs ?? {},\n output: options.output,\n configSchema,\n factory: options.factory,\n toString() {\n const parts = [];\n if (options.kind) {\n parts.push(`kind=${options.kind}`);\n }\n if (options.name) {\n parts.push(`name=${options.name}`);\n }\n parts.push(\n `attachTo=${[options.attachTo].flat().map((a) => `${a.id}@${a.input}`).join(\"+\")}`\n );\n return `ExtensionDefinition{${parts.join(\",\")}}`;\n },\n override(overrideOptions) {\n if (!Array.isArray(options.output)) {\n throw new Error(\n \"Cannot override an extension that is not declared using the new format with outputs as an array\"\n );\n }\n if (overrideOptions.output && !overrideOptions.factory) {\n throw new Error(\n \"Refused to override output without also overriding factory\"\n );\n }\n if (overrideOptions.params && overrideOptions.factory) {\n throw new Error(\n \"Refused to override params and factory at the same time\"\n );\n }\n return createExtension({\n kind: options.kind,\n name: options.name,\n attachTo: overrideOptions.attachTo ?? options.attachTo,\n disabled: overrideOptions.disabled ?? options.disabled,\n inputs: { ...overrideOptions.inputs, ...options.inputs },\n output: overrideOptions.output ?? options.output,\n config: options.config || overrideOptions.config ? {\n schema: {\n ...options.config?.schema,\n ...overrideOptions.config?.schema\n }\n } : void 0,\n factory: ({ node, apis, config, inputs }) => {\n if (!overrideOptions.factory) {\n return options.factory({\n node,\n apis,\n config,\n inputs,\n [ctxParamsSymbol]: overrideOptions.params\n });\n }\n const parentResult = overrideOptions.factory(\n (innerContext) => {\n return createExtensionDataContainer(\n options.factory({\n node,\n apis,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n ),\n [ctxParamsSymbol]: innerContext?.params\n }),\n options.output\n );\n },\n {\n node,\n apis,\n config,\n inputs\n }\n );\n const deduplicatedResult = /* @__PURE__ */ new Map();\n for (const item of parentResult) {\n deduplicatedResult.set(item.id, item);\n }\n return deduplicatedResult.values();\n }\n });\n }\n });\n}\n\nexport { createExtension, ctxParamsSymbol };\n//# sourceMappingURL=createExtension.esm.js.map\n","import { createExtension, ctxParamsSymbol } from './createExtension.esm.js';\nimport { resolveInputOverrides } from './resolveInputOverrides.esm.js';\nimport { createExtensionDataContainer } from '../frontend-internal/src/wiring/createExtensionDataContainer.esm.js';\n\nfunction createExtensionBlueprint(options) {\n return {\n dataRefs: options.dataRefs,\n make(args) {\n return createExtension({\n kind: options.kind,\n name: args.name ?? options.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: options.inputs,\n output: options.output,\n config: options.config,\n factory: (ctx) => options.factory(\n { ...args.params, ...ctx[ctxParamsSymbol] },\n ctx\n )\n });\n },\n makeWithOverrides(args) {\n return createExtension({\n kind: options.kind,\n name: args.name ?? options.name,\n attachTo: args.attachTo ?? options.attachTo,\n disabled: args.disabled ?? options.disabled,\n inputs: { ...args.inputs, ...options.inputs },\n output: args.output ?? options.output,\n config: options.config || args.config ? {\n schema: {\n ...options.config?.schema,\n ...args.config?.schema\n }\n } : void 0,\n factory: (ctx) => {\n const { node, config, inputs, apis } = ctx;\n return args.factory(\n (innerParams, innerContext) => {\n return createExtensionDataContainer(\n options.factory(\n { ...innerParams, ...ctx[ctxParamsSymbol] },\n {\n apis,\n node,\n config: innerContext?.config ?? config,\n inputs: resolveInputOverrides(\n options.inputs,\n inputs,\n innerContext?.inputs\n )\n }\n ),\n options.output\n );\n },\n {\n apis,\n node,\n config,\n inputs\n }\n );\n }\n });\n }\n };\n}\n\nexport { createExtensionBlueprint };\n//# sourceMappingURL=createExtensionBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst factoryDataRef = createExtensionDataRef().with({\n id: \"core.api.factory\"\n});\nconst ApiBlueprint = createExtensionBlueprint({\n kind: \"api\",\n attachTo: { id: \"root\", input: \"apis\" },\n output: [factoryDataRef],\n dataRefs: {\n factory: factoryDataRef\n },\n *factory(params) {\n yield factoryDataRef(params.factory);\n }\n});\n\nexport { ApiBlueprint };\n//# sourceMappingURL=ApiBlueprint.esm.js.map\n","import { createExtensionDataRef } from './createExtensionDataRef.esm.js';\n\nconst coreExtensionData = {\n reactElement: createExtensionDataRef().with({\n id: \"core.reactElement\"\n }),\n routePath: createExtensionDataRef().with({ id: \"core.routing.path\" }),\n routeRef: createExtensionDataRef().with({ id: \"core.routing.ref\" })\n};\n\nexport { coreExtensionData };\n//# sourceMappingURL=coreExtensionData.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst AppRootElementBlueprint = createExtensionBlueprint({\n kind: \"app-root-element\",\n attachTo: { id: \"app/root\", input: \"elements\" },\n output: [coreExtensionData.reactElement],\n *factory(params) {\n yield coreExtensionData.reactElement(\n typeof params.element === \"function\" ? params.element() : params.element\n );\n }\n});\n\nexport { AppRootElementBlueprint };\n//# sourceMappingURL=AppRootElementBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.root.wrapper\" });\nconst AppRootWrapperBlueprint = createExtensionBlueprint({\n kind: \"app-root-wrapper\",\n attachTo: { id: \"app/root\", input: \"wrappers\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory(params) {\n const Component = (props) => {\n return /* @__PURE__ */ jsx(params.Component, { children: props.children });\n };\n yield componentDataRef(Component);\n }\n});\n\nexport { AppRootWrapperBlueprint };\n//# sourceMappingURL=AppRootWrapperBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst iconsDataRef = createExtensionDataRef().with({ id: \"core.icons\" });\nconst IconBundleBlueprint = createExtensionBlueprint({\n kind: \"icon-bundle\",\n attachTo: { id: \"api:app/icons\", input: \"icons\" },\n output: [iconsDataRef],\n factory: (params) => [\n iconsDataRef(params.icons)\n ],\n dataRefs: {\n icons: iconsDataRef\n }\n});\n\nexport { IconBundleBlueprint };\n//# sourceMappingURL=IconBundleBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst targetDataRef = createExtensionDataRef().with({ id: \"core.nav-item.target\" });\nconst NavItemBlueprint = createExtensionBlueprint({\n kind: \"nav-item\",\n attachTo: { id: \"app/nav\", input: \"items\" },\n output: [targetDataRef],\n dataRefs: {\n target: targetDataRef\n },\n factory: ({\n icon,\n routeRef,\n title\n }, { config }) => [\n targetDataRef({\n title: config.title ?? title,\n icon,\n routeRef\n })\n ],\n config: {\n schema: {\n title: (z) => z.string().optional()\n }\n }\n});\n\nexport { NavItemBlueprint };\n//# sourceMappingURL=NavItemBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst logoElementsDataRef = createExtensionDataRef().with({ id: \"core.nav-logo.logo-elements\" });\nconst NavLogoBlueprint = createExtensionBlueprint({\n kind: \"nav-logo\",\n attachTo: { id: \"app/nav\", input: \"logos\" },\n output: [logoElementsDataRef],\n dataRefs: {\n logoElements: logoElementsDataRef\n },\n *factory({\n logoIcon,\n logoFull\n }) {\n yield logoElementsDataRef({\n logoIcon,\n logoFull\n });\n }\n});\n\nexport { NavLogoBlueprint };\n//# sourceMappingURL=NavLogoBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { Component } from 'react';\n\nclass ErrorBoundary extends Component {\n static getDerivedStateFromError(error) {\n return { error };\n }\n state = { error: void 0 };\n handleErrorReset = () => {\n this.setState({ error: void 0 });\n };\n render() {\n const { error } = this.state;\n const { plugin, children, Fallback } = this.props;\n if (error) {\n return /* @__PURE__ */ jsx(\n Fallback,\n {\n plugin,\n error,\n resetError: this.handleErrorReset\n }\n );\n }\n return children;\n }\n}\n\nexport { ErrorBoundary };\n//# sourceMappingURL=ErrorBoundary.esm.js.map\n","function createComponentRef(options) {\n const { id } = options;\n return {\n id,\n toString() {\n return `ComponentRef{id=${id}}`;\n }\n };\n}\n\nexport { createComponentRef };\n//# sourceMappingURL=createComponentRef.esm.js.map\n","import { getOrCreateGlobalSingleton } from '@backstage/version-bridge';\n\ngetOrCreateGlobalSingleton(\n \"core-plugin-api:analytics-tracker-events\",\n () => ({\n mostRecentGatheredNavigation: void 0,\n mostRecentRoutableExtensionRender: void 0,\n beforeUnloadRegistered: false\n })\n);\nconst routableExtensionRenderedEvent = \"_ROUTABLE-EXTENSION-RENDERED\";\n\nexport { routableExtensionRenderedEvent };\n//# sourceMappingURL=Tracker.esm.js.map\n","import { createComponentRef } from './createComponentRef.esm.js';\n\nconst coreProgressComponentRef = createComponentRef({\n id: \"core.components.progress\"\n});\nconst coreNotFoundErrorPageComponentRef = createComponentRef({\n id: \"core.components.notFoundErrorPage\"\n});\nconst coreErrorBoundaryFallbackComponentRef = createComponentRef({\n id: \"core.components.errorBoundaryFallback\"\n});\nconst coreComponentRefs = {\n progress: coreProgressComponentRef,\n notFoundErrorPage: coreNotFoundErrorPageComponentRef,\n errorBoundaryFallback: coreErrorBoundaryFallbackComponentRef\n};\n\nexport { coreComponentRefs };\n//# sourceMappingURL=coreComponentRefs.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { createVersionedContext, useVersionedContext, createVersionedValueMap } from '@backstage/version-bridge';\n\nconst CONTEXT_KEY = \"app-node-context\";\nconst AppNodeContext = createVersionedContext(CONTEXT_KEY);\nfunction AppNodeProvider({\n node,\n children\n}) {\n const versionedValue = createVersionedValueMap({ 1: { node } });\n return /* @__PURE__ */ jsx(AppNodeContext.Provider, { value: versionedValue, children });\n}\nfunction useAppNode() {\n const versionedContext = useVersionedContext(CONTEXT_KEY);\n if (!versionedContext) {\n return void 0;\n }\n const context = versionedContext.atVersion(1);\n if (!context) {\n throw new Error(\"AppNodeContext v1 not available\");\n }\n return context.node;\n}\n\nexport { AppNodeProvider, useAppNode };\n//# sourceMappingURL=AppNodeProvider.esm.js.map\n","import { jsx, Fragment } from 'react/jsx-runtime';\nimport { Suspense, lazy, useEffect } from 'react';\nimport { AnalyticsContext, useAnalytics } from '@backstage/core-plugin-api';\nimport { ErrorBoundary } from './ErrorBoundary.esm.js';\nimport { routableExtensionRenderedEvent } from '../core-plugin-api/src/analytics/Tracker.esm.js';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useComponentRef } from '../apis/definitions/ComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport { coreComponentRefs } from './coreComponentRefs.esm.js';\nimport { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { AppNodeProvider } from './AppNodeProvider.esm.js';\n\nconst RouteTracker = (props) => {\n const { disableTracking, children } = props;\n const analytics = useAnalytics();\n useEffect(() => {\n if (disableTracking) return;\n analytics.captureEvent(routableExtensionRenderedEvent, \"\");\n }, [analytics, disableTracking]);\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction ExtensionBoundary(props) {\n const { node, routable, children } = props;\n const doesOutputRoutePath = Boolean(\n node.instance?.getData(coreExtensionData.routePath)\n );\n const plugin = node.spec.plugin;\n const Progress = useComponentRef(coreComponentRefs.progress);\n const fallback = useComponentRef(coreComponentRefs.errorBoundaryFallback);\n const attributes = {\n extensionId: node.spec.id,\n pluginId: node.spec.plugin?.id ?? \"app\"\n };\n return /* @__PURE__ */ jsx(AppNodeProvider, { node, children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(Progress, {}), children: /* @__PURE__ */ jsx(ErrorBoundary, { plugin, Fallback: fallback, children: /* @__PURE__ */ jsx(AnalyticsContext, { attributes, children: /* @__PURE__ */ jsx(RouteTracker, { disableTracking: !(routable ?? doesOutputRoutePath), children }) }) }) }) });\n}\n((ExtensionBoundary2) => {\n function lazy$1(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((element) => ({ default: () => element }))\n );\n return /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, {}) });\n }\n ExtensionBoundary2.lazy = lazy$1;\n function lazyComponent(appNode, loader) {\n const ExtensionComponent = lazy(\n () => loader().then((Component) => ({ default: Component }))\n );\n return (props) => /* @__PURE__ */ jsx(ExtensionBoundary2, { node: appNode, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) });\n }\n ExtensionBoundary2.lazyComponent = lazyComponent;\n})(ExtensionBoundary || (ExtensionBoundary = {}));\n\nexport { ExtensionBoundary };\n//# sourceMappingURL=ExtensionBoundary.esm.js.map\n","import { coreExtensionData } from '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport '../components/AppNodeProvider.esm.js';\n\nconst PageBlueprint = createExtensionBlueprint({\n kind: \"page\",\n attachTo: { id: \"app/routes\", input: \"routes\" },\n output: [\n coreExtensionData.routePath,\n coreExtensionData.reactElement,\n coreExtensionData.routeRef.optional()\n ],\n config: {\n schema: {\n path: (z) => z.string().optional()\n }\n },\n *factory({\n defaultPath,\n loader,\n routeRef\n }, { config, node }) {\n yield coreExtensionData.routePath(config.path ?? defaultPath);\n yield coreExtensionData.reactElement(ExtensionBoundary.lazy(node, loader));\n if (routeRef) {\n yield coreExtensionData.routeRef(routeRef);\n }\n }\n});\n\nexport { PageBlueprint };\n//# sourceMappingURL=PageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"app.router.wrapper\" });\nconst RouterBlueprint = createExtensionBlueprint({\n kind: \"app-router-component\",\n attachTo: { id: \"app/root\", input: \"router\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory({ Component }) {\n yield componentDataRef(Component);\n }\n});\n\nexport { RouterBlueprint };\n//# sourceMappingURL=RouterBlueprint.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { lazy } from 'react';\nimport '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\nimport { ExtensionBoundary } from '../components/ExtensionBoundary.esm.js';\nimport '../components/AppNodeProvider.esm.js';\n\nconst componentDataRef = createExtensionDataRef().with({ id: \"core.sign-in-page.component\" });\nconst SignInPageBlueprint = createExtensionBlueprint({\n kind: \"sign-in-page\",\n attachTo: { id: \"app/root\", input: \"signInPage\" },\n output: [componentDataRef],\n dataRefs: {\n component: componentDataRef\n },\n *factory({\n loader\n }, { node }) {\n const ExtensionComponent = lazy(\n () => loader().then((component) => ({ default: component }))\n );\n yield componentDataRef((props) => /* @__PURE__ */ jsx(ExtensionBoundary, { node, routable: true, children: /* @__PURE__ */ jsx(ExtensionComponent, { ...props }) }));\n }\n});\n\nexport { SignInPageBlueprint };\n//# sourceMappingURL=SignInPageBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst themeDataRef = createExtensionDataRef().with({\n id: \"core.theme.theme\"\n});\nconst ThemeBlueprint = createExtensionBlueprint({\n kind: \"theme\",\n attachTo: { id: \"api:app/app-theme\", input: \"themes\" },\n output: [themeDataRef],\n dataRefs: {\n theme: themeDataRef\n },\n factory: ({ theme }) => [themeDataRef(theme)]\n});\n\nexport { ThemeBlueprint };\n//# sourceMappingURL=ThemeBlueprint.esm.js.map\n","import '../wiring/coreExtensionData.esm.js';\nimport 'zod';\nimport 'zod-to-json-schema';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\nimport { createExtensionBlueprint } from '../wiring/createExtensionBlueprint.esm.js';\n\nconst translationDataRef = createExtensionDataRef().with({ id: \"core.translation.translation\" });\nconst TranslationBlueprint = createExtensionBlueprint({\n kind: \"translation\",\n attachTo: { id: \"api:app/translations\", input: \"translations\" },\n output: [translationDataRef],\n dataRefs: {\n translation: translationDataRef\n },\n factory: ({\n resource\n }) => [translationDataRef(resource)]\n});\n\nexport { TranslationBlueprint };\n//# sourceMappingURL=TranslationBlueprint.esm.js.map\n","import { lazy } from 'react';\nimport '../wiring/coreExtensionData.esm.js';\nimport { createExtension } from '../wiring/createExtension.esm.js';\nimport { createExtensionDataRef } from '../wiring/createExtensionDataRef.esm.js';\n\nfunction createComponentExtension(options) {\n return createExtension({\n kind: \"component\",\n name: options.name ?? options.ref.id,\n attachTo: { id: \"api:app/components\", input: \"components\" },\n disabled: options.disabled,\n output: [createComponentExtension.componentDataRef],\n factory() {\n if (\"sync\" in options.loader) {\n return [\n createComponentExtension.componentDataRef({\n ref: options.ref,\n impl: options.loader.sync()\n })\n ];\n }\n const lazyLoader = options.loader.lazy;\n const ExtensionComponent = lazy(\n () => lazyLoader().then((Component) => ({\n default: Component\n }))\n );\n return [\n createComponentExtension.componentDataRef({\n ref: options.ref,\n impl: ExtensionComponent\n })\n ];\n }\n });\n}\n((createComponentExtension2) => {\n createComponentExtension2.componentDataRef = createExtensionDataRef().with({ id: \"core.component.component\" });\n})(createComponentExtension || (createComponentExtension = {}));\n\nexport { createComponentExtension };\n//# sourceMappingURL=createComponentExtension.esm.js.map\n","const MESSAGE_MARKER = \"eHgtF5hmbrXyiEvo\";\nfunction describeParentCallSite(ErrorConstructor = Error) {\n const { stack } = new ErrorConstructor(MESSAGE_MARKER);\n if (!stack) {\n return \"<unknown>\";\n }\n const startIndex = stack.includes(MESSAGE_MARKER) ? stack.indexOf(\"\\n\") + 1 : 0;\n const secondEntryStart = stack.indexOf(\"\\n\", stack.indexOf(\"\\n\", startIndex) + 1) + 1;\n const secondEntryEnd = stack.indexOf(\"\\n\", secondEntryStart);\n const line = stack.substring(secondEntryStart, secondEntryEnd).trim();\n if (!line) {\n return \"unknown\";\n }\n if (line.includes(\"(\")) {\n return line.substring(line.indexOf(\"(\") + 1, line.indexOf(\")\"));\n }\n if (line.includes(\"@\")) {\n return line.substring(line.indexOf(\"@\") + 1);\n }\n return line;\n}\n\nexport { describeParentCallSite };\n//# sourceMappingURL=describeParentCallSite.esm.js.map\n","import { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nfunction toInternalRouteRef(resource) {\n const r = resource;\n if (r.$$type !== \"@backstage/RouteRef\") {\n throw new Error(`Invalid RouteRef, bad type '${r.$$type}'`);\n }\n return r;\n}\nclass RouteRefImpl {\n constructor(params = [], creationSite) {\n this.params = params;\n this.#params = params;\n this.#creationSite = creationSite;\n }\n $$type = \"@backstage/RouteRef\";\n version = \"v1\";\n #id;\n #params;\n #creationSite;\n getParams() {\n return this.#params;\n }\n getDescription() {\n if (this.#id) {\n return this.#id;\n }\n return `created at '${this.#creationSite}'`;\n }\n get #name() {\n return this.$$type.slice(\"@backstage/\".length);\n }\n setId(id) {\n if (!id) {\n throw new Error(`${this.#name} id must be a non-empty string`);\n }\n if (this.#id && this.#id !== id) {\n throw new Error(\n `${this.#name} was referenced twice as both '${this.#id}' and '${id}'`\n );\n }\n this.#id = id;\n }\n toString() {\n return `${this.#name}{${this.getDescription()}}`;\n }\n}\nfunction createRouteRef(config) {\n return new RouteRefImpl(\n config?.params,\n describeParentCallSite()\n );\n}\n\nexport { RouteRefImpl, createRouteRef, toInternalRouteRef };\n//# sourceMappingURL=RouteRef.esm.js.map\n","import { toInternalRouteRef } from './RouteRef.esm.js';\n\nconst PARAM_PATTERN = /^\\w+$/;\nclass SubRouteRefImpl {\n constructor(path, params, parent) {\n this.path = path;\n this.#params = params;\n this.#parent = parent;\n }\n $$type = \"@backstage/SubRouteRef\";\n version = \"v1\";\n #params;\n #parent;\n getParams() {\n return this.#params;\n }\n getParent() {\n return this.#parent;\n }\n getDescription() {\n const parent = toInternalRouteRef(this.#parent);\n return `at ${this.path} with parent ${parent.getDescription()}`;\n }\n toString() {\n return `SubRouteRef{${this.getDescription()}}`;\n }\n}\nfunction createSubRouteRef(config) {\n const { path, parent } = config;\n const internalParent = toInternalRouteRef(parent);\n const parentParams = internalParent.getParams();\n const pathParams = path.split(\"/\").filter((p) => p.startsWith(\":\")).map((p) => p.substring(1));\n const params = [...parentParams, ...pathParams];\n if (parentParams.some((p) => pathParams.includes(p))) {\n throw new Error(\n \"SubRouteRef may not have params that overlap with its parent\"\n );\n }\n if (!path.startsWith(\"/\")) {\n throw new Error(`SubRouteRef path must start with '/', got '${path}'`);\n }\n if (path.endsWith(\"/\")) {\n throw new Error(`SubRouteRef path must not end with '/', got '${path}'`);\n }\n for (const param of pathParams) {\n if (!PARAM_PATTERN.test(param)) {\n throw new Error(`SubRouteRef path has invalid param, got '${param}'`);\n }\n }\n const subRouteRef = new SubRouteRefImpl(\n path,\n params,\n parent\n );\n return subRouteRef;\n}\n\nexport { SubRouteRefImpl, createSubRouteRef };\n//# sourceMappingURL=SubRouteRef.esm.js.map\n","import { RouteRefImpl } from './RouteRef.esm.js';\nimport { describeParentCallSite } from './describeParentCallSite.esm.js';\n\nclass ExternalRouteRefImpl extends RouteRefImpl {\n constructor(params = [], defaultTarget, creationSite) {\n super(params, creationSite);\n this.params = params;\n this.defaultTarget = defaultTarget;\n }\n $$type = \"@backstage/ExternalRouteRef\";\n getDefaultTarget() {\n return this.defaultTarget;\n }\n}\nfunction createExternalRouteRef(options) {\n return new ExternalRouteRefImpl(\n options?.params,\n options?.defaultTarget,\n describeParentCallSite()\n );\n}\n\nexport { createExternalRouteRef };\n//# sourceMappingURL=ExternalRouteRef.esm.js.map\n","import { useMemo } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport '../apis/definitions/AppTreeApi.esm.js';\nimport { useApi } from '@backstage/core-plugin-api';\nimport '../apis/definitions/ComponentsApi.esm.js';\nimport '../apis/definitions/IconsApi.esm.js';\nimport '../apis/definitions/DialogApi.esm.js';\nimport { routeResolutionApiRef } from '../apis/definitions/RouteResolutionApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\n\nfunction useRouteRef(routeRef) {\n const { pathname } = useLocation();\n const routeResolutionApi = useApi(routeResolutionApiRef);\n const routeFunc = useMemo(\n () => routeResolutionApi.resolve(routeRef, { sourcePath: pathname }),\n [routeResolutionApi, routeRef, pathname]\n );\n return routeFunc;\n}\n\nexport { useRouteRef };\n//# sourceMappingURL=useRouteRef.esm.js.map\n","import { useParams } from 'react-router-dom';\n\nfunction useRouteRefParams(_routeRef) {\n return useParams();\n}\n\nexport { useRouteRefParams };\n//# sourceMappingURL=useRouteRefParams.esm.js.map\n","function createTranslationMessages(options) {\n return {\n $$type: \"@backstage/TranslationMessages\",\n id: options.ref.id,\n full: Boolean(options.full),\n messages: options.messages\n };\n}\n\nexport { createTranslationMessages };\n//# sourceMappingURL=TranslationMessages.esm.js.map\n","function createTranslationResource(options) {\n return {\n $$type: \"@backstage/TranslationResource\",\n version: \"v1\",\n id: options.ref.id,\n resources: Object.entries(options.translations).map(\n ([language, loader]) => ({\n language,\n loader: () => loader().then((m) => {\n const value = m.default;\n return {\n messages: value?.$$type === \"@backstage/TranslationMessages\" ? value.messages : value\n };\n })\n })\n )\n };\n}\n\nexport { createTranslationResource };\n//# sourceMappingURL=TranslationResource.esm.js.map\n","import { createTranslationResource } from './TranslationResource.esm.js';\n\nfunction flattenMessages(nested) {\n const entries = new Array();\n function visit(obj, prefix) {\n for (const [key, value] of Object.entries(obj)) {\n if (typeof value === \"string\") {\n entries.push([prefix + key, value]);\n } else {\n visit(value, `${prefix}${key}.`);\n }\n }\n }\n visit(nested, \"\");\n return Object.fromEntries(entries);\n}\nclass TranslationRefImpl {\n #id;\n #messages;\n #resources;\n constructor(options) {\n this.#id = options.id;\n this.#messages = flattenMessages(\n options.messages\n );\n }\n $$type = \"@backstage/TranslationRef\";\n version = \"v1\";\n get id() {\n return this.#id;\n }\n get T() {\n throw new Error(\"Not implemented\");\n }\n getDefaultMessages() {\n return this.#messages;\n }\n setDefaultResource(resources) {\n this.#resources = resources;\n }\n getDefaultResource() {\n return this.#resources;\n }\n toString() {\n return `TranslationRef{id=${this.id}}`;\n }\n}\nfunction createTranslationRef(config) {\n const ref = new TranslationRefImpl(config);\n if (config.translations) {\n ref.setDefaultResource(\n createTranslationResource({\n ref,\n translations: config.translations\n })\n );\n }\n return ref;\n}\n\nexport { createTranslationRef };\n//# sourceMappingURL=TranslationRef.esm.js.map\n","import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { useApi } from '../apis/system/useApi.esm.js';\nimport '../apis/definitions/auth.esm.js';\nimport '../apis/definitions/AlertApi.esm.js';\nimport '../apis/definitions/AnalyticsApi.esm.js';\nimport '../apis/definitions/AppThemeApi.esm.js';\nimport '../apis/definitions/ConfigApi.esm.js';\nimport '../apis/definitions/DiscoveryApi.esm.js';\nimport { errorApiRef } from '../apis/definitions/ErrorApi.esm.js';\nimport '../apis/definitions/FeatureFlagsApi.esm.js';\nimport '../apis/definitions/FetchApi.esm.js';\nimport '../apis/definitions/IdentityApi.esm.js';\nimport '../apis/definitions/OAuthRequestApi.esm.js';\nimport '../apis/definitions/StorageApi.esm.js';\nimport { translationApiRef } from '../apis/definitions/TranslationApi.esm.js';\nimport '../apis/definitions/AppLanguageApi.esm.js';\n\nconst loggedRefs = /* @__PURE__ */ new WeakSet();\nconst useTranslationRef = (translationRef) => {\n const errorApi = useApi(errorApiRef);\n const translationApi = useApi(translationApiRef);\n const [snapshot, setSnapshot] = useState(\n () => translationApi.getTranslation(translationRef)\n );\n const observable = useMemo(\n () => translationApi.translation$(translationRef),\n [translationApi, translationRef]\n );\n const onError = useCallback(\n (error) => {\n if (!loggedRefs.has(translationRef)) {\n const errMsg = `Failed to load translation resource '${translationRef.id}'; caused by ${error}`;\n console.error(errMsg);\n errorApi.post(new Error(errMsg));\n loggedRefs.add(translationRef);\n }\n },\n [errorApi, translationRef]\n );\n useEffect(() => {\n const subscription = observable.subscribe({\n next(next) {\n if (next.ready) {\n setSnapshot(next);\n }\n },\n error(error) {\n onError(error);\n }\n });\n return () => {\n subscription.unsubscribe();\n };\n }, [observable, onError]);\n const initialRenderRef = useRef(true);\n useEffect(() => {\n if (initialRenderRef.current) {\n initialRenderRef.current = false;\n } else {\n setSnapshot(translationApi.getTranslation(translationRef));\n }\n }, [translationApi, translationRef]);\n if (!snapshot.ready) {\n throw new Promise((resolve) => {\n const subscription = observable.subscribe({\n next(next) {\n if (next.ready) {\n subscription.unsubscribe();\n resolve();\n }\n },\n error(error) {\n subscription.unsubscribe();\n onError(error);\n resolve();\n }\n });\n });\n }\n return { t: snapshot.t };\n};\n\nexport { useTranslationRef };\n//# sourceMappingURL=useTranslationRef.esm.js.map\n","function createExtensionInput(extensionData, config) {\n if (process.env.NODE_ENV !== \"production\") {\n if (Array.isArray(extensionData)) {\n const seen = /* @__PURE__ */ new Set();\n const duplicates = [];\n for (const dataRef of extensionData) {\n if (seen.has(dataRef.id)) {\n duplicates.push(dataRef.id);\n } else {\n seen.add(dataRef.id);\n }\n }\n if (duplicates.length > 0) {\n throw new Error(\n `ExtensionInput may not have duplicate data refs: '${duplicates.join(\n \"', '\"\n )}'`\n );\n }\n }\n }\n return {\n $$type: \"@backstage/ExtensionInput\",\n extensionData,\n config: {\n singleton: Boolean(config?.singleton),\n optional: Boolean(config?.optional)\n },\n replaces: config?.replaces\n };\n}\n\nexport { createExtensionInput };\n//# sourceMappingURL=createExtensionInput.esm.js.map\n","import { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction resolveExtensionDefinition(definition, context) {\n const internalDefinition = OpaqueExtensionDefinition.toInternal(definition);\n const {\n name,\n kind,\n namespace: _skip1,\n override: _skip2,\n ...rest\n } = internalDefinition;\n const namespace = internalDefinition.namespace ?? context?.namespace;\n const namePart = name && namespace ? `${namespace}/${name}` : namespace || name;\n if (!namePart) {\n throw new Error(\n `Extension must declare an explicit namespace or name as it could not be resolved from context, kind=${kind} namespace=${namespace} name=${name}`\n );\n }\n const id = kind ? `${kind}:${namePart}` : namePart;\n return {\n ...rest,\n $$type: \"@backstage/Extension\",\n version: internalDefinition.version,\n id,\n toString() {\n return `Extension{id=${id}}`;\n }\n };\n}\n\nexport { resolveExtensionDefinition };\n//# sourceMappingURL=resolveExtensionDefinition.esm.js.map\n","import { OpaqueType } from '../../../opaque-internal/src/OpaqueType.esm.js';\n\nconst OpaqueFrontendPlugin = OpaqueType.create({\n type: \"@backstage/FrontendPlugin\",\n versions: [\"v1\"]\n});\n\nexport { OpaqueFrontendPlugin };\n//# sourceMappingURL=InternalFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueFrontendPlugin } from '../frontend-internal/src/wiring/InternalFrontendPlugin.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendPlugin(options) {\n const pluginId = \"pluginId\" in options ? options.pluginId : options.id;\n if (!pluginId) {\n throw new Error(\n \"Either 'id' or 'pluginId' must be provided to createFrontendPlugin\"\n );\n }\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return OpaqueFrontendPlugin.createInstance(\"v1\", {\n id: pluginId,\n routes: options.routes ?? {},\n externalRoutes: options.externalRoutes ?? {},\n featureFlags: options.featureFlags ?? [],\n extensions,\n infoOptions: options.info,\n // This method is overridden when the plugin instance is installed in an app\n async info() {\n throw new Error(\n `Attempted to load plugin info for plugin '${pluginId}', but the plugin instance is not installed in an app`\n );\n },\n getExtension(id) {\n const ext = extensionDefinitionsById.get(id);\n if (!ext) {\n throw new Error(\n `Attempted to get non-existent extension '${id}' from plugin '${pluginId}'`\n );\n }\n return ext;\n },\n toString() {\n return `Plugin{id=${pluginId}}`;\n },\n withOverrides(overrides) {\n const overriddenExtensionIds = new Set(\n overrides.extensions.map(\n (e) => resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n const nonOverriddenExtensions = (options.extensions ?? []).filter(\n (e) => !overriddenExtensionIds.has(\n resolveExtensionDefinition(e, { namespace: pluginId }).id\n )\n );\n return createFrontendPlugin({\n ...options,\n pluginId,\n extensions: [...nonOverriddenExtensions, ...overrides.extensions],\n info: {\n ...options.info,\n ...overrides.info\n }\n });\n }\n });\n}\n\nexport { createFrontendPlugin };\n//# sourceMappingURL=createFrontendPlugin.esm.js.map\n","import { resolveExtensionDefinition } from './resolveExtensionDefinition.esm.js';\nimport { OpaqueExtensionDefinition } from '../frontend-internal/src/wiring/InternalExtensionDefinition.esm.js';\n\nfunction createFrontendModule(options) {\n const { pluginId } = options;\n const extensions = new Array();\n const extensionDefinitionsById = /* @__PURE__ */ new Map();\n for (const def of options.extensions ?? []) {\n const internal = OpaqueExtensionDefinition.toInternal(def);\n const ext = resolveExtensionDefinition(def, { namespace: pluginId });\n extensions.push(ext);\n extensionDefinitionsById.set(ext.id, {\n ...internal,\n namespace: pluginId\n });\n }\n if (extensions.length !== extensionDefinitionsById.size) {\n const extensionIds = extensions.map((e) => e.id);\n const duplicates = Array.from(\n new Set(\n extensionIds.filter((id, index) => extensionIds.indexOf(id) !== index)\n )\n );\n throw new Error(\n `Plugin '${pluginId}' provided duplicate extensions: ${duplicates.join(\n \", \"\n )}`\n );\n }\n return {\n $$type: \"@backstage/FrontendModule\",\n version: \"v1\",\n pluginId,\n featureFlags: options.featureFlags ?? [],\n extensions,\n toString() {\n return `Module{pluginId=${pluginId}}`;\n }\n };\n}\n\nexport { createFrontendModule };\n//# sourceMappingURL=createFrontendModule.esm.js.map\n","import { describeParentCallSite } from '../routing/describeParentCallSite.esm.js';\n\nfunction createFrontendFeatureLoader(options) {\n const description = `created at '${describeParentCallSite()}'`;\n return {\n $$type: \"@backstage/FrontendFeatureLoader\",\n version: \"v1\",\n description,\n toString() {\n return `FeatureLoader{description=${description}}`;\n },\n async loader(deps) {\n const it = await options.loader(deps);\n const result = new Array();\n for await (const item of it) {\n if (isFeatureOrLoader(item)) {\n result.push(item);\n } else if (\"default\" in item) {\n result.push(item.default);\n } else {\n throw new Error(`Invalid item \"${item}\"`);\n }\n }\n return result;\n }\n };\n}\nfunction isFeatureOrLoader(obj) {\n if (obj !== null && typeof obj === \"object\" && \"$$type\" in obj) {\n return obj.$$type === \"@backstage/FrontendPlugin\" || obj.$$type === \"@backstage/FrontendModule\" || obj.$$type === \"@backstage/FrontendFeatureLoader\";\n }\n return false;\n}\n\nexport { createFrontendFeatureLoader };\n//# sourceMappingURL=createFrontendFeatureLoader.esm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport { useVersionedContext } from '@backstage/version-bridge';\nimport { NotImplementedError } from '@backstage/errors';\n\nfunction useApiHolder() {\n const versionedHolder = useVersionedContext(\"api-context\");\n if (!versionedHolder) {\n throw new NotImplementedError(\"API context is not available\");\n }\n const apiHolder = versionedHolder.atVersion(1);\n if (!apiHolder) {\n throw new NotImplementedError(\"ApiContext v1 not available\");\n }\n return apiHolder;\n}\nfunction useApi(apiRef) {\n const apiHolder = useApiHolder();\n const api = apiHolder.get(apiRef);\n if (!api) {\n throw new NotImplementedError(`No implementation available for ${apiRef}`);\n }\n return api;\n}\nfunction withApis(apis) {\n return function withApisWrapper(WrappedComponent) {\n const Hoc = (props) => {\n const apiHolder = useApiHolder();\n const impls = {};\n for (const key in apis) {\n if (apis.hasOwnProperty(key)) {\n const ref = apis[key];\n const api = apiHolder.get(ref);\n if (!api) {\n throw new NotImplementedError(\n `No implementation available for ${ref}`\n );\n }\n impls[key] = api;\n }\n }\n return /* @__PURE__ */ jsx(WrappedComponent, { ...props, ...impls });\n };\n const displayName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n Hoc.displayName = `withApis(${displayName})`;\n return Hoc;\n };\n}\n\nexport { useApi, useApiHolder, withApis };\n//# sourceMappingURL=useApi.esm.js.map\n","class ApiRefImpl {\n constructor(config) {\n this.config = config;\n const valid = config.id.split(\".\").flatMap((part) => part.split(\"-\")).every((part) => part.match(/^[a-z][a-z0-9]*$/));\n if (!valid) {\n throw new Error(\n `API id must only contain period separated lowercase alphanum tokens with dashes, got '${config.id}'`\n );\n }\n }\n get id() {\n return this.config.id;\n }\n // Utility for getting type of an api, using `typeof apiRef.T`\n get T() {\n throw new Error(`tried to read ApiRef.T of ${this}`);\n }\n toString() {\n return `apiRef{${this.config.id}}`;\n }\n}\nfunction createApiRef(config) {\n return new ApiRefImpl(config);\n}\n\nexport { createApiRef };\n//# sourceMappingURL=ApiRef.esm.js.map\n"],"names":["errorApiRef","id","AnalyticsReactContext","createVersionedContext","useAnalyticsContext","theContext","useContext","pluginId","extensionId","theValue","atVersion","Error","AnalyticsContext","options","attributes","children","combinedValue","versionedCombinedValue","createVersionedValueMap","jsx","Provider","value","analyticsApiRef","createApiRef","globalEvents","getOrCreateGlobalSingleton","mostRecentGatheredNavigation","mostRecentRoutableExtensionRender","beforeUnloadRegistered","Tracker","constructor","analyticsApi","context","this","addEventListener","captureEvent","once","passive","setContext","action","subject","e","console","warn","useAnalytics","trackerRef","useRef","useApi","error","name","useAnalyticsApi","tracker","current","appTreeApiRef","componentsApiRef","useComponentRef","ref","getComponent","iconsApiRef","dialogApiRef","routeResolutionApiRef","ignoreOverride","Symbol","defaultOptions","undefined","$refStrategy","basePath","effectStrategy","pipeStrategy","dateStrategy","mapStrategy","removeAdditionalStrategy","allowedAdditionalProperties","rejectedAdditionalProperties","definitionPath","target","strictUnions","definitions","errorMessages","markdownDescription","patternStrategy","applyRegexFlags","emailStrategy","base64Strategy","nameStrategy","addErrorMessage","res","key","errorMessage","refs","setResponseValueAndErrors","parseBrandedDef","_def","parseDef","type","parseDateDef","def","overrideDateStrategy","strategy","Array","isArray","anyOf","map","item","i","format","integerDateParser","check","checks","kind","message","emojiRegex","zodPatterns","parseStringDef","minLength","Math","max","maxLength","min","addFormat","addPattern","regex","RegExp","escapeLiteralCheckValue","version","literal","source","result","length","ALPHA_NUMERIC","has","escapeNonAlphaNumeric","Set","schema","some","x","push","Object","keys","pattern","allOf","stringifyRegExpWithFlags","flags","includes","toLowerCase","isEscaped","inCharGroup","inCharRange","match","toUpperCase","currentPath","join","parseRecordDef","keyType","typeName","ZodEnum","required","values","properties","reduce","acc","valueType","additionalProperties","ZodString","propertyNames","enum","ZodBranded","primitiveMappings","ZodNumber","ZodBigInt","ZodBoolean","ZodNull","asAnyOf","Map","from","filter","safeIsOptional","isOptional","selectParser","inclusive","exclusiveMinimum","exclusiveMaximum","parseNumberDef","ZodObject","forceOptionalIntoNullable","shape","propName","propDef","propOptional","innerType","isNullable","nullable","parsedDef","propertyPath","catchall","unknownKeys","decideAdditionalProperties","parseObjectDef","parseBigintDef","ZodDate","ZodUndefined","not","parseNullDef","ZodArray","ZodAny","items","exactLength","parseArrayDef","ZodUnion","ZodDiscriminatedUnion","every","types","description","uniqueTypes","a","indexOf","parseUnionDef","ZodIntersection","left","right","unevaluatedProperties","mergedAllOf","forEach","nestedSchema","rest","parseIntersectionDef","ZodTuple","minItems","additionalItems","maxItems","parseTupleDef","ZodRecord","ZodLiteral","parsedType","const","parseLiteralDef","parseEnumDef","ZodNativeEnum","object","actualValues","parsedTypes","parseNativeEnumDef","ZodNullable","base","parseNullableDef","ZodOptional","toString","innerSchema","parseOptionalDef","ZodMap","parseMapDef","ZodSet","uniqueItems","minSize","maxSize","parseSetDef","ZodLazy","getter","ZodPromise","parsePromiseDef","ZodNaN","ZodNever","ZodEffects","parseEffectsDef","ZodUnknown","ZodDefault","default","defaultValue","parseDefaultDef","ZodReadonly","ZodCatch","parseCatchDef","ZodPipeline","in","out","parsePipelineDef","ZodFunction","ZodVoid","ZodSymbol","forceResolution","seenItem","seen","get","override","overrideResult","seenSchema","get$ref","newItem","path","jsonSchema","set","jsonSchemaOrGetter","addMeta","postProcess","postProcessResult","$ref","getRelativePath","index","pathA","pathB","slice","_options","getDefaultOptions","entries","getRefs","main","title","combined","$schema","createExtensionDataRef","createRef","refId","assign","$$type","config","optional","Boolean","with","createExtensionDataContainer","declaredRefs","container","verifyRefs","output","delete","remainingRefs","iterator","resolveInputOverrides","declaredInputs","inputs","inputOverrides","newInputs","hasOwn","declaredInput","providedData","singleton","originalInput","providedContainer","extensionData","node","withNodesCount","d","data","formatIssue","issue","code","unionErrors","issues","OpaqueType","create","versions","TPublic","TInternal","isType","toInternal","TypeError","expected","createInstance","props","String","OpaqueExtensionDefinition","ctxParamsSymbol","createExtension","schemaDeclaration","configSchema","innerZ","z","fromEntries","k","v","parse","input","safeParse","success","createSchemaFromZod","T","attachTo","disabled","factory","parts","flat","overrideOptions","params","apis","parentResult","innerContext","deduplicatedResult","createExtensionBlueprint","dataRefs","make","args","ctx","makeWithOverrides","innerParams","factoryDataRef","ApiBlueprint","coreExtensionData","reactElement","routePath","routeRef","AppRootElementBlueprint","element","componentDataRef","AppRootWrapperBlueprint","component","Component","iconsDataRef","IconBundleBlueprint","icons","targetDataRef","NavItemBlueprint","icon","string","logoElementsDataRef","NavLogoBlueprint","logoElements","logoIcon","logoFull","ErrorBoundary","getDerivedStateFromError","state","handleErrorReset","setState","render","plugin","Fallback","resetError","createComponentRef","coreComponentRefs","progress","notFoundErrorPage","errorBoundaryFallback","CONTEXT_KEY","AppNodeContext","AppNodeProvider","versionedValue","useAppNode","versionedContext","useVersionedContext","RouteTracker","disableTracking","analytics","useEffect","Fragment","ExtensionBoundary","routable","doesOutputRoutePath","instance","getData","spec","Progress","fallback","Suspense","ExtensionBoundary2","lazy","appNode","loader","ExtensionComponent","then","lazyComponent","PageBlueprint","defaultPath","RouterBlueprint","SignInPageBlueprint","themeDataRef","ThemeBlueprint","theme","translationDataRef","TranslationBlueprint","translation","resource","createComponentExtension","impl","sync","lazyLoader","MESSAGE_MARKER","describeParentCallSite","ErrorConstructor","stack","startIndex","secondEntryStart","secondEntryEnd","line","substring","trim","toInternalRouteRef","r","RouteRefImpl","creationSite","getParams","getDescription","setId","createRouteRef","PARAM_PATTERN","SubRouteRefImpl","parent","getParent","createSubRouteRef","parentParams","pathParams","split","p","startsWith","endsWith","param","test","ExternalRouteRefImpl","defaultTarget","super","getDefaultTarget","createExternalRouteRef","useRouteRef","pathname","useLocation","routeResolutionApi","useMemo","resolve","sourcePath","useRouteRefParams","_routeRef","useParams","createTranslationMessages","full","messages","createTranslationResource","resources","translations","language","m","TranslationRefImpl","nested","visit","obj","prefix","flattenMessages","getDefaultMessages","setDefaultResource","getDefaultResource","createTranslationRef","loggedRefs","WeakSet","useTranslationRef","translationRef","errorApi","translationApi","snapshot","setSnapshot","useState","getTranslation","observable","translation$","onError","useCallback","errMsg","post","add","subscription","subscribe","next","ready","unsubscribe","initialRenderRef","Promise","t","createExtensionInput","replaces","resolveExtensionDefinition","definition","internalDefinition","namespace","_skip1","_skip2","namePart","OpaqueFrontendPlugin","createFrontendPlugin","extensions","extensionDefinitionsById","internal","ext","size","extensionIds","duplicates","routes","externalRoutes","featureFlags","infoOptions","info","getExtension","withOverrides","overrides","overriddenExtensionIds","nonOverriddenExtensions","createFrontendModule","createFrontendFeatureLoader","deps","it","useApiHolder","versionedHolder","apiHolder","apiRef","api","withApis","WrappedComponent","Hoc","impls","hasOwnProperty","displayName","ApiRefImpl","flatMap","part"],"sourceRoot":""}
|