diff --git a/.yarn/patches/@backstage-backend-dynamic-feature-service-npm-0.4.4.patch b/.yarn/patches/@backstage-backend-dynamic-feature-service-npm-0.4.4.patch deleted file mode 100644 index c7583053ef..0000000000 --- a/.yarn/patches/@backstage-backend-dynamic-feature-service-npm-0.4.4.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/dist/features/features.cjs.js b/dist/features/features.cjs.js -index debb6ce817c7aa0111a3cbc20edeee815ad59759..cea4f6fde4c4c57793db5f9732d6810bdd517256 100644 ---- a/dist/features/features.cjs.js -+++ b/dist/features/features.cjs.js -@@ -1,11 +1,11 @@ - 'use strict'; - - var backendPluginApi = require('@backstage/backend-plugin-api'); -+var pluginManager = require('../manager/plugin-manager.cjs.js'); -+var pluginScanner = require('../scanner/plugin-scanner.cjs.js'); - var schemas = require('../schemas/schemas.cjs.js'); - var frontend = require('../schemas/frontend.cjs.js'); - var rootLogger = require('../schemas/rootLogger.cjs.js'); --var pluginManager = require('../manager/plugin-manager.cjs.js'); --var pluginScanner = require('../scanner/plugin-scanner.cjs.js'); - - const dynamicPluginsFeatureLoaderWithOptions = (options) => backendPluginApi.createBackendFeatureLoader({ - deps: { -@@ -13,13 +13,17 @@ const dynamicPluginsFeatureLoaderWithOptions = (options) => backendPluginApi.cre - }, - *loader({ config }) { - const dynamicPluginsEnabled = config.has(pluginScanner.configKey); -+ let rootLoggerOptions = {}; -+ if (options?.logger) { -+ rootLoggerOptions = options.logger(config); -+ } - yield* [ - schemas.dynamicPluginsSchemasServiceFactory(options), - pluginManager.dynamicPluginsServiceFactory(options) - ]; - if (dynamicPluginsEnabled) { - yield* [ -- rootLogger.dynamicPluginsRootLoggerServiceFactory(options), -+ rootLogger.dynamicPluginsRootLoggerServiceFactory(rootLoggerOptions), - frontend.dynamicPluginsFrontendSchemas, - pluginManager.dynamicPluginsFeatureDiscoveryLoader - ]; -diff --git a/dist/features/features.cjs.js.map b/dist/features/features.cjs.js.map -index 4c36851870462037a9c505eb5b20a7085499c734..9db90b1fd34484a06aaaa1137322f22f4a9e82c2 100644 ---- a/dist/features/features.cjs.js.map -+++ b/dist/features/features.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"features.cjs.js","sources":["../../src/features/features.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n coreServices,\n createBackendFeatureLoader,\n} from '@backstage/backend-plugin-api';\nimport {\n DynamicPluginsSchemasOptions,\n dynamicPluginsFrontendSchemas,\n dynamicPluginsRootLoggerServiceFactory,\n dynamicPluginsSchemasServiceFactory,\n} from '../schemas';\nimport {\n DynamicPluginsFactoryOptions,\n dynamicPluginsFeatureDiscoveryLoader,\n dynamicPluginsServiceFactory,\n} from '../manager';\nimport { DynamicPluginsRootLoggerFactoryOptions } from '../schemas';\nimport { configKey } from '../scanner/plugin-scanner';\n\n/**\n * @public\n */\nexport type DynamicPluginsFeatureLoaderOptions = DynamicPluginsFactoryOptions &\n DynamicPluginsSchemasOptions &\n DynamicPluginsRootLoggerFactoryOptions;\n\nconst dynamicPluginsFeatureLoaderWithOptions = (\n options?: DynamicPluginsFeatureLoaderOptions,\n) =>\n createBackendFeatureLoader({\n deps: {\n config: coreServices.rootConfig,\n },\n *loader({ config }) {\n const dynamicPluginsEnabled = config.has(configKey);\n\n yield* [\n dynamicPluginsSchemasServiceFactory(options),\n dynamicPluginsServiceFactory(options),\n ];\n if (dynamicPluginsEnabled) {\n yield* [\n dynamicPluginsRootLoggerServiceFactory(options),\n dynamicPluginsFrontendSchemas,\n dynamicPluginsFeatureDiscoveryLoader,\n ];\n }\n },\n });\n\n/**\n * A backend feature loader that fully enable backend dynamic plugins.\n * More precisely it:\n * - adds the dynamic plugins root service (typically depended upon by plugins),\n * - adds additional required features to allow supporting dynamic plugins config schemas\n * in the frontend application and the backend root logger,\n * - uses the dynamic plugins service to discover and expose dynamic plugins as features.\n *\n * @public\n *\n * @example\n * Using the `dynamicPluginsFeatureLoader` loader in a backend instance:\n * ```ts\n * //...\n * import { createBackend } from '@backstage/backend-defaults';\n * import { dynamicPluginsFeatureLoader } from '@backstage/backend-dynamic-feature-service';\n *\n * const backend = createBackend();\n * backend.add(dynamicPluginsFeatureLoader);\n * //...\n * backend.start();\n * ```\n *\n * @example\n * Passing options to the `dynamicPluginsFeatureLoader` loader in a backend instance:\n * ```ts\n * //...\n * import { createBackend } from '@backstage/backend-defaults';\n * import { dynamicPluginsFeatureLoader } from '@backstage/backend-dynamic-feature-service';\n * import { myCustomModuleLoader } from './myCustomModuleLoader';\n * import { myCustomSchemaLocator } from './myCustomSchemaLocator';\n *\n * const backend = createBackend();\n * backend.add(dynamicPluginsFeatureLoader({\n * moduleLoader: myCustomModuleLoader,\n * schemaLocator: myCustomSchemaLocator,\n *\n * }));\n * //...\n * backend.start();\n * ```\n */\nexport const dynamicPluginsFeatureLoader = Object.assign(\n dynamicPluginsFeatureLoaderWithOptions,\n dynamicPluginsFeatureLoaderWithOptions(),\n);\n"],"names":["createBackendFeatureLoader","coreServices","configKey","dynamicPluginsSchemasServiceFactory","dynamicPluginsServiceFactory","dynamicPluginsRootLoggerServiceFactory","dynamicPluginsFrontendSchemas","dynamicPluginsFeatureDiscoveryLoader"],"mappings":";;;;;;;;;AAyCA,MAAM,sCAAA,GAAyC,CAC7C,OAAA,KAEAA,2CAA2B,CAAA;AAAA,EACzB,IAAM,EAAA;AAAA,IACJ,QAAQC,6BAAa,CAAA,UAAA;AAAA,GACvB;AAAA,EACA,CAAC,MAAA,CAAO,EAAE,MAAA,EAAU,EAAA;AAClB,IAAM,MAAA,qBAAA,GAAwB,MAAO,CAAA,GAAA,CAAIC,uBAAS,CAAA,CAAA;AAElD,IAAO,OAAA;AAAA,MACLC,4CAAoC,OAAO,CAAA;AAAA,MAC3CC,2CAA6B,OAAO,CAAA;AAAA,KACtC,CAAA;AACA,IAAA,IAAI,qBAAuB,EAAA;AACzB,MAAO,OAAA;AAAA,QACLC,kDAAuC,OAAO,CAAA;AAAA,QAC9CC,sCAAA;AAAA,QACAC,kDAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AA4CI,MAAM,8BAA8B,MAAO,CAAA,MAAA;AAAA,EAChD,sCAAA;AAAA,EACA,sCAAuC,EAAA;AACzC;;;;"} -\ No newline at end of file -+{"version":3,"file":"features.cjs.js","sources":["../../src/features/features.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n coreServices,\n createBackendFeatureLoader,\n} from '@backstage/backend-plugin-api';\nimport type { Config } from '@backstage/config';\nimport {\n DynamicPluginsFactoryOptions,\n dynamicPluginsFeatureDiscoveryLoader,\n dynamicPluginsServiceFactory,\n} from '../manager';\nimport { configKey } from '../scanner/plugin-scanner';\nimport {\n DynamicPluginsRootLoggerFactoryOptions,\n DynamicPluginsSchemasOptions,\n dynamicPluginsFrontendSchemas,\n dynamicPluginsRootLoggerServiceFactory,\n dynamicPluginsSchemasServiceFactory,\n} from '../schemas';\n\n/**\n * @public\n */\nexport type DynamicPluginsFeatureLoaderOptions = DynamicPluginsFactoryOptions &\n DynamicPluginsSchemasOptions & {\n logger?: (config?: Config) => DynamicPluginsRootLoggerFactoryOptions;\n };\n\nconst dynamicPluginsFeatureLoaderWithOptions = (\n options?: DynamicPluginsFeatureLoaderOptions,\n) =>\n createBackendFeatureLoader({\n deps: {\n config: coreServices.rootConfig,\n },\n *loader({ config }) {\n const dynamicPluginsEnabled = config.has(configKey);\n\n let rootLoggerOptions: DynamicPluginsRootLoggerFactoryOptions = {};\n if (options?.logger) {\n rootLoggerOptions = options.logger(config);\n }\n\n yield* [\n dynamicPluginsSchemasServiceFactory(options),\n dynamicPluginsServiceFactory(options),\n ];\n if (dynamicPluginsEnabled) {\n yield* [\n dynamicPluginsRootLoggerServiceFactory(rootLoggerOptions),\n dynamicPluginsFrontendSchemas,\n dynamicPluginsFeatureDiscoveryLoader,\n ];\n }\n },\n });\n\n/**\n * A backend feature loader that fully enable backend dynamic plugins.\n * More precisely it:\n * - adds the dynamic plugins root service (typically depended upon by plugins),\n * - adds additional required features to allow supporting dynamic plugins config schemas\n * in the frontend application and the backend root logger,\n * - uses the dynamic plugins service to discover and expose dynamic plugins as features.\n *\n * @public\n *\n * @example\n * Using the `dynamicPluginsFeatureLoader` loader in a backend instance:\n * ```ts\n * //...\n * import { createBackend } from '@backstage/backend-defaults';\n * import { dynamicPluginsFeatureLoader } from '@backstage/backend-dynamic-feature-service';\n *\n * const backend = createBackend();\n * backend.add(dynamicPluginsFeatureLoader);\n * //...\n * backend.start();\n * ```\n *\n * @example\n * Passing options to the `dynamicPluginsFeatureLoader` loader in a backend instance:\n * ```ts\n * //...\n * import { createBackend } from '@backstage/backend-defaults';\n * import { dynamicPluginsFeatureLoader } from '@backstage/backend-dynamic-feature-service';\n * import { myCustomModuleLoader } from './myCustomModuleLoader';\n * import { myCustomSchemaLocator } from './myCustomSchemaLocator';\n * import { myConfiguredLoggerOptions } from './myConfiguredLoggerOptions';\n *\n * const backend = createBackend();\n * backend.add(dynamicPluginsFeatureLoader({\n * moduleLoader: myCustomModuleLoader,\n * schemaLocator: myCustomSchemaLocator,\n * logger: (config) => myConfiguredLoggerOptions(config),\n * }));\n * //...\n * backend.start();\n * ```\n */\nexport const dynamicPluginsFeatureLoader = Object.assign(\n dynamicPluginsFeatureLoaderWithOptions,\n dynamicPluginsFeatureLoaderWithOptions(),\n);\n"],"names":["createBackendFeatureLoader","coreServices","configKey","dynamicPluginsSchemasServiceFactory","dynamicPluginsServiceFactory","dynamicPluginsRootLoggerServiceFactory","dynamicPluginsFrontendSchemas","dynamicPluginsFeatureDiscoveryLoader"],"mappings":";;;;;;;;;AA2CA,MAAM,sCAAA,GAAyC,CAC7C,OAAA,KAEAA,2CAA2B,CAAA;AAAA,EACzB,IAAM,EAAA;AAAA,IACJ,QAAQC,6BAAa,CAAA,UAAA;AAAA,GACvB;AAAA,EACA,CAAC,MAAA,CAAO,EAAE,MAAA,EAAU,EAAA;AAClB,IAAM,MAAA,qBAAA,GAAwB,MAAO,CAAA,GAAA,CAAIC,uBAAS,CAAA,CAAA;AAElD,IAAA,IAAI,oBAA4D,EAAC,CAAA;AACjE,IAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,MAAoB,iBAAA,GAAA,OAAA,CAAQ,OAAO,MAAM,CAAA,CAAA;AAAA,KAC3C;AAEA,IAAO,OAAA;AAAA,MACLC,4CAAoC,OAAO,CAAA;AAAA,MAC3CC,2CAA6B,OAAO,CAAA;AAAA,KACtC,CAAA;AACA,IAAA,IAAI,qBAAuB,EAAA;AACzB,MAAO,OAAA;AAAA,QACLC,kDAAuC,iBAAiB,CAAA;AAAA,QACxDC,sCAAA;AAAA,QACAC,kDAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AA6CI,MAAM,8BAA8B,MAAO,CAAA,MAAA;AAAA,EAChD,sCAAA;AAAA,EACA,sCAAuC,EAAA;AACzC;;;;"} -\ No newline at end of file -diff --git a/dist/index.d.ts b/dist/index.d.ts -index 212ed98b995d33e38f428a108805a6a791bd948f..3baf7cda73cfc095254f6818b37edc46bf7d2c1d 100644 ---- a/dist/index.d.ts -+++ b/dist/index.d.ts -@@ -276,7 +276,9 @@ declare const dynamicPluginsRootLoggerServiceFactory: ((options?: DynamicPlugins - /** - * @public - */ --type DynamicPluginsFeatureLoaderOptions = DynamicPluginsFactoryOptions & DynamicPluginsSchemasOptions & DynamicPluginsRootLoggerFactoryOptions; -+type DynamicPluginsFeatureLoaderOptions = DynamicPluginsFactoryOptions & DynamicPluginsSchemasOptions & { -+ logger?: (config?: Config) => DynamicPluginsRootLoggerFactoryOptions; -+}; - /** - * A backend feature loader that fully enable backend dynamic plugins. - * More precisely it: -@@ -308,12 +310,13 @@ type DynamicPluginsFeatureLoaderOptions = DynamicPluginsFactoryOptions & Dynamic - * import { dynamicPluginsFeatureLoader } from '@backstage/backend-dynamic-feature-service'; - * import { myCustomModuleLoader } from './myCustomModuleLoader'; - * import { myCustomSchemaLocator } from './myCustomSchemaLocator'; -+ * import { myConfiguredLoggerOptions } from './myConfiguredLoggerOptions'; - * - * const backend = createBackend(); - * backend.add(dynamicPluginsFeatureLoader({ - * moduleLoader: myCustomModuleLoader, - * schemaLocator: myCustomSchemaLocator, -- * -+ * logger: (config) => myConfiguredLoggerOptions(config), - * })); - * //... - * backend.start(); diff --git a/.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch b/.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch deleted file mode 100644 index 9280ee97c8..0000000000 --- a/.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch +++ /dev/null @@ -1,104 +0,0 @@ -diff --git a/config.d.ts b/config.d.ts -index d59c40697ab250330eb71483692def8785142e07..17b26a6eb580921e8a50b3ef87316e6cdb89b7a4 100644 ---- a/config.d.ts -+++ b/config.d.ts -@@ -34,10 +34,11 @@ export interface Config { - signIn?: { - resolvers: Array< - | { -- resolver: 'emailLocalPartMatchingUserEntityName'; -- allowedDomains?: string[]; -- } -+ resolver: 'emailLocalPartMatchingUserEntityName'; -+ allowedDomains?: string[]; -+ } - | { resolver: 'emailMatchingUserEntityProfileEmail' } -+ | { resolver: 'preferredUsernameMatchingUserEntityName' } - >; - }; - }; -diff --git a/dist/authenticator.cjs.js.map b/dist/authenticator.cjs.js.map -index f5838857e575c085b99bec2b558b8d3818b89c9d..92e72750e7e99f74d8aacf56dc8c42a601b97a1c 100644 ---- a/dist/authenticator.cjs.js.map -+++ b/dist/authenticator.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"authenticator.cjs.js","sources":["../src/authenticator.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport crypto from 'crypto';\nimport {\n custom,\n CustomHttpOptionsProvider,\n Issuer,\n ClientAuthMethod,\n TokenSet,\n UserinfoResponse,\n Strategy as OidcStrategy,\n} from 'openid-client';\nimport {\n createOAuthAuthenticator,\n OAuthAuthenticatorResult,\n PassportDoneCallback,\n PassportHelpers,\n PassportOAuthAuthenticatorHelper,\n PassportOAuthPrivateInfo,\n} from '@backstage/plugin-auth-node';\n\nconst HTTP_OPTION_TIMEOUT = 10000;\nconst httpOptionsProvider: CustomHttpOptionsProvider = (_url, options) => {\n return {\n ...options,\n timeout: HTTP_OPTION_TIMEOUT,\n };\n};\n\n/**\n * authentication result for the OIDC which includes the token set and user\n * profile response\n * @public\n */\nexport type OidcAuthResult = {\n tokenset: TokenSet;\n userinfo: UserinfoResponse;\n};\n\n/** @public */\nexport const oidcAuthenticator = createOAuthAuthenticator({\n defaultProfileTransform: async (\n input: OAuthAuthenticatorResult,\n ) => ({\n profile: {\n email: input.fullProfile.userinfo.email,\n picture: input.fullProfile.userinfo.picture,\n displayName: input.fullProfile.userinfo.name,\n },\n }),\n scopes: {\n persist: true,\n required: ['openid', 'profile', 'email'],\n },\n initialize({ callbackUrl, config }) {\n const clientId = config.getString('clientId');\n const clientSecret = config.getString('clientSecret');\n const metadataUrl = config.getString('metadataUrl');\n const customCallbackUrl = config.getOptionalString('callbackUrl');\n const tokenEndpointAuthMethod = config.getOptionalString(\n 'tokenEndpointAuthMethod',\n ) as ClientAuthMethod;\n const tokenSignedResponseAlg = config.getOptionalString(\n 'tokenSignedResponseAlg',\n );\n const initializedPrompt = config.getOptionalString('prompt');\n\n if (config.has('scope')) {\n throw new Error(\n 'The oidc provider no longer supports the \"scope\" configuration option. Please use the \"additionalScopes\" option instead.',\n );\n }\n\n Issuer[custom.http_options] = httpOptionsProvider;\n const promise = Issuer.discover(metadataUrl).then(issuer => {\n issuer[custom.http_options] = httpOptionsProvider;\n issuer.Client[custom.http_options] = httpOptionsProvider;\n\n const client = new issuer.Client({\n access_type: 'offline', // this option must be passed to provider to receive a refresh token\n client_id: clientId,\n client_secret: clientSecret,\n redirect_uris: [customCallbackUrl || callbackUrl],\n response_types: ['code'],\n token_endpoint_auth_method:\n tokenEndpointAuthMethod || 'client_secret_basic',\n id_token_signed_response_alg: tokenSignedResponseAlg || 'RS256',\n });\n client[custom.http_options] = httpOptionsProvider;\n\n const strategy = new OidcStrategy(\n {\n client,\n passReqToCallback: false,\n },\n (\n tokenset: TokenSet,\n userinfo: UserinfoResponse,\n done: PassportDoneCallback,\n ) => {\n if (typeof done !== 'function') {\n throw new Error(\n 'OIDC IdP must provide a userinfo_endpoint in the metadata response',\n );\n }\n\n done(\n undefined,\n { tokenset, userinfo },\n { refreshToken: tokenset.refresh_token },\n );\n },\n );\n\n const helper = PassportOAuthAuthenticatorHelper.from(strategy);\n return { helper, client, strategy };\n });\n\n return { initializedPrompt, promise };\n },\n\n async start(input, ctx) {\n const { initializedPrompt, promise } = ctx;\n const { helper, strategy } = await promise;\n const options: Record = {\n scope: input.scope,\n state: input.state,\n nonce: crypto.randomBytes(16).toString('base64'),\n };\n const prompt = initializedPrompt || 'none';\n if (prompt !== 'auto') {\n options.prompt = prompt;\n }\n\n return new Promise((resolve, reject) => {\n strategy.error = reject;\n\n return helper\n .start(input, {\n ...options,\n })\n .then(resolve);\n });\n },\n\n async authenticate(\n input,\n ctx,\n ): Promise> {\n const { strategy } = await ctx.promise;\n const { result, privateInfo } =\n await PassportHelpers.executeFrameHandlerStrategy<\n OidcAuthResult,\n PassportOAuthPrivateInfo\n >(input.req, strategy);\n\n return {\n fullProfile: result,\n session: {\n accessToken: result.tokenset.access_token!,\n tokenType: result.tokenset.token_type ?? 'bearer',\n scope: result.tokenset.scope!,\n expiresInSeconds: result.tokenset.expires_in,\n idToken: result.tokenset.id_token,\n refreshToken: privateInfo.refreshToken,\n },\n };\n },\n\n async refresh(input, ctx) {\n const { client } = await ctx.promise;\n const tokenset = await client.refresh(input.refreshToken);\n if (!tokenset.access_token) {\n throw new Error('Refresh failed');\n }\n const userinfo = await client.userinfo(tokenset.access_token);\n\n return new Promise((resolve, reject) => {\n if (!tokenset.access_token) {\n reject(new Error('Refresh Failed'));\n }\n resolve({\n fullProfile: { userinfo, tokenset },\n session: {\n accessToken: tokenset.access_token!,\n tokenType: tokenset.token_type ?? 'bearer',\n scope: tokenset.scope!,\n expiresInSeconds: tokenset.expires_in,\n idToken: tokenset.id_token,\n refreshToken: tokenset.refresh_token,\n },\n });\n });\n },\n\n async logout(input, ctx) {\n const { client } = await ctx.promise;\n const issuer = client.issuer;\n /**\n * https://github.com/panva/node-openid-client/blob/main/lib/client.js#L1398\n * client.revoke will check revocation_endpoint and if undefined throw error。\n *\n * if oidc server do not provide revocation_endpoint,we should not call revoke function\n */\n\n if (input.refreshToken && issuer.revocation_endpoint) {\n await client.revoke(input.refreshToken);\n }\n },\n});\n"],"names":["createOAuthAuthenticator","Issuer","custom","OidcStrategy","PassportOAuthAuthenticatorHelper","crypto","PassportHelpers"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"authenticator.cjs.js","sources":["../src/authenticator.ts"],"sourcesContent":["/*\r\n * Copyright 2023 The Backstage Authors\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport crypto from 'crypto';\r\nimport {\r\n custom,\r\n CustomHttpOptionsProvider,\r\n Issuer,\r\n ClientAuthMethod,\r\n TokenSet,\r\n UserinfoResponse,\r\n Strategy as OidcStrategy,\r\n} from 'openid-client';\r\nimport {\r\n createOAuthAuthenticator,\r\n OAuthAuthenticatorResult,\r\n PassportDoneCallback,\r\n PassportHelpers,\r\n PassportOAuthAuthenticatorHelper,\r\n PassportOAuthPrivateInfo,\r\n} from '@backstage/plugin-auth-node';\r\n\r\nconst HTTP_OPTION_TIMEOUT = 10000;\r\nconst httpOptionsProvider: CustomHttpOptionsProvider = (_url, options) => {\r\n return {\r\n ...options,\r\n timeout: HTTP_OPTION_TIMEOUT,\r\n };\r\n};\r\n\r\n/**\r\n * authentication result for the OIDC which includes the token set and user\r\n * profile response\r\n * @public\r\n */\r\nexport type OidcAuthResult = {\r\n tokenset: TokenSet;\r\n userinfo: UserinfoResponse;\r\n};\r\n\r\n/** @public */\r\nexport const oidcAuthenticator = createOAuthAuthenticator({\r\n defaultProfileTransform: async (\r\n input: OAuthAuthenticatorResult,\r\n ) => ({\r\n profile: {\r\n email: input.fullProfile.userinfo.email,\r\n picture: input.fullProfile.userinfo.picture,\r\n displayName: input.fullProfile.userinfo.name,\r\n },\r\n }),\r\n scopes: {\r\n persist: true,\r\n required: ['openid', 'profile', 'email'],\r\n },\r\n initialize({ callbackUrl, config }) {\r\n const clientId = config.getString('clientId');\r\n const clientSecret = config.getString('clientSecret');\r\n const metadataUrl = config.getString('metadataUrl');\r\n const customCallbackUrl = config.getOptionalString('callbackUrl');\r\n const tokenEndpointAuthMethod = config.getOptionalString(\r\n 'tokenEndpointAuthMethod',\r\n ) as ClientAuthMethod;\r\n const tokenSignedResponseAlg = config.getOptionalString(\r\n 'tokenSignedResponseAlg',\r\n );\r\n const initializedPrompt = config.getOptionalString('prompt');\r\n\r\n if (config.has('scope')) {\r\n throw new Error(\r\n 'The oidc provider no longer supports the \"scope\" configuration option. Please use the \"additionalScopes\" option instead.',\r\n );\r\n }\r\n\r\n Issuer[custom.http_options] = httpOptionsProvider;\r\n const promise = Issuer.discover(metadataUrl).then(issuer => {\r\n issuer[custom.http_options] = httpOptionsProvider;\r\n issuer.Client[custom.http_options] = httpOptionsProvider;\r\n\r\n const client = new issuer.Client({\r\n access_type: 'offline', // this option must be passed to provider to receive a refresh token\r\n client_id: clientId,\r\n client_secret: clientSecret,\r\n redirect_uris: [customCallbackUrl || callbackUrl],\r\n response_types: ['code'],\r\n token_endpoint_auth_method:\r\n tokenEndpointAuthMethod || 'client_secret_basic',\r\n id_token_signed_response_alg: tokenSignedResponseAlg || 'RS256',\r\n });\r\n client[custom.http_options] = httpOptionsProvider;\r\n\r\n const strategy = new OidcStrategy(\r\n {\r\n client,\r\n passReqToCallback: false,\r\n },\r\n (\r\n tokenset: TokenSet,\r\n userinfo: UserinfoResponse,\r\n done: PassportDoneCallback,\r\n ) => {\r\n if (typeof done !== 'function') {\r\n throw new Error(\r\n 'OIDC IdP must provide a userinfo_endpoint in the metadata response',\r\n );\r\n }\r\n\r\n done(\r\n undefined,\r\n { tokenset, userinfo },\r\n { refreshToken: tokenset.refresh_token },\r\n );\r\n },\r\n );\r\n\r\n const helper = PassportOAuthAuthenticatorHelper.from(strategy);\r\n return { helper, client, strategy };\r\n });\r\n\r\n return { initializedPrompt, promise };\r\n },\r\n\r\n async start(input, ctx) {\r\n const { initializedPrompt, promise } = ctx;\r\n const { helper, strategy } = await promise;\r\n const options: Record = {\r\n scope: input.scope,\r\n state: input.state,\r\n nonce: crypto.randomBytes(16).toString('base64'),\r\n };\r\n const prompt = initializedPrompt || 'none';\r\n if (prompt !== 'auto') {\r\n options.prompt = prompt;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n strategy.error = reject;\r\n\r\n return helper\r\n .start(input, {\r\n ...options,\r\n })\r\n .then(resolve);\r\n });\r\n },\r\n\r\n async authenticate(\r\n input,\r\n ctx,\r\n ): Promise> {\r\n const { strategy } = await ctx.promise;\r\n const { result, privateInfo } =\r\n await PassportHelpers.executeFrameHandlerStrategy<\r\n OidcAuthResult,\r\n PassportOAuthPrivateInfo\r\n >(input.req, strategy);\r\n\r\n return {\r\n fullProfile: result,\r\n session: {\r\n accessToken: result.tokenset.access_token!,\r\n tokenType: result.tokenset.token_type ?? 'bearer',\r\n scope: result.tokenset.scope!,\r\n expiresInSeconds: result.tokenset.expires_in,\r\n idToken: result.tokenset.id_token,\r\n refreshToken: privateInfo.refreshToken,\r\n },\r\n };\r\n },\r\n\r\n async refresh(input, ctx) {\r\n const { client } = await ctx.promise;\r\n const tokenset = await client.refresh(input.refreshToken);\r\n if (!tokenset.access_token) {\r\n throw new Error('Refresh failed');\r\n }\r\n const userinfo = await client.userinfo(tokenset.access_token);\r\n\r\n return new Promise((resolve, reject) => {\r\n if (!tokenset.access_token) {\r\n reject(new Error('Refresh Failed'));\r\n }\r\n resolve({\r\n fullProfile: { userinfo, tokenset },\r\n session: {\r\n accessToken: tokenset.access_token!,\r\n tokenType: tokenset.token_type ?? 'bearer',\r\n scope: tokenset.scope!,\r\n expiresInSeconds: tokenset.expires_in,\r\n idToken: tokenset.id_token,\r\n refreshToken: tokenset.refresh_token,\r\n },\r\n });\r\n });\r\n },\r\n\r\n async logout(input, ctx) {\r\n const { client } = await ctx.promise;\r\n const issuer = client.issuer;\r\n /**\r\n * https://github.com/panva/node-openid-client/blob/main/lib/client.js#L1398\r\n * client.revoke will check revocation_endpoint and if undefined throw error。\r\n *\r\n * if oidc server do not provide revocation_endpoint,we should not call revoke function\r\n */\r\n\r\n if (input.refreshToken && issuer.revocation_endpoint) {\r\n await client.revoke(input.refreshToken);\r\n }\r\n },\r\n});\r\n"],"names":["createOAuthAuthenticator","Issuer","custom","OidcStrategy","PassportOAuthAuthenticatorHelper","crypto","PassportHelpers"],"mappings":"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"} -\ No newline at end of file -diff --git a/dist/index.d.ts b/dist/index.d.ts -index bd2eb330b124be25d60f9dd2bb325a5cf02c1761..b8be7582ab706e90f787ee8349306e70d18ede75 100644 ---- a/dist/index.d.ts -+++ b/dist/index.d.ts -@@ -1,5 +1,5 @@ - import * as _backstage_plugin_auth_node from '@backstage/plugin-auth-node'; --import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node'; -+import { PassportOAuthAuthenticatorHelper, OAuthAuthenticatorResult } from '@backstage/plugin-auth-node'; - import * as openid_client from 'openid-client'; - import { TokenSet, UserinfoResponse, Strategy } from 'openid-client'; - import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api'; -@@ -44,6 +44,11 @@ declare namespace oidcSignInResolvers { - * as email of the entity. - */ - const emailMatchingUserEntityProfileEmail: _backstage_plugin_auth_node.SignInResolverFactory; -+ /** -+ * A oidc resolver that looks up the user using their preferred username -+ * as the entity name -+ */ -+ const preferredUsernameMatchingUserEntityName: _backstage_plugin_auth_node.SignInResolverFactory, unknown>; - } - - export { type OidcAuthResult, authModuleOidcProvider as default, oidcAuthenticator, oidcSignInResolvers }; -diff --git a/dist/module.cjs.js b/dist/module.cjs.js -index f9dc2ae601a240550c1f975ddd55b94796ae081f..18c95c0b1b8cee1c3afcfcb035397d587cbcf6b6 100644 ---- a/dist/module.cjs.js -+++ b/dist/module.cjs.js -@@ -19,8 +19,7 @@ const authModuleOidcProvider = backendPluginApi.createBackendModule({ - factory: pluginAuthNode.createOAuthProviderFactory({ - authenticator: authenticator.oidcAuthenticator, - signInResolverFactories: { -- ...resolvers.oidcSignInResolvers, -- ...pluginAuthNode.commonSignInResolvers -+ ...resolvers.oidcSignInResolvers - } - }) - }); -diff --git a/dist/module.cjs.js.map b/dist/module.cjs.js.map -index 1f62b0c3a73d65d0618e2a14c5b9e0244d921955..e225d9f66b84b63d0c676e3fa424efe884d5e4f7 100644 ---- a/dist/module.cjs.js.map -+++ b/dist/module.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"module.cjs.js","sources":["../src/module.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createBackendModule } from '@backstage/backend-plugin-api';\nimport {\n authProvidersExtensionPoint,\n commonSignInResolvers,\n createOAuthProviderFactory,\n} from '@backstage/plugin-auth-node';\nimport { oidcAuthenticator } from './authenticator';\nimport { oidcSignInResolvers } from './resolvers';\n\n/** @public */\nexport const authModuleOidcProvider = createBackendModule({\n pluginId: 'auth',\n moduleId: 'oidc-provider',\n register(reg) {\n reg.registerInit({\n deps: {\n providers: authProvidersExtensionPoint,\n },\n async init({ providers }) {\n providers.registerProvider({\n providerId: 'oidc',\n factory: createOAuthProviderFactory({\n authenticator: oidcAuthenticator,\n signInResolverFactories: {\n ...oidcSignInResolvers,\n ...commonSignInResolvers,\n },\n }),\n });\n },\n });\n },\n});\n"],"names":["createBackendModule","authProvidersExtensionPoint","createOAuthProviderFactory","oidcAuthenticator","oidcSignInResolvers","commonSignInResolvers"],"mappings":";;;;;;;AAyBO,MAAM,yBAAyBA,oCAAoB,CAAA;AAAA,EACxD,QAAU,EAAA,MAAA;AAAA,EACV,QAAU,EAAA,eAAA;AAAA,EACV,SAAS,GAAK,EAAA;AACZ,IAAA,GAAA,CAAI,YAAa,CAAA;AAAA,MACf,IAAM,EAAA;AAAA,QACJ,SAAW,EAAAC,0CAAA;AAAA,OACb;AAAA,MACA,MAAM,IAAA,CAAK,EAAE,SAAA,EAAa,EAAA;AACxB,QAAA,SAAA,CAAU,gBAAiB,CAAA;AAAA,UACzB,UAAY,EAAA,MAAA;AAAA,UACZ,SAASC,yCAA2B,CAAA;AAAA,YAClC,aAAe,EAAAC,+BAAA;AAAA,YACf,uBAAyB,EAAA;AAAA,cACvB,GAAGC,6BAAA;AAAA,cACH,GAAGC,oCAAA;AAAA,aACL;AAAA,WACD,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OACH;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AACF,CAAC;;;;"} -\ No newline at end of file -+{"version":3,"file":"module.cjs.js","sources":["../src/module.ts"],"sourcesContent":["/*\r\n * Copyright 2023 The Backstage Authors\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nimport { createBackendModule } from '@backstage/backend-plugin-api';\r\nimport {\r\n authProvidersExtensionPoint,\r\n createOAuthProviderFactory\r\n} from '@backstage/plugin-auth-node';\r\nimport { oidcAuthenticator } from './authenticator';\r\nimport { oidcSignInResolvers } from './resolvers';\r\n\r\n/** @public */\r\nexport const authModuleOidcProvider = createBackendModule({\r\n pluginId: 'auth',\r\n moduleId: 'oidc-provider',\r\n register(reg) {\r\n reg.registerInit({\r\n deps: {\r\n providers: authProvidersExtensionPoint,\r\n },\r\n async init({ providers }) {\r\n providers.registerProvider({\r\n providerId: 'oidc',\r\n factory: createOAuthProviderFactory({\r\n authenticator: oidcAuthenticator,\r\n signInResolverFactories: {\r\n ...oidcSignInResolvers,\r\n },\r\n }),\r\n });\r\n },\r\n });\r\n },\r\n});\r\n"],"names":["createBackendModule","authProvidersExtensionPoint","createOAuthProviderFactory","oidcAuthenticator","oidcSignInResolvers"],"mappings":";;;;;;;AAwBO,MAAM,yBAAyBA,oCAAoB,CAAA;AAAA,EACxD,QAAU,EAAA,MAAA;AAAA,EACV,QAAU,EAAA,eAAA;AAAA,EACV,SAAS,GAAK,EAAA;AACZ,IAAA,GAAA,CAAI,YAAa,CAAA;AAAA,MACf,IAAM,EAAA;AAAA,QACJ,SAAW,EAAAC,0CAAA;AAAA,OACb;AAAA,MACA,MAAM,IAAA,CAAK,EAAE,SAAA,EAAa,EAAA;AACxB,QAAA,SAAA,CAAU,gBAAiB,CAAA;AAAA,UACzB,UAAY,EAAA,MAAA;AAAA,UACZ,SAASC,yCAA2B,CAAA;AAAA,YAClC,aAAe,EAAAC,+BAAA;AAAA,YACf,uBAAyB,EAAA;AAAA,cACvB,GAAGC,6BAAA;AAAA,aACL;AAAA,WACD,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OACH;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AACF,CAAC;;;;"} -\ No newline at end of file -diff --git a/dist/resolvers.cjs.js b/dist/resolvers.cjs.js -index 380a9624cb461b3782fc319d7722dc1da1c442d7..dc3ebe39b74807c3b0a94835030a89640d7ce976 100644 ---- a/dist/resolvers.cjs.js -+++ b/dist/resolvers.cjs.js -@@ -6,5 +6,16 @@ exports.oidcSignInResolvers = void 0; - ((oidcSignInResolvers2) => { - oidcSignInResolvers2.emailLocalPartMatchingUserEntityName = pluginAuthNode.commonSignInResolvers.emailLocalPartMatchingUserEntityName; - oidcSignInResolvers2.emailMatchingUserEntityProfileEmail = pluginAuthNode.commonSignInResolvers.emailMatchingUserEntityProfileEmail; -+ oidcSignInResolvers2.preferredUsernameMatchingUserEntityName = pluginAuthNode.createSignInResolverFactory({ -+ create() { -+ return async (info, ctx) => { -+ const userId = info.result.fullProfile.userinfo.preferred_username; -+ if (!userId) { -+ throw new Error(`OIDC user profile does not contain a username`); -+ } -+ return ctx.signInWithCatalogUser({ entityRef: { name: userId } }); -+ }; -+ } -+ }); - })(exports.oidcSignInResolvers || (exports.oidcSignInResolvers = {})); - //# sourceMappingURL=resolvers.cjs.js.map -diff --git a/dist/resolvers.cjs.js.map b/dist/resolvers.cjs.js.map -index b345faec13e95559fa23cb3fefb8d657b04a48ff..e631e22279a30f7efe136db9d0ae170bce1b329a 100644 ---- a/dist/resolvers.cjs.js.map -+++ b/dist/resolvers.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"resolvers.cjs.js","sources":["../src/resolvers.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { commonSignInResolvers } from '@backstage/plugin-auth-node';\n\n/**\n * Available sign-in resolvers for the Oidc auth provider.\n *\n * @public\n */\nexport namespace oidcSignInResolvers {\n /**\n * A oidc resolver that looks up the user using the local part of\n * their email address as the entity name.\n */\n export const emailLocalPartMatchingUserEntityName =\n commonSignInResolvers.emailLocalPartMatchingUserEntityName;\n\n /**\n * A oidc resolver that looks up the user using their email address\n * as email of the entity.\n */\n export const emailMatchingUserEntityProfileEmail =\n commonSignInResolvers.emailMatchingUserEntityProfileEmail;\n}\n"],"names":["oidcSignInResolvers","commonSignInResolvers"],"mappings":";;;;AAuBiBA,qCAAA;AAAA,CAAV,CAAUA,oBAAV,KAAA;AAKE,EAAMA,oBAAAA,CAAA,uCACXC,oCAAsB,CAAA,oCAAA,CAAA;AAMjB,EAAMD,oBAAAA,CAAA,sCACXC,oCAAsB,CAAA,mCAAA,CAAA;AAAA,CAbT,EAAAD,2BAAA,KAAAA,2BAAA,GAAA,EAAA,CAAA,CAAA;;"} -\ No newline at end of file -+{"version":3,"file":"resolvers.cjs.js","sources":["../src/resolvers.ts"],"sourcesContent":["/*\r\n * Copyright 2023 The Backstage Authors\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport {\r\n AuthResolverContext,\r\n OAuthAuthenticatorResult,\r\n SignInInfo,\r\n commonSignInResolvers,\r\n createSignInResolverFactory,\r\n} from '@backstage/plugin-auth-node';\r\nimport { OidcAuthResult } from './authenticator';\r\n\r\n/**\r\n * Available sign-in resolvers for the Oidc auth provider.\r\n *\r\n * @public\r\n */\r\nexport namespace oidcSignInResolvers {\r\n /**\r\n * A oidc resolver that looks up the user using the local part of\r\n * their email address as the entity name.\r\n */\r\n export const emailLocalPartMatchingUserEntityName =\r\n commonSignInResolvers.emailLocalPartMatchingUserEntityName;\r\n\r\n /**\r\n * A oidc resolver that looks up the user using their email address\r\n * as email of the entity.\r\n */\r\n export const emailMatchingUserEntityProfileEmail =\r\n commonSignInResolvers.emailMatchingUserEntityProfileEmail;\r\n\r\n /**\r\n* A oidc resolver that looks up the user using their preferred username\r\n* as the entity name\r\n*/\r\n export const preferredUsernameMatchingUserEntityName =\r\n createSignInResolverFactory({\r\n create() {\r\n return async (\r\n info: SignInInfo>,\r\n ctx: AuthResolverContext,\r\n ) => {\r\n const userId = info.result.fullProfile.userinfo.preferred_username;\r\n\r\n if (!userId) {\r\n throw new Error(`OIDC user profile does not contain a username`);\r\n }\r\n return ctx.signInWithCatalogUser({ entityRef: { name: userId } });\r\n };\r\n },\r\n });\r\n}\r\n\r\n"],"names":["oidcSignInResolvers","commonSignInResolvers","createSignInResolverFactory"],"mappings":";;;;AA8BiBA,qCAAA;AAAA,CAAV,CAAUA,oBAAV,KAAA;AAKE,EAAMA,oBAAAA,CAAA,uCACXC,oCAAsB,CAAA,oCAAA,CAAA;AAMjB,EAAMD,oBAAAA,CAAA,sCACXC,oCAAsB,CAAA,mCAAA,CAAA;AAMjB,EAAMD,oBAAAA,CAAA,0CACXE,0CAA4B,CAAA;AAAA,IAC1B,MAAS,GAAA;AACP,MAAO,OAAA,OACL,MACA,GACG,KAAA;AACH,QAAA,MAAM,MAAS,GAAA,IAAA,CAAK,MAAO,CAAA,WAAA,CAAY,QAAS,CAAA,kBAAA,CAAA;AAEhD,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAM,MAAA,IAAI,MAAM,CAA+C,6CAAA,CAAA,CAAA,CAAA;AAAA,SACjE;AACA,QAAO,OAAA,GAAA,CAAI,sBAAsB,EAAE,SAAA,EAAW,EAAE,IAAM,EAAA,MAAA,IAAU,CAAA,CAAA;AAAA,OAClE,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAAA,CAlCY,EAAAF,2BAAA,KAAAA,2BAAA,GAAA,EAAA,CAAA,CAAA;;"} -\ No newline at end of file diff --git a/.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch b/.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch new file mode 100644 index 0000000000..e558d1a311 --- /dev/null +++ b/.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch @@ -0,0 +1,80 @@ +diff --git a/dist/index.d.ts b/dist/index.d.ts +index bd2eb330b124be25d60f9dd2bb325a5cf02c1761..a62032d81fc209832492b36f8a9cb70c02354a56 100644 +--- a/dist/index.d.ts ++++ b/dist/index.d.ts +@@ -1,8 +1,9 @@ + import * as _backstage_plugin_auth_node from '@backstage/plugin-auth-node'; +-import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node'; ++import { PassportOAuthAuthenticatorHelper, OAuthAuthenticatorResult } from '@backstage/plugin-auth-node'; + import * as openid_client from 'openid-client'; + import { TokenSet, UserinfoResponse, Strategy } from 'openid-client'; + import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api'; ++import { OidcAuthResult as OidcAuthResult$1 } from '@backstage/plugin-auth-backend-module-oidc-provider'; + + /** + * authentication result for the OIDC which includes the token set and user +@@ -44,6 +45,11 @@ declare namespace oidcSignInResolvers { + * as email of the entity. + */ + const emailMatchingUserEntityProfileEmail: _backstage_plugin_auth_node.SignInResolverFactory; ++ /** ++ * A oidc resolver that looks up the user using their preferred username ++ * as the entity name ++ */ ++ const preferredUsernameMatchingUserEntityName: _backstage_plugin_auth_node.SignInResolverFactory, unknown>; + } + + export { type OidcAuthResult, authModuleOidcProvider as default, oidcAuthenticator, oidcSignInResolvers }; +diff --git a/dist/module.cjs.js b/dist/module.cjs.js +index f9dc2ae601a240550c1f975ddd55b94796ae081f..18c95c0b1b8cee1c3afcfcb035397d587cbcf6b6 100644 +--- a/dist/module.cjs.js ++++ b/dist/module.cjs.js +@@ -19,8 +19,7 @@ const authModuleOidcProvider = backendPluginApi.createBackendModule({ + factory: pluginAuthNode.createOAuthProviderFactory({ + authenticator: authenticator.oidcAuthenticator, + signInResolverFactories: { +- ...resolvers.oidcSignInResolvers, +- ...pluginAuthNode.commonSignInResolvers ++ ...resolvers.oidcSignInResolvers + } + }) + }); +diff --git a/dist/module.cjs.js.map b/dist/module.cjs.js.map +index 1828ebab3e6150790de88f7f5b104b734ac8a60e..27b88fa8482434b6df07f01f4b73ba73b9f02648 100644 +--- a/dist/module.cjs.js.map ++++ b/dist/module.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"module.cjs.js","sources":["../src/module.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createBackendModule } from '@backstage/backend-plugin-api';\nimport {\n authProvidersExtensionPoint,\n commonSignInResolvers,\n createOAuthProviderFactory,\n} from '@backstage/plugin-auth-node';\nimport { oidcAuthenticator } from './authenticator';\nimport { oidcSignInResolvers } from './resolvers';\n\n/** @public */\nexport const authModuleOidcProvider = createBackendModule({\n pluginId: 'auth',\n moduleId: 'oidc-provider',\n register(reg) {\n reg.registerInit({\n deps: {\n providers: authProvidersExtensionPoint,\n },\n async init({ providers }) {\n providers.registerProvider({\n providerId: 'oidc',\n factory: createOAuthProviderFactory({\n authenticator: oidcAuthenticator,\n signInResolverFactories: {\n ...oidcSignInResolvers,\n ...commonSignInResolvers,\n },\n }),\n });\n },\n });\n },\n});\n"],"names":["createBackendModule","authProvidersExtensionPoint","createOAuthProviderFactory","oidcAuthenticator","oidcSignInResolvers","commonSignInResolvers"],"mappings":";;;;;;;AAyBO,MAAM,yBAAyBA,oCAAoB,CAAA;AAAA,EACxD,QAAU,EAAA,MAAA;AAAA,EACV,QAAU,EAAA,eAAA;AAAA,EACV,SAAS,GAAK,EAAA;AACZ,IAAA,GAAA,CAAI,YAAa,CAAA;AAAA,MACf,IAAM,EAAA;AAAA,QACJ,SAAW,EAAAC;AAAA,OACb;AAAA,MACA,MAAM,IAAA,CAAK,EAAE,SAAA,EAAa,EAAA;AACxB,QAAA,SAAA,CAAU,gBAAiB,CAAA;AAAA,UACzB,UAAY,EAAA,MAAA;AAAA,UACZ,SAASC,yCAA2B,CAAA;AAAA,YAClC,aAAe,EAAAC,+BAAA;AAAA,YACf,uBAAyB,EAAA;AAAA,cACvB,GAAGC,6BAAA;AAAA,cACH,GAAGC;AAAA;AACL,WACD;AAAA,SACF,CAAA;AAAA;AACH,KACD,CAAA;AAAA;AAEL,CAAC;;;;"} +\ No newline at end of file ++{"version":3,"file":"module.cjs.js","sources":["../src/module.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createBackendModule } from '@backstage/backend-plugin-api';\nimport {\n authProvidersExtensionPoint,\n createOAuthProviderFactory,\n} from '@backstage/plugin-auth-node';\nimport { oidcAuthenticator } from './authenticator';\nimport { oidcSignInResolvers } from './resolvers';\n\n/** @public */\nexport const authModuleOidcProvider = createBackendModule({\n pluginId: 'auth',\n moduleId: 'oidc-provider',\n register(reg) {\n reg.registerInit({\n deps: {\n providers: authProvidersExtensionPoint,\n },\n async init({ providers }) {\n providers.registerProvider({\n providerId: 'oidc',\n factory: createOAuthProviderFactory({\n authenticator: oidcAuthenticator,\n signInResolverFactories: {\n ...oidcSignInResolvers,\n },\n }),\n });\n },\n });\n },\n});\n"],"names":["createBackendModule","authProvidersExtensionPoint","createOAuthProviderFactory","oidcAuthenticator","oidcSignInResolvers"],"mappings":";;;;;;;AAwBO,MAAM,yBAAyBA,oCAAoB,CAAA;AAAA,EACxD,QAAU,EAAA,MAAA;AAAA,EACV,QAAU,EAAA,eAAA;AAAA,EACV,SAAS,GAAK,EAAA;AACZ,IAAA,GAAA,CAAI,YAAa,CAAA;AAAA,MACf,IAAM,EAAA;AAAA,QACJ,SAAW,EAAAC;AAAA,OACb;AAAA,MACA,MAAM,IAAA,CAAK,EAAE,SAAA,EAAa,EAAA;AACxB,QAAA,SAAA,CAAU,gBAAiB,CAAA;AAAA,UACzB,UAAY,EAAA,MAAA;AAAA,UACZ,SAASC,yCAA2B,CAAA;AAAA,YAClC,aAAe,EAAAC,+BAAA;AAAA,YACf,uBAAyB,EAAA;AAAA,cACvB,GAAGC;AAAA;AACL,WACD;AAAA,SACF,CAAA;AAAA;AACH,KACD,CAAA;AAAA;AAEL,CAAC;;;;"} +\ No newline at end of file +diff --git a/dist/resolvers.cjs.js b/dist/resolvers.cjs.js +index 380a9624cb461b3782fc319d7722dc1da1c442d7..dc3ebe39b74807c3b0a94835030a89640d7ce976 100644 +--- a/dist/resolvers.cjs.js ++++ b/dist/resolvers.cjs.js +@@ -6,5 +6,16 @@ exports.oidcSignInResolvers = void 0; + ((oidcSignInResolvers2) => { + oidcSignInResolvers2.emailLocalPartMatchingUserEntityName = pluginAuthNode.commonSignInResolvers.emailLocalPartMatchingUserEntityName; + oidcSignInResolvers2.emailMatchingUserEntityProfileEmail = pluginAuthNode.commonSignInResolvers.emailMatchingUserEntityProfileEmail; ++ oidcSignInResolvers2.preferredUsernameMatchingUserEntityName = pluginAuthNode.createSignInResolverFactory({ ++ create() { ++ return async (info, ctx) => { ++ const userId = info.result.fullProfile.userinfo.preferred_username; ++ if (!userId) { ++ throw new Error(`OIDC user profile does not contain a username`); ++ } ++ return ctx.signInWithCatalogUser({ entityRef: { name: userId } }); ++ }; ++ } ++ }); + })(exports.oidcSignInResolvers || (exports.oidcSignInResolvers = {})); + //# sourceMappingURL=resolvers.cjs.js.map +diff --git a/dist/resolvers.cjs.js.map b/dist/resolvers.cjs.js.map +index b73b722e66f171691c3d683007b00c54633f4310..10f3cabad94281225604bbfd24b36cf7ce5713c7 100644 +--- a/dist/resolvers.cjs.js.map ++++ b/dist/resolvers.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"resolvers.cjs.js","sources":["../src/resolvers.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { commonSignInResolvers } from '@backstage/plugin-auth-node';\n\n/**\n * Available sign-in resolvers for the Oidc auth provider.\n *\n * @public\n */\nexport namespace oidcSignInResolvers {\n /**\n * A oidc resolver that looks up the user using the local part of\n * their email address as the entity name.\n */\n export const emailLocalPartMatchingUserEntityName =\n commonSignInResolvers.emailLocalPartMatchingUserEntityName;\n\n /**\n * A oidc resolver that looks up the user using their email address\n * as email of the entity.\n */\n export const emailMatchingUserEntityProfileEmail =\n commonSignInResolvers.emailMatchingUserEntityProfileEmail;\n}\n"],"names":["oidcSignInResolvers","commonSignInResolvers"],"mappings":";;;;AAuBiBA;AAAA,CAAV,CAAUA,oBAAV,KAAA;AAKE,EAAMA,oBAAAA,CAAA,uCACXC,oCAAsB,CAAA,oCAAA;AAMjB,EAAMD,oBAAAA,CAAA,sCACXC,oCAAsB,CAAA,mCAAA;AAAA,CAbT,EAAAD,2BAAA,KAAAA,2BAAA,GAAA,EAAA,CAAA,CAAA;;"} +\ No newline at end of file ++{"version":3,"file":"resolvers.cjs.js","sources":["../src/resolvers.ts"],"sourcesContent":["/*\n * Copyright 2023 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { OidcAuthResult } from '@backstage/plugin-auth-backend-module-oidc-provider';\nimport {\n AuthResolverContext,\n OAuthAuthenticatorResult,\n SignInInfo,\n commonSignInResolvers,\n createSignInResolverFactory,\n} from '@backstage/plugin-auth-node';\n\n/**\n * Available sign-in resolvers for the Oidc auth provider.\n *\n * @public\n */\nexport namespace oidcSignInResolvers {\n /**\n * A oidc resolver that looks up the user using the local part of\n * their email address as the entity name.\n */\n export const emailLocalPartMatchingUserEntityName =\n commonSignInResolvers.emailLocalPartMatchingUserEntityName;\n\n /**\n * A oidc resolver that looks up the user using their email address\n * as email of the entity.\n */\n export const emailMatchingUserEntityProfileEmail =\n commonSignInResolvers.emailMatchingUserEntityProfileEmail;\n\n /**\n * A oidc resolver that looks up the user using their preferred username\n * as the entity name\n */\n export const preferredUsernameMatchingUserEntityName =\n createSignInResolverFactory({\n create() {\n return async (\n info: SignInInfo>,\n ctx: AuthResolverContext,\n ) => {\n const userId = info.result.fullProfile.userinfo.preferred_username;\n\n if (!userId) {\n throw new Error(`OIDC user profile does not contain a username`);\n }\n return ctx.signInWithCatalogUser({ entityRef: { name: userId } });\n };\n },\n });\n}\n"],"names":["oidcSignInResolvers","commonSignInResolvers","createSignInResolverFactory"],"mappings":";;;;AA8BiBA;AAAA,CAAV,CAAUA,oBAAV,KAAA;AAKE,EAAMA,oBAAAA,CAAA,uCACXC,oCAAsB,CAAA,oCAAA;AAMjB,EAAMD,oBAAAA,CAAA,sCACXC,oCAAsB,CAAA,mCAAA;AAMjB,EAAMD,oBAAAA,CAAA,0CACXE,0CAA4B,CAAA;AAAA,IAC1B,MAAS,GAAA;AACP,MAAO,OAAA,OACL,MACA,GACG,KAAA;AACH,QAAA,MAAM,MAAS,GAAA,IAAA,CAAK,MAAO,CAAA,WAAA,CAAY,QAAS,CAAA,kBAAA;AAEhD,QAAA,IAAI,CAAC,MAAQ,EAAA;AACX,UAAM,MAAA,IAAI,MAAM,CAA+C,6CAAA,CAAA,CAAA;AAAA;AAEjE,QAAO,OAAA,GAAA,CAAI,sBAAsB,EAAE,SAAA,EAAW,EAAE,IAAM,EAAA,MAAA,IAAU,CAAA;AAAA,OAClE;AAAA;AACF,GACD,CAAA;AAAA,CAlCY,EAAAF,2BAAA,KAAAA,2BAAA,GAAA,EAAA,CAAA,CAAA;;"} +\ No newline at end of file diff --git a/.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch b/.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch deleted file mode 100644 index 9f71ddb915..0000000000 --- a/.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch +++ /dev/null @@ -1,1225 +0,0 @@ -diff --git a/dist/service/createRouter.cjs.js b/dist/service/createRouter.cjs.js -index 87c8651bca6953c2eb65181a8657f32b2250a017..b3c556992c5f4c14b5ae54c1cc81d46346829abb 100644 ---- a/dist/service/createRouter.cjs.js -+++ b/dist/service/createRouter.cjs.js -@@ -17,6 +17,7 @@ var util = require('./util.cjs.js'); - var openapi_generated = require('../schema/openapi.generated.cjs.js'); - var parseEntityPaginationParams = require('./request/parseEntityPaginationParams.cjs.js'); - var AuthorizedValidationService = require('./AuthorizedValidationService.cjs.js'); -+var backstagePluginAuditLogNode = require('@janus-idp/backstage-plugin-audit-log-node'); - - function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } - -@@ -43,6 +44,11 @@ async function createRouter(options) { - auth, - httpAuth - } = options; -+ const auditLogger = new backstagePluginAuditLogNode.DefaultAuditLogger({ -+ logger, -+ authService: auth, -+ httpAuthService: httpAuth -+ }); - const readonlyEnabled = config.getOptionalBoolean("catalog.readonly") || false; - if (readonlyEnabled) { - logger.info("Catalog is running in readonly mode"); -@@ -50,12 +56,61 @@ async function createRouter(options) { - if (refreshService) { - router.post("/refresh", async (req, res) => { - const { authorizationToken, ...restBody } = req.body; -- const credentials = authorizationToken ? await auth.authenticate(authorizationToken) : await httpAuth.credentials(req); -- await refreshService.refresh({ -- ...restBody, -- credentials -- }); -- res.status(200).end(); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityRefresh", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ metadata: { -+ entityRef: restBody.entityRef -+ }, -+ request: req, -+ message: `Refresh attempt for ${restBody.entityRef} initiated by ${actorId}` -+ }); -+ const credentials = authorizationToken ? await auth.authenticate(authorizationToken) : await httpAuth.credentials(req); -+ await refreshService.refresh({ -+ ...restBody, -+ credentials -+ }); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityRefresh", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ metadata: { -+ entityRef: restBody.entityRef -+ }, -+ response: { -+ status: 200 -+ }, -+ request: req, -+ message: `Refresh attempt for ${restBody.entityRef} triggered by ${actorId}` -+ }); -+ res.status(200).end(); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityRefresh", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ metadata: { -+ entityRef: restBody.entityRef -+ }, -+ request: req, -+ message: `Refresh attempt for ${restBody.entityRef} by ${actorId} failed` -+ }); -+ throw err; -+ } - }); - } - if (permissionIntegrationRouter) { -@@ -63,217 +118,965 @@ async function createRouter(options) { - } - if (entitiesCatalog) { - router.get("/entities", async (req, res) => { -- const { entities, pageInfo } = await entitiesCatalog.entities({ -- filter: parseEntityFilterParams.parseEntityFilterParams(req.query), -- fields: parseEntityTransformParams.parseEntityTransformParams(req.query), -- order: parseEntityOrderParams.parseEntityOrderParams(req.query), -- pagination: parseEntityPaginationParams.parseEntityPaginationParams(req.query), -- credentials: await httpAuth.credentials(req) -- }); -- if (pageInfo.hasNextPage) { -- const url = new URL(`http://ignored${req.url}`); -- url.searchParams.delete("offset"); -- url.searchParams.set("after", pageInfo.endCursor); -- res.setHeader("link", `<${url.pathname}${url.search}>; rel="next"`); -+ const actorId = await auditLogger.getActorId( -+ req -+ ); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetch", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ message: `Entity fetch attempt initiated by ${actorId}` -+ }); -+ const { entities, pageInfo } = await entitiesCatalog.entities({ -+ filter: parseEntityFilterParams.parseEntityFilterParams(req.query), -+ fields: parseEntityTransformParams.parseEntityTransformParams(req.query), -+ order: parseEntityOrderParams.parseEntityOrderParams(req.query), -+ pagination: parseEntityPaginationParams.parseEntityPaginationParams(req.query), -+ credentials: await httpAuth.credentials(req) -+ }); -+ if (pageInfo.hasNextPage) { -+ const url = new URL(`http://ignored${req.url}`); -+ url.searchParams.delete("offset"); -+ url.searchParams.set("after", pageInfo.endCursor); -+ res.setHeader("link", `<${url.pathname}${url.search}>; rel="next"`); -+ } -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetch", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ // Let's not log out the entities since this can make the log very big due to it not being paged? -+ response: { -+ status: 200 -+ }, -+ message: `Entity fetch attempt by ${actorId} succeeded` -+ }); -+ res.json(entities); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetch", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Entity fetch attempt by ${actorId} failed` -+ }); -+ throw err; - } -- res.json(entities); - }).get("/entities/by-query", async (req, res) => { -- const { items, pageInfo, totalItems } = await entitiesCatalog.queryEntities({ -- limit: req.query.limit, -- offset: req.query.offset, -- ...parseQueryEntitiesParams.parseQueryEntitiesParams(req.query), -- credentials: await httpAuth.credentials(req) -- }); -- res.json({ -- items, -- totalItems, -- pageInfo: { -- ...pageInfo.nextCursor && { -- nextCursor: util.encodeCursor(pageInfo.nextCursor) -- }, -- ...pageInfo.prevCursor && { -- prevCursor: util.encodeCursor(pageInfo.prevCursor) -+ const actorId = await auditLogger.getActorId( -+ req -+ ); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "QueriedCatalogEntityFetch", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ message: `Queried entity fetch attempt initiated by ${actorId}` -+ }); -+ const { items, pageInfo, totalItems } = await entitiesCatalog.queryEntities({ -+ limit: req.query.limit, -+ ...parseQueryEntitiesParams.parseQueryEntitiesParams(req.query), -+ credentials: await httpAuth.credentials(req) -+ }); -+ res.json({ -+ items, -+ totalItems, -+ pageInfo: { -+ ...pageInfo.nextCursor && { -+ nextCursor: util.encodeCursor(pageInfo.nextCursor) -+ }, -+ ...pageInfo.prevCursor && { -+ prevCursor: util.encodeCursor(pageInfo.prevCursor) -+ } - } -- } -- }); -+ }); -+ await auditLogger.auditLog({ -+ eventName: "QueriedCatalogEntityFetch", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ metadata: { -+ totalEntities: totalItems, -+ pageInfo: { -+ ...pageInfo.nextCursor && { -+ nextCursor: util.encodeCursor(pageInfo.nextCursor) -+ }, -+ ...pageInfo.prevCursor && { -+ prevCursor: util.encodeCursor(pageInfo.prevCursor) -+ } -+ } -+ }, -+ // Let's not log out the entities since this can make the log very big -+ response: { -+ status: 200 -+ }, -+ message: `Queried entity fetch attempt by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "QueriedCatalogEntityFetch", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Queried entity fetch attempt by ${actorId} failed` -+ }); -+ throw err; -+ } - }).get("/entities/by-uid/:uid", async (req, res) => { - const { uid } = req.params; -- const { entities } = await entitiesCatalog.entities({ -- filter: basicEntityFilter.basicEntityFilter({ "metadata.uid": uid }), -- credentials: await httpAuth.credentials(req) -- }); -- if (!entities.length) { -- throw new errors.NotFoundError(`No entity with uid ${uid}`); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetchByUid", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ metadata: { -+ uid -+ }, -+ message: `Fetch attempt for entity with uid ${uid} initiated by ${actorId}` -+ }); -+ const { entities } = await entitiesCatalog.entities({ -+ filter: basicEntityFilter.basicEntityFilter({ "metadata.uid": uid }), -+ credentials: await httpAuth.credentials(req) -+ }); -+ if (!entities.length) { -+ throw new errors.NotFoundError(`No entity with uid ${uid}`); -+ } -+ res.status(200).json(entities[0]); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetchByUid", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ metadata: { -+ uid, -+ entityRef: catalogModel.stringifyEntityRef(entities[0]) -+ }, -+ response: { -+ status: 200 -+ }, -+ message: `Fetch attempt for entity with uid ${uid} by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetchByUid", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ metadata: { -+ uid -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Fetch attempt for entity with uid ${uid} by ${actorId} failed` -+ }); -+ throw err; - } -- res.status(200).json(entities[0]); - }).delete("/entities/by-uid/:uid", async (req, res) => { - const { uid } = req.params; -- await entitiesCatalog.removeEntityByUid(uid, { -- credentials: await httpAuth.credentials(req) -- }); -- res.status(204).end(); -+ const actorId = await auditLogger.getActorId(req); -+ let entityRef; -+ try { -+ const { entities } = await entitiesCatalog.entities({ -+ filter: basicEntityFilter.basicEntityFilter({ "metadata.uid": uid }), -+ credentials: await httpAuth.credentials(req) -+ }); -+ if (entities.length) { -+ entityRef = catalogModel.stringifyEntityRef(entities[0]); -+ } -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityDeletion", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ metadata: { -+ uid, -+ entityRef -+ }, -+ message: `Deletion attempt for entity with uid ${uid} initiated by ${actorId}` -+ }); -+ await entitiesCatalog.removeEntityByUid(uid, { -+ credentials: await httpAuth.credentials(req) -+ }); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityDeletion", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ metadata: { -+ uid, -+ entityRef -+ }, -+ response: { -+ status: 204 -+ }, -+ message: `Deletion attempt for entity with uid ${uid} by ${actorId} succeeded` -+ }); -+ res.status(204).end(); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityDeletion", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Deletion attempt for entity with uid ${uid} by ${actorId} failed` -+ }); -+ throw err; -+ } - }).get("/entities/by-name/:kind/:namespace/:name", async (req, res) => { - const { kind, namespace, name } = req.params; -- const { entities } = await entitiesCatalog.entities({ -- filter: basicEntityFilter.basicEntityFilter({ -- kind, -- "metadata.namespace": namespace, -- "metadata.name": name -- }), -- credentials: await httpAuth.credentials(req) -- }); -- if (!entities.length) { -- throw new errors.NotFoundError( -- `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'` -- ); -+ const entityRef = catalogModel.stringifyEntityRef({ kind, namespace, name }); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetchByName", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ metadata: { -+ entityRef -+ }, -+ message: `Fetch attempt for entity with entityRef ${entityRef} initiated by ${actorId}` -+ }); -+ const { entities } = await entitiesCatalog.entities({ -+ filter: basicEntityFilter.basicEntityFilter({ -+ kind, -+ "metadata.namespace": namespace, -+ "metadata.name": name -+ }), -+ credentials: await httpAuth.credentials(req) -+ }); -+ if (!entities.length) { -+ throw new errors.NotFoundError( -+ `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'` -+ ); -+ } -+ res.status(200).json(entities[0]); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetchByName", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ metadata: { -+ entityRef -+ }, -+ response: { -+ status: 200 -+ }, -+ message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFetchByName", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ metadata: { -+ entityRef -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} failed` -+ }); -+ throw err; - } -- res.status(200).json(entities[0]); - }).get( - "/entities/by-name/:kind/:namespace/:name/ancestry", - async (req, res) => { - const { kind, namespace, name } = req.params; - const entityRef = catalogModel.stringifyEntityRef({ kind, namespace, name }); -- const response = await entitiesCatalog.entityAncestry(entityRef, { -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityAncestryFetch", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ metadata: { -+ entityRef -+ }, -+ message: `Fetch attempt for entity ancestor of entity ${entityRef} initiated by ${actorId}` -+ }); -+ const response = await entitiesCatalog.entityAncestry(entityRef, { -+ credentials: await httpAuth.credentials(req) -+ }); -+ res.status(200).json(response); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityAncestryFetch", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ metadata: { -+ rootEntityRef: response.rootEntityRef, -+ ancestry: response.items.map((ancestryLink) => { -+ return { -+ entityRef: catalogModel.stringifyEntityRef(ancestryLink.entity), -+ parentEntityRefs: ancestryLink.parentEntityRefs -+ }; -+ }) -+ }, -+ response: { -+ status: 200 -+ }, -+ message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityAncestryFetch", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ metadata: { -+ entityRef -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} failed` -+ }); -+ throw err; -+ } -+ } -+ ).post("/entities/by-refs", async (req, res) => { -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityBatchFetch", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ message: `Batch entity fetch attempt initiated by ${actorId}` -+ }); -+ const request = entitiesBatchRequest.entitiesBatchRequest(req); -+ const response = await entitiesCatalog.entitiesBatch({ -+ entityRefs: request.entityRefs, -+ filter: parseEntityFilterParams.parseEntityFilterParams(req.query), -+ fields: parseEntityTransformParams.parseEntityTransformParams(req.query, request.fields), - credentials: await httpAuth.credentials(req) - }); - res.status(200).json(response); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityBatchFetch", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ metadata: { -+ ...request -+ }, -+ response: { -+ status: 200 -+ }, -+ message: `Batch entity fetch attempt by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityBatchFetch", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Batch entity fetch attempt by ${actorId} failed` -+ }); -+ throw err; - } -- ).post("/entities/by-refs", async (req, res) => { -- const request = entitiesBatchRequest.entitiesBatchRequest(req); -- const response = await entitiesCatalog.entitiesBatch({ -- entityRefs: request.entityRefs, -- filter: parseEntityFilterParams.parseEntityFilterParams(req.query), -- fields: parseEntityTransformParams.parseEntityTransformParams(req.query, request.fields), -- credentials: await httpAuth.credentials(req) -- }); -- res.status(200).json(response); - }).get("/entity-facets", async (req, res) => { -- const response = await entitiesCatalog.facets({ -- filter: parseEntityFilterParams.parseEntityFilterParams(req.query), -- facets: parseEntityFacetParams.parseEntityFacetParams(req.query), -- credentials: await httpAuth.credentials(req) -- }); -- res.status(200).json(response); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFacetFetch", -+ actorId, -+ status: "succeeded", -+ stage: "initiation", -+ request: req, -+ message: `Entity facet fetch attempt initiated by ${actorId}` -+ }); -+ const response = await entitiesCatalog.facets({ -+ filter: parseEntityFilterParams.parseEntityFilterParams(req.query), -+ facets: parseEntityFacetParams.parseEntityFacetParams(req.query), -+ credentials: await httpAuth.credentials(req) -+ }); -+ res.status(200).json(response); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFacetFetch", -+ actorId, -+ status: "succeeded", -+ stage: "completion", -+ request: req, -+ response: { status: 200 }, -+ message: `Entity facet fetch attempt by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityFacetFetch", -+ actorId, -+ status: "failed", -+ stage: "completion", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Entity facet fetch attempt by ${actorId} failed` -+ }); -+ throw err; -+ } - }); - } - if (locationService) { - router.post("/locations", async (req, res) => { -+ const credentials = await httpAuth.credentials(req); -+ const actorId = await auditLogger.getActorId(req); - const location = await util.validateRequestBody(req, util.locationInput); - const dryRun = yn__default.default(req.query.dryRun, { default: false }); -- if (!dryRun) { -- util.disallowReadonlyMode(readonlyEnabled); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationCreation", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ metadata: { -+ location, -+ isDryRun: dryRun -+ }, -+ request: req, -+ message: `Creation attempt of location entity for ${location.target} initiated by ${actorId}` -+ }); -+ if (!dryRun) { -+ util.disallowReadonlyMode(readonlyEnabled); -+ } -+ const output = await locationService.createLocation( -+ location, -+ dryRun, -+ { -+ credentials -+ } -+ ); -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationCreation", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ metadata: { -+ location: output.location, -+ isDryRun: dryRun -+ }, -+ request: req, -+ response: { -+ status: 201 -+ }, -+ message: `Creation of location entity for ${location.target} initiated by ${actorId} succeeded` -+ }); -+ res.status(201).json(output); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationCreation", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ actorId, -+ metadata: { -+ location, -+ isDryRun: dryRun -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ request: req, -+ message: `Creation of location entity for ${location.target} initiated by ${actorId} failed` -+ }); -+ throw err; - } -- const output = await locationService.createLocation(location, dryRun, { -- credentials: await httpAuth.credentials(req) -- }); -- res.status(201).json(output); - }).get("/locations", async (req, res) => { -- const locations = await locationService.listLocations({ -- credentials: await httpAuth.credentials(req) -- }); -- res.status(200).json(locations.map((l) => ({ data: l }))); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetch", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ request: req, -+ message: `Fetch attempt of locations initiated by ${actorId}` -+ }); -+ const locations = await locationService.listLocations({ -+ credentials: await httpAuth.credentials(req) -+ }); -+ res.status(200).json(locations.map((l) => ({ data: l }))); -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetch", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ request: req, -+ response: { -+ status: 200 -+ }, -+ message: `Fetch attempt of locations by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetch", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ actorId, -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Fetch attempt of locations by ${actorId} failed` -+ }); -+ throw err; -+ } - }).get("/locations/:id", async (req, res) => { - const { id } = req.params; -- const output = await locationService.getLocation(id, { -- credentials: await httpAuth.credentials(req) -- }); -- res.status(200).json(output); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetchById", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ metadata: { -+ id -+ }, -+ request: req, -+ message: `Fetch attempt of location with id: ${id} initiated by ${actorId}` -+ }); -+ const output = await locationService.getLocation(id, { -+ credentials: await httpAuth.credentials(req) -+ }); -+ res.status(200).json(output); -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetchById", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ metadata: { -+ id -+ }, -+ response: { -+ status: 200, -+ body: output -+ }, -+ request: req, -+ message: `Fetch attempt of location with id: ${id} by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetchById", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ actorId, -+ metadata: { -+ id -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ request: req, -+ message: `Fetch attempt of location with id: ${id} by ${actorId} failed` -+ }); -+ throw err; -+ } - }).delete("/locations/:id", async (req, res) => { -- util.disallowReadonlyMode(readonlyEnabled); -+ const actorId = await auditLogger.getActorId(req); - const { id } = req.params; -- await locationService.deleteLocation(id, { -- credentials: await httpAuth.credentials(req) -- }); -- res.status(204).end(); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationDeletion", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ metadata: { -+ id -+ }, -+ request: req, -+ message: `Deletion attempt of location with id: ${id} initiated by ${actorId}` -+ }); -+ util.disallowReadonlyMode(readonlyEnabled); -+ const location = await locationService.getLocation(id, { -+ credentials: await httpAuth.credentials(req) -+ }); -+ await locationService.deleteLocation(id, { -+ credentials: await httpAuth.credentials(req) -+ }); -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationDeletion", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ metadata: { -+ location -+ }, -+ response: { -+ status: 204 -+ }, -+ request: req, -+ message: `Deletion attempt of location with id: ${id} by ${actorId} succeeded` -+ }); -+ res.status(204).end(); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationDeletion", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ actorId, -+ metadata: { -+ id -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ request: req, -+ message: `Deletion attempt of location with id: ${id} by ${actorId} failed` -+ }); -+ throw err; -+ } - }).get("/locations/by-entity/:kind/:namespace/:name", async (req, res) => { - const { kind, namespace, name } = req.params; -- const output = await locationService.getLocationByEntity( -- { kind, namespace, name }, -- { credentials: await httpAuth.credentials(req) } -- ); -- res.status(200).json(output); -+ const actorId = await auditLogger.getActorId(req); -+ const locationRef = `${kind}:${namespace}/${name}`; -+ try { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetchByEntityRef", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ metadata: { -+ locationRef -+ }, -+ request: req, -+ message: `Fetch attempt for location ${locationRef} initiated by ${actorId}` -+ }); -+ const output = await locationService.getLocationByEntity( -+ { kind, namespace, name }, -+ { credentials: await httpAuth.credentials(req) } -+ ); -+ res.status(200).json(output); -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetchByEntityRef", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ metadata: { -+ locationRef -+ }, -+ response: { -+ status: 200, -+ body: output -+ }, -+ request: req, -+ message: `Fetch attempt for location ${locationRef} by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationFetchByEntityRef", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ actorId, -+ metadata: { -+ locationRef -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ request: req, -+ message: `Fetch attempt for location ${locationRef} by ${actorId} failed` -+ }); -+ throw err; -+ } - }); - } - if (locationAnalyzer) { - router.post("/analyze-location", async (req, res) => { -- const body = await util.validateRequestBody( -- req, -- zod.z.object({ -- location: util.locationInput, -- catalogFilename: zod.z.string().optional() -- }) -- ); -- const schema = zod.z.object({ -- location: util.locationInput, -- catalogFilename: zod.z.string().optional() -- }); -- const credentials = await httpAuth.credentials(req); -- const parsedBody = schema.parse(body); -+ const actorId = await auditLogger.getActorId(req); - try { -- const output = await locationAnalyzer.analyzeLocation( -- parsedBody, -- credentials -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationAnalyze", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ request: req, -+ message: `Analyze location for location initiated by ${actorId}` -+ }); -+ const body = await util.validateRequestBody( -+ req, -+ zod.z.object({ -+ location: util.locationInput, -+ catalogFilename: zod.z.string().optional() -+ }) - ); -- res.status(200).json(output); -- } catch (err) { -- if ( -- // Catch errors from parse-url library. -- err.name === "Error" && "subject_url" in err -- ) { -- throw new errors.InputError("The given location.target is not a URL"); -+ const schema = zod.z.object({ -+ location: util.locationInput, -+ catalogFilename: zod.z.string().optional() -+ }); -+ const credentials = await httpAuth.credentials(req); -+ const parsedBody = schema.parse(body); -+ try { -+ const output = await locationAnalyzer.analyzeLocation( -+ parsedBody, -+ credentials -+ ); -+ res.status(200).json(output); -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationAnalyze", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ request: req, -+ response: { -+ status: 200, -+ body: output -+ }, -+ message: `Analyze location for location by ${actorId} succeeded` -+ }); -+ } catch (err) { -+ if ( -+ // Catch errors from parse-url library. -+ err.name === "Error" && "subject_url" in err -+ ) { -+ throw new errors.InputError("The given location.target is not a URL"); -+ } -+ throw err; - } -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogLocationAnalyze", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ actorId, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ request: req, -+ message: `Analyze location for location by ${actorId} failed` -+ }); - throw err; - } - }); - } - if (orchestrator) { - router.post("/validate-entity", async (req, res) => { -- const bodySchema = zod.z.object({ -- entity: zod.z.unknown(), -- location: zod.z.string() -- }); -- let body; -- let entity; -- let location; -+ const actorId = await auditLogger.getActorId(req); - try { -- body = await util.validateRequestBody(req, bodySchema); -- entity = util$1.validateEntityEnvelope(body.entity); -- location = catalogModel.parseLocationRef(body.location); -- if (location.type !== "url") -- throw new TypeError( -- `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path` -- ); -- } catch (err) { -- return res.status(400).json({ -- errors: [errors.serializeError(err)] -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityValidate", -+ status: "succeeded", -+ stage: "initiation", -+ actorId, -+ request: req, -+ message: `Entity validation for entity initiated by ${actorId}` - }); -- } -- const credentials = await httpAuth.credentials(req); -- const authorizedValidationService = new AuthorizedValidationService.AuthorizedValidationService( -- orchestrator, -- permissionsService -- ); -- const processingResult = await authorizedValidationService.process( -- { -- entity: { -- ...entity, -- metadata: { -- ...entity.metadata, -- annotations: { -- [catalogModel.ANNOTATION_LOCATION]: body.location, -- [catalogModel.ANNOTATION_ORIGIN_LOCATION]: body.location, -- ...entity.metadata.annotations -+ const bodySchema = zod.z.object({ -+ entity: zod.z.unknown(), -+ location: zod.z.string() -+ }); -+ let body; -+ let entity; -+ let location; -+ try { -+ body = await util.validateRequestBody(req, bodySchema); -+ entity = util$1.validateEntityEnvelope(body.entity); -+ location = catalogModel.parseLocationRef(body.location); -+ if (location.type !== "url") -+ throw new TypeError( -+ `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path` -+ ); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityValidate", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ actorId, -+ request: req, -+ message: `Entity validation for entity initiated by ${actorId} failed` -+ }); -+ return res.status(400).json({ -+ errors: [errors.serializeError(err)] -+ }); -+ } -+ const credentials = await httpAuth.credentials(req); -+ const authorizedValidationService = new AuthorizedValidationService.AuthorizedValidationService( -+ orchestrator, -+ permissionsService -+ ); -+ const processingResult = await authorizedValidationService.process( -+ { -+ entity: { -+ ...entity, -+ metadata: { -+ ...entity.metadata, -+ annotations: { -+ [catalogModel.ANNOTATION_LOCATION]: body.location, -+ [catalogModel.ANNOTATION_ORIGIN_LOCATION]: body.location, -+ ...entity.metadata.annotations -+ } - } - } -- } -- }, -- credentials -- ); -- if (!processingResult.ok) -- res.status(400).json({ -- errors: processingResult.errors.map((e) => errors.serializeError(e)) -+ }, -+ credentials -+ ); -+ if (!processingResult.ok) { -+ const errors$1 = processingResult.errors.map((e) => errors.serializeError(e)); -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityValidate", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ errors: errors$1, -+ response: { -+ status: 400 -+ }, -+ actorId, -+ request: req, -+ message: `Entity validation for entity initiated by ${actorId} failed` -+ }); -+ return res.status(400).json({ -+ errors: errors$1 -+ }); -+ } -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityValidate", -+ status: "succeeded", -+ stage: "completion", -+ actorId, -+ response: { -+ status: 200 -+ }, -+ request: req, -+ message: `Entity validation for entity by ${actorId} succeeded` - }); -- return res.status(200).end(); -+ return res.status(200).end(); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "CatalogEntityValidate", -+ status: "failed", -+ stage: "completion", -+ level: "error", -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ actorId, -+ request: req, -+ message: `Entity validation for entity initiated by ${actorId} failed` -+ }); -+ throw err; -+ } - }); - } - router.use(backendCommon.errorHandler()); -diff --git a/dist/service/createRouter.cjs.js.map b/dist/service/createRouter.cjs.js.map -index d99c14b522abceb4b397ecb4aede3b53a5f51e04..d4313425f9e28b91aabf58c2434a267879e08d6d 100644 ---- a/dist/service/createRouter.cjs.js.map -+++ b/dist/service/createRouter.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"createRouter.cjs.js","sources":["../../src/service/createRouter.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { errorHandler } from '@backstage/backend-common';\nimport {\n ANNOTATION_LOCATION,\n ANNOTATION_ORIGIN_LOCATION,\n Entity,\n parseLocationRef,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport { InputError, NotFoundError, serializeError } from '@backstage/errors';\nimport express from 'express';\nimport yn from 'yn';\nimport { z } from 'zod';\nimport { EntitiesCatalog } from '../catalog/types';\nimport { CatalogProcessingOrchestrator } from '../processing/types';\nimport { validateEntityEnvelope } from '../processing/util';\nimport {\n basicEntityFilter,\n entitiesBatchRequest,\n parseEntityFilterParams,\n parseEntityTransformParams,\n parseQueryEntitiesParams,\n} from './request';\nimport { parseEntityFacetParams } from './request/parseEntityFacetParams';\nimport { parseEntityOrderParams } from './request/parseEntityOrderParams';\nimport { LocationService, RefreshService } from './types';\nimport {\n disallowReadonlyMode,\n encodeCursor,\n locationInput,\n validateRequestBody,\n} from './util';\nimport { createOpenApiRouter } from '../schema/openapi.generated';\nimport { parseEntityPaginationParams } from './request/parseEntityPaginationParams';\nimport {\n AuthService,\n HttpAuthService,\n LoggerService,\n SchedulerService,\n PermissionsService,\n} from '@backstage/backend-plugin-api';\nimport { LocationAnalyzer } from '@backstage/plugin-catalog-node';\nimport { AuthorizedValidationService } from './AuthorizedValidationService';\n\n/**\n * Options used by {@link createRouter}.\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n entitiesCatalog?: EntitiesCatalog;\n locationAnalyzer?: LocationAnalyzer;\n locationService: LocationService;\n orchestrator?: CatalogProcessingOrchestrator;\n refreshService?: RefreshService;\n scheduler?: SchedulerService;\n logger: LoggerService;\n config: Config;\n permissionIntegrationRouter?: express.Router;\n auth: AuthService;\n httpAuth: HttpAuthService;\n permissionsService: PermissionsService;\n}\n\n/**\n * Creates a catalog router.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = await createOpenApiRouter({\n validatorOptions: {\n // We want the spec to be up to date with the expected value, but the return type needs\n // to be controlled by the router implementation not the request validator.\n ignorePaths: /^\\/validate-entity\\/?$/,\n },\n });\n const {\n entitiesCatalog,\n locationAnalyzer,\n locationService,\n orchestrator,\n refreshService,\n config,\n logger,\n permissionIntegrationRouter,\n permissionsService,\n auth,\n httpAuth,\n } = options;\n\n const readonlyEnabled =\n config.getOptionalBoolean('catalog.readonly') || false;\n if (readonlyEnabled) {\n logger.info('Catalog is running in readonly mode');\n }\n\n if (refreshService) {\n router.post('/refresh', async (req, res) => {\n const { authorizationToken, ...restBody } = req.body;\n\n const credentials = authorizationToken\n ? await auth.authenticate(authorizationToken)\n : await httpAuth.credentials(req);\n\n await refreshService.refresh({\n ...restBody,\n credentials,\n });\n res.status(200).end();\n });\n }\n\n if (permissionIntegrationRouter) {\n router.use(permissionIntegrationRouter);\n }\n\n if (entitiesCatalog) {\n router\n .get('/entities', async (req, res) => {\n const { entities, pageInfo } = await entitiesCatalog.entities({\n filter: parseEntityFilterParams(req.query),\n fields: parseEntityTransformParams(req.query),\n order: parseEntityOrderParams(req.query),\n pagination: parseEntityPaginationParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n\n // Add a Link header to the next page\n if (pageInfo.hasNextPage) {\n const url = new URL(`http://ignored${req.url}`);\n url.searchParams.delete('offset');\n url.searchParams.set('after', pageInfo.endCursor);\n res.setHeader('link', `<${url.pathname}${url.search}>; rel=\"next\"`);\n }\n\n // TODO(freben): encode the pageInfo in the response\n res.json(entities);\n })\n .get('/entities/by-query', async (req, res) => {\n const { items, pageInfo, totalItems } =\n await entitiesCatalog.queryEntities({\n limit: req.query.limit,\n offset: req.query.offset,\n ...parseQueryEntitiesParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n\n res.json({\n items,\n totalItems,\n pageInfo: {\n ...(pageInfo.nextCursor && {\n nextCursor: encodeCursor(pageInfo.nextCursor),\n }),\n ...(pageInfo.prevCursor && {\n prevCursor: encodeCursor(pageInfo.prevCursor),\n }),\n },\n });\n })\n .get('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({ 'metadata.uid': uid }),\n credentials: await httpAuth.credentials(req),\n });\n if (!entities.length) {\n throw new NotFoundError(`No entity with uid ${uid}`);\n }\n res.status(200).json(entities[0]);\n })\n .delete('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n await entitiesCatalog.removeEntityByUid(uid, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(204).end();\n })\n .get('/entities/by-name/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({\n kind: kind,\n 'metadata.namespace': namespace,\n 'metadata.name': name,\n }),\n credentials: await httpAuth.credentials(req),\n });\n if (!entities.length) {\n throw new NotFoundError(\n `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'`,\n );\n }\n res.status(200).json(entities[0]);\n })\n .get(\n '/entities/by-name/:kind/:namespace/:name/ancestry',\n async (req, res) => {\n const { kind, namespace, name } = req.params;\n const entityRef = stringifyEntityRef({ kind, namespace, name });\n const response = await entitiesCatalog.entityAncestry(entityRef, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n },\n )\n .post('/entities/by-refs', async (req, res) => {\n const request = entitiesBatchRequest(req);\n const response = await entitiesCatalog.entitiesBatch({\n entityRefs: request.entityRefs,\n filter: parseEntityFilterParams(req.query),\n fields: parseEntityTransformParams(req.query, request.fields),\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n })\n .get('/entity-facets', async (req, res) => {\n const response = await entitiesCatalog.facets({\n filter: parseEntityFilterParams(req.query),\n facets: parseEntityFacetParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n });\n }\n\n if (locationService) {\n router\n .post('/locations', async (req, res) => {\n const location = await validateRequestBody(req, locationInput);\n const dryRun = yn(req.query.dryRun, { default: false });\n\n // when in dryRun addLocation is effectively a read operation so we don't\n // need to disallow readonly\n if (!dryRun) {\n disallowReadonlyMode(readonlyEnabled);\n }\n\n const output = await locationService.createLocation(location, dryRun, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(201).json(output);\n })\n .get('/locations', async (req, res) => {\n const locations = await locationService.listLocations({\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(locations.map(l => ({ data: l })));\n })\n\n .get('/locations/:id', async (req, res) => {\n const { id } = req.params;\n const output = await locationService.getLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(output);\n })\n .delete('/locations/:id', async (req, res) => {\n disallowReadonlyMode(readonlyEnabled);\n\n const { id } = req.params;\n await locationService.deleteLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(204).end();\n })\n .get('/locations/by-entity/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const output = await locationService.getLocationByEntity(\n { kind, namespace, name },\n { credentials: await httpAuth.credentials(req) },\n );\n res.status(200).json(output);\n });\n }\n\n if (locationAnalyzer) {\n router.post('/analyze-location', async (req, res) => {\n const body = await validateRequestBody(\n req,\n z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n }),\n );\n const schema = z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n });\n const credentials = await httpAuth.credentials(req);\n const parsedBody = schema.parse(body);\n try {\n const output = await locationAnalyzer.analyzeLocation(\n parsedBody,\n credentials,\n );\n res.status(200).json(output);\n } catch (err) {\n if (\n // Catch errors from parse-url library.\n err.name === 'Error' &&\n 'subject_url' in err\n ) {\n throw new InputError('The given location.target is not a URL');\n }\n throw err;\n }\n });\n }\n\n if (orchestrator) {\n router.post('/validate-entity', async (req, res) => {\n const bodySchema = z.object({\n entity: z.unknown(),\n location: z.string(),\n });\n\n let body: z.infer;\n let entity: Entity;\n let location: { type: string; target: string };\n try {\n body = await validateRequestBody(req, bodySchema);\n entity = validateEntityEnvelope(body.entity);\n location = parseLocationRef(body.location);\n if (location.type !== 'url')\n throw new TypeError(\n `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path`,\n );\n } catch (err) {\n return res.status(400).json({\n errors: [serializeError(err)],\n });\n }\n\n const credentials = await httpAuth.credentials(req);\n const authorizedValidationService = new AuthorizedValidationService(\n orchestrator,\n permissionsService,\n );\n const processingResult = await authorizedValidationService.process(\n {\n entity: {\n ...entity,\n metadata: {\n ...entity.metadata,\n annotations: {\n [ANNOTATION_LOCATION]: body.location,\n [ANNOTATION_ORIGIN_LOCATION]: body.location,\n ...entity.metadata.annotations,\n },\n },\n },\n },\n credentials,\n );\n\n if (!processingResult.ok)\n res.status(400).json({\n errors: processingResult.errors.map(e => serializeError(e)),\n });\n return res.status(200).end();\n });\n }\n\n router.use(errorHandler());\n return router;\n}\n"],"names":["createOpenApiRouter","parseEntityFilterParams","parseEntityTransformParams","parseEntityOrderParams","parseEntityPaginationParams","parseQueryEntitiesParams","encodeCursor","basicEntityFilter","NotFoundError","stringifyEntityRef","entitiesBatchRequest","parseEntityFacetParams","validateRequestBody","locationInput","yn","disallowReadonlyMode","z","InputError","validateEntityEnvelope","parseLocationRef","serializeError","AuthorizedValidationService","ANNOTATION_LOCATION","ANNOTATION_ORIGIN_LOCATION","errorHandler"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"createRouter.cjs.js","sources":["../../src/service/createRouter.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { errorHandler } from '@backstage/backend-common';\nimport {\n ANNOTATION_LOCATION,\n ANNOTATION_ORIGIN_LOCATION,\n Entity,\n parseLocationRef,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport { InputError, NotFoundError, serializeError } from '@backstage/errors';\nimport express from 'express';\nimport yn from 'yn';\nimport { z } from 'zod';\nimport { EntitiesCatalog } from '../catalog/types';\nimport { CatalogProcessingOrchestrator } from '../processing/types';\nimport { validateEntityEnvelope } from '../processing/util';\nimport {\n basicEntityFilter,\n entitiesBatchRequest,\n parseEntityFilterParams,\n parseEntityTransformParams,\n parseQueryEntitiesParams,\n} from './request';\nimport { parseEntityFacetParams } from './request/parseEntityFacetParams';\nimport { parseEntityOrderParams } from './request/parseEntityOrderParams';\nimport { LocationService, RefreshService } from './types';\nimport {\n disallowReadonlyMode,\n encodeCursor,\n locationInput,\n validateRequestBody,\n} from './util';\nimport { createOpenApiRouter } from '../schema/openapi.generated';\nimport { parseEntityPaginationParams } from './request/parseEntityPaginationParams';\nimport {\n AuthService,\n HttpAuthService,\n LoggerService,\n SchedulerService,\n PermissionsService,\n} from '@backstage/backend-plugin-api';\nimport { LocationAnalyzer } from '@backstage/plugin-catalog-node';\nimport { AuthorizedValidationService } from './AuthorizedValidationService';\n\nimport { DefaultAuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\n/**\n * Options used by {@link createRouter}.\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n entitiesCatalog?: EntitiesCatalog;\n locationAnalyzer?: LocationAnalyzer;\n locationService: LocationService;\n orchestrator?: CatalogProcessingOrchestrator;\n refreshService?: RefreshService;\n scheduler?: SchedulerService;\n logger: LoggerService;\n config: Config;\n permissionIntegrationRouter?: express.Router;\n auth: AuthService;\n httpAuth: HttpAuthService;\n permissionsService: PermissionsService;\n}\n\n/**\n * Creates a catalog router.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = await createOpenApiRouter({\n validatorOptions: {\n // We want the spec to be up to date with the expected value, but the return type needs\n // to be controlled by the router implementation not the request validator.\n ignorePaths: /^\\/validate-entity\\/?$/,\n },\n });\n const {\n entitiesCatalog,\n locationAnalyzer,\n locationService,\n orchestrator,\n refreshService,\n config,\n logger,\n permissionIntegrationRouter,\n permissionsService,\n auth,\n httpAuth,\n } = options;\n\n const auditLogger = new DefaultAuditLogger({\n logger,\n authService: auth,\n httpAuthService: httpAuth,\n });\n const readonlyEnabled =\n config.getOptionalBoolean('catalog.readonly') || false;\n if (readonlyEnabled) {\n logger.info('Catalog is running in readonly mode');\n }\n\n if (refreshService) {\n // TODO: Potentially find a way to track the ancestor that gets refreshed to refresh this entity (as well as the child of that ancestor?)\n router.post('/refresh', async (req, res) => {\n const { authorizationToken, ...restBody } = req.body;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityRefresh',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n metadata: {\n entityRef: restBody.entityRef,\n },\n request: req,\n message: `Refresh attempt for ${restBody.entityRef} initiated by ${actorId}`,\n });\n\n const credentials = authorizationToken\n ? await auth.authenticate(authorizationToken)\n : await httpAuth.credentials(req);\n\n await refreshService.refresh({\n ...restBody,\n credentials,\n });\n await auditLogger.auditLog({\n eventName: 'CatalogEntityRefresh',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n metadata: {\n entityRef: restBody.entityRef,\n },\n response: {\n status: 200,\n },\n request: req,\n message: `Refresh attempt for ${restBody.entityRef} triggered by ${actorId}`,\n });\n res.status(200).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityRefresh',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n metadata: {\n entityRef: restBody.entityRef,\n },\n request: req,\n message: `Refresh attempt for ${restBody.entityRef} by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (permissionIntegrationRouter) {\n router.use(permissionIntegrationRouter);\n }\n\n if (entitiesCatalog) {\n router\n .get('/entities', async (req, res) => {\n const actorId = await auditLogger.getActorId(\n req as unknown as express.Request,\n );\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req as unknown as express.Request,\n message: `Entity fetch attempt initiated by ${actorId}`,\n });\n const { entities, pageInfo } = await entitiesCatalog.entities({\n filter: parseEntityFilterParams(req.query),\n fields: parseEntityTransformParams(req.query),\n order: parseEntityOrderParams(req.query),\n pagination: parseEntityPaginationParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n\n // Add a Link header to the next page\n if (pageInfo.hasNextPage) {\n const url = new URL(`http://ignored${req.url}`);\n url.searchParams.delete('offset');\n url.searchParams.set('after', pageInfo.endCursor);\n res.setHeader('link', `<${url.pathname}${url.search}>; rel=\"next\"`);\n }\n\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req as unknown as express.Request,\n // Let's not log out the entities since this can make the log very big due to it not being paged?\n response: {\n status: 200,\n },\n message: `Entity fetch attempt by ${actorId} succeeded`,\n });\n\n // TODO(freben): encode the pageInfo in the response\n res.json(entities);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req as unknown as express.Request,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Entity fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entities/by-query', async (req, res) => {\n const actorId = await auditLogger.getActorId(\n req as unknown as express.Request,\n );\n try {\n await auditLogger.auditLog({\n eventName: 'QueriedCatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req as unknown as express.Request,\n message: `Queried entity fetch attempt initiated by ${actorId}`,\n });\n const { items, pageInfo, totalItems } =\n await entitiesCatalog.queryEntities({\n limit: req.query.limit,\n ...parseQueryEntitiesParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n\n res.json({\n items,\n totalItems,\n pageInfo: {\n ...(pageInfo.nextCursor && {\n nextCursor: encodeCursor(pageInfo.nextCursor),\n }),\n ...(pageInfo.prevCursor && {\n prevCursor: encodeCursor(pageInfo.prevCursor),\n }),\n },\n });\n await auditLogger.auditLog({\n eventName: 'QueriedCatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req as unknown as express.Request,\n metadata: {\n totalEntities: totalItems,\n pageInfo: {\n ...(pageInfo.nextCursor && {\n nextCursor: encodeCursor(pageInfo.nextCursor),\n }),\n ...(pageInfo.prevCursor && {\n prevCursor: encodeCursor(pageInfo.prevCursor),\n }),\n },\n },\n // Let's not log out the entities since this can make the log very big\n response: {\n status: 200,\n },\n message: `Queried entity fetch attempt by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'QueriedCatalogEntityFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req as unknown as express.Request,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Queried entity fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByUid',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n uid: uid,\n },\n message: `Fetch attempt for entity with uid ${uid} initiated by ${actorId}`,\n });\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({ 'metadata.uid': uid }),\n credentials: await httpAuth.credentials(req),\n });\n if (!entities.length) {\n throw new NotFoundError(`No entity with uid ${uid}`);\n }\n res.status(200).json(entities[0]);\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByUid',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n uid: uid,\n entityRef: stringifyEntityRef(entities[0]),\n },\n response: {\n status: 200,\n },\n message: `Fetch attempt for entity with uid ${uid} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByUid',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n metadata: {\n uid: uid,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt for entity with uid ${uid} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .delete('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n const actorId = await auditLogger.getActorId(req);\n let entityRef: string | undefined;\n try {\n // Get the entityRef of the UID so users can more easily identity the entity\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({ 'metadata.uid': uid }),\n credentials: await httpAuth.credentials(req),\n });\n if (entities.length) {\n entityRef = stringifyEntityRef(entities[0]);\n }\n await auditLogger.auditLog({\n eventName: 'CatalogEntityDeletion',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n uid: uid,\n entityRef: entityRef,\n },\n message: `Deletion attempt for entity with uid ${uid} initiated by ${actorId}`,\n });\n await entitiesCatalog.removeEntityByUid(uid, {\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogEntityDeletion',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n uid: uid,\n entityRef: entityRef,\n },\n response: {\n status: 204,\n },\n message: `Deletion attempt for entity with uid ${uid} by ${actorId} succeeded`,\n });\n res.status(204).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityDeletion',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Deletion attempt for entity with uid ${uid} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entities/by-name/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const entityRef = stringifyEntityRef({ kind, namespace, name });\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByName',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n message: `Fetch attempt for entity with entityRef ${entityRef} initiated by ${actorId}`,\n });\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({\n kind: kind,\n 'metadata.namespace': namespace,\n 'metadata.name': name,\n }),\n credentials: await httpAuth.credentials(req),\n });\n if (!entities.length) {\n throw new NotFoundError(\n `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'`,\n );\n }\n res.status(200).json(entities[0]);\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByName',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n response: {\n status: 200,\n },\n message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByName',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get(\n '/entities/by-name/:kind/:namespace/:name/ancestry',\n async (req, res) => {\n const { kind, namespace, name } = req.params;\n const entityRef = stringifyEntityRef({ kind, namespace, name });\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityAncestryFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n message: `Fetch attempt for entity ancestor of entity ${entityRef} initiated by ${actorId}`,\n });\n const response = await entitiesCatalog.entityAncestry(entityRef, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n await auditLogger.auditLog({\n eventName: 'CatalogEntityAncestryFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n rootEntityRef: response.rootEntityRef,\n ancestry: response.items.map(ancestryLink => {\n return {\n entityRef: stringifyEntityRef(ancestryLink.entity),\n parentEntityRefs: ancestryLink.parentEntityRefs,\n };\n }),\n },\n response: {\n status: 200,\n },\n message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityAncestryFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} failed`,\n });\n throw err;\n }\n },\n )\n .post('/entities/by-refs', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityBatchFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n message: `Batch entity fetch attempt initiated by ${actorId}`,\n });\n const request = entitiesBatchRequest(req);\n const response = await entitiesCatalog.entitiesBatch({\n entityRefs: request.entityRefs,\n filter: parseEntityFilterParams(req.query),\n fields: parseEntityTransformParams(req.query, request.fields),\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n await auditLogger.auditLog({\n eventName: 'CatalogEntityBatchFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n ...request,\n },\n response: {\n status: 200,\n },\n message: `Batch entity fetch attempt by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityBatchFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Batch entity fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entity-facets', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFacetFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n message: `Entity facet fetch attempt initiated by ${actorId}`,\n });\n const response = await entitiesCatalog.facets({\n filter: parseEntityFilterParams(req.query),\n facets: parseEntityFacetParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFacetFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n response: { status: 200 },\n message: `Entity facet fetch attempt by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFacetFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Entity facet fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (locationService) {\n router\n .post('/locations', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n const actorId = await auditLogger.getActorId(req);\n const location = await validateRequestBody(req, locationInput);\n const dryRun = yn(req.query.dryRun, { default: false });\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationCreation',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n location: location,\n isDryRun: dryRun,\n },\n request: req,\n message: `Creation attempt of location entity for ${location.target} initiated by ${actorId}`,\n });\n\n // when in dryRun addLocation is effectively a read operation so we don't\n // need to disallow readonly\n if (!dryRun) {\n disallowReadonlyMode(readonlyEnabled);\n }\n\n const output = await locationService.createLocation(\n location,\n dryRun,\n {\n credentials,\n },\n );\n await auditLogger.auditLog({\n eventName: 'CatalogLocationCreation',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n location: output.location,\n isDryRun: dryRun,\n },\n request: req,\n response: {\n status: 201,\n },\n message: `Creation of location entity for ${location.target} initiated by ${actorId} succeeded`,\n });\n res.status(201).json(output);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationCreation',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n location: location,\n isDryRun: dryRun,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Creation of location entity for ${location.target} initiated by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/locations', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetch',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n request: req,\n message: `Fetch attempt of locations initiated by ${actorId}`,\n });\n const locations = await locationService.listLocations({\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(locations.map(l => ({ data: l })));\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetch',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n request: req,\n response: {\n status: 200,\n },\n message: `Fetch attempt of locations by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetch',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt of locations by ${actorId} failed`,\n });\n throw err;\n }\n })\n\n .get('/locations/:id', async (req, res) => {\n const { id } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchById',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n id: id,\n },\n request: req,\n message: `Fetch attempt of location with id: ${id} initiated by ${actorId}`,\n });\n const output = await locationService.getLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(output);\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchById',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n id: id,\n },\n response: {\n status: 200,\n body: output,\n },\n request: req,\n message: `Fetch attempt of location with id: ${id} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchById',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n id: id,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Fetch attempt of location with id: ${id} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .delete('/locations/:id', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n const { id } = req.params;\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationDeletion',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n id: id,\n },\n request: req,\n message: `Deletion attempt of location with id: ${id} initiated by ${actorId}`,\n });\n disallowReadonlyMode(readonlyEnabled);\n // Grabbing the information of the location begin deleted\n const location = await locationService.getLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n await locationService.deleteLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogLocationDeletion',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n location,\n },\n response: {\n status: 204,\n },\n request: req,\n message: `Deletion attempt of location with id: ${id} by ${actorId} succeeded`,\n });\n res.status(204).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationDeletion',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n id: id,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Deletion attempt of location with id: ${id} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/locations/by-entity/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const actorId = await auditLogger.getActorId(req);\n const locationRef = `${kind}:${namespace}/${name}`;\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchByEntityRef',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n locationRef: locationRef,\n },\n request: req,\n message: `Fetch attempt for location ${locationRef} initiated by ${actorId}`,\n });\n\n const output = await locationService.getLocationByEntity(\n { kind, namespace, name },\n { credentials: await httpAuth.credentials(req) },\n );\n res.status(200).json(output);\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchByEntityRef',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n locationRef: locationRef,\n },\n response: {\n status: 200,\n body: output,\n },\n request: req,\n message: `Fetch attempt for location ${locationRef} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchByEntityRef',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n locationRef: locationRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Fetch attempt for location ${locationRef} by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (locationAnalyzer) {\n router.post('/analyze-location', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationAnalyze',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n request: req,\n message: `Analyze location for location initiated by ${actorId}`,\n });\n const body = await validateRequestBody(\n req,\n z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n }),\n );\n const schema = z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n });\n const credentials = await httpAuth.credentials(req);\n const parsedBody = schema.parse(body);\n try {\n const output = await locationAnalyzer.analyzeLocation(\n parsedBody,\n credentials,\n );\n res.status(200).json(output);\n await auditLogger.auditLog({\n eventName: 'CatalogLocationAnalyze',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n request: req,\n response: {\n status: 200,\n body: output,\n },\n message: `Analyze location for location by ${actorId} succeeded`,\n });\n } catch (err) {\n if (\n // Catch errors from parse-url library.\n err.name === 'Error' &&\n 'subject_url' in err\n ) {\n throw new InputError('The given location.target is not a URL');\n }\n throw err;\n }\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationAnalyze',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Analyze location for location by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (orchestrator) {\n router.post('/validate-entity', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId}`,\n });\n const bodySchema = z.object({\n entity: z.unknown(),\n location: z.string(),\n });\n\n let body: z.infer;\n let entity: Entity;\n let location: { type: string; target: string };\n try {\n body = await validateRequestBody(req, bodySchema);\n entity = validateEntityEnvelope(body.entity);\n location = parseLocationRef(body.location);\n if (location.type !== 'url')\n throw new TypeError(\n `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path`,\n );\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId} failed`,\n });\n return res.status(400).json({\n errors: [serializeError(err)],\n });\n }\n\n const credentials = await httpAuth.credentials(req);\n const authorizedValidationService = new AuthorizedValidationService(\n orchestrator,\n permissionsService,\n );\n\n const processingResult = await authorizedValidationService.process(\n {\n entity: {\n ...entity,\n metadata: {\n ...entity.metadata,\n annotations: {\n [ANNOTATION_LOCATION]: body.location,\n [ANNOTATION_ORIGIN_LOCATION]: body.location,\n ...entity.metadata.annotations,\n },\n },\n },\n },\n credentials,\n );\n\n if (!processingResult.ok) {\n const errors = processingResult.errors.map(e => serializeError(e));\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: errors,\n response: {\n status: 400,\n },\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId} failed`,\n });\n return res.status(400).json({\n errors,\n });\n }\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n response: {\n status: 200,\n },\n request: req,\n message: `Entity validation for entity by ${actorId} succeeded`,\n });\n return res.status(200).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n router.use(errorHandler());\n return router;\n}\n"],"names":["createOpenApiRouter","DefaultAuditLogger","parseEntityFilterParams","parseEntityTransformParams","parseEntityOrderParams","parseEntityPaginationParams","parseQueryEntitiesParams","encodeCursor","basicEntityFilter","NotFoundError","stringifyEntityRef","entitiesBatchRequest","parseEntityFacetParams","validateRequestBody","locationInput","yn","disallowReadonlyMode","z","InputError","validateEntityEnvelope","parseLocationRef","serializeError","AuthorizedValidationService","ANNOTATION_LOCATION","ANNOTATION_ORIGIN_LOCATION","errors","errorHandler"],"mappings":"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"} -\ No newline at end of file diff --git a/.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch b/.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch new file mode 100644 index 0000000000..2f55b3bdba --- /dev/null +++ b/.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch @@ -0,0 +1,1328 @@ +diff --git a/dist/service/createRouter.cjs.js b/dist/service/createRouter.cjs.js +index d036907d8a5d1be31a4c810f192d709ba4b59968..649d43bdff333ab54a9e676eae3f48372f99307d 100644 +--- a/dist/service/createRouter.cjs.js ++++ b/dist/service/createRouter.cjs.js +@@ -19,6 +19,7 @@ var parseEntityPaginationParams = require('./request/parseEntityPaginationParams + var AuthorizedValidationService = require('./AuthorizedValidationService.cjs.js'); + var write = require('./response/write.cjs.js'); + var createEntityArrayJsonStream = require('./response/createEntityArrayJsonStream.cjs.js'); ++var backstagePluginAuditLogNode = require('@janus-idp/backstage-plugin-audit-log-node'); + + function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } + +@@ -46,6 +47,11 @@ async function createRouter(options) { + httpAuth, + disableRelationsCompatibility = false + } = options; ++ const auditLogger = new backstagePluginAuditLogNode.DefaultAuditLogger({ ++ logger, ++ authService: auth, ++ httpAuthService: httpAuth ++ }); + const readonlyEnabled = config.getOptionalBoolean("catalog.readonly") || false; + if (readonlyEnabled) { + logger.info("Catalog is running in readonly mode"); +@@ -53,12 +59,61 @@ async function createRouter(options) { + if (refreshService) { + router$1.post("/refresh", async (req, res) => { + const { authorizationToken, ...restBody } = req.body; +- const credentials = authorizationToken ? await auth.authenticate(authorizationToken) : await httpAuth.credentials(req); +- await refreshService.refresh({ +- ...restBody, +- credentials +- }); +- res.status(200).end(); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityRefresh", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ metadata: { ++ entityRef: restBody.entityRef ++ }, ++ request: req, ++ message: `Refresh attempt for ${restBody.entityRef} initiated by ${actorId}` ++ }); ++ const credentials = authorizationToken ? await auth.authenticate(authorizationToken) : await httpAuth.credentials(req); ++ await refreshService.refresh({ ++ ...restBody, ++ credentials ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityRefresh", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ metadata: { ++ entityRef: restBody.entityRef ++ }, ++ response: { ++ status: 200 ++ }, ++ request: req, ++ message: `Refresh attempt for ${restBody.entityRef} triggered by ${actorId}` ++ }); ++ res.status(200).end(); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityRefresh", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ metadata: { ++ entityRef: restBody.entityRef ++ }, ++ request: req, ++ message: `Refresh attempt for ${restBody.entityRef} by ${actorId} failed` ++ }); ++ throw err; ++ } + }); + } + if (permissionIntegrationRouter) { +@@ -66,259 +121,1027 @@ async function createRouter(options) { + } + if (entitiesCatalog) { + router$1.get("/entities", async (req, res) => { +- const filter = parseEntityFilterParams.parseEntityFilterParams(req.query); +- const fields = parseEntityTransformParams.parseEntityTransformParams(req.query); +- const order = parseEntityOrderParams.parseEntityOrderParams(req.query); +- const pagination = parseEntityPaginationParams.parseEntityPaginationParams(req.query); +- const credentials = await httpAuth.credentials(req); +- if (pagination || disableRelationsCompatibility !== true) { +- const { entities, pageInfo } = await entitiesCatalog.entities({ +- filter, +- fields, +- order, +- pagination, +- credentials ++ const actorId = await auditLogger.getActorId( ++ req ++ ); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetch", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ message: `Entity fetch attempt initiated by ${actorId}` + }); +- if (pageInfo.hasNextPage) { +- const url = new URL(`http://ignored${req.url}`); +- url.searchParams.delete("offset"); +- url.searchParams.set("after", pageInfo.endCursor); +- res.setHeader("link", `<${url.pathname}${url.search}>; rel="next"`); ++ const filter = parseEntityFilterParams.parseEntityFilterParams(req.query); ++ const fields = parseEntityTransformParams.parseEntityTransformParams(req.query); ++ const order = parseEntityOrderParams.parseEntityOrderParams(req.query); ++ const pagination = parseEntityPaginationParams.parseEntityPaginationParams(req.query); ++ const credentials = await httpAuth.credentials(req); ++ if (pagination || disableRelationsCompatibility !== true) { ++ const { entities, pageInfo } = await entitiesCatalog.entities({ ++ filter, ++ fields, ++ order, ++ pagination, ++ credentials ++ }); ++ if (pageInfo.hasNextPage) { ++ const url = new URL(`http://ignored${req.url}`); ++ url.searchParams.delete("offset"); ++ url.searchParams.set("after", pageInfo.endCursor); ++ res.setHeader( ++ "link", ++ `<${url.pathname}${url.search}>; rel="next"` ++ ); ++ } ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetch", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ // Let's not log out the entities since this can make the log very big due to it not being paged? ++ response: { ++ status: 200 ++ }, ++ message: `Entity fetch attempt by ${actorId} succeeded` ++ }); ++ await write.writeEntitiesResponse({ ++ res, ++ items: entities, ++ alwaysUseObjectMode: !disableRelationsCompatibility ++ }); ++ return; + } +- await write.writeEntitiesResponse({ +- res, +- items: entities, +- alwaysUseObjectMode: !disableRelationsCompatibility ++ const responseStream = createEntityArrayJsonStream.createEntityArrayJsonStream(res); ++ const limit = 1e4; ++ let cursor; ++ try { ++ do { ++ const result = await entitiesCatalog.queryEntities( ++ !cursor ? { ++ credentials, ++ fields, ++ limit, ++ filter, ++ orderFields: order, ++ skipTotalItems: true ++ } : { credentials, fields, limit, cursor } ++ ); ++ if (result.items.entities.length) { ++ if (await responseStream.send(result.items)) { ++ return; ++ } ++ } ++ cursor = result.pageInfo?.nextCursor; ++ } while (cursor); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetch", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ // Let's not log out the entities since this can make the log very big due to it not being paged? ++ response: { ++ status: 200 ++ }, ++ message: `Entity fetch attempt by ${actorId} succeeded` ++ }); ++ responseStream.complete(); ++ } finally { ++ responseStream.close(); ++ } ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetch", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Entity fetch attempt by ${actorId} failed` + }); +- return; ++ throw err; + } +- const responseStream = createEntityArrayJsonStream.createEntityArrayJsonStream(res); +- const limit = 1e4; +- let cursor; ++ }).get("/entities/by-query", async (req, res) => { ++ const actorId = await auditLogger.getActorId( ++ req ++ ); + try { +- do { +- const result = await entitiesCatalog.queryEntities( +- !cursor ? { +- credentials, +- fields, +- limit, +- filter, +- orderFields: order, +- skipTotalItems: true +- } : { credentials, fields, limit, cursor } +- ); +- if (result.items.entities.length) { +- if (await responseStream.send(result.items)) { +- return; ++ await auditLogger.auditLog({ ++ eventName: "QueriedCatalogEntityFetch", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ message: `Queried entity fetch attempt initiated by ${actorId}` ++ }); ++ const { items, pageInfo, totalItems } = await entitiesCatalog.queryEntities({ ++ limit: req.query.limit, ++ offset: req.query.offset, ++ ...parseQueryEntitiesParams.parseQueryEntitiesParams(req.query), ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "QueriedCatalogEntityFetch", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ metadata: { ++ totalEntities: totalItems, ++ pageInfo: { ++ ...pageInfo.nextCursor && { ++ nextCursor: util.encodeCursor(pageInfo.nextCursor) ++ }, ++ ...pageInfo.prevCursor && { ++ prevCursor: util.encodeCursor(pageInfo.prevCursor) ++ } + } +- } +- cursor = result.pageInfo?.nextCursor; +- } while (cursor); +- responseStream.complete(); +- } finally { +- responseStream.close(); +- } +- }).get("/entities/by-query", async (req, res) => { +- const { items, pageInfo, totalItems } = await entitiesCatalog.queryEntities({ +- limit: req.query.limit, +- offset: req.query.offset, +- ...parseQueryEntitiesParams.parseQueryEntitiesParams(req.query), +- credentials: await httpAuth.credentials(req) +- }); +- await write.writeEntitiesResponse({ +- res, +- items, +- alwaysUseObjectMode: !disableRelationsCompatibility, +- responseWrapper: (entities) => ({ +- items: entities, +- totalItems, +- pageInfo: { +- ...pageInfo.nextCursor && { +- nextCursor: util.encodeCursor(pageInfo.nextCursor) +- }, +- ...pageInfo.prevCursor && { +- prevCursor: util.encodeCursor(pageInfo.prevCursor) ++ }, ++ // Let's not log out the entities since this can make the log very big ++ response: { ++ status: 200 ++ }, ++ message: `Queried entity fetch attempt by ${actorId} succeeded` ++ }); ++ await write.writeEntitiesResponse({ ++ res, ++ items, ++ alwaysUseObjectMode: !disableRelationsCompatibility, ++ responseWrapper: (entities) => ({ ++ items: entities, ++ totalItems, ++ pageInfo: { ++ ...pageInfo.nextCursor && { ++ nextCursor: util.encodeCursor(pageInfo.nextCursor) ++ }, ++ ...pageInfo.prevCursor && { ++ prevCursor: util.encodeCursor(pageInfo.prevCursor) ++ } + } +- } +- }) +- }); ++ }) ++ }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "QueriedCatalogEntityFetch", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Queried entity fetch attempt by ${actorId} failed` ++ }); ++ throw err; ++ } + }).get("/entities/by-uid/:uid", async (req, res) => { + const { uid } = req.params; +- const { entities } = await entitiesCatalog.entities({ +- filter: basicEntityFilter.basicEntityFilter({ "metadata.uid": uid }), +- credentials: await httpAuth.credentials(req) +- }); +- write.writeSingleEntityResponse(res, entities, `No entity with uid ${uid}`); ++ const actorId = await auditLogger.getActorId(req); ++ let entityRef; ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetchByUid", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ metadata: { ++ uid ++ }, ++ message: `Fetch attempt for entity with uid ${uid} initiated by ${actorId}` ++ }); ++ const { entities } = await entitiesCatalog.entities({ ++ filter: basicEntityFilter.basicEntityFilter({ "metadata.uid": uid }), ++ credentials: await httpAuth.credentials(req) ++ }); ++ if (entities.entities.length) { ++ entityRef = entities.type === "object" ? catalogModel.stringifyEntityRef(entities.entities[0]) : entities.entities[0]; ++ } ++ write.writeSingleEntityResponse(res, entities, `No entity with uid ${uid}`); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetchByUid", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ metadata: { ++ uid, ++ entityRef ++ }, ++ response: { ++ status: 200 ++ }, ++ message: `Fetch attempt for entity with uid ${uid} by ${actorId} succeeded` ++ }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetchByUid", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ metadata: { ++ uid ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Fetch attempt for entity with uid ${uid} by ${actorId} failed` ++ }); ++ throw err; ++ } + }).delete("/entities/by-uid/:uid", async (req, res) => { + const { uid } = req.params; +- await entitiesCatalog.removeEntityByUid(uid, { +- credentials: await httpAuth.credentials(req) +- }); +- res.status(204).end(); ++ const actorId = await auditLogger.getActorId(req); ++ let entityRef; ++ try { ++ const { entities } = await entitiesCatalog.entities({ ++ filter: basicEntityFilter.basicEntityFilter({ "metadata.uid": uid }), ++ credentials: await httpAuth.credentials(req) ++ }); ++ if (entities.entities.length) { ++ entityRef = entities.type === "object" ? catalogModel.stringifyEntityRef(entities.entities[0]) : entities.entities[0]; ++ } ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityDeletion", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ metadata: { ++ uid, ++ entityRef ++ }, ++ message: `Deletion attempt for entity with uid ${uid} initiated by ${actorId}` ++ }); ++ await entitiesCatalog.removeEntityByUid(uid, { ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityDeletion", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ metadata: { ++ uid, ++ entityRef ++ }, ++ response: { ++ status: 204 ++ }, ++ message: `Deletion attempt for entity with uid ${uid} by ${actorId} succeeded` ++ }); ++ res.status(204).end(); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityDeletion", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Deletion attempt for entity with uid ${uid} by ${actorId} failed` ++ }); ++ throw err; ++ } + }).get("/entities/by-name/:kind/:namespace/:name", async (req, res) => { + const { kind, namespace, name } = req.params; +- const { items } = await entitiesCatalog.entitiesBatch({ +- entityRefs: [catalogModel.stringifyEntityRef({ kind, namespace, name })], +- credentials: await httpAuth.credentials(req) +- }); +- write.writeSingleEntityResponse( +- res, +- items, +- `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'` +- ); ++ const entityRef = catalogModel.stringifyEntityRef({ kind, namespace, name }); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetchByName", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ metadata: { ++ entityRef ++ }, ++ message: `Fetch attempt for entity with entityRef ${entityRef} initiated by ${actorId}` ++ }); ++ const { items } = await entitiesCatalog.entitiesBatch({ ++ entityRefs: [catalogModel.stringifyEntityRef({ kind, namespace, name })], ++ credentials: await httpAuth.credentials(req) ++ }); ++ write.writeSingleEntityResponse( ++ res, ++ items, ++ `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'` ++ ); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetchByName", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ metadata: { ++ entityRef ++ }, ++ response: { ++ status: 200 ++ }, ++ message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} succeeded` ++ }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFetchByName", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ metadata: { ++ entityRef ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} failed` ++ }); ++ throw err; ++ } + }).get( + "/entities/by-name/:kind/:namespace/:name/ancestry", + async (req, res) => { + const { kind, namespace, name } = req.params; + const entityRef = catalogModel.stringifyEntityRef({ kind, namespace, name }); +- const response = await entitiesCatalog.entityAncestry(entityRef, { ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityAncestryFetch", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ metadata: { ++ entityRef ++ }, ++ message: `Fetch attempt for entity ancestor of entity ${entityRef} initiated by ${actorId}` ++ }); ++ const response = await entitiesCatalog.entityAncestry(entityRef, { ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityAncestryFetch", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ metadata: { ++ rootEntityRef: response.rootEntityRef, ++ ancestry: response.items.map((ancestryLink) => { ++ return { ++ entityRef: catalogModel.stringifyEntityRef(ancestryLink.entity), ++ parentEntityRefs: ancestryLink.parentEntityRefs ++ }; ++ }) ++ }, ++ response: { ++ status: 200 ++ }, ++ message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} succeeded` ++ }); ++ res.status(200).json(response); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityAncestryFetch", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ metadata: { ++ entityRef ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} failed` ++ }); ++ throw err; ++ } ++ } ++ ).post("/entities/by-refs", async (req, res) => { ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityBatchFetch", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ message: `Batch entity fetch attempt initiated by ${actorId}` ++ }); ++ const request = entitiesBatchRequest.entitiesBatchRequest(req); ++ const { items } = await entitiesCatalog.entitiesBatch({ ++ entityRefs: request.entityRefs, ++ filter: parseEntityFilterParams.parseEntityFilterParams(req.query), ++ fields: parseEntityTransformParams.parseEntityTransformParams(req.query, request.fields), + credentials: await httpAuth.credentials(req) + }); +- res.status(200).json(response); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityBatchFetch", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ metadata: { ++ ...request ++ }, ++ response: { ++ status: 200 ++ }, ++ message: `Batch entity fetch attempt by ${actorId} succeeded` ++ }); ++ await write.writeEntitiesResponse({ ++ res, ++ items, ++ alwaysUseObjectMode: !disableRelationsCompatibility, ++ responseWrapper: (entities) => ({ ++ items: entities ++ }) ++ }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityBatchFetch", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Batch entity fetch attempt by ${actorId} failed` ++ }); ++ throw err; + } +- ).post("/entities/by-refs", async (req, res) => { +- const request = entitiesBatchRequest.entitiesBatchRequest(req); +- const { items } = await entitiesCatalog.entitiesBatch({ +- entityRefs: request.entityRefs, +- filter: parseEntityFilterParams.parseEntityFilterParams(req.query), +- fields: parseEntityTransformParams.parseEntityTransformParams(req.query, request.fields), +- credentials: await httpAuth.credentials(req) +- }); +- await write.writeEntitiesResponse({ +- res, +- items, +- alwaysUseObjectMode: !disableRelationsCompatibility, +- responseWrapper: (entities) => ({ +- items: entities +- }) +- }); + }).get("/entity-facets", async (req, res) => { +- const response = await entitiesCatalog.facets({ +- filter: parseEntityFilterParams.parseEntityFilterParams(req.query), +- facets: parseEntityFacetParams.parseEntityFacetParams(req.query), +- credentials: await httpAuth.credentials(req) +- }); +- res.status(200).json(response); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFacetFetch", ++ actorId, ++ status: "succeeded", ++ stage: "initiation", ++ request: req, ++ message: `Entity facet fetch attempt initiated by ${actorId}` ++ }); ++ const response = await entitiesCatalog.facets({ ++ filter: parseEntityFilterParams.parseEntityFilterParams(req.query), ++ facets: parseEntityFacetParams.parseEntityFacetParams(req.query), ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFacetFetch", ++ actorId, ++ status: "succeeded", ++ stage: "completion", ++ request: req, ++ response: { status: 200 }, ++ message: `Entity facet fetch attempt by ${actorId} succeeded` ++ }); ++ res.status(200).json(response); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityFacetFetch", ++ actorId, ++ status: "failed", ++ stage: "completion", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Entity facet fetch attempt by ${actorId} failed` ++ }); ++ throw err; ++ } + }); + } + if (locationService) { + router$1.post("/locations", async (req, res) => { ++ const credentials = await httpAuth.credentials(req); ++ const actorId = await auditLogger.getActorId(req); + const location = await util.validateRequestBody(req, util.locationInput); + const dryRun = yn__default.default(req.query.dryRun, { default: false }); +- if (!dryRun) { +- util.disallowReadonlyMode(readonlyEnabled); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationCreation", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ metadata: { ++ location, ++ isDryRun: dryRun ++ }, ++ request: req, ++ message: `Creation attempt of location entity for ${location.target} initiated by ${actorId}` ++ }); ++ if (!dryRun) { ++ util.disallowReadonlyMode(readonlyEnabled); ++ } ++ const output = await locationService.createLocation( ++ location, ++ dryRun, ++ { ++ credentials ++ } ++ ); ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationCreation", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ metadata: { ++ location: output.location, ++ isDryRun: dryRun ++ }, ++ request: req, ++ response: { ++ status: 201 ++ }, ++ message: `Creation of location entity for ${location.target} initiated by ${actorId} succeeded` ++ }); ++ res.status(201).json(output); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationCreation", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ actorId, ++ metadata: { ++ location, ++ isDryRun: dryRun ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ request: req, ++ message: `Creation of location entity for ${location.target} initiated by ${actorId} failed` ++ }); ++ throw err; + } +- const output = await locationService.createLocation(location, dryRun, { +- credentials: await httpAuth.credentials(req) +- }); +- res.status(201).json(output); + }).get("/locations", async (req, res) => { +- const locations = await locationService.listLocations({ +- credentials: await httpAuth.credentials(req) +- }); +- res.status(200).json(locations.map((l) => ({ data: l }))); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetch", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ request: req, ++ message: `Fetch attempt of locations initiated by ${actorId}` ++ }); ++ const locations = await locationService.listLocations({ ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetch", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ request: req, ++ response: { ++ status: 200 ++ }, ++ message: `Fetch attempt of locations by ${actorId} succeeded` ++ }); ++ res.status(200).json(locations.map((l) => ({ data: l }))); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetch", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ actorId, ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Fetch attempt of locations by ${actorId} failed` ++ }); ++ throw err; ++ } + }).get("/locations/:id", async (req, res) => { + const { id } = req.params; +- const output = await locationService.getLocation(id, { +- credentials: await httpAuth.credentials(req) +- }); +- res.status(200).json(output); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetchById", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ metadata: { ++ id ++ }, ++ request: req, ++ message: `Fetch attempt of location with id: ${id} initiated by ${actorId}` ++ }); ++ const output = await locationService.getLocation(id, { ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetchById", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ metadata: { ++ id ++ }, ++ response: { ++ status: 200, ++ body: output ++ }, ++ request: req, ++ message: `Fetch attempt of location with id: ${id} by ${actorId} succeeded` ++ }); ++ res.status(200).json(output); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetchById", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ actorId, ++ metadata: { ++ id ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ request: req, ++ message: `Fetch attempt of location with id: ${id} by ${actorId} failed` ++ }); ++ throw err; ++ } + }).delete("/locations/:id", async (req, res) => { +- util.disallowReadonlyMode(readonlyEnabled); ++ const actorId = await auditLogger.getActorId(req); + const { id } = req.params; +- await locationService.deleteLocation(id, { +- credentials: await httpAuth.credentials(req) +- }); +- res.status(204).end(); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationDeletion", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ metadata: { ++ id ++ }, ++ request: req, ++ message: `Deletion attempt of location with id: ${id} initiated by ${actorId}` ++ }); ++ util.disallowReadonlyMode(readonlyEnabled); ++ const location = await locationService.getLocation(id, { ++ credentials: await httpAuth.credentials(req) ++ }); ++ await locationService.deleteLocation(id, { ++ credentials: await httpAuth.credentials(req) ++ }); ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationDeletion", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ metadata: { ++ location ++ }, ++ response: { ++ status: 204 ++ }, ++ request: req, ++ message: `Deletion attempt of location with id: ${id} by ${actorId} succeeded` ++ }); ++ res.status(204).end(); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationDeletion", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ actorId, ++ metadata: { ++ id ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ request: req, ++ message: `Deletion attempt of location with id: ${id} by ${actorId} failed` ++ }); ++ throw err; ++ } + }).get("/locations/by-entity/:kind/:namespace/:name", async (req, res) => { + const { kind, namespace, name } = req.params; +- const output = await locationService.getLocationByEntity( +- { kind, namespace, name }, +- { credentials: await httpAuth.credentials(req) } +- ); +- res.status(200).json(output); ++ const actorId = await auditLogger.getActorId(req); ++ const locationRef = `${kind}:${namespace}/${name}`; ++ try { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetchByEntityRef", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ metadata: { ++ locationRef ++ }, ++ request: req, ++ message: `Fetch attempt for location ${locationRef} initiated by ${actorId}` ++ }); ++ const output = await locationService.getLocationByEntity( ++ { kind, namespace, name }, ++ { credentials: await httpAuth.credentials(req) } ++ ); ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetchByEntityRef", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ metadata: { ++ locationRef ++ }, ++ response: { ++ status: 200, ++ body: output ++ }, ++ request: req, ++ message: `Fetch attempt for location ${locationRef} by ${actorId} succeeded` ++ }); ++ res.status(200).json(output); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationFetchByEntityRef", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ actorId, ++ metadata: { ++ locationRef ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ request: req, ++ message: `Fetch attempt for location ${locationRef} by ${actorId} failed` ++ }); ++ throw err; ++ } + }); + } + if (locationAnalyzer) { + router$1.post("/analyze-location", async (req, res) => { +- const body = await util.validateRequestBody( +- req, +- zod.z.object({ +- location: util.locationInput, +- catalogFilename: zod.z.string().optional() +- }) +- ); +- const schema = zod.z.object({ +- location: util.locationInput, +- catalogFilename: zod.z.string().optional() +- }); +- const credentials = await httpAuth.credentials(req); +- const parsedBody = schema.parse(body); ++ const actorId = await auditLogger.getActorId(req); + try { +- const output = await locationAnalyzer.analyzeLocation( +- parsedBody, +- credentials ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationAnalyze", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ request: req, ++ message: `Analyze location for location initiated by ${actorId}` ++ }); ++ const body = await util.validateRequestBody( ++ req, ++ zod.z.object({ ++ location: util.locationInput, ++ catalogFilename: zod.z.string().optional() ++ }) + ); +- res.status(200).json(output); +- } catch (err) { +- if ( +- // Catch errors from parse-url library. +- err.name === "Error" && "subject_url" in err +- ) { +- throw new errors.InputError("The given location.target is not a URL"); ++ const schema = zod.z.object({ ++ location: util.locationInput, ++ catalogFilename: zod.z.string().optional() ++ }); ++ const credentials = await httpAuth.credentials(req); ++ const parsedBody = schema.parse(body); ++ try { ++ const output = await locationAnalyzer.analyzeLocation( ++ parsedBody, ++ credentials ++ ); ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationAnalyze", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ request: req, ++ response: { ++ status: 200, ++ body: output ++ }, ++ message: `Analyze location for location by ${actorId} succeeded` ++ }); ++ res.status(200).json(output); ++ } catch (err) { ++ if ( ++ // Catch errors from parse-url library. ++ err.name === "Error" && "subject_url" in err ++ ) { ++ throw new errors.InputError("The given location.target is not a URL"); ++ } ++ throw err; + } ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogLocationAnalyze", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ actorId, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ request: req, ++ message: `Analyze location for location by ${actorId} failed` ++ }); + throw err; + } + }); + } + if (orchestrator) { + router$1.post("/validate-entity", async (req, res) => { +- const bodySchema = zod.z.object({ +- entity: zod.z.unknown(), +- location: zod.z.string() +- }); +- let body; +- let entity; +- let location; ++ const actorId = await auditLogger.getActorId(req); + try { +- body = await util.validateRequestBody(req, bodySchema); +- entity = util$1.validateEntityEnvelope(body.entity); +- location = catalogModel.parseLocationRef(body.location); +- if (location.type !== "url") +- throw new TypeError( +- `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path` +- ); +- } catch (err) { +- return res.status(400).json({ +- errors: [errors.serializeError(err)] ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityValidate", ++ status: "succeeded", ++ stage: "initiation", ++ actorId, ++ request: req, ++ message: `Entity validation for entity initiated by ${actorId}` + }); +- } +- const credentials = await httpAuth.credentials(req); +- const authorizedValidationService = new AuthorizedValidationService.AuthorizedValidationService( +- orchestrator, +- permissionsService +- ); +- const processingResult = await authorizedValidationService.process( +- { +- entity: { +- ...entity, +- metadata: { +- ...entity.metadata, +- annotations: { +- [catalogModel.ANNOTATION_LOCATION]: body.location, +- [catalogModel.ANNOTATION_ORIGIN_LOCATION]: body.location, +- ...entity.metadata.annotations ++ const bodySchema = zod.z.object({ ++ entity: zod.z.unknown(), ++ location: zod.z.string() ++ }); ++ let body; ++ let entity; ++ let location; ++ try { ++ body = await util.validateRequestBody(req, bodySchema); ++ entity = util$1.validateEntityEnvelope(body.entity); ++ location = catalogModel.parseLocationRef(body.location); ++ if (location.type !== "url") ++ throw new TypeError( ++ `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path` ++ ); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityValidate", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ actorId, ++ request: req, ++ message: `Entity validation for entity initiated by ${actorId} failed` ++ }); ++ return res.status(400).json({ ++ errors: [errors.serializeError(err)] ++ }); ++ } ++ const credentials = await httpAuth.credentials(req); ++ const authorizedValidationService = new AuthorizedValidationService.AuthorizedValidationService( ++ orchestrator, ++ permissionsService ++ ); ++ const processingResult = await authorizedValidationService.process( ++ { ++ entity: { ++ ...entity, ++ metadata: { ++ ...entity.metadata, ++ annotations: { ++ [catalogModel.ANNOTATION_LOCATION]: body.location, ++ [catalogModel.ANNOTATION_ORIGIN_LOCATION]: body.location, ++ ...entity.metadata.annotations ++ } + } + } +- } +- }, +- credentials +- ); +- if (!processingResult.ok) +- res.status(400).json({ +- errors: processingResult.errors.map((e) => errors.serializeError(e)) ++ }, ++ credentials ++ ); ++ if (!processingResult.ok) { ++ const errors$1 = processingResult.errors.map((e) => errors.serializeError(e)); ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityValidate", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ errors: errors$1, ++ response: { ++ status: 400 ++ }, ++ actorId, ++ request: req, ++ message: `Entity validation for entity initiated by ${actorId} failed` ++ }); ++ return res.status(400).json({ ++ errors: errors$1 ++ }); ++ } ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityValidate", ++ status: "succeeded", ++ stage: "completion", ++ actorId, ++ response: { ++ status: 200 ++ }, ++ request: req, ++ message: `Entity validation for entity by ${actorId} succeeded` ++ }); ++ return res.status(200).end(); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "CatalogEntityValidate", ++ status: "failed", ++ stage: "completion", ++ level: "error", ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ actorId, ++ request: req, ++ message: `Entity validation for entity initiated by ${actorId} failed` + }); +- return res.status(200).end(); ++ throw err; ++ } + }); + } + router$1.use(backendCommon.errorHandler()); +diff --git a/dist/service/createRouter.cjs.js.map b/dist/service/createRouter.cjs.js.map +index 375ed5c0496e7b8d4112d758e0167e72d22dd818..9f1b2c061fb4413a716d116f52495c64b63b0152 100644 +--- a/dist/service/createRouter.cjs.js.map ++++ b/dist/service/createRouter.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"createRouter.cjs.js","sources":["../../src/service/createRouter.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { errorHandler } from '@backstage/backend-common';\nimport {\n ANNOTATION_LOCATION,\n ANNOTATION_ORIGIN_LOCATION,\n Entity,\n parseLocationRef,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport { InputError, serializeError } from '@backstage/errors';\nimport express from 'express';\nimport yn from 'yn';\nimport { z } from 'zod';\nimport { Cursor, EntitiesCatalog } from '../catalog/types';\nimport { CatalogProcessingOrchestrator } from '../processing/types';\nimport { validateEntityEnvelope } from '../processing/util';\nimport {\n basicEntityFilter,\n entitiesBatchRequest,\n parseEntityFilterParams,\n parseEntityTransformParams,\n parseQueryEntitiesParams,\n} from './request';\nimport { parseEntityFacetParams } from './request/parseEntityFacetParams';\nimport { parseEntityOrderParams } from './request/parseEntityOrderParams';\nimport { LocationService, RefreshService } from './types';\nimport {\n disallowReadonlyMode,\n encodeCursor,\n locationInput,\n validateRequestBody,\n} from './util';\nimport { createOpenApiRouter } from '../schema/openapi';\nimport { parseEntityPaginationParams } from './request/parseEntityPaginationParams';\nimport {\n AuthService,\n HttpAuthService,\n LoggerService,\n SchedulerService,\n PermissionsService,\n} from '@backstage/backend-plugin-api';\nimport { LocationAnalyzer } from '@backstage/plugin-catalog-node';\nimport { AuthorizedValidationService } from './AuthorizedValidationService';\nimport {\n createEntityArrayJsonStream,\n writeEntitiesResponse,\n writeSingleEntityResponse,\n} from './response';\n\n/**\n * Options used by {@link createRouter}.\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n entitiesCatalog?: EntitiesCatalog;\n locationAnalyzer?: LocationAnalyzer;\n locationService: LocationService;\n orchestrator?: CatalogProcessingOrchestrator;\n refreshService?: RefreshService;\n scheduler?: SchedulerService;\n logger: LoggerService;\n config: Config;\n permissionIntegrationRouter?: express.Router;\n auth: AuthService;\n httpAuth: HttpAuthService;\n permissionsService: PermissionsService;\n disableRelationsCompatibility?: boolean;\n}\n\n/**\n * Creates a catalog router.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = await createOpenApiRouter({\n validatorOptions: {\n // We want the spec to be up to date with the expected value, but the return type needs\n // to be controlled by the router implementation not the request validator.\n ignorePaths: /^\\/validate-entity\\/?$/,\n },\n });\n const {\n entitiesCatalog,\n locationAnalyzer,\n locationService,\n orchestrator,\n refreshService,\n config,\n logger,\n permissionIntegrationRouter,\n permissionsService,\n auth,\n httpAuth,\n disableRelationsCompatibility = false,\n } = options;\n\n const readonlyEnabled =\n config.getOptionalBoolean('catalog.readonly') || false;\n if (readonlyEnabled) {\n logger.info('Catalog is running in readonly mode');\n }\n\n if (refreshService) {\n router.post('/refresh', async (req, res) => {\n const { authorizationToken, ...restBody } = req.body;\n\n const credentials = authorizationToken\n ? await auth.authenticate(authorizationToken)\n : await httpAuth.credentials(req);\n\n await refreshService.refresh({\n ...restBody,\n credentials,\n });\n res.status(200).end();\n });\n }\n\n if (permissionIntegrationRouter) {\n router.use(permissionIntegrationRouter);\n }\n\n if (entitiesCatalog) {\n router\n .get('/entities', async (req, res) => {\n const filter = parseEntityFilterParams(req.query);\n const fields = parseEntityTransformParams(req.query);\n const order = parseEntityOrderParams(req.query);\n const pagination = parseEntityPaginationParams(req.query);\n const credentials = await httpAuth.credentials(req);\n\n // When pagination parameters are passed in, use the legacy slow path\n // that loads all entities into memory\n\n if (pagination || disableRelationsCompatibility !== true) {\n const { entities, pageInfo } = await entitiesCatalog.entities({\n filter,\n fields,\n order,\n pagination,\n credentials,\n });\n\n // Add a Link header to the next page\n if (pageInfo.hasNextPage) {\n const url = new URL(`http://ignored${req.url}`);\n url.searchParams.delete('offset');\n url.searchParams.set('after', pageInfo.endCursor);\n res.setHeader('link', `<${url.pathname}${url.search}>; rel=\"next\"`);\n }\n\n await writeEntitiesResponse({\n res,\n items: entities,\n alwaysUseObjectMode: !disableRelationsCompatibility,\n });\n return;\n }\n\n const responseStream = createEntityArrayJsonStream(res);\n const limit = 10000;\n let cursor: Cursor | undefined;\n\n try {\n do {\n const result = await entitiesCatalog.queryEntities(\n !cursor\n ? {\n credentials,\n fields,\n limit,\n filter,\n orderFields: order,\n skipTotalItems: true,\n }\n : { credentials, fields, limit, cursor },\n );\n\n if (result.items.entities.length) {\n if (await responseStream.send(result.items)) {\n return; // Client closed connection\n }\n }\n\n cursor = result.pageInfo?.nextCursor;\n } while (cursor);\n\n responseStream.complete();\n } finally {\n responseStream.close();\n }\n })\n .get('/entities/by-query', async (req, res) => {\n const { items, pageInfo, totalItems } =\n await entitiesCatalog.queryEntities({\n limit: req.query.limit,\n offset: req.query.offset,\n ...parseQueryEntitiesParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n\n await writeEntitiesResponse({\n res,\n items,\n alwaysUseObjectMode: !disableRelationsCompatibility,\n responseWrapper: entities => ({\n items: entities,\n totalItems,\n pageInfo: {\n ...(pageInfo.nextCursor && {\n nextCursor: encodeCursor(pageInfo.nextCursor),\n }),\n ...(pageInfo.prevCursor && {\n prevCursor: encodeCursor(pageInfo.prevCursor),\n }),\n },\n }),\n });\n })\n .get('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({ 'metadata.uid': uid }),\n credentials: await httpAuth.credentials(req),\n });\n writeSingleEntityResponse(res, entities, `No entity with uid ${uid}`);\n })\n .delete('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n await entitiesCatalog.removeEntityByUid(uid, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(204).end();\n })\n .get('/entities/by-name/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const { items } = await entitiesCatalog.entitiesBatch({\n entityRefs: [stringifyEntityRef({ kind, namespace, name })],\n credentials: await httpAuth.credentials(req),\n });\n writeSingleEntityResponse(\n res,\n items,\n `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'`,\n );\n })\n .get(\n '/entities/by-name/:kind/:namespace/:name/ancestry',\n async (req, res) => {\n const { kind, namespace, name } = req.params;\n const entityRef = stringifyEntityRef({ kind, namespace, name });\n const response = await entitiesCatalog.entityAncestry(entityRef, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n },\n )\n .post('/entities/by-refs', async (req, res) => {\n const request = entitiesBatchRequest(req);\n const { items } = await entitiesCatalog.entitiesBatch({\n entityRefs: request.entityRefs,\n filter: parseEntityFilterParams(req.query),\n fields: parseEntityTransformParams(req.query, request.fields),\n credentials: await httpAuth.credentials(req),\n });\n await writeEntitiesResponse({\n res,\n items,\n alwaysUseObjectMode: !disableRelationsCompatibility,\n responseWrapper: entities => ({\n items: entities,\n }),\n });\n })\n .get('/entity-facets', async (req, res) => {\n const response = await entitiesCatalog.facets({\n filter: parseEntityFilterParams(req.query),\n facets: parseEntityFacetParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(response);\n });\n }\n\n if (locationService) {\n router\n .post('/locations', async (req, res) => {\n const location = await validateRequestBody(req, locationInput);\n const dryRun = yn(req.query.dryRun, { default: false });\n\n // when in dryRun addLocation is effectively a read operation so we don't\n // need to disallow readonly\n if (!dryRun) {\n disallowReadonlyMode(readonlyEnabled);\n }\n\n const output = await locationService.createLocation(location, dryRun, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(201).json(output);\n })\n .get('/locations', async (req, res) => {\n const locations = await locationService.listLocations({\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(locations.map(l => ({ data: l })));\n })\n\n .get('/locations/:id', async (req, res) => {\n const { id } = req.params;\n const output = await locationService.getLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(200).json(output);\n })\n .delete('/locations/:id', async (req, res) => {\n disallowReadonlyMode(readonlyEnabled);\n\n const { id } = req.params;\n await locationService.deleteLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n res.status(204).end();\n })\n .get('/locations/by-entity/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const output = await locationService.getLocationByEntity(\n { kind, namespace, name },\n { credentials: await httpAuth.credentials(req) },\n );\n res.status(200).json(output);\n });\n }\n\n if (locationAnalyzer) {\n router.post('/analyze-location', async (req, res) => {\n const body = await validateRequestBody(\n req,\n z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n }),\n );\n const schema = z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n });\n const credentials = await httpAuth.credentials(req);\n const parsedBody = schema.parse(body);\n try {\n const output = await locationAnalyzer.analyzeLocation(\n parsedBody,\n credentials,\n );\n res.status(200).json(output);\n } catch (err) {\n if (\n // Catch errors from parse-url library.\n err.name === 'Error' &&\n 'subject_url' in err\n ) {\n throw new InputError('The given location.target is not a URL');\n }\n throw err;\n }\n });\n }\n\n if (orchestrator) {\n router.post('/validate-entity', async (req, res) => {\n const bodySchema = z.object({\n entity: z.unknown(),\n location: z.string(),\n });\n\n let body: z.infer;\n let entity: Entity;\n let location: { type: string; target: string };\n try {\n body = await validateRequestBody(req, bodySchema);\n entity = validateEntityEnvelope(body.entity);\n location = parseLocationRef(body.location);\n if (location.type !== 'url')\n throw new TypeError(\n `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path`,\n );\n } catch (err) {\n return res.status(400).json({\n errors: [serializeError(err)],\n });\n }\n\n const credentials = await httpAuth.credentials(req);\n const authorizedValidationService = new AuthorizedValidationService(\n orchestrator,\n permissionsService,\n );\n const processingResult = await authorizedValidationService.process(\n {\n entity: {\n ...entity,\n metadata: {\n ...entity.metadata,\n annotations: {\n [ANNOTATION_LOCATION]: body.location,\n [ANNOTATION_ORIGIN_LOCATION]: body.location,\n ...entity.metadata.annotations,\n },\n },\n },\n },\n credentials,\n );\n\n if (!processingResult.ok)\n res.status(400).json({\n errors: processingResult.errors.map(e => serializeError(e)),\n });\n return res.status(200).end();\n });\n }\n\n router.use(errorHandler());\n return router;\n}\n"],"names":["router","createOpenApiRouter","parseEntityFilterParams","parseEntityTransformParams","parseEntityOrderParams","parseEntityPaginationParams","writeEntitiesResponse","createEntityArrayJsonStream","parseQueryEntitiesParams","encodeCursor","basicEntityFilter","writeSingleEntityResponse","stringifyEntityRef","entitiesBatchRequest","parseEntityFacetParams","validateRequestBody","locationInput","yn","disallowReadonlyMode","z","InputError","validateEntityEnvelope","parseLocationRef","serializeError","AuthorizedValidationService","ANNOTATION_LOCATION","ANNOTATION_ORIGIN_LOCATION","errorHandler"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA,eAAsB,aACpB,OACyB,EAAA;AACzB,EAAM,MAAAA,QAAA,GAAS,MAAMC,0BAAoB,CAAA;AAAA,IACvC,gBAAkB,EAAA;AAAA;AAAA;AAAA,MAGhB,WAAa,EAAA;AAAA;AACf,GACD,CAAA;AACD,EAAM,MAAA;AAAA,IACJ,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,eAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,2BAAA;AAAA,IACA,kBAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,6BAAgC,GAAA;AAAA,GAC9B,GAAA,OAAA;AAEJ,EAAA,MAAM,eACJ,GAAA,MAAA,CAAO,kBAAmB,CAAA,kBAAkB,CAAK,IAAA,KAAA;AACnD,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAA,MAAA,CAAO,KAAK,qCAAqC,CAAA;AAAA;AAGnD,EAAA,IAAI,cAAgB,EAAA;AAClB,IAAAD,QAAA,CAAO,IAAK,CAAA,UAAA,EAAY,OAAO,GAAA,EAAK,GAAQ,KAAA;AAC1C,MAAA,MAAM,EAAE,kBAAA,EAAoB,GAAG,QAAA,KAAa,GAAI,CAAA,IAAA;AAEhD,MAAM,MAAA,WAAA,GAAc,kBAChB,GAAA,MAAM,IAAK,CAAA,YAAA,CAAa,kBAAkB,CAC1C,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAElC,MAAA,MAAM,eAAe,OAAQ,CAAA;AAAA,QAC3B,GAAG,QAAA;AAAA,QACH;AAAA,OACD,CAAA;AACD,MAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,GAAI,EAAA;AAAA,KACrB,CAAA;AAAA;AAGH,EAAA,IAAI,2BAA6B,EAAA;AAC/B,IAAAA,QAAA,CAAO,IAAI,2BAA2B,CAAA;AAAA;AAGxC,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAAA,QAAA,CACG,GAAI,CAAA,WAAA,EAAa,OAAO,GAAA,EAAK,GAAQ,KAAA;AACpC,MAAM,MAAA,MAAA,GAASE,+CAAwB,CAAA,GAAA,CAAI,KAAK,CAAA;AAChD,MAAM,MAAA,MAAA,GAASC,qDAA2B,CAAA,GAAA,CAAI,KAAK,CAAA;AACnD,MAAM,MAAA,KAAA,GAAQC,6CAAuB,CAAA,GAAA,CAAI,KAAK,CAAA;AAC9C,MAAM,MAAA,UAAA,GAAaC,uDAA4B,CAAA,GAAA,CAAI,KAAK,CAAA;AACxD,MAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAKlD,MAAI,IAAA,UAAA,IAAc,kCAAkC,IAAM,EAAA;AACxD,QAAA,MAAM,EAAE,QAAU,EAAA,QAAA,EAAa,GAAA,MAAM,gBAAgB,QAAS,CAAA;AAAA,UAC5D,MAAA;AAAA,UACA,MAAA;AAAA,UACA,KAAA;AAAA,UACA,UAAA;AAAA,UACA;AAAA,SACD,CAAA;AAGD,QAAA,IAAI,SAAS,WAAa,EAAA;AACxB,UAAA,MAAM,MAAM,IAAI,GAAA,CAAI,CAAiB,cAAA,EAAA,GAAA,CAAI,GAAG,CAAE,CAAA,CAAA;AAC9C,UAAI,GAAA,CAAA,YAAA,CAAa,OAAO,QAAQ,CAAA;AAChC,UAAA,GAAA,CAAI,YAAa,CAAA,GAAA,CAAI,OAAS,EAAA,QAAA,CAAS,SAAS,CAAA;AAChD,UAAI,GAAA,CAAA,SAAA,CAAU,QAAQ,CAAI,CAAA,EAAA,GAAA,CAAI,QAAQ,CAAG,EAAA,GAAA,CAAI,MAAM,CAAe,aAAA,CAAA,CAAA;AAAA;AAGpE,QAAA,MAAMC,2BAAsB,CAAA;AAAA,UAC1B,GAAA;AAAA,UACA,KAAO,EAAA,QAAA;AAAA,UACP,qBAAqB,CAAC;AAAA,SACvB,CAAA;AACD,QAAA;AAAA;AAGF,MAAM,MAAA,cAAA,GAAiBC,wDAA4B,GAAG,CAAA;AACtD,MAAA,MAAM,KAAQ,GAAA,GAAA;AACd,MAAI,IAAA,MAAA;AAEJ,MAAI,IAAA;AACF,QAAG,GAAA;AACD,UAAM,MAAA,MAAA,GAAS,MAAM,eAAgB,CAAA,aAAA;AAAA,YACnC,CAAC,MACG,GAAA;AAAA,cACE,WAAA;AAAA,cACA,MAAA;AAAA,cACA,KAAA;AAAA,cACA,MAAA;AAAA,cACA,WAAa,EAAA,KAAA;AAAA,cACb,cAAgB,EAAA;AAAA,aAElB,GAAA,EAAE,WAAa,EAAA,MAAA,EAAQ,OAAO,MAAO;AAAA,WAC3C;AAEA,UAAI,IAAA,MAAA,CAAO,KAAM,CAAA,QAAA,CAAS,MAAQ,EAAA;AAChC,YAAA,IAAI,MAAM,cAAA,CAAe,IAAK,CAAA,MAAA,CAAO,KAAK,CAAG,EAAA;AAC3C,cAAA;AAAA;AACF;AAGF,UAAA,MAAA,GAAS,OAAO,QAAU,EAAA,UAAA;AAAA,SACnB,QAAA,MAAA;AAET,QAAA,cAAA,CAAe,QAAS,EAAA;AAAA,OACxB,SAAA;AACA,QAAA,cAAA,CAAe,KAAM,EAAA;AAAA;AACvB,KACD,CACA,CAAA,GAAA,CAAI,oBAAsB,EAAA,OAAO,KAAK,GAAQ,KAAA;AAC7C,MAAA,MAAM,EAAE,KAAO,EAAA,QAAA,EAAU,YACvB,GAAA,MAAM,gBAAgB,aAAc,CAAA;AAAA,QAClC,KAAA,EAAO,IAAI,KAAM,CAAA,KAAA;AAAA,QACjB,MAAA,EAAQ,IAAI,KAAM,CAAA,MAAA;AAAA,QAClB,GAAGC,iDAAyB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,QACrC,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AAEH,MAAA,MAAMF,2BAAsB,CAAA;AAAA,QAC1B,GAAA;AAAA,QACA,KAAA;AAAA,QACA,qBAAqB,CAAC,6BAAA;AAAA,QACtB,iBAAiB,CAAa,QAAA,MAAA;AAAA,UAC5B,KAAO,EAAA,QAAA;AAAA,UACP,UAAA;AAAA,UACA,QAAU,EAAA;AAAA,YACR,GAAI,SAAS,UAAc,IAAA;AAAA,cACzB,UAAA,EAAYG,iBAAa,CAAA,QAAA,CAAS,UAAU;AAAA,aAC9C;AAAA,YACA,GAAI,SAAS,UAAc,IAAA;AAAA,cACzB,UAAA,EAAYA,iBAAa,CAAA,QAAA,CAAS,UAAU;AAAA;AAC9C;AACF,SACF;AAAA,OACD,CAAA;AAAA,KACF,CACA,CAAA,GAAA,CAAI,uBAAyB,EAAA,OAAO,KAAK,GAAQ,KAAA;AAChD,MAAM,MAAA,EAAE,GAAI,EAAA,GAAI,GAAI,CAAA,MAAA;AACpB,MAAA,MAAM,EAAE,QAAA,EAAa,GAAA,MAAM,gBAAgB,QAAS,CAAA;AAAA,QAClD,MAAQ,EAAAC,mCAAA,CAAkB,EAAE,cAAA,EAAgB,KAAK,CAAA;AAAA,QACjD,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAAC,+BAAA,CAA0B,GAAK,EAAA,QAAA,EAAU,CAAsB,mBAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA,KACrE,CACA,CAAA,MAAA,CAAO,uBAAyB,EAAA,OAAO,KAAK,GAAQ,KAAA;AACnD,MAAM,MAAA,EAAE,GAAI,EAAA,GAAI,GAAI,CAAA,MAAA;AACpB,MAAM,MAAA,eAAA,CAAgB,kBAAkB,GAAK,EAAA;AAAA,QAC3C,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,GAAI,EAAA;AAAA,KACrB,CACA,CAAA,GAAA,CAAI,0CAA4C,EAAA,OAAO,KAAK,GAAQ,KAAA;AACnE,MAAA,MAAM,EAAE,IAAA,EAAM,SAAW,EAAA,IAAA,KAAS,GAAI,CAAA,MAAA;AACtC,MAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,gBAAgB,aAAc,CAAA;AAAA,QACpD,UAAA,EAAY,CAACC,+BAAmB,CAAA,EAAE,MAAM,SAAW,EAAA,IAAA,EAAM,CAAC,CAAA;AAAA,QAC1D,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAAD,+BAAA;AAAA,QACE,GAAA;AAAA,QACA,KAAA;AAAA,QACA,CAAoB,iBAAA,EAAA,IAAI,CAAuB,oBAAA,EAAA,IAAI,mBAAmB,SAAS,CAAA,CAAA;AAAA,OACjF;AAAA,KACD,CACA,CAAA,GAAA;AAAA,MACC,mDAAA;AAAA,MACA,OAAO,KAAK,GAAQ,KAAA;AAClB,QAAA,MAAM,EAAE,IAAA,EAAM,SAAW,EAAA,IAAA,KAAS,GAAI,CAAA,MAAA;AACtC,QAAA,MAAM,YAAYC,+BAAmB,CAAA,EAAE,IAAM,EAAA,SAAA,EAAW,MAAM,CAAA;AAC9D,QAAA,MAAM,QAAW,GAAA,MAAM,eAAgB,CAAA,cAAA,CAAe,SAAW,EAAA;AAAA,UAC/D,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,SAC5C,CAAA;AACD,QAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,QAAQ,CAAA;AAAA;AAC/B,KAED,CAAA,IAAA,CAAK,mBAAqB,EAAA,OAAO,KAAK,GAAQ,KAAA;AAC7C,MAAM,MAAA,OAAA,GAAUC,0CAAqB,GAAG,CAAA;AACxC,MAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,gBAAgB,aAAc,CAAA;AAAA,QACpD,YAAY,OAAQ,CAAA,UAAA;AAAA,QACpB,MAAA,EAAQX,+CAAwB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,QACzC,MAAQ,EAAAC,qDAAA,CAA2B,GAAI,CAAA,KAAA,EAAO,QAAQ,MAAM,CAAA;AAAA,QAC5D,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAA,MAAMG,2BAAsB,CAAA;AAAA,QAC1B,GAAA;AAAA,QACA,KAAA;AAAA,QACA,qBAAqB,CAAC,6BAAA;AAAA,QACtB,iBAAiB,CAAa,QAAA,MAAA;AAAA,UAC5B,KAAO,EAAA;AAAA,SACT;AAAA,OACD,CAAA;AAAA,KACF,CACA,CAAA,GAAA,CAAI,gBAAkB,EAAA,OAAO,KAAK,GAAQ,KAAA;AACzC,MAAM,MAAA,QAAA,GAAW,MAAM,eAAA,CAAgB,MAAO,CAAA;AAAA,QAC5C,MAAA,EAAQJ,+CAAwB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,QACzC,MAAA,EAAQY,6CAAuB,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,QACxC,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,QAAQ,CAAA;AAAA,KAC9B,CAAA;AAAA;AAGL,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAAd,QAAA,CACG,IAAK,CAAA,YAAA,EAAc,OAAO,GAAA,EAAK,GAAQ,KAAA;AACtC,MAAA,MAAM,QAAW,GAAA,MAAMe,wBAAoB,CAAA,GAAA,EAAKC,kBAAa,CAAA;AAC7D,MAAM,MAAA,MAAA,GAASC,oBAAG,GAAI,CAAA,KAAA,CAAM,QAAQ,EAAE,OAAA,EAAS,OAAO,CAAA;AAItD,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAAC,yBAAA,CAAqB,eAAe,CAAA;AAAA;AAGtC,MAAA,MAAM,MAAS,GAAA,MAAM,eAAgB,CAAA,cAAA,CAAe,UAAU,MAAQ,EAAA;AAAA,QACpE,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,KAC5B,CACA,CAAA,GAAA,CAAI,YAAc,EAAA,OAAO,KAAK,GAAQ,KAAA;AACrC,MAAM,MAAA,SAAA,GAAY,MAAM,eAAA,CAAgB,aAAc,CAAA;AAAA,QACpD,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,IAAK,CAAA,SAAA,CAAU,GAAI,CAAA,CAAA,CAAA,MAAM,EAAE,IAAA,EAAM,CAAE,EAAA,CAAE,CAAC,CAAA;AAAA,KACvD,CAEA,CAAA,GAAA,CAAI,gBAAkB,EAAA,OAAO,KAAK,GAAQ,KAAA;AACzC,MAAM,MAAA,EAAE,EAAG,EAAA,GAAI,GAAI,CAAA,MAAA;AACnB,MAAA,MAAM,MAAS,GAAA,MAAM,eAAgB,CAAA,WAAA,CAAY,EAAI,EAAA;AAAA,QACnD,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,KAC5B,CACA,CAAA,MAAA,CAAO,gBAAkB,EAAA,OAAO,KAAK,GAAQ,KAAA;AAC5C,MAAAA,yBAAA,CAAqB,eAAe,CAAA;AAEpC,MAAM,MAAA,EAAE,EAAG,EAAA,GAAI,GAAI,CAAA,MAAA;AACnB,MAAM,MAAA,eAAA,CAAgB,eAAe,EAAI,EAAA;AAAA,QACvC,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG;AAAA,OAC5C,CAAA;AACD,MAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,GAAI,EAAA;AAAA,KACrB,CACA,CAAA,GAAA,CAAI,6CAA+C,EAAA,OAAO,KAAK,GAAQ,KAAA;AACtE,MAAA,MAAM,EAAE,IAAA,EAAM,SAAW,EAAA,IAAA,KAAS,GAAI,CAAA,MAAA;AACtC,MAAM,MAAA,MAAA,GAAS,MAAM,eAAgB,CAAA,mBAAA;AAAA,QACnC,EAAE,IAAM,EAAA,SAAA,EAAW,IAAK,EAAA;AAAA,QACxB,EAAE,WAAa,EAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAE;AAAA,OACjD;AACA,MAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,KAC5B,CAAA;AAAA;AAGL,EAAA,IAAI,gBAAkB,EAAA;AACpB,IAAAlB,QAAA,CAAO,IAAK,CAAA,mBAAA,EAAqB,OAAO,GAAA,EAAK,GAAQ,KAAA;AACnD,MAAA,MAAM,OAAO,MAAMe,wBAAA;AAAA,QACjB,GAAA;AAAA,QACAI,MAAE,MAAO,CAAA;AAAA,UACP,QAAU,EAAAH,kBAAA;AAAA,UACV,eAAiB,EAAAG,KAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAAA,SACtC;AAAA,OACH;AACA,MAAM,MAAA,MAAA,GAASA,MAAE,MAAO,CAAA;AAAA,QACtB,QAAU,EAAAH,kBAAA;AAAA,QACV,eAAiB,EAAAG,KAAA,CAAE,MAAO,EAAA,CAAE,QAAS;AAAA,OACtC,CAAA;AACD,MAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,MAAM,MAAA,UAAA,GAAa,MAAO,CAAA,KAAA,CAAM,IAAI,CAAA;AACpC,MAAI,IAAA;AACF,QAAM,MAAA,MAAA,GAAS,MAAM,gBAAiB,CAAA,eAAA;AAAA,UACpC,UAAA;AAAA,UACA;AAAA,SACF;AACA,QAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,MAAM,CAAA;AAAA,eACpB,GAAK,EAAA;AACZ,QAAA;AAAA;AAAA,UAEE,GAAA,CAAI,IAAS,KAAA,OAAA,IACb,aAAiB,IAAA;AAAA,UACjB;AACA,UAAM,MAAA,IAAIC,kBAAW,wCAAwC,CAAA;AAAA;AAE/D,QAAM,MAAA,GAAA;AAAA;AACR,KACD,CAAA;AAAA;AAGH,EAAA,IAAI,YAAc,EAAA;AAChB,IAAApB,QAAA,CAAO,IAAK,CAAA,kBAAA,EAAoB,OAAO,GAAA,EAAK,GAAQ,KAAA;AAClD,MAAM,MAAA,UAAA,GAAamB,MAAE,MAAO,CAAA;AAAA,QAC1B,MAAA,EAAQA,MAAE,OAAQ,EAAA;AAAA,QAClB,QAAA,EAAUA,MAAE,MAAO;AAAA,OACpB,CAAA;AAED,MAAI,IAAA,IAAA;AACJ,MAAI,IAAA,MAAA;AACJ,MAAI,IAAA,QAAA;AACJ,MAAI,IAAA;AACF,QAAO,IAAA,GAAA,MAAMJ,wBAAoB,CAAA,GAAA,EAAK,UAAU,CAAA;AAChD,QAAS,MAAA,GAAAM,6BAAA,CAAuB,KAAK,MAAM,CAAA;AAC3C,QAAW,QAAA,GAAAC,6BAAA,CAAiB,KAAK,QAAQ,CAAA;AACzC,QAAA,IAAI,SAAS,IAAS,KAAA,KAAA;AACpB,UAAA,MAAM,IAAI,SAAA;AAAA,YACR,CAAA,qBAAA,EAAwB,KAAK,QAAQ,CAAA,8DAAA;AAAA,WACvC;AAAA,eACK,GAAK,EAAA;AACZ,QAAA,OAAO,GAAI,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,IAAK,CAAA;AAAA,UAC1B,MAAQ,EAAA,CAACC,qBAAe,CAAA,GAAG,CAAC;AAAA,SAC7B,CAAA;AAAA;AAGH,MAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,MAAA,MAAM,8BAA8B,IAAIC,uDAAA;AAAA,QACtC,YAAA;AAAA,QACA;AAAA,OACF;AACA,MAAM,MAAA,gBAAA,GAAmB,MAAM,2BAA4B,CAAA,OAAA;AAAA,QACzD;AAAA,UACE,MAAQ,EAAA;AAAA,YACN,GAAG,MAAA;AAAA,YACH,QAAU,EAAA;AAAA,cACR,GAAG,MAAO,CAAA,QAAA;AAAA,cACV,WAAa,EAAA;AAAA,gBACX,CAACC,gCAAmB,GAAG,IAAK,CAAA,QAAA;AAAA,gBAC5B,CAACC,uCAA0B,GAAG,IAAK,CAAA,QAAA;AAAA,gBACnC,GAAG,OAAO,QAAS,CAAA;AAAA;AACrB;AACF;AACF,SACF;AAAA,QACA;AAAA,OACF;AAEA,MAAA,IAAI,CAAC,gBAAiB,CAAA,EAAA;AACpB,QAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,IAAK,CAAA;AAAA,UACnB,QAAQ,gBAAiB,CAAA,MAAA,CAAO,IAAI,CAAK,CAAA,KAAAH,qBAAA,CAAe,CAAC,CAAC;AAAA,SAC3D,CAAA;AACH,MAAA,OAAO,GAAI,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,GAAI,EAAA;AAAA,KAC5B,CAAA;AAAA;AAGH,EAAOvB,QAAA,CAAA,GAAA,CAAI2B,4BAAc,CAAA;AACzB,EAAO,OAAA3B,QAAA;AACT;;;;"} +\ No newline at end of file ++{"version":3,"file":"createRouter.cjs.js","sources":["../../src/service/createRouter.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { errorHandler } from '@backstage/backend-common';\nimport {\n ANNOTATION_LOCATION,\n ANNOTATION_ORIGIN_LOCATION,\n Entity,\n parseLocationRef,\n stringifyEntityRef,\n} from '@backstage/catalog-model';\nimport { Config } from '@backstage/config';\nimport { InputError, serializeError } from '@backstage/errors';\nimport express from 'express';\nimport yn from 'yn';\nimport { z } from 'zod';\nimport { Cursor, EntitiesCatalog } from '../catalog/types';\nimport { CatalogProcessingOrchestrator } from '../processing/types';\nimport { validateEntityEnvelope } from '../processing/util';\nimport {\n basicEntityFilter,\n entitiesBatchRequest,\n parseEntityFilterParams,\n parseEntityTransformParams,\n parseQueryEntitiesParams,\n} from './request';\nimport { parseEntityFacetParams } from './request/parseEntityFacetParams';\nimport { parseEntityOrderParams } from './request/parseEntityOrderParams';\nimport { LocationService, RefreshService } from './types';\nimport {\n disallowReadonlyMode,\n encodeCursor,\n locationInput,\n validateRequestBody,\n} from './util';\nimport { createOpenApiRouter } from '../schema/openapi';\nimport { parseEntityPaginationParams } from './request/parseEntityPaginationParams';\nimport {\n AuthService,\n HttpAuthService,\n LoggerService,\n SchedulerService,\n PermissionsService,\n} from '@backstage/backend-plugin-api';\nimport { LocationAnalyzer } from '@backstage/plugin-catalog-node';\nimport { AuthorizedValidationService } from './AuthorizedValidationService';\nimport {\n createEntityArrayJsonStream,\n writeEntitiesResponse,\n writeSingleEntityResponse,\n} from './response';\n\nimport { DefaultAuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\n/**\n * Options used by {@link createRouter}.\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n entitiesCatalog?: EntitiesCatalog;\n locationAnalyzer?: LocationAnalyzer;\n locationService: LocationService;\n orchestrator?: CatalogProcessingOrchestrator;\n refreshService?: RefreshService;\n scheduler?: SchedulerService;\n logger: LoggerService;\n config: Config;\n permissionIntegrationRouter?: express.Router;\n auth: AuthService;\n httpAuth: HttpAuthService;\n permissionsService: PermissionsService;\n disableRelationsCompatibility?: boolean;\n}\n\n/**\n * Creates a catalog router.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = await createOpenApiRouter({\n validatorOptions: {\n // We want the spec to be up to date with the expected value, but the return type needs\n // to be controlled by the router implementation not the request validator.\n ignorePaths: /^\\/validate-entity\\/?$/,\n },\n });\n const {\n entitiesCatalog,\n locationAnalyzer,\n locationService,\n orchestrator,\n refreshService,\n config,\n logger,\n permissionIntegrationRouter,\n permissionsService,\n auth,\n httpAuth,\n disableRelationsCompatibility = false,\n } = options;\n\n const auditLogger = new DefaultAuditLogger({\n logger,\n authService: auth,\n httpAuthService: httpAuth,\n });\n const readonlyEnabled =\n config.getOptionalBoolean('catalog.readonly') || false;\n if (readonlyEnabled) {\n logger.info('Catalog is running in readonly mode');\n }\n\n if (refreshService) {\n // TODO: Potentially find a way to track the ancestor that gets refreshed to refresh this entity (as well as the child of that ancestor?)\n router.post('/refresh', async (req, res) => {\n const { authorizationToken, ...restBody } = req.body;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityRefresh',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n metadata: {\n entityRef: restBody.entityRef,\n },\n request: req,\n message: `Refresh attempt for ${restBody.entityRef} initiated by ${actorId}`,\n });\n\n const credentials = authorizationToken\n ? await auth.authenticate(authorizationToken)\n : await httpAuth.credentials(req);\n\n await refreshService.refresh({\n ...restBody,\n credentials,\n });\n await auditLogger.auditLog({\n eventName: 'CatalogEntityRefresh',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n metadata: {\n entityRef: restBody.entityRef,\n },\n response: {\n status: 200,\n },\n request: req,\n message: `Refresh attempt for ${restBody.entityRef} triggered by ${actorId}`,\n });\n res.status(200).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityRefresh',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n metadata: {\n entityRef: restBody.entityRef,\n },\n request: req,\n message: `Refresh attempt for ${restBody.entityRef} by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (permissionIntegrationRouter) {\n router.use(permissionIntegrationRouter);\n }\n\n if (entitiesCatalog) {\n router\n .get('/entities', async (req, res) => {\n const actorId = await auditLogger.getActorId(\n req as unknown as express.Request,\n );\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req as unknown as express.Request,\n message: `Entity fetch attempt initiated by ${actorId}`,\n });\n const filter = parseEntityFilterParams(req.query);\n const fields = parseEntityTransformParams(req.query);\n const order = parseEntityOrderParams(req.query);\n const pagination = parseEntityPaginationParams(req.query);\n const credentials = await httpAuth.credentials(req);\n\n // When pagination parameters are passed in, use the legacy slow path\n // that loads all entities into memory\n\n if (pagination || disableRelationsCompatibility !== true) {\n const { entities, pageInfo } = await entitiesCatalog.entities({\n filter,\n fields,\n order,\n pagination,\n credentials,\n });\n\n // Add a Link header to the next page\n if (pageInfo.hasNextPage) {\n const url = new URL(`http://ignored${req.url}`);\n url.searchParams.delete('offset');\n url.searchParams.set('after', pageInfo.endCursor);\n res.setHeader(\n 'link',\n `<${url.pathname}${url.search}>; rel=\"next\"`,\n );\n }\n\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req as unknown as express.Request,\n // Let's not log out the entities since this can make the log very big due to it not being paged?\n response: {\n status: 200,\n },\n message: `Entity fetch attempt by ${actorId} succeeded`,\n });\n\n await writeEntitiesResponse({\n res,\n items: entities,\n alwaysUseObjectMode: !disableRelationsCompatibility,\n });\n return;\n }\n\n const responseStream = createEntityArrayJsonStream(res);\n const limit = 10000;\n let cursor: Cursor | undefined;\n\n try {\n do {\n const result = await entitiesCatalog.queryEntities(\n !cursor\n ? {\n credentials,\n fields,\n limit,\n filter,\n orderFields: order,\n skipTotalItems: true,\n }\n : { credentials, fields, limit, cursor },\n );\n\n if (result.items.entities.length) {\n if (await responseStream.send(result.items)) {\n return; // Client closed connection\n }\n }\n\n cursor = result.pageInfo?.nextCursor;\n } while (cursor);\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req as unknown as express.Request,\n // Let's not log out the entities since this can make the log very big due to it not being paged?\n response: {\n status: 200,\n },\n message: `Entity fetch attempt by ${actorId} succeeded`,\n });\n responseStream.complete();\n } finally {\n responseStream.close();\n }\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetch',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req as unknown as express.Request,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Entity fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n })\n\n .get('/entities/by-query', async (req, res) => {\n const actorId = await auditLogger.getActorId(\n req as unknown as express.Request,\n );\n try {\n await auditLogger.auditLog({\n eventName: 'QueriedCatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req as unknown as express.Request,\n message: `Queried entity fetch attempt initiated by ${actorId}`,\n });\n const { items, pageInfo, totalItems } =\n await entitiesCatalog.queryEntities({\n limit: req.query.limit,\n offset: req.query.offset,\n ...parseQueryEntitiesParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n\n await auditLogger.auditLog({\n eventName: 'QueriedCatalogEntityFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req as unknown as express.Request,\n metadata: {\n totalEntities: totalItems,\n pageInfo: {\n ...(pageInfo.nextCursor && {\n nextCursor: encodeCursor(pageInfo.nextCursor),\n }),\n ...(pageInfo.prevCursor && {\n prevCursor: encodeCursor(pageInfo.prevCursor),\n }),\n },\n },\n // Let's not log out the entities since this can make the log very big\n response: {\n status: 200,\n },\n message: `Queried entity fetch attempt by ${actorId} succeeded`,\n });\n\n await writeEntitiesResponse({\n res,\n items,\n alwaysUseObjectMode: !disableRelationsCompatibility,\n responseWrapper: entities => ({\n items: entities,\n totalItems,\n pageInfo: {\n ...(pageInfo.nextCursor && {\n nextCursor: encodeCursor(pageInfo.nextCursor),\n }),\n ...(pageInfo.prevCursor && {\n prevCursor: encodeCursor(pageInfo.prevCursor),\n }),\n },\n }),\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'QueriedCatalogEntityFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req as unknown as express.Request,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Queried entity fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n const actorId = await auditLogger.getActorId(req);\n let entityRef: string | undefined | null;\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByUid',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n uid: uid,\n },\n message: `Fetch attempt for entity with uid ${uid} initiated by ${actorId}`,\n });\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({ 'metadata.uid': uid }),\n credentials: await httpAuth.credentials(req),\n });\n if (entities.entities.length) {\n entityRef =\n entities.type === 'object'\n ? stringifyEntityRef(entities.entities[0] as Entity)\n : entities.entities[0];\n }\n\n writeSingleEntityResponse(res, entities, `No entity with uid ${uid}`);\n\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByUid',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n uid: uid,\n entityRef: entityRef,\n },\n response: {\n status: 200,\n },\n message: `Fetch attempt for entity with uid ${uid} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByUid',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n metadata: {\n uid: uid,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt for entity with uid ${uid} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .delete('/entities/by-uid/:uid', async (req, res) => {\n const { uid } = req.params;\n const actorId = await auditLogger.getActorId(req);\n let entityRef: string | undefined | null;\n try {\n // Get the entityRef of the UID so users can more easily identity the entity\n const { entities } = await entitiesCatalog.entities({\n filter: basicEntityFilter({ 'metadata.uid': uid }),\n credentials: await httpAuth.credentials(req),\n });\n if (entities.entities.length) {\n entityRef =\n entities.type === 'object'\n ? stringifyEntityRef(entities.entities[0] as Entity)\n : entities.entities[0];\n }\n await auditLogger.auditLog({\n eventName: 'CatalogEntityDeletion',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n uid: uid,\n entityRef: entityRef,\n },\n message: `Deletion attempt for entity with uid ${uid} initiated by ${actorId}`,\n });\n await entitiesCatalog.removeEntityByUid(uid, {\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogEntityDeletion',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n uid: uid,\n entityRef: entityRef,\n },\n response: {\n status: 204,\n },\n message: `Deletion attempt for entity with uid ${uid} by ${actorId} succeeded`,\n });\n res.status(204).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityDeletion',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Deletion attempt for entity with uid ${uid} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entities/by-name/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const entityRef = stringifyEntityRef({ kind, namespace, name });\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByName',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n message: `Fetch attempt for entity with entityRef ${entityRef} initiated by ${actorId}`,\n });\n const { items } = await entitiesCatalog.entitiesBatch({\n entityRefs: [stringifyEntityRef({ kind, namespace, name })],\n credentials: await httpAuth.credentials(req),\n });\n\n writeSingleEntityResponse(\n res,\n items,\n `No entity named '${name}' found, with kind '${kind}' in namespace '${namespace}'`,\n );\n\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByName',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n response: {\n status: 200,\n },\n message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} succeeded`,\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFetchByName',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt for entity with entityRef ${entityRef} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get(\n '/entities/by-name/:kind/:namespace/:name/ancestry',\n async (req, res) => {\n const { kind, namespace, name } = req.params;\n const entityRef = stringifyEntityRef({ kind, namespace, name });\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityAncestryFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n message: `Fetch attempt for entity ancestor of entity ${entityRef} initiated by ${actorId}`,\n });\n const response = await entitiesCatalog.entityAncestry(entityRef, {\n credentials: await httpAuth.credentials(req),\n });\n\n await auditLogger.auditLog({\n eventName: 'CatalogEntityAncestryFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n rootEntityRef: response.rootEntityRef,\n ancestry: response.items.map(ancestryLink => {\n return {\n entityRef: stringifyEntityRef(ancestryLink.entity),\n parentEntityRefs: ancestryLink.parentEntityRefs,\n };\n }),\n },\n response: {\n status: 200,\n },\n message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} succeeded`,\n });\n\n res.status(200).json(response);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityAncestryFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n metadata: {\n entityRef: entityRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt for entity ancestor of entity ${entityRef} by ${actorId} failed`,\n });\n throw err;\n }\n },\n )\n .post('/entities/by-refs', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityBatchFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n message: `Batch entity fetch attempt initiated by ${actorId}`,\n });\n const request = entitiesBatchRequest(req);\n const { items } = await entitiesCatalog.entitiesBatch({\n entityRefs: request.entityRefs,\n filter: parseEntityFilterParams(req.query),\n fields: parseEntityTransformParams(req.query, request.fields),\n credentials: await httpAuth.credentials(req),\n });\n\n await auditLogger.auditLog({\n eventName: 'CatalogEntityBatchFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n metadata: {\n ...request,\n },\n response: {\n status: 200,\n },\n message: `Batch entity fetch attempt by ${actorId} succeeded`,\n });\n\n await writeEntitiesResponse({\n res,\n items,\n alwaysUseObjectMode: !disableRelationsCompatibility,\n responseWrapper: entities => ({\n items: entities,\n }),\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityBatchFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Batch entity fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/entity-facets', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFacetFetch',\n actorId,\n status: 'succeeded',\n stage: 'initiation',\n request: req,\n message: `Entity facet fetch attempt initiated by ${actorId}`,\n });\n const response = await entitiesCatalog.facets({\n filter: parseEntityFilterParams(req.query),\n facets: parseEntityFacetParams(req.query),\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFacetFetch',\n actorId,\n status: 'succeeded',\n stage: 'completion',\n request: req,\n response: { status: 200 },\n message: `Entity facet fetch attempt by ${actorId} succeeded`,\n });\n res.status(200).json(response);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityFacetFetch',\n actorId,\n status: 'failed',\n stage: 'completion',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Entity facet fetch attempt by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (locationService) {\n router\n .post('/locations', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n const actorId = await auditLogger.getActorId(req);\n const location = await validateRequestBody(req, locationInput);\n const dryRun = yn(req.query.dryRun, { default: false });\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationCreation',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n location: location,\n isDryRun: dryRun,\n },\n request: req,\n message: `Creation attempt of location entity for ${location.target} initiated by ${actorId}`,\n });\n\n // when in dryRun addLocation is effectively a read operation so we don't\n // need to disallow readonly\n if (!dryRun) {\n disallowReadonlyMode(readonlyEnabled);\n }\n\n const output = await locationService.createLocation(\n location,\n dryRun,\n {\n credentials,\n },\n );\n await auditLogger.auditLog({\n eventName: 'CatalogLocationCreation',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n location: output.location,\n isDryRun: dryRun,\n },\n request: req,\n response: {\n status: 201,\n },\n message: `Creation of location entity for ${location.target} initiated by ${actorId} succeeded`,\n });\n res.status(201).json(output);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationCreation',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n location: location,\n isDryRun: dryRun,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Creation of location entity for ${location.target} initiated by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/locations', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetch',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n request: req,\n message: `Fetch attempt of locations initiated by ${actorId}`,\n });\n const locations = await locationService.listLocations({\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetch',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n request: req,\n response: {\n status: 200,\n },\n message: `Fetch attempt of locations by ${actorId} succeeded`,\n });\n res.status(200).json(locations.map(l => ({ data: l })));\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetch',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Fetch attempt of locations by ${actorId} failed`,\n });\n throw err;\n }\n })\n\n .get('/locations/:id', async (req, res) => {\n const { id } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchById',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n id: id,\n },\n request: req,\n message: `Fetch attempt of location with id: ${id} initiated by ${actorId}`,\n });\n const output = await locationService.getLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchById',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n id: id,\n },\n response: {\n status: 200,\n body: output,\n },\n request: req,\n message: `Fetch attempt of location with id: ${id} by ${actorId} succeeded`,\n });\n res.status(200).json(output);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchById',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n id: id,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Fetch attempt of location with id: ${id} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .delete('/locations/:id', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n const { id } = req.params;\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationDeletion',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n id: id,\n },\n request: req,\n message: `Deletion attempt of location with id: ${id} initiated by ${actorId}`,\n });\n disallowReadonlyMode(readonlyEnabled);\n // Grabbing the information of the location begin deleted\n const location = await locationService.getLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n await locationService.deleteLocation(id, {\n credentials: await httpAuth.credentials(req),\n });\n await auditLogger.auditLog({\n eventName: 'CatalogLocationDeletion',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n location,\n },\n response: {\n status: 204,\n },\n request: req,\n message: `Deletion attempt of location with id: ${id} by ${actorId} succeeded`,\n });\n res.status(204).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationDeletion',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n id: id,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Deletion attempt of location with id: ${id} by ${actorId} failed`,\n });\n throw err;\n }\n })\n .get('/locations/by-entity/:kind/:namespace/:name', async (req, res) => {\n const { kind, namespace, name } = req.params;\n const actorId = await auditLogger.getActorId(req);\n const locationRef = `${kind}:${namespace}/${name}`;\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchByEntityRef',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n metadata: {\n locationRef: locationRef,\n },\n request: req,\n message: `Fetch attempt for location ${locationRef} initiated by ${actorId}`,\n });\n\n const output = await locationService.getLocationByEntity(\n { kind, namespace, name },\n { credentials: await httpAuth.credentials(req) },\n );\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchByEntityRef',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n metadata: {\n locationRef: locationRef,\n },\n response: {\n status: 200,\n body: output,\n },\n request: req,\n message: `Fetch attempt for location ${locationRef} by ${actorId} succeeded`,\n });\n res.status(200).json(output);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationFetchByEntityRef',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n metadata: {\n locationRef: locationRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Fetch attempt for location ${locationRef} by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (locationAnalyzer) {\n router.post('/analyze-location', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationAnalyze',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n request: req,\n message: `Analyze location for location initiated by ${actorId}`,\n });\n const body = await validateRequestBody(\n req,\n z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n }),\n );\n const schema = z.object({\n location: locationInput,\n catalogFilename: z.string().optional(),\n });\n const credentials = await httpAuth.credentials(req);\n const parsedBody = schema.parse(body);\n try {\n const output = await locationAnalyzer.analyzeLocation(\n parsedBody,\n credentials,\n );\n await auditLogger.auditLog({\n eventName: 'CatalogLocationAnalyze',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n request: req,\n response: {\n status: 200,\n body: output,\n },\n message: `Analyze location for location by ${actorId} succeeded`,\n });\n res.status(200).json(output);\n } catch (err) {\n if (\n // Catch errors from parse-url library.\n err.name === 'Error' &&\n 'subject_url' in err\n ) {\n throw new InputError('The given location.target is not a URL');\n }\n throw err;\n }\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogLocationAnalyze',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n actorId,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n request: req,\n message: `Analyze location for location by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n\n if (orchestrator) {\n router.post('/validate-entity', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n\n try {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'succeeded',\n stage: 'initiation',\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId}`,\n });\n const bodySchema = z.object({\n entity: z.unknown(),\n location: z.string(),\n });\n\n let body: z.infer;\n let entity: Entity;\n let location: { type: string; target: string };\n try {\n body = await validateRequestBody(req, bodySchema);\n entity = validateEntityEnvelope(body.entity);\n location = parseLocationRef(body.location);\n if (location.type !== 'url')\n throw new TypeError(\n `Invalid location ref ${body.location}, only 'url:' is supported, e.g. url:https://host/path`,\n );\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId} failed`,\n });\n return res.status(400).json({\n errors: [serializeError(err)],\n });\n }\n\n const credentials = await httpAuth.credentials(req);\n const authorizedValidationService = new AuthorizedValidationService(\n orchestrator,\n permissionsService,\n );\n\n const processingResult = await authorizedValidationService.process(\n {\n entity: {\n ...entity,\n metadata: {\n ...entity.metadata,\n annotations: {\n [ANNOTATION_LOCATION]: body.location,\n [ANNOTATION_ORIGIN_LOCATION]: body.location,\n ...entity.metadata.annotations,\n },\n },\n },\n },\n credentials,\n );\n\n if (!processingResult.ok) {\n const errors = processingResult.errors.map(e => serializeError(e));\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: errors,\n response: {\n status: 400,\n },\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId} failed`,\n });\n return res.status(400).json({\n errors,\n });\n }\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'succeeded',\n stage: 'completion',\n actorId,\n response: {\n status: 200,\n },\n request: req,\n message: `Entity validation for entity by ${actorId} succeeded`,\n });\n return res.status(200).end();\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'CatalogEntityValidate',\n status: 'failed',\n stage: 'completion',\n level: 'error',\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n actorId,\n request: req,\n message: `Entity validation for entity initiated by ${actorId} failed`,\n });\n throw err;\n }\n });\n }\n router.use(errorHandler());\n return router;\n}\n"],"names":["router","createOpenApiRouter","DefaultAuditLogger","parseEntityFilterParams","parseEntityTransformParams","parseEntityOrderParams","parseEntityPaginationParams","writeEntitiesResponse","createEntityArrayJsonStream","parseQueryEntitiesParams","encodeCursor","basicEntityFilter","stringifyEntityRef","writeSingleEntityResponse","entitiesBatchRequest","parseEntityFacetParams","validateRequestBody","locationInput","yn","disallowReadonlyMode","z","InputError","validateEntityEnvelope","parseLocationRef","serializeError","AuthorizedValidationService","ANNOTATION_LOCATION","ANNOTATION_ORIGIN_LOCATION","errors","errorHandler"],"mappings":"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"} +\ No newline at end of file diff --git a/.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch b/.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch deleted file mode 100644 index bd3bd966fc..0000000000 --- a/.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch +++ /dev/null @@ -1,1800 +0,0 @@ -diff --git a/dist/index.d.ts b/dist/index.d.ts -index ff0521a12ae6a15ebf1df629f5971dca68257dfa..dbcb8ad1d6de2958fed9a33d7a678c3473b9007d 100644 ---- a/dist/index.d.ts -+++ b/dist/index.d.ts -@@ -23,6 +23,7 @@ import * as _backstage_plugin_scaffolder_common from '@backstage/plugin-scaffold - import { TaskSpec, TaskRecovery, TemplateEntityStepV1beta3, TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common'; - import { Logger } from 'winston'; - import { WorkspaceProvider, AutocompleteHandler } from '@backstage/plugin-scaffolder-node/alpha'; -+import { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node'; - import { PermissionEvaluator, PermissionRuleParams } from '@backstage/plugin-permission-common'; - import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE, RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-common/alpha'; - import express from 'express'; -@@ -378,7 +379,7 @@ declare const createPublishGitlabMergeRequestAction: (options: { - sourcePath?: string | undefined; - targetPath?: string | undefined; - token?: string | undefined; -- commitAction?: "auto" | "update" | "delete" | "create" | "skip" | undefined; -+ commitAction?: "create" | "update" | "delete" | "skip" | "auto" | undefined; - projectid?: string | undefined; - removeSourceBranch?: boolean | undefined; - assignee?: string | undefined; -@@ -711,11 +712,13 @@ declare class TaskManager implements TaskContext$1 { - private readonly signal; - private readonly logger; - private readonly workspaceService; -+ private readonly auditLogger; - private readonly auth?; - private isDone; - private heartbeatTimeoutId?; -- static create(task: CurrentClaimedTask, storage: TaskStore, abortSignal: AbortSignal, logger: Logger, auth?: AuthService, config?: Config, additionalWorkspaceProviders?: Record): TaskManager; -+ static create(task: CurrentClaimedTask, storage: TaskStore, abortSignal: AbortSignal, logger: Logger, auditLogger: AuditLogger, auth?: AuthService, config?: Config, additionalWorkspaceProviders?: Record): TaskManager; - private constructor(); -+ get taskId(): string; - get spec(): _backstage_plugin_scaffolder_common.TaskSpecV1beta3; - get cancelSignal(): AbortSignal; - get secrets(): TaskSecrets$1 | undefined; -@@ -790,6 +793,7 @@ type CreateWorkerOptions = { - integrations: ScmIntegrations; - workingDirectory: string; - logger: Logger; -+ auditLogger: AuditLogger; - additionalTemplateFilters?: Record; - /** - * The number of tasks that can be executed at the same time by the worker -@@ -817,6 +821,7 @@ declare class TaskWorker { - private taskQueue; - private logger; - private stopWorkers; -+ private auditLogger; - private constructor(); - static create(options: CreateWorkerOptions): Promise; - recoverTasks(): Promise; -diff --git a/dist/scaffolder/dryrun/createDryRunner.cjs.js b/dist/scaffolder/dryrun/createDryRunner.cjs.js -index b62685bf4f732cfd5a59448e4806d0886f0f1871..95b283f30d842b47adeeb0f5e0de3635367bd128 100644 ---- a/dist/scaffolder/dryrun/createDryRunner.cjs.js -+++ b/dist/scaffolder/dryrun/createDryRunner.cjs.js -@@ -39,6 +39,7 @@ function createDryRunner(options) { - await pluginScaffolderNode.deserializeDirectoryContents(contentsPath, input.directoryContents); - const abortSignal = new AbortController().signal; - const result = await workflowRunner.execute({ -+ taskId: dryRunId, - spec: { - ...input.spec, - steps: [ -diff --git a/dist/scaffolder/dryrun/createDryRunner.cjs.js.map b/dist/scaffolder/dryrun/createDryRunner.cjs.js.map -index 961ae8d0ca5d4be82c4b52e109b6aa79d59a0467..6d02340804373b8c08d6f7198e8e71c016b1ac79 100644 ---- a/dist/scaffolder/dryrun/createDryRunner.cjs.js.map -+++ b/dist/scaffolder/dryrun/createDryRunner.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"createDryRunner.cjs.js","sources":["../../../src/scaffolder/dryrun/createDryRunner.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskSpec } from '@backstage/plugin-scaffolder-common';\nimport { JsonObject } from '@backstage/types';\nimport { v4 as uuid } from 'uuid';\nimport { pathToFileURL } from 'url';\nimport { Logger } from 'winston';\nimport {\n createTemplateAction,\n TaskSecrets,\n TemplateFilter,\n TemplateGlobal,\n deserializeDirectoryContents,\n SerializedFile,\n serializeDirectoryContents,\n} from '@backstage/plugin-scaffolder-node';\nimport { TemplateActionRegistry } from '../actions';\nimport { NunjucksWorkflowRunner } from '../tasks/NunjucksWorkflowRunner';\nimport { DecoratedActionsRegistry } from './DecoratedActionsRegistry';\nimport fs from 'fs-extra';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\nimport {\n BackstageCredentials,\n resolveSafeChildPath,\n} from '@backstage/backend-plugin-api';\nimport type { UserEntity } from '@backstage/catalog-model';\n\ninterface DryRunInput {\n spec: TaskSpec;\n secrets?: TaskSecrets;\n directoryContents: SerializedFile[];\n credentials: BackstageCredentials;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n}\n\ninterface DryRunResult {\n log: Array<{ body: JsonObject }>;\n directoryContents: SerializedFile[];\n output: JsonObject;\n}\n\n/** @internal */\nexport type TemplateTesterCreateOptions = {\n logger: Logger;\n integrations: ScmIntegrations;\n actionRegistry: TemplateActionRegistry;\n workingDirectory: string;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * Executes a dry-run of the provided template.\n *\n * The provided content will be extracted into a temporary directory\n * which is then use as the base for any relative file fetch paths.\n *\n * @internal\n */\nexport function createDryRunner(options: TemplateTesterCreateOptions) {\n return async function dryRun(input: DryRunInput): Promise {\n let contentPromise;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n ...options,\n actionRegistry: new DecoratedActionsRegistry(options.actionRegistry, [\n createTemplateAction({\n id: 'dry-run:extract',\n supportsDryRun: true,\n async handler(ctx) {\n contentPromise = serializeDirectoryContents(ctx.workspacePath);\n await contentPromise.catch(() => {});\n },\n }),\n ]),\n });\n\n const dryRunId = uuid();\n const log = new Array<{ body: JsonObject }>();\n const contentsPath = resolveSafeChildPath(\n options.workingDirectory,\n `dry-run-content-${dryRunId}`,\n );\n\n try {\n await deserializeDirectoryContents(contentsPath, input.directoryContents);\n\n const abortSignal = new AbortController().signal;\n\n const result = await workflowRunner.execute({\n spec: {\n ...input.spec,\n steps: [\n ...input.spec.steps,\n {\n id: dryRunId,\n name: 'dry-run:extract',\n action: 'dry-run:extract',\n },\n ],\n templateInfo: {\n entityRef: 'template:default/dry-run',\n baseUrl: pathToFileURL(\n resolveSafeChildPath(contentsPath, 'template.yaml'),\n ).toString(),\n },\n },\n secrets: input.secrets,\n getInitiatorCredentials: () => Promise.resolve(input.credentials),\n // No need to update this at the end of the run, so just hard-code it\n done: false,\n isDryRun: true,\n getWorkspaceName: async () => `dry-run-${dryRunId}`,\n cancelSignal: abortSignal,\n async emitLog(message: string, logMetadata?: JsonObject) {\n if (logMetadata?.stepId === dryRunId) {\n return;\n }\n log.push({\n body: {\n ...logMetadata,\n message,\n },\n });\n },\n complete: async () => {\n throw new Error('Not implemented');\n },\n });\n\n if (!contentPromise) {\n throw new Error('Content extraction step was skipped');\n }\n const directoryContents = await contentPromise;\n\n return {\n log,\n directoryContents,\n output: result.output,\n };\n } finally {\n await fs.remove(contentsPath);\n }\n };\n}\n"],"names":["NunjucksWorkflowRunner","DecoratedActionsRegistry","createTemplateAction","serializeDirectoryContents","uuid","resolveSafeChildPath","deserializeDirectoryContents","pathToFileURL","fs"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"createDryRunner.cjs.js","sources":["../../../src/scaffolder/dryrun/createDryRunner.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskSpec } from '@backstage/plugin-scaffolder-common';\nimport { JsonObject } from '@backstage/types';\nimport { v4 as uuid } from 'uuid';\nimport { pathToFileURL } from 'url';\nimport { Logger } from 'winston';\nimport {\n createTemplateAction,\n TaskSecrets,\n TemplateFilter,\n TemplateGlobal,\n deserializeDirectoryContents,\n SerializedFile,\n serializeDirectoryContents,\n} from '@backstage/plugin-scaffolder-node';\nimport { TemplateActionRegistry } from '../actions';\nimport { NunjucksWorkflowRunner } from '../tasks/NunjucksWorkflowRunner';\nimport { DecoratedActionsRegistry } from './DecoratedActionsRegistry';\nimport fs from 'fs-extra';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\nimport {\n BackstageCredentials,\n resolveSafeChildPath,\n} from '@backstage/backend-plugin-api';\nimport type { UserEntity } from '@backstage/catalog-model';\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\ninterface DryRunInput {\n spec: TaskSpec;\n secrets?: TaskSecrets;\n directoryContents: SerializedFile[];\n credentials: BackstageCredentials;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n}\n\ninterface DryRunResult {\n log: Array<{ body: JsonObject }>;\n directoryContents: SerializedFile[];\n output: JsonObject;\n}\n\n/** @internal */\nexport type TemplateTesterCreateOptions = {\n logger: Logger;\n auditLogger: AuditLogger;\n integrations: ScmIntegrations;\n actionRegistry: TemplateActionRegistry;\n workingDirectory: string;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * Executes a dry-run of the provided template.\n *\n * The provided content will be extracted into a temporary directory\n * which is then use as the base for any relative file fetch paths.\n *\n * @internal\n */\nexport function createDryRunner(options: TemplateTesterCreateOptions) {\n return async function dryRun(input: DryRunInput): Promise {\n let contentPromise;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n ...options,\n actionRegistry: new DecoratedActionsRegistry(options.actionRegistry, [\n createTemplateAction({\n id: 'dry-run:extract',\n supportsDryRun: true,\n async handler(ctx) {\n contentPromise = serializeDirectoryContents(ctx.workspacePath);\n await contentPromise.catch(() => {});\n },\n }),\n ]),\n });\n\n const dryRunId = uuid();\n const log = new Array<{ body: JsonObject }>();\n const contentsPath = resolveSafeChildPath(\n options.workingDirectory,\n `dry-run-content-${dryRunId}`,\n );\n\n try {\n await deserializeDirectoryContents(contentsPath, input.directoryContents);\n\n const abortSignal = new AbortController().signal;\n\n const result = await workflowRunner.execute({\n taskId: dryRunId,\n spec: {\n ...input.spec,\n steps: [\n ...input.spec.steps,\n {\n id: dryRunId,\n name: 'dry-run:extract',\n action: 'dry-run:extract',\n },\n ],\n templateInfo: {\n entityRef: 'template:default/dry-run',\n baseUrl: pathToFileURL(\n resolveSafeChildPath(contentsPath, 'template.yaml'),\n ).toString(),\n },\n },\n secrets: input.secrets,\n getInitiatorCredentials: () => Promise.resolve(input.credentials),\n // No need to update this at the end of the run, so just hard-code it\n done: false,\n isDryRun: true,\n getWorkspaceName: async () => `dry-run-${dryRunId}`,\n cancelSignal: abortSignal,\n async emitLog(message: string, logMetadata?: JsonObject) {\n if (logMetadata?.stepId === dryRunId) {\n return;\n }\n log.push({\n body: {\n ...logMetadata,\n message,\n },\n });\n },\n complete: async () => {\n throw new Error('Not implemented');\n },\n });\n\n if (!contentPromise) {\n throw new Error('Content extraction step was skipped');\n }\n const directoryContents = await contentPromise;\n\n return {\n log,\n directoryContents,\n output: result.output,\n };\n } finally {\n await fs.remove(contentsPath);\n }\n };\n}\n"],"names":["NunjucksWorkflowRunner","DecoratedActionsRegistry","createTemplateAction","serializeDirectoryContents","uuid","resolveSafeChildPath","deserializeDirectoryContents","pathToFileURL","fs"],"mappings":"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"} -\ No newline at end of file -diff --git a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js -index eed6830ca6e3f3dd18cd0bad3dcaf1b3f36bd1ac..0b3eca651b23f6de6384412d62d57c4929fb0166 100644 ---- a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js -+++ b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js -@@ -79,9 +79,10 @@ class NunjucksWorkflowRunner { - this.defaultTemplateFilters = filters.createDefaultFilters({ - integrations: this.options.integrations - }); -+ this.tracker = scaffoldingTracker(this.options.auditLogger); - } - defaultTemplateFilters; -- tracker = scaffoldingTracker(); -+ tracker; - isSingleTemplateString(input) { - const { parser, nodes } = nunjucks__default.default; - const parsed = parser.parse( -@@ -133,34 +134,63 @@ class NunjucksWorkflowRunner { - async executeStep(task, step, context, renderTemplate, taskTrack, workspacePath, decision) { - const stepTrack = await this.tracker.stepStart(task, step); - if (task.cancelSignal.aborted) { -- throw new Error(`Step ${step.name} has been cancelled.`); -+ throw new Error( -+ `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.` -+ ); - } - try { -- if (step.if === false || typeof step.if === "string" && !helper.isTruthy(this.render(step.if, context, renderTemplate))) { -- await stepTrack.skipFalsy(); -- return; -- } - const action = this.options.actionRegistry.get(step.action); - const { taskLogger, streamLogger } = createStepLogger({ - task, - step, - rootLogger: this.options.logger - }); -+ const redactedSecrets = Object.fromEntries( -+ Object.entries(task.secrets ?? {}).map((secret) => [secret[0], "***"]) -+ ); -+ const stepInputs = (step.input && this.render( -+ step.input, -+ { -+ ...context, -+ secrets: redactedSecrets -+ }, -+ renderTemplate -+ )) ?? {}; -+ const commonStepAuditMetadata = { -+ templateRef: task.spec.templateInfo?.entityRef || "", -+ taskId: task.taskId, -+ stepId: step.id, -+ stepName: step.name, -+ stepAction: step.action, -+ stepInputs, -+ stepConditional: step.if, -+ stepEach: step.each, -+ isDryRun: task.isDryRun || false -+ }; -+ if (step.if === false || typeof step.if === "string" && !helper.isTruthy(this.render(step.if, context, renderTemplate))) { -+ await stepTrack.skipFalsy(); -+ await this.options.auditLogger.auditLog({ -+ eventName: "ScaffolderTaskStepSkip", -+ actorId: "scaffolder-backend", -+ stage: "completion", -+ status: "succeeded", -+ metadata: commonStepAuditMetadata, -+ message: `Skipped step ${step.name} (id: ${step.id}) of task ${task.taskId}` -+ }); -+ return; -+ } -+ await this.options.auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderTaskStepExecution", -+ stage: "initiation", -+ status: "succeeded", -+ metadata: commonStepAuditMetadata, -+ message: `Started ${step.name} (id: ${step.id}) of task ${task.taskId} triggering the ${step.action} action` -+ }); - if (task.isDryRun) { -- const redactedSecrets = Object.fromEntries( -- Object.entries(task.secrets ?? {}).map((secret) => [secret[0], "***"]) -- ); -- const debugInput = (step.input && this.render( -- step.input, -- { -- ...context, -- secrets: redactedSecrets -- }, -- renderTemplate -- )) ?? {}; - taskLogger.info( - `Running ${action.id} in dry-run mode with inputs (secrets redacted): ${JSON.stringify( -- debugInput, -+ stepInputs, - void 0, - 2 - )}` -@@ -221,6 +251,7 @@ class NunjucksWorkflowRunner { - const tmpDirs = new Array(); - const stepOutput = {}; - const prevTaskState = await task.getTaskState?.(); -+ let iterationCount = 0; - for (const iteration of iterations) { - if (iteration.each) { - taskLogger.info( -@@ -230,6 +261,22 @@ class NunjucksWorkflowRunner { - 0 - )}` - ); -+ await this.options.auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderTaskStepIteration", -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ ...commonStepAuditMetadata, -+ stepInputs: void 0, -+ stepAction: `${step.action}[${iteration.each.key}]`, -+ stepIterationInputs: iteration.input, -+ stepIterationCount: ++iterationCount, -+ stepIterationValue: iteration.each.value, -+ totalIterations: iterations.length -+ }, -+ message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} started` -+ }); - } - await action.handler({ - input: iteration.input, -@@ -289,18 +336,38 @@ class NunjucksWorkflowRunner { - signal: task.cancelSignal, - getInitiatorCredentials: () => task.getInitiatorCredentials() - }); -+ if (iteration.each) { -+ await this.options.auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderTaskStepIteration", -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ ...commonStepAuditMetadata, -+ stepInputs: void 0, -+ stepAction: `${step.action}[${iteration.each.key}]`, -+ stepIterationCount: iterationCount, -+ stepIterationValue: iteration.each.value, -+ stepIterationInputs: iteration.input, -+ totalIterations: iterations.length -+ }, -+ message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded` -+ }); -+ } - } - for (const tmpDir of tmpDirs) { - await fs__default.default.remove(tmpDir); - } - context.steps[step.id] = { output: stepOutput }; - if (task.cancelSignal.aborted) { -- throw new Error(`Step ${step.name} has been cancelled.`); -+ throw new Error( -+ `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.` -+ ); - } - await stepTrack.markSuccessful(); - } catch (err) { - await taskTrack.markFailed(step, err); -- await stepTrack.markFailed(); -+ await stepTrack.markFailed(err); - throw err; - } finally { - await task.serializeWorkspace?.({ path: workspacePath }); -@@ -357,7 +424,7 @@ class NunjucksWorkflowRunner { - } - } - } --function scaffoldingTracker() { -+function scaffoldingTracker(auditLogger) { - const promTaskCount = metrics.createCounterMetric({ - name: "scaffolder_task_count", - help: "Count of task runs", -@@ -492,6 +559,21 @@ function scaffoldingTracker() { - stepDuration.record(endTime(), { - result: "ok" - }); -+ await auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderTaskStepExecution", -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ templateRef: template, -+ taskId: task.taskId, -+ stepId: step.id, -+ stepName: step.name, -+ stepAction: step.action, -+ isDryRun: task.isDryRun || false -+ }, -+ message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded` -+ }); - } - async function markCancelled() { - promtStepCount.inc({ -@@ -505,7 +587,7 @@ function scaffoldingTracker() { - result: "cancelled" - }); - } -- async function markFailed() { -+ async function markFailed(err) { - promtStepCount.inc({ - template, - step: step.name, -@@ -516,6 +598,29 @@ function scaffoldingTracker() { - stepDuration.record(endTime(), { - result: "failed" - }); -+ await auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderTaskStepExecution", -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ templateRef: template, -+ taskId: task.taskId, -+ stepId: step.id, -+ stepName: step.name, -+ stepAction: step.action, -+ isDryRun: task.isDryRun || false -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} failed` -+ }); - } - async function skipFalsy() { - await task.emitLog( -diff --git a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map -index 427b1b440f43e0f5773f93dc44358838162b34f0..ba4def6722d29e51ad274a03a8725fb53f22f33b 100644 ---- a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map -+++ b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"NunjucksWorkflowRunner.cjs.js","sources":["../../../src/scaffolder/tasks/NunjucksWorkflowRunner.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskTrackType, WorkflowResponse, WorkflowRunner } from './types';\nimport * as winston from 'winston';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport nunjucks from 'nunjucks';\nimport { JsonArray, JsonObject, JsonValue } from '@backstage/types';\nimport { InputError, NotAllowedError, stringifyError } from '@backstage/errors';\nimport { PassThrough } from 'stream';\nimport { generateExampleOutput, isTruthy } from './helper';\nimport { validate as validateJsonSchema } from 'jsonschema';\nimport { TemplateActionRegistry } from '../actions';\nimport { metrics } from '@opentelemetry/api';\nimport {\n SecureTemplater,\n SecureTemplateRenderer,\n} from '../../lib/templating/SecureTemplater';\nimport {\n TaskRecovery,\n TaskSpec,\n TaskSpecV1beta3,\n TaskStep,\n} from '@backstage/plugin-scaffolder-common';\n\nimport {\n TemplateAction,\n TemplateFilter,\n TemplateGlobal,\n TaskContext,\n} from '@backstage/plugin-scaffolder-node';\nimport { createConditionAuthorizer } from '@backstage/plugin-permission-node';\nimport { UserEntity } from '@backstage/catalog-model';\nimport { createCounterMetric, createHistogramMetric } from '../../util/metrics';\nimport { createDefaultFilters } from '../../lib/templating/filters';\nimport {\n AuthorizeResult,\n PolicyDecision,\n} from '@backstage/plugin-permission-common';\nimport { scaffolderActionRules } from '../../service/rules';\nimport { actionExecutePermission } from '@backstage/plugin-scaffolder-common/alpha';\nimport { PermissionsService } from '@backstage/backend-plugin-api';\nimport { loggerToWinstonLogger } from '@backstage/backend-common';\nimport { BackstageLoggerTransport, WinstonLogger } from './logger';\n\ntype NunjucksWorkflowRunnerOptions = {\n workingDirectory: string;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n logger: winston.Logger;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionsService;\n};\n\ntype TemplateContext = {\n parameters: JsonObject;\n EXPERIMENTAL_recovery?: TaskRecovery;\n steps: {\n [stepName: string]: { output: { [outputName: string]: JsonValue } };\n };\n secrets?: Record;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n each?: JsonValue;\n};\n\ntype CheckpointState =\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n\nconst isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => {\n return taskSpec.apiVersion === 'scaffolder.backstage.io/v1beta3';\n};\n\nconst createStepLogger = ({\n task,\n step,\n rootLogger,\n}: {\n task: TaskContext;\n step: TaskStep;\n rootLogger: winston.Logger;\n}) => {\n const taskLogger = WinstonLogger.create({\n level: process.env.LOG_LEVEL || 'info',\n format: winston.format.combine(\n winston.format.colorize(),\n winston.format.simple(),\n ),\n transports: [new BackstageLoggerTransport(rootLogger, task, step.id)],\n });\n\n taskLogger.addRedactions(Object.values(task.secrets ?? {}));\n\n // This stream logger should be deprecated. We're going to replace it with\n // just using the logger directly, as all those logs get written to step logs\n // using the stepLogStream above.\n // Initially this stream used to be the only way to write to the client logs, but that\n // has changed over time, there's not really a need for this anymore.\n // You can just create a simple wrapper like the below in your action to write to the main logger.\n // This way we also get recactions for free.\n const streamLogger = new PassThrough();\n streamLogger.on('data', async data => {\n const message = data.toString().trim();\n if (message?.length > 1) {\n taskLogger.info(message);\n }\n });\n\n return { taskLogger, streamLogger };\n};\n\nconst isActionAuthorized = createConditionAuthorizer(\n Object.values(scaffolderActionRules),\n);\n\nexport class NunjucksWorkflowRunner implements WorkflowRunner {\n private readonly defaultTemplateFilters: Record;\n\n constructor(private readonly options: NunjucksWorkflowRunnerOptions) {\n this.defaultTemplateFilters = createDefaultFilters({\n integrations: this.options.integrations,\n });\n }\n\n private readonly tracker = scaffoldingTracker();\n\n private isSingleTemplateString(input: string) {\n const { parser, nodes } = nunjucks as unknown as {\n parser: {\n parse(\n template: string,\n ctx: object,\n options: nunjucks.ConfigureOptions,\n ): { children: { children?: unknown[] }[] };\n };\n nodes: { TemplateData: Function };\n };\n\n const parsed = parser.parse(\n input,\n {},\n {\n autoescape: false,\n tags: {\n variableStart: '${{',\n variableEnd: '}}',\n },\n },\n );\n\n return (\n parsed.children.length === 1 &&\n !(parsed.children[0]?.children?.[0] instanceof nodes.TemplateData)\n );\n }\n\n private render(\n input: T,\n context: TemplateContext,\n renderTemplate: SecureTemplateRenderer,\n ): T {\n return JSON.parse(JSON.stringify(input), (_key, value) => {\n try {\n if (typeof value === 'string') {\n try {\n if (this.isSingleTemplateString(value)) {\n // Lets convert ${{ parameters.bob }} to ${{ (parameters.bob) | dump }} so we can keep the input type\n const wrappedDumped = value.replace(\n /\\${{(.+)}}/g,\n '${{ ( $1 ) | dump }}',\n );\n\n // Run the templating\n const templated = renderTemplate(wrappedDumped, context);\n\n // If there's an empty string returned, then it's undefined\n if (templated === '') {\n return undefined;\n }\n\n // Reparse the dumped string\n return JSON.parse(templated);\n }\n } catch (ex) {\n this.options.logger.error(\n `Failed to parse template string: ${value} with error ${ex.message}`,\n );\n }\n\n // Fallback to default behaviour\n const templated = renderTemplate(value, context);\n\n if (templated === '') {\n return undefined;\n }\n\n return templated;\n }\n } catch {\n return value;\n }\n return value;\n });\n }\n\n async executeStep(\n task: TaskContext,\n step: TaskStep,\n context: TemplateContext,\n renderTemplate: (template: string, values: unknown) => string,\n taskTrack: TaskTrackType,\n workspacePath: string,\n decision: PolicyDecision,\n ) {\n const stepTrack = await this.tracker.stepStart(task, step);\n\n if (task.cancelSignal.aborted) {\n throw new Error(`Step ${step.name} has been cancelled.`);\n }\n\n try {\n if (\n step.if === false ||\n (typeof step.if === 'string' &&\n !isTruthy(this.render(step.if, context, renderTemplate)))\n ) {\n await stepTrack.skipFalsy();\n return;\n }\n const action: TemplateAction =\n this.options.actionRegistry.get(step.action);\n const { taskLogger, streamLogger } = createStepLogger({\n task,\n step,\n rootLogger: this.options.logger,\n });\n\n if (task.isDryRun) {\n const redactedSecrets = Object.fromEntries(\n Object.entries(task.secrets ?? {}).map(secret => [secret[0], '***']),\n );\n const debugInput =\n (step.input &&\n this.render(\n step.input,\n {\n ...context,\n secrets: redactedSecrets,\n },\n renderTemplate,\n )) ??\n {};\n taskLogger.info(\n `Running ${\n action.id\n } in dry-run mode with inputs (secrets redacted): ${JSON.stringify(\n debugInput,\n undefined,\n 2,\n )}`,\n );\n if (!action.supportsDryRun) {\n await taskTrack.skipDryRun(step, action);\n const outputSchema = action.schema?.output;\n if (outputSchema) {\n context.steps[step.id] = {\n output: generateExampleOutput(outputSchema) as {\n [name in string]: JsonValue;\n },\n };\n } else {\n context.steps[step.id] = { output: {} };\n }\n return;\n }\n }\n const iterations = (\n step.each\n ? Object.entries(this.render(step.each, context, renderTemplate)).map(\n ([key, value]) => ({\n each: { key, value },\n }),\n )\n : [{}]\n ).map(i => ({\n ...i,\n // Secrets are only passed when templating the input to actions for security reasons\n input: step.input\n ? this.render(\n step.input,\n { ...context, secrets: task.secrets ?? {}, ...i },\n renderTemplate,\n )\n : {},\n }));\n for (const iteration of iterations) {\n const actionId = `${action.id}${\n iteration.each ? `[${iteration.each.key}]` : ''\n }`;\n\n if (action.schema?.input) {\n const validateResult = validateJsonSchema(\n iteration.input,\n action.schema.input,\n );\n if (!validateResult.valid) {\n const errors = validateResult.errors.join(', ');\n throw new InputError(\n `Invalid input passed to action ${actionId}, ${errors}`,\n );\n }\n }\n if (\n !isActionAuthorized(decision, {\n action: action.id,\n input: iteration.input,\n })\n ) {\n throw new NotAllowedError(\n `Unauthorized action: ${actionId}. The action is not allowed. Input: ${JSON.stringify(\n iteration.input,\n null,\n 2,\n )}`,\n );\n }\n }\n const tmpDirs = new Array();\n const stepOutput: { [outputName: string]: JsonValue } = {};\n const prevTaskState = await task.getTaskState?.();\n\n for (const iteration of iterations) {\n if (iteration.each) {\n taskLogger.info(\n `Running step each: ${JSON.stringify(\n iteration.each,\n (k, v) => (k ? v.toString() : v),\n 0,\n )}`,\n );\n }\n await action.handler({\n input: iteration.input,\n secrets: task.secrets ?? {},\n // TODO(blam): move to LoggerService and away from Winston\n logger: loggerToWinstonLogger(taskLogger),\n logStream: streamLogger,\n workspacePath,\n async checkpoint(\n keySuffix: string,\n fn: () => Promise,\n ) {\n const key = `v1.task.checkpoint.${step.id}.${keySuffix}`;\n try {\n let prevValue: U | undefined;\n if (prevTaskState) {\n const prevState = (\n prevTaskState.state?.checkpoints as {\n [key: string]: CheckpointState;\n }\n )?.[key];\n if (prevState && prevState.status === 'success') {\n prevValue = prevState.value as U;\n }\n }\n\n const value = prevValue ? prevValue : await fn();\n\n if (!prevValue) {\n task.updateCheckpoint?.({\n key,\n status: 'success',\n value,\n });\n }\n return value;\n } catch (err) {\n task.updateCheckpoint?.({\n key,\n status: 'failed',\n reason: stringifyError(err),\n });\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n },\n createTemporaryDirectory: async () => {\n const tmpDir = await fs.mkdtemp(\n `${workspacePath}_step-${step.id}-`,\n );\n tmpDirs.push(tmpDir);\n return tmpDir;\n },\n output(name: string, value: JsonValue) {\n if (step.each) {\n stepOutput[name] = stepOutput[name] || [];\n (stepOutput[name] as JsonArray).push(value);\n } else {\n stepOutput[name] = value;\n }\n },\n templateInfo: task.spec.templateInfo,\n user: task.spec.user,\n isDryRun: task.isDryRun,\n signal: task.cancelSignal,\n getInitiatorCredentials: () => task.getInitiatorCredentials(),\n });\n }\n\n // Remove all temporary directories that were created when executing the action\n for (const tmpDir of tmpDirs) {\n await fs.remove(tmpDir);\n }\n\n context.steps[step.id] = { output: stepOutput };\n\n if (task.cancelSignal.aborted) {\n throw new Error(`Step ${step.name} has been cancelled.`);\n }\n\n await stepTrack.markSuccessful();\n } catch (err) {\n await taskTrack.markFailed(step, err);\n await stepTrack.markFailed();\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n }\n\n async execute(task: TaskContext): Promise {\n if (!isValidTaskSpec(task.spec)) {\n throw new InputError(\n 'Wrong template version executed with the workflow engine',\n );\n }\n const taskId = await task.getWorkspaceName();\n\n const workspacePath = path.join(this.options.workingDirectory, taskId);\n\n const { additionalTemplateFilters, additionalTemplateGlobals } =\n this.options;\n\n const renderTemplate = await SecureTemplater.loadRenderer({\n templateFilters: {\n ...this.defaultTemplateFilters,\n ...additionalTemplateFilters,\n },\n templateGlobals: additionalTemplateGlobals,\n });\n\n try {\n await task.rehydrateWorkspace?.({ taskId, targetPath: workspacePath });\n\n const taskTrack = await this.tracker.taskStart(task);\n await fs.ensureDir(workspacePath);\n\n const context: TemplateContext = {\n parameters: task.spec.parameters,\n steps: {},\n user: task.spec.user,\n };\n\n const [decision]: PolicyDecision[] =\n this.options.permissions && task.spec.steps.length\n ? await this.options.permissions.authorizeConditional(\n [{ permission: actionExecutePermission }],\n { credentials: await task.getInitiatorCredentials() },\n )\n : [{ result: AuthorizeResult.ALLOW }];\n\n for (const step of task.spec.steps) {\n await this.executeStep(\n task,\n step,\n context,\n renderTemplate,\n taskTrack,\n workspacePath,\n decision,\n );\n }\n\n const output = this.render(task.spec.output, context, renderTemplate);\n await taskTrack.markSuccessful();\n await task.cleanWorkspace?.();\n\n return { output };\n } finally {\n if (workspacePath) {\n await fs.remove(workspacePath);\n }\n }\n }\n}\n\nfunction scaffoldingTracker() {\n // prom-client metrics are deprecated in favour of OpenTelemetry metrics.\n const promTaskCount = createCounterMetric({\n name: 'scaffolder_task_count',\n help: 'Count of task runs',\n labelNames: ['template', 'user', 'result'],\n });\n const promTaskDuration = createHistogramMetric({\n name: 'scaffolder_task_duration',\n help: 'Duration of a task run',\n labelNames: ['template', 'result'],\n });\n const promtStepCount = createCounterMetric({\n name: 'scaffolder_step_count',\n help: 'Count of step runs',\n labelNames: ['template', 'step', 'result'],\n });\n const promStepDuration = createHistogramMetric({\n name: 'scaffolder_step_duration',\n help: 'Duration of a step runs',\n labelNames: ['template', 'step', 'result'],\n });\n\n const meter = metrics.getMeter('default');\n const taskCount = meter.createCounter('scaffolder.task.count', {\n description: 'Count of task runs',\n });\n\n const taskDuration = meter.createHistogram('scaffolder.task.duration', {\n description: 'Duration of a task run',\n unit: 'seconds',\n });\n\n const stepCount = meter.createCounter('scaffolder.step.count', {\n description: 'Count of step runs',\n });\n\n const stepDuration = meter.createHistogram('scaffolder.step.duration', {\n description: 'Duration of a step runs',\n unit: 'seconds',\n });\n\n async function taskStart(task: TaskContext) {\n await task.emitLog(`Starting up task with ${task.spec.steps.length} steps`);\n const template = task.spec.templateInfo?.entityRef || '';\n const user = task.spec.user?.ref || '';\n\n const startTime = process.hrtime();\n const taskTimer = promTaskDuration.startTimer({\n template,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function skipDryRun(\n step: TaskStep,\n action: TemplateAction,\n ) {\n task.emitLog(`Skipping because ${action.id} does not support dry-run`, {\n stepId: step.id,\n status: 'skipped',\n });\n }\n\n async function markSuccessful() {\n promTaskCount.inc({\n template,\n user,\n result: 'ok',\n });\n taskTimer({ result: 'ok' });\n\n taskCount.add(1, { template, user, result: 'ok' });\n taskDuration.record(endTime(), {\n result: 'ok',\n });\n }\n\n async function markFailed(step: TaskStep, err: Error) {\n await task.emitLog(String(err.stack), {\n stepId: step.id,\n status: 'failed',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'failed',\n });\n taskTimer({ result: 'failed' });\n\n taskCount.add(1, { template, user, result: 'failed' });\n taskDuration.record(endTime(), {\n result: 'failed',\n });\n }\n\n async function markCancelled(step: TaskStep) {\n await task.emitLog(`Step ${step.id} has been cancelled.`, {\n stepId: step.id,\n status: 'cancelled',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'cancelled',\n });\n taskTimer({ result: 'cancelled' });\n\n taskCount.add(1, { template, user, result: 'cancelled' });\n taskDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n return {\n skipDryRun,\n markCancelled,\n markSuccessful,\n markFailed,\n };\n }\n\n async function stepStart(task: TaskContext, step: TaskStep) {\n await task.emitLog(`Beginning step ${step.name}`, {\n stepId: step.id,\n status: 'processing',\n });\n const template = task.spec.templateInfo?.entityRef || '';\n\n const startTime = process.hrtime();\n const stepTimer = promStepDuration.startTimer({\n template,\n step: step.name,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function markSuccessful() {\n await task.emitLog(`Finished step ${step.name}`, {\n stepId: step.id,\n status: 'completed',\n });\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'ok',\n });\n stepTimer({ result: 'ok' });\n\n stepCount.add(1, { template, step: step.name, result: 'ok' });\n stepDuration.record(endTime(), {\n result: 'ok',\n });\n }\n\n async function markCancelled() {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'cancelled',\n });\n stepTimer({ result: 'cancelled' });\n\n stepCount.add(1, { template, step: step.name, result: 'cancelled' });\n stepDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n async function markFailed() {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'failed',\n });\n stepTimer({ result: 'failed' });\n\n stepCount.add(1, { template, step: step.name, result: 'failed' });\n stepDuration.record(endTime(), {\n result: 'failed',\n });\n }\n\n async function skipFalsy() {\n await task.emitLog(\n `Skipping step ${step.id} because its if condition was false`,\n { stepId: step.id, status: 'skipped' },\n );\n stepTimer({ result: 'skipped' });\n\n stepCount.add(1, { template, step: step.name, result: 'skipped' });\n stepDuration.record(endTime(), {\n result: 'skipped',\n });\n }\n\n return {\n markCancelled,\n markFailed,\n markSuccessful,\n skipFalsy,\n };\n }\n\n return {\n taskStart,\n stepStart,\n };\n}\n"],"names":["WinstonLogger","winston","BackstageLoggerTransport","PassThrough","createConditionAuthorizer","scaffolderActionRules","createDefaultFilters","nunjucks","templated","isTruthy","generateExampleOutput","validateJsonSchema","errors","InputError","NotAllowedError","loggerToWinstonLogger","stringifyError","fs","path","SecureTemplater","actionExecutePermission","AuthorizeResult","createCounterMetric","createHistogramMetric","metrics"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"NunjucksWorkflowRunner.cjs.js","sources":["../../../src/scaffolder/tasks/NunjucksWorkflowRunner.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskTrackType, WorkflowResponse, WorkflowRunner } from './types';\nimport * as winston from 'winston';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport nunjucks from 'nunjucks';\nimport { JsonArray, JsonObject, JsonValue } from '@backstage/types';\nimport { InputError, NotAllowedError, stringifyError } from '@backstage/errors';\nimport { PassThrough } from 'stream';\nimport { generateExampleOutput, isTruthy } from './helper';\nimport { validate as validateJsonSchema } from 'jsonschema';\nimport { TemplateActionRegistry } from '../actions';\nimport { metrics } from '@opentelemetry/api';\nimport {\n SecureTemplater,\n SecureTemplateRenderer,\n} from '../../lib/templating/SecureTemplater';\nimport {\n TaskRecovery,\n TaskSpec,\n TaskSpecV1beta3,\n TaskStep,\n} from '@backstage/plugin-scaffolder-common';\n\nimport {\n TemplateAction,\n TemplateFilter,\n TemplateGlobal,\n TaskContext,\n} from '@backstage/plugin-scaffolder-node';\nimport { createConditionAuthorizer } from '@backstage/plugin-permission-node';\nimport { UserEntity } from '@backstage/catalog-model';\nimport { createCounterMetric, createHistogramMetric } from '../../util/metrics';\nimport { createDefaultFilters } from '../../lib/templating/filters';\nimport {\n AuthorizeResult,\n PolicyDecision,\n} from '@backstage/plugin-permission-common';\nimport { scaffolderActionRules } from '../../service/rules';\nimport { actionExecutePermission } from '@backstage/plugin-scaffolder-common/alpha';\nimport { PermissionsService } from '@backstage/backend-plugin-api';\nimport { loggerToWinstonLogger } from '@backstage/backend-common';\nimport { BackstageLoggerTransport, WinstonLogger } from './logger';\n\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\ntype NunjucksWorkflowRunnerOptions = {\n workingDirectory: string;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n logger: winston.Logger;\n auditLogger: AuditLogger;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionsService;\n};\n\ntype TemplateContext = {\n parameters: JsonObject;\n EXPERIMENTAL_recovery?: TaskRecovery;\n steps: {\n [stepName: string]: { output: { [outputName: string]: JsonValue } };\n };\n secrets?: Record;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n each?: JsonValue;\n};\n\ntype CheckpointState =\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n\nconst isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => {\n return taskSpec.apiVersion === 'scaffolder.backstage.io/v1beta3';\n};\n\nconst createStepLogger = ({\n task,\n step,\n rootLogger,\n}: {\n task: TaskContext;\n step: TaskStep;\n rootLogger: winston.Logger;\n}) => {\n const taskLogger = WinstonLogger.create({\n level: process.env.LOG_LEVEL || 'info',\n format: winston.format.combine(\n winston.format.colorize(),\n winston.format.simple(),\n ),\n transports: [new BackstageLoggerTransport(rootLogger, task, step.id)],\n });\n\n taskLogger.addRedactions(Object.values(task.secrets ?? {}));\n\n // This stream logger should be deprecated. We're going to replace it with\n // just using the logger directly, as all those logs get written to step logs\n // using the stepLogStream above.\n // Initially this stream used to be the only way to write to the client logs, but that\n // has changed over time, there's not really a need for this anymore.\n // You can just create a simple wrapper like the below in your action to write to the main logger.\n // This way we also get redactions for free.\n const streamLogger = new PassThrough();\n streamLogger.on('data', async data => {\n const message = data.toString().trim();\n if (message?.length > 1) {\n taskLogger.info(message);\n }\n });\n\n return { taskLogger, streamLogger };\n};\n\nconst isActionAuthorized = createConditionAuthorizer(\n Object.values(scaffolderActionRules),\n);\n\nexport class NunjucksWorkflowRunner implements WorkflowRunner {\n private readonly defaultTemplateFilters: Record;\n private readonly tracker;\n\n constructor(private readonly options: NunjucksWorkflowRunnerOptions) {\n this.defaultTemplateFilters = createDefaultFilters({\n integrations: this.options.integrations,\n });\n this.tracker = scaffoldingTracker(this.options.auditLogger);\n }\n\n private isSingleTemplateString(input: string) {\n const { parser, nodes } = nunjucks as unknown as {\n parser: {\n parse(\n template: string,\n ctx: object,\n options: nunjucks.ConfigureOptions,\n ): { children: { children?: unknown[] }[] };\n };\n nodes: { TemplateData: Function };\n };\n\n const parsed = parser.parse(\n input,\n {},\n {\n autoescape: false,\n tags: {\n variableStart: '${{',\n variableEnd: '}}',\n },\n },\n );\n\n return (\n parsed.children.length === 1 &&\n !(parsed.children[0]?.children?.[0] instanceof nodes.TemplateData)\n );\n }\n\n private render(\n input: T,\n context: TemplateContext,\n renderTemplate: SecureTemplateRenderer,\n ): T {\n return JSON.parse(JSON.stringify(input), (_key, value) => {\n try {\n if (typeof value === 'string') {\n try {\n if (this.isSingleTemplateString(value)) {\n // Lets convert ${{ parameters.bob }} to ${{ (parameters.bob) | dump }} so we can keep the input type\n const wrappedDumped = value.replace(\n /\\${{(.+)}}/g,\n '${{ ( $1 ) | dump }}',\n );\n\n // Run the templating\n const templated = renderTemplate(wrappedDumped, context);\n\n // If there's an empty string returned, then it's undefined\n if (templated === '') {\n return undefined;\n }\n\n // Reparse the dumped string\n return JSON.parse(templated);\n }\n } catch (ex) {\n this.options.logger.error(\n `Failed to parse template string: ${value} with error ${ex.message}`,\n );\n }\n\n // Fallback to default behaviour\n const templated = renderTemplate(value, context);\n\n if (templated === '') {\n return undefined;\n }\n\n return templated;\n }\n } catch {\n return value;\n }\n return value;\n });\n }\n\n async executeStep(\n task: TaskContext,\n step: TaskStep,\n context: TemplateContext,\n renderTemplate: (template: string, values: unknown) => string,\n taskTrack: TaskTrackType,\n workspacePath: string,\n decision: PolicyDecision,\n ) {\n const stepTrack = await this.tracker.stepStart(task, step);\n\n if (task.cancelSignal.aborted) {\n throw new Error(\n `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.`,\n );\n }\n\n try {\n const action: TemplateAction =\n this.options.actionRegistry.get(step.action);\n const { taskLogger, streamLogger } = createStepLogger({\n task,\n step,\n rootLogger: this.options.logger,\n });\n\n const redactedSecrets = Object.fromEntries(\n Object.entries(task.secrets ?? {}).map(secret => [secret[0], '***']),\n );\n const stepInputs =\n (step.input &&\n this.render(\n step.input,\n {\n ...context,\n secrets: redactedSecrets,\n },\n renderTemplate,\n )) ??\n {};\n const commonStepAuditMetadata = {\n templateRef: task.spec.templateInfo?.entityRef || '',\n taskId: task.taskId,\n stepId: step.id,\n stepName: step.name,\n stepAction: step.action,\n stepInputs: stepInputs,\n stepConditional: step.if,\n stepEach: step.each,\n isDryRun: task.isDryRun || false,\n };\n if (\n step.if === false ||\n (typeof step.if === 'string' &&\n !isTruthy(this.render(step.if, context, renderTemplate)))\n ) {\n await stepTrack.skipFalsy();\n await this.options.auditLogger.auditLog({\n eventName: 'ScaffolderTaskStepSkip',\n actorId: 'scaffolder-backend',\n stage: 'completion',\n status: 'succeeded',\n metadata: commonStepAuditMetadata,\n message: `Skipped step ${step.name} (id: ${step.id}) of task ${task.taskId}`,\n });\n return;\n }\n\n await this.options.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepExecution',\n stage: 'initiation',\n status: 'succeeded',\n metadata: commonStepAuditMetadata,\n message: `Started ${step.name} (id: ${step.id}) of task ${task.taskId} triggering the ${step.action} action`,\n });\n\n if (task.isDryRun) {\n taskLogger.info(\n `Running ${\n action.id\n } in dry-run mode with inputs (secrets redacted): ${JSON.stringify(\n stepInputs,\n undefined,\n 2,\n )}`,\n );\n if (!action.supportsDryRun) {\n await taskTrack.skipDryRun(step, action);\n const outputSchema = action.schema?.output;\n if (outputSchema) {\n context.steps[step.id] = {\n output: generateExampleOutput(outputSchema) as {\n [name in string]: JsonValue;\n },\n };\n } else {\n context.steps[step.id] = { output: {} };\n }\n return;\n }\n }\n const iterations = (\n step.each\n ? Object.entries(this.render(step.each, context, renderTemplate)).map(\n ([key, value]) => ({\n each: { key, value },\n }),\n )\n : [{}]\n ).map(i => ({\n ...i,\n // Secrets are only passed when templating the input to actions for security reasons\n input: step.input\n ? this.render(\n step.input,\n { ...context, secrets: task.secrets ?? {}, ...i },\n renderTemplate,\n )\n : {},\n }));\n for (const iteration of iterations) {\n const actionId = `${action.id}${\n iteration.each ? `[${iteration.each.key}]` : ''\n }`;\n\n if (action.schema?.input) {\n const validateResult = validateJsonSchema(\n iteration.input,\n action.schema.input,\n );\n if (!validateResult.valid) {\n const errors = validateResult.errors.join(', ');\n throw new InputError(\n `Invalid input passed to action ${actionId}, ${errors}`,\n );\n }\n }\n if (\n !isActionAuthorized(decision, {\n action: action.id,\n input: iteration.input,\n })\n ) {\n throw new NotAllowedError(\n `Unauthorized action: ${actionId}. The action is not allowed. Input: ${JSON.stringify(\n iteration.input,\n null,\n 2,\n )}`,\n );\n }\n }\n const tmpDirs = new Array();\n const stepOutput: { [outputName: string]: JsonValue } = {};\n const prevTaskState = await task.getTaskState?.();\n let iterationCount: number = 0;\n for (const iteration of iterations) {\n if (iteration.each) {\n taskLogger.info(\n `Running step each: ${JSON.stringify(\n iteration.each,\n (k, v) => (k ? v.toString() : v),\n 0,\n )}`,\n );\n\n await this.options.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepIteration',\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n ...commonStepAuditMetadata,\n stepInputs: undefined,\n stepAction: `${step.action}[${iteration.each.key}]`,\n stepIterationInputs: iteration.input,\n stepIterationCount: ++iterationCount,\n stepIterationValue: iteration.each.value,\n totalIterations: iterations.length,\n },\n message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} started`,\n });\n }\n\n await action.handler({\n input: iteration.input,\n secrets: task.secrets ?? {},\n // TODO(blam): move to LoggerService and away from Winston\n logger: loggerToWinstonLogger(taskLogger),\n logStream: streamLogger,\n workspacePath,\n async checkpoint(\n keySuffix: string,\n fn: () => Promise,\n ) {\n const key = `v1.task.checkpoint.${step.id}.${keySuffix}`;\n try {\n let prevValue: U | undefined;\n if (prevTaskState) {\n const prevState = (\n prevTaskState.state?.checkpoints as {\n [key: string]: CheckpointState;\n }\n )?.[key];\n if (prevState && prevState.status === 'success') {\n prevValue = prevState.value as U;\n }\n }\n\n const value = prevValue ? prevValue : await fn();\n\n if (!prevValue) {\n task.updateCheckpoint?.({\n key,\n status: 'success',\n value,\n });\n }\n return value;\n } catch (err) {\n task.updateCheckpoint?.({\n key,\n status: 'failed',\n reason: stringifyError(err),\n });\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n },\n createTemporaryDirectory: async () => {\n const tmpDir = await fs.mkdtemp(\n `${workspacePath}_step-${step.id}-`,\n );\n tmpDirs.push(tmpDir);\n return tmpDir;\n },\n output(name: string, value: JsonValue) {\n if (step.each) {\n stepOutput[name] = stepOutput[name] || [];\n (stepOutput[name] as JsonArray).push(value);\n } else {\n stepOutput[name] = value;\n }\n },\n templateInfo: task.spec.templateInfo,\n user: task.spec.user,\n isDryRun: task.isDryRun,\n signal: task.cancelSignal,\n getInitiatorCredentials: () => task.getInitiatorCredentials(),\n });\n if (iteration.each) {\n await this.options.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepIteration',\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n ...commonStepAuditMetadata,\n stepInputs: undefined,\n stepAction: `${step.action}[${iteration.each.key}]`,\n stepIterationCount: iterationCount,\n stepIterationValue: iteration.each.value,\n stepIterationInputs: iteration.input,\n totalIterations: iterations.length,\n },\n message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded`,\n });\n }\n }\n\n // Remove all temporary directories that were created when executing the action\n for (const tmpDir of tmpDirs) {\n await fs.remove(tmpDir);\n }\n\n context.steps[step.id] = { output: stepOutput };\n\n if (task.cancelSignal.aborted) {\n throw new Error(\n `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.`,\n );\n }\n\n await stepTrack.markSuccessful();\n } catch (err) {\n await taskTrack.markFailed(step, err);\n await stepTrack.markFailed(err);\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n }\n\n async execute(task: TaskContext): Promise {\n if (!isValidTaskSpec(task.spec)) {\n throw new InputError(\n 'Wrong template version executed with the workflow engine',\n );\n }\n const taskId = await task.getWorkspaceName();\n\n const workspacePath = path.join(this.options.workingDirectory, taskId);\n\n const { additionalTemplateFilters, additionalTemplateGlobals } =\n this.options;\n\n const renderTemplate = await SecureTemplater.loadRenderer({\n templateFilters: {\n ...this.defaultTemplateFilters,\n ...additionalTemplateFilters,\n },\n templateGlobals: additionalTemplateGlobals,\n });\n\n try {\n await task.rehydrateWorkspace?.({ taskId, targetPath: workspacePath });\n\n const taskTrack = await this.tracker.taskStart(task);\n await fs.ensureDir(workspacePath);\n\n const context: TemplateContext = {\n parameters: task.spec.parameters,\n steps: {},\n user: task.spec.user,\n };\n\n const [decision]: PolicyDecision[] =\n this.options.permissions && task.spec.steps.length\n ? await this.options.permissions.authorizeConditional(\n [{ permission: actionExecutePermission }],\n { credentials: await task.getInitiatorCredentials() },\n )\n : [{ result: AuthorizeResult.ALLOW }];\n\n for (const step of task.spec.steps) {\n await this.executeStep(\n task,\n step,\n context,\n renderTemplate,\n taskTrack,\n workspacePath,\n decision,\n );\n }\n\n const output = this.render(task.spec.output, context, renderTemplate);\n await taskTrack.markSuccessful();\n await task.cleanWorkspace?.();\n\n return { output };\n } finally {\n if (workspacePath) {\n await fs.remove(workspacePath);\n }\n }\n }\n}\n\nfunction scaffoldingTracker(auditLogger: AuditLogger) {\n // prom-client metrics are deprecated in favour of OpenTelemetry metrics.\n const promTaskCount = createCounterMetric({\n name: 'scaffolder_task_count',\n help: 'Count of task runs',\n labelNames: ['template', 'user', 'result'],\n });\n const promTaskDuration = createHistogramMetric({\n name: 'scaffolder_task_duration',\n help: 'Duration of a task run',\n labelNames: ['template', 'result'],\n });\n const promtStepCount = createCounterMetric({\n name: 'scaffolder_step_count',\n help: 'Count of step runs',\n labelNames: ['template', 'step', 'result'],\n });\n const promStepDuration = createHistogramMetric({\n name: 'scaffolder_step_duration',\n help: 'Duration of a step runs',\n labelNames: ['template', 'step', 'result'],\n });\n\n const meter = metrics.getMeter('default');\n const taskCount = meter.createCounter('scaffolder.task.count', {\n description: 'Count of task runs',\n });\n\n const taskDuration = meter.createHistogram('scaffolder.task.duration', {\n description: 'Duration of a task run',\n unit: 'seconds',\n });\n\n const stepCount = meter.createCounter('scaffolder.step.count', {\n description: 'Count of step runs',\n });\n\n const stepDuration = meter.createHistogram('scaffolder.step.duration', {\n description: 'Duration of a step runs',\n unit: 'seconds',\n });\n\n async function taskStart(task: TaskContext) {\n await task.emitLog(`Starting up task with ${task.spec.steps.length} steps`);\n const template = task.spec.templateInfo?.entityRef || '';\n const user = task.spec.user?.ref || '';\n\n const startTime = process.hrtime();\n const taskTimer = promTaskDuration.startTimer({\n template,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function skipDryRun(\n step: TaskStep,\n action: TemplateAction,\n ) {\n task.emitLog(`Skipping because ${action.id} does not support dry-run`, {\n stepId: step.id,\n status: 'skipped',\n });\n }\n\n async function markSuccessful() {\n promTaskCount.inc({\n template,\n user,\n result: 'ok',\n });\n taskTimer({ result: 'ok' });\n\n taskCount.add(1, { template, user, result: 'ok' });\n taskDuration.record(endTime(), {\n result: 'ok',\n });\n }\n\n async function markFailed(step: TaskStep, err: Error) {\n await task.emitLog(String(err.stack), {\n stepId: step.id,\n status: 'failed',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'failed',\n });\n taskTimer({ result: 'failed' });\n\n taskCount.add(1, { template, user, result: 'failed' });\n taskDuration.record(endTime(), {\n result: 'failed',\n });\n }\n\n async function markCancelled(step: TaskStep) {\n await task.emitLog(`Step ${step.id} has been cancelled.`, {\n stepId: step.id,\n status: 'cancelled',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'cancelled',\n });\n taskTimer({ result: 'cancelled' });\n\n taskCount.add(1, { template, user, result: 'cancelled' });\n taskDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n return {\n skipDryRun,\n markCancelled,\n markSuccessful,\n markFailed,\n };\n }\n\n async function stepStart(task: TaskContext, step: TaskStep) {\n await task.emitLog(`Beginning step ${step.name}`, {\n stepId: step.id,\n status: 'processing',\n });\n const template = task.spec.templateInfo?.entityRef || '';\n\n const startTime = process.hrtime();\n const stepTimer = promStepDuration.startTimer({\n template,\n step: step.name,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function markSuccessful() {\n await task.emitLog(`Finished step ${step.name}`, {\n stepId: step.id,\n status: 'completed',\n });\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'ok',\n });\n stepTimer({ result: 'ok' });\n\n stepCount.add(1, { template, step: step.name, result: 'ok' });\n stepDuration.record(endTime(), {\n result: 'ok',\n });\n await auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepExecution',\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n templateRef: template,\n taskId: task.taskId,\n stepId: step.id,\n stepName: step.name,\n stepAction: step.action,\n isDryRun: task.isDryRun || false,\n },\n message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded`,\n });\n }\n\n async function markCancelled() {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'cancelled',\n });\n stepTimer({ result: 'cancelled' });\n\n stepCount.add(1, { template, step: step.name, result: 'cancelled' });\n stepDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n async function markFailed(err: Error) {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'failed',\n });\n stepTimer({ result: 'failed' });\n\n stepCount.add(1, { template, step: step.name, result: 'failed' });\n stepDuration.record(endTime(), {\n result: 'failed',\n });\n\n await auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepExecution',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n templateRef: template,\n taskId: task.taskId,\n stepId: step.id,\n stepName: step.name,\n stepAction: step.action,\n isDryRun: task.isDryRun || false,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} failed`,\n });\n }\n\n async function skipFalsy() {\n await task.emitLog(\n `Skipping step ${step.id} because its if condition was false`,\n { stepId: step.id, status: 'skipped' },\n );\n stepTimer({ result: 'skipped' });\n\n stepCount.add(1, { template, step: step.name, result: 'skipped' });\n stepDuration.record(endTime(), {\n result: 'skipped',\n });\n }\n\n return {\n markCancelled,\n markFailed,\n markSuccessful,\n skipFalsy,\n };\n }\n\n return {\n taskStart,\n stepStart,\n };\n}\n"],"names":["WinstonLogger","winston","BackstageLoggerTransport","PassThrough","createConditionAuthorizer","scaffolderActionRules","createDefaultFilters","nunjucks","templated","isTruthy","generateExampleOutput","validateJsonSchema","errors","InputError","NotAllowedError","loggerToWinstonLogger","stringifyError","fs","path","SecureTemplater","actionExecutePermission","AuthorizeResult","createCounterMetric","createHistogramMetric","metrics"],"mappings":"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"} -\ No newline at end of file -diff --git a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js -index 7de5b00ad9e1fb519397d91f1989451eb3f89709..c70a5dd1be2443c7dd1ab62c67c1ebde98a20c1b 100644 ---- a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js -+++ b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js -@@ -10,17 +10,18 @@ var ObservableImpl__default = /*#__PURE__*/_interopDefaultCompat(ObservableImpl) - - class TaskManager { - // Runs heartbeat internally -- constructor(task, storage, signal, logger, workspaceService, auth) { -+ constructor(task, storage, signal, logger, workspaceService, auditLogger, auth) { - this.task = task; - this.storage = storage; - this.signal = signal; - this.logger = logger; - this.workspaceService = workspaceService; -+ this.auditLogger = auditLogger; - this.auth = auth; - } - isDone = false; - heartbeatTimeoutId; -- static create(task, storage, abortSignal, logger, auth, config, additionalWorkspaceProviders) { -+ static create(task, storage, abortSignal, logger, auditLogger, auth, config, additionalWorkspaceProviders) { - const workspaceService = WorkspaceService.DefaultWorkspaceService.create( - task, - storage, -@@ -33,11 +34,15 @@ class TaskManager { - abortSignal, - logger, - workspaceService, -+ auditLogger, - auth - ); - agent.startTimeout(); - return agent; - } -+ get taskId() { -+ return this.task.taskId; -+ } - get spec() { - return this.task.spec; - } -@@ -99,6 +104,34 @@ class TaskManager { - if (this.heartbeatTimeoutId) { - clearTimeout(this.heartbeatTimeoutId); - } -+ const commonAuditFields = { -+ eventName: "ScaffolderTaskExecution", -+ actorId: "scaffolder-backend", -+ stage: "completion", -+ metadata: { -+ taskId: this.task.taskId, -+ taskParameters: this.task.spec.parameters -+ } -+ }; -+ if (result === "failed") { -+ await this.auditLogger?.auditLog({ -+ ...commonAuditFields, -+ status: "failed", -+ level: "error", -+ errors: [metadata?.error], -+ message: `Scaffolding task with taskId: ${this.task.taskId} failed` -+ }); -+ } else { -+ await this.auditLogger?.auditLog({ -+ ...commonAuditFields, -+ status: "succeeded", -+ metadata: { -+ ...commonAuditFields.metadata, -+ ...metadata -+ }, -+ message: `Scaffolding task with taskId: ${this.task.taskId} completed successfully` -+ }); -+ } - } - startTimeout() { - this.heartbeatTimeoutId = setTimeout(async () => { -@@ -136,9 +169,10 @@ function defer() { - return { promise, resolve }; - } - class StorageTaskBroker { -- constructor(storage, logger, config, auth, additionalWorkspaceProviders) { -+ constructor(storage, logger, auditLogger, config, auth, additionalWorkspaceProviders) { - this.storage = storage; - this.logger = logger; -+ this.auditLogger = auditLogger; - this.config = config; - this.auth = auth; - this.additionalWorkspaceProviders = additionalWorkspaceProviders; -@@ -175,9 +209,7 @@ class StorageTaskBroker { - }); - } - async recoverTasks() { -- const enabled = (this.config && this.config.getOptionalBoolean( -- "scaffolder.EXPERIMENTAL_recoverTasks" -- )) ?? false; -+ const enabled = this.config?.getOptionalBoolean("scaffolder.EXPERIMENTAL_recoverTasks") ?? false; - if (enabled) { - const defaultTimeout = { seconds: 30 }; - const timeout = helper.readDuration( -@@ -213,6 +245,7 @@ class StorageTaskBroker { - this.storage, - abortController.signal, - this.logger, -+ this.auditLogger, - this.auth, - this.config, - this.additionalWorkspaceProviders -@@ -275,6 +308,16 @@ class StorageTaskBroker { - await Promise.all( - tasks.map(async (task) => { - try { -+ this.auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderStaleTaskCancellation", -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId: task.taskId -+ }, -+ message: `Attempting to cancel Stale scaffolding task ${task.taskId} because the task worker lost connection to the task broker` -+ }); - await this.storage.completeTask({ - taskId: task.taskId, - status: "failed", -@@ -282,8 +325,35 @@ class StorageTaskBroker { - message: "The task was cancelled because the task worker lost connection to the task broker" - } - }); -+ this.auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderStaleTaskCancellation", -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ taskId: task.taskId -+ }, -+ message: `Stale scaffolding task ${task.taskId} successfully cancelled` -+ }); - } catch (error) { -- this.logger.warn(`Failed to cancel task '${task.taskId}', ${error}`); -+ this.auditLogger.auditLog({ -+ actorId: "scaffolder-backend", -+ eventName: "ScaffolderStaleTaskCancellation", -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ taskId: task.taskId -+ }, -+ errors: [ -+ { -+ name: error.name, -+ message: error.message, -+ stack: error.stack -+ } -+ ], -+ message: `Failed to cancel stale scaffolding task ${task.taskId}` -+ }); - } - }) - ); -diff --git a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map -index 2d5bdf995e048b0274465b48cb2e3e4e2bc99980..f43c5fa2454b31f16e0d0ec936739d20c570ee15 100644 ---- a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map -+++ b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"StorageTaskBroker.cjs.js","sources":["../../../src/scaffolder/tasks/StorageTaskBroker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config } from '@backstage/config';\nimport { TaskSpec } from '@backstage/plugin-scaffolder-common';\nimport { JsonObject, JsonValue, Observable } from '@backstage/types';\nimport { Logger } from 'winston';\nimport ObservableImpl from 'zen-observable';\nimport {\n SerializedTask,\n SerializedTaskEvent,\n TaskBroker,\n TaskBrokerDispatchOptions,\n TaskCompletionState,\n TaskContext,\n TaskSecrets,\n TaskStatus,\n} from '@backstage/plugin-scaffolder-node';\nimport { InternalTaskSecrets, TaskStore } from './types';\nimport { readDuration } from './helper';\nimport {\n AuthService,\n BackstageCredentials,\n} from '@backstage/backend-plugin-api';\nimport { DefaultWorkspaceService, WorkspaceService } from './WorkspaceService';\nimport { WorkspaceProvider } from '@backstage/plugin-scaffolder-node/alpha';\n\ntype TaskState = {\n checkpoints: {\n [key: string]:\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n };\n};\n/**\n * TaskManager\n *\n * @public\n */\nexport class TaskManager implements TaskContext {\n private isDone = false;\n\n private heartbeatTimeoutId?: ReturnType;\n\n static create(\n task: CurrentClaimedTask,\n storage: TaskStore,\n abortSignal: AbortSignal,\n logger: Logger,\n auth?: AuthService,\n config?: Config,\n additionalWorkspaceProviders?: Record,\n ) {\n const workspaceService = DefaultWorkspaceService.create(\n task,\n storage,\n additionalWorkspaceProviders,\n config,\n );\n\n const agent = new TaskManager(\n task,\n storage,\n abortSignal,\n logger,\n workspaceService,\n auth,\n );\n agent.startTimeout();\n return agent;\n }\n\n // Runs heartbeat internally\n private constructor(\n private readonly task: CurrentClaimedTask,\n private readonly storage: TaskStore,\n private readonly signal: AbortSignal,\n private readonly logger: Logger,\n private readonly workspaceService: WorkspaceService,\n private readonly auth?: AuthService,\n ) {}\n\n get spec() {\n return this.task.spec;\n }\n\n get cancelSignal() {\n return this.signal;\n }\n\n get secrets() {\n return this.task.secrets;\n }\n\n get createdBy() {\n return this.task.createdBy;\n }\n\n async getWorkspaceName() {\n return this.task.taskId;\n }\n\n async rehydrateWorkspace?(options: {\n taskId: string;\n targetPath: string;\n }): Promise {\n await this.workspaceService.rehydrateWorkspace(options);\n }\n\n get done() {\n return this.isDone;\n }\n\n async emitLog(message: string, logMetadata?: JsonObject): Promise {\n await this.storage.emitLogEvent({\n taskId: this.task.taskId,\n body: { message, ...logMetadata },\n });\n }\n\n async getTaskState?(): Promise<\n | {\n state?: JsonObject;\n }\n | undefined\n > {\n return this.storage.getTaskState?.({ taskId: this.task.taskId });\n }\n\n async updateCheckpoint?(\n options:\n | {\n key: string;\n status: 'success';\n value: JsonValue;\n }\n | {\n key: string;\n status: 'failed';\n reason: string;\n },\n ): Promise {\n const { key, ...value } = options;\n if (this.task.state) {\n (this.task.state as TaskState).checkpoints[key] = value;\n } else {\n this.task.state = { checkpoints: { [key]: value } };\n }\n await this.storage.saveTaskState?.({\n taskId: this.task.taskId,\n state: this.task.state,\n });\n }\n\n async serializeWorkspace?(options: { path: string }): Promise {\n await this.workspaceService.serializeWorkspace(options);\n }\n\n async cleanWorkspace?(): Promise {\n await this.workspaceService.cleanWorkspace();\n }\n\n async complete(\n result: TaskCompletionState,\n metadata?: JsonObject,\n ): Promise {\n await this.storage.completeTask({\n taskId: this.task.taskId,\n status: result === 'failed' ? 'failed' : 'completed',\n eventBody: {\n message: `Run completed with status: ${result}`,\n ...metadata,\n },\n });\n this.isDone = true;\n if (this.heartbeatTimeoutId) {\n clearTimeout(this.heartbeatTimeoutId);\n }\n }\n\n private startTimeout() {\n this.heartbeatTimeoutId = setTimeout(async () => {\n try {\n await this.storage.heartbeatTask(this.task.taskId);\n this.startTimeout();\n } catch (error) {\n this.isDone = true;\n\n this.logger.error(\n `Heartbeat for task ${this.task.taskId} failed`,\n error,\n );\n }\n }, 1000);\n }\n\n async getInitiatorCredentials(): Promise {\n const secrets = this.task.secrets as InternalTaskSecrets;\n\n if (secrets && secrets.__initiatorCredentials) {\n return JSON.parse(secrets.__initiatorCredentials);\n }\n if (!this.auth) {\n throw new Error(\n 'Failed to create none credentials in scaffolder task. The TaskManager has not been initialized with an auth service implementation',\n );\n }\n return this.auth.getNoneCredentials();\n }\n}\n\n/**\n * Stores the state of the current claimed task passed to the TaskContext\n *\n * @public\n */\nexport interface CurrentClaimedTask {\n /**\n * The TaskSpec of the current claimed task.\n */\n spec: TaskSpec;\n /**\n * The uuid of the current claimed task.\n */\n taskId: string;\n /**\n * The secrets that are stored with the task.\n */\n secrets?: TaskSecrets;\n /**\n * The state of checkpoints of the task.\n */\n state?: JsonObject;\n /**\n * The creator of the task.\n */\n createdBy?: string;\n /**\n * The workspace of the task.\n */\n workspace?: Promise;\n}\n\nfunction defer() {\n let resolve = () => {};\n const promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n return { promise, resolve };\n}\n\nexport class StorageTaskBroker implements TaskBroker {\n constructor(\n private readonly storage: TaskStore,\n private readonly logger: Logger,\n private readonly config?: Config,\n private readonly auth?: AuthService,\n private readonly additionalWorkspaceProviders?: Record<\n string,\n WorkspaceProvider\n >,\n ) {}\n\n async list(options?: {\n createdBy?: string;\n status?: TaskStatus;\n filters?: {\n createdBy?: string | string[];\n status?: TaskStatus | TaskStatus[];\n };\n pagination?: {\n limit?: number;\n offset?: number;\n };\n order?: { order: 'asc' | 'desc'; field: string }[];\n }): Promise<{ tasks: SerializedTask[]; totalTasks?: number }> {\n if (!this.storage.list) {\n throw new Error(\n 'TaskStore does not implement the list method. Please implement the list method to be able to list tasks',\n );\n }\n return await this.storage.list(options ?? {});\n }\n\n private deferredDispatch = defer();\n\n private async registerCancellable(\n taskId: string,\n abortController: AbortController,\n ) {\n let shouldUnsubscribe = false;\n const subscription = this.event$({ taskId, after: undefined }).subscribe({\n error: _ => {\n subscription.unsubscribe();\n },\n next: ({ events }) => {\n for (const event of events) {\n if (event.type === 'cancelled') {\n abortController.abort();\n shouldUnsubscribe = true;\n }\n\n if (event.type === 'completion' && !event.isTaskRecoverable) {\n shouldUnsubscribe = true;\n }\n }\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n }\n },\n });\n }\n\n public async recoverTasks(): Promise {\n const enabled =\n (this.config &&\n this.config.getOptionalBoolean(\n 'scaffolder.EXPERIMENTAL_recoverTasks',\n )) ??\n false;\n\n if (enabled) {\n const defaultTimeout = { seconds: 30 };\n const timeout = readDuration(\n this.config,\n 'scaffolder.EXPERIMENTAL_recoverTasksTimeout',\n defaultTimeout,\n );\n const { ids: recoveredTaskIds } = (await this.storage.recoverTasks?.({\n timeout,\n })) ?? { ids: [] };\n if (recoveredTaskIds.length > 0) {\n this.signalDispatch();\n }\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.claim}\n */\n async claim(): Promise {\n for (;;) {\n const pendingTask = await this.storage.claimTask();\n if (pendingTask) {\n const abortController = new AbortController();\n await this.registerCancellable(pendingTask.id, abortController);\n return TaskManager.create(\n {\n taskId: pendingTask.id,\n spec: pendingTask.spec,\n secrets: pendingTask.secrets,\n createdBy: pendingTask.createdBy,\n state: pendingTask.state,\n },\n this.storage,\n abortController.signal,\n this.logger,\n this.auth,\n this.config,\n this.additionalWorkspaceProviders,\n );\n }\n\n await this.waitForDispatch();\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.dispatch}\n */\n async dispatch(\n options: TaskBrokerDispatchOptions,\n ): Promise<{ taskId: string }> {\n const taskRow = await this.storage.createTask(options);\n this.signalDispatch();\n return {\n taskId: taskRow.taskId,\n };\n }\n\n /**\n * {@inheritdoc TaskBroker.get}\n */\n async get(taskId: string): Promise {\n return this.storage.getTask(taskId);\n }\n\n /**\n * {@inheritdoc TaskBroker.event$}\n */\n event$(options: {\n taskId: string;\n after?: number;\n }): Observable<{ events: SerializedTaskEvent[] }> {\n return new ObservableImpl(observer => {\n const { taskId } = options;\n\n let after = options.after;\n let cancelled = false;\n\n (async () => {\n const task = await this.storage.getTask(taskId);\n const isTaskRecoverable =\n task.spec.EXPERIMENTAL_recovery?.EXPERIMENTAL_strategy ===\n 'startOver';\n\n while (!cancelled) {\n const result = await this.storage.listEvents({\n isTaskRecoverable,\n taskId,\n after,\n });\n const { events } = result;\n if (events.length) {\n after = events[events.length - 1].id;\n observer.next(result);\n }\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n })();\n\n return () => {\n cancelled = true;\n };\n });\n }\n\n /**\n * {@inheritdoc TaskBroker.vacuumTasks}\n */\n async vacuumTasks(options: { timeoutS: number }): Promise {\n const { tasks } = await this.storage.listStaleTasks(options);\n await Promise.all(\n tasks.map(async task => {\n try {\n await this.storage.completeTask({\n taskId: task.taskId,\n status: 'failed',\n eventBody: {\n message:\n 'The task was cancelled because the task worker lost connection to the task broker',\n },\n });\n } catch (error) {\n this.logger.warn(`Failed to cancel task '${task.taskId}', ${error}`);\n }\n }),\n );\n }\n\n private waitForDispatch() {\n return this.deferredDispatch.promise;\n }\n\n private signalDispatch() {\n this.deferredDispatch.resolve();\n this.deferredDispatch = defer();\n }\n\n async cancel(taskId: string) {\n const { events } = await this.storage.listEvents({ taskId });\n const currentStepId =\n events.length > 0\n ? events\n .filter(({ body }) => body?.stepId)\n .reduce((prev, curr) => (prev.id > curr.id ? prev : curr)).body\n .stepId\n : 0;\n\n await this.storage.cancelTask?.({\n taskId,\n body: {\n message: `Step ${currentStepId} has been cancelled.`,\n stepId: currentStepId,\n status: 'cancelled',\n },\n });\n }\n\n async retry?(taskId: string): Promise {\n await this.storage.retryTask?.({ taskId });\n this.signalDispatch();\n }\n}\n"],"names":["DefaultWorkspaceService","readDuration","ObservableImpl"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"StorageTaskBroker.cjs.js","sources":["../../../src/scaffolder/tasks/StorageTaskBroker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config } from '@backstage/config';\nimport { TaskSpec } from '@backstage/plugin-scaffolder-common';\nimport { JsonObject, JsonValue, Observable } from '@backstage/types';\nimport { Logger } from 'winston';\nimport ObservableImpl from 'zen-observable';\nimport {\n SerializedTask,\n SerializedTaskEvent,\n TaskBroker,\n TaskBrokerDispatchOptions,\n TaskCompletionState,\n TaskContext,\n TaskSecrets,\n TaskStatus,\n} from '@backstage/plugin-scaffolder-node';\nimport { InternalTaskSecrets, TaskStore } from './types';\nimport { readDuration } from './helper';\nimport {\n AuthService,\n BackstageCredentials,\n} from '@backstage/backend-plugin-api';\nimport { DefaultWorkspaceService, WorkspaceService } from './WorkspaceService';\nimport { WorkspaceProvider } from '@backstage/plugin-scaffolder-node/alpha';\n\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\ntype TaskState = {\n checkpoints: {\n [key: string]:\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n };\n};\n/**\n * TaskManager\n *\n * @public\n */\nexport class TaskManager implements TaskContext {\n private isDone = false;\n\n private heartbeatTimeoutId?: ReturnType;\n\n static create(\n task: CurrentClaimedTask,\n storage: TaskStore,\n abortSignal: AbortSignal,\n logger: Logger,\n auditLogger: AuditLogger,\n auth?: AuthService,\n config?: Config,\n additionalWorkspaceProviders?: Record,\n ) {\n const workspaceService = DefaultWorkspaceService.create(\n task,\n storage,\n additionalWorkspaceProviders,\n config,\n );\n\n const agent = new TaskManager(\n task,\n storage,\n abortSignal,\n logger,\n workspaceService,\n auditLogger,\n auth,\n );\n agent.startTimeout();\n return agent;\n }\n\n // Runs heartbeat internally\n private constructor(\n private readonly task: CurrentClaimedTask,\n private readonly storage: TaskStore,\n private readonly signal: AbortSignal,\n private readonly logger: Logger,\n private readonly workspaceService: WorkspaceService,\n private readonly auditLogger: AuditLogger,\n private readonly auth?: AuthService,\n ) {}\n\n get taskId() {\n return this.task.taskId;\n }\n\n get spec() {\n return this.task.spec;\n }\n\n get cancelSignal() {\n return this.signal;\n }\n\n get secrets() {\n return this.task.secrets;\n }\n\n get createdBy() {\n return this.task.createdBy;\n }\n\n async getWorkspaceName() {\n return this.task.taskId;\n }\n\n async rehydrateWorkspace?(options: {\n taskId: string;\n targetPath: string;\n }): Promise {\n await this.workspaceService.rehydrateWorkspace(options);\n }\n\n get done() {\n return this.isDone;\n }\n\n async emitLog(message: string, logMetadata?: JsonObject): Promise {\n await this.storage.emitLogEvent({\n taskId: this.task.taskId,\n body: { message, ...logMetadata },\n });\n }\n\n async getTaskState?(): Promise<\n | {\n state?: JsonObject;\n }\n | undefined\n > {\n return this.storage.getTaskState?.({ taskId: this.task.taskId });\n }\n\n async updateCheckpoint?(\n options:\n | {\n key: string;\n status: 'success';\n value: JsonValue;\n }\n | {\n key: string;\n status: 'failed';\n reason: string;\n },\n ): Promise {\n const { key, ...value } = options;\n if (this.task.state) {\n (this.task.state as TaskState).checkpoints[key] = value;\n } else {\n this.task.state = { checkpoints: { [key]: value } };\n }\n await this.storage.saveTaskState?.({\n taskId: this.task.taskId,\n state: this.task.state,\n });\n }\n\n async serializeWorkspace?(options: { path: string }): Promise {\n await this.workspaceService.serializeWorkspace(options);\n }\n\n async cleanWorkspace?(): Promise {\n await this.workspaceService.cleanWorkspace();\n }\n\n async complete(\n result: TaskCompletionState,\n metadata?: JsonObject,\n ): Promise {\n await this.storage.completeTask({\n taskId: this.task.taskId,\n status: result === 'failed' ? 'failed' : 'completed',\n eventBody: {\n message: `Run completed with status: ${result}`,\n ...metadata,\n },\n });\n this.isDone = true;\n if (this.heartbeatTimeoutId) {\n clearTimeout(this.heartbeatTimeoutId);\n }\n const commonAuditFields = {\n eventName: 'ScaffolderTaskExecution',\n actorId: 'scaffolder-backend',\n stage: 'completion',\n metadata: {\n taskId: this.task.taskId,\n taskParameters: this.task.spec.parameters,\n },\n };\n if (result === 'failed') {\n await this.auditLogger?.auditLog({\n ...commonAuditFields,\n status: 'failed',\n level: 'error',\n errors: [metadata?.error],\n message: `Scaffolding task with taskId: ${this.task.taskId} failed`,\n });\n } else {\n await this.auditLogger?.auditLog({\n ...commonAuditFields,\n status: 'succeeded',\n metadata: {\n ...commonAuditFields.metadata,\n ...metadata,\n },\n message: `Scaffolding task with taskId: ${this.task.taskId} completed successfully`,\n });\n }\n }\n\n private startTimeout() {\n this.heartbeatTimeoutId = setTimeout(async () => {\n try {\n await this.storage.heartbeatTask(this.task.taskId);\n this.startTimeout();\n } catch (error) {\n this.isDone = true;\n\n this.logger.error(\n `Heartbeat for task ${this.task.taskId} failed`,\n error,\n );\n }\n }, 1000);\n }\n\n async getInitiatorCredentials(): Promise {\n const secrets = this.task.secrets as InternalTaskSecrets;\n\n if (secrets && secrets.__initiatorCredentials) {\n return JSON.parse(secrets.__initiatorCredentials);\n }\n if (!this.auth) {\n throw new Error(\n 'Failed to create none credentials in scaffolder task. The TaskManager has not been initialized with an auth service implementation',\n );\n }\n return this.auth.getNoneCredentials();\n }\n}\n\n/**\n * Stores the state of the current claimed task passed to the TaskContext\n *\n * @public\n */\nexport interface CurrentClaimedTask {\n /**\n * The TaskSpec of the current claimed task.\n */\n spec: TaskSpec;\n /**\n * The uuid of the current claimed task.\n */\n taskId: string;\n /**\n * The secrets that are stored with the task.\n */\n secrets?: TaskSecrets;\n /**\n * The state of checkpoints of the task.\n */\n state?: JsonObject;\n /**\n * The creator of the task.\n */\n createdBy?: string;\n /**\n * The workspace of the task.\n */\n workspace?: Promise;\n}\n\nfunction defer() {\n let resolve = () => {};\n const promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n return { promise, resolve };\n}\n\nexport class StorageTaskBroker implements TaskBroker {\n constructor(\n private readonly storage: TaskStore,\n private readonly logger: Logger,\n private readonly auditLogger: AuditLogger,\n private readonly config?: Config,\n private readonly auth?: AuthService,\n private readonly additionalWorkspaceProviders?: Record<\n string,\n WorkspaceProvider\n >,\n ) {}\n\n async list(options?: {\n createdBy?: string;\n status?: TaskStatus;\n filters?: {\n createdBy?: string | string[];\n status?: TaskStatus | TaskStatus[];\n };\n pagination?: {\n limit?: number;\n offset?: number;\n };\n order?: { order: 'asc' | 'desc'; field: string }[];\n }): Promise<{ tasks: SerializedTask[]; totalTasks?: number }> {\n if (!this.storage.list) {\n throw new Error(\n 'TaskStore does not implement the list method. Please implement the list method to be able to list tasks',\n );\n }\n return await this.storage.list(options ?? {});\n }\n\n private deferredDispatch = defer();\n\n private async registerCancellable(\n taskId: string,\n abortController: AbortController,\n ) {\n let shouldUnsubscribe = false;\n const subscription = this.event$({ taskId, after: undefined }).subscribe({\n error: _ => {\n subscription.unsubscribe();\n },\n next: ({ events }) => {\n for (const event of events) {\n if (event.type === 'cancelled') {\n abortController.abort();\n shouldUnsubscribe = true;\n }\n\n if (event.type === 'completion' && !event.isTaskRecoverable) {\n shouldUnsubscribe = true;\n }\n }\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n }\n },\n });\n }\n\n public async recoverTasks(): Promise {\n const enabled =\n this.config?.getOptionalBoolean('scaffolder.EXPERIMENTAL_recoverTasks') ??\n false;\n\n if (enabled) {\n const defaultTimeout = { seconds: 30 };\n const timeout = readDuration(\n this.config,\n 'scaffolder.EXPERIMENTAL_recoverTasksTimeout',\n defaultTimeout,\n );\n const { ids: recoveredTaskIds } = (await this.storage.recoverTasks?.({\n timeout,\n })) ?? { ids: [] };\n if (recoveredTaskIds.length > 0) {\n this.signalDispatch();\n }\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.claim}\n */\n async claim(): Promise {\n for (;;) {\n const pendingTask = await this.storage.claimTask();\n if (pendingTask) {\n const abortController = new AbortController();\n await this.registerCancellable(pendingTask.id, abortController);\n return TaskManager.create(\n {\n taskId: pendingTask.id,\n spec: pendingTask.spec,\n secrets: pendingTask.secrets,\n createdBy: pendingTask.createdBy,\n state: pendingTask.state,\n },\n this.storage,\n abortController.signal,\n this.logger,\n this.auditLogger,\n this.auth,\n this.config,\n this.additionalWorkspaceProviders,\n );\n }\n\n await this.waitForDispatch();\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.dispatch}\n */\n async dispatch(\n options: TaskBrokerDispatchOptions,\n ): Promise<{ taskId: string }> {\n const taskRow = await this.storage.createTask(options);\n this.signalDispatch();\n return {\n taskId: taskRow.taskId,\n };\n }\n\n /**\n * {@inheritdoc TaskBroker.get}\n */\n async get(taskId: string): Promise {\n return this.storage.getTask(taskId);\n }\n\n /**\n * {@inheritdoc TaskBroker.event$}\n */\n event$(options: {\n taskId: string;\n after?: number;\n }): Observable<{ events: SerializedTaskEvent[] }> {\n return new ObservableImpl(observer => {\n const { taskId } = options;\n\n let after = options.after;\n let cancelled = false;\n\n (async () => {\n const task = await this.storage.getTask(taskId);\n const isTaskRecoverable =\n task.spec.EXPERIMENTAL_recovery?.EXPERIMENTAL_strategy ===\n 'startOver';\n\n while (!cancelled) {\n const result = await this.storage.listEvents({\n isTaskRecoverable,\n taskId,\n after,\n });\n const { events } = result;\n if (events.length) {\n after = events[events.length - 1].id;\n observer.next(result);\n }\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n })();\n\n return () => {\n cancelled = true;\n };\n });\n }\n\n /**\n * {@inheritdoc TaskBroker.vacuumTasks}\n */\n async vacuumTasks(options: { timeoutS: number }): Promise {\n const { tasks } = await this.storage.listStaleTasks(options);\n await Promise.all(\n tasks.map(async task => {\n try {\n this.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderStaleTaskCancellation',\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId: task.taskId,\n },\n message: `Attempting to cancel Stale scaffolding task ${task.taskId} because the task worker lost connection to the task broker`,\n });\n await this.storage.completeTask({\n taskId: task.taskId,\n status: 'failed',\n eventBody: {\n message:\n 'The task was cancelled because the task worker lost connection to the task broker',\n },\n });\n this.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderStaleTaskCancellation',\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId: task.taskId,\n },\n message: `Stale scaffolding task ${task.taskId} successfully cancelled`,\n });\n } catch (error) {\n this.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderStaleTaskCancellation',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId: task.taskId,\n },\n errors: [\n {\n name: error.name,\n message: error.message,\n stack: error.stack,\n },\n ],\n message: `Failed to cancel stale scaffolding task ${task.taskId}`,\n });\n }\n }),\n );\n }\n\n private waitForDispatch() {\n return this.deferredDispatch.promise;\n }\n\n private signalDispatch() {\n this.deferredDispatch.resolve();\n this.deferredDispatch = defer();\n }\n\n async cancel(taskId: string) {\n const { events } = await this.storage.listEvents({ taskId });\n const currentStepId =\n events.length > 0\n ? events\n .filter(({ body }) => body?.stepId)\n .reduce((prev, curr) => (prev.id > curr.id ? prev : curr)).body\n .stepId\n : 0;\n\n await this.storage.cancelTask?.({\n taskId,\n body: {\n message: `Step ${currentStepId} has been cancelled.`,\n stepId: currentStepId,\n status: 'cancelled',\n },\n });\n }\n\n async retry?(taskId: string): Promise {\n await this.storage.retryTask?.({ taskId });\n this.signalDispatch();\n }\n}\n"],"names":["DefaultWorkspaceService","readDuration","ObservableImpl"],"mappings":"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"} -\ No newline at end of file -diff --git a/dist/scaffolder/tasks/TaskWorker.cjs.js b/dist/scaffolder/tasks/TaskWorker.cjs.js -index 3c432ad8854984e61df2265a4a044cb6ed4307c2..f959924862b85f14074962c6f0b0302b0a5dec20 100644 ---- a/dist/scaffolder/tasks/TaskWorker.cjs.js -+++ b/dist/scaffolder/tasks/TaskWorker.cjs.js -@@ -13,6 +13,7 @@ class TaskWorker { - this.options = options; - this.stopWorkers = false; - this.logger = options.logger; -+ this.auditLogger = options.auditLogger; - this.taskQueue = new PQueue__default.default({ - concurrency: options.concurrentTasksLimit - }); -@@ -20,6 +21,7 @@ class TaskWorker { - taskQueue; - logger; - stopWorkers; -+ auditLogger; - static async create(options) { - const { - taskBroker, -@@ -31,12 +33,14 @@ class TaskWorker { - concurrentTasksLimit = 10, - // from 1 to Infinity - additionalTemplateGlobals, -- permissions -+ permissions, -+ auditLogger - } = options; - const workflowRunner = new NunjucksWorkflowRunner.NunjucksWorkflowRunner({ - actionRegistry, - integrations, - logger, -+ auditLogger, - workingDirectory, - additionalTemplateFilters, - additionalTemplateGlobals, -@@ -46,7 +50,8 @@ class TaskWorker { - taskBroker, - runners: { workflowRunner }, - concurrentTasksLimit, -- permissions -+ permissions, -+ auditLogger - }); - } - async recoverTasks() { -@@ -88,6 +93,18 @@ class TaskWorker { - } - async runOneTask(task) { - try { -+ await this.auditLogger?.auditLog({ -+ eventName: "ScaffolderTaskExecution", -+ actorId: "scaffolder-backend", -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId: task.taskId, -+ taskParameters: task.spec.parameters, -+ templateRef: task.spec.templateInfo?.entityRef -+ }, -+ message: `Scaffolding task with taskId: ${task.taskId} initiated` -+ }); - if (task.spec.apiVersion !== "scaffolder.backstage.io/v1beta3") { - throw new Error( - `Unsupported Template apiVersion ${task.spec.apiVersion}` -diff --git a/dist/scaffolder/tasks/TaskWorker.cjs.js.map b/dist/scaffolder/tasks/TaskWorker.cjs.js.map -index f34e0d282f02ad2291a23fd71f864d4740678c2a..20ee2a529cd976e163ad3845eda8785bb90f35fe 100644 ---- a/dist/scaffolder/tasks/TaskWorker.cjs.js.map -+++ b/dist/scaffolder/tasks/TaskWorker.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"TaskWorker.cjs.js","sources":["../../../src/scaffolder/tasks/TaskWorker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WorkflowRunner } from './types';\nimport {\n TaskContext,\n TaskBroker,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport PQueue from 'p-queue';\nimport { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner';\nimport { Logger } from 'winston';\nimport { TemplateActionRegistry } from '../actions';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { assertError, stringifyError } from '@backstage/errors';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\n\n/**\n * TaskWorkerOptions\n *\n * @public\n */\nexport type TaskWorkerOptions = {\n taskBroker: TaskBroker;\n runners: {\n workflowRunner: WorkflowRunner;\n };\n concurrentTasksLimit: number;\n permissions?: PermissionEvaluator;\n logger?: Logger;\n};\n\n/**\n * CreateWorkerOptions\n *\n * @public\n */\nexport type CreateWorkerOptions = {\n taskBroker: TaskBroker;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n workingDirectory: string;\n logger: Logger;\n additionalTemplateFilters?: Record;\n /**\n * The number of tasks that can be executed at the same time by the worker\n * @defaultValue 10\n * @example\n * ```\n * {\n * concurrentTasksLimit: 1,\n * // OR\n * concurrentTasksLimit: Infinity\n * }\n * ```\n */\n concurrentTasksLimit?: number;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * TaskWorker\n *\n * @public\n */\nexport class TaskWorker {\n private taskQueue: PQueue;\n private logger: Logger | undefined;\n private stopWorkers: boolean;\n\n private constructor(private readonly options: TaskWorkerOptions) {\n this.stopWorkers = false;\n this.logger = options.logger;\n this.taskQueue = new PQueue({\n concurrency: options.concurrentTasksLimit,\n });\n }\n\n static async create(options: CreateWorkerOptions): Promise {\n const {\n taskBroker,\n logger,\n actionRegistry,\n integrations,\n workingDirectory,\n additionalTemplateFilters,\n concurrentTasksLimit = 10, // from 1 to Infinity\n additionalTemplateGlobals,\n permissions,\n } = options;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n return new TaskWorker({\n taskBroker: taskBroker,\n runners: { workflowRunner },\n concurrentTasksLimit,\n permissions,\n });\n }\n\n async recoverTasks() {\n try {\n await this.options.taskBroker.recoverTasks?.();\n } catch (err) {\n this.logger?.error(stringifyError(err));\n }\n }\n\n start() {\n (async () => {\n while (!this.stopWorkers) {\n await new Promise(resolve => setTimeout(resolve, 10000));\n await this.recoverTasks();\n }\n })();\n (async () => {\n while (!this.stopWorkers) {\n await this.onReadyToClaimTask();\n if (!this.stopWorkers) {\n const task = await this.options.taskBroker.claim();\n void this.taskQueue.add(() => this.runOneTask(task));\n }\n }\n })();\n }\n\n stop() {\n this.stopWorkers = true;\n }\n\n protected onReadyToClaimTask(): Promise {\n if (this.taskQueue.pending < this.options.concurrentTasksLimit) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n // \"next\" event emits when a task completes\n // https://github.com/sindresorhus/p-queue#next\n this.taskQueue.once('next', () => {\n resolve();\n });\n });\n }\n\n async runOneTask(task: TaskContext) {\n try {\n if (task.spec.apiVersion !== 'scaffolder.backstage.io/v1beta3') {\n throw new Error(\n `Unsupported Template apiVersion ${task.spec.apiVersion}`,\n );\n }\n\n const { output } = await this.options.runners.workflowRunner.execute(\n task,\n );\n\n await task.complete('completed', { output });\n } catch (error) {\n assertError(error);\n await task.complete('failed', {\n error: { name: error.name, message: error.message },\n });\n }\n }\n}\n"],"names":["PQueue","NunjucksWorkflowRunner","stringifyError","assertError"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"TaskWorker.cjs.js","sources":["../../../src/scaffolder/tasks/TaskWorker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WorkflowRunner } from './types';\nimport {\n TaskContext,\n TaskBroker,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport PQueue from 'p-queue';\nimport { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner';\nimport { Logger } from 'winston';\nimport { TemplateActionRegistry } from '../actions';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { assertError, stringifyError } from '@backstage/errors';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\n\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\n/**\n * TaskWorkerOptions\n *\n * @public\n */\nexport type TaskWorkerOptions = {\n taskBroker: TaskBroker;\n runners: {\n workflowRunner: WorkflowRunner;\n };\n concurrentTasksLimit: number;\n permissions?: PermissionEvaluator;\n logger?: Logger;\n auditLogger?: AuditLogger;\n};\n\n/**\n * CreateWorkerOptions\n *\n * @public\n */\nexport type CreateWorkerOptions = {\n taskBroker: TaskBroker;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n workingDirectory: string;\n logger: Logger;\n auditLogger: AuditLogger;\n additionalTemplateFilters?: Record;\n /**\n * The number of tasks that can be executed at the same time by the worker\n * @defaultValue 10\n * @example\n * ```\n * {\n * concurrentTasksLimit: 1,\n * // OR\n * concurrentTasksLimit: Infinity\n * }\n * ```\n */\n concurrentTasksLimit?: number;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * TaskWorker\n *\n * @public\n */\nexport class TaskWorker {\n private taskQueue: PQueue;\n private logger: Logger | undefined;\n private stopWorkers: boolean;\n private auditLogger: AuditLogger | undefined;\n\n private constructor(private readonly options: TaskWorkerOptions) {\n this.stopWorkers = false;\n this.logger = options.logger;\n this.auditLogger = options.auditLogger;\n this.taskQueue = new PQueue({\n concurrency: options.concurrentTasksLimit,\n });\n }\n\n static async create(options: CreateWorkerOptions): Promise {\n const {\n taskBroker,\n logger,\n actionRegistry,\n integrations,\n workingDirectory,\n additionalTemplateFilters,\n concurrentTasksLimit = 10, // from 1 to Infinity\n additionalTemplateGlobals,\n permissions,\n auditLogger,\n } = options;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n actionRegistry,\n integrations,\n logger,\n auditLogger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n return new TaskWorker({\n taskBroker: taskBroker,\n runners: { workflowRunner },\n concurrentTasksLimit,\n permissions,\n auditLogger,\n });\n }\n\n async recoverTasks() {\n try {\n await this.options.taskBroker.recoverTasks?.();\n } catch (err) {\n this.logger?.error(stringifyError(err));\n }\n }\n\n start() {\n (async () => {\n while (!this.stopWorkers) {\n await new Promise(resolve => setTimeout(resolve, 10000));\n await this.recoverTasks();\n }\n })();\n (async () => {\n while (!this.stopWorkers) {\n await this.onReadyToClaimTask();\n if (!this.stopWorkers) {\n const task = await this.options.taskBroker.claim();\n void this.taskQueue.add(() => this.runOneTask(task));\n }\n }\n })();\n }\n\n stop() {\n this.stopWorkers = true;\n }\n\n protected onReadyToClaimTask(): Promise {\n if (this.taskQueue.pending < this.options.concurrentTasksLimit) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n // \"next\" event emits when a task completes\n // https://github.com/sindresorhus/p-queue#next\n this.taskQueue.once('next', () => {\n resolve();\n });\n });\n }\n\n async runOneTask(task: TaskContext) {\n try {\n await this.auditLogger?.auditLog({\n eventName: 'ScaffolderTaskExecution',\n actorId: 'scaffolder-backend',\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId: task.taskId,\n taskParameters: task.spec.parameters,\n templateRef: task.spec.templateInfo?.entityRef,\n },\n message: `Scaffolding task with taskId: ${task.taskId} initiated`,\n });\n if (task.spec.apiVersion !== 'scaffolder.backstage.io/v1beta3') {\n throw new Error(\n `Unsupported Template apiVersion ${task.spec.apiVersion}`,\n );\n }\n const { output } = await this.options.runners.workflowRunner.execute(\n task,\n );\n await task.complete('completed', { output });\n } catch (error) {\n assertError(error);\n await task.complete('failed', {\n error: { name: error.name, message: error.message },\n });\n }\n }\n}\n"],"names":["PQueue","NunjucksWorkflowRunner","stringifyError","assertError"],"mappings":"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"} -\ No newline at end of file -diff --git a/dist/service/router.cjs.js b/dist/service/router.cjs.js -index 7ecf2b0d18bbbd9f2fc5a571af6d999c0068d37b..6c0a2ecfa0f896b44b3bb7681b680aafba60cdc3 100644 ---- a/dist/service/router.cjs.js -+++ b/dist/service/router.cjs.js -@@ -50,6 +50,8 @@ var helpers = require('./helpers.cjs.js'); - var pluginPermissionNode = require('@backstage/plugin-permission-node'); - var rules = require('./rules.cjs.js'); - var checkPermissions = require('../util/checkPermissions.cjs.js'); -+var lodash = require('lodash'); -+var backstagePluginAuditLogNode = require('@janus-idp/backstage-plugin-audit-log-node'); - - function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } - -@@ -142,6 +144,11 @@ async function createRouter(options) { - }); - const concurrentTasksLimit = options.concurrentTasksLimit ?? options.config.getOptionalNumber("scaffolder.concurrentTasksLimit"); - const logger = parentLogger.child({ plugin: "scaffolder" }); -+ const auditLogger = new backstagePluginAuditLogNode.DefaultAuditLogger({ -+ logger, -+ authService: auth, -+ httpAuthService: httpAuth -+ }); - const workingDirectory = await helpers.getWorkingDirectory(config, logger); - const integrations = integration.ScmIntegrations.fromConfig(config); - let taskBroker; -@@ -150,6 +157,7 @@ async function createRouter(options) { - taskBroker = new StorageTaskBroker.StorageTaskBroker( - databaseTaskStore, - logger, -+ auditLogger, - config, - auth, - additionalWorkspaceProviders -@@ -196,7 +204,8 @@ async function createRouter(options) { - additionalTemplateFilters, - additionalTemplateGlobals, - concurrentTasksLimit, -- permissions -+ permissions, -+ auditLogger - }); - workers.push(worker); - } -@@ -225,6 +234,7 @@ async function createRouter(options) { - actionRegistry, - integrations, - logger, -+ auditLogger, - workingDirectory, - additionalTemplateFilters, - additionalTemplateGlobals, -@@ -262,40 +272,134 @@ async function createRouter(options) { - router.get( - "/v2/templates/:namespace/:kind/:name/parameter-schema", - async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- const { token } = await auth.getPluginRequestToken({ -- onBehalfOf: credentials, -- targetPluginId: "catalog" -+ const requestedTemplateRef = `${req.params.kind}:${req.params.namespace}/${req.params.name}`; -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ const credentials = await httpAuth.credentials(req); -+ const { token } = await auth.getPluginRequestToken({ -+ onBehalfOf: credentials, -+ targetPluginId: "catalog" -+ }); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderParameterSchemaFetch", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ templateRef: requestedTemplateRef -+ }, -+ request: req, -+ message: `${actorId} requested the parameter schema for ${requestedTemplateRef}` -+ }); -+ const template = await authorizeTemplate( -+ req.params, -+ token, -+ credentials -+ ); -+ const parameters = [template.spec.parameters ?? []].flat(); -+ const presentation = template.spec.presentation; -+ const templateRef = `${template.kind}:${template.metadata.namespace || "default"}/${template.metadata.name}`; -+ const responseBody = { -+ title: template.metadata.title ?? template.metadata.name, -+ ...presentation ? { presentation } : {}, -+ description: template.metadata.description, -+ "ui:options": template.metadata["ui:options"], -+ steps: parameters.map((schema) => ({ -+ title: schema.title ?? "Please enter the following information", -+ description: schema.description, -+ schema -+ })) -+ }; -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderParameterSchemaFetch", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ templateRef -+ }, -+ request: req, -+ response: { -+ status: 200, -+ body: responseBody -+ }, -+ message: `${actorId} successfully requested the parameter schema for ${templateRef}` -+ }); -+ res.json(responseBody); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderParameterSchemaFetch", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ metadata: { -+ templateRef: requestedTemplateRef -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `${actorId} failed to request the parameter schema for ${requestedTemplateRef}` -+ }); -+ throw err; -+ } -+ } -+ ).get("/v2/actions", async (req, res) => { -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderInstalledActionsFetch", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ request: req, -+ message: `${actorId} requested the list of installed actions` - }); -- const template = await authorizeTemplate( -- req.params, -- token, -- credentials -- ); -- const parameters = [template.spec.parameters ?? []].flat(); -- const presentation = template.spec.presentation; -- res.json({ -- title: template.metadata.title ?? template.metadata.name, -- ...presentation ? { presentation } : {}, -- description: template.metadata.description, -- "ui:options": template.metadata["ui:options"], -- steps: parameters.map((schema) => ({ -- title: schema.title ?? "Please enter the following information", -- description: schema.description, -- schema -- })) -+ const actionsList = actionRegistry.list().map((action) => { -+ return { -+ id: action.id, -+ description: action.description, -+ examples: action.examples, -+ schema: action.schema -+ }; -+ }); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderInstalledActionsFetch", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ request: req, -+ response: { -+ status: 200, -+ body: actionsList -+ }, -+ message: `${actorId} successfully requested the list of installed actions` - }); -+ res.json(actionsList); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderInstalledActionsFetch", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `${actorId} failed to request for the list of installed actions` -+ }); -+ throw err; - } -- ).get("/v2/actions", async (_req, res) => { -- const actionsList = actionRegistry.list().map((action) => { -- return { -- id: action.id, -- description: action.description, -- examples: action.examples, -- schema: action.schema -- }; -- }); -- res.json(actionsList); - }).post("/v2/tasks", async (req, res) => { - const templateRef = req.body.templateRef; - const { kind, namespace, name } = catalogModel.parseEntityRef(templateRef, { -@@ -313,280 +417,762 @@ async function createRouter(options) { - }); - const userEntityRef = auth.isPrincipal(credentials, "user") ? credentials.principal.userEntityRef : void 0; - const userEntity = userEntityRef ? await catalogClient.getEntityByRef(userEntityRef, { token }) : void 0; -- let auditLog = `Scaffolding task for ${templateRef}`; -- if (userEntityRef) { -- auditLog += ` created by ${userEntityRef}`; -- } -- logger.info(auditLog); - const values = req.body.values; -- const template = await authorizeTemplate( -- { kind, namespace, name }, -- token, -- credentials -- ); -- for (const parameters of [template.spec.parameters ?? []].flat()) { -- const result2 = jsonschema.validate(values, parameters); -- if (!result2.valid) { -- res.status(400).json({ errors: result2.errors }); -- return; -+ const redactedRequest = lodash.cloneDeep(req); -+ Object.defineProperty(redactedRequest, "ip", { -+ get: () => { -+ return req.ip; - } -+ }); -+ if (req.body.secrets) { -+ const redactedBody = { -+ ...req.body, -+ secrets: Object.keys(req.body.secrets).reduce((acc, key) => { -+ return { -+ ...acc, -+ [key]: "***" -+ }; -+ }, {}) -+ }; -+ redactedRequest.body = redactedBody; - } -- const baseUrl = helpers.getEntityBaseUrl(template); -- const taskSpec = { -- apiVersion: template.apiVersion, -- steps: template.spec.steps.map((step, index) => ({ -- ...step, -- id: step.id ?? `step-${index + 1}`, -- name: step.name ?? step.action -- })), -- EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery, -- output: template.spec.output ?? {}, -- parameters: values, -- user: { -- entity: userEntity, -- ref: userEntityRef -- }, -- templateInfo: { -- entityRef: catalogModel.stringifyEntityRef({ kind, name, namespace }), -- baseUrl, -- entity: { -- metadata: template.metadata -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCreation", -+ stage: "initiation", -+ status: "succeeded", -+ actorId: userEntityRef, -+ request: redactedRequest, -+ metadata: { -+ templateRef -+ }, -+ message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} initiated` -+ }); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskCreatePermission], -+ permissionService: permissions -+ }); -+ const template = await authorizeTemplate( -+ { kind, namespace, name }, -+ token, -+ credentials -+ ); -+ for (const parameters of [template.spec.parameters ?? []].flat()) { -+ const result2 = jsonschema.validate(values, parameters); -+ if (!result2.valid) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCreation", -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ actorId: userEntityRef, -+ request: redactedRequest, -+ metadata: { -+ templateRef -+ }, -+ response: { -+ status: 400, -+ body: { errors: result2.errors } -+ }, -+ errors: result2.errors, -+ message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed` -+ }); -+ return res.status(400).json({ errors: result2.errors }); - } - } -- }; -- const secrets = { -- ...req.body.secrets, -- backstageToken: token, -- __initiatorCredentials: JSON.stringify({ -- ...credentials, -- // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly -- token: credentials.token -- }) -- }; -- const result = await taskBroker.dispatch({ -- spec: taskSpec, -- createdBy: userEntityRef, -- secrets -- }); -- res.status(201).json({ id: result.taskId }); -- }).get("/v2/tasks", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskReadPermission], -- permissionService: permissions -- }); -- if (!taskBroker.list) { -- throw new Error( -- "TaskBroker does not support listing tasks, please implement the list method on the TaskBroker." -- ); -+ const baseUrl = helpers.getEntityBaseUrl(template); -+ const taskSpec = { -+ apiVersion: template.apiVersion, -+ steps: template.spec.steps.map((step, index) => ({ -+ ...step, -+ id: step.id ?? `step-${index + 1}`, -+ name: step.name ?? step.action -+ })), -+ EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery, -+ output: template.spec.output ?? {}, -+ parameters: values, -+ user: { -+ entity: userEntity, -+ ref: userEntityRef -+ }, -+ templateInfo: { -+ entityRef: catalogModel.stringifyEntityRef({ kind, name, namespace }), -+ baseUrl, -+ entity: { -+ metadata: template.metadata -+ } -+ } -+ }; -+ const secrets = { -+ ...req.body.secrets, -+ backstageToken: token, -+ __initiatorCredentials: JSON.stringify({ -+ ...credentials, -+ // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly -+ token: credentials.token -+ }) -+ }; -+ const result = await taskBroker.dispatch({ -+ spec: taskSpec, -+ createdBy: userEntityRef, -+ secrets -+ }); -+ let auditLog = `Scaffolding task for ${templateRef}`; -+ if (userEntityRef) { -+ auditLog += ` created by ${userEntityRef}`; -+ } -+ logger.info(auditLog); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCreation", -+ stage: "completion", -+ status: "succeeded", -+ actorId: userEntityRef, -+ request: redactedRequest, -+ metadata: { -+ taskId: result.taskId, -+ templateRef -+ }, -+ response: { -+ status: 201, -+ body: { id: result.taskId } -+ }, -+ message: `Scaffolding task for ${templateRef} with taskId: ${result.taskId} successfully created by ${userEntityRef}` -+ }); -+ return res.status(201).json({ id: result.taskId }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCreation", -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ actorId: userEntityRef, -+ request: redactedRequest, -+ metadata: { -+ templateRef -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed` -+ }); -+ throw err; - } -- const createdBy = helpers.parseStringsParam(req.query.createdBy, "createdBy"); -- const status = helpers.parseStringsParam(req.query.status, "status"); -- const order = helpers.parseStringsParam(req.query.order, "order")?.map((item) => { -- const match = item.match(/^(asc|desc):(.+)$/); -- if (!match) { -- throw new errors.InputError( -- `Invalid order parameter "${item}", expected ":"` -+ }).get("/v2/tasks", async (req, res) => { -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskListFetch", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ request: req, -+ message: `${actorId} requested for the list of scaffolder tasks` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskReadPermission], -+ permissionService: permissions -+ }); -+ if (!taskBroker.list) { -+ throw new Error( -+ "TaskBroker does not support listing tasks, please implement the list method on the TaskBroker." - ); - } -- return { -- order: match[1], -- field: match[2] -- }; -- }); -- const limit = helpers.parseNumberParam(req.query.limit, "limit"); -- const offset = helpers.parseNumberParam(req.query.offset, "offset"); -- const tasks = await taskBroker.list({ -- filters: { -- createdBy, -- status: status ? status : void 0 -- }, -- order, -- pagination: { -- limit: limit ? limit[0] : void 0, -- offset: offset ? offset[0] : void 0 -- } -- }); -- res.status(200).json(tasks); -+ const createdBy = helpers.parseStringsParam(req.query.createdBy, "createdBy"); -+ const status = helpers.parseStringsParam(req.query.status, "status"); -+ const order = helpers.parseStringsParam(req.query.order, "order")?.map((item) => { -+ const match = item.match(/^(asc|desc):(.+)$/); -+ if (!match) { -+ throw new errors.InputError( -+ `Invalid order parameter "${item}", expected ":"` -+ ); -+ } -+ return { -+ order: match[1], -+ field: match[2] -+ }; -+ }); -+ const limit = helpers.parseNumberParam(req.query.limit, "limit"); -+ const offset = helpers.parseNumberParam(req.query.offset, "offset"); -+ const tasks = await taskBroker.list({ -+ filters: { -+ createdBy, -+ status: status ? status : void 0 -+ }, -+ order, -+ pagination: { -+ limit: limit ? limit[0] : void 0, -+ offset: offset ? offset[0] : void 0 -+ } -+ }); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskListFetch", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ request: req, -+ response: { -+ status: 200, -+ body: tasks -+ }, -+ message: `${actorId} successfully requested for the list of scaffolder tasks` -+ }); -+ res.status(200).json(tasks); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskListFetch", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `${actorId} request for the list of scaffolder tasks failed` -+ }); -+ throw err; -+ } - }).get("/v2/tasks/:taskId", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskReadPermission], -- permissionService: permissions -- }); - const { taskId } = req.params; -- const task = await taskBroker.get(taskId); -- if (!task) { -- throw new errors.NotFoundError(`Task with id ${taskId} does not exist`); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskFetch", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ message: `${actorId} requested for scaffolder task ${taskId}` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskReadPermission], -+ permissionService: permissions -+ }); -+ const task = await taskBroker.get(taskId); -+ if (!task) { -+ throw new errors.NotFoundError(`Task with id ${taskId} does not exist`); -+ } -+ delete task.secrets; -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskFetch", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ request: req, -+ response: { -+ status: 200, -+ body: task -+ }, -+ message: `${actorId} successfully requested for scaffolder tasks ${taskId}` -+ }); -+ res.status(200).json(task); -+ } catch (err) { -+ let status = 500; -+ if (err.name === "NotFoundError") { -+ status = 404; -+ } -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskFetch", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ response: { -+ status -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `${actorId} request for scaffolder tasks ${taskId} failed` -+ }); -+ throw err; - } -- delete task.secrets; -- res.status(200).json(task); - }).post("/v2/tasks/:taskId/cancel", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskCancelPermission, alpha.taskReadPermission], -- permissionService: permissions -- }); - const { taskId } = req.params; -- await taskBroker.cancel?.(taskId); -- res.status(200).json({ status: "cancelled" }); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCancellation", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ message: `Cancellation request for Scaffolding task with taskId: ${taskId} from ${actorId} received` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskCancelPermission], -+ permissionService: permissions -+ }); -+ await taskBroker.cancel?.(taskId); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCancellation", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ response: { -+ status: 200, -+ body: { status: "cancelled" } -+ }, -+ message: `Scaffolding task with taskId: ${taskId} successfully cancelled by ${actorId}` -+ }); -+ res.status(200).json({ status: "cancelled" }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskCancellation", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `${actorId}'s cancel request for task ${taskId} failed` -+ }); -+ throw err; -+ } - }).post("/v2/tasks/:taskId/retry", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskCreatePermission, alpha.taskReadPermission], -- permissionService: permissions -- }); - const { taskId } = req.params; -- await taskBroker.retry?.(taskId); -- res.status(201).json({ id: taskId }); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskRetry", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ message: `Retry request for Scaffolding task with taskId: ${taskId} from ${actorId} received` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskCreatePermission, alpha.taskReadPermission], -+ permissionService: permissions -+ }); -+ await taskBroker.retry?.(taskId); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskRetry", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ response: { -+ status: 201, -+ body: { id: taskId } -+ }, -+ message: `Scaffolding task with taskId: ${taskId} successfully retried by ${actorId}` -+ }); -+ res.status(201).json({ id: taskId }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskRetry", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `${actorId}'s retry request for task ${taskId} failed` -+ }); -+ throw err; -+ } - }).get("/v2/tasks/:taskId/eventstream", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskReadPermission], -- permissionService: permissions -- }); - const { taskId } = req.params; -- const after = req.query.after !== void 0 ? Number(req.query.after) : void 0; -- logger.debug(`Event stream observing taskId '${taskId}' opened`); -- res.writeHead(200, { -- Connection: "keep-alive", -- "Cache-Control": "no-cache", -- "Content-Type": "text/event-stream" -- }); -- const subscription = taskBroker.event$({ taskId, after }).subscribe({ -- error: (error) => { -- logger.error( -- `Received error from event stream when observing taskId '${taskId}', ${error}` -- ); -- res.end(); -- }, -- next: ({ events }) => { -- let shouldUnsubscribe = false; -- for (const event of events) { -- res.write( -- `event: ${event.type} -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ const after = req.query.after !== void 0 ? Number(req.query.after) : void 0; -+ logger.debug(`Event stream observing taskId '${taskId}' opened`); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskStream", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ message: `Event stream for scaffolding task with taskId: ${taskId} was opened by ${actorId}` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskReadPermission], -+ permissionService: permissions -+ }); -+ res.writeHead(200, { -+ Connection: "keep-alive", -+ "Cache-Control": "no-cache", -+ "Content-Type": "text/event-stream" -+ }); -+ const subscription = taskBroker.event$({ taskId, after }).subscribe({ -+ error: async (error) => { -+ logger.error( -+ `Received error from event stream when observing taskId '${taskId}', ${error}` -+ ); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskStream", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ errors: [ -+ { -+ name: error.name, -+ message: error.message, -+ stack: error.stack, -+ cause: error.cause -+ } -+ ], -+ message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}` -+ }); -+ res.end(); -+ }, -+ next: ({ events }) => { -+ let shouldUnsubscribe = false; -+ for (const event of events) { -+ res.write( -+ `event: ${event.type} - data: ${JSON.stringify(event)} - - ` -- ); -- if (event.type === "completion" && !event.isTaskRecoverable) { -- shouldUnsubscribe = true; -+ ); -+ if (event.type === "completion") { -+ shouldUnsubscribe = true; -+ } -+ } -+ res.flush?.(); -+ if (shouldUnsubscribe) { -+ subscription.unsubscribe(); -+ res.end(); - } - } -- res.flush?.(); -- if (shouldUnsubscribe) { -- subscription.unsubscribe(); -- res.end(); -- } -- } -- }); -- req.on("close", () => { -- subscription.unsubscribe(); -- logger.debug(`Event stream observing taskId '${taskId}' closed`); -- }); -+ }); -+ req.on("close", async () => { -+ subscription.unsubscribe(); -+ logger.debug(`Event stream observing taskId '${taskId}' closed`); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskStream", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ message: `Event stream observing scaffolding task with taskId: ${taskId} was closed by ${actorId}` -+ }); -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskStream", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}` -+ }); -+ throw err; -+ } - }).get("/v2/tasks/:taskId/events", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskReadPermission], -- permissionService: permissions -- }); - const { taskId } = req.params; -- const after = Number(req.query.after) || void 0; -- const timeout = setTimeout(() => { -- res.json([]); -- }, 3e4); -- const subscription = taskBroker.event$({ taskId, after }).subscribe({ -- error: (error) => { -- logger.error( -- `Received error from event stream when observing taskId '${taskId}', ${error}` -- ); -- }, -- next: ({ events }) => { -- clearTimeout(timeout); -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ const after = Number(req.query.after) || void 0; -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskEventFetch", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} initiated by ${actorId}` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskReadPermission], -+ permissionService: permissions -+ }); -+ const timeout = setTimeout(() => { -+ res.json([]); -+ }, 3e4); -+ const subscription = taskBroker.event$({ taskId, after }).subscribe({ -+ error: async (error) => { -+ logger.error( -+ `Received error from event stream when observing taskId '${taskId}', ${error}` -+ ); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskEventFetch", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ errors: [ -+ { -+ name: error.name, -+ message: error.message, -+ stack: error.stack -+ } -+ ], -+ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed` -+ }); -+ }, -+ next: async ({ events }) => { -+ clearTimeout(timeout); -+ subscription.unsubscribe(); -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskEventFetch", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ response: { -+ status: 200, -+ body: events -+ }, -+ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} by ${actorId} succeeded` -+ }); -+ res.json(events); -+ } -+ }); -+ req.on("close", () => { - subscription.unsubscribe(); -- res.json(events); -- } -- }); -- req.on("close", () => { -- subscription.unsubscribe(); -- clearTimeout(timeout); -- }); -- }).post("/v2/dry-run", async (req, res) => { -- const credentials = await httpAuth.credentials(req); -- await checkPermissions.checkPermission({ -- credentials, -- permissions: [alpha.taskCreatePermission], -- permissionService: permissions -- }); -- const bodySchema = zod.z.object({ -- template: zod.z.unknown(), -- values: zod.z.record(zod.z.unknown()), -- secrets: zod.z.record(zod.z.string()).optional(), -- directoryContents: zod.z.array( -- zod.z.object({ path: zod.z.string(), base64Content: zod.z.string() }) -- ) -- }); -- const body = await bodySchema.parseAsync(req.body).catch((e) => { -- throw new errors.InputError(`Malformed request: ${e}`); -- }); -- const template = body.template; -- if (!await pluginScaffolderCommon.templateEntityV1beta3Validator.check(template)) { -- throw new errors.InputError("Input template is not a template"); -+ clearTimeout(timeout); -+ }); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskEventFetch", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ taskId -+ }, -+ request: req, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed` -+ }); -+ throw err; - } -- const { token } = await auth.getPluginRequestToken({ -- onBehalfOf: credentials, -- targetPluginId: "catalog" -- }); -- const userEntityRef = auth.isPrincipal(credentials, "user") ? credentials.principal.userEntityRef : void 0; -- const userEntity = userEntityRef ? await catalogClient.getEntityByRef(userEntityRef, { token }) : void 0; -- for (const parameters of [template.spec.parameters ?? []].flat()) { -- const result2 = jsonschema.validate(body.values, parameters); -- if (!result2.valid) { -- res.status(400).json({ errors: result2.errors }); -- return; -+ }).post("/v2/dry-run", async (req, res) => { -+ const actorId = await auditLogger.getActorId(req); -+ try { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskDryRun", -+ actorId, -+ stage: "initiation", -+ status: "succeeded", -+ metadata: { -+ isDryRun: true -+ }, -+ request: req, -+ message: `Dry Run scaffolder task initiated by ${actorId}` -+ }); -+ const credentials = await httpAuth.credentials(req); -+ await checkPermissions.checkPermission({ -+ credentials, -+ permissions: [alpha.taskCreatePermission], -+ permissionService: permissions -+ }); -+ const bodySchema = zod.z.object({ -+ template: zod.z.unknown(), -+ values: zod.z.record(zod.z.unknown()), -+ secrets: zod.z.record(zod.z.string()).optional(), -+ directoryContents: zod.z.array( -+ zod.z.object({ path: zod.z.string(), base64Content: zod.z.string() }) -+ ) -+ }); -+ const body = await bodySchema.parseAsync(req.body).catch((e) => { -+ throw new errors.InputError(`Malformed request: ${e}`); -+ }); -+ const template = body.template; -+ if (!await pluginScaffolderCommon.templateEntityV1beta3Validator.check(template)) { -+ throw new errors.InputError("Input template is not a template"); - } -- } -- const steps = template.spec.steps.map((step, index) => ({ -- ...step, -- id: step.id ?? `step-${index + 1}`, -- name: step.name ?? step.action -- })); -- const result = await dryRunner({ -- spec: { -- apiVersion: template.apiVersion, -- steps, -- output: template.spec.output ?? {}, -- parameters: body.values, -- user: { -- entity: userEntity, -- ref: userEntityRef -+ const templateRef = `${template.kind}:${template.metadata.namespace || "default"}/${template.metadata.name}`; -+ const { token } = await auth.getPluginRequestToken({ -+ onBehalfOf: credentials, -+ targetPluginId: "catalog" -+ }); -+ const userEntityRef = auth.isPrincipal(credentials, "user") ? credentials.principal.userEntityRef : void 0; -+ const userEntity = userEntityRef ? await catalogClient.getEntityByRef(userEntityRef, { token }) : void 0; -+ for (const parameters of [template.spec.parameters ?? []].flat()) { -+ const result2 = jsonschema.validate(body.values, parameters); -+ if (!result2.valid) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskDryRun", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ metadata: { -+ templateRef, -+ parameters: template.spec.parameters, -+ isDryRun: true -+ }, -+ errors: result2.errors, -+ request: req, -+ response: { -+ status: 400, -+ body: { errors: result2.errors } -+ }, -+ message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} failed` -+ }); -+ return res.status(400).json({ errors: result2.errors }); - } -- }, -- directoryContents: (body.directoryContents ?? []).map((file) => ({ -- path: file.path, -- content: Buffer.from(file.base64Content, "base64") -- })), -- secrets: { -- ...body.secrets, -- ...token && { backstageToken: token } -- }, -- credentials -- }); -- res.status(200).json({ -- ...result, -- steps, -- directoryContents: result.directoryContents.map((file) => ({ -- path: file.path, -- executable: file.executable, -- base64Content: file.content.toString("base64") -- })) -- }); -+ } -+ const steps = template.spec.steps.map((step, index) => ({ -+ ...step, -+ id: step.id ?? `step-${index + 1}`, -+ name: step.name ?? step.action -+ })); -+ const result = await dryRunner({ -+ spec: { -+ apiVersion: template.apiVersion, -+ steps, -+ output: template.spec.output ?? {}, -+ parameters: body.values, -+ user: { -+ entity: userEntity, -+ ref: userEntityRef -+ } -+ }, -+ directoryContents: (body.directoryContents ?? []).map((file) => ({ -+ path: file.path, -+ content: Buffer.from(file.base64Content, "base64") -+ })), -+ secrets: { -+ ...body.secrets, -+ ...token && { backstageToken: token } -+ }, -+ credentials -+ }); -+ const dryRunResults = { -+ ...result, -+ steps, -+ directoryContents: result.directoryContents.map((file) => ({ -+ path: file.path, -+ executable: file.executable, -+ base64Content: file.content.toString("base64") -+ })) -+ }; -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskDryRun", -+ actorId, -+ stage: "completion", -+ status: "succeeded", -+ metadata: { -+ templateRef, -+ parameters: template.spec.parameters, -+ isDryRun: true -+ }, -+ request: req, -+ response: { -+ status: 200, -+ body: dryRunResults -+ }, -+ message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} completed successfully` -+ }); -+ return res.status(200).json(dryRunResults); -+ } catch (err) { -+ await auditLogger.auditLog({ -+ eventName: "ScaffolderTaskDryRun", -+ actorId, -+ stage: "completion", -+ status: "failed", -+ level: "error", -+ request: req, -+ metadata: { -+ isDryRun: true -+ }, -+ errors: [ -+ { -+ name: err.name, -+ message: err.message, -+ stack: err.stack -+ } -+ ], -+ message: `Scaffolder Task Dry Run requested by ${actorId} failed` -+ }); -+ throw err; -+ } - }).post("/v2/autocomplete/:provider/:resource", async (req, res) => { - const { token, context } = req.body; - const { provider, resource } = req.params; -diff --git a/dist/service/router.cjs.js.map b/dist/service/router.cjs.js.map -index f564bdd67f041c9fe90e04ed0b30018b070559e8..8f096c5e96512a6bf05d86c15fc8a4cd7da95cdc 100644 ---- a/dist/service/router.cjs.js.map -+++ b/dist/service/router.cjs.js.map -@@ -1 +1 @@ --{"version":3,"file":"router.cjs.js","sources":["../../src/service/router.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createLegacyAuthAdapters,\n HostDiscovery,\n} from '@backstage/backend-common';\nimport { CatalogApi } from '@backstage/catalog-client';\nimport {\n CompoundEntityRef,\n Entity,\n parseEntityRef,\n stringifyEntityRef,\n UserEntity,\n} from '@backstage/catalog-model';\nimport { Config, readDurationFromConfig } from '@backstage/config';\nimport { InputError, NotFoundError, stringifyError } from '@backstage/errors';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { HumanDuration, JsonObject, JsonValue } from '@backstage/types';\nimport {\n TaskSpec,\n TemplateEntityStepV1beta3,\n TemplateEntityV1beta3,\n templateEntityV1beta3Validator,\n TemplateParametersV1beta3,\n} from '@backstage/plugin-scaffolder-common';\nimport {\n RESOURCE_TYPE_SCAFFOLDER_ACTION,\n RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n scaffolderActionPermissions,\n scaffolderTaskPermissions,\n scaffolderTemplatePermissions,\n taskCancelPermission,\n taskCreatePermission,\n taskReadPermission,\n templateParameterReadPermission,\n templateStepReadPermission,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport express from 'express';\nimport Router from 'express-promise-router';\nimport { validate } from 'jsonschema';\nimport { Logger } from 'winston';\nimport { z } from 'zod';\nimport {\n TaskBroker,\n TaskStatus,\n TemplateAction,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport {\n createBuiltinActions,\n DatabaseTaskStore,\n TaskWorker,\n TemplateActionRegistry,\n} from '../scaffolder';\nimport { createDryRunner } from '../scaffolder/dryrun';\nimport { StorageTaskBroker } from '../scaffolder/tasks/StorageTaskBroker';\nimport {\n findTemplate,\n getEntityBaseUrl,\n getWorkingDirectory,\n parseNumberParam,\n parseStringsParam,\n} from './helpers';\nimport { PermissionRuleParams } from '@backstage/plugin-permission-common';\nimport {\n createConditionAuthorizer,\n createPermissionIntegrationRouter,\n PermissionRule,\n} from '@backstage/plugin-permission-node';\nimport { scaffolderActionRules, scaffolderTemplateRules } from './rules';\nimport { Duration } from 'luxon';\nimport {\n AuthService,\n BackstageCredentials,\n DatabaseService,\n DiscoveryService,\n HttpAuthService,\n LifecycleService,\n PermissionsService,\n SchedulerService,\n UrlReaderService,\n} from '@backstage/backend-plugin-api';\nimport {\n IdentityApi,\n IdentityApiGetIdentityRequest,\n} from '@backstage/plugin-auth-node';\nimport { InternalTaskSecrets } from '../scaffolder/tasks/types';\nimport { checkPermission } from '../util/checkPermissions';\nimport {\n AutocompleteHandler,\n WorkspaceProvider,\n} from '@backstage/plugin-scaffolder-node/alpha';\n\n/**\n *\n * @public\n */\nexport type TemplatePermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n TParams\n>;\nfunction isTemplatePermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is TemplatePermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_TEMPLATE;\n}\n\n/**\n *\n * @public\n */\nexport type ActionPermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_ACTION,\n TParams\n>;\nfunction isActionPermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is ActionPermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_ACTION;\n}\n\n/**\n * RouterOptions\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n logger: Logger;\n config: Config;\n reader: UrlReaderService;\n lifecycle?: LifecycleService;\n database: DatabaseService;\n catalogClient: CatalogApi;\n scheduler?: SchedulerService;\n actions?: TemplateAction[];\n /**\n * @deprecated taskWorkers is deprecated in favor of concurrentTasksLimit option with a single TaskWorker\n * @defaultValue 1\n */\n taskWorkers?: number;\n /**\n * Sets the number of concurrent tasks that can be run at any given time on the TaskWorker\n * @defaultValue 10\n */\n concurrentTasksLimit?: number;\n taskBroker?: TaskBroker;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n additionalWorkspaceProviders?: Record;\n permissions?: PermissionsService;\n permissionRules?: Array<\n TemplatePermissionRuleInput | ActionPermissionRuleInput\n >;\n auth?: AuthService;\n httpAuth?: HttpAuthService;\n identity?: IdentityApi;\n discovery?: DiscoveryService;\n\n autocompleteHandlers?: Record;\n}\n\nfunction isSupportedTemplate(entity: TemplateEntityV1beta3) {\n return entity.apiVersion === 'scaffolder.backstage.io/v1beta3';\n}\n\n/*\n * @deprecated This function remains as the DefaultIdentityClient behaves slightly differently to the pre-existing\n * scaffolder behaviour. Specifically if the token fails to parse, the DefaultIdentityClient will raise an error.\n * The scaffolder did not raise an error in this case. As such we chose to allow it to behave as it did previously\n * until someone explicitly passes an IdentityApi. When we have reasonable confidence that most backstage deployments\n * are using the IdentityApi, we can remove this function.\n */\nfunction buildDefaultIdentityClient(options: RouterOptions): IdentityApi {\n return {\n getIdentity: async ({ request }: IdentityApiGetIdentityRequest) => {\n const header = request.headers.authorization;\n const { logger } = options;\n\n if (!header) {\n return undefined;\n }\n\n try {\n const token = header.match(/^Bearer\\s(\\S+\\.\\S+\\.\\S+)$/i)?.[1];\n if (!token) {\n throw new TypeError('Expected Bearer with JWT');\n }\n\n const [_header, rawPayload, _signature] = token.split('.');\n const payload: JsonValue = JSON.parse(\n Buffer.from(rawPayload, 'base64').toString(),\n );\n\n if (\n typeof payload !== 'object' ||\n payload === null ||\n Array.isArray(payload)\n ) {\n throw new TypeError('Malformed JWT payload');\n }\n\n const sub = payload.sub;\n if (typeof sub !== 'string') {\n throw new TypeError('Expected string sub claim');\n }\n\n if (sub === 'backstage-server') {\n return undefined;\n }\n\n // Check that it's a valid ref, otherwise this will throw.\n parseEntityRef(sub);\n\n return {\n identity: {\n userEntityRef: sub,\n ownershipEntityRefs: [],\n type: 'user',\n },\n token,\n };\n } catch (e) {\n logger.error(`Invalid authorization header: ${stringifyError(e)}`);\n return undefined;\n }\n },\n };\n}\n\nconst readDuration = (\n config: Config,\n key: string,\n defaultValue: HumanDuration,\n) => {\n if (config.has(key)) {\n return readDurationFromConfig(config, { key });\n }\n return defaultValue;\n};\n\n/**\n * A method to create a router for the scaffolder backend plugin.\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = Router();\n // Be generous in upload size to support a wide range of templates in dry-run mode.\n router.use(express.json({ limit: '10MB' }));\n\n const {\n logger: parentLogger,\n config,\n reader,\n database,\n catalogClient,\n actions,\n taskWorkers,\n scheduler,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n additionalWorkspaceProviders,\n permissions,\n permissionRules,\n discovery = HostDiscovery.fromConfig(config),\n identity = buildDefaultIdentityClient(options),\n autocompleteHandlers = {},\n } = options;\n\n const { auth, httpAuth } = createLegacyAuthAdapters({\n ...options,\n identity,\n discovery,\n });\n\n const concurrentTasksLimit =\n options.concurrentTasksLimit ??\n options.config.getOptionalNumber('scaffolder.concurrentTasksLimit');\n\n const logger = parentLogger.child({ plugin: 'scaffolder' });\n\n const workingDirectory = await getWorkingDirectory(config, logger);\n const integrations = ScmIntegrations.fromConfig(config);\n\n let taskBroker: TaskBroker;\n if (!options.taskBroker) {\n const databaseTaskStore = await DatabaseTaskStore.create({ database });\n taskBroker = new StorageTaskBroker(\n databaseTaskStore,\n logger,\n config,\n auth,\n additionalWorkspaceProviders,\n );\n\n if (scheduler && databaseTaskStore.listStaleTasks) {\n await scheduler.scheduleTask({\n id: 'close_stale_tasks',\n frequency: readDuration(\n config,\n 'scaffolder.taskTimeoutJanitorFrequency',\n {\n minutes: 5,\n },\n ),\n timeout: { minutes: 15 },\n fn: async () => {\n const { tasks } = await databaseTaskStore.listStaleTasks({\n timeoutS: Duration.fromObject(\n readDuration(config, 'scaffolder.taskTimeout', {\n hours: 24,\n }),\n ).as('seconds'),\n });\n\n for (const task of tasks) {\n await databaseTaskStore.shutdownTask(task);\n logger.info(`Successfully closed stale task ${task.taskId}`);\n }\n },\n });\n }\n } else {\n taskBroker = options.taskBroker;\n }\n\n const actionRegistry = new TemplateActionRegistry();\n\n const workers: TaskWorker[] = [];\n if (concurrentTasksLimit !== 0) {\n for (let i = 0; i < (taskWorkers || 1); i++) {\n const worker = await TaskWorker.create({\n taskBroker,\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n concurrentTasksLimit,\n permissions,\n });\n workers.push(worker);\n }\n }\n\n const actionsToRegister = Array.isArray(actions)\n ? actions\n : createBuiltinActions({\n integrations,\n catalogClient,\n reader,\n config,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n auth,\n });\n\n actionsToRegister.forEach(action => actionRegistry.register(action));\n\n const launchWorkers = () => workers.forEach(worker => worker.start());\n\n const shutdownWorkers = () => {\n workers.forEach(worker => worker.stop());\n };\n\n if (options.lifecycle) {\n options.lifecycle.addStartupHook(launchWorkers);\n options.lifecycle.addShutdownHook(shutdownWorkers);\n } else {\n launchWorkers();\n }\n\n const dryRunner = createDryRunner({\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n const templateRules: TemplatePermissionRuleInput[] = Object.values(\n scaffolderTemplateRules,\n );\n const actionRules: ActionPermissionRuleInput[] = Object.values(\n scaffolderActionRules,\n );\n\n if (permissionRules) {\n templateRules.push(\n ...permissionRules.filter(isTemplatePermissionRuleInput),\n );\n actionRules.push(...permissionRules.filter(isActionPermissionRuleInput));\n }\n\n const isAuthorized = createConditionAuthorizer(Object.values(templateRules));\n\n const permissionIntegrationRouter = createPermissionIntegrationRouter({\n resources: [\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n permissions: scaffolderTemplatePermissions,\n rules: templateRules,\n },\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION,\n permissions: scaffolderActionPermissions,\n rules: actionRules,\n },\n ],\n permissions: scaffolderTaskPermissions,\n });\n\n router.use(permissionIntegrationRouter);\n\n router\n .get(\n '/v2/templates/:namespace/:kind/:name/parameter-schema',\n async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const template = await authorizeTemplate(\n req.params,\n token,\n credentials,\n );\n\n const parameters = [template.spec.parameters ?? []].flat();\n\n const presentation = template.spec.presentation;\n\n res.json({\n title: template.metadata.title ?? template.metadata.name,\n ...(presentation ? { presentation } : {}),\n description: template.metadata.description,\n 'ui:options': template.metadata['ui:options'],\n steps: parameters.map(schema => ({\n title: schema.title ?? 'Please enter the following information',\n description: schema.description,\n schema,\n })),\n });\n },\n )\n .get('/v2/actions', async (_req, res) => {\n const actionsList = actionRegistry.list().map(action => {\n return {\n id: action.id,\n description: action.description,\n examples: action.examples,\n schema: action.schema,\n };\n });\n res.json(actionsList);\n })\n .post('/v2/tasks', async (req, res) => {\n const templateRef: string = req.body.templateRef;\n const { kind, namespace, name } = parseEntityRef(templateRef, {\n defaultKind: 'template',\n });\n\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n\n let auditLog = `Scaffolding task for ${templateRef}`;\n if (userEntityRef) {\n auditLog += ` created by ${userEntityRef}`;\n }\n logger.info(auditLog);\n\n const values = req.body.values;\n\n const template = await authorizeTemplate(\n { kind, namespace, name },\n token,\n credentials,\n );\n\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(values, parameters);\n\n if (!result.valid) {\n res.status(400).json({ errors: result.errors });\n return;\n }\n }\n\n const baseUrl = getEntityBaseUrl(template);\n\n const taskSpec: TaskSpec = {\n apiVersion: template.apiVersion,\n steps: template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n })),\n EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery,\n output: template.spec.output ?? {},\n parameters: values,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n templateInfo: {\n entityRef: stringifyEntityRef({ kind, name, namespace }),\n baseUrl,\n entity: {\n metadata: template.metadata,\n },\n },\n };\n\n const secrets: InternalTaskSecrets = {\n ...req.body.secrets,\n backstageToken: token,\n __initiatorCredentials: JSON.stringify({\n ...credentials,\n // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly\n token: (credentials as any).token,\n }),\n };\n\n const result = await taskBroker.dispatch({\n spec: taskSpec,\n createdBy: userEntityRef,\n secrets,\n });\n\n res.status(201).json({ id: result.taskId });\n })\n .get('/v2/tasks', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n if (!taskBroker.list) {\n throw new Error(\n 'TaskBroker does not support listing tasks, please implement the list method on the TaskBroker.',\n );\n }\n\n const createdBy = parseStringsParam(req.query.createdBy, 'createdBy');\n const status = parseStringsParam(req.query.status, 'status');\n\n const order = parseStringsParam(req.query.order, 'order')?.map(item => {\n const match = item.match(/^(asc|desc):(.+)$/);\n if (!match) {\n throw new InputError(\n `Invalid order parameter \"${item}\", expected \":\"`,\n );\n }\n\n return {\n order: match[1] as 'asc' | 'desc',\n field: match[2],\n };\n });\n\n const limit = parseNumberParam(req.query.limit, 'limit');\n const offset = parseNumberParam(req.query.offset, 'offset');\n\n const tasks = await taskBroker.list({\n filters: {\n createdBy,\n status: status ? (status as TaskStatus[]) : undefined,\n },\n order,\n pagination: {\n limit: limit ? limit[0] : undefined,\n offset: offset ? offset[0] : undefined,\n },\n });\n\n res.status(200).json(tasks);\n })\n .get('/v2/tasks/:taskId', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n const task = await taskBroker.get(taskId);\n if (!task) {\n throw new NotFoundError(`Task with id ${taskId} does not exist`);\n }\n // Do not disclose secrets\n delete task.secrets;\n res.status(200).json(task);\n })\n .post('/v2/tasks/:taskId/cancel', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n // Requires both read and cancel permissions\n await checkPermission({\n credentials,\n permissions: [taskCancelPermission, taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n await taskBroker.cancel?.(taskId);\n res.status(200).json({ status: 'cancelled' });\n })\n .post('/v2/tasks/:taskId/retry', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n // Requires both read and cancel permissions\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission, taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n await taskBroker.retry?.(taskId);\n res.status(201).json({ id: taskId });\n })\n .get('/v2/tasks/:taskId/eventstream', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n const after =\n req.query.after !== undefined ? Number(req.query.after) : undefined;\n\n logger.debug(`Event stream observing taskId '${taskId}' opened`);\n\n // Mandatory headers and http status to keep connection open\n res.writeHead(200, {\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n 'Content-Type': 'text/event-stream',\n });\n\n // After client opens connection send all events as string\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n res.end();\n },\n next: ({ events }) => {\n let shouldUnsubscribe = false;\n for (const event of events) {\n res.write(\n `event: ${event.type}\\ndata: ${JSON.stringify(event)}\\n\\n`,\n );\n if (event.type === 'completion' && !event.isTaskRecoverable) {\n shouldUnsubscribe = true;\n }\n }\n // res.flush() is only available with the compression middleware\n res.flush?.();\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n res.end();\n }\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', () => {\n subscription.unsubscribe();\n logger.debug(`Event stream observing taskId '${taskId}' closed`);\n });\n })\n .get('/v2/tasks/:taskId/events', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n const after = Number(req.query.after) || undefined;\n\n // cancel the request after 30 seconds. this aligns with the recommendations of RFC 6202.\n const timeout = setTimeout(() => {\n res.json([]);\n }, 30_000);\n\n // Get all known events after an id (always includes the completion event) and return the first callback\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n },\n next: ({ events }) => {\n clearTimeout(timeout);\n subscription.unsubscribe();\n res.json(events);\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', () => {\n subscription.unsubscribe();\n clearTimeout(timeout);\n });\n })\n .post('/v2/dry-run', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n\n const bodySchema = z.object({\n template: z.unknown(),\n values: z.record(z.unknown()),\n secrets: z.record(z.string()).optional(),\n directoryContents: z.array(\n z.object({ path: z.string(), base64Content: z.string() }),\n ),\n });\n const body = await bodySchema.parseAsync(req.body).catch(e => {\n throw new InputError(`Malformed request: ${e}`);\n });\n\n const template = body.template as TemplateEntityV1beta3;\n if (!(await templateEntityV1beta3Validator.check(template))) {\n throw new InputError('Input template is not a template');\n }\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(body.values, parameters);\n if (!result.valid) {\n res.status(400).json({ errors: result.errors });\n return;\n }\n }\n\n const steps = template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n }));\n\n const result = await dryRunner({\n spec: {\n apiVersion: template.apiVersion,\n steps,\n output: template.spec.output ?? {},\n parameters: body.values as JsonObject,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n },\n directoryContents: (body.directoryContents ?? []).map(file => ({\n path: file.path,\n content: Buffer.from(file.base64Content, 'base64'),\n })),\n secrets: {\n ...body.secrets,\n ...(token && { backstageToken: token }),\n },\n credentials,\n });\n\n res.status(200).json({\n ...result,\n steps,\n directoryContents: result.directoryContents.map(file => ({\n path: file.path,\n executable: file.executable,\n base64Content: file.content.toString('base64'),\n })),\n });\n })\n .post('/v2/autocomplete/:provider/:resource', async (req, res) => {\n const { token, context } = req.body;\n const { provider, resource } = req.params;\n\n if (!token) throw new InputError('Missing token query parameter');\n\n if (!autocompleteHandlers[provider]) {\n throw new InputError(`Unsupported provider: ${provider}`);\n }\n\n const { results } = await autocompleteHandlers[provider]({\n resource,\n token,\n context,\n });\n\n res.status(200).json({ results });\n });\n\n const app = express();\n app.set('logger', logger);\n app.use('/', router);\n\n async function authorizeTemplate(\n entityRef: CompoundEntityRef,\n token: string | undefined,\n credentials: BackstageCredentials,\n ) {\n const template = await findTemplate({\n catalogApi: catalogClient,\n entityRef,\n token,\n });\n\n if (!isSupportedTemplate(template)) {\n throw new InputError(\n `Unsupported apiVersion field in schema entity, ${\n (template as Entity).apiVersion\n }`,\n );\n }\n\n if (!permissions) {\n return template;\n }\n\n const [parameterDecision, stepDecision] =\n await permissions.authorizeConditional(\n [\n { permission: templateParameterReadPermission },\n { permission: templateStepReadPermission },\n ],\n { credentials },\n );\n\n // Authorize parameters\n if (Array.isArray(template.spec.parameters)) {\n template.spec.parameters = template.spec.parameters.filter(step =>\n isAuthorized(parameterDecision, step),\n );\n } else if (\n template.spec.parameters &&\n !isAuthorized(parameterDecision, template.spec.parameters)\n ) {\n template.spec.parameters = undefined;\n }\n\n // Authorize steps\n template.spec.steps = template.spec.steps.filter(step =>\n isAuthorized(stepDecision, step),\n );\n\n return template;\n }\n\n return app;\n}\n"],"names":["RESOURCE_TYPE_SCAFFOLDER_TEMPLATE","RESOURCE_TYPE_SCAFFOLDER_ACTION","parseEntityRef","stringifyError","config","readDurationFromConfig","Router","express","HostDiscovery","createLegacyAuthAdapters","getWorkingDirectory","ScmIntegrations","DatabaseTaskStore","StorageTaskBroker","Duration","TemplateActionRegistry","TaskWorker","createBuiltinActions","createDryRunner","scaffolderTemplateRules","scaffolderActionRules","createConditionAuthorizer","createPermissionIntegrationRouter","scaffolderTemplatePermissions","scaffolderActionPermissions","scaffolderTaskPermissions","checkPermission","taskCreatePermission","result","validate","getEntityBaseUrl","stringifyEntityRef","taskReadPermission","parseStringsParam","InputError","parseNumberParam","NotFoundError","taskCancelPermission","z","templateEntityV1beta3Validator","findTemplate","templateParameterReadPermission","templateStepReadPermission"],"mappings":"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"} -\ No newline at end of file -+{"version":3,"file":"router.cjs.js","sources":["../../src/service/router.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createLegacyAuthAdapters,\n HostDiscovery,\n} from '@backstage/backend-common';\nimport { CatalogApi } from '@backstage/catalog-client';\nimport {\n CompoundEntityRef,\n Entity,\n parseEntityRef,\n stringifyEntityRef,\n UserEntity,\n} from '@backstage/catalog-model';\nimport { Config, readDurationFromConfig } from '@backstage/config';\nimport { InputError, NotFoundError, stringifyError } from '@backstage/errors';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { HumanDuration, JsonObject, JsonValue } from '@backstage/types';\nimport {\n TaskSpec,\n TemplateEntityStepV1beta3,\n TemplateEntityV1beta3,\n templateEntityV1beta3Validator,\n TemplateParametersV1beta3,\n} from '@backstage/plugin-scaffolder-common';\nimport {\n RESOURCE_TYPE_SCAFFOLDER_ACTION,\n RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n scaffolderActionPermissions,\n scaffolderTaskPermissions,\n scaffolderTemplatePermissions,\n taskCancelPermission,\n taskCreatePermission,\n taskReadPermission,\n templateParameterReadPermission,\n templateStepReadPermission,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport express from 'express';\nimport Router from 'express-promise-router';\nimport { validate } from 'jsonschema';\nimport { Logger } from 'winston';\nimport { z } from 'zod';\nimport {\n TaskBroker,\n TaskStatus,\n TemplateAction,\n TaskSecrets,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport {\n createBuiltinActions,\n DatabaseTaskStore,\n TaskWorker,\n TemplateActionRegistry,\n} from '../scaffolder';\nimport { createDryRunner } from '../scaffolder/dryrun';\nimport { StorageTaskBroker } from '../scaffolder/tasks/StorageTaskBroker';\nimport {\n findTemplate,\n getEntityBaseUrl,\n getWorkingDirectory,\n parseNumberParam,\n parseStringsParam,\n} from './helpers';\nimport { PermissionRuleParams } from '@backstage/plugin-permission-common';\nimport {\n createConditionAuthorizer,\n createPermissionIntegrationRouter,\n PermissionRule,\n} from '@backstage/plugin-permission-node';\nimport { scaffolderActionRules, scaffolderTemplateRules } from './rules';\nimport { Duration } from 'luxon';\nimport {\n AuthService,\n BackstageCredentials,\n DatabaseService,\n DiscoveryService,\n HttpAuthService,\n LifecycleService,\n PermissionsService,\n SchedulerService,\n UrlReaderService,\n} from '@backstage/backend-plugin-api';\nimport {\n IdentityApi,\n IdentityApiGetIdentityRequest,\n} from '@backstage/plugin-auth-node';\nimport { InternalTaskSecrets } from '../scaffolder/tasks/types';\nimport { checkPermission } from '../util/checkPermissions';\nimport {\n AutocompleteHandler,\n WorkspaceProvider,\n} from '@backstage/plugin-scaffolder-node/alpha';\nimport { cloneDeep } from 'lodash';\n\nimport { DefaultAuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\n/**\n *\n * @public\n */\nexport type TemplatePermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n TParams\n>;\nfunction isTemplatePermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is TemplatePermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_TEMPLATE;\n}\n\n/**\n *\n * @public\n */\nexport type ActionPermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_ACTION,\n TParams\n>;\nfunction isActionPermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is ActionPermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_ACTION;\n}\n\n/**\n * RouterOptions\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n logger: Logger;\n config: Config;\n reader: UrlReaderService;\n lifecycle?: LifecycleService;\n database: DatabaseService;\n catalogClient: CatalogApi;\n scheduler?: SchedulerService;\n actions?: TemplateAction[];\n /**\n * @deprecated taskWorkers is deprecated in favor of concurrentTasksLimit option with a single TaskWorker\n * @defaultValue 1\n */\n taskWorkers?: number;\n /**\n * Sets the number of concurrent tasks that can be run at any given time on the TaskWorker\n * @defaultValue 10\n */\n concurrentTasksLimit?: number;\n taskBroker?: TaskBroker;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n additionalWorkspaceProviders?: Record;\n permissions?: PermissionsService;\n permissionRules?: Array<\n TemplatePermissionRuleInput | ActionPermissionRuleInput\n >;\n auth?: AuthService;\n httpAuth?: HttpAuthService;\n identity?: IdentityApi;\n discovery?: DiscoveryService;\n\n autocompleteHandlers?: Record;\n}\n\nfunction isSupportedTemplate(entity: TemplateEntityV1beta3) {\n return entity.apiVersion === 'scaffolder.backstage.io/v1beta3';\n}\n\n/*\n * @deprecated This function remains as the DefaultIdentityClient behaves slightly differently to the pre-existing\n * scaffolder behaviour. Specifically if the token fails to parse, the DefaultIdentityClient will raise an error.\n * The scaffolder did not raise an error in this case. As such we chose to allow it to behave as it did previously\n * until someone explicitly passes an IdentityApi. When we have reasonable confidence that most backstage deployments\n * are using the IdentityApi, we can remove this function.\n */\nfunction buildDefaultIdentityClient(options: RouterOptions): IdentityApi {\n return {\n getIdentity: async ({ request }: IdentityApiGetIdentityRequest) => {\n const header = request.headers.authorization;\n const { logger } = options;\n\n if (!header) {\n return undefined;\n }\n\n try {\n const token = header.match(/^Bearer\\s(\\S+\\.\\S+\\.\\S+)$/i)?.[1];\n if (!token) {\n throw new TypeError('Expected Bearer with JWT');\n }\n\n const [_header, rawPayload, _signature] = token.split('.');\n const payload: JsonValue = JSON.parse(\n Buffer.from(rawPayload, 'base64').toString(),\n );\n\n if (\n typeof payload !== 'object' ||\n payload === null ||\n Array.isArray(payload)\n ) {\n throw new TypeError('Malformed JWT payload');\n }\n\n const sub = payload.sub;\n if (typeof sub !== 'string') {\n throw new TypeError('Expected string sub claim');\n }\n\n if (sub === 'backstage-server') {\n return undefined;\n }\n\n // Check that it's a valid ref, otherwise this will throw.\n parseEntityRef(sub);\n\n return {\n identity: {\n userEntityRef: sub,\n ownershipEntityRefs: [],\n type: 'user',\n },\n token,\n };\n } catch (e) {\n logger.error(`Invalid authorization header: ${stringifyError(e)}`);\n return undefined;\n }\n },\n };\n}\n\nconst readDuration = (\n config: Config,\n key: string,\n defaultValue: HumanDuration,\n) => {\n if (config.has(key)) {\n return readDurationFromConfig(config, { key });\n }\n return defaultValue;\n};\n\n/**\n * A method to create a router for the scaffolder backend plugin.\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = Router();\n // Be generous in upload size to support a wide range of templates in dry-run mode.\n router.use(express.json({ limit: '10MB' }));\n\n const {\n logger: parentLogger,\n config,\n reader,\n database,\n catalogClient,\n actions,\n taskWorkers,\n scheduler,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n additionalWorkspaceProviders,\n permissions,\n permissionRules,\n discovery = HostDiscovery.fromConfig(config),\n identity = buildDefaultIdentityClient(options),\n autocompleteHandlers = {},\n } = options;\n\n const { auth, httpAuth } = createLegacyAuthAdapters({\n ...options,\n identity,\n discovery,\n });\n\n const concurrentTasksLimit =\n options.concurrentTasksLimit ??\n options.config.getOptionalNumber('scaffolder.concurrentTasksLimit');\n\n const logger = parentLogger.child({ plugin: 'scaffolder' });\n const auditLogger = new DefaultAuditLogger({\n logger,\n authService: auth,\n httpAuthService: httpAuth,\n });\n\n const workingDirectory = await getWorkingDirectory(config, logger);\n const integrations = ScmIntegrations.fromConfig(config);\n\n let taskBroker: TaskBroker;\n if (!options.taskBroker) {\n const databaseTaskStore = await DatabaseTaskStore.create({ database });\n taskBroker = new StorageTaskBroker(\n databaseTaskStore,\n logger,\n auditLogger,\n config,\n auth,\n additionalWorkspaceProviders,\n );\n\n if (scheduler && databaseTaskStore.listStaleTasks) {\n await scheduler.scheduleTask({\n id: 'close_stale_tasks',\n frequency: readDuration(\n config,\n 'scaffolder.taskTimeoutJanitorFrequency',\n {\n minutes: 5,\n },\n ),\n timeout: { minutes: 15 },\n fn: async () => {\n const { tasks } = await databaseTaskStore.listStaleTasks({\n timeoutS: Duration.fromObject(\n readDuration(config, 'scaffolder.taskTimeout', {\n hours: 24,\n }),\n ).as('seconds'),\n });\n\n for (const task of tasks) {\n await databaseTaskStore.shutdownTask(task);\n logger.info(`Successfully closed stale task ${task.taskId}`);\n }\n },\n });\n }\n } else {\n taskBroker = options.taskBroker;\n }\n\n const actionRegistry = new TemplateActionRegistry();\n\n const workers: TaskWorker[] = [];\n if (concurrentTasksLimit !== 0) {\n for (let i = 0; i < (taskWorkers || 1); i++) {\n const worker = await TaskWorker.create({\n taskBroker,\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n concurrentTasksLimit,\n permissions,\n auditLogger,\n });\n workers.push(worker);\n }\n }\n\n const actionsToRegister = Array.isArray(actions)\n ? actions\n : createBuiltinActions({\n integrations,\n catalogClient,\n reader,\n config,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n auth,\n });\n\n actionsToRegister.forEach(action => actionRegistry.register(action));\n\n const launchWorkers = () => workers.forEach(worker => worker.start());\n\n const shutdownWorkers = () => {\n workers.forEach(worker => worker.stop());\n };\n\n if (options.lifecycle) {\n options.lifecycle.addStartupHook(launchWorkers);\n options.lifecycle.addShutdownHook(shutdownWorkers);\n } else {\n launchWorkers();\n }\n\n const dryRunner = createDryRunner({\n actionRegistry,\n integrations,\n logger,\n auditLogger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n const templateRules: TemplatePermissionRuleInput[] = Object.values(\n scaffolderTemplateRules,\n );\n const actionRules: ActionPermissionRuleInput[] = Object.values(\n scaffolderActionRules,\n );\n\n if (permissionRules) {\n templateRules.push(\n ...permissionRules.filter(isTemplatePermissionRuleInput),\n );\n actionRules.push(...permissionRules.filter(isActionPermissionRuleInput));\n }\n\n const isAuthorized = createConditionAuthorizer(Object.values(templateRules));\n\n const permissionIntegrationRouter = createPermissionIntegrationRouter({\n resources: [\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n permissions: scaffolderTemplatePermissions,\n rules: templateRules,\n },\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION,\n permissions: scaffolderActionPermissions,\n rules: actionRules,\n },\n ],\n permissions: scaffolderTaskPermissions,\n });\n\n router.use(permissionIntegrationRouter);\n\n router\n .get(\n '/v2/templates/:namespace/:kind/:name/parameter-schema',\n async (req, res) => {\n const requestedTemplateRef = `${req.params.kind}:${req.params.namespace}/${req.params.name}`;\n const actorId = await auditLogger.getActorId(req);\n try {\n const credentials = await httpAuth.credentials(req);\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n await auditLogger.auditLog({\n eventName: 'ScaffolderParameterSchemaFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n templateRef: requestedTemplateRef,\n },\n request: req,\n message: `${actorId} requested the parameter schema for ${requestedTemplateRef}`,\n });\n const template = await authorizeTemplate(\n req.params,\n token,\n credentials,\n );\n\n const parameters = [template.spec.parameters ?? []].flat();\n\n const presentation = template.spec.presentation;\n const templateRef = `${template.kind}:${\n template.metadata.namespace || 'default'\n }/${template.metadata.name}`;\n\n const responseBody = {\n title: template.metadata.title ?? template.metadata.name,\n ...(presentation ? { presentation } : {}),\n description: template.metadata.description,\n 'ui:options': template.metadata['ui:options'],\n steps: parameters.map(schema => ({\n title: schema.title ?? 'Please enter the following information',\n description: schema.description,\n schema,\n })),\n };\n await auditLogger.auditLog({\n eventName: 'ScaffolderParameterSchemaFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n templateRef: templateRef,\n },\n request: req,\n response: {\n status: 200,\n body: responseBody,\n },\n message: `${actorId} successfully requested the parameter schema for ${templateRef}`,\n });\n\n res.json(responseBody);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderParameterSchemaFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n metadata: {\n templateRef: requestedTemplateRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} failed to request the parameter schema for ${requestedTemplateRef}`,\n });\n throw err;\n }\n },\n )\n .get('/v2/actions', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderInstalledActionsFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n request: req,\n message: `${actorId} requested the list of installed actions`,\n });\n const actionsList = actionRegistry.list().map(action => {\n return {\n id: action.id,\n description: action.description,\n examples: action.examples,\n schema: action.schema,\n };\n });\n await auditLogger.auditLog({\n eventName: 'ScaffolderInstalledActionsFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n request: req,\n response: {\n status: 200,\n body: actionsList,\n },\n message: `${actorId} successfully requested the list of installed actions`,\n });\n res.json(actionsList);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderInstalledActionsFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} failed to request for the list of installed actions`,\n });\n throw err;\n }\n })\n .post('/v2/tasks', async (req, res) => {\n const templateRef: string = req.body.templateRef;\n const { kind, namespace, name } = parseEntityRef(templateRef, {\n defaultKind: 'template',\n });\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n const values = req.body.values;\n const redactedRequest = cloneDeep(req);\n\n // Workaround ensure that redactedRequest.ip accesses the original req.ip with the correct context, preventing 'Illegal invocation' errors\n Object.defineProperty(redactedRequest, 'ip', {\n get: () => {\n return req.ip;\n },\n });\n if (req.body.secrets) {\n const redactedBody = {\n ...req.body,\n secrets: Object.keys(req.body.secrets).reduce((acc, key) => {\n return {\n ...acc,\n [key]: '***',\n };\n }, {} as TaskSecrets),\n };\n redactedRequest.body = redactedBody;\n }\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'initiation',\n status: 'succeeded',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n templateRef: templateRef,\n },\n\n message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} initiated`,\n });\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n const template = await authorizeTemplate(\n { kind, namespace, name },\n token,\n credentials,\n );\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(values, parameters);\n if (!result.valid) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n templateRef: templateRef,\n },\n response: {\n status: 400,\n body: { errors: result.errors },\n },\n errors: result.errors,\n message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed`,\n });\n return res.status(400).json({ errors: result.errors });\n }\n }\n\n const baseUrl = getEntityBaseUrl(template);\n\n const taskSpec: TaskSpec = {\n apiVersion: template.apiVersion,\n steps: template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n })),\n EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery,\n output: template.spec.output ?? {},\n parameters: values,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n templateInfo: {\n entityRef: stringifyEntityRef({ kind, name, namespace }),\n baseUrl,\n entity: {\n metadata: template.metadata,\n },\n },\n };\n\n const secrets: InternalTaskSecrets = {\n ...req.body.secrets,\n backstageToken: token,\n __initiatorCredentials: JSON.stringify({\n ...credentials,\n // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly\n token: (credentials as any).token,\n }),\n };\n\n const result = await taskBroker.dispatch({\n spec: taskSpec,\n createdBy: userEntityRef,\n secrets,\n });\n\n let auditLog = `Scaffolding task for ${templateRef}`;\n if (userEntityRef) {\n auditLog += ` created by ${userEntityRef}`;\n }\n\n logger.info(auditLog);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'completion',\n status: 'succeeded',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n taskId: result.taskId,\n templateRef: templateRef,\n },\n response: {\n status: 201,\n body: { id: result.taskId },\n },\n message: `Scaffolding task for ${templateRef} with taskId: ${result.taskId} successfully created by ${userEntityRef}`,\n });\n return res.status(201).json({ id: result.taskId });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n templateRef: templateRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed`,\n });\n throw err;\n }\n })\n .get('/v2/tasks', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskListFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n request: req,\n message: `${actorId} requested for the list of scaffolder tasks`,\n });\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n if (!taskBroker.list) {\n throw new Error(\n 'TaskBroker does not support listing tasks, please implement the list method on the TaskBroker.',\n );\n }\n\n const createdBy = parseStringsParam(req.query.createdBy, 'createdBy');\n const status = parseStringsParam(req.query.status, 'status');\n\n const order = parseStringsParam(req.query.order, 'order')?.map(item => {\n const match = item.match(/^(asc|desc):(.+)$/);\n if (!match) {\n throw new InputError(\n `Invalid order parameter \"${item}\", expected \":\"`,\n );\n }\n\n return {\n order: match[1] as 'asc' | 'desc',\n field: match[2],\n };\n });\n\n const limit = parseNumberParam(req.query.limit, 'limit');\n const offset = parseNumberParam(req.query.offset, 'offset');\n\n const tasks = await taskBroker.list({\n filters: {\n createdBy,\n status: status ? (status as TaskStatus[]) : undefined,\n },\n order,\n pagination: {\n limit: limit ? limit[0] : undefined,\n offset: offset ? offset[0] : undefined,\n },\n });\n\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskListFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n request: req,\n response: {\n status: 200,\n body: tasks,\n },\n message: `${actorId} successfully requested for the list of scaffolder tasks`,\n });\n res.status(200).json(tasks);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskListFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} request for the list of scaffolder tasks failed`,\n });\n throw err;\n }\n })\n .get('/v2/tasks/:taskId', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId: taskId,\n },\n request: req,\n message: `${actorId} requested for scaffolder task ${taskId}`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const task = await taskBroker.get(taskId);\n if (!task) {\n throw new NotFoundError(`Task with id ${taskId} does not exist`);\n }\n // Do not disclose secrets\n delete task.secrets;\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n request: req,\n response: {\n status: 200,\n body: task,\n },\n message: `${actorId} successfully requested for scaffolder tasks ${taskId}`,\n });\n res.status(200).json(task);\n } catch (err) {\n let status = 500;\n if (err.name === 'NotFoundError') {\n status = 404;\n }\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n response: {\n status: status,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} request for scaffolder tasks ${taskId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/tasks/:taskId/cancel', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCancellation',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Cancellation request for Scaffolding task with taskId: ${taskId} from ${actorId} received`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskCancelPermission],\n permissionService: permissions,\n });\n await taskBroker.cancel?.(taskId);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCancellation',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n response: {\n status: 200,\n body: { status: 'cancelled' },\n },\n message: `Scaffolding task with taskId: ${taskId} successfully cancelled by ${actorId}`,\n });\n res.status(200).json({ status: 'cancelled' });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCancellation',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId}'s cancel request for task ${taskId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/tasks/:taskId/retry', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskRetry',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Retry request for Scaffolding task with taskId: ${taskId} from ${actorId} received`,\n });\n const credentials = await httpAuth.credentials(req);\n // Requires both read and cancel permissions\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission, taskReadPermission],\n permissionService: permissions,\n });\n await taskBroker.retry?.(taskId);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskRetry',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n response: {\n status: 201,\n body: { id: taskId },\n },\n message: `Scaffolding task with taskId: ${taskId} successfully retried by ${actorId}`,\n });\n res.status(201).json({ id: taskId });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskRetry',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId}'s retry request for task ${taskId} failed`,\n });\n throw err;\n }\n })\n .get('/v2/tasks/:taskId/eventstream', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n const after =\n req.query.after !== undefined ? Number(req.query.after) : undefined;\n\n logger.debug(`Event stream observing taskId '${taskId}' opened`);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Event stream for scaffolding task with taskId: ${taskId} was opened by ${actorId}`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n // Mandatory headers and http status to keep connection open\n res.writeHead(200, {\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n 'Content-Type': 'text/event-stream',\n });\n\n // After client opens connection send all events as string\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: async error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: error.name,\n message: error.message,\n stack: error.stack,\n cause: error.cause,\n },\n ],\n message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}`,\n });\n res.end();\n },\n next: ({ events }) => {\n let shouldUnsubscribe = false;\n for (const event of events) {\n res.write(\n `event: ${event.type}\\ndata: ${JSON.stringify(event)}\\n\\n`,\n );\n if (event.type === 'completion') {\n shouldUnsubscribe = true;\n }\n }\n // res.flush() is only available with the compression middleware\n res.flush?.();\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n res.end();\n }\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', async () => {\n subscription.unsubscribe();\n logger.debug(`Event stream observing taskId '${taskId}' closed`);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Event stream observing scaffolding task with taskId: ${taskId} was closed by ${actorId}`,\n });\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}`,\n });\n throw err;\n }\n })\n .get('/v2/tasks/:taskId/events', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n const after = Number(req.query.after) || undefined;\n\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} initiated by ${actorId}`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n // cancel the request after 30 seconds. this aligns with the recommendations of RFC 6202.\n const timeout = setTimeout(() => {\n res.json([]);\n }, 30_000);\n\n // Get all known events after an id (always includes the completion event) and return the first callback\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: async error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: error.name,\n message: error.message,\n stack: error.stack,\n },\n ],\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed`,\n });\n },\n next: async ({ events }) => {\n clearTimeout(timeout);\n subscription.unsubscribe();\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n response: {\n status: 200,\n body: events,\n },\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} by ${actorId} succeeded`,\n });\n res.json(events);\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', () => {\n subscription.unsubscribe();\n clearTimeout(timeout);\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/dry-run', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n isDryRun: true,\n },\n request: req,\n message: `Dry Run scaffolder task initiated by ${actorId}`,\n });\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n const bodySchema = z.object({\n template: z.unknown(),\n values: z.record(z.unknown()),\n secrets: z.record(z.string()).optional(),\n directoryContents: z.array(\n z.object({ path: z.string(), base64Content: z.string() }),\n ),\n });\n const body = await bodySchema.parseAsync(req.body).catch(e => {\n throw new InputError(`Malformed request: ${e}`);\n });\n\n const template = body.template as TemplateEntityV1beta3;\n if (!(await templateEntityV1beta3Validator.check(template))) {\n throw new InputError('Input template is not a template');\n }\n const templateRef: string = `${template.kind}:${\n template.metadata.namespace || 'default'\n }/${template.metadata.name}`;\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(body.values, parameters);\n if (!result.valid) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n templateRef: templateRef,\n parameters: template.spec.parameters,\n isDryRun: true,\n },\n errors: result.errors,\n request: req,\n response: {\n status: 400,\n body: { errors: result.errors },\n },\n message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} failed`,\n });\n return res.status(400).json({ errors: result.errors });\n }\n }\n\n const steps = template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n }));\n\n const result = await dryRunner({\n spec: {\n apiVersion: template.apiVersion,\n steps,\n output: template.spec.output ?? {},\n parameters: body.values as JsonObject,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n },\n directoryContents: (body.directoryContents ?? []).map(file => ({\n path: file.path,\n content: Buffer.from(file.base64Content, 'base64'),\n })),\n secrets: {\n ...body.secrets,\n ...(token && { backstageToken: token }),\n },\n credentials,\n });\n\n const dryRunResults = {\n ...result,\n steps,\n directoryContents: result.directoryContents.map(file => ({\n path: file.path,\n executable: file.executable,\n base64Content: file.content.toString('base64'),\n })),\n };\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n templateRef: templateRef,\n parameters: template.spec.parameters,\n isDryRun: true,\n },\n request: req,\n response: {\n status: 200,\n body: dryRunResults,\n },\n message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} completed successfully`,\n });\n return res.status(200).json(dryRunResults);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n metadata: {\n isDryRun: true,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Scaffolder Task Dry Run requested by ${actorId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/autocomplete/:provider/:resource', async (req, res) => {\n const { token, context } = req.body;\n const { provider, resource } = req.params;\n\n if (!token) throw new InputError('Missing token query parameter');\n\n if (!autocompleteHandlers[provider]) {\n throw new InputError(`Unsupported provider: ${provider}`);\n }\n\n const { results } = await autocompleteHandlers[provider]({\n resource,\n token,\n context,\n });\n\n res.status(200).json({ results });\n });\n\n const app = express();\n app.set('logger', logger);\n app.use('/', router);\n\n async function authorizeTemplate(\n entityRef: CompoundEntityRef,\n token: string | undefined,\n credentials: BackstageCredentials,\n ) {\n const template = await findTemplate({\n catalogApi: catalogClient,\n entityRef,\n token,\n });\n\n if (!isSupportedTemplate(template)) {\n throw new InputError(\n `Unsupported apiVersion field in schema entity, ${\n (template as Entity).apiVersion\n }`,\n );\n }\n\n if (!permissions) {\n return template;\n }\n\n const [parameterDecision, stepDecision] =\n await permissions.authorizeConditional(\n [\n { permission: templateParameterReadPermission },\n { permission: templateStepReadPermission },\n ],\n { credentials },\n );\n\n // Authorize parameters\n if (Array.isArray(template.spec.parameters)) {\n template.spec.parameters = template.spec.parameters.filter(step =>\n isAuthorized(parameterDecision, step),\n );\n } else if (\n template.spec.parameters &&\n !isAuthorized(parameterDecision, template.spec.parameters)\n ) {\n template.spec.parameters = undefined;\n }\n\n // Authorize steps\n template.spec.steps = template.spec.steps.filter(step =>\n isAuthorized(stepDecision, step),\n );\n\n return template;\n }\n\n return app;\n}\n"],"names":["RESOURCE_TYPE_SCAFFOLDER_TEMPLATE","RESOURCE_TYPE_SCAFFOLDER_ACTION","parseEntityRef","stringifyError","config","readDurationFromConfig","Router","express","HostDiscovery","createLegacyAuthAdapters","DefaultAuditLogger","getWorkingDirectory","ScmIntegrations","DatabaseTaskStore","StorageTaskBroker","Duration","TemplateActionRegistry","TaskWorker","createBuiltinActions","createDryRunner","scaffolderTemplateRules","scaffolderActionRules","createConditionAuthorizer","createPermissionIntegrationRouter","scaffolderTemplatePermissions","scaffolderActionPermissions","scaffolderTaskPermissions","checkPermission","taskCreatePermission","cloneDeep","result","validate","getEntityBaseUrl","stringifyEntityRef","taskReadPermission","parseStringsParam","InputError","parseNumberParam","NotFoundError","taskCancelPermission","z","templateEntityV1beta3Validator","findTemplate","templateParameterReadPermission","templateStepReadPermission"],"mappings":"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"} -\ No newline at end of file diff --git a/.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch b/.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch new file mode 100644 index 0000000000..58d6e33481 --- /dev/null +++ b/.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch @@ -0,0 +1,1832 @@ +diff --git a/dist/index.d.ts b/dist/index.d.ts +index f60e40e3baf323dd3cc7229a44ac278f712e6ace..7ed58d1bde58e2c99819fa8581679b923e2b1471 100644 +--- a/dist/index.d.ts ++++ b/dist/index.d.ts +@@ -24,6 +24,7 @@ import { TaskSpec, TaskRecovery, TemplateEntityStepV1beta3, TemplateParametersV1 + import { EventsService } from '@backstage/plugin-events-node'; + import { Logger } from 'winston'; + import { WorkspaceProvider, AutocompleteHandler } from '@backstage/plugin-scaffolder-node/alpha'; ++import { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node'; + import { PermissionEvaluator, PermissionRuleParams } from '@backstage/plugin-permission-common'; + import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE, RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-common/alpha'; + import express from 'express'; +@@ -399,7 +400,7 @@ declare const createPublishGitlabMergeRequestAction: (options: { + sourcePath?: string | undefined; + targetPath?: string | undefined; + token?: string | undefined; +- commitAction?: "auto" | "update" | "delete" | "create" | "skip" | undefined; ++ commitAction?: "create" | "update" | "delete" | "skip" | "auto" | undefined; + projectid?: string | undefined; + removeSourceBranch?: boolean | undefined; + assignee?: string | undefined; +@@ -735,11 +736,13 @@ declare class TaskManager implements TaskContext$1 { + private readonly signal; + private readonly logger; + private readonly workspaceService; ++ private readonly auditLogger; + private readonly auth?; + private isDone; + private heartbeatTimeoutId?; +- static create(task: CurrentClaimedTask, storage: TaskStore, abortSignal: AbortSignal, logger: Logger, auth?: AuthService, config?: Config, additionalWorkspaceProviders?: Record): TaskManager; ++ static create(task: CurrentClaimedTask, storage: TaskStore, abortSignal: AbortSignal, logger: Logger, auditLogger: AuditLogger, auth?: AuthService, config?: Config, additionalWorkspaceProviders?: Record): TaskManager; + private constructor(); ++ get taskId(): string; + get spec(): _backstage_plugin_scaffolder_common.TaskSpecV1beta3; + get cancelSignal(): AbortSignal; + get secrets(): TaskSecrets$1 | undefined; +@@ -814,6 +817,7 @@ type CreateWorkerOptions = { + integrations: ScmIntegrations; + workingDirectory: string; + logger: Logger; ++ auditLogger: AuditLogger; + additionalTemplateFilters?: Record; + /** + * The number of tasks that can be executed at the same time by the worker +@@ -841,6 +845,7 @@ declare class TaskWorker { + private taskQueue; + private logger; + private stopWorkers; ++ private auditLogger; + private constructor(); + static create(options: CreateWorkerOptions): Promise; + recoverTasks(): Promise; +diff --git a/dist/scaffolder/dryrun/createDryRunner.cjs.js b/dist/scaffolder/dryrun/createDryRunner.cjs.js +index bddc340443ad3981fe7b30ffffc22cf0f54a4366..dfc4c31c1c543387776c1dd5a9b5ab8cdb235283 100644 +--- a/dist/scaffolder/dryrun/createDryRunner.cjs.js ++++ b/dist/scaffolder/dryrun/createDryRunner.cjs.js +@@ -42,6 +42,7 @@ function createDryRunner(options) { + await pluginScaffolderNode.deserializeDirectoryContents(contentsPath, input.directoryContents); + const abortSignal = new AbortController().signal; + const result = await workflowRunner.execute({ ++ taskId: dryRunId, + spec: { + ...input.spec, + steps: [ +diff --git a/dist/scaffolder/dryrun/createDryRunner.cjs.js.map b/dist/scaffolder/dryrun/createDryRunner.cjs.js.map +index 89d6d6d7d80a9f593482a0a037fc8cfde524aeae..a0f3ae72f12a79c975736a8ba2be0ba9e4332224 100644 +--- a/dist/scaffolder/dryrun/createDryRunner.cjs.js.map ++++ b/dist/scaffolder/dryrun/createDryRunner.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"createDryRunner.cjs.js","sources":["../../../src/scaffolder/dryrun/createDryRunner.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskSpec, TemplateInfo } from '@backstage/plugin-scaffolder-common';\nimport { JsonObject } from '@backstage/types';\nimport { fileURLToPath } from 'url';\nimport { Logger } from 'winston';\nimport {\n createTemplateAction,\n TaskSecrets,\n TemplateFilter,\n TemplateGlobal,\n deserializeDirectoryContents,\n SerializedFile,\n serializeDirectoryContents,\n} from '@backstage/plugin-scaffolder-node';\nimport path from 'path';\nimport { TemplateActionRegistry } from '../actions';\nimport { NunjucksWorkflowRunner } from '../tasks/NunjucksWorkflowRunner';\nimport { DecoratedActionsRegistry } from './DecoratedActionsRegistry';\nimport fs from 'fs-extra';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\nimport { BackstageCredentials } from '@backstage/backend-plugin-api';\nimport type { UserEntity } from '@backstage/catalog-model';\nimport { v4 as uuid } from 'uuid';\n\ninterface DryRunInput {\n spec: TaskSpec;\n templateInfo: TemplateInfo;\n secrets?: TaskSecrets;\n directoryContents: SerializedFile[];\n credentials: BackstageCredentials;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n}\n\ninterface DryRunResult {\n log: Array<{ body: JsonObject }>;\n directoryContents: SerializedFile[];\n output: JsonObject;\n}\n\n/** @internal */\nexport type TemplateTesterCreateOptions = {\n logger: Logger;\n integrations: ScmIntegrations;\n actionRegistry: TemplateActionRegistry;\n workingDirectory: string;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * Executes a dry-run of the provided template.\n *\n * The provided content will be extracted into a temporary directory\n * which is then use as the base for any relative file fetch paths.\n *\n * @internal\n */\nexport function createDryRunner(options: TemplateTesterCreateOptions) {\n return async function dryRun(input: DryRunInput): Promise {\n let contentPromise;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n ...options,\n actionRegistry: new DecoratedActionsRegistry(options.actionRegistry, [\n createTemplateAction({\n id: 'dry-run:extract',\n supportsDryRun: true,\n async handler(ctx) {\n contentPromise = serializeDirectoryContents(ctx.workspacePath);\n await contentPromise.catch(() => {});\n },\n }),\n ]),\n });\n\n // Extracting contentsPath and dryRunId from the baseUrl\n const baseUrl = input.templateInfo.baseUrl;\n if (!baseUrl) {\n throw new Error('baseUrl is required');\n }\n const basePath = fileURLToPath(new URL(baseUrl));\n const contentsPath = path.dirname(basePath);\n const dryRunId = uuid();\n\n const log = new Array<{ body: JsonObject }>();\n\n try {\n await deserializeDirectoryContents(contentsPath, input.directoryContents);\n\n const abortSignal = new AbortController().signal;\n const result = await workflowRunner.execute({\n spec: {\n ...input.spec,\n steps: [\n ...input.spec.steps,\n {\n id: dryRunId,\n name: 'dry-run:extract',\n action: 'dry-run:extract',\n },\n ],\n templateInfo: input.templateInfo,\n },\n secrets: input.secrets,\n getInitiatorCredentials: () => Promise.resolve(input.credentials),\n // No need to update this at the end of the run, so just hard-code it\n done: false,\n isDryRun: true,\n getWorkspaceName: async () => `dry-run-${dryRunId}`,\n cancelSignal: abortSignal,\n async emitLog(message: string, logMetadata?: JsonObject) {\n if (logMetadata?.stepId === dryRunId) {\n return;\n }\n log.push({\n body: {\n ...logMetadata,\n message,\n },\n });\n },\n complete: async () => {\n throw new Error('Not implemented');\n },\n });\n\n if (!contentPromise) {\n throw new Error('Content extraction step was skipped');\n }\n const directoryContents = await contentPromise;\n\n return {\n log,\n directoryContents,\n output: result.output,\n };\n } finally {\n await fs.remove(contentsPath);\n }\n };\n}\n"],"names":["NunjucksWorkflowRunner","DecoratedActionsRegistry","createTemplateAction","serializeDirectoryContents","fileURLToPath","path","uuid","deserializeDirectoryContents","fs"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"createDryRunner.cjs.js","sources":["../../../src/scaffolder/dryrun/createDryRunner.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskSpec, TemplateInfo } from '@backstage/plugin-scaffolder-common';\nimport { JsonObject } from '@backstage/types';\nimport { fileURLToPath } from 'url';\nimport { Logger } from 'winston';\nimport {\n createTemplateAction,\n TaskSecrets,\n TemplateFilter,\n TemplateGlobal,\n deserializeDirectoryContents,\n SerializedFile,\n serializeDirectoryContents,\n} from '@backstage/plugin-scaffolder-node';\nimport path from 'path';\nimport { TemplateActionRegistry } from '../actions';\nimport { NunjucksWorkflowRunner } from '../tasks/NunjucksWorkflowRunner';\nimport { DecoratedActionsRegistry } from './DecoratedActionsRegistry';\nimport fs from 'fs-extra';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\nimport { BackstageCredentials } from '@backstage/backend-plugin-api';\nimport type { UserEntity } from '@backstage/catalog-model';\nimport { v4 as uuid } from 'uuid';\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\ninterface DryRunInput {\n spec: TaskSpec;\n templateInfo: TemplateInfo;\n secrets?: TaskSecrets;\n directoryContents: SerializedFile[];\n credentials: BackstageCredentials;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n}\n\ninterface DryRunResult {\n log: Array<{ body: JsonObject }>;\n directoryContents: SerializedFile[];\n output: JsonObject;\n}\n\n/** @internal */\nexport type TemplateTesterCreateOptions = {\n logger: Logger;\n auditLogger: AuditLogger;\n integrations: ScmIntegrations;\n actionRegistry: TemplateActionRegistry;\n workingDirectory: string;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * Executes a dry-run of the provided template.\n *\n * The provided content will be extracted into a temporary directory\n * which is then use as the base for any relative file fetch paths.\n *\n * @internal\n */\nexport function createDryRunner(options: TemplateTesterCreateOptions) {\n return async function dryRun(input: DryRunInput): Promise {\n let contentPromise;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n ...options,\n actionRegistry: new DecoratedActionsRegistry(options.actionRegistry, [\n createTemplateAction({\n id: 'dry-run:extract',\n supportsDryRun: true,\n async handler(ctx) {\n contentPromise = serializeDirectoryContents(ctx.workspacePath);\n await contentPromise.catch(() => {});\n },\n }),\n ]),\n });\n\n // Extracting contentsPath and dryRunId from the baseUrl\n const baseUrl = input.templateInfo.baseUrl;\n if (!baseUrl) {\n throw new Error('baseUrl is required');\n }\n const basePath = fileURLToPath(new URL(baseUrl));\n const contentsPath = path.dirname(basePath);\n const dryRunId = uuid();\n\n const log = new Array<{ body: JsonObject }>();\n\n try {\n await deserializeDirectoryContents(contentsPath, input.directoryContents);\n\n const abortSignal = new AbortController().signal;\n const result = await workflowRunner.execute({\n taskId: dryRunId,\n spec: {\n ...input.spec,\n steps: [\n ...input.spec.steps,\n {\n id: dryRunId,\n name: 'dry-run:extract',\n action: 'dry-run:extract',\n },\n ],\n templateInfo: input.templateInfo,\n },\n secrets: input.secrets,\n getInitiatorCredentials: () => Promise.resolve(input.credentials),\n // No need to update this at the end of the run, so just hard-code it\n done: false,\n isDryRun: true,\n getWorkspaceName: async () => `dry-run-${dryRunId}`,\n cancelSignal: abortSignal,\n async emitLog(message: string, logMetadata?: JsonObject) {\n if (logMetadata?.stepId === dryRunId) {\n return;\n }\n log.push({\n body: {\n ...logMetadata,\n message,\n },\n });\n },\n complete: async () => {\n throw new Error('Not implemented');\n },\n });\n\n if (!contentPromise) {\n throw new Error('Content extraction step was skipped');\n }\n const directoryContents = await contentPromise;\n\n return {\n log,\n directoryContents,\n output: result.output,\n };\n } finally {\n await fs.remove(contentsPath);\n }\n };\n}\n"],"names":["NunjucksWorkflowRunner","DecoratedActionsRegistry","createTemplateAction","serializeDirectoryContents","fileURLToPath","path","uuid","deserializeDirectoryContents","fs"],"mappings":"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"} +\ No newline at end of file +diff --git a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js +index ae24cd3c92611e2f96d51a3c6673b57b15ed6504..e9b92dbdd785c3c170742078539181da98ddba46 100644 +--- a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js ++++ b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js +@@ -79,9 +79,10 @@ class NunjucksWorkflowRunner { + this.defaultTemplateFilters = filters.createDefaultFilters({ + integrations: this.options.integrations + }); ++ this.tracker = scaffoldingTracker(this.options.auditLogger); + } + defaultTemplateFilters; +- tracker = scaffoldingTracker(); ++ tracker; + isSingleTemplateString(input) { + const { parser, nodes } = nunjucks__default.default; + const parsed = parser.parse( +@@ -133,34 +134,63 @@ class NunjucksWorkflowRunner { + async executeStep(task, step, context, renderTemplate, taskTrack, workspacePath, decision) { + const stepTrack = await this.tracker.stepStart(task, step); + if (task.cancelSignal.aborted) { +- throw new Error(`Step ${step.name} has been cancelled.`); ++ throw new Error( ++ `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.` ++ ); + } + try { +- if (step.if === false || typeof step.if === "string" && !helper.isTruthy(this.render(step.if, context, renderTemplate))) { +- await stepTrack.skipFalsy(); +- return; +- } + const action = this.options.actionRegistry.get(step.action); + const { taskLogger, streamLogger } = createStepLogger({ + task, + step, + rootLogger: this.options.logger + }); ++ const redactedSecrets = Object.fromEntries( ++ Object.entries(task.secrets ?? {}).map((secret) => [secret[0], "***"]) ++ ); ++ const stepInputs = (step.input && this.render( ++ step.input, ++ { ++ ...context, ++ secrets: redactedSecrets ++ }, ++ renderTemplate ++ )) ?? {}; ++ const commonStepAuditMetadata = { ++ templateRef: task.spec.templateInfo?.entityRef || "", ++ taskId: task.taskId, ++ stepId: step.id, ++ stepName: step.name, ++ stepAction: step.action, ++ stepInputs, ++ stepConditional: step.if, ++ stepEach: step.each, ++ isDryRun: task.isDryRun || false ++ }; ++ if (step.if === false || typeof step.if === "string" && !helper.isTruthy(this.render(step.if, context, renderTemplate))) { ++ await stepTrack.skipFalsy(); ++ await this.options.auditLogger.auditLog({ ++ eventName: "ScaffolderTaskStepSkip", ++ actorId: "scaffolder-backend", ++ stage: "completion", ++ status: "succeeded", ++ metadata: commonStepAuditMetadata, ++ message: `Skipped step ${step.name} (id: ${step.id}) of task ${task.taskId}` ++ }); ++ return; ++ } ++ await this.options.auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderTaskStepExecution", ++ stage: "initiation", ++ status: "succeeded", ++ metadata: commonStepAuditMetadata, ++ message: `Started ${step.name} (id: ${step.id}) of task ${task.taskId} triggering the ${step.action} action` ++ }); + if (task.isDryRun) { +- const redactedSecrets = Object.fromEntries( +- Object.entries(task.secrets ?? {}).map((secret) => [secret[0], "***"]) +- ); +- const debugInput = (step.input && this.render( +- step.input, +- { +- ...context, +- secrets: redactedSecrets +- }, +- renderTemplate +- )) ?? {}; + taskLogger.info( + `Running ${action.id} in dry-run mode with inputs (secrets redacted): ${JSON.stringify( +- debugInput, ++ stepInputs, + void 0, + 2 + )}` +@@ -221,6 +251,7 @@ class NunjucksWorkflowRunner { + const tmpDirs = new Array(); + const stepOutput = {}; + const prevTaskState = await task.getTaskState?.(); ++ let iterationCount = 0; + for (const iteration of iterations) { + if (iteration.each) { + taskLogger.info( +@@ -230,6 +261,22 @@ class NunjucksWorkflowRunner { + 0 + )}` + ); ++ await this.options.auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderTaskStepIteration", ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ ...commonStepAuditMetadata, ++ stepInputs: void 0, ++ stepAction: `${step.action}[${iteration.each.key}]`, ++ stepIterationInputs: iteration.input, ++ stepIterationCount: ++iterationCount, ++ stepIterationValue: iteration.each.value, ++ totalIterations: iterations.length ++ }, ++ message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} started` ++ }); + } + await action.handler({ + input: iteration.input, +@@ -290,18 +337,38 @@ class NunjucksWorkflowRunner { + signal: task.cancelSignal, + getInitiatorCredentials: () => task.getInitiatorCredentials() + }); ++ if (iteration.each) { ++ await this.options.auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderTaskStepIteration", ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ ...commonStepAuditMetadata, ++ stepInputs: void 0, ++ stepAction: `${step.action}[${iteration.each.key}]`, ++ stepIterationCount: iterationCount, ++ stepIterationValue: iteration.each.value, ++ stepIterationInputs: iteration.input, ++ totalIterations: iterations.length ++ }, ++ message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded` ++ }); ++ } + } + for (const tmpDir of tmpDirs) { + await fs__default.default.remove(tmpDir); + } + context.steps[step.id] = { output: stepOutput }; + if (task.cancelSignal.aborted) { +- throw new Error(`Step ${step.name} has been cancelled.`); ++ throw new Error( ++ `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.` ++ ); + } + await stepTrack.markSuccessful(); + } catch (err) { + await taskTrack.markFailed(step, err); +- await stepTrack.markFailed(); ++ await stepTrack.markFailed(err); + throw err; + } finally { + await task.serializeWorkspace?.({ path: workspacePath }); +@@ -358,7 +425,7 @@ class NunjucksWorkflowRunner { + } + } + } +-function scaffoldingTracker() { ++function scaffoldingTracker(auditLogger) { + const promTaskCount = metrics.createCounterMetric({ + name: "scaffolder_task_count", + help: "Count of task runs", +@@ -493,6 +560,21 @@ function scaffoldingTracker() { + stepDuration.record(endTime(), { + result: "ok" + }); ++ await auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderTaskStepExecution", ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ templateRef: template, ++ taskId: task.taskId, ++ stepId: step.id, ++ stepName: step.name, ++ stepAction: step.action, ++ isDryRun: task.isDryRun || false ++ }, ++ message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded` ++ }); + } + async function markCancelled() { + promtStepCount.inc({ +@@ -506,7 +588,7 @@ function scaffoldingTracker() { + result: "cancelled" + }); + } +- async function markFailed() { ++ async function markFailed(err) { + promtStepCount.inc({ + template, + step: step.name, +@@ -517,6 +599,29 @@ function scaffoldingTracker() { + stepDuration.record(endTime(), { + result: "failed" + }); ++ await auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderTaskStepExecution", ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ templateRef: template, ++ taskId: task.taskId, ++ stepId: step.id, ++ stepName: step.name, ++ stepAction: step.action, ++ isDryRun: task.isDryRun || false ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} failed` ++ }); + } + async function skipFalsy() { + await task.emitLog( +diff --git a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map +index d8012802f1aef352591310246ec10273aa4401d2..5e91a7a7d3b84bbaec7031e89e154c286c402164 100644 +--- a/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map ++++ b/dist/scaffolder/tasks/NunjucksWorkflowRunner.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"NunjucksWorkflowRunner.cjs.js","sources":["../../../src/scaffolder/tasks/NunjucksWorkflowRunner.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskTrackType, WorkflowResponse, WorkflowRunner } from './types';\nimport * as winston from 'winston';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport nunjucks from 'nunjucks';\nimport { JsonArray, JsonObject, JsonValue } from '@backstage/types';\nimport { InputError, NotAllowedError, stringifyError } from '@backstage/errors';\nimport { PassThrough } from 'stream';\nimport { generateExampleOutput, isTruthy } from './helper';\nimport { validate as validateJsonSchema } from 'jsonschema';\nimport { TemplateActionRegistry } from '../actions';\nimport { metrics } from '@opentelemetry/api';\nimport {\n SecureTemplater,\n SecureTemplateRenderer,\n} from '../../lib/templating/SecureTemplater';\nimport {\n TaskRecovery,\n TaskSpec,\n TaskSpecV1beta3,\n TaskStep,\n} from '@backstage/plugin-scaffolder-common';\n\nimport {\n TemplateAction,\n TemplateFilter,\n TemplateGlobal,\n TaskContext,\n} from '@backstage/plugin-scaffolder-node';\nimport { createConditionAuthorizer } from '@backstage/plugin-permission-node';\nimport { UserEntity } from '@backstage/catalog-model';\nimport { createCounterMetric, createHistogramMetric } from '../../util/metrics';\nimport { createDefaultFilters } from '../../lib/templating/filters';\nimport {\n AuthorizeResult,\n PolicyDecision,\n} from '@backstage/plugin-permission-common';\nimport { scaffolderActionRules } from '../../service/rules';\nimport { actionExecutePermission } from '@backstage/plugin-scaffolder-common/alpha';\nimport { PermissionsService } from '@backstage/backend-plugin-api';\nimport { loggerToWinstonLogger } from '@backstage/backend-common';\nimport { BackstageLoggerTransport, WinstonLogger } from './logger';\n\ntype NunjucksWorkflowRunnerOptions = {\n workingDirectory: string;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n logger: winston.Logger;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionsService;\n};\n\ntype TemplateContext = {\n parameters: JsonObject;\n EXPERIMENTAL_recovery?: TaskRecovery;\n steps: {\n [stepName: string]: { output: { [outputName: string]: JsonValue } };\n };\n secrets?: Record;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n each?: JsonValue;\n};\n\ntype CheckpointState =\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n\nconst isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => {\n return taskSpec.apiVersion === 'scaffolder.backstage.io/v1beta3';\n};\n\nconst createStepLogger = ({\n task,\n step,\n rootLogger,\n}: {\n task: TaskContext;\n step: TaskStep;\n rootLogger: winston.Logger;\n}) => {\n const taskLogger = WinstonLogger.create({\n level: process.env.LOG_LEVEL || 'info',\n format: winston.format.combine(\n winston.format.colorize(),\n winston.format.simple(),\n ),\n transports: [new BackstageLoggerTransport(rootLogger, task, step.id)],\n });\n\n taskLogger.addRedactions(Object.values(task.secrets ?? {}));\n\n // This stream logger should be deprecated. We're going to replace it with\n // just using the logger directly, as all those logs get written to step logs\n // using the stepLogStream above.\n // Initially this stream used to be the only way to write to the client logs, but that\n // has changed over time, there's not really a need for this anymore.\n // You can just create a simple wrapper like the below in your action to write to the main logger.\n // This way we also get recactions for free.\n const streamLogger = new PassThrough();\n streamLogger.on('data', async data => {\n const message = data.toString().trim();\n if (message?.length > 1) {\n taskLogger.info(message);\n }\n });\n\n return { taskLogger, streamLogger };\n};\n\nconst isActionAuthorized = createConditionAuthorizer(\n Object.values(scaffolderActionRules),\n);\n\nexport class NunjucksWorkflowRunner implements WorkflowRunner {\n private readonly defaultTemplateFilters: Record;\n\n constructor(private readonly options: NunjucksWorkflowRunnerOptions) {\n this.defaultTemplateFilters = createDefaultFilters({\n integrations: this.options.integrations,\n });\n }\n\n private readonly tracker = scaffoldingTracker();\n\n private isSingleTemplateString(input: string) {\n const { parser, nodes } = nunjucks as unknown as {\n parser: {\n parse(\n template: string,\n ctx: object,\n options: nunjucks.ConfigureOptions,\n ): { children: { children?: unknown[] }[] };\n };\n nodes: { TemplateData: Function };\n };\n\n const parsed = parser.parse(\n input,\n {},\n {\n autoescape: false,\n tags: {\n variableStart: '${{',\n variableEnd: '}}',\n },\n },\n );\n\n return (\n parsed.children.length === 1 &&\n !(parsed.children[0]?.children?.[0] instanceof nodes.TemplateData)\n );\n }\n\n private render(\n input: T,\n context: TemplateContext,\n renderTemplate: SecureTemplateRenderer,\n ): T {\n return JSON.parse(JSON.stringify(input), (_key, value) => {\n try {\n if (typeof value === 'string') {\n try {\n if (this.isSingleTemplateString(value)) {\n // Lets convert ${{ parameters.bob }} to ${{ (parameters.bob) | dump }} so we can keep the input type\n const wrappedDumped = value.replace(\n /\\${{(.+)}}/g,\n '${{ ( $1 ) | dump }}',\n );\n\n // Run the templating\n const templated = renderTemplate(wrappedDumped, context);\n\n // If there's an empty string returned, then it's undefined\n if (templated === '') {\n return undefined;\n }\n\n // Reparse the dumped string\n return JSON.parse(templated);\n }\n } catch (ex) {\n this.options.logger.error(\n `Failed to parse template string: ${value} with error ${ex.message}`,\n );\n }\n\n // Fallback to default behaviour\n const templated = renderTemplate(value, context);\n\n if (templated === '') {\n return undefined;\n }\n\n return templated;\n }\n } catch {\n return value;\n }\n return value;\n });\n }\n\n async executeStep(\n task: TaskContext,\n step: TaskStep,\n context: TemplateContext,\n renderTemplate: (template: string, values: unknown) => string,\n taskTrack: TaskTrackType,\n workspacePath: string,\n decision: PolicyDecision,\n ) {\n const stepTrack = await this.tracker.stepStart(task, step);\n\n if (task.cancelSignal.aborted) {\n throw new Error(`Step ${step.name} has been cancelled.`);\n }\n\n try {\n if (\n step.if === false ||\n (typeof step.if === 'string' &&\n !isTruthy(this.render(step.if, context, renderTemplate)))\n ) {\n await stepTrack.skipFalsy();\n return;\n }\n const action: TemplateAction =\n this.options.actionRegistry.get(step.action);\n const { taskLogger, streamLogger } = createStepLogger({\n task,\n step,\n rootLogger: this.options.logger,\n });\n\n if (task.isDryRun) {\n const redactedSecrets = Object.fromEntries(\n Object.entries(task.secrets ?? {}).map(secret => [secret[0], '***']),\n );\n const debugInput =\n (step.input &&\n this.render(\n step.input,\n {\n ...context,\n secrets: redactedSecrets,\n },\n renderTemplate,\n )) ??\n {};\n taskLogger.info(\n `Running ${\n action.id\n } in dry-run mode with inputs (secrets redacted): ${JSON.stringify(\n debugInput,\n undefined,\n 2,\n )}`,\n );\n if (!action.supportsDryRun) {\n await taskTrack.skipDryRun(step, action);\n const outputSchema = action.schema?.output;\n if (outputSchema) {\n context.steps[step.id] = {\n output: generateExampleOutput(outputSchema) as {\n [name in string]: JsonValue;\n },\n };\n } else {\n context.steps[step.id] = { output: {} };\n }\n return;\n }\n }\n const iterations = (\n step.each\n ? Object.entries(this.render(step.each, context, renderTemplate)).map(\n ([key, value]) => ({\n each: { key, value },\n }),\n )\n : [{}]\n ).map(i => ({\n ...i,\n // Secrets are only passed when templating the input to actions for security reasons\n input: step.input\n ? this.render(\n step.input,\n { ...context, secrets: task.secrets ?? {}, ...i },\n renderTemplate,\n )\n : {},\n }));\n for (const iteration of iterations) {\n const actionId = `${action.id}${\n iteration.each ? `[${iteration.each.key}]` : ''\n }`;\n\n if (action.schema?.input) {\n const validateResult = validateJsonSchema(\n iteration.input,\n action.schema.input,\n );\n if (!validateResult.valid) {\n const errors = validateResult.errors.join(', ');\n throw new InputError(\n `Invalid input passed to action ${actionId}, ${errors}`,\n );\n }\n }\n if (\n !isActionAuthorized(decision, {\n action: action.id,\n input: iteration.input,\n })\n ) {\n throw new NotAllowedError(\n `Unauthorized action: ${actionId}. The action is not allowed. Input: ${JSON.stringify(\n iteration.input,\n null,\n 2,\n )}`,\n );\n }\n }\n const tmpDirs = new Array();\n const stepOutput: { [outputName: string]: JsonValue } = {};\n const prevTaskState = await task.getTaskState?.();\n\n for (const iteration of iterations) {\n if (iteration.each) {\n taskLogger.info(\n `Running step each: ${JSON.stringify(\n iteration.each,\n (k, v) => (k ? v.toString() : v),\n 0,\n )}`,\n );\n }\n\n await action.handler({\n input: iteration.input,\n secrets: task.secrets ?? {},\n // TODO(blam): move to LoggerService and away from Winston\n logger: loggerToWinstonLogger(taskLogger),\n logStream: streamLogger,\n workspacePath,\n async checkpoint(opts: {\n key?: string;\n fn: () => Promise | T;\n }) {\n const { key: checkpointKey, fn } = opts;\n const key = `v1.task.checkpoint.${step.id}.${checkpointKey}`;\n\n try {\n let prevValue: T | undefined;\n\n if (prevTaskState) {\n const prevState = (\n prevTaskState.state?.checkpoints as {\n [key: string]: CheckpointState;\n }\n )?.[key];\n\n if (prevState && prevState.status === 'success') {\n prevValue = prevState.value as T;\n }\n }\n\n const value = prevValue ? prevValue : await fn();\n\n if (!prevValue) {\n task.updateCheckpoint?.({\n key,\n status: 'success',\n value: value ?? {},\n });\n }\n return value;\n } catch (err) {\n task.updateCheckpoint?.({\n key,\n status: 'failed',\n reason: stringifyError(err),\n });\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n },\n createTemporaryDirectory: async () => {\n const tmpDir = await fs.mkdtemp(\n `${workspacePath}_step-${step.id}-`,\n );\n tmpDirs.push(tmpDir);\n return tmpDir;\n },\n output(name: string, value: JsonValue) {\n if (step.each) {\n stepOutput[name] = stepOutput[name] || [];\n (stepOutput[name] as JsonArray).push(value);\n } else {\n stepOutput[name] = value;\n }\n },\n templateInfo: task.spec.templateInfo,\n user: task.spec.user,\n isDryRun: task.isDryRun,\n signal: task.cancelSignal,\n getInitiatorCredentials: () => task.getInitiatorCredentials(),\n });\n }\n\n // Remove all temporary directories that were created when executing the action\n for (const tmpDir of tmpDirs) {\n await fs.remove(tmpDir);\n }\n\n context.steps[step.id] = { output: stepOutput };\n\n if (task.cancelSignal.aborted) {\n throw new Error(`Step ${step.name} has been cancelled.`);\n }\n\n await stepTrack.markSuccessful();\n } catch (err) {\n await taskTrack.markFailed(step, err);\n await stepTrack.markFailed();\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n }\n\n async execute(task: TaskContext): Promise {\n if (!isValidTaskSpec(task.spec)) {\n throw new InputError(\n 'Wrong template version executed with the workflow engine',\n );\n }\n const taskId = await task.getWorkspaceName();\n\n const workspacePath = path.join(this.options.workingDirectory, taskId);\n\n const { additionalTemplateFilters, additionalTemplateGlobals } =\n this.options;\n\n const renderTemplate = await SecureTemplater.loadRenderer({\n templateFilters: {\n ...this.defaultTemplateFilters,\n ...additionalTemplateFilters,\n },\n templateGlobals: additionalTemplateGlobals,\n });\n\n try {\n await task.rehydrateWorkspace?.({ taskId, targetPath: workspacePath });\n\n const taskTrack = await this.tracker.taskStart(task);\n await fs.ensureDir(workspacePath);\n\n const context: TemplateContext = {\n parameters: task.spec.parameters,\n steps: {},\n user: task.spec.user,\n };\n\n const [decision]: PolicyDecision[] =\n this.options.permissions && task.spec.steps.length\n ? await this.options.permissions.authorizeConditional(\n [{ permission: actionExecutePermission }],\n { credentials: await task.getInitiatorCredentials() },\n )\n : [{ result: AuthorizeResult.ALLOW }];\n\n for (const step of task.spec.steps) {\n await this.executeStep(\n task,\n step,\n context,\n renderTemplate,\n taskTrack,\n workspacePath,\n decision,\n );\n }\n\n const output = this.render(task.spec.output, context, renderTemplate);\n await taskTrack.markSuccessful();\n await task.cleanWorkspace?.();\n\n return { output };\n } finally {\n if (workspacePath) {\n await fs.remove(workspacePath);\n }\n }\n }\n}\n\nfunction scaffoldingTracker() {\n // prom-client metrics are deprecated in favour of OpenTelemetry metrics.\n const promTaskCount = createCounterMetric({\n name: 'scaffolder_task_count',\n help: 'Count of task runs',\n labelNames: ['template', 'user', 'result'],\n });\n const promTaskDuration = createHistogramMetric({\n name: 'scaffolder_task_duration',\n help: 'Duration of a task run',\n labelNames: ['template', 'result'],\n });\n const promtStepCount = createCounterMetric({\n name: 'scaffolder_step_count',\n help: 'Count of step runs',\n labelNames: ['template', 'step', 'result'],\n });\n const promStepDuration = createHistogramMetric({\n name: 'scaffolder_step_duration',\n help: 'Duration of a step runs',\n labelNames: ['template', 'step', 'result'],\n });\n\n const meter = metrics.getMeter('default');\n const taskCount = meter.createCounter('scaffolder.task.count', {\n description: 'Count of task runs',\n });\n\n const taskDuration = meter.createHistogram('scaffolder.task.duration', {\n description: 'Duration of a task run',\n unit: 'seconds',\n });\n\n const stepCount = meter.createCounter('scaffolder.step.count', {\n description: 'Count of step runs',\n });\n\n const stepDuration = meter.createHistogram('scaffolder.step.duration', {\n description: 'Duration of a step runs',\n unit: 'seconds',\n });\n\n async function taskStart(task: TaskContext) {\n await task.emitLog(`Starting up task with ${task.spec.steps.length} steps`);\n const template = task.spec.templateInfo?.entityRef || '';\n const user = task.spec.user?.ref || '';\n\n const startTime = process.hrtime();\n const taskTimer = promTaskDuration.startTimer({\n template,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function skipDryRun(\n step: TaskStep,\n action: TemplateAction,\n ) {\n task.emitLog(`Skipping because ${action.id} does not support dry-run`, {\n stepId: step.id,\n status: 'skipped',\n });\n }\n\n async function markSuccessful() {\n promTaskCount.inc({\n template,\n user,\n result: 'ok',\n });\n taskTimer({ result: 'ok' });\n\n taskCount.add(1, { template, user, result: 'ok' });\n taskDuration.record(endTime(), {\n result: 'ok',\n });\n }\n\n async function markFailed(step: TaskStep, err: Error) {\n await task.emitLog(String(err.stack), {\n stepId: step.id,\n status: 'failed',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'failed',\n });\n taskTimer({ result: 'failed' });\n\n taskCount.add(1, { template, user, result: 'failed' });\n taskDuration.record(endTime(), {\n result: 'failed',\n });\n }\n\n async function markCancelled(step: TaskStep) {\n await task.emitLog(`Step ${step.id} has been cancelled.`, {\n stepId: step.id,\n status: 'cancelled',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'cancelled',\n });\n taskTimer({ result: 'cancelled' });\n\n taskCount.add(1, { template, user, result: 'cancelled' });\n taskDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n return {\n skipDryRun,\n markCancelled,\n markSuccessful,\n markFailed,\n };\n }\n\n async function stepStart(task: TaskContext, step: TaskStep) {\n await task.emitLog(`Beginning step ${step.name}`, {\n stepId: step.id,\n status: 'processing',\n });\n const template = task.spec.templateInfo?.entityRef || '';\n\n const startTime = process.hrtime();\n const stepTimer = promStepDuration.startTimer({\n template,\n step: step.name,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function markSuccessful() {\n await task.emitLog(`Finished step ${step.name}`, {\n stepId: step.id,\n status: 'completed',\n });\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'ok',\n });\n stepTimer({ result: 'ok' });\n\n stepCount.add(1, { template, step: step.name, result: 'ok' });\n stepDuration.record(endTime(), {\n result: 'ok',\n });\n }\n\n async function markCancelled() {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'cancelled',\n });\n stepTimer({ result: 'cancelled' });\n\n stepCount.add(1, { template, step: step.name, result: 'cancelled' });\n stepDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n async function markFailed() {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'failed',\n });\n stepTimer({ result: 'failed' });\n\n stepCount.add(1, { template, step: step.name, result: 'failed' });\n stepDuration.record(endTime(), {\n result: 'failed',\n });\n }\n\n async function skipFalsy() {\n await task.emitLog(\n `Skipping step ${step.id} because its if condition was false`,\n { stepId: step.id, status: 'skipped' },\n );\n stepTimer({ result: 'skipped' });\n\n stepCount.add(1, { template, step: step.name, result: 'skipped' });\n stepDuration.record(endTime(), {\n result: 'skipped',\n });\n }\n\n return {\n markCancelled,\n markFailed,\n markSuccessful,\n skipFalsy,\n };\n }\n\n return {\n taskStart,\n stepStart,\n };\n}\n"],"names":["WinstonLogger","winston","BackstageLoggerTransport","PassThrough","createConditionAuthorizer","scaffolderActionRules","createDefaultFilters","nunjucks","templated","isTruthy","generateExampleOutput","validateJsonSchema","errors","InputError","NotAllowedError","loggerToWinstonLogger","stringifyError","fs","path","SecureTemplater","actionExecutePermission","AuthorizeResult","createCounterMetric","createHistogramMetric","metrics"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"NunjucksWorkflowRunner.cjs.js","sources":["../../../src/scaffolder/tasks/NunjucksWorkflowRunner.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScmIntegrations } from '@backstage/integration';\nimport { TaskTrackType, WorkflowResponse, WorkflowRunner } from './types';\nimport * as winston from 'winston';\nimport fs from 'fs-extra';\nimport path from 'path';\nimport nunjucks from 'nunjucks';\nimport { JsonArray, JsonObject, JsonValue } from '@backstage/types';\nimport { InputError, NotAllowedError, stringifyError } from '@backstage/errors';\nimport { PassThrough } from 'stream';\nimport { generateExampleOutput, isTruthy } from './helper';\nimport { validate as validateJsonSchema } from 'jsonschema';\nimport { TemplateActionRegistry } from '../actions';\nimport { metrics } from '@opentelemetry/api';\nimport {\n SecureTemplater,\n SecureTemplateRenderer,\n} from '../../lib/templating/SecureTemplater';\nimport {\n TaskRecovery,\n TaskSpec,\n TaskSpecV1beta3,\n TaskStep,\n} from '@backstage/plugin-scaffolder-common';\n\nimport {\n TemplateAction,\n TemplateFilter,\n TemplateGlobal,\n TaskContext,\n} from '@backstage/plugin-scaffolder-node';\nimport { createConditionAuthorizer } from '@backstage/plugin-permission-node';\nimport { UserEntity } from '@backstage/catalog-model';\nimport { createCounterMetric, createHistogramMetric } from '../../util/metrics';\nimport { createDefaultFilters } from '../../lib/templating/filters';\nimport {\n AuthorizeResult,\n PolicyDecision,\n} from '@backstage/plugin-permission-common';\nimport { scaffolderActionRules } from '../../service/rules';\nimport { actionExecutePermission } from '@backstage/plugin-scaffolder-common/alpha';\nimport { PermissionsService } from '@backstage/backend-plugin-api';\nimport { loggerToWinstonLogger } from '@backstage/backend-common';\nimport { BackstageLoggerTransport, WinstonLogger } from './logger';\n\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\ntype NunjucksWorkflowRunnerOptions = {\n workingDirectory: string;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n logger: winston.Logger;\n auditLogger: AuditLogger;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionsService;\n};\n\ntype TemplateContext = {\n parameters: JsonObject;\n EXPERIMENTAL_recovery?: TaskRecovery;\n steps: {\n [stepName: string]: { output: { [outputName: string]: JsonValue } };\n };\n secrets?: Record;\n user?: {\n entity?: UserEntity;\n ref?: string;\n };\n each?: JsonValue;\n};\n\ntype CheckpointState =\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n\nconst isValidTaskSpec = (taskSpec: TaskSpec): taskSpec is TaskSpecV1beta3 => {\n return taskSpec.apiVersion === 'scaffolder.backstage.io/v1beta3';\n};\n\nconst createStepLogger = ({\n task,\n step,\n rootLogger,\n}: {\n task: TaskContext;\n step: TaskStep;\n rootLogger: winston.Logger;\n}) => {\n const taskLogger = WinstonLogger.create({\n level: process.env.LOG_LEVEL || 'info',\n format: winston.format.combine(\n winston.format.colorize(),\n winston.format.simple(),\n ),\n transports: [new BackstageLoggerTransport(rootLogger, task, step.id)],\n });\n\n taskLogger.addRedactions(Object.values(task.secrets ?? {}));\n\n // This stream logger should be deprecated. We're going to replace it with\n // just using the logger directly, as all those logs get written to step logs\n // using the stepLogStream above.\n // Initially this stream used to be the only way to write to the client logs, but that\n // has changed over time, there's not really a need for this anymore.\n // You can just create a simple wrapper like the below in your action to write to the main logger.\n // This way we also get redactions for free.\n const streamLogger = new PassThrough();\n streamLogger.on('data', async data => {\n const message = data.toString().trim();\n if (message?.length > 1) {\n taskLogger.info(message);\n }\n });\n\n return { taskLogger, streamLogger };\n};\n\nconst isActionAuthorized = createConditionAuthorizer(\n Object.values(scaffolderActionRules),\n);\n\nexport class NunjucksWorkflowRunner implements WorkflowRunner {\n private readonly defaultTemplateFilters: Record;\n private readonly tracker;\n\n constructor(private readonly options: NunjucksWorkflowRunnerOptions) {\n this.defaultTemplateFilters = createDefaultFilters({\n integrations: this.options.integrations,\n });\n this.tracker = scaffoldingTracker(this.options.auditLogger);\n }\n\n private isSingleTemplateString(input: string) {\n const { parser, nodes } = nunjucks as unknown as {\n parser: {\n parse(\n template: string,\n ctx: object,\n options: nunjucks.ConfigureOptions,\n ): { children: { children?: unknown[] }[] };\n };\n nodes: { TemplateData: Function };\n };\n\n const parsed = parser.parse(\n input,\n {},\n {\n autoescape: false,\n tags: {\n variableStart: '${{',\n variableEnd: '}}',\n },\n },\n );\n\n return (\n parsed.children.length === 1 &&\n !(parsed.children[0]?.children?.[0] instanceof nodes.TemplateData)\n );\n }\n\n private render(\n input: T,\n context: TemplateContext,\n renderTemplate: SecureTemplateRenderer,\n ): T {\n return JSON.parse(JSON.stringify(input), (_key, value) => {\n try {\n if (typeof value === 'string') {\n try {\n if (this.isSingleTemplateString(value)) {\n // Lets convert ${{ parameters.bob }} to ${{ (parameters.bob) | dump }} so we can keep the input type\n const wrappedDumped = value.replace(\n /\\${{(.+)}}/g,\n '${{ ( $1 ) | dump }}',\n );\n\n // Run the templating\n const templated = renderTemplate(wrappedDumped, context);\n\n // If there's an empty string returned, then it's undefined\n if (templated === '') {\n return undefined;\n }\n\n // Reparse the dumped string\n return JSON.parse(templated);\n }\n } catch (ex) {\n this.options.logger.error(\n `Failed to parse template string: ${value} with error ${ex.message}`,\n );\n }\n\n // Fallback to default behaviour\n const templated = renderTemplate(value, context);\n\n if (templated === '') {\n return undefined;\n }\n\n return templated;\n }\n } catch {\n return value;\n }\n return value;\n });\n }\n\n async executeStep(\n task: TaskContext,\n step: TaskStep,\n context: TemplateContext,\n renderTemplate: (template: string, values: unknown) => string,\n taskTrack: TaskTrackType,\n workspacePath: string,\n decision: PolicyDecision,\n ) {\n const stepTrack = await this.tracker.stepStart(task, step);\n\n if (task.cancelSignal.aborted) {\n throw new Error(\n `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.`,\n );\n }\n\n try {\n const action: TemplateAction =\n this.options.actionRegistry.get(step.action);\n const { taskLogger, streamLogger } = createStepLogger({\n task,\n step,\n rootLogger: this.options.logger,\n });\n\n const redactedSecrets = Object.fromEntries(\n Object.entries(task.secrets ?? {}).map(secret => [secret[0], '***']),\n );\n const stepInputs =\n (step.input &&\n this.render(\n step.input,\n {\n ...context,\n secrets: redactedSecrets,\n },\n renderTemplate,\n )) ??\n {};\n const commonStepAuditMetadata = {\n templateRef: task.spec.templateInfo?.entityRef || '',\n taskId: task.taskId,\n stepId: step.id,\n stepName: step.name,\n stepAction: step.action,\n stepInputs: stepInputs,\n stepConditional: step.if,\n stepEach: step.each,\n isDryRun: task.isDryRun || false,\n };\n if (\n step.if === false ||\n (typeof step.if === 'string' &&\n !isTruthy(this.render(step.if, context, renderTemplate)))\n ) {\n await stepTrack.skipFalsy();\n await this.options.auditLogger.auditLog({\n eventName: 'ScaffolderTaskStepSkip',\n actorId: 'scaffolder-backend',\n stage: 'completion',\n status: 'succeeded',\n metadata: commonStepAuditMetadata,\n message: `Skipped step ${step.name} (id: ${step.id}) of task ${task.taskId}`,\n });\n return;\n }\n\n await this.options.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepExecution',\n stage: 'initiation',\n status: 'succeeded',\n metadata: commonStepAuditMetadata,\n message: `Started ${step.name} (id: ${step.id}) of task ${task.taskId} triggering the ${step.action} action`,\n });\n\n if (task.isDryRun) {\n taskLogger.info(\n `Running ${\n action.id\n } in dry-run mode with inputs (secrets redacted): ${JSON.stringify(\n stepInputs,\n undefined,\n 2,\n )}`,\n );\n if (!action.supportsDryRun) {\n await taskTrack.skipDryRun(step, action);\n const outputSchema = action.schema?.output;\n if (outputSchema) {\n context.steps[step.id] = {\n output: generateExampleOutput(outputSchema) as {\n [name in string]: JsonValue;\n },\n };\n } else {\n context.steps[step.id] = { output: {} };\n }\n return;\n }\n }\n const iterations = (\n step.each\n ? Object.entries(this.render(step.each, context, renderTemplate)).map(\n ([key, value]) => ({\n each: { key, value },\n }),\n )\n : [{}]\n ).map(i => ({\n ...i,\n // Secrets are only passed when templating the input to actions for security reasons\n input: step.input\n ? this.render(\n step.input,\n { ...context, secrets: task.secrets ?? {}, ...i },\n renderTemplate,\n )\n : {},\n }));\n for (const iteration of iterations) {\n const actionId = `${action.id}${\n iteration.each ? `[${iteration.each.key}]` : ''\n }`;\n\n if (action.schema?.input) {\n const validateResult = validateJsonSchema(\n iteration.input,\n action.schema.input,\n );\n if (!validateResult.valid) {\n const errors = validateResult.errors.join(', ');\n throw new InputError(\n `Invalid input passed to action ${actionId}, ${errors}`,\n );\n }\n }\n if (\n !isActionAuthorized(decision, {\n action: action.id,\n input: iteration.input,\n })\n ) {\n throw new NotAllowedError(\n `Unauthorized action: ${actionId}. The action is not allowed. Input: ${JSON.stringify(\n iteration.input,\n null,\n 2,\n )}`,\n );\n }\n }\n const tmpDirs = new Array();\n const stepOutput: { [outputName: string]: JsonValue } = {};\n const prevTaskState = await task.getTaskState?.();\n let iterationCount: number = 0;\n for (const iteration of iterations) {\n if (iteration.each) {\n taskLogger.info(\n `Running step each: ${JSON.stringify(\n iteration.each,\n (k, v) => (k ? v.toString() : v),\n 0,\n )}`,\n );\n\n await this.options.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepIteration',\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n ...commonStepAuditMetadata,\n stepInputs: undefined,\n stepAction: `${step.action}[${iteration.each.key}]`,\n stepIterationInputs: iteration.input,\n stepIterationCount: ++iterationCount,\n stepIterationValue: iteration.each.value,\n totalIterations: iterations.length,\n },\n message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} started`,\n });\n }\n\n await action.handler({\n input: iteration.input,\n secrets: task.secrets ?? {},\n // TODO(blam): move to LoggerService and away from Winston\n logger: loggerToWinstonLogger(taskLogger),\n logStream: streamLogger,\n workspacePath,\n async checkpoint(opts: {\n key?: string;\n fn: () => Promise | T;\n }) {\n const { key: checkpointKey, fn } = opts;\n const key = `v1.task.checkpoint.${step.id}.${checkpointKey}`;\n\n try {\n let prevValue: T | undefined;\n\n if (prevTaskState) {\n const prevState = (\n prevTaskState.state?.checkpoints as {\n [key: string]: CheckpointState;\n }\n )?.[key];\n\n if (prevState && prevState.status === 'success') {\n prevValue = prevState.value as T;\n }\n }\n\n const value = prevValue ? prevValue : await fn();\n\n if (!prevValue) {\n task.updateCheckpoint?.({\n key,\n status: 'success',\n value: value ?? {},\n });\n }\n return value;\n } catch (err) {\n task.updateCheckpoint?.({\n key,\n status: 'failed',\n reason: stringifyError(err),\n });\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n },\n createTemporaryDirectory: async () => {\n const tmpDir = await fs.mkdtemp(\n `${workspacePath}_step-${step.id}-`,\n );\n tmpDirs.push(tmpDir);\n return tmpDir;\n },\n output(name: string, value: JsonValue) {\n if (step.each) {\n stepOutput[name] = stepOutput[name] || [];\n (stepOutput[name] as JsonArray).push(value);\n } else {\n stepOutput[name] = value;\n }\n },\n templateInfo: task.spec.templateInfo,\n user: task.spec.user,\n isDryRun: task.isDryRun,\n signal: task.cancelSignal,\n getInitiatorCredentials: () => task.getInitiatorCredentials(),\n });\n if (iteration.each) {\n await this.options.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepIteration',\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n ...commonStepAuditMetadata,\n stepInputs: undefined,\n stepAction: `${step.action}[${iteration.each.key}]`,\n stepIterationCount: iterationCount,\n stepIterationValue: iteration.each.value,\n stepIterationInputs: iteration.input,\n totalIterations: iterations.length,\n },\n message: `Iteration ${iterationCount}/${iterations.length} of action ${step.action} of step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded`,\n });\n }\n }\n\n // Remove all temporary directories that were created when executing the action\n for (const tmpDir of tmpDirs) {\n await fs.remove(tmpDir);\n }\n\n context.steps[step.id] = { output: stepOutput };\n\n if (task.cancelSignal.aborted) {\n throw new Error(\n `Step ${step.id} (${step.name}) of task ${task.taskId} has been cancelled.`,\n );\n }\n\n await stepTrack.markSuccessful();\n } catch (err) {\n await taskTrack.markFailed(step, err);\n await stepTrack.markFailed(err);\n throw err;\n } finally {\n await task.serializeWorkspace?.({ path: workspacePath });\n }\n }\n\n async execute(task: TaskContext): Promise {\n if (!isValidTaskSpec(task.spec)) {\n throw new InputError(\n 'Wrong template version executed with the workflow engine',\n );\n }\n const taskId = await task.getWorkspaceName();\n\n const workspacePath = path.join(this.options.workingDirectory, taskId);\n\n const { additionalTemplateFilters, additionalTemplateGlobals } =\n this.options;\n\n const renderTemplate = await SecureTemplater.loadRenderer({\n templateFilters: {\n ...this.defaultTemplateFilters,\n ...additionalTemplateFilters,\n },\n templateGlobals: additionalTemplateGlobals,\n });\n\n try {\n await task.rehydrateWorkspace?.({ taskId, targetPath: workspacePath });\n\n const taskTrack = await this.tracker.taskStart(task);\n await fs.ensureDir(workspacePath);\n\n const context: TemplateContext = {\n parameters: task.spec.parameters,\n steps: {},\n user: task.spec.user,\n };\n\n const [decision]: PolicyDecision[] =\n this.options.permissions && task.spec.steps.length\n ? await this.options.permissions.authorizeConditional(\n [{ permission: actionExecutePermission }],\n { credentials: await task.getInitiatorCredentials() },\n )\n : [{ result: AuthorizeResult.ALLOW }];\n\n for (const step of task.spec.steps) {\n await this.executeStep(\n task,\n step,\n context,\n renderTemplate,\n taskTrack,\n workspacePath,\n decision,\n );\n }\n\n const output = this.render(task.spec.output, context, renderTemplate);\n await taskTrack.markSuccessful();\n await task.cleanWorkspace?.();\n\n return { output };\n } finally {\n if (workspacePath) {\n await fs.remove(workspacePath);\n }\n }\n }\n}\n\nfunction scaffoldingTracker(auditLogger: AuditLogger) {\n // prom-client metrics are deprecated in favour of OpenTelemetry metrics.\n const promTaskCount = createCounterMetric({\n name: 'scaffolder_task_count',\n help: 'Count of task runs',\n labelNames: ['template', 'user', 'result'],\n });\n const promTaskDuration = createHistogramMetric({\n name: 'scaffolder_task_duration',\n help: 'Duration of a task run',\n labelNames: ['template', 'result'],\n });\n const promtStepCount = createCounterMetric({\n name: 'scaffolder_step_count',\n help: 'Count of step runs',\n labelNames: ['template', 'step', 'result'],\n });\n const promStepDuration = createHistogramMetric({\n name: 'scaffolder_step_duration',\n help: 'Duration of a step runs',\n labelNames: ['template', 'step', 'result'],\n });\n\n const meter = metrics.getMeter('default');\n const taskCount = meter.createCounter('scaffolder.task.count', {\n description: 'Count of task runs',\n });\n\n const taskDuration = meter.createHistogram('scaffolder.task.duration', {\n description: 'Duration of a task run',\n unit: 'seconds',\n });\n\n const stepCount = meter.createCounter('scaffolder.step.count', {\n description: 'Count of step runs',\n });\n\n const stepDuration = meter.createHistogram('scaffolder.step.duration', {\n description: 'Duration of a step runs',\n unit: 'seconds',\n });\n\n async function taskStart(task: TaskContext) {\n await task.emitLog(`Starting up task with ${task.spec.steps.length} steps`);\n const template = task.spec.templateInfo?.entityRef || '';\n const user = task.spec.user?.ref || '';\n\n const startTime = process.hrtime();\n const taskTimer = promTaskDuration.startTimer({\n template,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function skipDryRun(\n step: TaskStep,\n action: TemplateAction,\n ) {\n task.emitLog(`Skipping because ${action.id} does not support dry-run`, {\n stepId: step.id,\n status: 'skipped',\n });\n }\n\n async function markSuccessful() {\n promTaskCount.inc({\n template,\n user,\n result: 'ok',\n });\n taskTimer({ result: 'ok' });\n\n taskCount.add(1, { template, user, result: 'ok' });\n taskDuration.record(endTime(), {\n result: 'ok',\n });\n }\n\n async function markFailed(step: TaskStep, err: Error) {\n await task.emitLog(String(err.stack), {\n stepId: step.id,\n status: 'failed',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'failed',\n });\n taskTimer({ result: 'failed' });\n\n taskCount.add(1, { template, user, result: 'failed' });\n taskDuration.record(endTime(), {\n result: 'failed',\n });\n }\n\n async function markCancelled(step: TaskStep) {\n await task.emitLog(`Step ${step.id} has been cancelled.`, {\n stepId: step.id,\n status: 'cancelled',\n });\n promTaskCount.inc({\n template,\n user,\n result: 'cancelled',\n });\n taskTimer({ result: 'cancelled' });\n\n taskCount.add(1, { template, user, result: 'cancelled' });\n taskDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n return {\n skipDryRun,\n markCancelled,\n markSuccessful,\n markFailed,\n };\n }\n\n async function stepStart(task: TaskContext, step: TaskStep) {\n await task.emitLog(`Beginning step ${step.name}`, {\n stepId: step.id,\n status: 'processing',\n });\n const template = task.spec.templateInfo?.entityRef || '';\n\n const startTime = process.hrtime();\n const stepTimer = promStepDuration.startTimer({\n template,\n step: step.name,\n });\n\n function endTime() {\n const delta = process.hrtime(startTime);\n return delta[0] + delta[1] / 1e9;\n }\n\n async function markSuccessful() {\n await task.emitLog(`Finished step ${step.name}`, {\n stepId: step.id,\n status: 'completed',\n });\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'ok',\n });\n stepTimer({ result: 'ok' });\n\n stepCount.add(1, { template, step: step.name, result: 'ok' });\n stepDuration.record(endTime(), {\n result: 'ok',\n });\n await auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepExecution',\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n templateRef: template,\n taskId: task.taskId,\n stepId: step.id,\n stepName: step.name,\n stepAction: step.action,\n isDryRun: task.isDryRun || false,\n },\n message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} succeeded`,\n });\n }\n\n async function markCancelled() {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'cancelled',\n });\n stepTimer({ result: 'cancelled' });\n\n stepCount.add(1, { template, step: step.name, result: 'cancelled' });\n stepDuration.record(endTime(), {\n result: 'cancelled',\n });\n }\n\n async function markFailed(err: Error) {\n promtStepCount.inc({\n template,\n step: step.name,\n result: 'failed',\n });\n stepTimer({ result: 'failed' });\n\n stepCount.add(1, { template, step: step.name, result: 'failed' });\n stepDuration.record(endTime(), {\n result: 'failed',\n });\n\n await auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderTaskStepExecution',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n templateRef: template,\n taskId: task.taskId,\n stepId: step.id,\n stepName: step.name,\n stepAction: step.action,\n isDryRun: task.isDryRun || false,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Step ${step.name} (id: ${step.id}) of task ${task.taskId} failed`,\n });\n }\n\n async function skipFalsy() {\n await task.emitLog(\n `Skipping step ${step.id} because its if condition was false`,\n { stepId: step.id, status: 'skipped' },\n );\n stepTimer({ result: 'skipped' });\n\n stepCount.add(1, { template, step: step.name, result: 'skipped' });\n stepDuration.record(endTime(), {\n result: 'skipped',\n });\n }\n\n return {\n markCancelled,\n markFailed,\n markSuccessful,\n skipFalsy,\n };\n }\n\n return {\n taskStart,\n stepStart,\n };\n}\n"],"names":["WinstonLogger","winston","BackstageLoggerTransport","PassThrough","createConditionAuthorizer","scaffolderActionRules","createDefaultFilters","nunjucks","templated","isTruthy","generateExampleOutput","validateJsonSchema","errors","InputError","NotAllowedError","loggerToWinstonLogger","stringifyError","fs","path","SecureTemplater","actionExecutePermission","AuthorizeResult","createCounterMetric","createHistogramMetric","metrics"],"mappings":"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"} +\ No newline at end of file +diff --git a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js +index 6fd0ad7dfb65114226113abcb81d515210554fb2..b355ebf8fd5201426f748e1a69b7135f99fcabc0 100644 +--- a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js ++++ b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js +@@ -11,17 +11,18 @@ var ObservableImpl__default = /*#__PURE__*/_interopDefaultCompat(ObservableImpl) + + class TaskManager { + // Runs heartbeat internally +- constructor(task, storage, signal, logger, workspaceService, auth) { ++ constructor(task, storage, signal, logger, workspaceService, auditLogger, auth) { + this.task = task; + this.storage = storage; + this.signal = signal; + this.logger = logger; + this.workspaceService = workspaceService; ++ this.auditLogger = auditLogger; + this.auth = auth; + } + isDone = false; + heartbeatTimeoutId; +- static create(task, storage, abortSignal, logger, auth, config, additionalWorkspaceProviders) { ++ static create(task, storage, abortSignal, logger, auditLogger, auth, config, additionalWorkspaceProviders) { + const workspaceService = WorkspaceService.DefaultWorkspaceService.create( + task, + storage, +@@ -34,11 +35,15 @@ class TaskManager { + abortSignal, + logger, + workspaceService, ++ auditLogger, + auth + ); + agent.startTimeout(); + return agent; + } ++ get taskId() { ++ return this.task.taskId; ++ } + get spec() { + return this.task.spec; + } +@@ -100,6 +105,34 @@ class TaskManager { + if (this.heartbeatTimeoutId) { + clearTimeout(this.heartbeatTimeoutId); + } ++ const commonAuditFields = { ++ eventName: "ScaffolderTaskExecution", ++ actorId: "scaffolder-backend", ++ stage: "completion", ++ metadata: { ++ taskId: this.task.taskId, ++ taskParameters: this.task.spec.parameters ++ } ++ }; ++ if (result === "failed") { ++ await this.auditLogger?.auditLog({ ++ ...commonAuditFields, ++ status: "failed", ++ level: "error", ++ errors: [metadata?.error], ++ message: `Scaffolding task with taskId: ${this.task.taskId} failed` ++ }); ++ } else { ++ await this.auditLogger?.auditLog({ ++ ...commonAuditFields, ++ status: "succeeded", ++ metadata: { ++ ...commonAuditFields.metadata, ++ ...metadata ++ }, ++ message: `Scaffolding task with taskId: ${this.task.taskId} completed successfully` ++ }); ++ } + } + startTimeout() { + this.heartbeatTimeoutId = setTimeout(async () => { +@@ -129,9 +162,10 @@ class TaskManager { + } + } + class StorageTaskBroker { +- constructor(storage, logger, config, auth, additionalWorkspaceProviders) { ++ constructor(storage, logger, auditLogger, config, auth, additionalWorkspaceProviders) { + this.storage = storage; + this.logger = logger; ++ this.auditLogger = auditLogger; + this.config = config; + this.auth = auth; + this.additionalWorkspaceProviders = additionalWorkspaceProviders; +@@ -168,9 +202,7 @@ class StorageTaskBroker { + }); + } + async recoverTasks() { +- const enabled = (this.config && this.config.getOptionalBoolean( +- "scaffolder.EXPERIMENTAL_recoverTasks" +- )) ?? false; ++ const enabled = this.config?.getOptionalBoolean("scaffolder.EXPERIMENTAL_recoverTasks") ?? false; + if (enabled) { + const defaultTimeout = { seconds: 30 }; + const timeout = helper.readDuration( +@@ -206,6 +238,7 @@ class StorageTaskBroker { + this.storage, + abortController.signal, + this.logger, ++ this.auditLogger, + this.auth, + this.config, + this.additionalWorkspaceProviders +@@ -268,6 +301,16 @@ class StorageTaskBroker { + await Promise.all( + tasks.map(async (task) => { + try { ++ this.auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderStaleTaskCancellation", ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId: task.taskId ++ }, ++ message: `Attempting to cancel Stale scaffolding task ${task.taskId} because the task worker lost connection to the task broker` ++ }); + await this.storage.completeTask({ + taskId: task.taskId, + status: "failed", +@@ -275,8 +318,35 @@ class StorageTaskBroker { + message: "The task was cancelled because the task worker lost connection to the task broker" + } + }); ++ this.auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderStaleTaskCancellation", ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ taskId: task.taskId ++ }, ++ message: `Stale scaffolding task ${task.taskId} successfully cancelled` ++ }); + } catch (error) { +- this.logger.warn(`Failed to cancel task '${task.taskId}', ${error}`); ++ this.auditLogger.auditLog({ ++ actorId: "scaffolder-backend", ++ eventName: "ScaffolderStaleTaskCancellation", ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ taskId: task.taskId ++ }, ++ errors: [ ++ { ++ name: error.name, ++ message: error.message, ++ stack: error.stack ++ } ++ ], ++ message: `Failed to cancel stale scaffolding task ${task.taskId}` ++ }); + } + }) + ); +diff --git a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map +index 3a8d9acbac0062e0e5823ac0d376674284a1f9a6..1de7b36797aea5b66a390c685bf0f2db715ae510 100644 +--- a/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map ++++ b/dist/scaffolder/tasks/StorageTaskBroker.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"StorageTaskBroker.cjs.js","sources":["../../../src/scaffolder/tasks/StorageTaskBroker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config } from '@backstage/config';\nimport { TaskSpec } from '@backstage/plugin-scaffolder-common';\nimport {\n JsonObject,\n JsonValue,\n Observable,\n createDeferred,\n} from '@backstage/types';\nimport { Logger } from 'winston';\nimport ObservableImpl from 'zen-observable';\nimport {\n SerializedTask,\n SerializedTaskEvent,\n TaskBroker,\n TaskBrokerDispatchOptions,\n TaskCompletionState,\n TaskContext,\n TaskSecrets,\n TaskStatus,\n} from '@backstage/plugin-scaffolder-node';\nimport { InternalTaskSecrets, TaskStore } from './types';\nimport { readDuration } from './helper';\nimport {\n AuthService,\n BackstageCredentials,\n} from '@backstage/backend-plugin-api';\nimport { DefaultWorkspaceService, WorkspaceService } from './WorkspaceService';\nimport { WorkspaceProvider } from '@backstage/plugin-scaffolder-node/alpha';\n\ntype TaskState = {\n checkpoints: {\n [key: string]:\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n };\n};\n/**\n * TaskManager\n *\n * @public\n */\nexport class TaskManager implements TaskContext {\n private isDone = false;\n\n private heartbeatTimeoutId?: ReturnType;\n\n static create(\n task: CurrentClaimedTask,\n storage: TaskStore,\n abortSignal: AbortSignal,\n logger: Logger,\n auth?: AuthService,\n config?: Config,\n additionalWorkspaceProviders?: Record,\n ) {\n const workspaceService = DefaultWorkspaceService.create(\n task,\n storage,\n additionalWorkspaceProviders,\n config,\n );\n\n const agent = new TaskManager(\n task,\n storage,\n abortSignal,\n logger,\n workspaceService,\n auth,\n );\n agent.startTimeout();\n return agent;\n }\n\n // Runs heartbeat internally\n private constructor(\n private readonly task: CurrentClaimedTask,\n private readonly storage: TaskStore,\n private readonly signal: AbortSignal,\n private readonly logger: Logger,\n private readonly workspaceService: WorkspaceService,\n private readonly auth?: AuthService,\n ) {}\n\n get spec() {\n return this.task.spec;\n }\n\n get cancelSignal() {\n return this.signal;\n }\n\n get secrets() {\n return this.task.secrets;\n }\n\n get createdBy() {\n return this.task.createdBy;\n }\n\n async getWorkspaceName() {\n return this.task.taskId;\n }\n\n async rehydrateWorkspace?(options: {\n taskId: string;\n targetPath: string;\n }): Promise {\n await this.workspaceService.rehydrateWorkspace(options);\n }\n\n get done() {\n return this.isDone;\n }\n\n async emitLog(message: string, logMetadata?: JsonObject): Promise {\n await this.storage.emitLogEvent({\n taskId: this.task.taskId,\n body: { message, ...logMetadata },\n });\n }\n\n async getTaskState?(): Promise<\n | {\n state?: JsonObject;\n }\n | undefined\n > {\n return this.storage.getTaskState?.({ taskId: this.task.taskId });\n }\n\n async updateCheckpoint?(\n options:\n | {\n key: string;\n status: 'success';\n value: JsonValue;\n }\n | {\n key: string;\n status: 'failed';\n reason: string;\n },\n ): Promise {\n const { key, ...value } = options;\n if (this.task.state) {\n (this.task.state as TaskState).checkpoints[key] = value;\n } else {\n this.task.state = { checkpoints: { [key]: value } };\n }\n await this.storage.saveTaskState?.({\n taskId: this.task.taskId,\n state: this.task.state,\n });\n }\n\n async serializeWorkspace?(options: { path: string }): Promise {\n await this.workspaceService.serializeWorkspace(options);\n }\n\n async cleanWorkspace?(): Promise {\n await this.workspaceService.cleanWorkspace();\n }\n\n async complete(\n result: TaskCompletionState,\n metadata?: JsonObject,\n ): Promise {\n await this.storage.completeTask({\n taskId: this.task.taskId,\n status: result === 'failed' ? 'failed' : 'completed',\n eventBody: {\n message: `Run completed with status: ${result}`,\n ...metadata,\n },\n });\n this.isDone = true;\n if (this.heartbeatTimeoutId) {\n clearTimeout(this.heartbeatTimeoutId);\n }\n }\n\n private startTimeout() {\n this.heartbeatTimeoutId = setTimeout(async () => {\n try {\n await this.storage.heartbeatTask(this.task.taskId);\n this.startTimeout();\n } catch (error) {\n this.isDone = true;\n\n this.logger.error(\n `Heartbeat for task ${this.task.taskId} failed`,\n error,\n );\n }\n }, 1000);\n }\n\n async getInitiatorCredentials(): Promise {\n const secrets = this.task.secrets as InternalTaskSecrets;\n\n if (secrets && secrets.__initiatorCredentials) {\n return JSON.parse(secrets.__initiatorCredentials);\n }\n if (!this.auth) {\n throw new Error(\n 'Failed to create none credentials in scaffolder task. The TaskManager has not been initialized with an auth service implementation',\n );\n }\n return this.auth.getNoneCredentials();\n }\n}\n\n/**\n * Stores the state of the current claimed task passed to the TaskContext\n *\n * @public\n */\nexport interface CurrentClaimedTask {\n /**\n * The TaskSpec of the current claimed task.\n */\n spec: TaskSpec;\n /**\n * The uuid of the current claimed task.\n */\n taskId: string;\n /**\n * The secrets that are stored with the task.\n */\n secrets?: TaskSecrets;\n /**\n * The state of checkpoints of the task.\n */\n state?: JsonObject;\n /**\n * The creator of the task.\n */\n createdBy?: string;\n /**\n * The workspace of the task.\n */\n workspace?: Promise;\n}\n\nexport class StorageTaskBroker implements TaskBroker {\n constructor(\n private readonly storage: TaskStore,\n private readonly logger: Logger,\n private readonly config?: Config,\n private readonly auth?: AuthService,\n private readonly additionalWorkspaceProviders?: Record<\n string,\n WorkspaceProvider\n >,\n ) {}\n\n async list(options?: {\n createdBy?: string;\n status?: TaskStatus;\n filters?: {\n createdBy?: string | string[];\n status?: TaskStatus | TaskStatus[];\n };\n pagination?: {\n limit?: number;\n offset?: number;\n };\n order?: { order: 'asc' | 'desc'; field: string }[];\n }): Promise<{ tasks: SerializedTask[]; totalTasks?: number }> {\n if (!this.storage.list) {\n throw new Error(\n 'TaskStore does not implement the list method. Please implement the list method to be able to list tasks',\n );\n }\n return await this.storage.list(options ?? {});\n }\n\n private deferredDispatch = createDeferred();\n\n private async registerCancellable(\n taskId: string,\n abortController: AbortController,\n ) {\n let shouldUnsubscribe = false;\n const subscription = this.event$({ taskId, after: undefined }).subscribe({\n error: _ => {\n subscription.unsubscribe();\n },\n next: ({ events }) => {\n for (const event of events) {\n if (event.type === 'cancelled') {\n abortController.abort();\n shouldUnsubscribe = true;\n }\n\n if (event.type === 'completion' && !event.isTaskRecoverable) {\n shouldUnsubscribe = true;\n }\n }\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n }\n },\n });\n }\n\n public async recoverTasks(): Promise {\n const enabled =\n (this.config &&\n this.config.getOptionalBoolean(\n 'scaffolder.EXPERIMENTAL_recoverTasks',\n )) ??\n false;\n\n if (enabled) {\n const defaultTimeout = { seconds: 30 };\n const timeout = readDuration(\n this.config,\n 'scaffolder.EXPERIMENTAL_recoverTasksTimeout',\n defaultTimeout,\n );\n const { ids: recoveredTaskIds } = (await this.storage.recoverTasks?.({\n timeout,\n })) ?? { ids: [] };\n if (recoveredTaskIds.length > 0) {\n this.signalDispatch();\n }\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.claim}\n */\n async claim(): Promise {\n for (;;) {\n const pendingTask = await this.storage.claimTask();\n if (pendingTask) {\n const abortController = new AbortController();\n await this.registerCancellable(pendingTask.id, abortController);\n return TaskManager.create(\n {\n taskId: pendingTask.id,\n spec: pendingTask.spec,\n secrets: pendingTask.secrets,\n createdBy: pendingTask.createdBy,\n state: pendingTask.state,\n },\n this.storage,\n abortController.signal,\n this.logger,\n this.auth,\n this.config,\n this.additionalWorkspaceProviders,\n );\n }\n\n await this.waitForDispatch();\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.dispatch}\n */\n async dispatch(\n options: TaskBrokerDispatchOptions,\n ): Promise<{ taskId: string }> {\n const taskRow = await this.storage.createTask(options);\n this.signalDispatch();\n return {\n taskId: taskRow.taskId,\n };\n }\n\n /**\n * {@inheritdoc TaskBroker.get}\n */\n async get(taskId: string): Promise {\n return this.storage.getTask(taskId);\n }\n\n /**\n * {@inheritdoc TaskBroker.event$}\n */\n event$(options: {\n taskId: string;\n after?: number;\n }): Observable<{ events: SerializedTaskEvent[] }> {\n return new ObservableImpl(observer => {\n const { taskId } = options;\n\n let after = options.after;\n let cancelled = false;\n\n (async () => {\n const task = await this.storage.getTask(taskId);\n const isTaskRecoverable =\n task.spec.EXPERIMENTAL_recovery?.EXPERIMENTAL_strategy ===\n 'startOver';\n\n while (!cancelled) {\n const result = await this.storage.listEvents({\n isTaskRecoverable,\n taskId,\n after,\n });\n const { events } = result;\n if (events.length) {\n after = events[events.length - 1].id;\n observer.next(result);\n }\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n })();\n\n return () => {\n cancelled = true;\n };\n });\n }\n\n /**\n * {@inheritdoc TaskBroker.vacuumTasks}\n */\n async vacuumTasks(options: { timeoutS: number }): Promise {\n const { tasks } = await this.storage.listStaleTasks(options);\n await Promise.all(\n tasks.map(async task => {\n try {\n await this.storage.completeTask({\n taskId: task.taskId,\n status: 'failed',\n eventBody: {\n message:\n 'The task was cancelled because the task worker lost connection to the task broker',\n },\n });\n } catch (error) {\n this.logger.warn(`Failed to cancel task '${task.taskId}', ${error}`);\n }\n }),\n );\n }\n\n private waitForDispatch() {\n return this.deferredDispatch;\n }\n\n private signalDispatch() {\n this.deferredDispatch.resolve();\n this.deferredDispatch = createDeferred();\n }\n\n async cancel(taskId: string) {\n const { events } = await this.storage.listEvents({ taskId });\n const currentStepId =\n events.length > 0\n ? events\n .filter(({ body }) => body?.stepId)\n .reduce((prev, curr) => (prev.id > curr.id ? prev : curr)).body\n .stepId\n : 0;\n\n await this.storage.cancelTask?.({\n taskId,\n body: {\n message: `Step ${currentStepId} has been cancelled.`,\n stepId: currentStepId,\n status: 'cancelled',\n },\n });\n }\n\n async retry?(taskId: string): Promise {\n await this.storage.retryTask?.({ taskId });\n this.signalDispatch();\n }\n}\n"],"names":["DefaultWorkspaceService","createDeferred","readDuration","ObservableImpl"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"StorageTaskBroker.cjs.js","sources":["../../../src/scaffolder/tasks/StorageTaskBroker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Config } from '@backstage/config';\nimport { TaskSpec } from '@backstage/plugin-scaffolder-common';\nimport {\n JsonObject,\n JsonValue,\n Observable,\n createDeferred,\n} from '@backstage/types';\nimport { Logger } from 'winston';\nimport ObservableImpl from 'zen-observable';\nimport {\n SerializedTask,\n SerializedTaskEvent,\n TaskBroker,\n TaskBrokerDispatchOptions,\n TaskCompletionState,\n TaskContext,\n TaskSecrets,\n TaskStatus,\n} from '@backstage/plugin-scaffolder-node';\nimport { InternalTaskSecrets, TaskStore } from './types';\nimport { readDuration } from './helper';\nimport {\n AuthService,\n BackstageCredentials,\n} from '@backstage/backend-plugin-api';\nimport { DefaultWorkspaceService, WorkspaceService } from './WorkspaceService';\nimport { WorkspaceProvider } from '@backstage/plugin-scaffolder-node/alpha';\n\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\ntype TaskState = {\n checkpoints: {\n [key: string]:\n | {\n status: 'failed';\n reason: string;\n }\n | {\n status: 'success';\n value: JsonValue;\n };\n };\n};\n/**\n * TaskManager\n *\n * @public\n */\nexport class TaskManager implements TaskContext {\n private isDone = false;\n\n private heartbeatTimeoutId?: ReturnType;\n\n static create(\n task: CurrentClaimedTask,\n storage: TaskStore,\n abortSignal: AbortSignal,\n logger: Logger,\n auditLogger: AuditLogger,\n auth?: AuthService,\n config?: Config,\n additionalWorkspaceProviders?: Record,\n ) {\n const workspaceService = DefaultWorkspaceService.create(\n task,\n storage,\n additionalWorkspaceProviders,\n config,\n );\n\n const agent = new TaskManager(\n task,\n storage,\n abortSignal,\n logger,\n workspaceService,\n auditLogger,\n auth,\n );\n agent.startTimeout();\n return agent;\n }\n\n // Runs heartbeat internally\n private constructor(\n private readonly task: CurrentClaimedTask,\n private readonly storage: TaskStore,\n private readonly signal: AbortSignal,\n private readonly logger: Logger,\n private readonly workspaceService: WorkspaceService,\n private readonly auditLogger: AuditLogger,\n private readonly auth?: AuthService,\n ) {}\n\n get taskId() {\n return this.task.taskId;\n }\n\n get spec() {\n return this.task.spec;\n }\n\n get cancelSignal() {\n return this.signal;\n }\n\n get secrets() {\n return this.task.secrets;\n }\n\n get createdBy() {\n return this.task.createdBy;\n }\n\n async getWorkspaceName() {\n return this.task.taskId;\n }\n\n async rehydrateWorkspace?(options: {\n taskId: string;\n targetPath: string;\n }): Promise {\n await this.workspaceService.rehydrateWorkspace(options);\n }\n\n get done() {\n return this.isDone;\n }\n\n async emitLog(message: string, logMetadata?: JsonObject): Promise {\n await this.storage.emitLogEvent({\n taskId: this.task.taskId,\n body: { message, ...logMetadata },\n });\n }\n\n async getTaskState?(): Promise<\n | {\n state?: JsonObject;\n }\n | undefined\n > {\n return this.storage.getTaskState?.({ taskId: this.task.taskId });\n }\n\n async updateCheckpoint?(\n options:\n | {\n key: string;\n status: 'success';\n value: JsonValue;\n }\n | {\n key: string;\n status: 'failed';\n reason: string;\n },\n ): Promise {\n const { key, ...value } = options;\n if (this.task.state) {\n (this.task.state as TaskState).checkpoints[key] = value;\n } else {\n this.task.state = { checkpoints: { [key]: value } };\n }\n await this.storage.saveTaskState?.({\n taskId: this.task.taskId,\n state: this.task.state,\n });\n }\n\n async serializeWorkspace?(options: { path: string }): Promise {\n await this.workspaceService.serializeWorkspace(options);\n }\n\n async cleanWorkspace?(): Promise {\n await this.workspaceService.cleanWorkspace();\n }\n\n async complete(\n result: TaskCompletionState,\n metadata?: JsonObject,\n ): Promise {\n await this.storage.completeTask({\n taskId: this.task.taskId,\n status: result === 'failed' ? 'failed' : 'completed',\n eventBody: {\n message: `Run completed with status: ${result}`,\n ...metadata,\n },\n });\n this.isDone = true;\n if (this.heartbeatTimeoutId) {\n clearTimeout(this.heartbeatTimeoutId);\n }\n const commonAuditFields = {\n eventName: 'ScaffolderTaskExecution',\n actorId: 'scaffolder-backend',\n stage: 'completion',\n metadata: {\n taskId: this.task.taskId,\n taskParameters: this.task.spec.parameters,\n },\n };\n if (result === 'failed') {\n await this.auditLogger?.auditLog({\n ...commonAuditFields,\n status: 'failed',\n level: 'error',\n errors: [metadata?.error],\n message: `Scaffolding task with taskId: ${this.task.taskId} failed`,\n });\n } else {\n await this.auditLogger?.auditLog({\n ...commonAuditFields,\n status: 'succeeded',\n metadata: {\n ...commonAuditFields.metadata,\n ...metadata,\n },\n message: `Scaffolding task with taskId: ${this.task.taskId} completed successfully`,\n });\n }\n }\n\n private startTimeout() {\n this.heartbeatTimeoutId = setTimeout(async () => {\n try {\n await this.storage.heartbeatTask(this.task.taskId);\n this.startTimeout();\n } catch (error) {\n this.isDone = true;\n\n this.logger.error(\n `Heartbeat for task ${this.task.taskId} failed`,\n error,\n );\n }\n }, 1000);\n }\n\n async getInitiatorCredentials(): Promise {\n const secrets = this.task.secrets as InternalTaskSecrets;\n\n if (secrets && secrets.__initiatorCredentials) {\n return JSON.parse(secrets.__initiatorCredentials);\n }\n if (!this.auth) {\n throw new Error(\n 'Failed to create none credentials in scaffolder task. The TaskManager has not been initialized with an auth service implementation',\n );\n }\n return this.auth.getNoneCredentials();\n }\n}\n\n/**\n * Stores the state of the current claimed task passed to the TaskContext\n *\n * @public\n */\nexport interface CurrentClaimedTask {\n /**\n * The TaskSpec of the current claimed task.\n */\n spec: TaskSpec;\n /**\n * The uuid of the current claimed task.\n */\n taskId: string;\n /**\n * The secrets that are stored with the task.\n */\n secrets?: TaskSecrets;\n /**\n * The state of checkpoints of the task.\n */\n state?: JsonObject;\n /**\n * The creator of the task.\n */\n createdBy?: string;\n /**\n * The workspace of the task.\n */\n workspace?: Promise;\n}\n\nexport class StorageTaskBroker implements TaskBroker {\n constructor(\n private readonly storage: TaskStore,\n private readonly logger: Logger,\n private readonly auditLogger: AuditLogger,\n private readonly config?: Config,\n private readonly auth?: AuthService,\n private readonly additionalWorkspaceProviders?: Record<\n string,\n WorkspaceProvider\n >,\n ) {}\n\n async list(options?: {\n createdBy?: string;\n status?: TaskStatus;\n filters?: {\n createdBy?: string | string[];\n status?: TaskStatus | TaskStatus[];\n };\n pagination?: {\n limit?: number;\n offset?: number;\n };\n order?: { order: 'asc' | 'desc'; field: string }[];\n }): Promise<{ tasks: SerializedTask[]; totalTasks?: number }> {\n if (!this.storage.list) {\n throw new Error(\n 'TaskStore does not implement the list method. Please implement the list method to be able to list tasks',\n );\n }\n return await this.storage.list(options ?? {});\n }\n\n private deferredDispatch = createDeferred();\n\n private async registerCancellable(\n taskId: string,\n abortController: AbortController,\n ) {\n let shouldUnsubscribe = false;\n const subscription = this.event$({ taskId, after: undefined }).subscribe({\n error: _ => {\n subscription.unsubscribe();\n },\n next: ({ events }) => {\n for (const event of events) {\n if (event.type === 'cancelled') {\n abortController.abort();\n shouldUnsubscribe = true;\n }\n\n if (event.type === 'completion' && !event.isTaskRecoverable) {\n shouldUnsubscribe = true;\n }\n }\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n }\n },\n });\n }\n\n public async recoverTasks(): Promise {\n const enabled =\n this.config?.getOptionalBoolean('scaffolder.EXPERIMENTAL_recoverTasks') ??\n false;\n\n if (enabled) {\n const defaultTimeout = { seconds: 30 };\n const timeout = readDuration(\n this.config,\n 'scaffolder.EXPERIMENTAL_recoverTasksTimeout',\n defaultTimeout,\n );\n const { ids: recoveredTaskIds } = (await this.storage.recoverTasks?.({\n timeout,\n })) ?? { ids: [] };\n if (recoveredTaskIds.length > 0) {\n this.signalDispatch();\n }\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.claim}\n */\n async claim(): Promise {\n for (;;) {\n const pendingTask = await this.storage.claimTask();\n if (pendingTask) {\n const abortController = new AbortController();\n await this.registerCancellable(pendingTask.id, abortController);\n return TaskManager.create(\n {\n taskId: pendingTask.id,\n spec: pendingTask.spec,\n secrets: pendingTask.secrets,\n createdBy: pendingTask.createdBy,\n state: pendingTask.state,\n },\n this.storage,\n abortController.signal,\n this.logger,\n this.auditLogger,\n this.auth,\n this.config,\n this.additionalWorkspaceProviders,\n );\n }\n\n await this.waitForDispatch();\n }\n }\n\n /**\n * {@inheritdoc TaskBroker.dispatch}\n */\n async dispatch(\n options: TaskBrokerDispatchOptions,\n ): Promise<{ taskId: string }> {\n const taskRow = await this.storage.createTask(options);\n this.signalDispatch();\n return {\n taskId: taskRow.taskId,\n };\n }\n\n /**\n * {@inheritdoc TaskBroker.get}\n */\n async get(taskId: string): Promise {\n return this.storage.getTask(taskId);\n }\n\n /**\n * {@inheritdoc TaskBroker.event$}\n */\n event$(options: {\n taskId: string;\n after?: number;\n }): Observable<{ events: SerializedTaskEvent[] }> {\n return new ObservableImpl(observer => {\n const { taskId } = options;\n\n let after = options.after;\n let cancelled = false;\n\n (async () => {\n const task = await this.storage.getTask(taskId);\n const isTaskRecoverable =\n task.spec.EXPERIMENTAL_recovery?.EXPERIMENTAL_strategy ===\n 'startOver';\n\n while (!cancelled) {\n const result = await this.storage.listEvents({\n isTaskRecoverable,\n taskId,\n after,\n });\n const { events } = result;\n if (events.length) {\n after = events[events.length - 1].id;\n observer.next(result);\n }\n\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n })();\n\n return () => {\n cancelled = true;\n };\n });\n }\n\n /**\n * {@inheritdoc TaskBroker.vacuumTasks}\n */\n async vacuumTasks(options: { timeoutS: number }): Promise {\n const { tasks } = await this.storage.listStaleTasks(options);\n await Promise.all(\n tasks.map(async task => {\n try {\n this.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderStaleTaskCancellation',\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId: task.taskId,\n },\n message: `Attempting to cancel Stale scaffolding task ${task.taskId} because the task worker lost connection to the task broker`,\n });\n await this.storage.completeTask({\n taskId: task.taskId,\n status: 'failed',\n eventBody: {\n message:\n 'The task was cancelled because the task worker lost connection to the task broker',\n },\n });\n this.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderStaleTaskCancellation',\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId: task.taskId,\n },\n message: `Stale scaffolding task ${task.taskId} successfully cancelled`,\n });\n } catch (error) {\n this.auditLogger.auditLog({\n actorId: 'scaffolder-backend',\n eventName: 'ScaffolderStaleTaskCancellation',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId: task.taskId,\n },\n errors: [\n {\n name: error.name,\n message: error.message,\n stack: error.stack,\n },\n ],\n message: `Failed to cancel stale scaffolding task ${task.taskId}`,\n });\n }\n }),\n );\n }\n\n private waitForDispatch() {\n return this.deferredDispatch;\n }\n\n private signalDispatch() {\n this.deferredDispatch.resolve();\n this.deferredDispatch = createDeferred();\n }\n\n async cancel(taskId: string) {\n const { events } = await this.storage.listEvents({ taskId });\n const currentStepId =\n events.length > 0\n ? events\n .filter(({ body }) => body?.stepId)\n .reduce((prev, curr) => (prev.id > curr.id ? prev : curr)).body\n .stepId\n : 0;\n\n await this.storage.cancelTask?.({\n taskId,\n body: {\n message: `Step ${currentStepId} has been cancelled.`,\n stepId: currentStepId,\n status: 'cancelled',\n },\n });\n }\n\n async retry?(taskId: string): Promise {\n await this.storage.retryTask?.({ taskId });\n this.signalDispatch();\n }\n}\n"],"names":["DefaultWorkspaceService","createDeferred","readDuration","ObservableImpl"],"mappings":"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"} +\ No newline at end of file +diff --git a/dist/scaffolder/tasks/TaskWorker.cjs.js b/dist/scaffolder/tasks/TaskWorker.cjs.js +index 3c432ad8854984e61df2265a4a044cb6ed4307c2..f959924862b85f14074962c6f0b0302b0a5dec20 100644 +--- a/dist/scaffolder/tasks/TaskWorker.cjs.js ++++ b/dist/scaffolder/tasks/TaskWorker.cjs.js +@@ -13,6 +13,7 @@ class TaskWorker { + this.options = options; + this.stopWorkers = false; + this.logger = options.logger; ++ this.auditLogger = options.auditLogger; + this.taskQueue = new PQueue__default.default({ + concurrency: options.concurrentTasksLimit + }); +@@ -20,6 +21,7 @@ class TaskWorker { + taskQueue; + logger; + stopWorkers; ++ auditLogger; + static async create(options) { + const { + taskBroker, +@@ -31,12 +33,14 @@ class TaskWorker { + concurrentTasksLimit = 10, + // from 1 to Infinity + additionalTemplateGlobals, +- permissions ++ permissions, ++ auditLogger + } = options; + const workflowRunner = new NunjucksWorkflowRunner.NunjucksWorkflowRunner({ + actionRegistry, + integrations, + logger, ++ auditLogger, + workingDirectory, + additionalTemplateFilters, + additionalTemplateGlobals, +@@ -46,7 +50,8 @@ class TaskWorker { + taskBroker, + runners: { workflowRunner }, + concurrentTasksLimit, +- permissions ++ permissions, ++ auditLogger + }); + } + async recoverTasks() { +@@ -88,6 +93,18 @@ class TaskWorker { + } + async runOneTask(task) { + try { ++ await this.auditLogger?.auditLog({ ++ eventName: "ScaffolderTaskExecution", ++ actorId: "scaffolder-backend", ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId: task.taskId, ++ taskParameters: task.spec.parameters, ++ templateRef: task.spec.templateInfo?.entityRef ++ }, ++ message: `Scaffolding task with taskId: ${task.taskId} initiated` ++ }); + if (task.spec.apiVersion !== "scaffolder.backstage.io/v1beta3") { + throw new Error( + `Unsupported Template apiVersion ${task.spec.apiVersion}` +diff --git a/dist/scaffolder/tasks/TaskWorker.cjs.js.map b/dist/scaffolder/tasks/TaskWorker.cjs.js.map +index 97e74ac01b5ca5e79160249bddfc171da8fdd08d..33e40bae5f0f4903388668d620a44e94869f18ee 100644 +--- a/dist/scaffolder/tasks/TaskWorker.cjs.js.map ++++ b/dist/scaffolder/tasks/TaskWorker.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"TaskWorker.cjs.js","sources":["../../../src/scaffolder/tasks/TaskWorker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WorkflowRunner } from './types';\nimport {\n TaskContext,\n TaskBroker,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport PQueue from 'p-queue';\nimport { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner';\nimport { Logger } from 'winston';\nimport { TemplateActionRegistry } from '../actions';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { assertError, stringifyError } from '@backstage/errors';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\n\n/**\n * TaskWorkerOptions\n *\n * @public\n */\nexport type TaskWorkerOptions = {\n taskBroker: TaskBroker;\n runners: {\n workflowRunner: WorkflowRunner;\n };\n concurrentTasksLimit: number;\n permissions?: PermissionEvaluator;\n logger?: Logger;\n};\n\n/**\n * CreateWorkerOptions\n *\n * @public\n */\nexport type CreateWorkerOptions = {\n taskBroker: TaskBroker;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n workingDirectory: string;\n logger: Logger;\n additionalTemplateFilters?: Record;\n /**\n * The number of tasks that can be executed at the same time by the worker\n * @defaultValue 10\n * @example\n * ```\n * {\n * concurrentTasksLimit: 1,\n * // OR\n * concurrentTasksLimit: Infinity\n * }\n * ```\n */\n concurrentTasksLimit?: number;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * TaskWorker\n *\n * @public\n */\nexport class TaskWorker {\n private taskQueue: PQueue;\n private logger: Logger | undefined;\n private stopWorkers: boolean;\n\n private constructor(private readonly options: TaskWorkerOptions) {\n this.stopWorkers = false;\n this.logger = options.logger;\n this.taskQueue = new PQueue({\n concurrency: options.concurrentTasksLimit,\n });\n }\n\n static async create(options: CreateWorkerOptions): Promise {\n const {\n taskBroker,\n logger,\n actionRegistry,\n integrations,\n workingDirectory,\n additionalTemplateFilters,\n concurrentTasksLimit = 10, // from 1 to Infinity\n additionalTemplateGlobals,\n permissions,\n } = options;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n return new TaskWorker({\n taskBroker: taskBroker,\n runners: { workflowRunner },\n concurrentTasksLimit,\n permissions,\n });\n }\n\n async recoverTasks() {\n try {\n await this.options.taskBroker.recoverTasks?.();\n } catch (err) {\n this.logger?.error(stringifyError(err));\n }\n }\n\n start() {\n (async () => {\n while (!this.stopWorkers) {\n await new Promise(resolve => setTimeout(resolve, 10000));\n await this.recoverTasks();\n }\n })();\n (async () => {\n while (!this.stopWorkers) {\n await this.onReadyToClaimTask();\n if (!this.stopWorkers) {\n const task = await this.options.taskBroker.claim();\n void this.taskQueue.add(() => this.runOneTask(task));\n }\n }\n })();\n }\n\n stop() {\n this.stopWorkers = true;\n }\n\n protected onReadyToClaimTask(): Promise {\n if (this.taskQueue.pending < this.options.concurrentTasksLimit) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n // \"next\" event emits when a task completes\n // https://github.com/sindresorhus/p-queue#next\n this.taskQueue.once('next', () => {\n resolve();\n });\n });\n }\n\n async runOneTask(task: TaskContext) {\n try {\n if (task.spec.apiVersion !== 'scaffolder.backstage.io/v1beta3') {\n throw new Error(\n `Unsupported Template apiVersion ${task.spec.apiVersion}`,\n );\n }\n\n const { output } = await this.options.runners.workflowRunner.execute(\n task,\n );\n\n await task.complete('completed', { output });\n } catch (error) {\n assertError(error);\n await task.complete('failed', {\n error: { name: error.name, message: error.message },\n });\n }\n }\n}\n"],"names":["PQueue","NunjucksWorkflowRunner","stringifyError","assertError"],"mappings":"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"} +\ No newline at end of file ++{"version":3,"file":"TaskWorker.cjs.js","sources":["../../../src/scaffolder/tasks/TaskWorker.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { WorkflowRunner } from './types';\nimport {\n TaskContext,\n TaskBroker,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport PQueue from 'p-queue';\nimport { NunjucksWorkflowRunner } from './NunjucksWorkflowRunner';\nimport { Logger } from 'winston';\nimport { TemplateActionRegistry } from '../actions';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { assertError, stringifyError } from '@backstage/errors';\nimport { PermissionEvaluator } from '@backstage/plugin-permission-common';\n\nimport { AuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\n/**\n * TaskWorkerOptions\n *\n * @public\n */\nexport type TaskWorkerOptions = {\n taskBroker: TaskBroker;\n runners: {\n workflowRunner: WorkflowRunner;\n };\n concurrentTasksLimit: number;\n permissions?: PermissionEvaluator;\n logger?: Logger;\n auditLogger?: AuditLogger;\n};\n\n/**\n * CreateWorkerOptions\n *\n * @public\n */\nexport type CreateWorkerOptions = {\n taskBroker: TaskBroker;\n actionRegistry: TemplateActionRegistry;\n integrations: ScmIntegrations;\n workingDirectory: string;\n logger: Logger;\n auditLogger: AuditLogger;\n additionalTemplateFilters?: Record;\n /**\n * The number of tasks that can be executed at the same time by the worker\n * @defaultValue 10\n * @example\n * ```\n * {\n * concurrentTasksLimit: 1,\n * // OR\n * concurrentTasksLimit: Infinity\n * }\n * ```\n */\n concurrentTasksLimit?: number;\n additionalTemplateGlobals?: Record;\n permissions?: PermissionEvaluator;\n};\n\n/**\n * TaskWorker\n *\n * @public\n */\nexport class TaskWorker {\n private taskQueue: PQueue;\n private logger: Logger | undefined;\n private stopWorkers: boolean;\n private auditLogger: AuditLogger | undefined;\n\n private constructor(private readonly options: TaskWorkerOptions) {\n this.stopWorkers = false;\n this.logger = options.logger;\n this.auditLogger = options.auditLogger;\n this.taskQueue = new PQueue({\n concurrency: options.concurrentTasksLimit,\n });\n }\n\n static async create(options: CreateWorkerOptions): Promise {\n const {\n taskBroker,\n logger,\n actionRegistry,\n integrations,\n workingDirectory,\n additionalTemplateFilters,\n concurrentTasksLimit = 10, // from 1 to Infinity\n additionalTemplateGlobals,\n permissions,\n auditLogger,\n } = options;\n\n const workflowRunner = new NunjucksWorkflowRunner({\n actionRegistry,\n integrations,\n logger,\n auditLogger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n return new TaskWorker({\n taskBroker: taskBroker,\n runners: { workflowRunner },\n concurrentTasksLimit,\n permissions,\n auditLogger,\n });\n }\n\n async recoverTasks() {\n try {\n await this.options.taskBroker.recoverTasks?.();\n } catch (err) {\n this.logger?.error(stringifyError(err));\n }\n }\n\n start() {\n (async () => {\n while (!this.stopWorkers) {\n await new Promise(resolve => setTimeout(resolve, 10000));\n await this.recoverTasks();\n }\n })();\n (async () => {\n while (!this.stopWorkers) {\n await this.onReadyToClaimTask();\n if (!this.stopWorkers) {\n const task = await this.options.taskBroker.claim();\n void this.taskQueue.add(() => this.runOneTask(task));\n }\n }\n })();\n }\n\n stop() {\n this.stopWorkers = true;\n }\n\n protected onReadyToClaimTask(): Promise {\n if (this.taskQueue.pending < this.options.concurrentTasksLimit) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n // \"next\" event emits when a task completes\n // https://github.com/sindresorhus/p-queue#next\n this.taskQueue.once('next', () => {\n resolve();\n });\n });\n }\n\n async runOneTask(task: TaskContext) {\n try {\n await this.auditLogger?.auditLog({\n eventName: 'ScaffolderTaskExecution',\n actorId: 'scaffolder-backend',\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId: task.taskId,\n taskParameters: task.spec.parameters,\n templateRef: task.spec.templateInfo?.entityRef,\n },\n message: `Scaffolding task with taskId: ${task.taskId} initiated`,\n });\n if (task.spec.apiVersion !== 'scaffolder.backstage.io/v1beta3') {\n throw new Error(\n `Unsupported Template apiVersion ${task.spec.apiVersion}`,\n );\n }\n const { output } = await this.options.runners.workflowRunner.execute(\n task,\n );\n await task.complete('completed', { output });\n } catch (error) {\n assertError(error);\n await task.complete('failed', {\n error: { name: error.name, message: error.message },\n });\n }\n }\n}\n"],"names":["PQueue","NunjucksWorkflowRunner","stringifyError","assertError"],"mappings":"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"} +\ No newline at end of file +diff --git a/dist/service/router.cjs.js b/dist/service/router.cjs.js +index ad80067b80b43202cd90df87a4b51e69b7e90817..7b4af5a75efd9519efd4d86f1836c5e989c2e1a0 100644 +--- a/dist/service/router.cjs.js ++++ b/dist/service/router.cjs.js +@@ -53,6 +53,8 @@ var rules = require('./rules.cjs.js'); + var checkPermissions = require('../util/checkPermissions.cjs.js'); + var url = require('url'); + var uuid = require('uuid'); ++var lodash = require('lodash'); ++var backstagePluginAuditLogNode = require('@janus-idp/backstage-plugin-audit-log-node'); + + function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } + +@@ -146,6 +148,11 @@ async function createRouter(options) { + }); + const concurrentTasksLimit = options.concurrentTasksLimit ?? options.config.getOptionalNumber("scaffolder.concurrentTasksLimit"); + const logger = parentLogger.child({ plugin: "scaffolder" }); ++ const auditLogger = new backstagePluginAuditLogNode.DefaultAuditLogger({ ++ logger, ++ authService: auth, ++ httpAuthService: httpAuth ++ }); + const workingDirectory = await helpers.getWorkingDirectory(config, logger); + const integrations = integration.ScmIntegrations.fromConfig(config); + let taskBroker; +@@ -157,6 +164,7 @@ async function createRouter(options) { + taskBroker = new StorageTaskBroker.StorageTaskBroker( + databaseTaskStore, + logger, ++ auditLogger, + config, + auth, + additionalWorkspaceProviders +@@ -203,7 +211,8 @@ async function createRouter(options) { + additionalTemplateFilters, + additionalTemplateGlobals, + concurrentTasksLimit, +- permissions ++ permissions, ++ auditLogger + }); + workers.push(worker); + } +@@ -232,6 +241,7 @@ async function createRouter(options) { + actionRegistry, + integrations, + logger, ++ auditLogger, + workingDirectory, + additionalTemplateFilters, + additionalTemplateGlobals, +@@ -269,41 +279,135 @@ async function createRouter(options) { + router.get( + "/v2/templates/:namespace/:kind/:name/parameter-schema", + async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- const { token } = await auth.getPluginRequestToken({ +- onBehalfOf: credentials, +- targetPluginId: "catalog" ++ const requestedTemplateRef = `${req.params.kind}:${req.params.namespace}/${req.params.name}`; ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ const credentials = await httpAuth.credentials(req); ++ const { token } = await auth.getPluginRequestToken({ ++ onBehalfOf: credentials, ++ targetPluginId: "catalog" ++ }); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderParameterSchemaFetch", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ templateRef: requestedTemplateRef ++ }, ++ request: req, ++ message: `${actorId} requested the parameter schema for ${requestedTemplateRef}` ++ }); ++ const template = await authorizeTemplate( ++ req.params, ++ token, ++ credentials ++ ); ++ const parameters = [template.spec.parameters ?? []].flat(); ++ const presentation = template.spec.presentation; ++ const templateRef = `${template.kind}:${template.metadata.namespace || "default"}/${template.metadata.name}`; ++ const responseBody = { ++ title: template.metadata.title ?? template.metadata.name, ++ ...presentation ? { presentation } : {}, ++ description: template.metadata.description, ++ "ui:options": template.metadata["ui:options"], ++ steps: parameters.map((schema) => ({ ++ title: schema.title ?? "Please enter the following information", ++ description: schema.description, ++ schema ++ })), ++ EXPERIMENTAL_formDecorators: template.spec.EXPERIMENTAL_formDecorators ++ }; ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderParameterSchemaFetch", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ templateRef ++ }, ++ request: req, ++ response: { ++ status: 200, ++ body: responseBody ++ }, ++ message: `${actorId} successfully requested the parameter schema for ${templateRef}` ++ }); ++ res.json(responseBody); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderParameterSchemaFetch", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ metadata: { ++ templateRef: requestedTemplateRef ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `${actorId} failed to request the parameter schema for ${requestedTemplateRef}` ++ }); ++ throw err; ++ } ++ } ++ ).get("/v2/actions", async (req, res) => { ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderInstalledActionsFetch", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ request: req, ++ message: `${actorId} requested the list of installed actions` + }); +- const template = await authorizeTemplate( +- req.params, +- token, +- credentials +- ); +- const parameters = [template.spec.parameters ?? []].flat(); +- const presentation = template.spec.presentation; +- res.json({ +- title: template.metadata.title ?? template.metadata.name, +- ...presentation ? { presentation } : {}, +- description: template.metadata.description, +- "ui:options": template.metadata["ui:options"], +- steps: parameters.map((schema) => ({ +- title: schema.title ?? "Please enter the following information", +- description: schema.description, +- schema +- })), +- EXPERIMENTAL_formDecorators: template.spec.EXPERIMENTAL_formDecorators ++ const actionsList = actionRegistry.list().map((action) => { ++ return { ++ id: action.id, ++ description: action.description, ++ examples: action.examples, ++ schema: action.schema ++ }; + }); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderInstalledActionsFetch", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ request: req, ++ response: { ++ status: 200, ++ body: actionsList ++ }, ++ message: `${actorId} successfully requested the list of installed actions` ++ }); ++ res.json(actionsList); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderInstalledActionsFetch", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `${actorId} failed to request for the list of installed actions` ++ }); ++ throw err; + } +- ).get("/v2/actions", async (_req, res) => { +- const actionsList = actionRegistry.list().map((action) => { +- return { +- id: action.id, +- description: action.description, +- examples: action.examples, +- schema: action.schema +- }; +- }); +- res.json(actionsList); + }).post("/v2/tasks", async (req, res) => { + const templateRef = req.body.templateRef; + const { kind, namespace, name } = catalogModel.parseEntityRef(templateRef, { +@@ -321,295 +425,777 @@ async function createRouter(options) { + }); + const userEntityRef = auth.isPrincipal(credentials, "user") ? credentials.principal.userEntityRef : void 0; + const userEntity = userEntityRef ? await catalogClient.getEntityByRef(userEntityRef, { token }) : void 0; +- let auditLog = `Scaffolding task for ${templateRef}`; +- if (userEntityRef) { +- auditLog += ` created by ${userEntityRef}`; +- } +- logger.info(auditLog); + const values = req.body.values; +- const template = await authorizeTemplate( +- { kind, namespace, name }, +- token, +- credentials +- ); +- for (const parameters of [template.spec.parameters ?? []].flat()) { +- const result2 = jsonschema.validate(values, parameters); +- if (!result2.valid) { +- res.status(400).json({ errors: result2.errors }); +- return; ++ const redactedRequest = lodash.cloneDeep(req); ++ Object.defineProperty(redactedRequest, "ip", { ++ get: () => { ++ return req.ip; + } ++ }); ++ if (req.body.secrets) { ++ const redactedBody = { ++ ...req.body, ++ secrets: Object.keys(req.body.secrets).reduce((acc, key) => { ++ return { ++ ...acc, ++ [key]: "***" ++ }; ++ }, {}) ++ }; ++ redactedRequest.body = redactedBody; + } +- const baseUrl = helpers.getEntityBaseUrl(template); +- const taskSpec = { +- apiVersion: template.apiVersion, +- steps: template.spec.steps.map((step, index) => ({ +- ...step, +- id: step.id ?? `step-${index + 1}`, +- name: step.name ?? step.action +- })), +- EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery, +- output: template.spec.output ?? {}, +- parameters: values, +- user: { +- entity: userEntity, +- ref: userEntityRef +- }, +- templateInfo: { +- entityRef: catalogModel.stringifyEntityRef({ kind, name, namespace }), +- baseUrl, +- entity: { +- metadata: template.metadata ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCreation", ++ stage: "initiation", ++ status: "succeeded", ++ actorId: userEntityRef, ++ request: redactedRequest, ++ metadata: { ++ templateRef ++ }, ++ message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} initiated` ++ }); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskCreatePermission], ++ permissionService: permissions ++ }); ++ const template = await authorizeTemplate( ++ { kind, namespace, name }, ++ token, ++ credentials ++ ); ++ for (const parameters of [template.spec.parameters ?? []].flat()) { ++ const result2 = jsonschema.validate(values, parameters); ++ if (!result2.valid) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCreation", ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ actorId: userEntityRef, ++ request: redactedRequest, ++ metadata: { ++ templateRef ++ }, ++ response: { ++ status: 400, ++ body: { errors: result2.errors } ++ }, ++ errors: result2.errors, ++ message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed` ++ }); ++ return res.status(400).json({ errors: result2.errors }); + } + } +- }; +- const secrets = { +- ...req.body.secrets, +- backstageToken: token, +- __initiatorCredentials: JSON.stringify({ +- ...credentials, +- // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly +- token: credentials.token +- }) +- }; +- const result = await taskBroker.dispatch({ +- spec: taskSpec, +- createdBy: userEntityRef, +- secrets +- }); +- res.status(201).json({ id: result.taskId }); +- }).get("/v2/tasks", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskReadPermission], +- permissionService: permissions +- }); +- if (!taskBroker.list) { +- throw new Error( +- "TaskBroker does not support listing tasks, please implement the list method on the TaskBroker." +- ); ++ const baseUrl = helpers.getEntityBaseUrl(template); ++ const taskSpec = { ++ apiVersion: template.apiVersion, ++ steps: template.spec.steps.map((step, index) => ({ ++ ...step, ++ id: step.id ?? `step-${index + 1}`, ++ name: step.name ?? step.action ++ })), ++ EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery, ++ output: template.spec.output ?? {}, ++ parameters: values, ++ user: { ++ entity: userEntity, ++ ref: userEntityRef ++ }, ++ templateInfo: { ++ entityRef: catalogModel.stringifyEntityRef({ kind, name, namespace }), ++ baseUrl, ++ entity: { ++ metadata: template.metadata ++ } ++ } ++ }; ++ const secrets = { ++ ...req.body.secrets, ++ backstageToken: token, ++ __initiatorCredentials: JSON.stringify({ ++ ...credentials, ++ // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly ++ token: credentials.token ++ }) ++ }; ++ const result = await taskBroker.dispatch({ ++ spec: taskSpec, ++ createdBy: userEntityRef, ++ secrets ++ }); ++ let auditLog = `Scaffolding task for ${templateRef}`; ++ if (userEntityRef) { ++ auditLog += ` created by ${userEntityRef}`; ++ } ++ logger.info(auditLog); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCreation", ++ stage: "completion", ++ status: "succeeded", ++ actorId: userEntityRef, ++ request: redactedRequest, ++ metadata: { ++ taskId: result.taskId, ++ templateRef ++ }, ++ response: { ++ status: 201, ++ body: { id: result.taskId } ++ }, ++ message: `Scaffolding task for ${templateRef} with taskId: ${result.taskId} successfully created by ${userEntityRef}` ++ }); ++ return res.status(201).json({ id: result.taskId }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCreation", ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ actorId: userEntityRef, ++ request: redactedRequest, ++ metadata: { ++ templateRef ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed` ++ }); ++ throw err; + } +- const createdBy = helpers.parseStringsParam(req.query.createdBy, "createdBy"); +- const status = helpers.parseStringsParam(req.query.status, "status"); +- const order = helpers.parseStringsParam(req.query.order, "order")?.map((item) => { +- const match = item.match(/^(asc|desc):(.+)$/); +- if (!match) { +- throw new errors.InputError( +- `Invalid order parameter "${item}", expected ":"` ++ }).get("/v2/tasks", async (req, res) => { ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskListFetch", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ request: req, ++ message: `${actorId} requested for the list of scaffolder tasks` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskReadPermission], ++ permissionService: permissions ++ }); ++ if (!taskBroker.list) { ++ throw new Error( ++ "TaskBroker does not support listing tasks, please implement the list method on the TaskBroker." + ); + } +- return { +- order: match[1], +- field: match[2] +- }; +- }); +- const limit = helpers.parseNumberParam(req.query.limit, "limit"); +- const offset = helpers.parseNumberParam(req.query.offset, "offset"); +- const tasks = await taskBroker.list({ +- filters: { +- createdBy, +- status: status ? status : void 0 +- }, +- order, +- pagination: { +- limit: limit ? limit[0] : void 0, +- offset: offset ? offset[0] : void 0 +- } +- }); +- res.status(200).json(tasks); ++ const createdBy = helpers.parseStringsParam(req.query.createdBy, "createdBy"); ++ const status = helpers.parseStringsParam(req.query.status, "status"); ++ const order = helpers.parseStringsParam(req.query.order, "order")?.map((item) => { ++ const match = item.match(/^(asc|desc):(.+)$/); ++ if (!match) { ++ throw new errors.InputError( ++ `Invalid order parameter "${item}", expected ":"` ++ ); ++ } ++ return { ++ order: match[1], ++ field: match[2] ++ }; ++ }); ++ const limit = helpers.parseNumberParam(req.query.limit, "limit"); ++ const offset = helpers.parseNumberParam(req.query.offset, "offset"); ++ const tasks = await taskBroker.list({ ++ filters: { ++ createdBy, ++ status: status ? status : void 0 ++ }, ++ order, ++ pagination: { ++ limit: limit ? limit[0] : void 0, ++ offset: offset ? offset[0] : void 0 ++ } ++ }); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskListFetch", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ request: req, ++ response: { ++ status: 200, ++ body: tasks ++ }, ++ message: `${actorId} successfully requested for the list of scaffolder tasks` ++ }); ++ res.status(200).json(tasks); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskListFetch", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `${actorId} request for the list of scaffolder tasks failed` ++ }); ++ throw err; ++ } + }).get("/v2/tasks/:taskId", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskReadPermission], +- permissionService: permissions +- }); + const { taskId } = req.params; +- const task = await taskBroker.get(taskId); +- if (!task) { +- throw new errors.NotFoundError(`Task with id ${taskId} does not exist`); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskFetch", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ message: `${actorId} requested for scaffolder task ${taskId}` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskReadPermission], ++ permissionService: permissions ++ }); ++ const task = await taskBroker.get(taskId); ++ if (!task) { ++ throw new errors.NotFoundError(`Task with id ${taskId} does not exist`); ++ } ++ delete task.secrets; ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskFetch", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ request: req, ++ response: { ++ status: 200, ++ body: task ++ }, ++ message: `${actorId} successfully requested for scaffolder tasks ${taskId}` ++ }); ++ res.status(200).json(task); ++ } catch (err) { ++ let status = 500; ++ if (err.name === "NotFoundError") { ++ status = 404; ++ } ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskFetch", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ response: { ++ status ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `${actorId} request for scaffolder tasks ${taskId} failed` ++ }); ++ throw err; + } +- delete task.secrets; +- res.status(200).json(task); + }).post("/v2/tasks/:taskId/cancel", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskCancelPermission, alpha.taskReadPermission], +- permissionService: permissions +- }); + const { taskId } = req.params; +- await taskBroker.cancel?.(taskId); +- res.status(200).json({ status: "cancelled" }); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCancellation", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ message: `Cancellation request for Scaffolding task with taskId: ${taskId} from ${actorId} received` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskCancelPermission], ++ permissionService: permissions ++ }); ++ await taskBroker.cancel?.(taskId); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCancellation", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ response: { ++ status: 200, ++ body: { status: "cancelled" } ++ }, ++ message: `Scaffolding task with taskId: ${taskId} successfully cancelled by ${actorId}` ++ }); ++ res.status(200).json({ status: "cancelled" }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskCancellation", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `${actorId}'s cancel request for task ${taskId} failed` ++ }); ++ throw err; ++ } + }).post("/v2/tasks/:taskId/retry", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskCreatePermission, alpha.taskReadPermission], +- permissionService: permissions +- }); + const { taskId } = req.params; +- await taskBroker.retry?.(taskId); +- res.status(201).json({ id: taskId }); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskRetry", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ message: `Retry request for Scaffolding task with taskId: ${taskId} from ${actorId} received` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskCreatePermission, alpha.taskReadPermission], ++ permissionService: permissions ++ }); ++ await taskBroker.retry?.(taskId); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskRetry", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ response: { ++ status: 201, ++ body: { id: taskId } ++ }, ++ message: `Scaffolding task with taskId: ${taskId} successfully retried by ${actorId}` ++ }); ++ res.status(201).json({ id: taskId }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskRetry", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `${actorId}'s retry request for task ${taskId} failed` ++ }); ++ throw err; ++ } + }).get("/v2/tasks/:taskId/eventstream", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskReadPermission], +- permissionService: permissions +- }); + const { taskId } = req.params; +- const after = req.query.after !== void 0 ? Number(req.query.after) : void 0; +- logger.debug(`Event stream observing taskId '${taskId}' opened`); +- res.writeHead(200, { +- Connection: "keep-alive", +- "Cache-Control": "no-cache", +- "Content-Type": "text/event-stream" +- }); +- const subscription = taskBroker.event$({ taskId, after }).subscribe({ +- error: (error) => { +- logger.error( +- `Received error from event stream when observing taskId '${taskId}', ${error}` +- ); +- res.end(); +- }, +- next: ({ events }) => { +- let shouldUnsubscribe = false; +- for (const event of events) { +- res.write( +- `event: ${event.type} ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ const after = req.query.after !== void 0 ? Number(req.query.after) : void 0; ++ logger.debug(`Event stream observing taskId '${taskId}' opened`); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskStream", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ message: `Event stream for scaffolding task with taskId: ${taskId} was opened by ${actorId}` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskReadPermission], ++ permissionService: permissions ++ }); ++ res.writeHead(200, { ++ Connection: "keep-alive", ++ "Cache-Control": "no-cache", ++ "Content-Type": "text/event-stream" ++ }); ++ const subscription = taskBroker.event$({ taskId, after }).subscribe({ ++ error: async (error) => { ++ logger.error( ++ `Received error from event stream when observing taskId '${taskId}', ${error}` ++ ); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskStream", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ errors: [ ++ { ++ name: error.name, ++ message: error.message, ++ stack: error.stack, ++ cause: error.cause ++ } ++ ], ++ message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}` ++ }); ++ res.end(); ++ }, ++ next: ({ events }) => { ++ let shouldUnsubscribe = false; ++ for (const event of events) { ++ res.write( ++ `event: ${event.type} + data: ${JSON.stringify(event)} + + ` +- ); +- if (event.type === "completion" && !event.isTaskRecoverable) { +- shouldUnsubscribe = true; ++ ); ++ if (event.type === "completion") { ++ shouldUnsubscribe = true; ++ } ++ } ++ res.flush?.(); ++ if (shouldUnsubscribe) { ++ subscription.unsubscribe(); ++ res.end(); + } + } +- res.flush?.(); +- if (shouldUnsubscribe) { +- subscription.unsubscribe(); +- res.end(); +- } +- } +- }); +- req.on("close", () => { +- subscription.unsubscribe(); +- logger.debug(`Event stream observing taskId '${taskId}' closed`); +- }); ++ }); ++ req.on("close", async () => { ++ subscription.unsubscribe(); ++ logger.debug(`Event stream observing taskId '${taskId}' closed`); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskStream", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ message: `Event stream observing scaffolding task with taskId: ${taskId} was closed by ${actorId}` ++ }); ++ }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskStream", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}` ++ }); ++ throw err; ++ } + }).get("/v2/tasks/:taskId/events", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskReadPermission], +- permissionService: permissions +- }); + const { taskId } = req.params; +- const after = Number(req.query.after) || void 0; +- const timeout = setTimeout(() => { +- res.json([]); +- }, 3e4); +- const subscription = taskBroker.event$({ taskId, after }).subscribe({ +- error: (error) => { +- logger.error( +- `Received error from event stream when observing taskId '${taskId}', ${error}` +- ); +- }, +- next: ({ events }) => { +- clearTimeout(timeout); ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ const after = Number(req.query.after) || void 0; ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskEventFetch", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} initiated by ${actorId}` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskReadPermission], ++ permissionService: permissions ++ }); ++ const timeout = setTimeout(() => { ++ res.json([]); ++ }, 3e4); ++ const subscription = taskBroker.event$({ taskId, after }).subscribe({ ++ error: async (error) => { ++ logger.error( ++ `Received error from event stream when observing taskId '${taskId}', ${error}` ++ ); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskEventFetch", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ errors: [ ++ { ++ name: error.name, ++ message: error.message, ++ stack: error.stack ++ } ++ ], ++ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed` ++ }); ++ }, ++ next: async ({ events }) => { ++ clearTimeout(timeout); ++ subscription.unsubscribe(); ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskEventFetch", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ response: { ++ status: 200, ++ body: events ++ }, ++ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} by ${actorId} succeeded` ++ }); ++ res.json(events); ++ } ++ }); ++ req.on("close", () => { + subscription.unsubscribe(); +- res.json(events); +- } +- }); +- req.on("close", () => { +- subscription.unsubscribe(); +- clearTimeout(timeout); +- }); +- }).post("/v2/dry-run", async (req, res) => { +- const credentials = await httpAuth.credentials(req); +- await checkPermissions.checkPermission({ +- credentials, +- permissions: [alpha.taskCreatePermission], +- permissionService: permissions +- }); +- const bodySchema = z.z.object({ +- template: z.z.unknown(), +- values: z.z.record(z.z.unknown()), +- secrets: z.z.record(z.z.string()).optional(), +- directoryContents: z.z.array( +- z.z.object({ path: z.z.string(), base64Content: z.z.string() }) +- ) +- }); +- const body = await bodySchema.parseAsync(req.body).catch((e) => { +- throw new errors.InputError(`Malformed request: ${e}`); +- }); +- const template = body.template; +- if (!await pluginScaffolderCommon.templateEntityV1beta3Validator.check(template)) { +- throw new errors.InputError("Input template is not a template"); ++ clearTimeout(timeout); ++ }); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskEventFetch", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ taskId ++ }, ++ request: req, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed` ++ }); ++ throw err; + } +- const { token } = await auth.getPluginRequestToken({ +- onBehalfOf: credentials, +- targetPluginId: "catalog" +- }); +- const userEntityRef = auth.isPrincipal(credentials, "user") ? credentials.principal.userEntityRef : void 0; +- const userEntity = userEntityRef ? await catalogClient.getEntityByRef(userEntityRef, { token }) : void 0; +- for (const parameters of [template.spec.parameters ?? []].flat()) { +- const result2 = jsonschema.validate(body.values, parameters); +- if (!result2.valid) { +- res.status(400).json({ errors: result2.errors }); +- return; ++ }).post("/v2/dry-run", async (req, res) => { ++ const actorId = await auditLogger.getActorId(req); ++ try { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskDryRun", ++ actorId, ++ stage: "initiation", ++ status: "succeeded", ++ metadata: { ++ isDryRun: true ++ }, ++ request: req, ++ message: `Dry Run scaffolder task initiated by ${actorId}` ++ }); ++ const credentials = await httpAuth.credentials(req); ++ await checkPermissions.checkPermission({ ++ credentials, ++ permissions: [alpha.taskCreatePermission], ++ permissionService: permissions ++ }); ++ const bodySchema = z.z.object({ ++ template: z.z.unknown(), ++ values: z.z.record(z.z.unknown()), ++ secrets: z.z.record(z.z.string()).optional(), ++ directoryContents: z.z.array( ++ z.z.object({ path: z.z.string(), base64Content: z.z.string() }) ++ ) ++ }); ++ const body = await bodySchema.parseAsync(req.body).catch((e) => { ++ throw new errors.InputError(`Malformed request: ${e}`); ++ }); ++ const template = body.template; ++ if (!await pluginScaffolderCommon.templateEntityV1beta3Validator.check(template)) { ++ throw new errors.InputError("Input template is not a template"); + } +- } +- const steps = template.spec.steps.map((step, index) => ({ +- ...step, +- id: step.id ?? `step-${index + 1}`, +- name: step.name ?? step.action +- })); +- const dryRunId = uuid.v4(); +- const contentsPath = backendPluginApi.resolveSafeChildPath( +- workingDirectory, +- `dry-run-content-${dryRunId}` +- ); +- const templateInfo = { +- entityRef: catalogModel.stringifyEntityRef(template), +- entity: { +- metadata: template.metadata +- }, +- baseUrl: url.pathToFileURL( +- backendPluginApi.resolveSafeChildPath(contentsPath, "template.yaml") +- ).toString() +- }; +- const result = await dryRunner({ +- spec: { +- apiVersion: template.apiVersion, +- steps, +- output: template.spec.output ?? {}, +- parameters: body.values, +- user: { +- entity: userEntity, +- ref: userEntityRef ++ const templateRef = `${template.kind}:${template.metadata.namespace || "default"}/${template.metadata.name}`; ++ const { token } = await auth.getPluginRequestToken({ ++ onBehalfOf: credentials, ++ targetPluginId: "catalog" ++ }); ++ const userEntityRef = auth.isPrincipal(credentials, "user") ? credentials.principal.userEntityRef : void 0; ++ const userEntity = userEntityRef ? await catalogClient.getEntityByRef(userEntityRef, { token }) : void 0; ++ for (const parameters of [template.spec.parameters ?? []].flat()) { ++ const result2 = jsonschema.validate(body.values, parameters); ++ if (!result2.valid) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskDryRun", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ metadata: { ++ templateRef, ++ parameters: template.spec.parameters, ++ isDryRun: true ++ }, ++ errors: result2.errors, ++ request: req, ++ response: { ++ status: 400, ++ body: { errors: result2.errors } ++ }, ++ message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} failed` ++ }); ++ return res.status(400).json({ errors: result2.errors }); + } +- }, +- templateInfo, +- directoryContents: (body.directoryContents ?? []).map((file) => ({ +- path: file.path, +- content: Buffer.from(file.base64Content, "base64") +- })), +- secrets: { +- ...body.secrets, +- ...token && { backstageToken: token } +- }, +- credentials +- }); +- res.status(200).json({ +- ...result, +- steps, +- directoryContents: result.directoryContents.map((file) => ({ +- path: file.path, +- executable: file.executable, +- base64Content: file.content.toString("base64") +- })) +- }); ++ } ++ const steps = template.spec.steps.map((step, index) => ({ ++ ...step, ++ id: step.id ?? `step-${index + 1}`, ++ name: step.name ?? step.action ++ })); ++ const dryRunId = uuid.v4(); ++ const contentsPath = backendPluginApi.resolveSafeChildPath( ++ workingDirectory, ++ `dry-run-content-${dryRunId}` ++ ); ++ const templateInfo = { ++ entityRef: catalogModel.stringifyEntityRef(template), ++ entity: { ++ metadata: template.metadata ++ }, ++ baseUrl: url.pathToFileURL( ++ backendPluginApi.resolveSafeChildPath(contentsPath, "template.yaml") ++ ).toString() ++ }; ++ const result = await dryRunner({ ++ spec: { ++ apiVersion: template.apiVersion, ++ steps, ++ output: template.spec.output ?? {}, ++ parameters: body.values, ++ user: { ++ entity: userEntity, ++ ref: userEntityRef ++ } ++ }, ++ templateInfo, ++ directoryContents: (body.directoryContents ?? []).map((file) => ({ ++ path: file.path, ++ content: Buffer.from(file.base64Content, "base64") ++ })), ++ secrets: { ++ ...body.secrets, ++ ...token && { backstageToken: token } ++ }, ++ credentials ++ }); ++ const dryRunResults = { ++ ...result, ++ steps, ++ directoryContents: result.directoryContents.map((file) => ({ ++ path: file.path, ++ executable: file.executable, ++ base64Content: file.content.toString("base64") ++ })) ++ }; ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskDryRun", ++ actorId, ++ stage: "completion", ++ status: "succeeded", ++ metadata: { ++ templateRef, ++ parameters: template.spec.parameters, ++ isDryRun: true ++ }, ++ request: req, ++ response: { ++ status: 200, ++ body: dryRunResults ++ }, ++ message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} completed successfully` ++ }); ++ return res.status(200).json(dryRunResults); ++ } catch (err) { ++ await auditLogger.auditLog({ ++ eventName: "ScaffolderTaskDryRun", ++ actorId, ++ stage: "completion", ++ status: "failed", ++ level: "error", ++ request: req, ++ metadata: { ++ isDryRun: true ++ }, ++ errors: [ ++ { ++ name: err.name, ++ message: err.message, ++ stack: err.stack ++ } ++ ], ++ message: `Scaffolder Task Dry Run requested by ${actorId} failed` ++ }); ++ throw err; ++ } + }).post("/v2/autocomplete/:provider/:resource", async (req, res) => { + const { token, context } = req.body; + const { provider, resource } = req.params; +diff --git a/dist/service/router.cjs.js.map b/dist/service/router.cjs.js.map +index 5d98047f476beaa0a39a7d6f017a1ea2c7139d26..61d39015e3c6c08c3384b345a57c292119bcad6e 100644 +--- a/dist/service/router.cjs.js.map ++++ b/dist/service/router.cjs.js.map +@@ -1 +1 @@ +-{"version":3,"file":"router.cjs.js","sources":["../../src/service/router.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createLegacyAuthAdapters,\n HostDiscovery,\n} from '@backstage/backend-common';\nimport { CatalogApi } from '@backstage/catalog-client';\nimport {\n CompoundEntityRef,\n Entity,\n parseEntityRef,\n stringifyEntityRef,\n UserEntity,\n} from '@backstage/catalog-model';\nimport { Config, readDurationFromConfig } from '@backstage/config';\nimport { InputError, NotFoundError, stringifyError } from '@backstage/errors';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { HumanDuration, JsonObject, JsonValue } from '@backstage/types';\nimport {\n TaskSpec,\n TemplateEntityStepV1beta3,\n TemplateEntityV1beta3,\n templateEntityV1beta3Validator,\n TemplateParametersV1beta3,\n} from '@backstage/plugin-scaffolder-common';\nimport {\n RESOURCE_TYPE_SCAFFOLDER_ACTION,\n RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n scaffolderActionPermissions,\n scaffolderPermissions,\n scaffolderTemplatePermissions,\n taskCancelPermission,\n taskCreatePermission,\n taskReadPermission,\n templateParameterReadPermission,\n templateStepReadPermission,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport express from 'express';\nimport Router from 'express-promise-router';\nimport { validate } from 'jsonschema';\nimport { Logger } from 'winston';\nimport { z } from 'zod';\nimport {\n TaskBroker,\n TaskStatus,\n TemplateAction,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport {\n createBuiltinActions,\n DatabaseTaskStore,\n TaskWorker,\n TemplateActionRegistry,\n} from '../scaffolder';\nimport { createDryRunner } from '../scaffolder/dryrun';\nimport { StorageTaskBroker } from '../scaffolder/tasks/StorageTaskBroker';\nimport {\n findTemplate,\n getEntityBaseUrl,\n getWorkingDirectory,\n parseNumberParam,\n parseStringsParam,\n} from './helpers';\nimport { PermissionRuleParams } from '@backstage/plugin-permission-common';\nimport {\n createConditionAuthorizer,\n createPermissionIntegrationRouter,\n PermissionRule,\n} from '@backstage/plugin-permission-node';\nimport { scaffolderActionRules, scaffolderTemplateRules } from './rules';\nimport { Duration } from 'luxon';\nimport {\n AuthService,\n BackstageCredentials,\n DatabaseService,\n DiscoveryService,\n HttpAuthService,\n LifecycleService,\n PermissionsService,\n resolveSafeChildPath,\n SchedulerService,\n UrlReaderService,\n} from '@backstage/backend-plugin-api';\nimport {\n IdentityApi,\n IdentityApiGetIdentityRequest,\n} from '@backstage/plugin-auth-node';\nimport { InternalTaskSecrets } from '../scaffolder/tasks/types';\nimport { checkPermission } from '../util/checkPermissions';\nimport {\n AutocompleteHandler,\n WorkspaceProvider,\n} from '@backstage/plugin-scaffolder-node/alpha';\nimport { pathToFileURL } from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { EventsService } from '@backstage/plugin-events-node';\n\n/**\n *\n * @public\n */\nexport type TemplatePermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n TParams\n>;\nfunction isTemplatePermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is TemplatePermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_TEMPLATE;\n}\n\n/**\n *\n * @public\n */\nexport type ActionPermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_ACTION,\n TParams\n>;\nfunction isActionPermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is ActionPermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_ACTION;\n}\n\n/**\n * RouterOptions\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n logger: Logger;\n config: Config;\n reader: UrlReaderService;\n lifecycle?: LifecycleService;\n database: DatabaseService;\n catalogClient: CatalogApi;\n scheduler?: SchedulerService;\n actions?: TemplateAction[];\n /**\n * @deprecated taskWorkers is deprecated in favor of concurrentTasksLimit option with a single TaskWorker\n * @defaultValue 1\n */\n taskWorkers?: number;\n /**\n * Sets the number of concurrent tasks that can be run at any given time on the TaskWorker\n * @defaultValue 10\n */\n concurrentTasksLimit?: number;\n taskBroker?: TaskBroker;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n additionalWorkspaceProviders?: Record;\n permissions?: PermissionsService;\n permissionRules?: Array<\n TemplatePermissionRuleInput | ActionPermissionRuleInput\n >;\n auth?: AuthService;\n httpAuth?: HttpAuthService;\n identity?: IdentityApi;\n discovery?: DiscoveryService;\n events?: EventsService;\n\n autocompleteHandlers?: Record;\n}\n\nfunction isSupportedTemplate(entity: TemplateEntityV1beta3) {\n return entity.apiVersion === 'scaffolder.backstage.io/v1beta3';\n}\n\n/*\n * @deprecated This function remains as the DefaultIdentityClient behaves slightly differently to the pre-existing\n * scaffolder behaviour. Specifically if the token fails to parse, the DefaultIdentityClient will raise an error.\n * The scaffolder did not raise an error in this case. As such we chose to allow it to behave as it did previously\n * until someone explicitly passes an IdentityApi. When we have reasonable confidence that most backstage deployments\n * are using the IdentityApi, we can remove this function.\n */\nfunction buildDefaultIdentityClient(options: RouterOptions): IdentityApi {\n return {\n getIdentity: async ({ request }: IdentityApiGetIdentityRequest) => {\n const header = request.headers.authorization;\n const { logger } = options;\n\n if (!header) {\n return undefined;\n }\n\n try {\n const token = header.match(/^Bearer\\s(\\S+\\.\\S+\\.\\S+)$/i)?.[1];\n if (!token) {\n throw new TypeError('Expected Bearer with JWT');\n }\n\n const [_header, rawPayload, _signature] = token.split('.');\n const payload: JsonValue = JSON.parse(\n Buffer.from(rawPayload, 'base64').toString(),\n );\n\n if (\n typeof payload !== 'object' ||\n payload === null ||\n Array.isArray(payload)\n ) {\n throw new TypeError('Malformed JWT payload');\n }\n\n const sub = payload.sub;\n if (typeof sub !== 'string') {\n throw new TypeError('Expected string sub claim');\n }\n\n if (sub === 'backstage-server') {\n return undefined;\n }\n\n // Check that it's a valid ref, otherwise this will throw.\n parseEntityRef(sub);\n\n return {\n identity: {\n userEntityRef: sub,\n ownershipEntityRefs: [],\n type: 'user',\n },\n token,\n };\n } catch (e) {\n logger.error(`Invalid authorization header: ${stringifyError(e)}`);\n return undefined;\n }\n },\n };\n}\n\nconst readDuration = (\n config: Config,\n key: string,\n defaultValue: HumanDuration,\n) => {\n if (config.has(key)) {\n return readDurationFromConfig(config, { key });\n }\n return defaultValue;\n};\n\n/**\n * A method to create a router for the scaffolder backend plugin.\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = Router();\n // Be generous in upload size to support a wide range of templates in dry-run mode.\n router.use(express.json({ limit: '10MB' }));\n\n const {\n logger: parentLogger,\n config,\n reader,\n database,\n catalogClient,\n actions,\n taskWorkers,\n scheduler,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n additionalWorkspaceProviders,\n permissions,\n permissionRules,\n discovery = HostDiscovery.fromConfig(config),\n identity = buildDefaultIdentityClient(options),\n autocompleteHandlers = {},\n events: eventsService,\n } = options;\n\n const { auth, httpAuth } = createLegacyAuthAdapters({\n ...options,\n identity,\n discovery,\n });\n\n const concurrentTasksLimit =\n options.concurrentTasksLimit ??\n options.config.getOptionalNumber('scaffolder.concurrentTasksLimit');\n\n const logger = parentLogger.child({ plugin: 'scaffolder' });\n\n const workingDirectory = await getWorkingDirectory(config, logger);\n const integrations = ScmIntegrations.fromConfig(config);\n\n let taskBroker: TaskBroker;\n if (!options.taskBroker) {\n const databaseTaskStore = await DatabaseTaskStore.create({\n database,\n events: eventsService,\n });\n taskBroker = new StorageTaskBroker(\n databaseTaskStore,\n logger,\n config,\n auth,\n additionalWorkspaceProviders,\n );\n\n if (scheduler && databaseTaskStore.listStaleTasks) {\n await scheduler.scheduleTask({\n id: 'close_stale_tasks',\n frequency: readDuration(\n config,\n 'scaffolder.taskTimeoutJanitorFrequency',\n {\n minutes: 5,\n },\n ),\n timeout: { minutes: 15 },\n fn: async () => {\n const { tasks } = await databaseTaskStore.listStaleTasks({\n timeoutS: Duration.fromObject(\n readDuration(config, 'scaffolder.taskTimeout', {\n hours: 24,\n }),\n ).as('seconds'),\n });\n\n for (const task of tasks) {\n await databaseTaskStore.shutdownTask(task);\n logger.info(`Successfully closed stale task ${task.taskId}`);\n }\n },\n });\n }\n } else {\n taskBroker = options.taskBroker;\n }\n\n const actionRegistry = new TemplateActionRegistry();\n\n const workers: TaskWorker[] = [];\n if (concurrentTasksLimit !== 0) {\n for (let i = 0; i < (taskWorkers || 1); i++) {\n const worker = await TaskWorker.create({\n taskBroker,\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n concurrentTasksLimit,\n permissions,\n });\n workers.push(worker);\n }\n }\n\n const actionsToRegister = Array.isArray(actions)\n ? actions\n : createBuiltinActions({\n integrations,\n catalogClient,\n reader,\n config,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n auth,\n });\n\n actionsToRegister.forEach(action => actionRegistry.register(action));\n\n const launchWorkers = () => workers.forEach(worker => worker.start());\n\n const shutdownWorkers = () => {\n workers.forEach(worker => worker.stop());\n };\n\n if (options.lifecycle) {\n options.lifecycle.addStartupHook(launchWorkers);\n options.lifecycle.addShutdownHook(shutdownWorkers);\n } else {\n launchWorkers();\n }\n\n const dryRunner = createDryRunner({\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n const templateRules: TemplatePermissionRuleInput[] = Object.values(\n scaffolderTemplateRules,\n );\n const actionRules: ActionPermissionRuleInput[] = Object.values(\n scaffolderActionRules,\n );\n\n if (permissionRules) {\n templateRules.push(\n ...permissionRules.filter(isTemplatePermissionRuleInput),\n );\n actionRules.push(...permissionRules.filter(isActionPermissionRuleInput));\n }\n\n const isAuthorized = createConditionAuthorizer(Object.values(templateRules));\n\n const permissionIntegrationRouter = createPermissionIntegrationRouter({\n resources: [\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n permissions: scaffolderTemplatePermissions,\n rules: templateRules,\n },\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION,\n permissions: scaffolderActionPermissions,\n rules: actionRules,\n },\n ],\n permissions: scaffolderPermissions,\n });\n\n router.use(permissionIntegrationRouter);\n\n router\n .get(\n '/v2/templates/:namespace/:kind/:name/parameter-schema',\n async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const template = await authorizeTemplate(\n req.params,\n token,\n credentials,\n );\n\n const parameters = [template.spec.parameters ?? []].flat();\n\n const presentation = template.spec.presentation;\n\n res.json({\n title: template.metadata.title ?? template.metadata.name,\n ...(presentation ? { presentation } : {}),\n description: template.metadata.description,\n 'ui:options': template.metadata['ui:options'],\n steps: parameters.map(schema => ({\n title: schema.title ?? 'Please enter the following information',\n description: schema.description,\n schema,\n })),\n EXPERIMENTAL_formDecorators:\n template.spec.EXPERIMENTAL_formDecorators,\n });\n },\n )\n .get('/v2/actions', async (_req, res) => {\n const actionsList = actionRegistry.list().map(action => {\n return {\n id: action.id,\n description: action.description,\n examples: action.examples,\n schema: action.schema,\n };\n });\n res.json(actionsList);\n })\n .post('/v2/tasks', async (req, res) => {\n const templateRef: string = req.body.templateRef;\n const { kind, namespace, name } = parseEntityRef(templateRef, {\n defaultKind: 'template',\n });\n\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n\n let auditLog = `Scaffolding task for ${templateRef}`;\n if (userEntityRef) {\n auditLog += ` created by ${userEntityRef}`;\n }\n logger.info(auditLog);\n\n const values = req.body.values;\n\n const template = await authorizeTemplate(\n { kind, namespace, name },\n token,\n credentials,\n );\n\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(values, parameters);\n\n if (!result.valid) {\n res.status(400).json({ errors: result.errors });\n return;\n }\n }\n\n const baseUrl = getEntityBaseUrl(template);\n\n const taskSpec: TaskSpec = {\n apiVersion: template.apiVersion,\n steps: template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n })),\n EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery,\n output: template.spec.output ?? {},\n parameters: values,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n templateInfo: {\n entityRef: stringifyEntityRef({ kind, name, namespace }),\n baseUrl,\n entity: {\n metadata: template.metadata,\n },\n },\n };\n\n const secrets: InternalTaskSecrets = {\n ...req.body.secrets,\n backstageToken: token,\n __initiatorCredentials: JSON.stringify({\n ...credentials,\n // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly\n token: (credentials as any).token,\n }),\n };\n\n const result = await taskBroker.dispatch({\n spec: taskSpec,\n createdBy: userEntityRef,\n secrets,\n });\n\n res.status(201).json({ id: result.taskId });\n })\n .get('/v2/tasks', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n if (!taskBroker.list) {\n throw new Error(\n 'TaskBroker does not support listing tasks, please implement the list method on the TaskBroker.',\n );\n }\n\n const createdBy = parseStringsParam(req.query.createdBy, 'createdBy');\n const status = parseStringsParam(req.query.status, 'status');\n\n const order = parseStringsParam(req.query.order, 'order')?.map(item => {\n const match = item.match(/^(asc|desc):(.+)$/);\n if (!match) {\n throw new InputError(\n `Invalid order parameter \"${item}\", expected \":\"`,\n );\n }\n\n return {\n order: match[1] as 'asc' | 'desc',\n field: match[2],\n };\n });\n\n const limit = parseNumberParam(req.query.limit, 'limit');\n const offset = parseNumberParam(req.query.offset, 'offset');\n\n const tasks = await taskBroker.list({\n filters: {\n createdBy,\n status: status ? (status as TaskStatus[]) : undefined,\n },\n order,\n pagination: {\n limit: limit ? limit[0] : undefined,\n offset: offset ? offset[0] : undefined,\n },\n });\n\n res.status(200).json(tasks);\n })\n .get('/v2/tasks/:taskId', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n const task = await taskBroker.get(taskId);\n if (!task) {\n throw new NotFoundError(`Task with id ${taskId} does not exist`);\n }\n // Do not disclose secrets\n delete task.secrets;\n res.status(200).json(task);\n })\n .post('/v2/tasks/:taskId/cancel', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n // Requires both read and cancel permissions\n await checkPermission({\n credentials,\n permissions: [taskCancelPermission, taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n await taskBroker.cancel?.(taskId);\n res.status(200).json({ status: 'cancelled' });\n })\n .post('/v2/tasks/:taskId/retry', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n // Requires both read and cancel permissions\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission, taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n await taskBroker.retry?.(taskId);\n res.status(201).json({ id: taskId });\n })\n .get('/v2/tasks/:taskId/eventstream', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n const after =\n req.query.after !== undefined ? Number(req.query.after) : undefined;\n\n logger.debug(`Event stream observing taskId '${taskId}' opened`);\n\n // Mandatory headers and http status to keep connection open\n res.writeHead(200, {\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n 'Content-Type': 'text/event-stream',\n });\n\n // After client opens connection send all events as string\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n res.end();\n },\n next: ({ events }) => {\n let shouldUnsubscribe = false;\n for (const event of events) {\n res.write(\n `event: ${event.type}\\ndata: ${JSON.stringify(event)}\\n\\n`,\n );\n if (event.type === 'completion' && !event.isTaskRecoverable) {\n shouldUnsubscribe = true;\n }\n }\n // res.flush() is only available with the compression middleware\n res.flush?.();\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n res.end();\n }\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', () => {\n subscription.unsubscribe();\n logger.debug(`Event stream observing taskId '${taskId}' closed`);\n });\n })\n .get('/v2/tasks/:taskId/events', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const { taskId } = req.params;\n const after = Number(req.query.after) || undefined;\n\n // cancel the request after 30 seconds. this aligns with the recommendations of RFC 6202.\n const timeout = setTimeout(() => {\n res.json([]);\n }, 30_000);\n\n // Get all known events after an id (always includes the completion event) and return the first callback\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n },\n next: ({ events }) => {\n clearTimeout(timeout);\n subscription.unsubscribe();\n res.json(events);\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', () => {\n subscription.unsubscribe();\n clearTimeout(timeout);\n });\n })\n .post('/v2/dry-run', async (req, res) => {\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n\n const bodySchema = z.object({\n template: z.unknown(),\n values: z.record(z.unknown()),\n secrets: z.record(z.string()).optional(),\n directoryContents: z.array(\n z.object({ path: z.string(), base64Content: z.string() }),\n ),\n });\n const body = await bodySchema.parseAsync(req.body).catch(e => {\n throw new InputError(`Malformed request: ${e}`);\n });\n\n const template = body.template as TemplateEntityV1beta3;\n if (!(await templateEntityV1beta3Validator.check(template))) {\n throw new InputError('Input template is not a template');\n }\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(body.values, parameters);\n if (!result.valid) {\n res.status(400).json({ errors: result.errors });\n return;\n }\n }\n\n const steps = template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n }));\n\n const dryRunId = uuid();\n const contentsPath = resolveSafeChildPath(\n workingDirectory,\n `dry-run-content-${dryRunId}`,\n );\n\n const templateInfo = {\n entityRef: stringifyEntityRef(template),\n entity: {\n metadata: template.metadata,\n },\n baseUrl: pathToFileURL(\n resolveSafeChildPath(contentsPath, 'template.yaml'),\n ).toString(),\n };\n\n const result = await dryRunner({\n spec: {\n apiVersion: template.apiVersion,\n steps,\n output: template.spec.output ?? {},\n parameters: body.values as JsonObject,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n },\n templateInfo: templateInfo,\n directoryContents: (body.directoryContents ?? []).map(file => ({\n path: file.path,\n content: Buffer.from(file.base64Content, 'base64'),\n })),\n secrets: {\n ...body.secrets,\n ...(token && { backstageToken: token }),\n },\n credentials,\n });\n\n res.status(200).json({\n ...result,\n steps,\n directoryContents: result.directoryContents.map(file => ({\n path: file.path,\n executable: file.executable,\n base64Content: file.content.toString('base64'),\n })),\n });\n })\n .post('/v2/autocomplete/:provider/:resource', async (req, res) => {\n const { token, context } = req.body;\n const { provider, resource } = req.params;\n\n if (!token) throw new InputError('Missing token query parameter');\n\n if (!autocompleteHandlers[provider]) {\n throw new InputError(`Unsupported provider: ${provider}`);\n }\n\n const { results } = await autocompleteHandlers[provider]({\n resource,\n token,\n context,\n });\n\n res.status(200).json({ results });\n });\n\n const app = express();\n app.set('logger', logger);\n app.use('/', router);\n\n async function authorizeTemplate(\n entityRef: CompoundEntityRef,\n token: string | undefined,\n credentials: BackstageCredentials,\n ) {\n const template = await findTemplate({\n catalogApi: catalogClient,\n entityRef,\n token,\n });\n\n if (!isSupportedTemplate(template)) {\n throw new InputError(\n `Unsupported apiVersion field in schema entity, ${\n (template as Entity).apiVersion\n }`,\n );\n }\n\n if (!permissions) {\n return template;\n }\n\n const [parameterDecision, stepDecision] =\n await permissions.authorizeConditional(\n [\n { permission: templateParameterReadPermission },\n { permission: templateStepReadPermission },\n ],\n { credentials },\n );\n\n // Authorize parameters\n if (Array.isArray(template.spec.parameters)) {\n template.spec.parameters = template.spec.parameters.filter(step =>\n isAuthorized(parameterDecision, step),\n );\n } else if (\n template.spec.parameters &&\n !isAuthorized(parameterDecision, template.spec.parameters)\n ) {\n template.spec.parameters = undefined;\n }\n\n // Authorize steps\n template.spec.steps = template.spec.steps.filter(step =>\n isAuthorized(stepDecision, step),\n );\n\n return template;\n }\n\n return app;\n}\n"],"names":["RESOURCE_TYPE_SCAFFOLDER_TEMPLATE","RESOURCE_TYPE_SCAFFOLDER_ACTION","parseEntityRef","stringifyError","config","readDurationFromConfig","Router","express","HostDiscovery","createLegacyAuthAdapters","getWorkingDirectory","ScmIntegrations","DatabaseTaskStore","StorageTaskBroker","Duration","TemplateActionRegistry","TaskWorker","createBuiltinActions","createDryRunner","scaffolderTemplateRules","scaffolderActionRules","createConditionAuthorizer","createPermissionIntegrationRouter","scaffolderTemplatePermissions","scaffolderActionPermissions","scaffolderPermissions","checkPermission","taskCreatePermission","result","validate","getEntityBaseUrl","stringifyEntityRef","taskReadPermission","parseStringsParam","InputError","parseNumberParam","NotFoundError","taskCancelPermission","z","templateEntityV1beta3Validator","uuid","resolveSafeChildPath","pathToFileURL","findTemplate","templateParameterReadPermission","templateStepReadPermission"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4HA,SAAS,8BACP,cAC+C,EAAA;AAC/C,EAAA,OAAO,eAAe,YAAiB,KAAAA,uCAAA;AACzC;AAcA,SAAS,4BACP,cAC6C,EAAA;AAC7C,EAAA,OAAO,eAAe,YAAiB,KAAAC,qCAAA;AACzC;AA4CA,SAAS,oBAAoB,MAA+B,EAAA;AAC1D,EAAA,OAAO,OAAO,UAAe,KAAA,iCAAA;AAC/B;AASA,SAAS,2BAA2B,OAAqC,EAAA;AACvE,EAAO,OAAA;AAAA,IACL,WAAa,EAAA,OAAO,EAAE,OAAA,EAA6C,KAAA;AACjE,MAAM,MAAA,MAAA,GAAS,QAAQ,OAAQ,CAAA,aAAA;AAC/B,MAAM,MAAA,EAAE,QAAW,GAAA,OAAA;AAEnB,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAO,OAAA,KAAA,CAAA;AAAA;AAGT,MAAI,IAAA;AACF,QAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,4BAA4B,IAAI,CAAC,CAAA;AAC5D,QAAA,IAAI,CAAC,KAAO,EAAA;AACV,UAAM,MAAA,IAAI,UAAU,0BAA0B,CAAA;AAAA;AAGhD,QAAA,MAAM,CAAC,OAAS,EAAA,UAAA,EAAY,UAAU,CAAI,GAAA,KAAA,CAAM,MAAM,GAAG,CAAA;AACzD,QAAA,MAAM,UAAqB,IAAK,CAAA,KAAA;AAAA,UAC9B,MAAO,CAAA,IAAA,CAAK,UAAY,EAAA,QAAQ,EAAE,QAAS;AAAA,SAC7C;AAEA,QACE,IAAA,OAAO,YAAY,QACnB,IAAA,OAAA,KAAY,QACZ,KAAM,CAAA,OAAA,CAAQ,OAAO,CACrB,EAAA;AACA,UAAM,MAAA,IAAI,UAAU,uBAAuB,CAAA;AAAA;AAG7C,QAAA,MAAM,MAAM,OAAQ,CAAA,GAAA;AACpB,QAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC3B,UAAM,MAAA,IAAI,UAAU,2BAA2B,CAAA;AAAA;AAGjD,QAAA,IAAI,QAAQ,kBAAoB,EAAA;AAC9B,UAAO,OAAA,KAAA,CAAA;AAAA;AAIT,QAAAC,2BAAA,CAAe,GAAG,CAAA;AAElB,QAAO,OAAA;AAAA,UACL,QAAU,EAAA;AAAA,YACR,aAAe,EAAA,GAAA;AAAA,YACf,qBAAqB,EAAC;AAAA,YACtB,IAAM,EAAA;AAAA,WACR;AAAA,UACA;AAAA,SACF;AAAA,eACO,CAAG,EAAA;AACV,QAAA,MAAA,CAAO,KAAM,CAAA,CAAA,8BAAA,EAAiCC,qBAAe,CAAA,CAAC,CAAC,CAAE,CAAA,CAAA;AACjE,QAAO,OAAA,KAAA,CAAA;AAAA;AACT;AACF,GACF;AACF;AAEA,MAAM,YAAe,GAAA,CACnBC,QACA,EAAA,GAAA,EACA,YACG,KAAA;AACH,EAAI,IAAAA,QAAA,CAAO,GAAI,CAAA,GAAG,CAAG,EAAA;AACnB,IAAA,OAAOC,6BAAuB,CAAAD,QAAA,EAAQ,EAAE,GAAA,EAAK,CAAA;AAAA;AAE/C,EAAO,OAAA,YAAA;AACT,CAAA;AAOA,eAAsB,aACpB,OACyB,EAAA;AACzB,EAAA,MAAM,SAASE,uBAAO,EAAA;AAEtB,EAAA,MAAA,CAAO,IAAIC,wBAAQ,CAAA,IAAA,CAAK,EAAE,KAAO,EAAA,MAAA,EAAQ,CAAC,CAAA;AAE1C,EAAM,MAAA;AAAA,IACJ,MAAQ,EAAA,YAAA;AAAA,IACR,MAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA,yBAAA;AAAA,IACA,yBAAA;AAAA,IACA,4BAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,SAAA,GAAYC,2BAAc,CAAA,UAAA,CAAW,MAAM,CAAA;AAAA,IAC3C,QAAA,GAAW,2BAA2B,OAAO,CAAA;AAAA,IAC7C,uBAAuB,EAAC;AAAA,IACxB,MAAQ,EAAA;AAAA,GACN,GAAA,OAAA;AAEJ,EAAA,MAAM,EAAE,IAAA,EAAM,QAAS,EAAA,GAAIC,sCAAyB,CAAA;AAAA,IAClD,GAAG,OAAA;AAAA,IACH,QAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,uBACJ,OAAQ,CAAA,oBAAA,IACR,OAAQ,CAAA,MAAA,CAAO,kBAAkB,iCAAiC,CAAA;AAEpE,EAAA,MAAM,SAAS,YAAa,CAAA,KAAA,CAAM,EAAE,MAAA,EAAQ,cAAc,CAAA;AAE1D,EAAA,MAAM,gBAAmB,GAAA,MAAMC,2BAAoB,CAAA,MAAA,EAAQ,MAAM,CAAA;AACjE,EAAM,MAAA,YAAA,GAAeC,2BAAgB,CAAA,UAAA,CAAW,MAAM,CAAA;AAEtD,EAAI,IAAA,UAAA;AACJ,EAAI,IAAA,CAAC,QAAQ,UAAY,EAAA;AACvB,IAAM,MAAA,iBAAA,GAAoB,MAAMC,mCAAA,CAAkB,MAAO,CAAA;AAAA,MACvD,QAAA;AAAA,MACA,MAAQ,EAAA;AAAA,KACT,CAAA;AACD,IAAA,UAAA,GAAa,IAAIC,mCAAA;AAAA,MACf,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAI,IAAA,SAAA,IAAa,kBAAkB,cAAgB,EAAA;AACjD,MAAA,MAAM,UAAU,YAAa,CAAA;AAAA,QAC3B,EAAI,EAAA,mBAAA;AAAA,QACJ,SAAW,EAAA,YAAA;AAAA,UACT,MAAA;AAAA,UACA,wCAAA;AAAA,UACA;AAAA,YACE,OAAS,EAAA;AAAA;AACX,SACF;AAAA,QACA,OAAA,EAAS,EAAE,OAAA,EAAS,EAAG,EAAA;AAAA,QACvB,IAAI,YAAY;AACd,UAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,kBAAkB,cAAe,CAAA;AAAA,YACvD,UAAUC,cAAS,CAAA,UAAA;AAAA,cACjB,YAAA,CAAa,QAAQ,wBAA0B,EAAA;AAAA,gBAC7C,KAAO,EAAA;AAAA,eACR;AAAA,aACH,CAAE,GAAG,SAAS;AAAA,WACf,CAAA;AAED,UAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,YAAM,MAAA,iBAAA,CAAkB,aAAa,IAAI,CAAA;AACzC,YAAA,MAAA,CAAO,IAAK,CAAA,CAAA,+BAAA,EAAkC,IAAK,CAAA,MAAM,CAAE,CAAA,CAAA;AAAA;AAC7D;AACF,OACD,CAAA;AAAA;AACH,GACK,MAAA;AACL,IAAA,UAAA,GAAa,OAAQ,CAAA,UAAA;AAAA;AAGvB,EAAM,MAAA,cAAA,GAAiB,IAAIC,6CAAuB,EAAA;AAElD,EAAA,MAAM,UAAwB,EAAC;AAC/B,EAAA,IAAI,yBAAyB,CAAG,EAAA;AAC9B,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAK,IAAA,WAAA,IAAe,IAAI,CAAK,EAAA,EAAA;AAC3C,MAAM,MAAA,MAAA,GAAS,MAAMC,qBAAA,CAAW,MAAO,CAAA;AAAA,QACrC,UAAA;AAAA,QACA,cAAA;AAAA,QACA,YAAA;AAAA,QACA,MAAA;AAAA,QACA,gBAAA;AAAA,QACA,yBAAA;AAAA,QACA,yBAAA;AAAA,QACA,oBAAA;AAAA,QACA;AAAA,OACD,CAAA;AACD,MAAA,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA;AACrB;AAGF,EAAA,MAAM,oBAAoB,KAAM,CAAA,OAAA,CAAQ,OAAO,CAAA,GAC3C,UACAC,yCAAqB,CAAA;AAAA,IACnB,YAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,yBAAA;AAAA,IACA,yBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAEL,EAAA,iBAAA,CAAkB,OAAQ,CAAA,CAAA,MAAA,KAAU,cAAe,CAAA,QAAA,CAAS,MAAM,CAAC,CAAA;AAEnE,EAAA,MAAM,gBAAgB,MAAM,OAAA,CAAQ,QAAQ,CAAU,MAAA,KAAA,MAAA,CAAO,OAAO,CAAA;AAEpE,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,OAAA,CAAQ,OAAQ,CAAA,CAAA,MAAA,KAAU,MAAO,CAAA,IAAA,EAAM,CAAA;AAAA,GACzC;AAEA,EAAA,IAAI,QAAQ,SAAW,EAAA;AACrB,IAAQ,OAAA,CAAA,SAAA,CAAU,eAAe,aAAa,CAAA;AAC9C,IAAQ,OAAA,CAAA,SAAA,CAAU,gBAAgB,eAAe,CAAA;AAAA,GAC5C,MAAA;AACL,IAAc,aAAA,EAAA;AAAA;AAGhB,EAAA,MAAM,YAAYC,+BAAgB,CAAA;AAAA,IAChC,cAAA;AAAA,IACA,YAAA;AAAA,IACA,MAAA;AAAA,IACA,gBAAA;AAAA,IACA,yBAAA;AAAA,IACA,yBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,gBAA+C,MAAO,CAAA,MAAA;AAAA,IAC1DC;AAAA,GACF;AACA,EAAA,MAAM,cAA2C,MAAO,CAAA,MAAA;AAAA,IACtDC;AAAA,GACF;AAEA,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAc,aAAA,CAAA,IAAA;AAAA,MACZ,GAAG,eAAgB,CAAA,MAAA,CAAO,6BAA6B;AAAA,KACzD;AACA,IAAA,WAAA,CAAY,IAAK,CAAA,GAAG,eAAgB,CAAA,MAAA,CAAO,2BAA2B,CAAC,CAAA;AAAA;AAGzE,EAAA,MAAM,YAAe,GAAAC,8CAAA,CAA0B,MAAO,CAAA,MAAA,CAAO,aAAa,CAAC,CAAA;AAE3E,EAAA,MAAM,8BAA8BC,sDAAkC,CAAA;AAAA,IACpE,SAAW,EAAA;AAAA,MACT;AAAA,QACE,YAAc,EAAAtB,uCAAA;AAAA,QACd,WAAa,EAAAuB,mCAAA;AAAA,QACb,KAAO,EAAA;AAAA,OACT;AAAA,MACA;AAAA,QACE,YAAc,EAAAtB,qCAAA;AAAA,QACd,WAAa,EAAAuB,iCAAA;AAAA,QACb,KAAO,EAAA;AAAA;AACT,KACF;AAAA,IACA,WAAa,EAAAC;AAAA,GACd,CAAA;AAED,EAAA,MAAA,CAAO,IAAI,2BAA2B,CAAA;AAEtC,EACG,MAAA,CAAA,GAAA;AAAA,IACC,uDAAA;AAAA,IACA,OAAO,KAAK,GAAQ,KAAA;AAClB,MAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAElD,MAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,KAAK,qBAAsB,CAAA;AAAA,QACjD,UAAY,EAAA,WAAA;AAAA,QACZ,cAAgB,EAAA;AAAA,OACjB,CAAA;AAED,MAAA,MAAM,WAAW,MAAM,iBAAA;AAAA,QACrB,GAAI,CAAA,MAAA;AAAA,QACJ,KAAA;AAAA,QACA;AAAA,OACF;AAEA,MAAM,MAAA,UAAA,GAAa,CAAC,QAAS,CAAA,IAAA,CAAK,cAAc,EAAE,EAAE,IAAK,EAAA;AAEzD,MAAM,MAAA,YAAA,GAAe,SAAS,IAAK,CAAA,YAAA;AAEnC,MAAA,GAAA,CAAI,IAAK,CAAA;AAAA,QACP,KAAO,EAAA,QAAA,CAAS,QAAS,CAAA,KAAA,IAAS,SAAS,QAAS,CAAA,IAAA;AAAA,QACpD,GAAI,YAAA,GAAe,EAAE,YAAA,KAAiB,EAAC;AAAA,QACvC,WAAA,EAAa,SAAS,QAAS,CAAA,WAAA;AAAA,QAC/B,YAAA,EAAc,QAAS,CAAA,QAAA,CAAS,YAAY,CAAA;AAAA,QAC5C,KAAA,EAAO,UAAW,CAAA,GAAA,CAAI,CAAW,MAAA,MAAA;AAAA,UAC/B,KAAA,EAAO,OAAO,KAAS,IAAA,wCAAA;AAAA,UACvB,aAAa,MAAO,CAAA,WAAA;AAAA,UACpB;AAAA,SACA,CAAA,CAAA;AAAA,QACF,2BAAA,EACE,SAAS,IAAK,CAAA;AAAA,OACjB,CAAA;AAAA;AACH,GAED,CAAA,GAAA,CAAI,aAAe,EAAA,OAAO,MAAM,GAAQ,KAAA;AACvC,IAAA,MAAM,WAAc,GAAA,cAAA,CAAe,IAAK,EAAA,CAAE,IAAI,CAAU,MAAA,KAAA;AACtD,MAAO,OAAA;AAAA,QACL,IAAI,MAAO,CAAA,EAAA;AAAA,QACX,aAAa,MAAO,CAAA,WAAA;AAAA,QACpB,UAAU,MAAO,CAAA,QAAA;AAAA,QACjB,QAAQ,MAAO,CAAA;AAAA,OACjB;AAAA,KACD,CAAA;AACD,IAAA,GAAA,CAAI,KAAK,WAAW,CAAA;AAAA,GACrB,CACA,CAAA,IAAA,CAAK,WAAa,EAAA,OAAO,KAAK,GAAQ,KAAA;AACrC,IAAM,MAAA,WAAA,GAAsB,IAAI,IAAK,CAAA,WAAA;AACrC,IAAA,MAAM,EAAE,IAAM,EAAA,SAAA,EAAW,IAAK,EAAA,GAAIvB,4BAAe,WAAa,EAAA;AAAA,MAC5D,WAAa,EAAA;AAAA,KACd,CAAA;AAED,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAElD,IAAA,MAAMwB,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACC,0BAAoB,CAAA;AAAA,MAClC,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,KAAK,qBAAsB,CAAA;AAAA,MACjD,UAAY,EAAA,WAAA;AAAA,MACZ,cAAgB,EAAA;AAAA,KACjB,CAAA;AAED,IAAM,MAAA,aAAA,GAAgB,KAAK,WAAY,CAAA,WAAA,EAAa,MAAM,CACtD,GAAA,WAAA,CAAY,UAAU,aACtB,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,UAAA,GAAa,gBACf,MAAM,aAAA,CAAc,eAAe,aAAe,EAAA,EAAE,KAAM,EAAC,CAC3D,GAAA,KAAA,CAAA;AAEJ,IAAI,IAAA,QAAA,GAAW,wBAAwB,WAAW,CAAA,CAAA;AAClD,IAAA,IAAI,aAAe,EAAA;AACjB,MAAA,QAAA,IAAY,eAAe,aAAa,CAAA,CAAA;AAAA;AAE1C,IAAA,MAAA,CAAO,KAAK,QAAQ,CAAA;AAEpB,IAAM,MAAA,MAAA,GAAS,IAAI,IAAK,CAAA,MAAA;AAExB,IAAA,MAAM,WAAW,MAAM,iBAAA;AAAA,MACrB,EAAE,IAAM,EAAA,SAAA,EAAW,IAAK,EAAA;AAAA,MACxB,KAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAW,KAAA,MAAA,UAAA,IAAc,CAAC,QAAS,CAAA,IAAA,CAAK,cAAc,EAAE,CAAE,CAAA,IAAA,EAAQ,EAAA;AAChE,MAAMC,MAAAA,OAAAA,GAASC,mBAAS,CAAA,MAAA,EAAQ,UAAU,CAAA;AAE1C,MAAI,IAAA,CAACD,QAAO,KAAO,EAAA;AACjB,QAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAE,CAAA,IAAA,CAAK,EAAE,MAAQA,EAAAA,OAAAA,CAAO,QAAQ,CAAA;AAC9C,QAAA;AAAA;AACF;AAGF,IAAM,MAAA,OAAA,GAAUE,yBAAiB,QAAQ,CAAA;AAEzC,IAAA,MAAM,QAAqB,GAAA;AAAA,MACzB,YAAY,QAAS,CAAA,UAAA;AAAA,MACrB,OAAO,QAAS,CAAA,IAAA,CAAK,MAAM,GAAI,CAAA,CAAC,MAAM,KAAW,MAAA;AAAA,QAC/C,GAAG,IAAA;AAAA,QACH,EAAI,EAAA,IAAA,CAAK,EAAM,IAAA,CAAA,KAAA,EAAQ,QAAQ,CAAC,CAAA,CAAA;AAAA,QAChC,IAAA,EAAM,IAAK,CAAA,IAAA,IAAQ,IAAK,CAAA;AAAA,OACxB,CAAA,CAAA;AAAA,MACF,qBAAA,EAAuB,SAAS,IAAK,CAAA,qBAAA;AAAA,MACrC,MAAQ,EAAA,QAAA,CAAS,IAAK,CAAA,MAAA,IAAU,EAAC;AAAA,MACjC,UAAY,EAAA,MAAA;AAAA,MACZ,IAAM,EAAA;AAAA,QACJ,MAAQ,EAAA,UAAA;AAAA,QACR,GAAK,EAAA;AAAA,OACP;AAAA,MACA,YAAc,EAAA;AAAA,QACZ,WAAWC,+BAAmB,CAAA,EAAE,IAAM,EAAA,IAAA,EAAM,WAAW,CAAA;AAAA,QACvD,OAAA;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,UAAU,QAAS,CAAA;AAAA;AACrB;AACF,KACF;AAEA,IAAA,MAAM,OAA+B,GAAA;AAAA,MACnC,GAAG,IAAI,IAAK,CAAA,OAAA;AAAA,MACZ,cAAgB,EAAA,KAAA;AAAA,MAChB,sBAAA,EAAwB,KAAK,SAAU,CAAA;AAAA,QACrC,GAAG,WAAA;AAAA;AAAA,QAEH,OAAQ,WAAoB,CAAA;AAAA,OAC7B;AAAA,KACH;AAEA,IAAM,MAAA,MAAA,GAAS,MAAM,UAAA,CAAW,QAAS,CAAA;AAAA,MACvC,IAAM,EAAA,QAAA;AAAA,MACN,SAAW,EAAA,aAAA;AAAA,MACX;AAAA,KACD,CAAA;AAED,IAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAE,CAAA,IAAA,CAAK,EAAE,EAAI,EAAA,MAAA,CAAO,QAAQ,CAAA;AAAA,GAC3C,CACA,CAAA,GAAA,CAAI,WAAa,EAAA,OAAO,KAAK,GAAQ,KAAA;AACpC,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,IAAA,MAAML,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACM,wBAAkB,CAAA;AAAA,MAChC,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAI,IAAA,CAAC,WAAW,IAAM,EAAA;AACpB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA;AAGF,IAAA,MAAM,SAAY,GAAAC,yBAAA,CAAkB,GAAI,CAAA,KAAA,CAAM,WAAW,WAAW,CAAA;AACpE,IAAA,MAAM,MAAS,GAAAA,yBAAA,CAAkB,GAAI,CAAA,KAAA,CAAM,QAAQ,QAAQ,CAAA;AAE3D,IAAM,MAAA,KAAA,GAAQA,0BAAkB,GAAI,CAAA,KAAA,CAAM,OAAO,OAAO,CAAA,EAAG,IAAI,CAAQ,IAAA,KAAA;AACrE,MAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,KAAA,CAAM,mBAAmB,CAAA;AAC5C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,MAAM,IAAIC,iBAAA;AAAA,UACR,4BAA4B,IAAI,CAAA,wCAAA;AAAA,SAClC;AAAA;AAGF,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,MAAM,CAAC,CAAA;AAAA,QACd,KAAA,EAAO,MAAM,CAAC;AAAA,OAChB;AAAA,KACD,CAAA;AAED,IAAA,MAAM,KAAQ,GAAAC,wBAAA,CAAiB,GAAI,CAAA,KAAA,CAAM,OAAO,OAAO,CAAA;AACvD,IAAA,MAAM,MAAS,GAAAA,wBAAA,CAAiB,GAAI,CAAA,KAAA,CAAM,QAAQ,QAAQ,CAAA;AAE1D,IAAM,MAAA,KAAA,GAAQ,MAAM,UAAA,CAAW,IAAK,CAAA;AAAA,MAClC,OAAS,EAAA;AAAA,QACP,SAAA;AAAA,QACA,MAAA,EAAQ,SAAU,MAA0B,GAAA,KAAA;AAAA,OAC9C;AAAA,MACA,KAAA;AAAA,MACA,UAAY,EAAA;AAAA,QACV,KAAO,EAAA,KAAA,GAAQ,KAAM,CAAA,CAAC,CAAI,GAAA,KAAA,CAAA;AAAA,QAC1B,MAAQ,EAAA,MAAA,GAAS,MAAO,CAAA,CAAC,CAAI,GAAA,KAAA;AAAA;AAC/B,KACD,CAAA;AAED,IAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,KAAK,CAAA;AAAA,GAC3B,CACA,CAAA,GAAA,CAAI,mBAAqB,EAAA,OAAO,KAAK,GAAQ,KAAA;AAC5C,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,IAAA,MAAMT,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACM,wBAAkB,CAAA;AAAA,MAChC,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,GAAI,CAAA,MAAA;AACvB,IAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,GAAA,CAAI,MAAM,CAAA;AACxC,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAA,MAAM,IAAII,oBAAA,CAAc,CAAgB,aAAA,EAAA,MAAM,CAAiB,eAAA,CAAA,CAAA;AAAA;AAGjE,IAAA,OAAO,IAAK,CAAA,OAAA;AACZ,IAAA,GAAA,CAAI,MAAO,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,GAC1B,CACA,CAAA,IAAA,CAAK,0BAA4B,EAAA,OAAO,KAAK,GAAQ,KAAA;AACpD,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAElD,IAAA,MAAMV,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACW,0BAAA,EAAsBL,wBAAkB,CAAA;AAAA,MACtD,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,GAAI,CAAA,MAAA;AACvB,IAAM,MAAA,UAAA,CAAW,SAAS,MAAM,CAAA;AAChC,IAAA,GAAA,CAAI,OAAO,GAAG,CAAA,CAAE,KAAK,EAAE,MAAA,EAAQ,aAAa,CAAA;AAAA,GAC7C,CACA,CAAA,IAAA,CAAK,yBAA2B,EAAA,OAAO,KAAK,GAAQ,KAAA;AACnD,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAElD,IAAA,MAAMN,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACC,0BAAA,EAAsBK,wBAAkB,CAAA;AAAA,MACtD,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,GAAI,CAAA,MAAA;AACvB,IAAM,MAAA,UAAA,CAAW,QAAQ,MAAM,CAAA;AAC/B,IAAA,GAAA,CAAI,OAAO,GAAG,CAAA,CAAE,KAAK,EAAE,EAAA,EAAI,QAAQ,CAAA;AAAA,GACpC,CACA,CAAA,GAAA,CAAI,+BAAiC,EAAA,OAAO,KAAK,GAAQ,KAAA;AACxD,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,IAAA,MAAMN,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACM,wBAAkB,CAAA;AAAA,MAChC,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,GAAI,CAAA,MAAA;AACvB,IAAM,MAAA,KAAA,GACJ,IAAI,KAAM,CAAA,KAAA,KAAU,SAAY,MAAO,CAAA,GAAA,CAAI,KAAM,CAAA,KAAK,CAAI,GAAA,KAAA,CAAA;AAE5D,IAAO,MAAA,CAAA,KAAA,CAAM,CAAkC,+BAAA,EAAA,MAAM,CAAU,QAAA,CAAA,CAAA;AAG/D,IAAA,GAAA,CAAI,UAAU,GAAK,EAAA;AAAA,MACjB,UAAY,EAAA,YAAA;AAAA,MACZ,eAAiB,EAAA,UAAA;AAAA,MACjB,cAAgB,EAAA;AAAA,KACjB,CAAA;AAGD,IAAM,MAAA,YAAA,GAAe,WAAW,MAAO,CAAA,EAAE,QAAQ,KAAM,EAAC,EAAE,SAAU,CAAA;AAAA,MAClE,OAAO,CAAS,KAAA,KAAA;AACd,QAAO,MAAA,CAAA,KAAA;AAAA,UACL,CAAA,wDAAA,EAA2D,MAAM,CAAA,GAAA,EAAM,KAAK,CAAA;AAAA,SAC9E;AACA,QAAA,GAAA,CAAI,GAAI,EAAA;AAAA,OACV;AAAA,MACA,IAAM,EAAA,CAAC,EAAE,MAAA,EAAa,KAAA;AACpB,QAAA,IAAI,iBAAoB,GAAA,KAAA;AACxB,QAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,UAAI,GAAA,CAAA,KAAA;AAAA,YACF,CAAA,OAAA,EAAU,MAAM,IAAI;AAAA,MAAW,EAAA,IAAA,CAAK,SAAU,CAAA,KAAK,CAAC;;AAAA;AAAA,WACtD;AACA,UAAA,IAAI,KAAM,CAAA,IAAA,KAAS,YAAgB,IAAA,CAAC,MAAM,iBAAmB,EAAA;AAC3D,YAAoB,iBAAA,GAAA,IAAA;AAAA;AACtB;AAGF,QAAA,GAAA,CAAI,KAAQ,IAAA;AACZ,QAAA,IAAI,iBAAmB,EAAA;AACrB,UAAA,YAAA,CAAa,WAAY,EAAA;AACzB,UAAA,GAAA,CAAI,GAAI,EAAA;AAAA;AACV;AACF,KACD,CAAA;AAID,IAAI,GAAA,CAAA,EAAA,CAAG,SAAS,MAAM;AACpB,MAAA,YAAA,CAAa,WAAY,EAAA;AACzB,MAAO,MAAA,CAAA,KAAA,CAAM,CAAkC,+BAAA,EAAA,MAAM,CAAU,QAAA,CAAA,CAAA;AAAA,KAChE,CAAA;AAAA,GACF,CACA,CAAA,GAAA,CAAI,0BAA4B,EAAA,OAAO,KAAK,GAAQ,KAAA;AACnD,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,IAAA,MAAMN,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACM,wBAAkB,CAAA;AAAA,MAChC,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAM,MAAA,EAAE,MAAO,EAAA,GAAI,GAAI,CAAA,MAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,GAAI,CAAA,KAAA,CAAM,KAAK,CAAK,IAAA,KAAA,CAAA;AAGzC,IAAM,MAAA,OAAA,GAAU,WAAW,MAAM;AAC/B,MAAI,GAAA,CAAA,IAAA,CAAK,EAAE,CAAA;AAAA,OACV,GAAM,CAAA;AAGT,IAAM,MAAA,YAAA,GAAe,WAAW,MAAO,CAAA,EAAE,QAAQ,KAAM,EAAC,EAAE,SAAU,CAAA;AAAA,MAClE,OAAO,CAAS,KAAA,KAAA;AACd,QAAO,MAAA,CAAA,KAAA;AAAA,UACL,CAAA,wDAAA,EAA2D,MAAM,CAAA,GAAA,EAAM,KAAK,CAAA;AAAA,SAC9E;AAAA,OACF;AAAA,MACA,IAAM,EAAA,CAAC,EAAE,MAAA,EAAa,KAAA;AACpB,QAAA,YAAA,CAAa,OAAO,CAAA;AACpB,QAAA,YAAA,CAAa,WAAY,EAAA;AACzB,QAAA,GAAA,CAAI,KAAK,MAAM,CAAA;AAAA;AACjB,KACD,CAAA;AAID,IAAI,GAAA,CAAA,EAAA,CAAG,SAAS,MAAM;AACpB,MAAA,YAAA,CAAa,WAAY,EAAA;AACzB,MAAA,YAAA,CAAa,OAAO,CAAA;AAAA,KACrB,CAAA;AAAA,GACF,CACA,CAAA,IAAA,CAAK,aAAe,EAAA,OAAO,KAAK,GAAQ,KAAA;AACvC,IAAA,MAAM,WAAc,GAAA,MAAM,QAAS,CAAA,WAAA,CAAY,GAAG,CAAA;AAClD,IAAA,MAAMN,gCAAgB,CAAA;AAAA,MACpB,WAAA;AAAA,MACA,WAAA,EAAa,CAACC,0BAAoB,CAAA;AAAA,MAClC,iBAAmB,EAAA;AAAA,KACpB,CAAA;AAED,IAAM,MAAA,UAAA,GAAaW,IAAE,MAAO,CAAA;AAAA,MAC1B,QAAA,EAAUA,IAAE,OAAQ,EAAA;AAAA,MACpB,MAAQ,EAAAA,GAAA,CAAE,MAAO,CAAAA,GAAA,CAAE,SAAS,CAAA;AAAA,MAC5B,SAASA,GAAE,CAAA,MAAA,CAAOA,IAAE,MAAO,EAAC,EAAE,QAAS,EAAA;AAAA,MACvC,mBAAmBA,GAAE,CAAA,KAAA;AAAA,QACnBA,GAAA,CAAE,MAAO,CAAA,EAAE,IAAM,EAAAA,GAAA,CAAE,MAAO,EAAA,EAAG,aAAe,EAAAA,GAAA,CAAE,MAAO,EAAA,EAAG;AAAA;AAC1D,KACD,CAAA;AACD,IAAM,MAAA,IAAA,GAAO,MAAM,UAAW,CAAA,UAAA,CAAW,IAAI,IAAI,CAAA,CAAE,MAAM,CAAK,CAAA,KAAA;AAC5D,MAAA,MAAM,IAAIJ,iBAAA,CAAW,CAAsB,mBAAA,EAAA,CAAC,CAAE,CAAA,CAAA;AAAA,KAC/C,CAAA;AAED,IAAA,MAAM,WAAW,IAAK,CAAA,QAAA;AACtB,IAAA,IAAI,CAAE,MAAMK,qDAA+B,CAAA,KAAA,CAAM,QAAQ,CAAI,EAAA;AAC3D,MAAM,MAAA,IAAIL,kBAAW,kCAAkC,CAAA;AAAA;AAGzD,IAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,KAAK,qBAAsB,CAAA;AAAA,MACjD,UAAY,EAAA,WAAA;AAAA,MACZ,cAAgB,EAAA;AAAA,KACjB,CAAA;AAED,IAAM,MAAA,aAAA,GAAgB,KAAK,WAAY,CAAA,WAAA,EAAa,MAAM,CACtD,GAAA,WAAA,CAAY,UAAU,aACtB,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,UAAA,GAAa,gBACf,MAAM,aAAA,CAAc,eAAe,aAAe,EAAA,EAAE,KAAM,EAAC,CAC3D,GAAA,KAAA,CAAA;AAEJ,IAAW,KAAA,MAAA,UAAA,IAAc,CAAC,QAAS,CAAA,IAAA,CAAK,cAAc,EAAE,CAAE,CAAA,IAAA,EAAQ,EAAA;AAChE,MAAA,MAAMN,OAAS,GAAAC,mBAAA,CAAS,IAAK,CAAA,MAAA,EAAQ,UAAU,CAAA;AAC/C,MAAI,IAAA,CAACD,QAAO,KAAO,EAAA;AACjB,QAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAE,CAAA,IAAA,CAAK,EAAE,MAAQA,EAAAA,OAAAA,CAAO,QAAQ,CAAA;AAC9C,QAAA;AAAA;AACF;AAGF,IAAA,MAAM,QAAQ,QAAS,CAAA,IAAA,CAAK,MAAM,GAAI,CAAA,CAAC,MAAM,KAAW,MAAA;AAAA,MACtD,GAAG,IAAA;AAAA,MACH,EAAI,EAAA,IAAA,CAAK,EAAM,IAAA,CAAA,KAAA,EAAQ,QAAQ,CAAC,CAAA,CAAA;AAAA,MAChC,IAAA,EAAM,IAAK,CAAA,IAAA,IAAQ,IAAK,CAAA;AAAA,KACxB,CAAA,CAAA;AAEF,IAAA,MAAM,WAAWY,OAAK,EAAA;AACtB,IAAA,MAAM,YAAe,GAAAC,qCAAA;AAAA,MACnB,gBAAA;AAAA,MACA,mBAAmB,QAAQ,CAAA;AAAA,KAC7B;AAEA,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,SAAA,EAAWV,gCAAmB,QAAQ,CAAA;AAAA,MACtC,MAAQ,EAAA;AAAA,QACN,UAAU,QAAS,CAAA;AAAA,OACrB;AAAA,MACA,OAAS,EAAAW,iBAAA;AAAA,QACPD,qCAAA,CAAqB,cAAc,eAAe;AAAA,QAClD,QAAS;AAAA,KACb;AAEA,IAAM,MAAA,MAAA,GAAS,MAAM,SAAU,CAAA;AAAA,MAC7B,IAAM,EAAA;AAAA,QACJ,YAAY,QAAS,CAAA,UAAA;AAAA,QACrB,KAAA;AAAA,QACA,MAAQ,EAAA,QAAA,CAAS,IAAK,CAAA,MAAA,IAAU,EAAC;AAAA,QACjC,YAAY,IAAK,CAAA,MAAA;AAAA,QACjB,IAAM,EAAA;AAAA,UACJ,MAAQ,EAAA,UAAA;AAAA,UACR,GAAK,EAAA;AAAA;AACP,OACF;AAAA,MACA,YAAA;AAAA,MACA,oBAAoB,IAAK,CAAA,iBAAA,IAAqB,EAAC,EAAG,IAAI,CAAS,IAAA,MAAA;AAAA,QAC7D,MAAM,IAAK,CAAA,IAAA;AAAA,QACX,OAAS,EAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,eAAe,QAAQ;AAAA,OACjD,CAAA,CAAA;AAAA,MACF,OAAS,EAAA;AAAA,QACP,GAAG,IAAK,CAAA,OAAA;AAAA,QACR,GAAI,KAAA,IAAS,EAAE,cAAA,EAAgB,KAAM;AAAA,OACvC;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAI,GAAA,CAAA,MAAA,CAAO,GAAG,CAAA,CAAE,IAAK,CAAA;AAAA,MACnB,GAAG,MAAA;AAAA,MACH,KAAA;AAAA,MACA,iBAAmB,EAAA,MAAA,CAAO,iBAAkB,CAAA,GAAA,CAAI,CAAS,IAAA,MAAA;AAAA,QACvD,MAAM,IAAK,CAAA,IAAA;AAAA,QACX,YAAY,IAAK,CAAA,UAAA;AAAA,QACjB,aAAe,EAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAS,QAAQ;AAAA,OAC7C,CAAA;AAAA,KACH,CAAA;AAAA,GACF,CACA,CAAA,IAAA,CAAK,sCAAwC,EAAA,OAAO,KAAK,GAAQ,KAAA;AAChE,IAAA,MAAM,EAAE,KAAA,EAAO,OAAQ,EAAA,GAAI,GAAI,CAAA,IAAA;AAC/B,IAAA,MAAM,EAAE,QAAA,EAAU,QAAS,EAAA,GAAI,GAAI,CAAA,MAAA;AAEnC,IAAA,IAAI,CAAC,KAAA,EAAa,MAAA,IAAIP,kBAAW,+BAA+B,CAAA;AAEhE,IAAI,IAAA,CAAC,oBAAqB,CAAA,QAAQ,CAAG,EAAA;AACnC,MAAA,MAAM,IAAIA,iBAAA,CAAW,CAAyB,sBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA;AAAA;AAG1D,IAAA,MAAM,EAAE,OAAQ,EAAA,GAAI,MAAM,oBAAA,CAAqB,QAAQ,CAAE,CAAA;AAAA,MACvD,QAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,GAAA,CAAI,OAAO,GAAG,CAAA,CAAE,IAAK,CAAA,EAAE,SAAS,CAAA;AAAA,GACjC,CAAA;AAEH,EAAA,MAAM,MAAM3B,wBAAQ,EAAA;AACpB,EAAI,GAAA,CAAA,GAAA,CAAI,UAAU,MAAM,CAAA;AACxB,EAAI,GAAA,CAAA,GAAA,CAAI,KAAK,MAAM,CAAA;AAEnB,EAAe,eAAA,iBAAA,CACb,SACA,EAAA,KAAA,EACA,WACA,EAAA;AACA,IAAM,MAAA,QAAA,GAAW,MAAMoC,oBAAa,CAAA;AAAA,MAClC,UAAY,EAAA,aAAA;AAAA,MACZ,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAI,IAAA,CAAC,mBAAoB,CAAA,QAAQ,CAAG,EAAA;AAClC,MAAA,MAAM,IAAIT,iBAAA;AAAA,QACR,CAAA,+CAAA,EACG,SAAoB,UACvB,CAAA;AAAA,OACF;AAAA;AAGF,IAAA,IAAI,CAAC,WAAa,EAAA;AAChB,MAAO,OAAA,QAAA;AAAA;AAGT,IAAA,MAAM,CAAC,iBAAA,EAAmB,YAAY,CAAA,GACpC,MAAM,WAAY,CAAA,oBAAA;AAAA,MAChB;AAAA,QACE,EAAE,YAAYU,qCAAgC,EAAA;AAAA,QAC9C,EAAE,YAAYC,gCAA2B;AAAA,OAC3C;AAAA,MACA,EAAE,WAAY;AAAA,KAChB;AAGF,IAAA,IAAI,KAAM,CAAA,OAAA,CAAQ,QAAS,CAAA,IAAA,CAAK,UAAU,CAAG,EAAA;AAC3C,MAAA,QAAA,CAAS,IAAK,CAAA,UAAA,GAAa,QAAS,CAAA,IAAA,CAAK,UAAW,CAAA,MAAA;AAAA,QAAO,CAAA,IAAA,KACzD,YAAa,CAAA,iBAAA,EAAmB,IAAI;AAAA,OACtC;AAAA,KACF,MAAA,IACE,QAAS,CAAA,IAAA,CAAK,UACd,IAAA,CAAC,aAAa,iBAAmB,EAAA,QAAA,CAAS,IAAK,CAAA,UAAU,CACzD,EAAA;AACA,MAAA,QAAA,CAAS,KAAK,UAAa,GAAA,KAAA,CAAA;AAAA;AAI7B,IAAA,QAAA,CAAS,IAAK,CAAA,KAAA,GAAQ,QAAS,CAAA,IAAA,CAAK,KAAM,CAAA,MAAA;AAAA,MAAO,CAAA,IAAA,KAC/C,YAAa,CAAA,YAAA,EAAc,IAAI;AAAA,KACjC;AAEA,IAAO,OAAA,QAAA;AAAA;AAGT,EAAO,OAAA,GAAA;AACT;;;;"} +\ No newline at end of file ++{"version":3,"file":"router.cjs.js","sources":["../../src/service/router.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createLegacyAuthAdapters,\n HostDiscovery,\n} from '@backstage/backend-common';\nimport { CatalogApi } from '@backstage/catalog-client';\nimport {\n CompoundEntityRef,\n Entity,\n parseEntityRef,\n stringifyEntityRef,\n UserEntity,\n} from '@backstage/catalog-model';\nimport { Config, readDurationFromConfig } from '@backstage/config';\nimport { InputError, NotFoundError, stringifyError } from '@backstage/errors';\nimport { ScmIntegrations } from '@backstage/integration';\nimport { HumanDuration, JsonObject, JsonValue } from '@backstage/types';\nimport {\n TaskSpec,\n TemplateEntityStepV1beta3,\n TemplateEntityV1beta3,\n templateEntityV1beta3Validator,\n TemplateParametersV1beta3,\n} from '@backstage/plugin-scaffolder-common';\nimport {\n RESOURCE_TYPE_SCAFFOLDER_ACTION,\n RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n scaffolderActionPermissions,\n scaffolderPermissions,\n scaffolderTemplatePermissions,\n taskCancelPermission,\n taskCreatePermission,\n taskReadPermission,\n templateParameterReadPermission,\n templateStepReadPermission,\n} from '@backstage/plugin-scaffolder-common/alpha';\nimport express from 'express';\nimport Router from 'express-promise-router';\nimport { validate } from 'jsonschema';\nimport { Logger } from 'winston';\nimport { z } from 'zod';\nimport {\n TaskBroker,\n TaskStatus,\n TemplateAction,\n TaskSecrets,\n TemplateFilter,\n TemplateGlobal,\n} from '@backstage/plugin-scaffolder-node';\nimport {\n createBuiltinActions,\n DatabaseTaskStore,\n TaskWorker,\n TemplateActionRegistry,\n} from '../scaffolder';\nimport { createDryRunner } from '../scaffolder/dryrun';\nimport { StorageTaskBroker } from '../scaffolder/tasks/StorageTaskBroker';\nimport {\n findTemplate,\n getEntityBaseUrl,\n getWorkingDirectory,\n parseNumberParam,\n parseStringsParam,\n} from './helpers';\nimport { PermissionRuleParams } from '@backstage/plugin-permission-common';\nimport {\n createConditionAuthorizer,\n createPermissionIntegrationRouter,\n PermissionRule,\n} from '@backstage/plugin-permission-node';\nimport { scaffolderActionRules, scaffolderTemplateRules } from './rules';\nimport { Duration } from 'luxon';\nimport {\n AuthService,\n BackstageCredentials,\n DatabaseService,\n DiscoveryService,\n HttpAuthService,\n LifecycleService,\n PermissionsService,\n resolveSafeChildPath,\n SchedulerService,\n UrlReaderService,\n} from '@backstage/backend-plugin-api';\nimport {\n IdentityApi,\n IdentityApiGetIdentityRequest,\n} from '@backstage/plugin-auth-node';\nimport { InternalTaskSecrets } from '../scaffolder/tasks/types';\nimport { checkPermission } from '../util/checkPermissions';\nimport {\n AutocompleteHandler,\n WorkspaceProvider,\n} from '@backstage/plugin-scaffolder-node/alpha';\nimport { pathToFileURL } from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { EventsService } from '@backstage/plugin-events-node';\nimport { cloneDeep } from 'lodash';\n\nimport { DefaultAuditLogger } from '@janus-idp/backstage-plugin-audit-log-node';\n\n/**\n *\n * @public\n */\nexport type TemplatePermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n TParams\n>;\nfunction isTemplatePermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is TemplatePermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_TEMPLATE;\n}\n\n/**\n *\n * @public\n */\nexport type ActionPermissionRuleInput<\n TParams extends PermissionRuleParams = PermissionRuleParams,\n> = PermissionRule<\n TemplateEntityStepV1beta3 | TemplateParametersV1beta3,\n {},\n typeof RESOURCE_TYPE_SCAFFOLDER_ACTION,\n TParams\n>;\nfunction isActionPermissionRuleInput(\n permissionRule: TemplatePermissionRuleInput | ActionPermissionRuleInput,\n): permissionRule is ActionPermissionRuleInput {\n return permissionRule.resourceType === RESOURCE_TYPE_SCAFFOLDER_ACTION;\n}\n\n/**\n * RouterOptions\n *\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport interface RouterOptions {\n logger: Logger;\n config: Config;\n reader: UrlReaderService;\n lifecycle?: LifecycleService;\n database: DatabaseService;\n catalogClient: CatalogApi;\n scheduler?: SchedulerService;\n actions?: TemplateAction[];\n /**\n * @deprecated taskWorkers is deprecated in favor of concurrentTasksLimit option with a single TaskWorker\n * @defaultValue 1\n */\n taskWorkers?: number;\n /**\n * Sets the number of concurrent tasks that can be run at any given time on the TaskWorker\n * @defaultValue 10\n */\n concurrentTasksLimit?: number;\n taskBroker?: TaskBroker;\n additionalTemplateFilters?: Record;\n additionalTemplateGlobals?: Record;\n additionalWorkspaceProviders?: Record;\n permissions?: PermissionsService;\n permissionRules?: Array<\n TemplatePermissionRuleInput | ActionPermissionRuleInput\n >;\n auth?: AuthService;\n httpAuth?: HttpAuthService;\n identity?: IdentityApi;\n discovery?: DiscoveryService;\n events?: EventsService;\n\n autocompleteHandlers?: Record;\n}\n\nfunction isSupportedTemplate(entity: TemplateEntityV1beta3) {\n return entity.apiVersion === 'scaffolder.backstage.io/v1beta3';\n}\n\n/*\n * @deprecated This function remains as the DefaultIdentityClient behaves slightly differently to the pre-existing\n * scaffolder behaviour. Specifically if the token fails to parse, the DefaultIdentityClient will raise an error.\n * The scaffolder did not raise an error in this case. As such we chose to allow it to behave as it did previously\n * until someone explicitly passes an IdentityApi. When we have reasonable confidence that most backstage deployments\n * are using the IdentityApi, we can remove this function.\n */\nfunction buildDefaultIdentityClient(options: RouterOptions): IdentityApi {\n return {\n getIdentity: async ({ request }: IdentityApiGetIdentityRequest) => {\n const header = request.headers.authorization;\n const { logger } = options;\n\n if (!header) {\n return undefined;\n }\n\n try {\n const token = header.match(/^Bearer\\s(\\S+\\.\\S+\\.\\S+)$/i)?.[1];\n if (!token) {\n throw new TypeError('Expected Bearer with JWT');\n }\n\n const [_header, rawPayload, _signature] = token.split('.');\n const payload: JsonValue = JSON.parse(\n Buffer.from(rawPayload, 'base64').toString(),\n );\n\n if (\n typeof payload !== 'object' ||\n payload === null ||\n Array.isArray(payload)\n ) {\n throw new TypeError('Malformed JWT payload');\n }\n\n const sub = payload.sub;\n if (typeof sub !== 'string') {\n throw new TypeError('Expected string sub claim');\n }\n\n if (sub === 'backstage-server') {\n return undefined;\n }\n\n // Check that it's a valid ref, otherwise this will throw.\n parseEntityRef(sub);\n\n return {\n identity: {\n userEntityRef: sub,\n ownershipEntityRefs: [],\n type: 'user',\n },\n token,\n };\n } catch (e) {\n logger.error(`Invalid authorization header: ${stringifyError(e)}`);\n return undefined;\n }\n },\n };\n}\n\nconst readDuration = (\n config: Config,\n key: string,\n defaultValue: HumanDuration,\n) => {\n if (config.has(key)) {\n return readDurationFromConfig(config, { key });\n }\n return defaultValue;\n};\n\n/**\n * A method to create a router for the scaffolder backend plugin.\n * @public\n * @deprecated Please migrate to the new backend system as this will be removed in the future.\n */\nexport async function createRouter(\n options: RouterOptions,\n): Promise {\n const router = Router();\n // Be generous in upload size to support a wide range of templates in dry-run mode.\n router.use(express.json({ limit: '10MB' }));\n\n const {\n logger: parentLogger,\n config,\n reader,\n database,\n catalogClient,\n actions,\n taskWorkers,\n scheduler,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n additionalWorkspaceProviders,\n permissions,\n permissionRules,\n discovery = HostDiscovery.fromConfig(config),\n identity = buildDefaultIdentityClient(options),\n autocompleteHandlers = {},\n events: eventsService,\n } = options;\n\n const { auth, httpAuth } = createLegacyAuthAdapters({\n ...options,\n identity,\n discovery,\n });\n\n const concurrentTasksLimit =\n options.concurrentTasksLimit ??\n options.config.getOptionalNumber('scaffolder.concurrentTasksLimit');\n\n const logger = parentLogger.child({ plugin: 'scaffolder' });\n const auditLogger = new DefaultAuditLogger({\n logger,\n authService: auth,\n httpAuthService: httpAuth,\n });\n\n const workingDirectory = await getWorkingDirectory(config, logger);\n const integrations = ScmIntegrations.fromConfig(config);\n\n let taskBroker: TaskBroker;\n if (!options.taskBroker) {\n const databaseTaskStore = await DatabaseTaskStore.create({\n database,\n events: eventsService,\n });\n taskBroker = new StorageTaskBroker(\n databaseTaskStore,\n logger,\n auditLogger,\n config,\n auth,\n additionalWorkspaceProviders,\n );\n\n if (scheduler && databaseTaskStore.listStaleTasks) {\n await scheduler.scheduleTask({\n id: 'close_stale_tasks',\n frequency: readDuration(\n config,\n 'scaffolder.taskTimeoutJanitorFrequency',\n {\n minutes: 5,\n },\n ),\n timeout: { minutes: 15 },\n fn: async () => {\n const { tasks } = await databaseTaskStore.listStaleTasks({\n timeoutS: Duration.fromObject(\n readDuration(config, 'scaffolder.taskTimeout', {\n hours: 24,\n }),\n ).as('seconds'),\n });\n\n for (const task of tasks) {\n await databaseTaskStore.shutdownTask(task);\n logger.info(`Successfully closed stale task ${task.taskId}`);\n }\n },\n });\n }\n } else {\n taskBroker = options.taskBroker;\n }\n\n const actionRegistry = new TemplateActionRegistry();\n\n const workers: TaskWorker[] = [];\n if (concurrentTasksLimit !== 0) {\n for (let i = 0; i < (taskWorkers || 1); i++) {\n const worker = await TaskWorker.create({\n taskBroker,\n actionRegistry,\n integrations,\n logger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n concurrentTasksLimit,\n permissions,\n auditLogger,\n });\n workers.push(worker);\n }\n }\n\n const actionsToRegister = Array.isArray(actions)\n ? actions\n : createBuiltinActions({\n integrations,\n catalogClient,\n reader,\n config,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n auth,\n });\n\n actionsToRegister.forEach(action => actionRegistry.register(action));\n\n const launchWorkers = () => workers.forEach(worker => worker.start());\n\n const shutdownWorkers = () => {\n workers.forEach(worker => worker.stop());\n };\n\n if (options.lifecycle) {\n options.lifecycle.addStartupHook(launchWorkers);\n options.lifecycle.addShutdownHook(shutdownWorkers);\n } else {\n launchWorkers();\n }\n\n const dryRunner = createDryRunner({\n actionRegistry,\n integrations,\n logger,\n auditLogger,\n workingDirectory,\n additionalTemplateFilters,\n additionalTemplateGlobals,\n permissions,\n });\n\n const templateRules: TemplatePermissionRuleInput[] = Object.values(\n scaffolderTemplateRules,\n );\n const actionRules: ActionPermissionRuleInput[] = Object.values(\n scaffolderActionRules,\n );\n\n if (permissionRules) {\n templateRules.push(\n ...permissionRules.filter(isTemplatePermissionRuleInput),\n );\n actionRules.push(...permissionRules.filter(isActionPermissionRuleInput));\n }\n\n const isAuthorized = createConditionAuthorizer(Object.values(templateRules));\n\n const permissionIntegrationRouter = createPermissionIntegrationRouter({\n resources: [\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_TEMPLATE,\n permissions: scaffolderTemplatePermissions,\n rules: templateRules,\n },\n {\n resourceType: RESOURCE_TYPE_SCAFFOLDER_ACTION,\n permissions: scaffolderActionPermissions,\n rules: actionRules,\n },\n ],\n permissions: scaffolderPermissions,\n });\n\n router.use(permissionIntegrationRouter);\n\n router\n .get(\n '/v2/templates/:namespace/:kind/:name/parameter-schema',\n async (req, res) => {\n const requestedTemplateRef = `${req.params.kind}:${req.params.namespace}/${req.params.name}`;\n const actorId = await auditLogger.getActorId(req);\n try {\n const credentials = await httpAuth.credentials(req);\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n await auditLogger.auditLog({\n eventName: 'ScaffolderParameterSchemaFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n templateRef: requestedTemplateRef,\n },\n request: req,\n message: `${actorId} requested the parameter schema for ${requestedTemplateRef}`,\n });\n const template = await authorizeTemplate(\n req.params,\n token,\n credentials,\n );\n\n const parameters = [template.spec.parameters ?? []].flat();\n\n const presentation = template.spec.presentation;\n const templateRef = `${template.kind}:${\n template.metadata.namespace || 'default'\n }/${template.metadata.name}`;\n\n const responseBody = {\n title: template.metadata.title ?? template.metadata.name,\n ...(presentation ? { presentation } : {}),\n description: template.metadata.description,\n 'ui:options': template.metadata['ui:options'],\n steps: parameters.map(schema => ({\n title: schema.title ?? 'Please enter the following information',\n description: schema.description,\n schema,\n })),\n EXPERIMENTAL_formDecorators:\n template.spec.EXPERIMENTAL_formDecorators,\n };\n await auditLogger.auditLog({\n eventName: 'ScaffolderParameterSchemaFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n templateRef: templateRef,\n },\n request: req,\n response: {\n status: 200,\n body: responseBody,\n },\n message: `${actorId} successfully requested the parameter schema for ${templateRef}`,\n });\n res.json(responseBody);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderParameterSchemaFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n metadata: {\n templateRef: requestedTemplateRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} failed to request the parameter schema for ${requestedTemplateRef}`,\n });\n throw err;\n }\n },\n )\n .get('/v2/actions', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderInstalledActionsFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n request: req,\n message: `${actorId} requested the list of installed actions`,\n });\n const actionsList = actionRegistry.list().map(action => {\n return {\n id: action.id,\n description: action.description,\n examples: action.examples,\n schema: action.schema,\n };\n });\n await auditLogger.auditLog({\n eventName: 'ScaffolderInstalledActionsFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n request: req,\n response: {\n status: 200,\n body: actionsList,\n },\n message: `${actorId} successfully requested the list of installed actions`,\n });\n res.json(actionsList);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderInstalledActionsFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} failed to request for the list of installed actions`,\n });\n throw err;\n }\n })\n .post('/v2/tasks', async (req, res) => {\n const templateRef: string = req.body.templateRef;\n const { kind, namespace, name } = parseEntityRef(templateRef, {\n defaultKind: 'template',\n });\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n const values = req.body.values;\n const redactedRequest = cloneDeep(req);\n\n // Workaround ensure that redactedRequest.ip accesses the original req.ip with the correct context, preventing 'Illegal invocation' errors\n Object.defineProperty(redactedRequest, 'ip', {\n get: () => {\n return req.ip;\n },\n });\n if (req.body.secrets) {\n const redactedBody = {\n ...req.body,\n secrets: Object.keys(req.body.secrets).reduce((acc, key) => {\n return {\n ...acc,\n [key]: '***',\n };\n }, {} as TaskSecrets),\n };\n redactedRequest.body = redactedBody;\n }\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'initiation',\n status: 'succeeded',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n templateRef: templateRef,\n },\n\n message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} initiated`,\n });\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n const template = await authorizeTemplate(\n { kind, namespace, name },\n token,\n credentials,\n );\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(values, parameters);\n if (!result.valid) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n templateRef: templateRef,\n },\n response: {\n status: 400,\n body: { errors: result.errors },\n },\n errors: result.errors,\n message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed`,\n });\n return res.status(400).json({ errors: result.errors });\n }\n }\n\n const baseUrl = getEntityBaseUrl(template);\n\n const taskSpec: TaskSpec = {\n apiVersion: template.apiVersion,\n steps: template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n })),\n EXPERIMENTAL_recovery: template.spec.EXPERIMENTAL_recovery,\n output: template.spec.output ?? {},\n parameters: values,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n templateInfo: {\n entityRef: stringifyEntityRef({ kind, name, namespace }),\n baseUrl,\n entity: {\n metadata: template.metadata,\n },\n },\n };\n\n const secrets: InternalTaskSecrets = {\n ...req.body.secrets,\n backstageToken: token,\n __initiatorCredentials: JSON.stringify({\n ...credentials,\n // credentials.token is nonenumerable and will not be serialized, so we need to add it explicitly\n token: (credentials as any).token,\n }),\n };\n\n const result = await taskBroker.dispatch({\n spec: taskSpec,\n createdBy: userEntityRef,\n secrets,\n });\n\n let auditLog = `Scaffolding task for ${templateRef}`;\n if (userEntityRef) {\n auditLog += ` created by ${userEntityRef}`;\n }\n\n logger.info(auditLog);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'completion',\n status: 'succeeded',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n taskId: result.taskId,\n templateRef: templateRef,\n },\n response: {\n status: 201,\n body: { id: result.taskId },\n },\n message: `Scaffolding task for ${templateRef} with taskId: ${result.taskId} successfully created by ${userEntityRef}`,\n });\n return res.status(201).json({ id: result.taskId });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCreation',\n stage: 'completion',\n status: 'failed',\n level: 'error',\n actorId: userEntityRef,\n request: redactedRequest,\n metadata: {\n templateRef: templateRef,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Scaffolding task for ${templateRef} creation attempt by ${userEntityRef} failed`,\n });\n throw err;\n }\n })\n .get('/v2/tasks', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskListFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n request: req,\n message: `${actorId} requested for the list of scaffolder tasks`,\n });\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n if (!taskBroker.list) {\n throw new Error(\n 'TaskBroker does not support listing tasks, please implement the list method on the TaskBroker.',\n );\n }\n\n const createdBy = parseStringsParam(req.query.createdBy, 'createdBy');\n const status = parseStringsParam(req.query.status, 'status');\n\n const order = parseStringsParam(req.query.order, 'order')?.map(item => {\n const match = item.match(/^(asc|desc):(.+)$/);\n if (!match) {\n throw new InputError(\n `Invalid order parameter \"${item}\", expected \":\"`,\n );\n }\n\n return {\n order: match[1] as 'asc' | 'desc',\n field: match[2],\n };\n });\n\n const limit = parseNumberParam(req.query.limit, 'limit');\n const offset = parseNumberParam(req.query.offset, 'offset');\n\n const tasks = await taskBroker.list({\n filters: {\n createdBy,\n status: status ? (status as TaskStatus[]) : undefined,\n },\n order,\n pagination: {\n limit: limit ? limit[0] : undefined,\n offset: offset ? offset[0] : undefined,\n },\n });\n\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskListFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n request: req,\n response: {\n status: 200,\n body: tasks,\n },\n message: `${actorId} successfully requested for the list of scaffolder tasks`,\n });\n res.status(200).json(tasks);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskListFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} request for the list of scaffolder tasks failed`,\n });\n throw err;\n }\n })\n .get('/v2/tasks/:taskId', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId: taskId,\n },\n request: req,\n message: `${actorId} requested for scaffolder task ${taskId}`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n const task = await taskBroker.get(taskId);\n if (!task) {\n throw new NotFoundError(`Task with id ${taskId} does not exist`);\n }\n // Do not disclose secrets\n delete task.secrets;\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n request: req,\n response: {\n status: 200,\n body: task,\n },\n message: `${actorId} successfully requested for scaffolder tasks ${taskId}`,\n });\n res.status(200).json(task);\n } catch (err) {\n let status = 500;\n if (err.name === 'NotFoundError') {\n status = 404;\n }\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n response: {\n status: status,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId} request for scaffolder tasks ${taskId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/tasks/:taskId/cancel', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCancellation',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Cancellation request for Scaffolding task with taskId: ${taskId} from ${actorId} received`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskCancelPermission],\n permissionService: permissions,\n });\n await taskBroker.cancel?.(taskId);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCancellation',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n response: {\n status: 200,\n body: { status: 'cancelled' },\n },\n message: `Scaffolding task with taskId: ${taskId} successfully cancelled by ${actorId}`,\n });\n res.status(200).json({ status: 'cancelled' });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskCancellation',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId}'s cancel request for task ${taskId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/tasks/:taskId/retry', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskRetry',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Retry request for Scaffolding task with taskId: ${taskId} from ${actorId} received`,\n });\n const credentials = await httpAuth.credentials(req);\n // Requires both read and cancel permissions\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission, taskReadPermission],\n permissionService: permissions,\n });\n await taskBroker.retry?.(taskId);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskRetry',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n response: {\n status: 201,\n body: { id: taskId },\n },\n message: `Scaffolding task with taskId: ${taskId} successfully retried by ${actorId}`,\n });\n res.status(201).json({ id: taskId });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskRetry',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `${actorId}'s retry request for task ${taskId} failed`,\n });\n throw err;\n }\n })\n .get('/v2/tasks/:taskId/eventstream', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n const after =\n req.query.after !== undefined ? Number(req.query.after) : undefined;\n\n logger.debug(`Event stream observing taskId '${taskId}' opened`);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Event stream for scaffolding task with taskId: ${taskId} was opened by ${actorId}`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n // Mandatory headers and http status to keep connection open\n res.writeHead(200, {\n Connection: 'keep-alive',\n 'Cache-Control': 'no-cache',\n 'Content-Type': 'text/event-stream',\n });\n\n // After client opens connection send all events as string\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: async error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: error.name,\n message: error.message,\n stack: error.stack,\n cause: error.cause,\n },\n ],\n message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}`,\n });\n res.end();\n },\n next: ({ events }) => {\n let shouldUnsubscribe = false;\n for (const event of events) {\n res.write(\n `event: ${event.type}\\ndata: ${JSON.stringify(event)}\\n\\n`,\n );\n if (event.type === 'completion') {\n shouldUnsubscribe = true;\n }\n }\n // res.flush() is only available with the compression middleware\n res.flush?.();\n if (shouldUnsubscribe) {\n subscription.unsubscribe();\n res.end();\n }\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', async () => {\n subscription.unsubscribe();\n logger.debug(`Event stream observing taskId '${taskId}' closed`);\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Event stream observing scaffolding task with taskId: ${taskId} was closed by ${actorId}`,\n });\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskStream',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Received error from event stream observing scaffolding task with taskId: ${taskId} requested by ${actorId}`,\n });\n throw err;\n }\n })\n .get('/v2/tasks/:taskId/events', async (req, res) => {\n const { taskId } = req.params;\n const actorId = await auditLogger.getActorId(req);\n try {\n const after = Number(req.query.after) || undefined;\n\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} initiated by ${actorId}`,\n });\n const credentials = await httpAuth.credentials(req);\n await checkPermission({\n credentials,\n permissions: [taskReadPermission],\n permissionService: permissions,\n });\n\n // cancel the request after 30 seconds. this aligns with the recommendations of RFC 6202.\n const timeout = setTimeout(() => {\n res.json([]);\n }, 30_000);\n\n // Get all known events after an id (always includes the completion event) and return the first callback\n const subscription = taskBroker.event$({ taskId, after }).subscribe({\n error: async error => {\n logger.error(\n `Received error from event stream when observing taskId '${taskId}', ${error}`,\n );\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: error.name,\n message: error.message,\n stack: error.stack,\n },\n ],\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed`,\n });\n },\n next: async ({ events }) => {\n clearTimeout(timeout);\n subscription.unsubscribe();\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n taskId,\n },\n request: req,\n response: {\n status: 200,\n body: events,\n },\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} by ${actorId} succeeded`,\n });\n res.json(events);\n },\n });\n\n // When client closes connection we update the clients list\n // avoiding the disconnected one\n req.on('close', () => {\n subscription.unsubscribe();\n clearTimeout(timeout);\n });\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskEventFetch',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n taskId,\n },\n request: req,\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Task events fetch attempt for scaffolding task with taskId: ${taskId} requested by ${actorId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/dry-run', async (req, res) => {\n const actorId = await auditLogger.getActorId(req);\n try {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'initiation',\n status: 'succeeded',\n metadata: {\n isDryRun: true,\n },\n request: req,\n message: `Dry Run scaffolder task initiated by ${actorId}`,\n });\n const credentials = await httpAuth.credentials(req);\n\n await checkPermission({\n credentials,\n permissions: [taskCreatePermission],\n permissionService: permissions,\n });\n const bodySchema = z.object({\n template: z.unknown(),\n values: z.record(z.unknown()),\n secrets: z.record(z.string()).optional(),\n directoryContents: z.array(\n z.object({ path: z.string(), base64Content: z.string() }),\n ),\n });\n const body = await bodySchema.parseAsync(req.body).catch(e => {\n throw new InputError(`Malformed request: ${e}`);\n });\n\n const template = body.template as TemplateEntityV1beta3;\n if (!(await templateEntityV1beta3Validator.check(template))) {\n throw new InputError('Input template is not a template');\n }\n const templateRef: string = `${template.kind}:${\n template.metadata.namespace || 'default'\n }/${template.metadata.name}`;\n\n const { token } = await auth.getPluginRequestToken({\n onBehalfOf: credentials,\n targetPluginId: 'catalog',\n });\n\n const userEntityRef = auth.isPrincipal(credentials, 'user')\n ? credentials.principal.userEntityRef\n : undefined;\n const userEntity = userEntityRef\n ? await catalogClient.getEntityByRef(userEntityRef, { token })\n : undefined;\n for (const parameters of [template.spec.parameters ?? []].flat()) {\n const result = validate(body.values, parameters);\n if (!result.valid) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n metadata: {\n templateRef: templateRef,\n parameters: template.spec.parameters,\n isDryRun: true,\n },\n errors: result.errors,\n request: req,\n response: {\n status: 400,\n body: { errors: result.errors },\n },\n message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} failed`,\n });\n return res.status(400).json({ errors: result.errors });\n }\n }\n\n const steps = template.spec.steps.map((step, index) => ({\n ...step,\n id: step.id ?? `step-${index + 1}`,\n name: step.name ?? step.action,\n }));\n\n const dryRunId = uuid();\n const contentsPath = resolveSafeChildPath(\n workingDirectory,\n `dry-run-content-${dryRunId}`,\n );\n\n const templateInfo = {\n entityRef: stringifyEntityRef(template),\n entity: {\n metadata: template.metadata,\n },\n baseUrl: pathToFileURL(\n resolveSafeChildPath(contentsPath, 'template.yaml'),\n ).toString(),\n };\n\n const result = await dryRunner({\n spec: {\n apiVersion: template.apiVersion,\n steps,\n output: template.spec.output ?? {},\n parameters: body.values as JsonObject,\n user: {\n entity: userEntity as UserEntity,\n ref: userEntityRef,\n },\n },\n templateInfo: templateInfo,\n directoryContents: (body.directoryContents ?? []).map(file => ({\n path: file.path,\n content: Buffer.from(file.base64Content, 'base64'),\n })),\n secrets: {\n ...body.secrets,\n ...(token && { backstageToken: token }),\n },\n credentials,\n });\n\n const dryRunResults = {\n ...result,\n steps,\n directoryContents: result.directoryContents.map(file => ({\n path: file.path,\n executable: file.executable,\n base64Content: file.content.toString('base64'),\n })),\n };\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'completion',\n status: 'succeeded',\n metadata: {\n templateRef: templateRef,\n parameters: template.spec.parameters,\n isDryRun: true,\n },\n request: req,\n response: {\n status: 200,\n body: dryRunResults,\n },\n message: `Dry Run scaffolder task for ${templateRef} initiated by ${actorId} completed successfully`,\n });\n return res.status(200).json(dryRunResults);\n } catch (err) {\n await auditLogger.auditLog({\n eventName: 'ScaffolderTaskDryRun',\n actorId,\n stage: 'completion',\n status: 'failed',\n level: 'error',\n request: req,\n metadata: {\n isDryRun: true,\n },\n errors: [\n {\n name: err.name,\n message: err.message,\n stack: err.stack,\n },\n ],\n message: `Scaffolder Task Dry Run requested by ${actorId} failed`,\n });\n throw err;\n }\n })\n .post('/v2/autocomplete/:provider/:resource', async (req, res) => {\n const { token, context } = req.body;\n const { provider, resource } = req.params;\n\n if (!token) throw new InputError('Missing token query parameter');\n\n if (!autocompleteHandlers[provider]) {\n throw new InputError(`Unsupported provider: ${provider}`);\n }\n\n const { results } = await autocompleteHandlers[provider]({\n resource,\n token,\n context,\n });\n\n res.status(200).json({ results });\n });\n\n const app = express();\n app.set('logger', logger);\n app.use('/', router);\n\n async function authorizeTemplate(\n entityRef: CompoundEntityRef,\n token: string | undefined,\n credentials: BackstageCredentials,\n ) {\n const template = await findTemplate({\n catalogApi: catalogClient,\n entityRef,\n token,\n });\n\n if (!isSupportedTemplate(template)) {\n throw new InputError(\n `Unsupported apiVersion field in schema entity, ${\n (template as Entity).apiVersion\n }`,\n );\n }\n\n if (!permissions) {\n return template;\n }\n\n const [parameterDecision, stepDecision] =\n await permissions.authorizeConditional(\n [\n { permission: templateParameterReadPermission },\n { permission: templateStepReadPermission },\n ],\n { credentials },\n );\n\n // Authorize parameters\n if (Array.isArray(template.spec.parameters)) {\n template.spec.parameters = template.spec.parameters.filter(step =>\n isAuthorized(parameterDecision, step),\n );\n } else if (\n template.spec.parameters &&\n !isAuthorized(parameterDecision, template.spec.parameters)\n ) {\n template.spec.parameters = undefined;\n }\n\n // Authorize steps\n template.spec.steps = template.spec.steps.filter(step =>\n isAuthorized(stepDecision, step),\n );\n\n return template;\n }\n\n return app;\n}\n"],"names":["RESOURCE_TYPE_SCAFFOLDER_TEMPLATE","RESOURCE_TYPE_SCAFFOLDER_ACTION","parseEntityRef","stringifyError","config","readDurationFromConfig","Router","express","HostDiscovery","createLegacyAuthAdapters","DefaultAuditLogger","getWorkingDirectory","ScmIntegrations","DatabaseTaskStore","StorageTaskBroker","Duration","TemplateActionRegistry","TaskWorker","createBuiltinActions","createDryRunner","scaffolderTemplateRules","scaffolderActionRules","createConditionAuthorizer","createPermissionIntegrationRouter","scaffolderTemplatePermissions","scaffolderActionPermissions","scaffolderPermissions","checkPermission","taskCreatePermission","cloneDeep","result","validate","getEntityBaseUrl","stringifyEntityRef","taskReadPermission","parseStringsParam","InputError","parseNumberParam","NotFoundError","taskCancelPermission","z","templateEntityV1beta3Validator","uuid","resolveSafeChildPath","pathToFileURL","findTemplate","templateParameterReadPermission","templateStepReadPermission"],"mappings":"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"} +\ No newline at end of file diff --git a/.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch b/.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch similarity index 88% rename from .yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch rename to .yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch index 995f3e582c..595085d86c 100644 --- a/.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch +++ b/.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch @@ -1,5 +1,5 @@ diff --git a/dist/alpha.d.ts b/dist/alpha.d.ts -index 7b6f3aa434c1cfcec9fc0b65cccace1f30b6542c..ee31d169c695a96328a6520417bbb135854c4e74 100644 +index 12b8ac7e6a5d272651291d9786a493e26e9e93a2..59a1b5fb8a3d0993fb26fde44bd0ff570cbe5b47 100644 --- a/dist/alpha.d.ts +++ b/dist/alpha.d.ts @@ -1,4 +1,3 @@ diff --git a/backstage.json b/backstage.json index 52810e1abb..22366f4a88 100644 --- a/backstage.json +++ b/backstage.json @@ -1,3 +1,3 @@ { - "version": "1.32.6" + "version": "1.34.2" } diff --git a/dynamic-plugins/_utils/package.json b/dynamic-plugins/_utils/package.json index 1cd8acc482..06b66844da 100644 --- a/dynamic-plugins/_utils/package.json +++ b/dynamic-plugins/_utils/package.json @@ -12,7 +12,7 @@ "test:wrappers": "backstage-cli package test --passWithNoTests --coverage" }, "devDependencies": { - "@backstage/cli": "0.28.2", + "@backstage/cli": "0.29.4", "glob": "11.0.1", "yaml": "2.7.0" } diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/package.json index b3e7ece82f..e7f23994bf 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "backstage-community-plugin-3scale-backend", "pluginPackages": [ "backstage-community-plugin-3scale-backend" @@ -41,8 +41,8 @@ "@backstage-community/plugin-3scale-backend": "3.0.3" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json index 4a8ccfe6c8..89b99c2222 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-acr/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "acr", "pluginPackages": [ "backstage-community-plugin-acr" @@ -29,13 +29,13 @@ }, "dependencies": { "@backstage-community/plugin-acr": "1.8.5", - "@backstage/core-plugin-api": "1.10.0", + "@backstage/core-plugin-api": "1.10.2", "@mui/icons-material": "5.16.14", "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-analytics-provider-segment/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-analytics-provider-segment/package.json index f0a2e12426..cec8eed6b3 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-analytics-provider-segment/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-analytics-provider-segment/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "backstage-community-analytics-provider-segment", "pluginPackages": [ "backstage-community-plugin-analytics-provider-segment" @@ -31,8 +31,8 @@ "@backstage-community/plugin-analytics-provider-segment": "1.10.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/package.json index 61f5ed521f..73e0ad1d17 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "azure-devops", "pluginPackage": "backstage-community-plugin-azure-devops-backend", "pluginPackages": [ @@ -43,8 +43,8 @@ "@backstage-community/plugin-azure-devops-backend": "0.8.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/package.json index 39b93f16e9..071d05bf96 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-azure-devops/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "azure-devops", "pluginPackage": "backstage-community-plugin-azure-devops", "pluginPackages": [ @@ -33,8 +33,8 @@ "@backstage-community/plugin-azure-devops": "0.6.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-keycloak-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-keycloak-dynamic/package.json index 8c9481d491..7a8352cc9e 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-keycloak-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-keycloak-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-catalog-backend-module-keycloak": "3.2.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic/package.json index 53ac662c25..06d84bb8ff 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-catalog-backend-module-pingidentity": "0.1.5" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic/package.json index 15e6596c01..3f95c18af6 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-catalog-backend-module-scaffolder-relation-processor": "2.0.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/package.json index 6f4b8d07f4..50ec211a7c 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-dynatrace/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "dynatrace", "pluginPackages": [ "backstage-community-plugin-dynatrace" @@ -31,8 +31,8 @@ "@backstage-community/plugin-dynatrace": "10.0.8" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-github-actions/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-github-actions/package.json index 3f849d3e5b..6804385d67 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-github-actions/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-github-actions/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "github-actions", "pluginPackages": [ "backstage-community-plugin-github-actions" @@ -31,8 +31,8 @@ "@backstage-community/plugin-github-actions": "0.6.24" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-github-issues/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-github-issues/package.json index 4b885a7567..f0aa3523a0 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-github-issues/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-github-issues/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "github-issues", "pluginPackages": [ "backstage-community-plugin-github-issues" @@ -31,8 +31,8 @@ "@backstage-community/plugin-github-issues": "0.4.8" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/package.json index a9c436699e..df69429844 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "jenkins", "pluginPackages": [ "backstage-community-plugin-jenkins", @@ -42,8 +42,8 @@ "@backstage-community/plugin-jenkins-backend": "0.6.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-jenkins/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-jenkins/package.json index 661f1edead..b07ae7ba3e 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-jenkins/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-jenkins/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "jenkins", "pluginPackages": [ "backstage-community-plugin-jenkins", @@ -32,8 +32,8 @@ "@backstage-community/plugin-jenkins": "0.12.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json index 50da45fcbc..5418ff0d4c 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "jfrog-artifactory", "pluginPackage": "backstage-community-plugin-jfrog-artifactory", "pluginPackages": [ @@ -33,8 +33,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json index dd8eb29c49..d20fda77bf 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-lighthouse/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "lighthouse", "pluginPackages": [ "backstage-community-plugin-lighthouse" @@ -32,8 +32,8 @@ "@mui/icons-material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json index 8b36c65bae..579811ded1 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "nexus-repository-manager", "pluginPackages": [ "backstage-community-plugin-nexus-repository-manager" @@ -31,8 +31,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/package.json index c073ffe4c0..b68afe2f51 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "backstage-community-ocm-backend", "pluginPackages": [ "backstage-community-plugin-ocm-backend" @@ -41,8 +41,8 @@ "@backstage-community/plugin-ocm-backend": "5.2.3" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json index dce1b1b51b..aa69009330 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-ocm/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "backstage-community-plugin-ocm", "pluginPackages": [ "backstage-community-plugin-ocm" @@ -32,8 +32,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json index 0e26d84eb1..1130a6ea00 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-quay/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "backstage-community-quay", "pluginPackage": "backstage-community-quay", "pluginPackages": [ @@ -33,8 +33,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json index 2c747975e7..f462235c75 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-rbac/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "rbac", "pluginPackages": [ "backstage-community-plugin-rbac" @@ -32,8 +32,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json index c4ec6c8e90..6e340762b2 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "redhat-argocd", "pluginPackages": [ "backstage-community-plugin-redhat-argocd" @@ -43,8 +43,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic/package.json index 35b497b3ae..3b30fbed2a 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-scaffolder-backend-module-kubernetes": "2.2.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/package.json index 423cfac637..02e47e33b4 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-scaffolder-backend-module-quay": "2.2.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-regex-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-regex-dynamic/package.json index 068cc612d4..67158ad754 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-regex-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-regex-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-scaffolder-backend-module-regex": "2.2.3" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/package.json index 94c22c43e9..9c5dc7343b 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -59,8 +59,8 @@ "lifecycle:active" ], "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" } } diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/package.json index 148fedf59f..10e553a683 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@backstage-community/plugin-scaffolder-backend-module-sonarqube": "2.2.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/package.json index 62a217ae07..8769938326 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "sonarqube", "pluginPackages": [ "backstage-community-plugin-sonarqube", @@ -42,8 +42,8 @@ "@backstage-community/plugin-sonarqube-backend": "0.3.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/package.json index b25d4a7708..3011b1d3b1 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-sonarqube/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "sonarqube", "pluginPackages": [ "backstage-community-plugin-sonarqube", @@ -32,8 +32,8 @@ "@backstage-community/plugin-sonarqube": "0.8.7" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar-backend-dynamic/package.json index f56671fd4b..700b7cfaee 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar-backend-dynamic/package.json @@ -14,7 +14,7 @@ "backstage-community-plugin-tech-radar", "backstage-community-plugin-tech-radar-backend" ], - "supported-versions": "1.32.6" + "supported-versions": "1.34.2" }, "exports": { ".": "./src/index.ts", @@ -42,8 +42,8 @@ "@backstage-community/plugin-tech-radar-backend": "1.0.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json index 7b116b6a8a..81d932d357 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-tech-radar/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "tech-radar", "pluginPackages": [ "backstage-community-plugin-tech-radar", @@ -31,12 +31,12 @@ "dependencies": { "@backstage-community/plugin-tech-radar": "1.0.0", "@backstage-community/plugin-tech-radar-common": "1.0.0", - "@backstage/core-plugin-api": "1.10.0", + "@backstage/core-plugin-api": "1.10.2", "@mui/icons-material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json index 3da8b4e40e..0c30f61315 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-tekton/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "tekton", "pluginPackages": [ "backstage-community-plugin-tekton" @@ -32,8 +32,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json b/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json index 9986402782..34418c8a08 100644 --- a/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json +++ b/dynamic-plugins/wrappers/backstage-community-plugin-topology/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "topology", "pluginPackages": [ "backstage-community-plugin-topology" @@ -43,8 +43,8 @@ "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/package.json index 359aaf0822..598e1e72ff 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-bitbucket-cloud", - "version": "0.4.1", + "version": "0.4.3", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.4.1" + "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.4.3" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/package.json index 5e15a57568..b38050565b 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-bitbucket-server", - "version": "0.2.3", + "version": "0.3.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.2.3" + "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.3.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-dynamic/package.json index 4ad4e2472b..ab93a0f704 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-github", - "version": "0.7.6", + "version": "0.7.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-github": "0.7.6" + "@backstage/plugin-catalog-backend-module-github": "0.7.8" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-org-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-org-dynamic/package.json index 12666e0037..53009d5565 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-org-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-org-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-github-org", - "version": "0.3.3", + "version": "0.3.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-github": "0.7.6", - "@backstage/plugin-catalog-backend-module-github-org": "0.3.3" + "@backstage/plugin-catalog-backend-module-github": "0.7.8", + "@backstage/plugin-catalog-backend-module-github-org": "0.3.5" }, "devDependencies": { - "@janus-idp/cli": "1.18.5", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-dynamic/package.json index cf19ee2128..9b7dad85f4 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-gitlab", - "version": "0.4.4", + "version": "0.6.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-gitlab": "0.4.4" + "@backstage/plugin-catalog-backend-module-gitlab": "0.6.1" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-org-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-org-dynamic/package.json index 7fafd6f0be..c899212974 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-org-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-org-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-gitlab-org", - "version": "0.2.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -32,16 +32,16 @@ "test": "backstage-cli package test --passWithNoTests --coverage", "clean": "backstage-cli package clean", "clean-dynamic-sources": "yarn clean && rm -Rf node_modules", - "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @backstage/plugin-catalog-backend-module-gitlab-org --embed-package @backstage/plugin-catalog-backend-module-gitlab", + "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @backstage/plugin-catalog-backend-module-gitlab-org --embed-package @backstage/plugin-catalog-backend-module-gitlab --ignore-version-check @backstage/backend-defaults", "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-gitlab": "0.4.4", - "@backstage/plugin-catalog-backend-module-gitlab-org": "0.2.2" + "@backstage/plugin-catalog-backend-module-gitlab": "0.6.1", + "@backstage/plugin-catalog-backend-module-gitlab-org": "0.2.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-ldap-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-ldap-dynamic/package.json index 07cbf5b75f..e57d5a18d1 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-ldap-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-ldap-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-ldap", - "version": "0.9.1", + "version": "0.11.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-ldap": "0.9.1" + "@backstage/plugin-catalog-backend-module-ldap": "0.11.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-msgraph-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-msgraph-dynamic/package.json index 929b6c0583..1a7dc6554a 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-msgraph-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-msgraph-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-catalog-backend-module-msgraph", - "version": "0.6.3", + "version": "0.6.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "catalog", "pluginPackage": "@backstage/plugin-catalog-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-catalog-backend-module-msgraph": "0.6.3" + "@backstage/plugin-catalog-backend-module-msgraph": "0.6.5" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json index 6ba8024b1e..9603479147 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-kubernetes-backend", - "version": "0.18.7", + "version": "0.19.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "kubernetes", "pluginPackages": [ "backstage-plugin-kubernetes", @@ -39,11 +39,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-kubernetes-backend": "0.18.7" + "@backstage/plugin-kubernetes-backend": "0.19.1" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json b/dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json index 0c80e21f86..0de0b8e8ad 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-kubernetes/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-kubernetes", - "version": "0.11.16", + "version": "0.12.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "kubernetes", "pluginPackages": [ "backstage-plugin-kubernetes", @@ -29,12 +29,12 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/core-plugin-api": "1.10.0", - "@backstage/plugin-kubernetes": "0.11.16" + "@backstage/core-plugin-api": "1.10.2", + "@backstage/plugin-kubernetes": "0.12.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json index 947e70694a..034c7593bf 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-notifications-backend", - "version": "0.4.2", + "version": "0.5.0", "main": "./dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -11,7 +11,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "notifications", "pluginPackages": [ "backstage-plugin-notifications", @@ -40,12 +40,12 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-notifications-backend": "0.4.2", - "@backstage/plugin-signals-node": "0.1.13" + "@backstage/plugin-notifications-backend": "0.5.0", + "@backstage/plugin-signals-node": "0.1.15" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json index afb0a8e8a7..82c0b79aa3 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-notifications-backend-module-email", - "version": "0.3.2", + "version": "0.3.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -9,7 +9,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "notifications", "pluginPackage": "@backstage/plugin-notifications-backend" }, @@ -35,11 +35,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-notifications-backend-module-email": "0.3.2" + "@backstage/plugin-notifications-backend-module-email": "0.3.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json b/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json index 4bc000a862..2e1f6d1f09 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-notifications", - "version": "0.3.2", + "version": "0.5.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "notifications", "pluginPackages": [ "backstage-plugin-notifications", @@ -29,12 +29,12 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-notifications": "0.3.2", + "@backstage/plugin-notifications": "0.5.0", "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json index 564c3ce341..bdbe858d71 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-scaffolder-backend-module-azure", - "version": "0.2.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-scaffolder-backend-module-azure": "0.2.2" + "@backstage/plugin-scaffolder-backend-module-azure": "0.2.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/package.json index a746019a41..588ea41fad 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-scaffolder-backend-module-bitbucket-cloud", - "version": "0.2.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.2.2" + "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.2.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/package.json index bbe11cc76a..05073f3267 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-scaffolder-backend-module-bitbucket-server", - "version": "0.2.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.2.2" + "@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.2.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/package.json index 0a23b9d494..c17384eb64 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-scaffolder-backend-module-gerrit", - "version": "0.2.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-scaffolder-backend-module-gerrit": "0.2.2" + "@backstage/plugin-scaffolder-backend-module-gerrit": "0.2.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json index 6104389b69..8e77dc3fec 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-scaffolder-backend-module-github", - "version": "0.5.2", + "version": "0.5.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-scaffolder-backend-module-github": "0.5.2" + "@backstage/plugin-scaffolder-backend-module-github": "0.5.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json index d669dc7c97..d99f94cc0b 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-scaffolder-backend-module-gitlab", - "version": "0.6.1", + "version": "0.7.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -36,11 +36,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-scaffolder-backend-module-gitlab": "0.6.1" + "@backstage/plugin-scaffolder-backend-module-gitlab": "0.7.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json index cb852bf20d..4dcd3a1705 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-signals-backend", - "version": "0.2.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -9,7 +9,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "signals", "pluginPackages": [ "backstage-plugin-signals", @@ -38,11 +38,11 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-signals-backend": "0.2.2" + "@backstage/plugin-signals-backend": "0.2.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-signals/package.json b/dynamic-plugins/wrappers/backstage-plugin-signals/package.json index cb7c4490f9..20b6213c12 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-signals/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-signals/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-signals", - "version": "0.0.11", + "version": "0.0.14", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "signals", "pluginPackages": [ "backstage-plugin-signals", @@ -29,12 +29,12 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/plugin-signals": "0.0.11", + "@backstage/plugin-signals": "0.0.14", "@mui/material": "5.16.14" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json b/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json index 6f510c18ae..c48e518fb9 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-techdocs-backend", - "version": "1.11.1", + "version": "1.11.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "techdocs", "pluginPackages": [ "backstage-plugin-techdocs", @@ -35,17 +35,17 @@ "test": "backstage-cli package test --passWithNoTests --coverage", "clean": "backstage-cli package clean", "clean-dynamic-sources": "yarn clean && rm -Rf node_modules", - "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @backstage/plugin-techdocs-backend --embed-package @backstage/plugin-search-backend-module-techdocs --suppress-native-package cpu-features", + "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @backstage/plugin-techdocs-backend --embed-package @backstage/plugin-search-backend-module-techdocs --suppress-native-package cpu-features --ignore-version-check @backstage/backend-plugin-api", "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/backend-plugin-api": "1.0.1", - "@backstage/plugin-search-backend-module-techdocs": "0.3.1", - "@backstage/plugin-techdocs-backend": "1.11.1" + "@backstage/backend-plugin-api": "1.1.0", + "@backstage/plugin-search-backend-module-techdocs": "0.3.4", + "@backstage/plugin-techdocs-backend": "1.11.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json b/dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json index d2852ae7d7..5ec2077f10 100644 --- a/dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json +++ b/dynamic-plugins/wrappers/backstage-plugin-techdocs/package.json @@ -1,6 +1,6 @@ { "name": "backstage-plugin-techdocs", - "version": "1.11.0", + "version": "1.12.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "techdocs", "pluginPackages": [ "backstage-plugin-techdocs", @@ -29,12 +29,12 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/core-plugin-api": "1.10.0", - "@backstage/plugin-catalog-react": "1.14.0", - "@backstage/plugin-search-react": "1.8.1", - "@backstage/plugin-techdocs": "1.11.0", - "@backstage/plugin-techdocs-module-addons-contrib": "1.1.16", - "@backstage/plugin-techdocs-react": "1.2.9", + "@backstage/core-plugin-api": "1.10.2", + "@backstage/plugin-catalog-react": "1.15.0", + "@backstage/plugin-search-react": "1.8.4", + "@backstage/plugin-techdocs": "1.12.0", + "@backstage/plugin-techdocs-module-addons-contrib": "1.1.19", + "@backstage/plugin-techdocs-react": "1.2.12", "@material-ui/core": "4.12.4", "jss": "10.10.0" }, @@ -42,8 +42,8 @@ "react": "16.13.1 || ^17.0.0 || ^18.0.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "react": "18.3.1", "typescript": "5.7.3" }, diff --git a/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/package.json b/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/package.json index 878e066cd6..7119fd4e52 100644 --- a/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "immobiliarelabs-gitlab", "pluginPackages": [ "immobiliarelabs-backstage-plugin-gitlab", @@ -39,12 +39,12 @@ "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { - "@backstage/backend-plugin-api": "1.0.1", + "@backstage/backend-plugin-api": "1.1.0", "@immobiliarelabs/backstage-plugin-gitlab-backend": "6.7.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/package.json b/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/package.json index f45269fc20..28f7bfefd3 100644 --- a/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/package.json +++ b/dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "immobiliarelabs-gitlab", "pluginPackages": [ "immobiliarelabs-backstage-plugin-gitlab", @@ -32,8 +32,8 @@ "@immobiliarelabs/backstage-plugin-gitlab": "6.6.1" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/janus-idp-backstage-plugin-aap-backend-dynamic/package.json b/dynamic-plugins/wrappers/janus-idp-backstage-plugin-aap-backend-dynamic/package.json index 9d93ddebf5..3fb46e7d3a 100644 --- a/dynamic-plugins/wrappers/janus-idp-backstage-plugin-aap-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/janus-idp-backstage-plugin-aap-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "janus-idp-aap-backend", "pluginPackages": [ "janus-idp-backstage-plugin-aap-backend" @@ -41,8 +41,8 @@ "@janus-idp/backstage-plugin-aap-backend": "2.2.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json b/dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json index 1e29e881ce..08196c7b4a 100644 --- a/dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "pagerduty", "pluginPackages": [ "pagerduty-backstage-plugin", @@ -42,8 +42,8 @@ "@pagerduty/backstage-plugin-backend": "0.9.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json b/dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json index cb3102f7db..7d93ab0fff 100644 --- a/dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json +++ b/dynamic-plugins/wrappers/pagerduty-backstage-plugin/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "pagerduty", "pluginPackages": [ "pagerduty-backstage-plugin", @@ -32,8 +32,8 @@ "@pagerduty/backstage-plugin": "0.15.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json b/dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json index f5369008d5..594497e2c1 100644 --- a/dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json +++ b/dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@parfuemerie-douglas/scaffolder-backend-module-azure-repositories": "0.3.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json index 8e0e375a38..7a201c9592 100644 --- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "red-hat-developer-hub-backstage-plugin-bulk-import-backend", "pluginPackages": [ "red-hat-developer-hub-backstage-plugin-bulk-import", @@ -42,8 +42,8 @@ "@red-hat-developer-hub/backstage-plugin-bulk-import-backend": "5.2.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json index 9069a77f86..5d0082299b 100644 --- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json +++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "red-hat-developer-hub-backstage-plugin-bulk-import-backend", "pluginPackages": [ "red-hat-developer-hub-backstage-plugin-bulk-import", @@ -33,8 +33,8 @@ "@red-hat-developer-hub/backstage-plugin-bulk-import": "1.10.3" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json index d2d684d1bd..42041f11f0 100644 --- a/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json +++ b/dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "red-hat-developer-hub-backstage-plugin-dynamic-home-page", "pluginPackages": [ "red-hat-developer-hub-backstage-plugin-dynamic-home-page" @@ -32,8 +32,8 @@ "@red-hat-developer-hub/backstage-plugin-dynamic-home-page": "1.0.1" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/package.json index 330ef8f110..5846d7a65f 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-argo-cd", "pluginPackages": [ "roadiehq-backstage-plugin-argo-cd", @@ -35,15 +35,15 @@ "test": "backstage-cli package test --passWithNoTests --coverage", "clean": "backstage-cli package clean", "clean-dynamic-sources": "yarn clean && rm -Rf node_modules", - "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @roadiehq/backstage-plugin-argo-cd-backend", + "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @roadiehq/backstage-plugin-argo-cd-backend --ignore-version-check @backstage/backend-common", "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { "@roadiehq/backstage-plugin-argo-cd-backend": "3.2.3" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd/package.json index cbd083c2e7..29cd58be0a 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-argo-cd", "pluginPackages": [ "roadiehq-backstage-plugin-argo-cd", @@ -32,8 +32,8 @@ "@roadiehq/backstage-plugin-argo-cd": "2.8.4" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/package.json index 32e0839c4c..4caa7589a6 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-datadog", "pluginPackages": [ "roadiehq-backstage-plugin-datadog" @@ -31,8 +31,8 @@ "@roadiehq/backstage-plugin-datadog": "2.4.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/package.json index f5472c1e8e..7acacb0ebe 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-github-insights", "pluginPackages": [ "roadiehq-backstage-plugin-github-insights" @@ -31,8 +31,8 @@ "@roadiehq/backstage-plugin-github-insights": "2.5.1" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/package.json index 61b0f6c1ff..728f69c4ff 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-github-pull-requests", "pluginPackages": [ "roadiehq-backstage-plugin-github-pull-requests" @@ -31,8 +31,8 @@ "@roadiehq/backstage-plugin-github-pull-requests": "2.6.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/package.json index ce5c243c27..e3240bbf0f 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-jira", "pluginPackages": [ "roadiehq-backstage-plugin-jira" @@ -31,8 +31,8 @@ "@roadiehq/backstage-plugin-jira": "2.8.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/package.json b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/package.json index 83c162524e..be848ff1d9 100644 --- a/dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/package.json +++ b/dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights/package.json @@ -11,7 +11,7 @@ }, "backstage": { "role": "frontend-plugin", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "roadiehq-security-insights", "pluginPackages": [ "roadiehq-backstage-plugin-security-insights" @@ -31,8 +31,8 @@ "@roadiehq/backstage-plugin-security-insights": "2.4.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/package.json b/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/package.json index 4528963a8e..f31e0c5f9f 100644 --- a/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/package.json +++ b/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -32,15 +32,15 @@ "test": "backstage-cli package test --passWithNoTests --coverage", "clean": "backstage-cli package clean", "clean-dynamic-sources": "yarn clean && rm -Rf node_modules", - "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @roadiehq/scaffolder-backend-argocd --embed-package @roadiehq/backstage-plugin-argo-cd-backend", + "export-dynamic": "janus-cli package export-dynamic-plugin --embed-package @roadiehq/scaffolder-backend-argocd --embed-package @roadiehq/backstage-plugin-argo-cd-backend --ignore-version-check @backstage/backend-common --ignore-version-check @backstage/backend-plugin-api", "export-dynamic:clean": "run export-dynamic --clean" }, "dependencies": { "@roadiehq/scaffolder-backend-argocd": "1.2.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-http-request-dynamic/package.json b/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-http-request-dynamic/package.json index fb4be4e268..9a91512f5f 100644 --- a/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-http-request-dynamic/package.json +++ b/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-http-request-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@roadiehq/scaffolder-backend-module-http-request": "5.0.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/package.json b/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/package.json index c0013fb1bb..05b00bf550 100644 --- a/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/package.json +++ b/dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic/package.json @@ -10,7 +10,7 @@ }, "backstage": { "role": "backend-plugin-module", - "supported-versions": "1.32.6", + "supported-versions": "1.34.2", "pluginId": "scaffolder", "pluginPackage": "@backstage/plugin-scaffolder-backend" }, @@ -39,8 +39,8 @@ "@roadiehq/scaffolder-backend-module-utils": "3.0.0" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@janus-idp/cli": "3.0.0", "typescript": "5.7.3" }, "files": [ diff --git a/package.json b/package.json index 4919a8a5c6..baf82b2cb3 100644 --- a/package.json +++ b/package.json @@ -40,10 +40,9 @@ ] }, "devDependencies": { - "@backstage/cli": "0.28.2", + "@backstage/cli": "0.29.4", "@ianvs/prettier-plugin-sort-imports": "4.4.1", "@manypkg/cli": "0.23.0", - "@spotify/prettier-config": "15.0.0", "glob": "11.0.1", "husky": "8.0.3", "lint-staged": "15.4.1", @@ -55,20 +54,20 @@ "resolutions": { "@types/react": "18.3.18", "@types/react-dom": "18.3.5", - "@backstage/backend-dynamic-feature-service@0.4.4": "patch:@backstage/backend-dynamic-feature-service@npm%3A0.4.4#./.yarn/patches/@backstage-backend-dynamic-feature-service-npm-0.4.4.patch", - "@backstage/plugin-auth-backend-module-oidc-provider@0.3.1": "patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.1#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch", - "@backstage/plugin-auth-backend-module-oidc-provider@^0.3.1": "patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.1#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch", - "@backstage/plugin-catalog-backend@^1.27.1": "patch:@backstage/plugin-catalog-backend@npm%3A1.27.1#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch", - "@backstage/plugin-catalog-backend@1.27.1": "patch:@backstage/plugin-catalog-backend@npm%3A1.27.1#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch", - "@backstage/plugin-scaffolder-backend@^1.24.0": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.26.2#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch", - "@backstage/plugin-scaffolder-backend@^1.22.6": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.26.2#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch", - "@backstage/plugin-scaffolder-backend@1.26.2": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.26.2#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch", - "@backstage/plugin-scaffolder-node@^0.5.0": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch", - "@backstage/plugin-scaffolder-node@^0.4.9": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch", - "@backstage/plugin-scaffolder-node@^0.2.9": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch", - "@backstage/plugin-scaffolder-node@^0.4.8": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch", - "@backstage/plugin-scaffolder-node@^0.6.0": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch", - "@backstage/plugin-scaffolder-node@^0.5.1": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch" + "@backstage/plugin-scaffolder-node@^0.5.0": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch", + "@backstage/plugin-scaffolder-node@^0.6.2": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch", + "@backstage/plugin-scaffolder-node@^0.4.9": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch", + "@backstage/plugin-scaffolder-node@^0.2.9": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch", + "@backstage/plugin-scaffolder-node@^0.4.8": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch", + "@backstage/plugin-scaffolder-node@^0.6.1": "patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch", + "@backstage/plugin-auth-backend-module-oidc-provider@0.3.3": "patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.3#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch", + "@backstage/plugin-auth-backend-module-oidc-provider@^0.3.3": "patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.3#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch", + "@backstage/plugin-catalog-backend@^1.29.0": "patch:@backstage/plugin-catalog-backend@npm%3A1.29.0#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch", + "@backstage/plugin-catalog-backend@1.29.0": "patch:@backstage/plugin-catalog-backend@npm%3A1.29.0#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch", + "@backstage/plugin-scaffolder-backend@^1.24.0": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.28.0#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch", + "@backstage/plugin-scaffolder-backend@^1.26.1": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.28.0#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch", + "@backstage/plugin-scaffolder-backend@^1.22.6": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.28.0#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch", + "@backstage/plugin-scaffolder-backend@1.28.0": "patch:@backstage/plugin-scaffolder-backend@npm%3A1.28.0#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch" }, "jest": { "testTimeout": 20000 diff --git a/packages/app/.prettierrc.js b/packages/app/.prettierrc.js index 84cbac65b5..83c5a44066 100644 --- a/packages/app/.prettierrc.js +++ b/packages/app/.prettierrc.js @@ -2,7 +2,7 @@ /** @type {import("@ianvs/prettier-plugin-sort-imports").PrettierConfig} */ module.exports = { - ...require('@spotify/prettier-config'), + ...require('@backstage/cli/config/prettier.json'), plugins: ['@ianvs/prettier-plugin-sort-imports'], importOrder: [ '^react(.*)$', diff --git a/packages/app/package.json b/packages/app/package.json index 15515fb563..bb3eb41cfe 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -18,26 +18,26 @@ "prettier:fix": "prettier --ignore-unknown --write ." }, "dependencies": { - "@backstage/app-defaults": "1.5.12", - "@backstage/catalog-model": "1.7.0", - "@backstage/config": "1.2.0", - "@backstage/core-app-api": "1.15.1", - "@backstage/core-components": "0.15.1", - "@backstage/core-plugin-api": "1.10.0", - "@backstage/integration-react": "1.2.0", - "@backstage/plugin-api-docs": "0.11.11", - "@backstage/plugin-catalog": "1.24.0", - "@backstage/plugin-catalog-common": "1.1.0", - "@backstage/plugin-catalog-graph": "0.4.11", - "@backstage/plugin-catalog-import": "0.12.5", - "@backstage/plugin-org": "0.6.31", - "@backstage/plugin-permission-react": "0.4.27", - "@backstage/plugin-scaffolder": "1.26.2", - "@backstage/plugin-scaffolder-react": "1.13.2", - "@backstage/plugin-search": "1.4.18", - "@backstage/plugin-search-react": "1.8.1", - "@backstage/plugin-user-settings": "0.8.14", - "@backstage/theme": "0.6.0", + "@backstage/app-defaults": "1.5.15", + "@backstage/catalog-model": "1.7.2", + "@backstage/config": "1.3.1", + "@backstage/core-app-api": "1.15.3", + "@backstage/core-components": "0.16.2", + "@backstage/core-plugin-api": "1.10.2", + "@backstage/integration-react": "1.2.2", + "@backstage/plugin-api-docs": "0.12.2", + "@backstage/plugin-catalog": "1.26.0", + "@backstage/plugin-catalog-common": "1.1.2", + "@backstage/plugin-catalog-graph": "0.4.14", + "@backstage/plugin-catalog-import": "0.12.8", + "@backstage/plugin-org": "0.6.34", + "@backstage/plugin-permission-react": "0.4.29", + "@backstage/plugin-scaffolder": "1.27.3", + "@backstage/plugin-scaffolder-react": "1.14.2", + "@backstage/plugin-search": "1.4.21", + "@backstage/plugin-search-react": "1.8.4", + "@backstage/plugin-user-settings": "0.8.17", + "@backstage/theme": "0.6.3", "@emotion/react": "11.14.0", "@emotion/styled": "11.14.0", "@internal/plugin-dynamic-plugins-info": "*", @@ -56,9 +56,9 @@ "tss-react": "4.9.13" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@backstage/test-utils": "1.7.0", - "@janus-idp/cli": "1.18.5", + "@backstage/cli": "0.29.4", + "@backstage/test-utils": "1.7.3", + "@janus-idp/cli": "3.0.0", "@scalprum/react-test-utils": "0.2.4", "@testing-library/dom": "9.3.4", "@testing-library/jest-dom": "6.6.3", diff --git a/packages/app/src/build-metadata.json b/packages/app/src/build-metadata.json index b3485ccd37..423baa2b7d 100644 --- a/packages/app/src/build-metadata.json +++ b/packages/app/src/build-metadata.json @@ -2,7 +2,7 @@ "title": "RHDH Metadata", "card": [ "RHDH Version: 1.5.0", - "Backstage Version: 1.32.6", - "Last Commit: repo @ 2024-12-03T23:24:09Z" + "Backstage Version: 1.34.2", + "Last Commit: repo @ 2025-01-06T18:17:22Z" ] } \ No newline at end of file diff --git a/packages/backend/.prettierrc.js b/packages/backend/.prettierrc.js index 84cbac65b5..83c5a44066 100644 --- a/packages/backend/.prettierrc.js +++ b/packages/backend/.prettierrc.js @@ -2,7 +2,7 @@ /** @type {import("@ianvs/prettier-plugin-sort-imports").PrettierConfig} */ module.exports = { - ...require('@spotify/prettier-config'), + ...require('@backstage/cli/config/prettier.json'), plugins: ['@ianvs/prettier-plugin-sort-imports'], importOrder: [ '^react(.*)$', diff --git a/packages/backend/package.json b/packages/backend/package.json index a5e4a3232a..4361318528 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -23,30 +23,30 @@ "@backstage-community/plugin-rbac-backend": "5.2.6", "@backstage-community/plugin-rbac-node": "1.8.2", "@backstage-community/plugin-scaffolder-backend-module-annotator": "2.2.2", - "@backstage/backend-app-api": "1.0.1", - "@backstage/backend-defaults": "0.5.2", - "@backstage/backend-dynamic-feature-service": "0.4.4", - "@backstage/backend-plugin-api": "1.0.1", - "@backstage/catalog-model": "1.7.0", - "@backstage/cli-node": "0.2.9", - "@backstage/config": "1.2.0", - "@backstage/config-loader": "1.9.1", - "@backstage/plugin-app-backend": "0.3.76", - "@backstage/plugin-auth-backend": "0.23.1", - "@backstage/plugin-auth-backend-module-guest-provider": "0.2.1", - "@backstage/plugin-auth-backend-module-oidc-provider": "0.3.1", - "@backstage/plugin-auth-node": "0.5.3", - "@backstage/plugin-catalog-backend": "1.27.1", - "@backstage/plugin-catalog-backend-module-logs": "0.1.3", - "@backstage/plugin-catalog-backend-module-openapi": "0.2.3", - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.2.1", - "@backstage/plugin-events-backend": "0.3.15", - "@backstage/plugin-events-node": "0.4.4", - "@backstage/plugin-proxy-backend": "0.5.7", - "@backstage/plugin-scaffolder-backend": "1.26.3", - "@backstage/plugin-search-backend": "1.6.1", - "@backstage/plugin-search-backend-module-catalog": "0.2.4", - "@backstage/plugin-search-backend-module-pg": "0.5.37", + "@backstage/backend-app-api": "1.1.0", + "@backstage/backend-defaults": "0.6.2", + "@backstage/backend-dynamic-feature-service": "0.5.2", + "@backstage/backend-plugin-api": "1.1.0", + "@backstage/catalog-model": "1.7.2", + "@backstage/cli-node": "0.2.11", + "@backstage/config": "1.3.1", + "@backstage/config-loader": "1.9.4", + "@backstage/plugin-app-backend": "0.4.3", + "@backstage/plugin-auth-backend": "0.24.1", + "@backstage/plugin-auth-backend-module-guest-provider": "0.2.3", + "@backstage/plugin-auth-backend-module-oidc-provider": "0.3.3", + "@backstage/plugin-auth-node": "0.5.5", + "@backstage/plugin-catalog-backend": "1.29.0", + "@backstage/plugin-catalog-backend-module-logs": "0.1.5", + "@backstage/plugin-catalog-backend-module-openapi": "0.2.5", + "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.2.3", + "@backstage/plugin-events-backend": "0.4.0", + "@backstage/plugin-events-node": "0.4.6", + "@backstage/plugin-proxy-backend": "0.5.9", + "@backstage/plugin-scaffolder-backend": "1.28.0", + "@backstage/plugin-search-backend": "1.8.0", + "@backstage/plugin-search-backend-module-catalog": "0.2.6", + "@backstage/plugin-search-backend-module-pg": "0.5.39", "@internal/plugin-dynamic-plugins-info-backend": "*", "@internal/plugin-licensed-users-info-backend": "*", "@internal/plugin-scalprum-backend": "*", @@ -64,7 +64,7 @@ "winston": "3.14.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", + "@backstage/cli": "0.29.4", "@types/express": "4.17.21", "@types/global-agent": "2.1.3", "prettier": "3.4.2" diff --git a/packages/backend/src/logger/customLogger.ts b/packages/backend/src/logger/customLogger.ts index 31365fee6d..7df449746a 100644 --- a/packages/backend/src/logger/customLogger.ts +++ b/packages/backend/src/logger/customLogger.ts @@ -14,13 +14,15 @@ const defaultFormat = winston.format.combine( const auditLogFormat = winston.format((info, opts) => { const { isAuditLog, ...newInfo } = info; + const options = opts as { isAuditLog: boolean }; + if (isAuditLog) { // keep `isAuditLog` field - return opts.isAuditLog ? info : false; + return options.isAuditLog ? info : false; } // remove `isAuditLog` field from non audit log events - return !opts.isAuditLog ? newInfo : false; + return !options.isAuditLog ? newInfo : false; }); const auditLogWinstonFormat = winston.format.combine( diff --git a/plugins/dynamic-plugins-info-backend/.prettierrc.js b/plugins/dynamic-plugins-info-backend/.prettierrc.js index 84cbac65b5..83c5a44066 100644 --- a/plugins/dynamic-plugins-info-backend/.prettierrc.js +++ b/plugins/dynamic-plugins-info-backend/.prettierrc.js @@ -2,7 +2,7 @@ /** @type {import("@ianvs/prettier-plugin-sort-imports").PrettierConfig} */ module.exports = { - ...require('@spotify/prettier-config'), + ...require('@backstage/cli/config/prettier.json'), plugins: ['@ianvs/prettier-plugin-sort-imports'], importOrder: [ '^react(.*)$', diff --git a/plugins/dynamic-plugins-info-backend/package.json b/plugins/dynamic-plugins-info-backend/package.json index 7a7d813ebb..1d77fac847 100644 --- a/plugins/dynamic-plugins-info-backend/package.json +++ b/plugins/dynamic-plugins-info-backend/package.json @@ -32,17 +32,17 @@ "prettier:fix": "prettier --ignore-unknown --write ." }, "dependencies": { - "@backstage/backend-defaults": "0.5.2", - "@backstage/backend-dynamic-feature-service": "0.4.4", - "@backstage/backend-plugin-api": "1.0.1", - "@backstage/config": "1.2.0", + "@backstage/backend-defaults": "0.6.2", + "@backstage/backend-dynamic-feature-service": "0.5.2", + "@backstage/backend-plugin-api": "1.1.0", + "@backstage/config": "1.3.1", "express": "4.21.2", "node-fetch": "2.7.0", "winston": "3.14.2" }, "devDependencies": { - "@backstage/backend-test-utils": "1.0.2", - "@backstage/cli": "0.28.2", + "@backstage/backend-test-utils": "1.2.0", + "@backstage/cli": "0.29.4", "@types/express": "4.17.21", "@types/supertest": "6.0.2", "msw": "1.3.5", diff --git a/plugins/dynamic-plugins-info/.prettierrc.js b/plugins/dynamic-plugins-info/.prettierrc.js index 84cbac65b5..83c5a44066 100644 --- a/plugins/dynamic-plugins-info/.prettierrc.js +++ b/plugins/dynamic-plugins-info/.prettierrc.js @@ -2,7 +2,7 @@ /** @type {import("@ianvs/prettier-plugin-sort-imports").PrettierConfig} */ module.exports = { - ...require('@spotify/prettier-config'), + ...require('@backstage/cli/config/prettier.json'), plugins: ['@ianvs/prettier-plugin-sort-imports'], importOrder: [ '^react(.*)$', diff --git a/plugins/dynamic-plugins-info/package.json b/plugins/dynamic-plugins-info/package.json index 91e386c8ec..d01f0451b0 100644 --- a/plugins/dynamic-plugins-info/package.json +++ b/plugins/dynamic-plugins-info/package.json @@ -33,9 +33,9 @@ "prettier:fix": "prettier --ignore-unknown --write ." }, "dependencies": { - "@backstage/core-components": "0.15.1", - "@backstage/core-plugin-api": "1.10.0", - "@backstage/theme": "0.6.0", + "@backstage/core-components": "0.16.2", + "@backstage/core-plugin-api": "1.10.2", + "@backstage/theme": "0.6.3", "@material-table/core": "3.2.5", "@mui/icons-material": "5.16.14", "@mui/material": "5.16.14", @@ -46,10 +46,10 @@ "react-router-dom": "6.26.2" }, "devDependencies": { - "@backstage/cli": "0.28.2", - "@backstage/core-app-api": "1.15.1", - "@backstage/dev-utils": "1.1.2", - "@backstage/test-utils": "1.7.0", + "@backstage/cli": "0.29.4", + "@backstage/core-app-api": "1.15.3", + "@backstage/dev-utils": "1.1.5", + "@backstage/test-utils": "1.7.3", "@testing-library/jest-dom": "6.6.3", "@testing-library/react": "14.3.1", "@testing-library/user-event": "14.6.0", diff --git a/plugins/licensed-users-info-backend/.prettierrc.js b/plugins/licensed-users-info-backend/.prettierrc.js index 84cbac65b5..83c5a44066 100644 --- a/plugins/licensed-users-info-backend/.prettierrc.js +++ b/plugins/licensed-users-info-backend/.prettierrc.js @@ -2,7 +2,7 @@ /** @type {import("@ianvs/prettier-plugin-sort-imports").PrettierConfig} */ module.exports = { - ...require('@spotify/prettier-config'), + ...require('@backstage/cli/config/prettier.json'), plugins: ['@ianvs/prettier-plugin-sort-imports'], importOrder: [ '^react(.*)$', diff --git a/plugins/licensed-users-info-backend/package.json b/plugins/licensed-users-info-backend/package.json index d252a6dc9b..0a091b1295 100644 --- a/plugins/licensed-users-info-backend/package.json +++ b/plugins/licensed-users-info-backend/package.json @@ -32,15 +32,15 @@ }, "dependencies": { "@backstage-community/plugin-rbac-common": "1.12.3", - "@backstage/backend-defaults": "0.5.2", - "@backstage/backend-plugin-api": "1.0.1", - "@backstage/catalog-client": "1.7.1", - "@backstage/catalog-model": "1.7.0", - "@backstage/config": "1.2.0", - "@backstage/errors": "1.2.4", - "@backstage/plugin-auth-backend": "0.23.1", - "@backstage/plugin-permission-common": "0.8.1", - "@backstage/types": "1.1.1", + "@backstage/backend-defaults": "0.6.2", + "@backstage/backend-plugin-api": "1.1.0", + "@backstage/catalog-client": "1.9.0", + "@backstage/catalog-model": "1.7.2", + "@backstage/config": "1.3.1", + "@backstage/errors": "1.2.6", + "@backstage/plugin-auth-backend": "0.24.1", + "@backstage/plugin-permission-common": "0.8.3", + "@backstage/types": "1.2.0", "express": "4.21.2", "express-promise-router": "4.1.1", "json-2-csv": "5.5.6", @@ -49,9 +49,9 @@ "node-fetch": "2.7.0" }, "devDependencies": { - "@backstage/backend-test-utils": "1.0.2", - "@backstage/cli": "0.28.2", - "@backstage/plugin-auth-backend-module-guest-provider": "0.2.1", + "@backstage/backend-test-utils": "1.2.0", + "@backstage/cli": "0.29.4", + "@backstage/plugin-auth-backend-module-guest-provider": "0.2.3", "@types/express": "4.17.21", "@types/supertest": "6.0.2", "msw": "1.3.5", diff --git a/plugins/scalprum-backend/.prettierrc.js b/plugins/scalprum-backend/.prettierrc.js index 84cbac65b5..83c5a44066 100644 --- a/plugins/scalprum-backend/.prettierrc.js +++ b/plugins/scalprum-backend/.prettierrc.js @@ -2,7 +2,7 @@ /** @type {import("@ianvs/prettier-plugin-sort-imports").PrettierConfig} */ module.exports = { - ...require('@spotify/prettier-config'), + ...require('@backstage/cli/config/prettier.json'), plugins: ['@ianvs/prettier-plugin-sort-imports'], importOrder: [ '^react(.*)$', diff --git a/plugins/scalprum-backend/package.json b/plugins/scalprum-backend/package.json index 5c338bcd05..b8963f8177 100644 --- a/plugins/scalprum-backend/package.json +++ b/plugins/scalprum-backend/package.json @@ -31,17 +31,17 @@ "prettier:fix": "prettier --ignore-unknown --write ." }, "dependencies": { - "@backstage/backend-defaults": "0.5.2", - "@backstage/backend-dynamic-feature-service": "0.4.4", - "@backstage/backend-plugin-api": "1.0.1", - "@backstage/config": "1.2.0", + "@backstage/backend-defaults": "0.6.2", + "@backstage/backend-dynamic-feature-service": "0.5.2", + "@backstage/backend-plugin-api": "1.1.0", + "@backstage/config": "1.3.1", "express": "4.21.2", "node-fetch": "2.7.0", "winston": "3.14.2" }, "devDependencies": { - "@backstage/backend-test-utils": "1.0.2", - "@backstage/cli": "0.28.2", + "@backstage/backend-test-utils": "1.2.0", + "@backstage/cli": "0.29.4", "@types/express": "4.17.21", "@types/mock-fs": "4.13.4", "@types/supertest": "6.0.2", diff --git a/yarn.lock b/yarn.lock index 3a9806fe72..27deec9680 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,27 +5,20 @@ __metadata: version: 6 cacheKey: 8 -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd - languageName: node - linkType: hard - "@adobe/css-tools@npm:^4.4.0": - version: 4.4.0 - resolution: "@adobe/css-tools@npm:4.4.0" - checksum: 1f08fb49bf17fc7f2d1a86d3e739f29ca80063d28168307f1b0a962ef37501c5667271f6771966578897f2e94e43c4770fd802728a6e6495b812da54112d506a + version: 4.4.1 + resolution: "@adobe/css-tools@npm:4.4.1" + checksum: bbded8a03c314afee0fb0b42922f664f437e0e2f0b86eeeb06dee9d02cd8fc958cf87aa3314952b00074e0b22fc5b8da23f45b61b6f8291c8aaa7cffc56a76e9 languageName: node linkType: hard "@ampproject/remapping@npm:^2.2.0": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" dependencies: - "@jridgewell/gen-mapping": ^0.3.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 03c04fd526acc64a1f4df22651186f3e5ef0a9d6d6530ce4482ec9841269cf7a11dbb8af79237c282d721c5312024ff17529cd72cc4768c11e999b58e2302079 + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: d3ad7b89d973df059c4e8e6d7c972cbeb1bb2f18f002a3bd04ae0707da214cb06cc06929b65aa2313b9347463df2914772298bae8b1d7973f246bb3f2ab3e8f0 languageName: node linkType: hard @@ -46,18 +39,18 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:9.0.6": - version: 9.0.6 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.6" +"@apidevtools/json-schema-ref-parser@npm:11.7.2": + version: 11.7.2 + resolution: "@apidevtools/json-schema-ref-parser@npm:11.7.2" dependencies: "@jsdevtools/ono": ^7.1.3 - call-me-maybe: ^1.0.1 - js-yaml: ^3.13.1 - checksum: c7ff53623ab8a9dd221772a5757fa0b9e5167a5ac3a71c23596634bae6efc85d8efcdebbe17f73ee5c027ea5afc48c705e8a720f02c4909f9a357d8027040b7b + "@types/json-schema": ^7.0.15 + js-yaml: ^4.1.0 + checksum: 44096e5cd5a03b17ee5eb0a3b9e9a4db85d87da8ae2abda264eae615f2a43e3e6ba5ca208e1161d4d946755b121c10a9550e88792a725951f2c4cff6df0d8a19 languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:^11.1.0, @apidevtools/json-schema-ref-parser@npm:^11.7.0": +"@apidevtools/json-schema-ref-parser@npm:^11.0.0, @apidevtools/json-schema-ref-parser@npm:^11.1.0, @apidevtools/json-schema-ref-parser@npm:^11.7.2": version: 11.7.3 resolution: "@apidevtools/json-schema-ref-parser@npm:11.7.3" dependencies: @@ -68,18 +61,6 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:^9.0.6": - version: 9.1.2 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.1.2" - dependencies: - "@jsdevtools/ono": ^7.1.3 - "@types/json-schema": ^7.0.6 - call-me-maybe: ^1.0.1 - js-yaml: ^4.1.0 - checksum: 5bd6885db0fd6633879bb4638b7a3aead6b061cb6422083c6be505ee6873be54e3376380df164c73edd8901d4145a9bfe9bc0b008a568fd8b0626b1df96fae8f - languageName: node - linkType: hard - "@apidevtools/openapi-schemas@npm:^2.1.0": version: 2.1.0 resolution: "@apidevtools/openapi-schemas@npm:2.1.0" @@ -95,119 +76,124 @@ __metadata: linkType: hard "@apidevtools/swagger-parser@npm:^10.1.0": - version: 10.1.0 - resolution: "@apidevtools/swagger-parser@npm:10.1.0" + version: 10.1.1 + resolution: "@apidevtools/swagger-parser@npm:10.1.1" dependencies: - "@apidevtools/json-schema-ref-parser": 9.0.6 + "@apidevtools/json-schema-ref-parser": 11.7.2 "@apidevtools/openapi-schemas": ^2.1.0 "@apidevtools/swagger-methods": ^3.0.2 "@jsdevtools/ono": ^7.1.3 - ajv: ^8.6.3 + ajv: ^8.17.1 ajv-draft-04: ^1.0.0 - call-me-maybe: ^1.0.1 + call-me-maybe: ^1.0.2 peerDependencies: openapi-types: ">=7" - checksum: c7c923755bd025ee2cae97e1cfd525538523ba74c341a0ac814c023ffe5e63fc2d997539a8ccf9a0fcec41a2d6337d40cc5735acb991ddcbb415853a241908d1 + checksum: af6db1d5f8cbd11280ad560cccbdaee78c65000fa543ee1db902441f684a028adbe3e60df591dd4369663f1f6007c5ef9dd910f6c18fa69eb5e11fd99bc3f1f0 languageName: node linkType: hard -"@ardatan/sync-fetch@npm:^0.0.1": - version: 0.0.1 - resolution: "@ardatan/sync-fetch@npm:0.0.1" +"@asamuzakjp/css-color@npm:^2.8.2": + version: 2.8.3 + resolution: "@asamuzakjp/css-color@npm:2.8.3" dependencies: - node-fetch: ^2.6.1 - checksum: af39bdfb4c2b35bd2c6acc540a5e302730dae17e73d3a18cd1a4aa50c1c741cb1869dffdef1379c491da5ad2e3cfa2bf3a8064e6046c12b46c6a97f54f100a8d + "@csstools/css-calc": ^2.1.1 + "@csstools/css-color-parser": ^3.0.7 + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + lru-cache: ^10.4.3 + checksum: e83a326734cb9df4f6f2178c0a09fe060985af8a7c9e8ddef3bf527f7ea8d91015f75c493b131f1dba64af9eb160f56ab278ed474c44586f8b9e17559cd1ea77 languageName: node linkType: hard -"@asyncapi/avro-schema-parser@npm:^3.0.15": - version: 3.0.21 - resolution: "@asyncapi/avro-schema-parser@npm:3.0.21" +"@asyncapi/avro-schema-parser@npm:^3.0.24": + version: 3.0.24 + resolution: "@asyncapi/avro-schema-parser@npm:3.0.24" dependencies: - "@asyncapi/parser": ^3.0.13 + "@asyncapi/parser": ^3.1.0 "@types/json-schema": ^7.0.11 avsc: ^5.7.6 - checksum: 9f2420ef4a0fa83c66a537b7ae31ebcb3063c634ce7477814ec0a64aa0d229ae924aa678a8ae3f81b007a85f0020caa417f7f8ec8be11ba0248a7e1237be72c6 + checksum: 87d59d157c75e1000b813e386999d9a02553d58fcc1340c2a241f46d0a3638a32281d5136b360bc5065c20ea2ab1ae94fcc1227481eb0dcef5d7ea3396bd3e55 languageName: node linkType: hard -"@asyncapi/openapi-schema-parser@npm:^3.0.15": - version: 3.0.21 - resolution: "@asyncapi/openapi-schema-parser@npm:3.0.21" +"@asyncapi/openapi-schema-parser@npm:^3.0.24": + version: 3.0.24 + resolution: "@asyncapi/openapi-schema-parser@npm:3.0.24" dependencies: - "@asyncapi/parser": ^3.0.13 + "@asyncapi/parser": ^3.1.0 "@openapi-contrib/openapi-schema-to-json-schema": ~3.2.0 ajv: ^8.11.0 ajv-errors: ^3.0.0 ajv-formats: ^2.1.1 - checksum: 0d1b5bdc7b05b2c41ec1d40cf44349f84e7de4d433d178132861972e72dd12c73033b4f98b8fd987f6c1a7847ba58ba9caf091cd27f51048eab9febcc8dbe490 + checksum: 35a443c30a01bd26923027bbf3c639056466917333c0a7882a66cbb2ec361c5dae2575eaf9bdbe847c424b7a518ec8325167f4770202abd07aa4d3b0394887e9 languageName: node linkType: hard -"@asyncapi/parser@npm:^3.0.13, @asyncapi/parser@npm:^3.0.7": - version: 3.0.13 - resolution: "@asyncapi/parser@npm:3.0.13" +"@asyncapi/parser@npm:^3.1.0, @asyncapi/parser@npm:^3.3.0, @asyncapi/parser@npm:^3.4.0": + version: 3.4.0 + resolution: "@asyncapi/parser@npm:3.4.0" dependencies: - "@asyncapi/specs": ^6.5.6 + "@asyncapi/specs": ^6.8.0 "@openapi-contrib/openapi-schema-to-json-schema": ~3.2.0 - "@stoplight/json": ^3.20.2 + "@stoplight/json": 3.21.0 "@stoplight/json-ref-readers": ^1.2.2 "@stoplight/json-ref-resolver": ^3.1.5 - "@stoplight/spectral-core": ^1.16.1 + "@stoplight/spectral-core": ^1.18.3 "@stoplight/spectral-functions": ^1.7.2 "@stoplight/spectral-parsers": ^1.0.2 "@stoplight/spectral-ref-resolver": ^1.0.3 "@stoplight/types": ^13.12.0 "@types/json-schema": ^7.0.11 "@types/urijs": ^1.19.19 - ajv: ^8.11.0 + ajv: ^8.17.1 ajv-errors: ^3.0.0 ajv-formats: ^2.1.1 avsc: ^5.7.5 js-yaml: ^4.1.0 - jsonpath-plus: ^7.2.0 + jsonpath-plus: ^10.0.0 node-fetch: 2.6.7 - checksum: 4869e51dcc0e73fdc5a536aee4c1010b1857134808600b4de402711c759108e047c004e394ce8fa8562806eded549110ccab5e7174716f1c00f739316abb8e25 + checksum: 158eab3b910258ad3c66ebbf94a86bbab4c78d6b4fb0d62980a3bef0e33358f914790e8044c59ef34f6cd25e963d2e5d37e940fc340056c8e9fe14343c8f2ee8 languageName: node linkType: hard -"@asyncapi/protobuf-schema-parser@npm:^3.2.4": - version: 3.2.11 - resolution: "@asyncapi/protobuf-schema-parser@npm:3.2.11" +"@asyncapi/protobuf-schema-parser@npm:^3.3.0": + version: 3.4.0 + resolution: "@asyncapi/protobuf-schema-parser@npm:3.4.0" dependencies: - "@asyncapi/parser": ^3.0.13 - "@types/protocol-buffers-schema": ^3.4.1 - protobufjs: ^7.2.6 - checksum: 921bd3bc0afef4276a7d3df19c630d4b34648a98d07185c9c4298383dc64bc3b0c5e4fd17395ff02724475640540fa944158fea0ba82d3b328b4d0d4208aeabe + "@asyncapi/parser": ^3.4.0 + "@types/protocol-buffers-schema": ^3.4.3 + protobufjs: ^7.4.0 + checksum: 6842c26cf5a2e03b68e83f89fb19529524057daa83aca1cfddd298494a9c729cd0bcabe0a159b56f5b2b14644c1a4906b6ce70714e58ec17ce587c928f84a96d languageName: node linkType: hard -"@asyncapi/react-component@npm:1.3.1": - version: 1.3.1 - resolution: "@asyncapi/react-component@npm:1.3.1" +"@asyncapi/react-component@npm:^2.3.3": + version: 2.5.0 + resolution: "@asyncapi/react-component@npm:2.5.0" dependencies: - "@asyncapi/avro-schema-parser": ^3.0.15 - "@asyncapi/openapi-schema-parser": ^3.0.15 - "@asyncapi/parser": ^3.0.7 - "@asyncapi/protobuf-schema-parser": ^3.2.4 + "@asyncapi/avro-schema-parser": ^3.0.24 + "@asyncapi/openapi-schema-parser": ^3.0.24 + "@asyncapi/parser": ^3.3.0 + "@asyncapi/protobuf-schema-parser": ^3.3.0 highlight.js: ^10.7.2 - isomorphic-dompurify: ^0.13.0 + isomorphic-dompurify: ^2.14.0 marked: ^4.0.14 openapi-sampler: ^1.2.1 - use-resize-observer: ^8.0.0 + react-error-boundary: ^4.1.2 + use-resize-observer: ^9.1.0 peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: d70992809223643e17bab39352d4fc31b188cd83f548e6ec16d9a638d448a96d1f52e4d9900c9e6a3070211ad6b9ddbb5e992e48445385dbf6cb4c5165d95dac + react: ">=18.0.0" + react-dom: ">=18.0.0" + checksum: d975f6182370f43aef9697e3e5b02d93b8ac8b8fcc43a0f8c4315681fdc3b6819078aa6ff963af1193fe7719c2cee78d55a57f188eb472b3e77494a90dbc75e5 languageName: node linkType: hard -"@asyncapi/specs@npm:^6.5.6": - version: 6.5.6 - resolution: "@asyncapi/specs@npm:6.5.6" +"@asyncapi/specs@npm:^6.8.0": + version: 6.8.0 + resolution: "@asyncapi/specs@npm:6.8.0" dependencies: "@types/json-schema": ^7.0.11 - checksum: caaba9462a85ce08bb83404b3ff84933b35659cb931caa913072ec6f183003a34c785120b89b09574a492f6b59f191f868461cd2e666d5308bda744fe3ea056f + checksum: 8a968a9fb842fa0facf4b727cca4e17792cca26b08f8df4f3c5e32a015a9e30c8a2651f76faaabf0933ec2796b9e6318fc7a8abb64a7a95930637ab3af2bebb4 languageName: node linkType: hard @@ -293,6 +279,17 @@ __metadata: languageName: node linkType: hard +"@aws-crypto/util@npm:5.2.0, @aws-crypto/util@npm:^5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/util@npm:5.2.0" + dependencies: + "@aws-sdk/types": ^3.222.0 + "@smithy/util-utf8": ^2.0.0 + tslib: ^2.6.2 + checksum: f0f81d9d2771c59946cfec48b86cb23d39f78a966c4a1f89d4753abdc3cb38de06f907d1e6450059b121d48ac65d612ab88bdb70014553a077fc3dabddfbf8d6 + languageName: node + linkType: hard + "@aws-crypto/util@npm:^3.0.0": version: 3.0.0 resolution: "@aws-crypto/util@npm:3.0.0" @@ -304,1245 +301,887 @@ __metadata: languageName: node linkType: hard -"@aws-crypto/util@npm:^5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/util@npm:5.2.0" - dependencies: - "@aws-sdk/types": ^3.222.0 - "@smithy/util-utf8": ^2.0.0 - tslib: ^2.6.2 - checksum: f0f81d9d2771c59946cfec48b86cb23d39f78a966c4a1f89d4753abdc3cb38de06f907d1e6450059b121d48ac65d612ab88bdb70014553a077fc3dabddfbf8d6 - languageName: node - linkType: hard - "@aws-sdk/abort-controller@npm:^3.347.0": - version: 3.374.0 - resolution: "@aws-sdk/abort-controller@npm:3.374.0" + version: 3.370.0 + resolution: "@aws-sdk/abort-controller@npm:3.370.0" dependencies: - "@smithy/abort-controller": ^1.0.1 + "@aws-sdk/types": 3.370.0 tslib: ^2.5.0 - checksum: 0cd46e1da1e553568b863fe9b821bb853e9de3c74bbdbe9c03fba3cd864a5b9f4d340b4c69625ef665751b9ac8035fe229d23bb8322d418b48525a27ff6fa31d + checksum: 0095e83186de9ce150826d5afc59ae02de0a05508595226edec187c96ff6b46687a4b3ba9a9051a25b85a6051c7d7aeba347e8a7a0632edbe116ee3c60376842 languageName: node linkType: hard "@aws-sdk/client-codecommit@npm:^3.350.0": - version: 3.621.0 - resolution: "@aws-sdk/client-codecommit@npm:3.621.0" + version: 3.730.0 + resolution: "@aws-sdk/client-codecommit@npm:3.730.0" dependencies: "@aws-crypto/sha256-browser": 5.2.0 "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/client-sso-oidc": 3.621.0 - "@aws-sdk/client-sts": 3.621.0 - "@aws-sdk/core": 3.621.0 - "@aws-sdk/credential-provider-node": 3.621.0 - "@aws-sdk/middleware-host-header": 3.620.0 - "@aws-sdk/middleware-logger": 3.609.0 - "@aws-sdk/middleware-recursion-detection": 3.620.0 - "@aws-sdk/middleware-user-agent": 3.620.0 - "@aws-sdk/region-config-resolver": 3.614.0 - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@aws-sdk/util-user-agent-browser": 3.609.0 - "@aws-sdk/util-user-agent-node": 3.614.0 - "@smithy/config-resolver": ^3.0.5 - "@smithy/core": ^2.3.1 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/hash-node": ^3.0.3 - "@smithy/invalid-dependency": ^3.0.3 - "@smithy/middleware-content-length": ^3.0.5 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/middleware-retry": ^3.0.13 - "@smithy/middleware-serde": ^3.0.3 - "@smithy/middleware-stack": ^3.0.3 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/url-parser": ^3.0.3 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.13 - "@smithy/util-defaults-mode-node": ^3.0.13 - "@smithy/util-endpoints": ^2.0.5 - "@smithy/util-middleware": ^3.0.3 - "@smithy/util-retry": ^3.0.3 - "@smithy/util-utf8": ^3.0.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-node": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 + "@types/uuid": ^9.0.1 tslib: ^2.6.2 uuid: ^9.0.1 - checksum: be8a5ebbe178f7d81c44a34f7e1ee54b8f7d3912c92de570855be4612cf60a02444957373eb9d9abfbf606f9998fc34acf020a2fb1d7be1e0e77be6c30388408 + checksum: 4e643229509c28b6b9a5b4562af20f4fed8b3e749b4117e9b6d3909ce06f19b57ed61a148ecfdfa28d96c5e3211168d07a3a58178ee07b74024c0ec1b015e004 languageName: node linkType: hard -"@aws-sdk/client-cognito-identity@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-cognito-identity@npm:3.621.0" +"@aws-sdk/client-cognito-identity@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.730.0" dependencies: "@aws-crypto/sha256-browser": 5.2.0 "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/client-sso-oidc": 3.621.0 - "@aws-sdk/client-sts": 3.621.0 - "@aws-sdk/core": 3.621.0 - "@aws-sdk/credential-provider-node": 3.621.0 - "@aws-sdk/middleware-host-header": 3.620.0 - "@aws-sdk/middleware-logger": 3.609.0 - "@aws-sdk/middleware-recursion-detection": 3.620.0 - "@aws-sdk/middleware-user-agent": 3.620.0 - "@aws-sdk/region-config-resolver": 3.614.0 - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@aws-sdk/util-user-agent-browser": 3.609.0 - "@aws-sdk/util-user-agent-node": 3.614.0 - "@smithy/config-resolver": ^3.0.5 - "@smithy/core": ^2.3.1 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/hash-node": ^3.0.3 - "@smithy/invalid-dependency": ^3.0.3 - "@smithy/middleware-content-length": ^3.0.5 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/middleware-retry": ^3.0.13 - "@smithy/middleware-serde": ^3.0.3 - "@smithy/middleware-stack": ^3.0.3 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/url-parser": ^3.0.3 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.13 - "@smithy/util-defaults-mode-node": ^3.0.13 - "@smithy/util-endpoints": ^2.0.5 - "@smithy/util-middleware": ^3.0.3 - "@smithy/util-retry": ^3.0.3 - "@smithy/util-utf8": ^3.0.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-node": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 227fb03620396c3d5f9ca36fd463fc2e3e2e04909f5dea59b90e25a89d110d3a869e89e870237b808b494156bba06fb966406d2dc192a8ad6a072b7abdd4d81c + checksum: 7a2b897eee7c26ed5e5ffd84a71f43d6c423273354a1146cd93483a8c357e80c9a126b33bf118d3847c71707524d7275769ef6f70185a87a1a14d925ca8e8b97 languageName: node linkType: hard "@aws-sdk/client-s3@npm:^3.350.0": - version: 3.621.0 - resolution: "@aws-sdk/client-s3@npm:3.621.0" + version: 3.730.0 + resolution: "@aws-sdk/client-s3@npm:3.730.0" dependencies: "@aws-crypto/sha1-browser": 5.2.0 "@aws-crypto/sha256-browser": 5.2.0 "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/client-sso-oidc": 3.621.0 - "@aws-sdk/client-sts": 3.621.0 - "@aws-sdk/core": 3.621.0 - "@aws-sdk/credential-provider-node": 3.621.0 - "@aws-sdk/middleware-bucket-endpoint": 3.620.0 - "@aws-sdk/middleware-expect-continue": 3.620.0 - "@aws-sdk/middleware-flexible-checksums": 3.620.0 - "@aws-sdk/middleware-host-header": 3.620.0 - "@aws-sdk/middleware-location-constraint": 3.609.0 - "@aws-sdk/middleware-logger": 3.609.0 - "@aws-sdk/middleware-recursion-detection": 3.620.0 - "@aws-sdk/middleware-sdk-s3": 3.621.0 - "@aws-sdk/middleware-signing": 3.620.0 - "@aws-sdk/middleware-ssec": 3.609.0 - "@aws-sdk/middleware-user-agent": 3.620.0 - "@aws-sdk/region-config-resolver": 3.614.0 - "@aws-sdk/signature-v4-multi-region": 3.621.0 - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@aws-sdk/util-user-agent-browser": 3.609.0 - "@aws-sdk/util-user-agent-node": 3.614.0 - "@aws-sdk/xml-builder": 3.609.0 - "@smithy/config-resolver": ^3.0.5 - "@smithy/core": ^2.3.1 - "@smithy/eventstream-serde-browser": ^3.0.5 - "@smithy/eventstream-serde-config-resolver": ^3.0.3 - "@smithy/eventstream-serde-node": ^3.0.4 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/hash-blob-browser": ^3.1.2 - "@smithy/hash-node": ^3.0.3 - "@smithy/hash-stream-node": ^3.1.2 - "@smithy/invalid-dependency": ^3.0.3 - "@smithy/md5-js": ^3.0.3 - "@smithy/middleware-content-length": ^3.0.5 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/middleware-retry": ^3.0.13 - "@smithy/middleware-serde": ^3.0.3 - "@smithy/middleware-stack": ^3.0.3 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/url-parser": ^3.0.3 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.13 - "@smithy/util-defaults-mode-node": ^3.0.13 - "@smithy/util-endpoints": ^2.0.5 - "@smithy/util-retry": ^3.0.3 - "@smithy/util-stream": ^3.1.3 - "@smithy/util-utf8": ^3.0.0 - "@smithy/util-waiter": ^3.1.2 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-node": 3.730.0 + "@aws-sdk/middleware-bucket-endpoint": 3.726.0 + "@aws-sdk/middleware-expect-continue": 3.723.0 + "@aws-sdk/middleware-flexible-checksums": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-location-constraint": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-sdk-s3": 3.730.0 + "@aws-sdk/middleware-ssec": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/signature-v4-multi-region": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@aws-sdk/xml-builder": 3.723.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/eventstream-serde-browser": ^4.0.0 + "@smithy/eventstream-serde-config-resolver": ^4.0.0 + "@smithy/eventstream-serde-node": ^4.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-blob-browser": ^4.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/hash-stream-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/md5-js": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-stream": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 + "@smithy/util-waiter": ^4.0.0 tslib: ^2.6.2 - checksum: 120bfaa142a61a8dbc2f82d6fe5e36cb2ec0acdb12390795d15326dfad4f67b0d2e95515afb04da34b3f686fef0368f7a79a20c85735b28df654cbc5bdb1f04c + checksum: 5a5a172283dd0f284855ddd5feedb859c2df1b9403ddf7a147c8528c32a3c681ed7f62315d710ac8bfc5f1d4358c0aa8990706a27f4a13fc89162127a3a2eda4 languageName: node linkType: hard "@aws-sdk/client-ses@npm:^3.550.0": - version: 3.686.0 - resolution: "@aws-sdk/client-ses@npm:3.686.0" - dependencies: - "@aws-crypto/sha256-browser": 5.2.0 - "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/client-sso-oidc": 3.686.0 - "@aws-sdk/client-sts": 3.686.0 - "@aws-sdk/core": 3.686.0 - "@aws-sdk/credential-provider-node": 3.686.0 - "@aws-sdk/middleware-host-header": 3.686.0 - "@aws-sdk/middleware-logger": 3.686.0 - "@aws-sdk/middleware-recursion-detection": 3.686.0 - "@aws-sdk/middleware-user-agent": 3.686.0 - "@aws-sdk/region-config-resolver": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@aws-sdk/util-endpoints": 3.686.0 - "@aws-sdk/util-user-agent-browser": 3.686.0 - "@aws-sdk/util-user-agent-node": 3.686.0 - "@smithy/config-resolver": ^3.0.10 - "@smithy/core": ^2.5.1 - "@smithy/fetch-http-handler": ^4.0.0 - "@smithy/hash-node": ^3.0.8 - "@smithy/invalid-dependency": ^3.0.8 - "@smithy/middleware-content-length": ^3.0.10 - "@smithy/middleware-endpoint": ^3.2.1 - "@smithy/middleware-retry": ^3.0.25 - "@smithy/middleware-serde": ^3.0.8 - "@smithy/middleware-stack": ^3.0.8 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/node-http-handler": ^3.2.5 - "@smithy/protocol-http": ^4.1.5 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/url-parser": ^3.0.8 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.25 - "@smithy/util-defaults-mode-node": ^3.0.25 - "@smithy/util-endpoints": ^2.1.4 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-retry": ^3.0.8 - "@smithy/util-utf8": ^3.0.0 - "@smithy/util-waiter": ^3.1.7 - tslib: ^2.6.2 - checksum: 91360f16dfcf767a459275c2950f8f0e62131baf8e95ce96638154fdbd7360949891e4565dadfac9f75b32e93d7d4a90c85284fd9591b7cc97acbac6d6fa4eb5 - languageName: node - linkType: hard - -"@aws-sdk/client-sso-oidc@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.621.0" - dependencies: - "@aws-crypto/sha256-browser": 5.2.0 - "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/core": 3.621.0 - "@aws-sdk/credential-provider-node": 3.621.0 - "@aws-sdk/middleware-host-header": 3.620.0 - "@aws-sdk/middleware-logger": 3.609.0 - "@aws-sdk/middleware-recursion-detection": 3.620.0 - "@aws-sdk/middleware-user-agent": 3.620.0 - "@aws-sdk/region-config-resolver": 3.614.0 - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@aws-sdk/util-user-agent-browser": 3.609.0 - "@aws-sdk/util-user-agent-node": 3.614.0 - "@smithy/config-resolver": ^3.0.5 - "@smithy/core": ^2.3.1 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/hash-node": ^3.0.3 - "@smithy/invalid-dependency": ^3.0.3 - "@smithy/middleware-content-length": ^3.0.5 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/middleware-retry": ^3.0.13 - "@smithy/middleware-serde": ^3.0.3 - "@smithy/middleware-stack": ^3.0.3 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/url-parser": ^3.0.3 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.13 - "@smithy/util-defaults-mode-node": ^3.0.13 - "@smithy/util-endpoints": ^2.0.5 - "@smithy/util-middleware": ^3.0.3 - "@smithy/util-retry": ^3.0.3 - "@smithy/util-utf8": ^3.0.0 - tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sts": ^3.621.0 - checksum: 12aa50a56f2498a9202b877b0b789fa95c038707b648dc3c9e93976c209ed3d4518868279707ee8fe12f42858eba7181098bdbf68556341c9017bd5e31f89135 - languageName: node - linkType: hard - -"@aws-sdk/client-sso-oidc@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.686.0" - dependencies: - "@aws-crypto/sha256-browser": 5.2.0 - "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/core": 3.686.0 - "@aws-sdk/credential-provider-node": 3.686.0 - "@aws-sdk/middleware-host-header": 3.686.0 - "@aws-sdk/middleware-logger": 3.686.0 - "@aws-sdk/middleware-recursion-detection": 3.686.0 - "@aws-sdk/middleware-user-agent": 3.686.0 - "@aws-sdk/region-config-resolver": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@aws-sdk/util-endpoints": 3.686.0 - "@aws-sdk/util-user-agent-browser": 3.686.0 - "@aws-sdk/util-user-agent-node": 3.686.0 - "@smithy/config-resolver": ^3.0.10 - "@smithy/core": ^2.5.1 - "@smithy/fetch-http-handler": ^4.0.0 - "@smithy/hash-node": ^3.0.8 - "@smithy/invalid-dependency": ^3.0.8 - "@smithy/middleware-content-length": ^3.0.10 - "@smithy/middleware-endpoint": ^3.2.1 - "@smithy/middleware-retry": ^3.0.25 - "@smithy/middleware-serde": ^3.0.8 - "@smithy/middleware-stack": ^3.0.8 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/node-http-handler": ^3.2.5 - "@smithy/protocol-http": ^4.1.5 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/url-parser": ^3.0.8 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.25 - "@smithy/util-defaults-mode-node": ^3.0.25 - "@smithy/util-endpoints": ^2.1.4 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-retry": ^3.0.8 - "@smithy/util-utf8": ^3.0.0 - tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sts": ^3.686.0 - checksum: 4bfb97c3e7d735a9265c3b97789d3590c5ea3bec9d54109f0ba72255c6b43247b3d72d8ef890ecc438863ed0c7b26b2b9d3a427b32bc2126d94080a55d0f09c7 - languageName: node - linkType: hard - -"@aws-sdk/client-sso@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sso@npm:3.621.0" - dependencies: - "@aws-crypto/sha256-browser": 5.2.0 - "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/core": 3.621.0 - "@aws-sdk/middleware-host-header": 3.620.0 - "@aws-sdk/middleware-logger": 3.609.0 - "@aws-sdk/middleware-recursion-detection": 3.620.0 - "@aws-sdk/middleware-user-agent": 3.620.0 - "@aws-sdk/region-config-resolver": 3.614.0 - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@aws-sdk/util-user-agent-browser": 3.609.0 - "@aws-sdk/util-user-agent-node": 3.614.0 - "@smithy/config-resolver": ^3.0.5 - "@smithy/core": ^2.3.1 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/hash-node": ^3.0.3 - "@smithy/invalid-dependency": ^3.0.3 - "@smithy/middleware-content-length": ^3.0.5 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/middleware-retry": ^3.0.13 - "@smithy/middleware-serde": ^3.0.3 - "@smithy/middleware-stack": ^3.0.3 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/url-parser": ^3.0.3 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.13 - "@smithy/util-defaults-mode-node": ^3.0.13 - "@smithy/util-endpoints": ^2.0.5 - "@smithy/util-middleware": ^3.0.3 - "@smithy/util-retry": ^3.0.3 - "@smithy/util-utf8": ^3.0.0 - tslib: ^2.6.2 - checksum: fe72875685c07b9cf42b7fcde06502d42a5398161b37de87c5360f10a0d28cf7b32fc95f5eecdf782cff04c8109bd7a20d9644bfacc78e3521b6a7670ed76b40 - languageName: node - linkType: hard - -"@aws-sdk/client-sso@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/client-sso@npm:3.686.0" + version: 3.730.0 + resolution: "@aws-sdk/client-ses@npm:3.730.0" dependencies: "@aws-crypto/sha256-browser": 5.2.0 "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/core": 3.686.0 - "@aws-sdk/middleware-host-header": 3.686.0 - "@aws-sdk/middleware-logger": 3.686.0 - "@aws-sdk/middleware-recursion-detection": 3.686.0 - "@aws-sdk/middleware-user-agent": 3.686.0 - "@aws-sdk/region-config-resolver": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@aws-sdk/util-endpoints": 3.686.0 - "@aws-sdk/util-user-agent-browser": 3.686.0 - "@aws-sdk/util-user-agent-node": 3.686.0 - "@smithy/config-resolver": ^3.0.10 - "@smithy/core": ^2.5.1 - "@smithy/fetch-http-handler": ^4.0.0 - "@smithy/hash-node": ^3.0.8 - "@smithy/invalid-dependency": ^3.0.8 - "@smithy/middleware-content-length": ^3.0.10 - "@smithy/middleware-endpoint": ^3.2.1 - "@smithy/middleware-retry": ^3.0.25 - "@smithy/middleware-serde": ^3.0.8 - "@smithy/middleware-stack": ^3.0.8 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/node-http-handler": ^3.2.5 - "@smithy/protocol-http": ^4.1.5 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/url-parser": ^3.0.8 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.25 - "@smithy/util-defaults-mode-node": ^3.0.25 - "@smithy/util-endpoints": ^2.1.4 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-retry": ^3.0.8 - "@smithy/util-utf8": ^3.0.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-node": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 + "@smithy/util-waiter": ^4.0.0 tslib: ^2.6.2 - checksum: 37151fa22dff6dcae0918b0b1cf2ac9ba5962e058c2e3ec8c4520e45e7c60352be9a947e5111ac51fd78fe4d7b19be3638f73da9eb0c10ccd5347728cd1d5979 + checksum: 1441d2dbdbdc1c282ec27e1416dbb6f07caa22c75a3543e26d029584f914a35aa07e52046ede06ad852fadf496ffc44d34075ae590fde21874a277098604e800 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sts@npm:3.621.0" +"@aws-sdk/client-sso@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/client-sso@npm:3.730.0" dependencies: "@aws-crypto/sha256-browser": 5.2.0 "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/client-sso-oidc": 3.621.0 - "@aws-sdk/core": 3.621.0 - "@aws-sdk/credential-provider-node": 3.621.0 - "@aws-sdk/middleware-host-header": 3.620.0 - "@aws-sdk/middleware-logger": 3.609.0 - "@aws-sdk/middleware-recursion-detection": 3.620.0 - "@aws-sdk/middleware-user-agent": 3.620.0 - "@aws-sdk/region-config-resolver": 3.614.0 - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@aws-sdk/util-user-agent-browser": 3.609.0 - "@aws-sdk/util-user-agent-node": 3.614.0 - "@smithy/config-resolver": ^3.0.5 - "@smithy/core": ^2.3.1 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/hash-node": ^3.0.3 - "@smithy/invalid-dependency": ^3.0.3 - "@smithy/middleware-content-length": ^3.0.5 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/middleware-retry": ^3.0.13 - "@smithy/middleware-serde": ^3.0.3 - "@smithy/middleware-stack": ^3.0.3 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/url-parser": ^3.0.3 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.13 - "@smithy/util-defaults-mode-node": ^3.0.13 - "@smithy/util-endpoints": ^2.0.5 - "@smithy/util-middleware": ^3.0.3 - "@smithy/util-retry": ^3.0.3 - "@smithy/util-utf8": ^3.0.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 35f543e1c4b419dc598489b4ce4dfbce22ad726ffe8f807876de13c0e8b5db10684835f7b95841e988d4f16aeb921935133e5775d35b47186c18cced6715a82a + checksum: ea1a90bcdbfec7f1ee68c4dd1050b8342b40426ed3c86a90be1beacd50a1641bfc2ce5eef33d8302da0c603dd8bcbca7257ca8a1d818e94c49f0eac966b8ef27 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.686.0, @aws-sdk/client-sts@npm:^3.350.0": - version: 3.686.0 - resolution: "@aws-sdk/client-sts@npm:3.686.0" +"@aws-sdk/client-sts@npm:^3.350.0": + version: 3.730.0 + resolution: "@aws-sdk/client-sts@npm:3.730.0" dependencies: "@aws-crypto/sha256-browser": 5.2.0 "@aws-crypto/sha256-js": 5.2.0 - "@aws-sdk/client-sso-oidc": 3.686.0 - "@aws-sdk/core": 3.686.0 - "@aws-sdk/credential-provider-node": 3.686.0 - "@aws-sdk/middleware-host-header": 3.686.0 - "@aws-sdk/middleware-logger": 3.686.0 - "@aws-sdk/middleware-recursion-detection": 3.686.0 - "@aws-sdk/middleware-user-agent": 3.686.0 - "@aws-sdk/region-config-resolver": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@aws-sdk/util-endpoints": 3.686.0 - "@aws-sdk/util-user-agent-browser": 3.686.0 - "@aws-sdk/util-user-agent-node": 3.686.0 - "@smithy/config-resolver": ^3.0.10 - "@smithy/core": ^2.5.1 - "@smithy/fetch-http-handler": ^4.0.0 - "@smithy/hash-node": ^3.0.8 - "@smithy/invalid-dependency": ^3.0.8 - "@smithy/middleware-content-length": ^3.0.10 - "@smithy/middleware-endpoint": ^3.2.1 - "@smithy/middleware-retry": ^3.0.25 - "@smithy/middleware-serde": ^3.0.8 - "@smithy/middleware-stack": ^3.0.8 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/node-http-handler": ^3.2.5 - "@smithy/protocol-http": ^4.1.5 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/url-parser": ^3.0.8 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-body-length-node": ^3.0.0 - "@smithy/util-defaults-mode-browser": ^3.0.25 - "@smithy/util-defaults-mode-node": ^3.0.25 - "@smithy/util-endpoints": ^2.1.4 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-retry": ^3.0.8 - "@smithy/util-utf8": ^3.0.0 - tslib: ^2.6.2 - checksum: 4de463f5144cf9883bc7e52d4834dd3f42071eca8256624f1d1a643c6ab91b6fbe1bfdbe9afa7be6fe0f4c39cc6225b6a2c16fc97ee9a03be4634986ac7e46a0 - languageName: node - linkType: hard - -"@aws-sdk/core@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/core@npm:3.621.0" - dependencies: - "@smithy/core": ^2.3.1 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/signature-v4": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/util-middleware": ^3.0.3 - fast-xml-parser: 4.4.1 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-node": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 789409227f2aa0f3c735e0f1bebf1d900b359e589bad50324e2fbec20ddb30435e1dcf9132501dad7aaf793829530980d1670257208c5e407c78be5f831e796d + checksum: c85d9747242b98512bfd728ba690573a0468061081a722cd4728ec52c422e6a75d2cc82933a15eaae3e4e4c3b149c7421b6fcd3b71ff07853a6111b96746b138 languageName: node linkType: hard -"@aws-sdk/core@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/core@npm:3.686.0" +"@aws-sdk/core@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/core@npm:3.730.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/core": ^2.5.1 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/property-provider": ^3.1.7 - "@smithy/protocol-http": ^4.1.5 - "@smithy/signature-v4": ^4.2.0 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/util-middleware": ^3.0.8 + "@aws-sdk/types": 3.723.0 + "@smithy/core": ^3.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/signature-v4": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/util-middleware": ^4.0.0 fast-xml-parser: 4.4.1 tslib: ^2.6.2 - checksum: c74ea67447efe74dc88a48e9b2c16745503a4323e91ff97a98e56b3ac49d34a0a57a44eed0054559a5c675e20216e02037a761d946fd8053f142f2d3a274c8a8 + checksum: ed3a1861f85092e8d0891f001c9382881eeaae053cdfee9f841faaaa9993e510653d42e4cc6a29021c477c1b9dae8716bc816ae7816e868f4b878ff72771434f languageName: node linkType: hard -"@aws-sdk/credential-provider-cognito-identity@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.621.0" +"@aws-sdk/credential-provider-cognito-identity@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.730.0" dependencies: - "@aws-sdk/client-cognito-identity": 3.621.0 - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/types": ^3.3.0 + "@aws-sdk/client-cognito-identity": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: e8a913d61ac4e772e07cd1a6144ef8680e630894c2192aed81d06f36fb9607c4de3b95386155d52f050b99d8b4d78ceb69eb7fa0987d339631765cc1dc8c9588 + checksum: 0e84d32324fe12387e430d4da0d79cb2b9cbe88b7bd31a255bd98d301052724b0b0961f42816c172495b489f20e8995c835fd13c781766e5fc93eee23c063b45 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.620.1": - version: 3.620.1 - resolution: "@aws-sdk/credential-provider-env@npm:3.620.1" +"@aws-sdk/credential-provider-env@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.730.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/types": ^3.3.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 3e05eeb6c6490e7759d03b7b688ef321d5e6c97929f21226e912b01aa926815312043febd505e8b43b54010b5ae2717559aba6deeea93bda7d6cf0d8a0b9fc76 + checksum: 5b2a4d21ee4f82d1428eed408bda02db714767d1ce1216575153fa22ced2fac0f286aa413e9b810603f7e7979b44dc36a172a62ad1fca7f1398b6be7addbe57e languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.686.0" +"@aws-sdk/credential-provider-http@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.730.0" dependencies: - "@aws-sdk/core": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/property-provider": ^3.1.7 - "@smithy/types": ^3.6.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/util-stream": ^4.0.0 tslib: ^2.6.2 - checksum: 2c574da1ce5027998e5672162efa2264cbebb8bed61e1d7f8556aa76e98aeb7a0c6db7bb1edf213331466edcff9001300a6c9733a6d50c862ade6568acb3e8dd - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-http@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.621.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/fetch-http-handler": ^3.2.4 - "@smithy/node-http-handler": ^3.1.4 - "@smithy/property-provider": ^3.1.3 - "@smithy/protocol-http": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/util-stream": ^3.1.3 + checksum: 611fb36a1997dc367e6fe5286a81056fb56e9f797fb1e32110dc398e3d86f83f9a90ba506101d2f000765c6e57247224bae406ca26a67c4d013abb7f63b9a34b + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-ini@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.730.0" + dependencies: + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-env": 3.730.0 + "@aws-sdk/credential-provider-http": 3.730.0 + "@aws-sdk/credential-provider-process": 3.730.0 + "@aws-sdk/credential-provider-sso": 3.730.0 + "@aws-sdk/credential-provider-web-identity": 3.730.0 + "@aws-sdk/nested-clients": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/credential-provider-imds": ^4.0.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/shared-ini-file-loader": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: bc45dfe7d0a6868978d71fa73731784af1839f822c09ef13b5a08ad74fa57c008dd874dd1765317df61ab022f9470bf509df38a70dd0aa5262d1d2234cc5eda2 + checksum: 33c9e565ca5c3d1071ac4817ed8798f2dbfce14f78a10ff4a6cfd75300d7adcad15ab31d94bfdbcba04f6ddc29fdf138b66d3ff4660f67d0cbca06a98c593e66 languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.686.0" +"@aws-sdk/credential-provider-node@npm:3.730.0, @aws-sdk/credential-provider-node@npm:^3.350.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.730.0" dependencies: - "@aws-sdk/core": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/fetch-http-handler": ^4.0.0 - "@smithy/node-http-handler": ^3.2.5 - "@smithy/property-provider": ^3.1.7 - "@smithy/protocol-http": ^4.1.5 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/util-stream": ^3.2.1 + "@aws-sdk/credential-provider-env": 3.730.0 + "@aws-sdk/credential-provider-http": 3.730.0 + "@aws-sdk/credential-provider-ini": 3.730.0 + "@aws-sdk/credential-provider-process": 3.730.0 + "@aws-sdk/credential-provider-sso": 3.730.0 + "@aws-sdk/credential-provider-web-identity": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/credential-provider-imds": ^4.0.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/shared-ini-file-loader": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: b503ae6c86c7d884e41df75dbe36a58b13ccaa8ca1adb20996311e521d6967b3442f65de6442195d49bbaa868984e9d5579d5cb22c4bd47926a33dd7065a2e09 + checksum: c8380f665b247029bbc6cfaba9633e2bfe12e07a09519f9bbddc66e73b92a3de9d86993d3e3b45753ed5161b9afe3601810f9c0188bc97f02b7c2f50af9d6c39 languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.621.0" +"@aws-sdk/credential-provider-process@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.730.0" dependencies: - "@aws-sdk/credential-provider-env": 3.620.1 - "@aws-sdk/credential-provider-http": 3.621.0 - "@aws-sdk/credential-provider-process": 3.620.1 - "@aws-sdk/credential-provider-sso": 3.621.0 - "@aws-sdk/credential-provider-web-identity": 3.621.0 - "@aws-sdk/types": 3.609.0 - "@smithy/credential-provider-imds": ^3.2.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/shared-ini-file-loader": ^3.1.4 - "@smithy/types": ^3.3.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/shared-ini-file-loader": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sts": ^3.621.0 - checksum: a3db43adfbdb2ea1d6d80b1ca6789e48b729fce2499039f99721f504322cba325e4b48ed842bd26ae6f49ca771e5817016b75cda31cf247fd3e2bd0ac235b332 + checksum: b3c93eddbf24c6907316d028c00e585a7e8050d07f8974fb097d8768dfc1acde19079a3654c2d2c221350ef87f1b47eb8c3904246823e4323000588b7ca08885 languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.686.0" +"@aws-sdk/credential-provider-sso@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.730.0" dependencies: - "@aws-sdk/core": 3.686.0 - "@aws-sdk/credential-provider-env": 3.686.0 - "@aws-sdk/credential-provider-http": 3.686.0 - "@aws-sdk/credential-provider-process": 3.686.0 - "@aws-sdk/credential-provider-sso": 3.686.0 - "@aws-sdk/credential-provider-web-identity": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/credential-provider-imds": ^3.2.4 - "@smithy/property-provider": ^3.1.7 - "@smithy/shared-ini-file-loader": ^3.1.8 - "@smithy/types": ^3.6.0 + "@aws-sdk/client-sso": 3.730.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/token-providers": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/shared-ini-file-loader": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sts": ^3.686.0 - checksum: d88dec49d2636557f728910216ece82d6872c212b000e2067a11f80f7fe81c67594fa190cfc2b484d4acfeae9adceab420ea9f44cb9c2118b7792ed592a48d02 + checksum: 0613aca478193c9b70b2e6e1449954e1b2627917f37f4a646c09d35b13f9c1e50772c5577f44a04a692e812a606059d57f9916f64731b655cd12289040eadfc0 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.621.0" +"@aws-sdk/credential-provider-web-identity@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.730.0" dependencies: - "@aws-sdk/credential-provider-env": 3.620.1 - "@aws-sdk/credential-provider-http": 3.621.0 - "@aws-sdk/credential-provider-ini": 3.621.0 - "@aws-sdk/credential-provider-process": 3.620.1 - "@aws-sdk/credential-provider-sso": 3.621.0 - "@aws-sdk/credential-provider-web-identity": 3.621.0 - "@aws-sdk/types": 3.609.0 - "@smithy/credential-provider-imds": ^3.2.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/shared-ini-file-loader": ^3.1.4 - "@smithy/types": ^3.3.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/nested-clients": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: aada1f0624caee0e00b9ba287e66120031c8f5095acbcd80723b2ab6b5e4bffcd662665fffe62b7f2091bfb89d33ea13212a82893318005699914f13fbed70c3 + checksum: cfa4d1cced961c6f14d38b2d7bda13ccecce38f95db498c4e695d15afc2c1c9dc1fc560f47af0fd4d9c6e99dc4f8e333cc769b97542581028c5929f03b071506 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.686.0, @aws-sdk/credential-provider-node@npm:^3.350.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.686.0" - dependencies: - "@aws-sdk/credential-provider-env": 3.686.0 - "@aws-sdk/credential-provider-http": 3.686.0 - "@aws-sdk/credential-provider-ini": 3.686.0 - "@aws-sdk/credential-provider-process": 3.686.0 - "@aws-sdk/credential-provider-sso": 3.686.0 - "@aws-sdk/credential-provider-web-identity": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/credential-provider-imds": ^3.2.4 - "@smithy/property-provider": ^3.1.7 - "@smithy/shared-ini-file-loader": ^3.1.8 - "@smithy/types": ^3.6.0 - tslib: ^2.6.2 - checksum: 0d7d2ab2e859e8ccd776de2dcebaacd3630eb64002f4098661e465ba60cec0eec92179efe39c67513b47e3c3fd6ec61f4fa5a527cde7eabf981ff3dae2dc38c1 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-process@npm:3.620.1": - version: 3.620.1 - resolution: "@aws-sdk/credential-provider-process@npm:3.620.1" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/shared-ini-file-loader": ^3.1.4 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - checksum: 1fd6d3abf35ccfaed0882ee74e4d876e8c6cfe8d8b23c574dfe98364b2a2f3226d97fe35e2d48b88dd514906595cbb5fa1e0066d989a9582f73f92117796168f - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-process@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.686.0" - dependencies: - "@aws-sdk/core": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/property-provider": ^3.1.7 - "@smithy/shared-ini-file-loader": ^3.1.8 - "@smithy/types": ^3.6.0 - tslib: ^2.6.2 - checksum: 5b73373200c2f1bd5dc79e76507418c0e39902b8b861129a967ac915d89a26fbd4b5e5f068c4b9e96b78666558e9b3572e841be28dd0c10079b4f5148b461239 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-sso@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.621.0" - dependencies: - "@aws-sdk/client-sso": 3.621.0 - "@aws-sdk/token-providers": 3.614.0 - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/shared-ini-file-loader": ^3.1.4 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - checksum: 4602308a0bf74bda9dd7b92caf02868b855935deb703a8894d052c81864ef9c9359408ec84569f71527c1b204577940ebe1a9f6cbba8de677471eb590d91c3ba - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-sso@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.686.0" - dependencies: - "@aws-sdk/client-sso": 3.686.0 - "@aws-sdk/core": 3.686.0 - "@aws-sdk/token-providers": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/property-provider": ^3.1.7 - "@smithy/shared-ini-file-loader": ^3.1.8 - "@smithy/types": ^3.6.0 +"@aws-sdk/credential-providers@npm:^3.350.0": + version: 3.730.0 + resolution: "@aws-sdk/credential-providers@npm:3.730.0" + dependencies: + "@aws-sdk/client-cognito-identity": 3.730.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/credential-provider-cognito-identity": 3.730.0 + "@aws-sdk/credential-provider-env": 3.730.0 + "@aws-sdk/credential-provider-http": 3.730.0 + "@aws-sdk/credential-provider-ini": 3.730.0 + "@aws-sdk/credential-provider-node": 3.730.0 + "@aws-sdk/credential-provider-process": 3.730.0 + "@aws-sdk/credential-provider-sso": 3.730.0 + "@aws-sdk/credential-provider-web-identity": 3.730.0 + "@aws-sdk/nested-clients": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/credential-provider-imds": ^4.0.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 2e85937c1d4c4d62629b201e82679c984504a34193d33f9f6457c13551770234920f3b0a8911ed8ec30ae88fc4ff54252bcbfdf802e3c910d98bab9e4b956f3d + checksum: c5edcc804803112c8894699a311c529e974d47623bfeed4515b5894cf779e35e14b88a490854dd945e2be66f2ca1968d60d25c327133a5bdea3d764c515295fb languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.621.0" +"@aws-sdk/eventstream-codec@npm:3.370.0": + version: 3.370.0 + resolution: "@aws-sdk/eventstream-codec@npm:3.370.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sts": ^3.621.0 - checksum: b1157e83b81c21f384ad95d29c646149124136c38e6395265ff8d9f5f6afec1e3e2b70c1f0be165c440058802c3871f3766c5e7ba44705ced447de221f4d04df + "@aws-crypto/crc32": 3.0.0 + "@aws-sdk/types": 3.370.0 + "@aws-sdk/util-hex-encoding": 3.310.0 + tslib: ^2.5.0 + checksum: 0366991b92e3801798b0145021e185ac87b559aaef447e086f0964164ff71983afa6575ddc2e94ca7d7ceb307e2f16ec376f97fdccfdbc29a93330fffa43e386 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.686.0" +"@aws-sdk/is-array-buffer@npm:3.310.0": + version: 3.310.0 + resolution: "@aws-sdk/is-array-buffer@npm:3.310.0" dependencies: - "@aws-sdk/core": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/property-provider": ^3.1.7 - "@smithy/types": ^3.6.0 - tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sts": ^3.686.0 - checksum: dbe042d773acb6f51f8be763abb814be038217d1925961afb5c599bb825104d3162e83bc9133e2229a49f335fefebbc9dfd16d88ba3134dbba40de2505c4b9ca - languageName: node - linkType: hard - -"@aws-sdk/credential-providers@npm:^3.350.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-providers@npm:3.621.0" - dependencies: - "@aws-sdk/client-cognito-identity": 3.621.0 - "@aws-sdk/client-sso": 3.621.0 - "@aws-sdk/client-sts": 3.621.0 - "@aws-sdk/credential-provider-cognito-identity": 3.621.0 - "@aws-sdk/credential-provider-env": 3.620.1 - "@aws-sdk/credential-provider-http": 3.621.0 - "@aws-sdk/credential-provider-ini": 3.621.0 - "@aws-sdk/credential-provider-node": 3.621.0 - "@aws-sdk/credential-provider-process": 3.620.1 - "@aws-sdk/credential-provider-sso": 3.621.0 - "@aws-sdk/credential-provider-web-identity": 3.621.0 - "@aws-sdk/types": 3.609.0 - "@smithy/credential-provider-imds": ^3.2.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - checksum: 152a8911ca52a0663e4552e720f73bef2d93088d7b9fc58da88cf2aac91ebc3b720ea8abc5d28228d1658888903bd737dbba88e7d5cc97e2a2c7fdc0e5243c6f + tslib: ^2.5.0 + checksum: ddd1536ad16e29186fb5055bc279cfe9790b7c32552e1ee21e31d4e410e1df297b06c94c6117f854ec368d29e60a231dd8cc77e5b604a6260e7602876fd047f8 languageName: node linkType: hard "@aws-sdk/lib-storage@npm:^3.350.0": - version: 3.621.0 - resolution: "@aws-sdk/lib-storage@npm:3.621.0" + version: 3.730.0 + resolution: "@aws-sdk/lib-storage@npm:3.730.0" dependencies: - "@smithy/abort-controller": ^3.1.1 - "@smithy/middleware-endpoint": ^3.1.0 - "@smithy/smithy-client": ^3.1.11 + "@smithy/abort-controller": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/smithy-client": ^4.0.0 buffer: 5.6.0 events: 3.3.0 stream-browserify: 3.0.0 tslib: ^2.6.2 peerDependencies: - "@aws-sdk/client-s3": ^3.621.0 - checksum: 6c84a1601bcbea53aabad52c2453afd3c577e3935eda4bb13a7d9d4b1405289a3f2f4747327fc30c5eeaf482a9a78d56dfb4453c4c892f876f491e677d0f6c95 + "@aws-sdk/client-s3": ^3.730.0 + checksum: 838132fa73d8c03bc311edd80f84fcc4c669a14daa6bbfb87e9bdc7bfb9e11733d0d2b920fc6567766ee1aca03e00c54ba810f4bfbba4b66251f1cd9b84d004f languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.620.0" +"@aws-sdk/middleware-bucket-endpoint@npm:3.726.0": + version: 3.726.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.726.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-arn-parser": 3.568.0 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/types": ^3.3.0 - "@smithy/util-config-provider": ^3.0.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-arn-parser": 3.723.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/types": ^4.0.0 + "@smithy/util-config-provider": ^4.0.0 tslib: ^2.6.2 - checksum: a5539ad611d3a2f7709952bf735a075a9d18ed5e9c0abe4e268bca32775a2100f3e956a264f6afb0ad0b48600f5b1d3389ec0566cd2795e6ae2dbe5af322b56b + checksum: fe102c92657d98f4f029ca93da2ef1739ad6a597819cfb44c203989df2770b9994f6f7faa3cc9804fbb8737ea253cdc9b7c5ec943fb37ca4fca61d88d239e834 languageName: node linkType: hard -"@aws-sdk/middleware-expect-continue@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.620.0" +"@aws-sdk/middleware-expect-continue@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/protocol-http": ^4.1.0 - "@smithy/types": ^3.3.0 + "@aws-sdk/types": 3.723.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 739af454854562342984ac5e3c1c3dca39205344f52eda5961dae80020595062eaae6da2f76bf48ad486d92041c2a2bd30f1dd67b8b20ae043897d1d27b1a6bb + checksum: 429f1e699e63b7bbff9e44ff70a2ad359f182dabe254ae4455014b66df979e955f740a4f2546352787f0ae83db69326f3e30702e7d6816b0a0969a2d6080fc2d languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.620.0" +"@aws-sdk/middleware-flexible-checksums@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.730.0" dependencies: "@aws-crypto/crc32": 5.2.0 "@aws-crypto/crc32c": 5.2.0 - "@aws-sdk/types": 3.609.0 - "@smithy/is-array-buffer": ^3.0.0 - "@smithy/protocol-http": ^4.1.0 - "@smithy/types": ^3.3.0 - "@smithy/util-utf8": ^3.0.0 - tslib: ^2.6.2 - checksum: 2fc70ffa826d94924c0dae92ed5250c85aade93cbc15a488df81683d8f32eb7660f546569b1c2d2e878db5c8da02a83a3a98c331c5bb3adca46362e667abcbed - languageName: node - linkType: hard - -"@aws-sdk/middleware-host-header@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.620.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/protocol-http": ^4.1.0 - "@smithy/types": ^3.3.0 + "@aws-crypto/util": 5.2.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/is-array-buffer": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/types": ^4.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-stream": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 829c2d230e5051704f45c5283c42bec657607f4e4b2dd251fda8a716be90f8c9dfd6e7d45892a9a558c35cb64711628b3d0f88b90fe8cd061382c70b473991ef + checksum: 180750ed2c63623f453d68a734c393e4a025500857cef833042e193187704c0f9d784bdaae1023e318c447574ec1a04121d3ed3639e7d70772a05c49a8ed335a languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.686.0" +"@aws-sdk/middleware-host-header@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 + "@aws-sdk/types": 3.723.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: ed423fadd10061c554be88e2dfe1ba66990dca363903325a114c59f8cc8d44414286360273ab5edf7f8cf7eb95668ff88e4fbebbad1bf6d859410363959e1304 + checksum: e2517de66beee4eb019f1423855a53c7231ce79ee9447c3efba608f3f7c9f6a2ebe8bc3e1f41a41d2744c110267d98c9479b063b9e7dbc21a31a65ede7a0e9af languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.609.0" +"@aws-sdk/middleware-location-constraint@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/types": ^3.3.0 + "@aws-sdk/types": 3.723.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: f7962cf0b382efdf56cd07f8c0279efead02365edd7a2c124be39551b51a8359ee0d6f0399fcbf679ead3d235e24d1765f79712cf88e06c0a5432bf2d0c317d8 + checksum: c69d2e209a42e5be720f17f88fa37879da7562fac5f27da4ea571499c2438b6a4e5b0fb0a02467bb42de7039486b32522b1b520a4e7f4036432dfb7070cad0ca languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-logger@npm:3.609.0" +"@aws-sdk/middleware-logger@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/middleware-logger@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/types": ^3.3.0 + "@aws-sdk/types": 3.723.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: b6f67a2e9ba082c8aec9d45905ae45ea5a95896f1beecb0c2d7fecfe17dd8fad99513f43b11ed7fd6ca9ff7764a0fc1ce63af91b1baed92b36f7b4b5390be5c6 + checksum: 7ea206deaafc77a6d79713a5dd9480b1784e8edd1e0cdb0cfce8d0fe2ee69c6f41fad07934f39c73f0d69b74511850847f007f3e717e65efb2a1bb9326423ab7 languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/middleware-logger@npm:3.686.0" +"@aws-sdk/middleware-recursion-detection@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/types": ^3.6.0 + "@aws-sdk/types": 3.723.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 513e20d1194fb6d932241c2d6bbf1b6dd1aadd3f9105612f1b381c93dc2bc7057dc0d0a8b25ea5d6354f68fbf218170f2f3dec26daf0a6f5d1134e1d802855a1 - languageName: node - linkType: hard - -"@aws-sdk/middleware-recursion-detection@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.620.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/protocol-http": ^4.1.0 - "@smithy/types": ^3.3.0 + checksum: 06ca854166cf68b81551a57665bd1ebdb96b5d8d9f7cb6faaf92a29d6efcb72bbb50b53c111fb670284586ac4bcb93d0687ec461a7bf04099faa28d02a1ca303 + languageName: node + linkType: hard + +"@aws-sdk/middleware-sdk-s3@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.730.0" + dependencies: + "@aws-sdk/core": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-arn-parser": 3.723.0 + "@smithy/core": ^3.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/signature-v4": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/util-config-provider": ^4.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-stream": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 1dedbbab2f79d4c0b214ca183a45daf89e98f9a33b2a08dcd7d30e059c1bcc04a74499b49870300d5f0b827d660512582f96f857624d3feaaf194a7a92703cea + checksum: a96947ba01ac443469bad33e247548e94dc03adacb6701448518b6dcbf658103975242844774debe64231e7c586ae286b2d76aff4010163365a2234572534e03 languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.686.0" +"@aws-sdk/middleware-ssec@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 + "@aws-sdk/types": 3.723.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: fe30ad3d39dbbb2d0b492ee5329ef6e03eeaf59437b4af75aa90129d21fde6a7b0626bed00dd2dfa8b6f27eb44c941828e200471becc9d574526fc36f2484995 + checksum: d17a6114a43f974bda998ead9b1f2b7ed5845779a902ba518c9cd9fdeb7e220965cf2812cd34b082f7a2d33ac32a7c21cac229f4143a709daed5074820f65d41 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.621.0" +"@aws-sdk/middleware-user-agent@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.730.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-arn-parser": 3.568.0 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/protocol-http": ^4.1.0 - "@smithy/signature-v4": ^4.1.0 - "@smithy/smithy-client": ^3.1.11 - "@smithy/types": ^3.3.0 - "@smithy/util-config-provider": ^3.0.0 - "@smithy/util-stream": ^3.1.3 - "@smithy/util-utf8": ^3.0.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@smithy/core": ^3.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 2db38ad1575e9209f053474ff69731d0c0910304fc14dcdf22a09c06a849cbada0b18f36879d96e3020c0e050f80b02e47c45137da561a3f243cc080f6df4f3a + checksum: 3240cde099f23ea61a3e70f767ea250d5db281b865c32d79c5e9b8c2acd20b34cec69c7aaa2f88f8fafe42b40741849b4616f665ca0811d6c2ed2622613731ce languageName: node linkType: hard -"@aws-sdk/middleware-signing@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-signing@npm:3.620.0" +"@aws-sdk/nested-clients@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/nested-clients@npm:3.730.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/protocol-http": ^4.1.0 - "@smithy/signature-v4": ^4.1.0 - "@smithy/types": ^3.3.0 - "@smithy/util-middleware": ^3.0.3 - tslib: ^2.6.2 - checksum: ef2365b282ccfe8dc29983b620ca6cd5f2e41f5f8d12b84d2e3cb73866535ba3f7383579e561ec5a3c422d3fefdfbb2f3461ae7806a9f87e4fe92fd10a929386 - languageName: node - linkType: hard - -"@aws-sdk/middleware-ssec@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.609.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - checksum: 4b40627ed103159ef0db4cc6bdc2148d1a65b786f3d1c643d34bccc79b9d265495613dc9bb34d18d5ab9b21b5d31110e495ec2b077e6e2f7603a0493254180a2 - languageName: node - linkType: hard - -"@aws-sdk/middleware-user-agent@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.620.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@aws-sdk/util-endpoints": 3.614.0 - "@smithy/protocol-http": ^4.1.0 - "@smithy/types": ^3.3.0 + "@aws-crypto/sha256-browser": 5.2.0 + "@aws-crypto/sha256-js": 5.2.0 + "@aws-sdk/core": 3.730.0 + "@aws-sdk/middleware-host-header": 3.723.0 + "@aws-sdk/middleware-logger": 3.723.0 + "@aws-sdk/middleware-recursion-detection": 3.723.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/region-config-resolver": 3.723.0 + "@aws-sdk/types": 3.723.0 + "@aws-sdk/util-endpoints": 3.730.0 + "@aws-sdk/util-user-agent-browser": 3.723.0 + "@aws-sdk/util-user-agent-node": 3.730.0 + "@smithy/config-resolver": ^4.0.0 + "@smithy/core": ^3.0.0 + "@smithy/fetch-http-handler": ^5.0.0 + "@smithy/hash-node": ^4.0.0 + "@smithy/invalid-dependency": ^4.0.0 + "@smithy/middleware-content-length": ^4.0.0 + "@smithy/middleware-endpoint": ^4.0.0 + "@smithy/middleware-retry": ^4.0.0 + "@smithy/middleware-serde": ^4.0.0 + "@smithy/middleware-stack": ^4.0.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/node-http-handler": ^4.0.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/smithy-client": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/url-parser": ^4.0.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-body-length-node": ^4.0.0 + "@smithy/util-defaults-mode-browser": ^4.0.0 + "@smithy/util-defaults-mode-node": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 + "@smithy/util-middleware": ^4.0.0 + "@smithy/util-retry": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 137a969b5c17ebf172aa1f5a393812c443425dd9833fdf786a3039af5b3197e7d17139659891858b268ff723d9f2c5fbc840e8ac6a7af4b1cb566a3d54746a51 + checksum: 1d836f17ea835facee834c0c7aa2badc516bb1d0e9ef146eebd0e5f59e577c5099d460b54d3eddb6edebbddc507c07e2225d249c8907c35d9612ae767a665a22 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.686.0" +"@aws-sdk/region-config-resolver@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.723.0" dependencies: - "@aws-sdk/core": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@aws-sdk/util-endpoints": 3.686.0 - "@smithy/core": ^2.5.1 - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 + "@aws-sdk/types": 3.723.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/types": ^4.0.0 + "@smithy/util-config-provider": ^4.0.0 + "@smithy/util-middleware": ^4.0.0 tslib: ^2.6.2 - checksum: 228ea78c3a37bedc7e2606bed5886efb7493296aa8bd61ac2aae356a1f414bc33806781adbb13d35fb088025b0343009c8d051e84c4324765a84b444b76569f5 + checksum: 351160af2b7e9d57971cde6efe9e162133ba04c0082fbe62c3b1c9b4341f821b24504f1bff382b6c1d00eccf1b7cda45e6b06ab6d2991f4823814b44d9946a83 languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.614.0" +"@aws-sdk/signature-v4-multi-region@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.730.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/types": ^3.3.0 - "@smithy/util-config-provider": ^3.0.0 - "@smithy/util-middleware": ^3.0.3 + "@aws-sdk/middleware-sdk-s3": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/protocol-http": ^5.0.0 + "@smithy/signature-v4": ^5.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: dbaca50792c99685845b21dd4a53228613e0458ee517a21db941890ee521d91eff80704f08e9ee71b6f04e70fb86362c4823750bb0b3727240af68d78d8fa4be + checksum: 99db8a2e89779d68461bce7c16364fefef25e74fae5a33847b0dfa05e7cb45a636e67d6e09574ee02f41c4f60920b9d90f394d758a9fb2d4794b4a4d709c7894 languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.686.0" - dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/types": ^3.6.0 - "@smithy/util-config-provider": ^3.0.0 - "@smithy/util-middleware": ^3.0.8 - tslib: ^2.6.2 - checksum: d9ea4e6715a994874bff6256af3cdf446762e67b3f65d4469ef2d43be8cbb639d5407a00f2254ce41ebf2b556fad31bb49d63083d0047086df831592a0d6d620 +"@aws-sdk/signature-v4@npm:^3.347.0": + version: 3.370.0 + resolution: "@aws-sdk/signature-v4@npm:3.370.0" + dependencies: + "@aws-sdk/eventstream-codec": 3.370.0 + "@aws-sdk/is-array-buffer": 3.310.0 + "@aws-sdk/types": 3.370.0 + "@aws-sdk/util-hex-encoding": 3.310.0 + "@aws-sdk/util-middleware": 3.370.0 + "@aws-sdk/util-uri-escape": 3.310.0 + "@aws-sdk/util-utf8": 3.310.0 + tslib: ^2.5.0 + checksum: 3652cca13da1c60b80d98274a49feaf30feee0f85908b4a89e0d262532904286fafa6f515a455348e20f6f9a2efbcdcd20ee3a704b892eb01d2fcfd784af8bc7 languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.621.0" +"@aws-sdk/token-providers@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/token-providers@npm:3.730.0" dependencies: - "@aws-sdk/middleware-sdk-s3": 3.621.0 - "@aws-sdk/types": 3.609.0 - "@smithy/protocol-http": ^4.1.0 - "@smithy/signature-v4": ^4.1.0 - "@smithy/types": ^3.3.0 + "@aws-sdk/nested-clients": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/property-provider": ^4.0.0 + "@smithy/shared-ini-file-loader": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 741c07e65341da4c807d55b0bc6f1ec0064190c6fceb7571b0796f6ec94cc156a6214c0f308a93ad364884adae48502d248d30bd0ef43e7a4542586f264982c4 + checksum: 504c1c4397c05ffe65f581cb15f1e6adbf468961e9500acc9f4d464da44703eac96657ce5c73ddc6a8198abe4efb32e2a14a0ba419467f2847fac4828f5d4ee4 languageName: node linkType: hard -"@aws-sdk/signature-v4@npm:^3.347.0": - version: 3.374.0 - resolution: "@aws-sdk/signature-v4@npm:3.374.0" +"@aws-sdk/types@npm:3.370.0": + version: 3.370.0 + resolution: "@aws-sdk/types@npm:3.370.0" dependencies: - "@smithy/signature-v4": ^1.0.1 + "@smithy/types": ^1.1.0 tslib: ^2.5.0 - checksum: 7d8158a377ed220ff119682b1b850ff2c6c2ff1596cc487a63163cce914b0d3e63835b3df32de3550f938d0d4bca5c4664fe462a58c6da41396660a5a01d8f59 - languageName: node - linkType: hard - -"@aws-sdk/token-providers@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/token-providers@npm:3.614.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/property-provider": ^3.1.3 - "@smithy/shared-ini-file-loader": ^3.1.4 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sso-oidc": ^3.614.0 - checksum: 2901b8428afc3b76ff1df9ac29a2698db6bf65d1d2afcd8424b9bf187313d2a3ca747c3b205afeb5c132068b5a5a94d84ce82710f775fa0cbb79499d7fea2d64 + checksum: 105a5768f20075035c2250de69f782ea4219c9ed8cd426c9ab57605616c8b1d534764d3c5b29e9715eb68a0e3f99b27ed463c410a3d728abf3c4ad59347e9f4e languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/token-providers@npm:3.686.0" +"@aws-sdk/types@npm:3.723.0, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.347.0": + version: 3.723.0 + resolution: "@aws-sdk/types@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/property-provider": ^3.1.7 - "@smithy/shared-ini-file-loader": ^3.1.8 - "@smithy/types": ^3.6.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - peerDependencies: - "@aws-sdk/client-sso-oidc": ^3.686.0 - checksum: eae1cf27c76659ca1a802f4c99945cd17faec5310cde1e7cb795c64b7e8539a848a0b5ec906f3261fd2cf9f682fa4e21ab6542c2ebc4eb9655bdc795e653d4be + checksum: 670840051b6575e3b94f4963fceb75b08a4ea027e1acbbe60b7e39a373494d537cd7c4a9825d0455be62e0c1849903f7a1b41c3a6212877d2fd4e62ffd4d26ef languageName: node linkType: hard -"@aws-sdk/types@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/types@npm:3.609.0" +"@aws-sdk/util-arn-parser@npm:3.723.0, @aws-sdk/util-arn-parser@npm:^3.310.0": + version: 3.723.0 + resolution: "@aws-sdk/util-arn-parser@npm:3.723.0" dependencies: - "@smithy/types": ^3.3.0 tslib: ^2.6.2 - checksum: 522768d08f104065b0ff6a37eddaa7803186014acee1c0011b3dbd3ef841e47ae694e58f608aeec8a39d22d644d759ade996fe51d18b880617778dc2dbbe1ede + checksum: 161935d6ef215a629f5f0909c8d04b478381a9f5687e89df82d9cefa20435fe7c182d16abbbce16926f29d0a310c5acbdaf472c452639d155b08f072904a76d3 languageName: node linkType: hard -"@aws-sdk/types@npm:3.686.0, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.347.0": - version: 3.686.0 - resolution: "@aws-sdk/types@npm:3.686.0" +"@aws-sdk/util-buffer-from@npm:3.310.0": + version: 3.310.0 + resolution: "@aws-sdk/util-buffer-from@npm:3.310.0" dependencies: - "@smithy/types": ^3.6.0 - tslib: ^2.6.2 - checksum: 59eda13ad391eb719ebec1cac06755c21d043d71681f1e8ecb3ea39f333c3c7e635bc11967c57d82472c74683be519703219290684d57d594189ca35eb7935cc + "@aws-sdk/is-array-buffer": 3.310.0 + tslib: ^2.5.0 + checksum: 9c3bd9c0664a0cbb5270eb285a662274bb9c46ae0d79e0275a85e74659a4b1f094bab900994780fd70dd0152dc6d2d33a8bc681d87f3911fa48eae9f6c3558d6 languageName: node linkType: hard -"@aws-sdk/util-arn-parser@npm:3.568.0, @aws-sdk/util-arn-parser@npm:^3.310.0": - version: 3.568.0 - resolution: "@aws-sdk/util-arn-parser@npm:3.568.0" +"@aws-sdk/util-endpoints@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/util-endpoints@npm:3.730.0" dependencies: + "@aws-sdk/types": 3.723.0 + "@smithy/types": ^4.0.0 + "@smithy/util-endpoints": ^3.0.0 tslib: ^2.6.2 - checksum: e3c45e5d524a772954d0a33614d397414185b9eb635423d01253cad1c1b9add625798ed9cf23343d156fae89c701f484bc062ab673f67e2e2edfe362fde6d170 + checksum: fc3cd65a81ca50e1952d5f190af139bcdf6907ed05518deba88e793180e0e6e4ec09b85d87d2099cdf71cca63086418c76f8edaf2cb0ebbb8544eee5db207a72 languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/util-endpoints@npm:3.614.0" +"@aws-sdk/util-hex-encoding@npm:3.310.0": + version: 3.310.0 + resolution: "@aws-sdk/util-hex-encoding@npm:3.310.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/types": ^3.3.0 - "@smithy/util-endpoints": ^2.0.5 - tslib: ^2.6.2 - checksum: 9d9973ceee59bf30af85c7f4328083daea033a987ec396dcb89eb7649f470ceb19c6b96635e121f3557e726f7ec7453236c956cf43f22128883c277f17d2a13f + tslib: ^2.5.0 + checksum: 97b8d7e0e406189cdbd4fccb0a497dd247a22d54b18caf5a64a63d19d2535b95a64ee79ecf81b13f741bda1d565eb11448d4fd39617e4b86fc8626b05485d98c languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/util-endpoints@npm:3.686.0" +"@aws-sdk/util-locate-window@npm:^3.0.0": + version: 3.723.0 + resolution: "@aws-sdk/util-locate-window@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/types": ^3.6.0 - "@smithy/util-endpoints": ^2.1.4 tslib: ^2.6.2 - checksum: b6bfb0edba2b98dbb3004378d5ddcd455a506bcb68f5f40ddd1a807ff265c46cf3fa183f9aa8b987e9db7cb286c6d9b3d3a43bc625ea8a6e469392d7844fee06 + checksum: 2ac0322b579fd4008727ca2af5daa3527395b24270cbbda1bf00fe07c8f7727e6e192a88ed864285e285fb1447e39925fa0433efebf664e6cdbc968d07e51470 languageName: node linkType: hard -"@aws-sdk/util-locate-window@npm:^3.0.0": - version: 3.495.0 - resolution: "@aws-sdk/util-locate-window@npm:3.495.0" +"@aws-sdk/util-middleware@npm:3.370.0": + version: 3.370.0 + resolution: "@aws-sdk/util-middleware@npm:3.370.0" dependencies: tslib: ^2.5.0 - checksum: 73c5fc3199207f8ea19f07668c9412929eca36d91b12ca36212317f78cc0d47afb39a5a5112bee62a0dd62d05c87b22ebb40de23b9dc5efb0d6117d755a00ce0 + checksum: a39565cf6e99e7d5ee883af75dd01168822acb8679ec0b1fea5ac99301b1c9a2dc8bde9da11a6780dd3a7681a15e408166b4407e8c6617706d9c53bc191783f2 languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.609.0" +"@aws-sdk/util-uri-escape@npm:3.310.0": + version: 3.310.0 + resolution: "@aws-sdk/util-uri-escape@npm:3.310.0" dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/types": ^3.3.0 - bowser: ^2.11.0 - tslib: ^2.6.2 - checksum: 75ba1ae74dd1001f47870766d92b66ac02a0a488efcf42c1a368962a7978a778d99536e880f07f7db1c2ca66cc9b1863fd3342957a22dcf78bf2f4398265a7a5 + tslib: ^2.5.0 + checksum: 614c0a43b238b7371b6655a5961e21c57b708de3e1ce3138bd56284bedc48888e5c7d2a6965544108c3334fcdc45e9ddba86b2470c8e6901559ad7be8e21d418 languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.686.0" +"@aws-sdk/util-user-agent-browser@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.723.0" dependencies: - "@aws-sdk/types": 3.686.0 - "@smithy/types": ^3.6.0 + "@aws-sdk/types": 3.723.0 + "@smithy/types": ^4.0.0 bowser: ^2.11.0 tslib: ^2.6.2 - checksum: 8a86a1123583f1cfbe3c0680222110786867cc6db2cc5583a08fc952483fc5147072e366033628cf88e224ddd3fb76cc8779f5716ccbafbfa09492a2e9b206d1 - languageName: node - linkType: hard - -"@aws-sdk/util-user-agent-node@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.614.0" - dependencies: - "@aws-sdk/types": 3.609.0 - "@smithy/node-config-provider": ^3.1.4 - "@smithy/types": ^3.3.0 - tslib: ^2.6.2 - peerDependencies: - aws-crt: ">=1.0.0" - peerDependenciesMeta: - aws-crt: - optional: true - checksum: 1f010080c2301fd836908963a235ef39e597d959e27461d15d4958fa582ab20795022f8cb7429c183c386f558a5c125cb254a0c4e844dbc6422169f4884be34a + checksum: 40fac8acab1a935d920b3c0b5e152b000b184627b1b502424719fdf4df82068080b65db7ef08538aaac2d98b551aacbee5816cce9e6b3fcdfbeb7767c2989dae languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.686.0": - version: 3.686.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.686.0" +"@aws-sdk/util-user-agent-node@npm:3.730.0": + version: 3.730.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.730.0" dependencies: - "@aws-sdk/middleware-user-agent": 3.686.0 - "@aws-sdk/types": 3.686.0 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/types": ^3.6.0 + "@aws-sdk/middleware-user-agent": 3.730.0 + "@aws-sdk/types": 3.723.0 + "@smithy/node-config-provider": ^4.0.0 + "@smithy/types": ^4.0.0 tslib: ^2.6.2 peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 83070366bf252b2cdaf257c6e454c800175488f65539b0a244d5045839632cd104240dc459623a2307901eec19cfdd6bf2b51abe365861a111ba2588116d0ad4 + checksum: 6833d98febc106c62f302d156ffd6c1b795c9511ef4cca0b8494dd8712a5f307ff2cb8930cd8f8aef42e8f595ef2866e66707aa4de02bc9b102393024aa32a0f languageName: node linkType: hard @@ -1555,13 +1194,23 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/xml-builder@npm:3.609.0" +"@aws-sdk/util-utf8@npm:3.310.0": + version: 3.310.0 + resolution: "@aws-sdk/util-utf8@npm:3.310.0" dependencies: - "@smithy/types": ^3.3.0 + "@aws-sdk/util-buffer-from": 3.310.0 + tslib: ^2.5.0 + checksum: 4045e79b8e3593e12233b359ba77d1b4c162fd9fcb4ab3b58b711c41b725552306dd91402b8d57ce5be080c76309f046a7a0c4ff704d12f9ba71e3b25b810086 + languageName: node + linkType: hard + +"@aws-sdk/xml-builder@npm:3.723.0": + version: 3.723.0 + resolution: "@aws-sdk/xml-builder@npm:3.723.0" + dependencies: + "@smithy/types": ^4.0.0 tslib: ^2.6.2 - checksum: 0e9c8b7786737ff50a6cf39f7ca9a758897c2db364718364b5dad45f50a33e65bd7801348fd033af60768a5be64b454c3a7e65222e13c70d145e8df6211ca33c + checksum: ec40dc181575b8fed4d14168d60c2a96ab59ad845aed690c499da0434205e033a07ce3a0a35d38f381248500e3c560c46321612b33bbcfad8294d217dab065ce languageName: node linkType: hard @@ -1574,16 +1223,16 @@ __metadata: languageName: node linkType: hard -"@azure/abort-controller@npm:^2.0.0": - version: 2.0.0 - resolution: "@azure/abort-controller@npm:2.0.0" +"@azure/abort-controller@npm:^2.0.0, @azure/abort-controller@npm:^2.1.2": + version: 2.1.2 + resolution: "@azure/abort-controller@npm:2.1.2" dependencies: - tslib: ^2.2.0 - checksum: 9eece9e860767fb2845b16cd1f66597bedc023c3078482d082be03ecd59d4a0187b36e30d5ee5346aae9baf9e4320dd2b104e1d612eaffce9825d5c3c9b316f7 + tslib: ^2.6.2 + checksum: 22176c04ea01498311c6bbd336669f6e3faffad1cbb0c9ebc6ee9c1ff2cf958fd17ce73c7354b99d8bda9fcd311325ece7bee248875279174e3fc460e8b1a63d languageName: node linkType: hard -"@azure/core-auth@npm:^1.3.0, @azure/core-auth@npm:^1.4.0, @azure/core-auth@npm:^1.5.0, @azure/core-auth@npm:^1.8.0, @azure/core-auth@npm:^1.9.0": +"@azure/core-auth@npm:^1.4.0, @azure/core-auth@npm:^1.5.0, @azure/core-auth@npm:^1.8.0, @azure/core-auth@npm:^1.9.0": version: 1.9.0 resolution: "@azure/core-auth@npm:1.9.0" dependencies: @@ -1594,7 +1243,7 @@ __metadata: languageName: node linkType: hard -"@azure/core-client@npm:^1.9.2": +"@azure/core-client@npm:^1.3.0, @azure/core-client@npm:^1.6.2, @azure/core-client@npm:^1.9.2": version: 1.9.2 resolution: "@azure/core-client@npm:1.9.2" dependencies: @@ -1609,85 +1258,64 @@ __metadata: languageName: node linkType: hard -"@azure/core-http@npm:^3.0.0": - version: 3.0.4 - resolution: "@azure/core-http@npm:3.0.4" +"@azure/core-http-compat@npm:^2.0.0": + version: 2.1.2 + resolution: "@azure/core-http-compat@npm:2.1.2" dependencies: - "@azure/abort-controller": ^1.0.0 - "@azure/core-auth": ^1.3.0 - "@azure/core-tracing": 1.0.0-preview.13 - "@azure/core-util": ^1.1.1 - "@azure/logger": ^1.0.0 - "@types/node-fetch": ^2.5.0 - "@types/tunnel": ^0.0.3 - form-data: ^4.0.0 - node-fetch: ^2.6.7 - process: ^0.11.10 - tslib: ^2.2.0 - tunnel: ^0.0.6 - uuid: ^8.3.0 - xml2js: ^0.5.0 - checksum: dc7cb65f782c2e947b4f8464347b5a9f5a13f557c5287a23ec87e4271ab96026fc5b9fe825fe6eacc97a09acc82c815482cef4d118e01cf9ec8bab0efeb157f9 + "@azure/abort-controller": ^2.0.0 + "@azure/core-client": ^1.3.0 + "@azure/core-rest-pipeline": ^1.3.0 + checksum: 387d0187607d95a6876f63d4b689210bce6ad243f48e56413136ba3875a8a9c4e238813307fb0cf0c53298f4b9d0893d04321c9331812bc74cf0f4e3e6872069 languageName: node linkType: hard "@azure/core-lro@npm:^2.2.0": - version: 2.6.0 - resolution: "@azure/core-lro@npm:2.6.0" + version: 2.7.2 + resolution: "@azure/core-lro@npm:2.7.2" dependencies: "@azure/abort-controller": ^2.0.0 "@azure/core-util": ^1.2.0 "@azure/logger": ^1.0.0 - tslib: ^2.2.0 - checksum: da30aa3e0f6f18af6d854cc2157bf4a98ba831b4afefdae4ba6bd3959f82329d3dd2329e476670b033e3d7f5e26c7a0defef0bf763932a9d895e317c108b3204 + tslib: ^2.6.2 + checksum: dc2e5bbb004a86704bcf584422cd099b7a6beef57ce6501afacced65f4f3b5fbba57a2439f701687237867552a661fd6568f8b3c9e3eacdfd9039004772f85b0 languageName: node linkType: hard "@azure/core-paging@npm:^1.1.1": - version: 1.5.0 - resolution: "@azure/core-paging@npm:1.5.0" + version: 1.6.2 + resolution: "@azure/core-paging@npm:1.6.2" dependencies: - tslib: ^2.2.0 - checksum: 156230f0fdf757a0353a2aac6d012d385ed88f8ab5bccf00eee27d8d75843e681674b2d10ed43309669f9cb93bf8d9d000232896593b6fcf399fa391442a59c5 + tslib: ^2.6.2 + checksum: 4b57f953998473ee784c3ea774a8b54f4be0ec239bd43cbabe28113ca18f141455289713302d4fcd802898dd7ab58380ff575b7ce9400ec1ec20c505791c0b25 languageName: node linkType: hard -"@azure/core-rest-pipeline@npm:^1.1.0, @azure/core-rest-pipeline@npm:^1.17.0, @azure/core-rest-pipeline@npm:^1.9.1": - version: 1.17.0 - resolution: "@azure/core-rest-pipeline@npm:1.17.0" +"@azure/core-rest-pipeline@npm:^1.1.0, @azure/core-rest-pipeline@npm:^1.10.1, @azure/core-rest-pipeline@npm:^1.17.0, @azure/core-rest-pipeline@npm:^1.3.0, @azure/core-rest-pipeline@npm:^1.9.1": + version: 1.18.2 + resolution: "@azure/core-rest-pipeline@npm:1.18.2" dependencies: "@azure/abort-controller": ^2.0.0 "@azure/core-auth": ^1.8.0 "@azure/core-tracing": ^1.0.1 - "@azure/core-util": ^1.9.0 + "@azure/core-util": ^1.11.0 "@azure/logger": ^1.0.0 http-proxy-agent: ^7.0.0 https-proxy-agent: ^7.0.0 tslib: ^2.6.2 - checksum: 8a79cbaaae295964bb8d18cb44873e705ebe3f9217fe74d83415b7266e46c3d6297c799d6e5e49516b165d273e0b794bf0ed14bb6aa875d09d4a90c3a559b6df + checksum: 25ee67f11c2c30eebfdeebfaf163572c4820a9981cb40223c59c097f5ce81f6c858527a6a2e67e56fc4402a2efcc69942287dc70665c6b255242295f846f4f05 languageName: node linkType: hard -"@azure/core-tracing@npm:1.0.0-preview.13": - version: 1.0.0-preview.13 - resolution: "@azure/core-tracing@npm:1.0.0-preview.13" - dependencies: - "@opentelemetry/api": ^1.0.1 - tslib: ^2.2.0 - checksum: bc3ea8dce1fc6bb6e4cb2e82ec0c361b3e6f6e18e162f352eb347e6991c6461ebc249f5d1b36402cc0d295e2a6bcbaa68014445d7f4293c0792a698c430f145e - languageName: node - linkType: hard - -"@azure/core-tracing@npm:^1.0.0, @azure/core-tracing@npm:^1.0.1": - version: 1.0.1 - resolution: "@azure/core-tracing@npm:1.0.1" +"@azure/core-tracing@npm:^1.0.0, @azure/core-tracing@npm:^1.0.1, @azure/core-tracing@npm:^1.1.2": + version: 1.2.0 + resolution: "@azure/core-tracing@npm:1.2.0" dependencies: - tslib: ^2.2.0 - checksum: ae4309f8ab0b52c37f699594d58ee095782649f538bd6a0ee03e3fea042f55df7ad95c2e6dec22f5b8c3907e4bcf98d6ca98faaf480d446b73d41bbc1519d891 + tslib: ^2.6.2 + checksum: 202ebf411a3076bd2c48b7a4c1b63335f53be6dd97f7d53500e3191b7ed0fdad25de219f422e777fde824031fd5c67087654de0304a5c0cd67c38cdcab96117c languageName: node linkType: hard -"@azure/core-util@npm:^1.1.1, @azure/core-util@npm:^1.11.0, @azure/core-util@npm:^1.2.0, @azure/core-util@npm:^1.3.0, @azure/core-util@npm:^1.6.1, @azure/core-util@npm:^1.9.0": +"@azure/core-util@npm:^1.11.0, @azure/core-util@npm:^1.2.0, @azure/core-util@npm:^1.3.0, @azure/core-util@npm:^1.6.1": version: 1.11.0 resolution: "@azure/core-util@npm:1.11.0" dependencies: @@ -1697,6 +1325,16 @@ __metadata: languageName: node linkType: hard +"@azure/core-xml@npm:^1.4.3": + version: 1.4.4 + resolution: "@azure/core-xml@npm:1.4.4" + dependencies: + fast-xml-parser: ^4.4.1 + tslib: ^2.6.2 + checksum: 05537e7e3bf9dcf0b5b18726ae59977f867aa4f9ed368f010c57a0a24d0a9a1608aab9dd9db9762cd1176d6dfabf69e1ae671327275c575310c0e029153e8179 + languageName: node + linkType: hard + "@azure/identity@npm:4.4.1": version: 4.4.1 resolution: "@azure/identity@npm:4.4.1" @@ -1720,8 +1358,8 @@ __metadata: linkType: hard "@azure/identity@npm:^4.0.0": - version: 4.5.0 - resolution: "@azure/identity@npm:4.5.0" + version: 4.6.0 + resolution: "@azure/identity@npm:4.6.0" dependencies: "@azure/abort-controller": ^2.0.0 "@azure/core-auth": ^1.9.0 @@ -1730,66 +1368,87 @@ __metadata: "@azure/core-tracing": ^1.0.0 "@azure/core-util": ^1.11.0 "@azure/logger": ^1.0.0 - "@azure/msal-browser": ^3.26.1 + "@azure/msal-browser": ^4.0.1 "@azure/msal-node": ^2.15.0 events: ^3.0.0 jws: ^4.0.0 open: ^8.0.0 stoppable: ^1.1.0 tslib: ^2.2.0 - checksum: 07d15898f194a220376d8d9c0ee891c93c6da188e44e76810fb781bf3bb7424498a6c1fa5b92c5a4d31f62b7398953f8a5bcf0f0ed57ed72239ce1c4f594b355 + checksum: 641b97048519271fcfecfbb4dc19e2c6937d21bc86229d705cccd188164495e5201a49b297400fc0064383f80ccdb282156dc0f5104160ead2a23842ea86e5e5 languageName: node linkType: hard "@azure/logger@npm:^1.0.0": - version: 1.0.4 - resolution: "@azure/logger@npm:1.0.4" + version: 1.1.4 + resolution: "@azure/logger@npm:1.1.4" dependencies: - tslib: ^2.2.0 - checksum: 2c243d4c667bbc5cd3e60d4473d0f1169fcef2498a02138398af15547fe1b2870197bcb4c487327451488e4d71dee05244771d51328f03611e193b99fb9aa9af + tslib: ^2.6.2 + checksum: d4bfd83f31afc465689e02ac2d8eb0a1c6573cc47ea3fa18778c5d7d096ee7a4fdc130f00e9d162ec8ed192aeb9a54d5c3ab15bd7a12bbe039d5f594ba0f797b + languageName: node + linkType: hard + +"@azure/msal-browser@npm:^3.14.0": + version: 3.28.1 + resolution: "@azure/msal-browser@npm:3.28.1" + dependencies: + "@azure/msal-common": 14.16.0 + checksum: d3aef73077254c9932bec7494adc48857f8e7612b30d30cc036bddb0fcd83af020158cd5e47ac43058a362b262cd132352e2f8c4dac5890228e9f63c1738f327 languageName: node linkType: hard -"@azure/msal-browser@npm:^3.14.0, @azure/msal-browser@npm:^3.26.1": - version: 3.26.1 - resolution: "@azure/msal-browser@npm:3.26.1" +"@azure/msal-browser@npm:^4.0.1": + version: 4.0.1 + resolution: "@azure/msal-browser@npm:4.0.1" dependencies: - "@azure/msal-common": 14.15.0 - checksum: 70ebea1abc4bc6b0e5a250f865cffd24a1aeb615a35e7b572dad11369d486a7aeb4af60048c5f6a5bc3627fad65dbdc8c118f16086cb3f9cc03931699b08f4f7 + "@azure/msal-common": 15.0.1 + checksum: f7a89a83e260210f36066430ce0c7a3aecb4786752bfee5bf601d0b0f552046022725f9db9291f1307e93214faa8f2ab0abfe73bae7abab4edcac44681511113 languageName: node linkType: hard -"@azure/msal-common@npm:14.15.0": - version: 14.15.0 - resolution: "@azure/msal-common@npm:14.15.0" - checksum: 072e4ca58856997df2e82935c818801a69a85df16d7dccdfed02c1b8f8a772751594efe1b918433c760202348a99aa6ec9d99cc0f018ab2f1659186ad2a8b88e +"@azure/msal-common@npm:14.16.0": + version: 14.16.0 + resolution: "@azure/msal-common@npm:14.16.0" + checksum: 01ec26e22243c5c435b97db085e96f5488733336c142b65a118ee6e523a548d3f17d013147810948cceaee7bdc339362bb9b2799fc9ea53c9d4c9aa10d8987e3 + languageName: node + linkType: hard + +"@azure/msal-common@npm:15.0.1": + version: 15.0.1 + resolution: "@azure/msal-common@npm:15.0.1" + checksum: 23d73f021d20f545292606fdb68fb52b929211eaa2b6ea3082c167e70f909f17fb68afe1f0abcb413ac57c5e7056a01f7c58e87986e4ed674beaeed1eda749f4 languageName: node linkType: hard "@azure/msal-node@npm:^2.15.0, @azure/msal-node@npm:^2.9.2": - version: 2.15.0 - resolution: "@azure/msal-node@npm:2.15.0" + version: 2.16.2 + resolution: "@azure/msal-node@npm:2.16.2" dependencies: - "@azure/msal-common": 14.15.0 + "@azure/msal-common": 14.16.0 jsonwebtoken: ^9.0.0 uuid: ^8.3.0 - checksum: 10dd1c273e2465d519d28ee04d1c9e2e4ecfa2cab664b38677502c626139f86a16f7d78c645e6727d550a84dfa7773ebea1fb2cc7454870f3c6507d601e6ef2f + checksum: 3676972cf7e1e91ea60773d7054275534239d209989da4c4c1aa790790ba309a2da58d6c593b6465feb1c7028772fce77757227e7ac9631b3a79e4f5a0a81aab languageName: node linkType: hard "@azure/storage-blob@npm:^12.5.0": - version: 12.17.0 - resolution: "@azure/storage-blob@npm:12.17.0" + version: 12.26.0 + resolution: "@azure/storage-blob@npm:12.26.0" dependencies: - "@azure/abort-controller": ^1.0.0 - "@azure/core-http": ^3.0.0 + "@azure/abort-controller": ^2.1.2 + "@azure/core-auth": ^1.4.0 + "@azure/core-client": ^1.6.2 + "@azure/core-http-compat": ^2.0.0 "@azure/core-lro": ^2.2.0 "@azure/core-paging": ^1.1.1 - "@azure/core-tracing": 1.0.0-preview.13 + "@azure/core-rest-pipeline": ^1.10.1 + "@azure/core-tracing": ^1.1.2 + "@azure/core-util": ^1.6.1 + "@azure/core-xml": ^1.4.3 "@azure/logger": ^1.0.0 events: ^3.0.0 tslib: ^2.2.0 - checksum: 2e5d3f26577f698498bba7ff7b7cfeb942709a713d9c72864b80633bee28e2b369370afc55f18e49ccc02b4dad9d1de3a4602caa99dce1f8d8196c8472a8add1 + checksum: c3f7572bc54cd9e74ac73fa9225cc9398a716e574ff9b637e5b27faf4ac2d6207dc64b39f5dcff1671c4cb6730fbd765ebf796abd3e18ef95f5071d613ce3a13 languageName: node linkType: hard @@ -1802,59 +1461,48 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.8.3": - version: 7.25.9 - resolution: "@babel/code-frame@npm:7.25.9" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.24.2, @babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2, @babel/code-frame@npm:^7.8.3": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" dependencies: - "@babel/highlight": ^7.25.9 + "@babel/helper-validator-identifier": ^7.25.9 + js-tokens: ^4.0.0 picocolors: ^1.0.0 - checksum: 458015f42f130bc70a19aaf016eaabb51e8c6508feb65394115972621bf864c2cc6b07ee547b1d95e2fde958e14243f79a4d0223ef6d52963820cafcf6fcf11b + checksum: db13f5c42d54b76c1480916485e6900748bbcb0014a8aca87f50a091f70ff4e0d0a6db63cade75eb41fcc3d2b6ba0a7f89e343def4f96f00269b41b8ab8dd7b8 languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.7, @babel/compat-data@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/compat-data@npm:7.25.9" - checksum: 59d8c9d4907076e9a7a02ef065faec7b6f512bdaaf160dfa4e3c4476d816203a304d6e86e7104b063ac7cde571ee20dd83eb7b5260ef2e7cd06ca681bc424aa7 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.0, @babel/compat-data@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/compat-data@npm:7.26.5" + checksum: 7aaac0e79cf6f38478b877b1185413390bfe8ce9f2a19f906cfdf898df82f5a932579bee49c5d0d0a6fd838c715ff59d4958bfd161ef0e857e5eb083efb707b4 languageName: node linkType: hard "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.19.6, @babel/core@npm:^7.21.3, @babel/core@npm:^7.23.9": - version: 7.25.9 - resolution: "@babel/core@npm:7.25.9" + version: 7.26.0 + resolution: "@babel/core@npm:7.26.0" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.25.9 - "@babel/generator": ^7.25.9 + "@babel/code-frame": ^7.26.0 + "@babel/generator": ^7.26.0 "@babel/helper-compilation-targets": ^7.25.9 - "@babel/helper-module-transforms": ^7.25.9 - "@babel/helpers": ^7.25.9 - "@babel/parser": ^7.25.9 + "@babel/helper-module-transforms": ^7.26.0 + "@babel/helpers": ^7.26.0 + "@babel/parser": ^7.26.0 "@babel/template": ^7.25.9 "@babel/traverse": ^7.25.9 - "@babel/types": ^7.25.9 + "@babel/types": ^7.26.0 convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.2.3 semver: ^6.3.1 - checksum: 6633cd8abdd679ffefe526a6611d4721f90f76ebf1944a8501e8beccad24a4a71c07530c8245370660c6449618b9f454a3326bac85ff03d61df7bab6f0710522 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.25.9, @babel/generator@npm:^7.7.2": - version: 7.25.9 - resolution: "@babel/generator@npm:7.25.9" - dependencies: - "@babel/types": ^7.25.9 - "@jridgewell/gen-mapping": ^0.3.5 - "@jridgewell/trace-mapping": ^0.3.25 - jsesc: ^3.0.2 - checksum: 4b8f27363e6521ca9e33d307744aeff8b6f540492eb935e597e115304d999eb228b24d43ce679e2c0337b4a98966ae28dc53f1fab86db1eb852d53e11120fd7b + checksum: b296084cfd818bed8079526af93b5dfa0ba70282532d2132caf71d4060ab190ba26d3184832a45accd82c3c54016985a4109ab9118674347a7e5e9bc464894e6 languageName: node linkType: hard -"@babel/generator@npm:^7.26.2": +"@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.2, @babel/generator@npm:^7.26.5, @babel/generator@npm:^7.7.2": version: 7.26.5 resolution: "@babel/generator@npm:7.26.5" dependencies: @@ -1867,73 +1515,61 @@ __metadata: languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.22.5, @babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 6178566099a6a0657db7a7fa601a54fb4731ca0b8614fbdccfd8e523c210c13963649bc8fdfd53ce7dd14d05e3dda2fb22dea5b30113c488b9eb1a906d60212e - languageName: node - linkType: hard - -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 71a6158a9fdebffb82fdc400d5555ba8f2e370cea81a0d578155877bdc4db7d5252b75c43b2fdf3f72b3f68348891f99bd35ae315542daad1b7ace8322b1abcb + "@babel/types": ^7.25.9 + checksum: 41edda10df1ae106a9b4fe617bf7c6df77db992992afd46192534f5cff29f9e49a303231733782dd65c5f9409714a529f215325569f14282046e9d3b7a1ffb6c languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.7, @babel/helper-compilation-targets@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-compilation-targets@npm:7.25.9" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9": + version: 7.26.5 + resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: - "@babel/compat-data": ^7.25.9 + "@babel/compat-data": ^7.26.5 "@babel/helper-validator-option": ^7.25.9 browserslist: ^4.24.0 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: 3af536e2db358b38f968abdf7d512d425d1018fef2f485d6f131a57a7bcaed32c606b4e148bb230e1508fa42b5b2ac281855a68eb78270f54698c48a83201b9b + checksum: 6bc0107613bf1d4d21913606e8e517194e5099a24db2a8374568e56ef4626e8140f9b8f8a4aabc35479f5904459a0aead2a91ee0dc63aae110ccbc2bc4b4fda1 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.7" +"@babel/helper-create-class-features-plugin@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 - "@babel/helper-optimise-call-expression": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-member-expression-to-functions": ^7.25.9 + "@babel/helper-optimise-call-expression": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + "@babel/traverse": ^7.25.9 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 371a181a1717a9b0cebc97727c8ea9ca6afa34029476a684b6030f9d1ad94dcdafd7de175da10b63ae3ba79e4e82404db8ed968ebf264b768f097e5d64faab71 + checksum: 91dd5f203ed04568c70b052e2f26dfaac7c146447196c00b8ecbb6d3d2f3b517abadb985d3321a19d143adaed6fe17f7f79f8f50e0c20e9d8ad83e1027b42424 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.7" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.26.3" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - regexpu-core: ^5.3.1 + "@babel/helper-annotate-as-pure": ^7.25.9 + regexpu-core: ^6.2.0 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 17c59fa222af50f643946eca940ce1d474ff2da1f4afed2312687ab9d708ebbb8c9372754ddbdf44b6e21ead88b8fc144644f3a7b63ccb886de002458cef3974 + checksum: 50a27d8ce6da5c2fa0c62c132c4d27cfeb36e3233ff1e5220d643de3dafe49423b507382f0b72a696fce7486014b134c1e742f55438590f9405d26765b009af0 languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.1, @babel/helper-define-polyfill-provider@npm:^0.6.2": - version: 0.6.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" +"@babel/helper-define-polyfill-provider@npm:^0.6.2, @babel/helper-define-polyfill-provider@npm:^0.6.3": + version: 0.6.3 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.3" dependencies: "@babel/helper-compilation-targets": ^7.22.6 "@babel/helper-plugin-utils": ^7.22.5 @@ -1942,49 +1578,21 @@ __metadata: resolve: ^1.14.2 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 2bba965ea9a4887ddf9c11d51d740ab473bd7597b787d042c325f6a45912dfe908c2d6bb1d837bf82f7e9fa51e6ad5150563c58131d2bb85515e63d971414a9c - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-environment-visitor@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 079d86e65701b29ebc10baf6ed548d17c19b808a07aa6885cc141b690a78581b180ee92b580d755361dc3b16adf975b2d2058b8ce6c86675fcaf43cf22f2f7c6 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-function-name@npm:7.24.7" - dependencies: - "@babel/template": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 142ee08922074dfdc0ff358e09ef9f07adf3671ab6eef4fca74dcf7a551f1a43717e7efa358c9e28d7eea84c28d7f177b7a58c70452fc312ae3b1893c5dab2a4 + checksum: 710e6d8a5391736b9f53f09d0494575c2e03de199ad8d1349bc8e514cb85251ea1f1842c2ff44830849d482052ddb42ae931101002a87a263b12f649c2e57c01 languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-hoist-variables@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: 6cfdcf2289cd12185dcdbdf2435fa8d3447b797ac75851166de9fc8503e2fd0021db6baf8dfbecad3753e582c08e6a3f805c8d00cbed756060a877d705bd8d8d - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.7" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 9fecf412f85fa23b7cf55d19eb69de39f8240426a028b141c9df2aed8cfedf20b3ec3318d40312eb7a3dec9eea792828ce0d590e0ff62da3da532482f537192c + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 8e2f1979b6d596ac2a8cbf17f2cf709180fefc274ac3331408b48203fe19134ed87800774ef18838d0275c3965130bae22980d90caed756b7493631d4b2cf961 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.24.7, @babel/helper-module-imports@npm:^7.25.9": +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: @@ -1994,88 +1602,68 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.24.7, @babel/helper-module-transforms@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-transforms@npm:7.25.9" +"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: "@babel/helper-module-imports": ^7.25.9 - "@babel/helper-simple-access": ^7.25.9 "@babel/helper-validator-identifier": ^7.25.9 "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: 12e50861531ff45667925c958a5d01f0a7fbd37b589d73be7f167c94595091c6842531b1b14a22049b53c56891fa596f014c94d9496685311aaa80651805fca0 + checksum: 942eee3adf2b387443c247a2c190c17c4fd45ba92a23087abab4c804f40541790d51ad5277e4b5b1ed8d5ba5b62de73857446b7742f835c18ebd350384e63917 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": ^7.24.7 - checksum: 280654eaf90e92bf383d7eed49019573fb35a98c9e992668f701ad099957246721044be2068cf6840cb2299e0ad393705a1981c88c23a1048096a8d59e5f79a3 + "@babel/types": ^7.25.9 + checksum: f09d0ad60c0715b9a60c31841b3246b47d67650c512ce85bbe24a3124f1a4d66377df793af393273bc6e1015b0a9c799626c48e53747581c1582b99167cc65dc languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.7 - resolution: "@babel/helper-plugin-utils@npm:7.24.7" - checksum: 81f2a15751d892e4a8fce25390f973363a5b27596167861d2d6eab0f61856eb2ba389b031a9f19f669c0bd4dd601185828d3cebafd25431be7a1696f2ce3ef68 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 4771fbb1711c624c62d12deabc2ed7435a6e6994b6ce09d5ede1bc1bf19be59c3775461a1e693bdd596af865685e87bb2abc778f62ceadc1b2095a8e2aa74180 languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-remap-async-to-generator@npm:7.24.7" +"@babel/helper-remap-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-wrap-function": ^7.24.7 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-wrap-function": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: bab7be178f875350f22a2cb9248f67fe3a8a8128db77a25607096ca7599fd972bc7049fb11ed9e95b45a3f1dd1fac3846a3279f9cbac16f337ecb0e6ca76e1fc + checksum: ea37ad9f8f7bcc27c109963b8ebb9d22bac7a5db2a51de199cb560e251d5593fe721e46aab2ca7d3e7a24b0aa4aff0eaf9c7307af9c2fd3a1d84268579073052 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-replace-supers@npm:7.24.7" +"@babel/helper-replace-supers@npm:^7.25.9": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-member-expression-to-functions": ^7.24.7 - "@babel/helper-optimise-call-expression": ^7.24.7 + "@babel/helper-member-expression-to-functions": ^7.25.9 + "@babel/helper-optimise-call-expression": ^7.25.9 + "@babel/traverse": ^7.26.5 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2bf0d113355c60d86a04e930812d36f5691f26c82d4ec1739e5ec0a4c982c9113dad3167f7c74f888a96328bd5e696372232406d8200e5979e6e0dc2af5e7c76 + checksum: c5ab31b29c7cc09e30278f8860ecdb873ce6c84b5c08bc5239c369c7c4fe9f0a63cda61b55b7bbd20edb4e5dc32e73087cc3c57d85264834bd191551d1499185 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.7, @babel/helper-simple-access@npm:^7.25.9": +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": version: 7.25.9 - resolution: "@babel/helper-simple-access@npm:7.25.9" + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: "@babel/traverse": ^7.25.9 "@babel/types": ^7.25.9 - checksum: 6d96c94b88e8288d15e5352c1221486bd4f62de8c7dc7c7b9f5b107ce2c79f67fec5ed71a0476e146f1fefbbbf1d69abe35dc821d80ce01fc7f472286c342421 - languageName: node - linkType: hard - -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" - dependencies: - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 11b28fe534ce2b1a67c4d8e51a7b5711a2a0a0cae802f74614eee54cca58c744d9a62f6f60103c41759e81c537d270bfd665bf368a6bea214c6052f2094f8407 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-split-export-declaration@npm:7.24.7" - dependencies: - "@babel/types": ^7.24.7 - checksum: e3ddc91273e5da67c6953f4aa34154d005a00791dc7afa6f41894e768748540f6ebcac5d16e72541aea0c89bee4b89b4da6a3d65972a0ea8bfd2352eda5b7e22 + checksum: fdbb5248932198bc26daa6abf0d2ac42cab9c2dbb75b7e9f40d425c8f28f09620b886d40e7f9e4e08ffc7aaa2cefe6fc2c44be7c20e81f7526634702fb615bdc languageName: node linkType: hard @@ -2086,43 +1674,42 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7, @babel/helper-validator-identifier@npm:^7.25.9": +"@babel/helper-validator-identifier@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-identifier@npm:7.25.9" checksum: 5b85918cb1a92a7f3f508ea02699e8d2422fe17ea8e82acd445006c0ef7520fbf48e3dbcdaf7b0a1d571fc3a2715a29719e5226636cb6042e15fe6ed2a590944 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.24.7, @babel/helper-validator-option@npm:^7.25.9": +"@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" checksum: 9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-wrap-function@npm:7.24.7" +"@babel/helper-wrap-function@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-wrap-function@npm:7.25.9" dependencies: - "@babel/helper-function-name": ^7.24.7 - "@babel/template": ^7.24.7 - "@babel/traverse": ^7.24.7 - "@babel/types": ^7.24.7 - checksum: 085bf130ed08670336e3976f5841ae44e3e10001131632e22ef234659341978d2fd37e65785f59b6cb1745481347fc3bce84b33a685cacb0a297afbe1d2b03af + "@babel/template": ^7.25.9 + "@babel/traverse": ^7.25.9 + "@babel/types": ^7.25.9 + checksum: 8ec1701e60ae004415800c4a7a188f5564c73b4e4f3fdf58dd3f34a3feaa9753173f39bbd6d02e7ecc974f48155efc7940e62584435b3092c07728ee46a604ea languageName: node linkType: hard -"@babel/helpers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helpers@npm:7.25.9" +"@babel/helpers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helpers@npm:7.26.0" dependencies: "@babel/template": ^7.25.9 - "@babel/types": ^7.25.9 - checksum: 82b1051c065baff1f53a85886bd05b2136c021f8d9301974d639007b7b90f674115b992a1dcf04667b37f9229d6f3eaeb1c40550f9ae46802ec4a8e388018b31 + "@babel/types": ^7.26.0 + checksum: d77fe8d45033d6007eadfa440355c1355eed57902d5a302f450827ad3d530343430a21210584d32eef2f216ae463d4591184c6fc60cf205bbf3a884561469200 languageName: node linkType: hard -"@babel/highlight@npm:^7.0.0, @babel/highlight@npm:^7.25.9": +"@babel/highlight@npm:^7.0.0": version: 7.25.9 resolution: "@babel/highlight@npm:7.25.9" dependencies: @@ -2134,18 +1721,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/parser@npm:7.25.9" - dependencies: - "@babel/types": ^7.25.9 - bin: - parser: ./bin/babel-parser.js - checksum: 76e898e9feaa7e11512841c13aab1a6d81f69a19ab93b0ec941dd78407fdbfe8fb08ff54e0966567aef4f24a7b94125473f0e903fb198c010bd5456058bf3432 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.26.2, @babel/parser@npm:^7.26.5": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2, @babel/parser@npm:^7.26.5": version: 7.26.5 resolution: "@babel/parser@npm:7.26.5" dependencies: @@ -2156,51 +1732,62 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.7" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: 68d315642b53af143aa17a71eb976cf431b51339aee584e29514a462b81c998636dd54219c2713b5f13e1df89eaf130dfab59683f9116825608708c81696b96c + checksum: b33d37dacf98a9c74f53959999adc37a258057668b62dba557e6865689433c53764673109eaba9102bf73b2ac4db162f0d9b89a6cca6f1b71d12f5908ec11da9 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.7" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: 7eb4e7ce5e3d6db4b0fdbdfaaa301c2e58f38a7ee39d5a4259a1fda61a612e83d3e4bc90fc36fb0345baf57e1e1a071e0caffeb80218623ad163f2fdc2e53a54 + checksum: d3e14ab1cb9cb50246d20cab9539f2fbd1e7ef1ded73980c8ad7c0561b4d5e0b144d362225f0976d47898e04cbd40f2000e208b0913bd788346cf7791b96af91 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.7" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: a9d1ee3fd100d3eb6799a2f2bbd785296f356c531d75c9369f71541811fa324270258a374db103ce159156d006da2f33370330558d0133e6f7584152c34997ca + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + "@babel/plugin-transform-optional-chaining": ^7.25.9 peerDependencies: "@babel/core": ^7.13.0 - checksum: 07b92878ac58a98ea1fdf6a8b4ec3413ba4fa66924e28b694d63ec5b84463123fbf4d7153b56cf3cedfef4a3482c082fe3243c04f8fb2c041b32b0e29b4a9e21 + checksum: 5b298b28e156f64de51cdb03a2c5b80c7f978815ef1026f3ae8b9fc48d28bf0a83817d8fbecb61ef8fb94a7201f62cca5103cc6e7b9e8f28e38f766d7905b378 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.7" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: 8324d458db57060590942c7c2e9603880d07718ccb6450ec935105b8bd3c4393c4b8ada88e178c232258d91f33ffdcf2b1043d54e07a86989e50667ee100a32e + checksum: c684593952ab1b40dfa4e64e98a07e7227c6db175c21bd0e6d71d2ad5d240fef4e4a984d56f05a494876542a022244fe1c1098f4116109fd90d06615e8a269b1 languageName: node linkType: hard @@ -2235,7 +1822,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": +"@babel/plugin-syntax-class-properties@npm:^7.12.13": version: 7.12.13 resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" dependencies: @@ -2257,51 +1844,29 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: ce307af83cf433d4ec42932329fad25fa73138ab39c7436882ea28742e1c0066626d224e0ad2988724c82644e41601cef607b36194f695cb78a1fcdc959637bd - languageName: node - linkType: hard - -"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 85740478be5b0de185228e7814451d74ab8ce0a26fcca7613955262a26e99e8e15e9da58f60c754b84515d4c679b590dbd3f2148f0f58025f4ae706f1c5a5d4a - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.7" +"@babel/plugin-syntax-import-assertions@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c4d67be4eb1d4637e361477dbe01f5b392b037d17c1f861cfa0faa120030e137aab90a9237931b8040fd31d1e5d159e11866fa1165f78beef7a3be876a391a17 + checksum: b58f2306df4a690ca90b763d832ec05202c50af787158ff8b50cdf3354359710bce2e1eb2b5135fcabf284756ac8eadf09ca74764aa7e76d12a5cac5f6b21e67 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" +"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 590dbb5d1a15264f74670b427b8d18527672c3d6c91d7bae7e65f80fd810edbc83d90e68065088644cbad3f2457ed265a54a9956fb789fcb9a5b521822b3a275 + checksum: c122aa577166c80ee67f75aebebeef4150a132c4d3109d25d7fc058bf802946f883e330f20b78c1d3e3a5ada631c8780c263d2d01b5dbaecc69efefeedd42916 languageName: node linkType: hard -"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": +"@babel/plugin-syntax-import-meta@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" dependencies: @@ -2323,18 +1888,18 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.23.3, @babel/plugin-syntax-jsx@npm:^7.24.7, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" +"@babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7a5ca629d8ca1e1ee78705a78e58c12920d07ed8006d7e7232b31296a384ff5e41d7b649bde5561196041037bbb9f9715be1d1c20975df87ca204f34ad15b965 + checksum: bb609d1ffb50b58f0c1bac8810d0e46a4f6c922aa171c458f3a19d66ee545d36e782d3bffbbc1fed0dc65a558bdce1caf5279316583c0fff5a2c1658982a8563 languageName: node linkType: hard -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" dependencies: @@ -2356,7 +1921,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": version: 7.10.4 resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" dependencies: @@ -2411,7 +1976,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": version: 7.14.5 resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" dependencies: @@ -2422,14 +1987,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.7, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.24.7 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" +"@babel/plugin-syntax-typescript@npm:^7.25.9, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.25.9 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 56fe84f3044ecbf038977281648db6b63bd1301f2fff6595820dc10ee276c1d1586919d48d52a8d497ecae32c958be38f42c1c8d174dc58aad856c516dc5b35a + checksum: 0e9821e8ba7d660c36c919654e4144a70546942ae184e85b8102f2322451eae102cbfadbcadd52ce077a2b44b400ee52394c616feab7b5b9f791b910e933fd33 languageName: node linkType: hard @@ -2445,747 +2010,744 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.7" +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 707c209b5331c7dc79bd326128c6a6640dbd62a78da1653c844db20c4f36bf7b68454f1bc4d2d051b3fde9136fa291f276ec03a071bb00ee653069ff82f91010 + checksum: c29f081224859483accf55fb4d091db2aac0dcd0d7954bac5ca889030cc498d3f771aa20eb2e9cd8310084ec394d85fa084b97faf09298b6bc9541182b3eb5bb languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.7" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.9" dependencies: - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-remap-async-to-generator": ^7.24.7 - "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-remap-async-to-generator": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 112e3b18f9c496ebc01209fc27f0b41a3669c479c7bc44f7249383172b432ebaae1e523caa7c6ecbd2d0d7adcb7e5769fe2798f8cb01c08cd57232d1bb6d8ad4 + checksum: 41e02c18c2a57de9f274fa2c5a1bf81a20ab5f321db29cc3051512b9c5bdf3f1a8c42f1fc282cb62343c6d50849f992eede954d5f7fb5e7df48ae0c59ea7e054 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.7" +"@babel/plugin-transform-async-to-generator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" dependencies: - "@babel/helper-module-imports": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-remap-async-to-generator": ^7.24.7 + "@babel/helper-module-imports": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-remap-async-to-generator": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 13704fb3b83effc868db2b71bfb2c77b895c56cb891954fc362e95e200afd523313b0e7cf04ce02f45b05e76017c5b5fa8070c92613727a35131bb542c253a36 + checksum: b3ad50fb93c171644d501864620ed23952a46648c4df10dc9c62cc9ad08031b66bd272cfdd708faeee07c23b6251b16f29ce0350473e4c79f0c32178d38ce3a6 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.7" +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.9": + version: 7.26.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.26.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 249cdcbff4e778b177245f9652b014ea4f3cd245d83297f10a7bf6d97790074089aa62bcde8c08eb299c5e68f2faed346b587d3ebac44d625ba9a83a4ee27028 + checksum: f2046c09bf8e588bfb1a6342d0eee733189102cf663ade27adb0130f3865123af5816b40a55ec8d8fa09271b54dfdaf977cd2f8e0b3dc97f18e690188d5a2174 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.7" +"@babel/plugin-transform-block-scoping@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 039206155533600f079f3a455f85888dd7d4970ff7ffa85ef44760f4f5acb9f19c9d848cc1fec1b9bdbc0dfec9e8a080b90d0ab66ad2bdc7138b5ca4ba96e61c + checksum: e869500cfb1995e06e64c9608543b56468639809febfcdd6fcf683bc0bf1be2431cacf2981a168a1a14f4766393e37bc9f7c96d25bc5b5f39a64a8a8ad0bf8e0 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.7" +"@babel/plugin-transform-class-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1348d7ce74da38ba52ea85b3b4289a6a86913748569ef92ef0cff30702a9eb849e5eaf59f1c6f3517059aa68115fb3067e389735dccacca39add4e2b0c67e291 + checksum: a8d69e2c285486b63f49193cbcf7a15e1d3a5f632c1c07d7a97f65306df7f554b30270b7378dde143f8b557d1f8f6336c643377943dec8ec405e4cd11e90b9ea languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.7" +"@babel/plugin-transform-class-static-block@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.12.0 - checksum: 324049263504f18416f1c3e24033baebfafd05480fdd885c8ebe6f2b415b0fc8e0b98d719360f9e30743cc78ac387fabc0b3c6606d2b54135756ffb92963b382 + checksum: d779d4d3a6f8d363f67fcbd928c15baa72be8d3b86c6d05e0300b50e66e2c4be9e99398b803d13064bc79d90ae36e37a505e3dc8af11904459804dec07660246 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-classes@npm:7.24.7" +"@babel/plugin-transform-classes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-classes@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-environment-visitor": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 - "@babel/helper-split-export-declaration": ^7.24.7 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 + "@babel/traverse": ^7.25.9 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f01cb31143730d425681e9816020cbb519c7ddb3b6ca308dfaf2821eda5699a746637fc6bf19811e2fb42cfdf8b00a21b31c754da83771a5c280077925677354 + checksum: d12584f72125314cc0fa8c77586ece2888d677788ac75f7393f5da574dfe4e45a556f7e3488fab29c8777ab3e5856d7a2d79f6df02834083aaa9d766440e3c68 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.7" +"@babel/plugin-transform-computed-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/template": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/template": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0cf8c1b1e4ea57dec8d4612460d84fd4cdbf71a7499bb61ee34632cf89018a59eee818ffca88a8d99ee7057c20a4257044d7d463fda6daef9bf1db9fa81563cb + checksum: f77fa4bc0c1e0031068172df28852388db6b0f91c268d037905f459607cf1e8ebab00015f9f179f4ad96e11c5f381b635cd5dc4e147a48c7ac79d195ae7542de languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.7" +"@babel/plugin-transform-destructuring@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b9637b27faf9d24a8119bc5a1f98a2f47c69e6441bd8fc71163500be316253a72173308a93122bcf27d8d314ace43344c976f7291cf6376767f408350c8149d4 + checksum: 965f63077a904828f4adee91393f83644098533442b8217d5a135c23a759a4c252c714074c965676a60d2c33f610f579a4eeb59ffd783724393af61c0ca45fef languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.7" +"@babel/plugin-transform-dotall-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 67b10fc6abb1f61f0e765288eb4c6d63d1d0f9fc0660e69f6f2170c56fa16bc74e49857afc644beda112b41771cd90cf52df0940d11e97e52617c77c7dcff171 + checksum: 8bdf1bb9e6e3a2cc8154ae88a3872faa6dc346d6901994505fb43ac85f858728781f1219f40b67f7bb0687c507450236cb7838ac68d457e65637f98500aa161b languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.7" +"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d1da2ff85ecb56a63f4ccfd9dc9ae69400d85f0dadf44ecddd9e71c6e5c7a9178e74e3a9637555f415a2bb14551e563f09f98534ab54f53d25e8439fdde6ba2d + checksum: b553eebc328797ead6be5ba5bdaf2f1222cea8a5bd33fb4ed625975d4f9b510bfb0d688d97e314cd4b4a48b279bea7b3634ad68c1b41ee143c3082db0ae74037 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.7" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: f7233cf596be8c6843d31951afaf2464a62a610cb89c72c818c044765827fab78403ab8a7d3a6386f838c8df574668e2a48f6c206b1d7da965aff9c6886cb8e6 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" + dependencies: + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 776509ff62ab40c12be814a342fc56a5cc09b91fb63032b2633414b635875fd7da03734657be0f6db2891fe6e3033b75d5ddb6f2baabd1a02e4443754a785002 + checksum: aaca1ccda819be9b2b85af47ba08ddd2210ff2dbea222f26e4cd33f97ab020884bf81a66197e50872721e9daf36ceb5659502c82199884ea74d5d75ecda5c58b languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.7" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 23c84a23eb56589fdd35a3540f9a1190615be069110a2270865223c03aee3ba4e0fc68fe14850800cf36f0712b26e4964d3026235261f58f0405a29fe8dac9b1 + checksum: b369ffad07e02e259c43a09d309a5ca86cb9da6b43b1df6256463a810b172cedc4254742605eec0fc2418371c3f7430430f5abd36f21717281e79142308c13ba languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.7" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3bd3a10038f10ae0dea1ee42137f3edcf7036b5e9e570a0d1cbd0865f03658990c6c2d84fa2475f87a754e7dc5b46766c16f7ce5c9b32c3040150b6a21233a80 + checksum: 4dfe8df86c5b1d085d591290874bb2d78a9063090d71567ed657a418010ad333c3f48af2c974b865f53bbb718987a065f89828d43279a7751db1a56c9229078d languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-for-of@npm:7.24.7" +"@babel/plugin-transform-for-of@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-for-of@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a53b42dc93ab4b7d1ebd3c695b52be22b3d592f6a3dbdb3dc2fea2c8e0a7e1508fe919864c455cde552aec44ce7518625fccbb70c7063373ca228d884f4f49ea + checksum: 41b56e70256a29fc26ed7fb95ece062d7ec2f3b6ea8f0686349ffd004cd4816132085ee21165b89c502ee7161cb7cfb12510961638851357945dc7bc546475b7 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-function-name@npm:7.24.7" +"@babel/plugin-transform-function-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-function-name@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-function-name": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8eb1a67894a124910b5a67630bed4307757504381f39f0fb5cf82afc7ae8647dbc03b256d13865b73a749b9071b68e9fb8a28cef2369917b4299ebb93fd66146 + checksum: a8d7c8d019a6eb57eab5ca1be3e3236f175557d55b1f3b11f8ad7999e3fbb1cf37905fd8cb3a349bffb4163a558e9f33b63f631597fdc97c858757deac1b2fd7 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.7" +"@babel/plugin-transform-json-strings@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 88874d0b7a1ddea66c097fc0abb68801ffae194468aa44b828dde9a0e20ac5d8647943793de86092eabaa2911c96f67a6b373793d4bb9c932ef81b2711c06c2e + checksum: e2498d84761cfd05aaea53799933d55af309c9d6204e66b38778792d171e4d1311ad34f334259a3aa3407dd0446f6bd3e390a1fcb8ce2e42fe5aabed0e41bee1 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-literals@npm:7.24.7" +"@babel/plugin-transform-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3c075cc093a3dd9e294b8b7d6656e65f889e7ca2179ca27978dcd65b4dc4885ebbfb327408d7d8f483c55547deed00ba840956196f3ac8a3c3d2308a330a8c23 + checksum: 3cca75823a38aab599bc151b0fa4d816b5e1b62d6e49c156aa90436deb6e13649f5505973151a10418b64f3f9d1c3da53e38a186402e0ed7ad98e482e70c0c14 languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3367ce0be243704dc6fce23e86a592c4380f01998ee5dd9f94c54b1ef7b971ac6f8a002901eb51599ac6cbdc0d067af8d1a720224fca1c40fde8bb8aab804aac + checksum: 8c6febb4ac53852314d28b5e2c23d5dbbff7bf1e57d61f9672e0d97531ef7778b3f0ad698dcf1179f5486e626c77127508916a65eb846a89e98a92f70ed3537b languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.7" +"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2720c57aa3bf70576146ba7d6ea03227f4611852122d76d237924f7b008dafc952e6ae61a19e5024f26c665f44384bbd378466f01b6bd1305b3564a3b7fb1a5d + checksum: db92041ae87b8f59f98b50359e0bb172480f6ba22e5e76b13bdfe07122cbf0daa9cd8ad2e78dcb47939938fed88ad57ab5989346f64b3a16953fc73dea3a9b1f languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.7" +"@babel/plugin-transform-modules-amd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-module-transforms": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f1dd0fb2f46c0f8f21076b8c7ccd5b33a85ce6dcb31518ea4c648d9a5bb2474cd4bd87c9b1b752e68591e24b022e334ba0d07631fef2b6b4d8a4b85cf3d581f5 + checksum: baad1f6fd0e0d38e9a9c1086a06abdc014c4c653fd452337cadfe23fb5bd8bf4368d1bc433a5ac8e6421bc0732ebb7c044cf3fb39c1b7ebe967d66e26c4e5cec languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.7" +"@babel/plugin-transform-modules-commonjs@npm:^7.25.9": + version: 7.26.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-simple-access": ^7.24.7 + "@babel/helper-module-transforms": ^7.26.0 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bfda2a0297197ed342e2a02e5f9847a489a3ae40a4a7d7f00f4aeb8544a85e9006e0c5271c8f61f39bc97975ef2717b5594cf9486694377a53433162909d64c1 + checksum: 0ac9aa4e5fe9fe34b58ee174881631e5e1c89eee5b1ebfd1147934686be92fc5fbfdc11119f0b607b3743d36a1cbcb7c36f18e0dd4424d6d7b749b1b9a18808a languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.7" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" dependencies: - "@babel/helper-hoist-variables": ^7.24.7 - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-identifier": ^7.24.7 + "@babel/helper-module-transforms": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-validator-identifier": ^7.25.9 + "@babel/traverse": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8af7a9db2929991d82cfdf41fb175dee344274d39b39122f8c35f24b5d682f98368e3d8f5130401298bd21412df21d416a7d8b33b59c334fae3d3c762118b1d8 + checksum: bf446202f372ba92dc0db32b24b56225b6e3ad3b227e31074de8b86fdec01c273ae2536873e38dbe3ceb1cd0894209343adeaa37df208e3fa88c0c7dffec7924 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.7" +"@babel/plugin-transform-modules-umd@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" dependencies: - "@babel/helper-module-transforms": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-module-transforms": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9ff1c464892efe042952ba778468bda6131b196a2729615bdcc3f24cdc94014f016a4616ee5643c5845bade6ba698f386833e61056d7201314b13a7fd69fac88 + checksum: 946db66be5f04ab9ee56c424b00257276ec094aa2f148508927e6085239f76b00304fa1e33026d29eccdbe312efea15ca3d92e74a12689d7f0cdd9a7ba1a6c54 languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.7" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: f1c6c7b5d60a86b6d7e4dd098798e1d393d55e993a0b57a73b53640c7a94985b601a96bdacee063f809a9a700bcea3a2ff18e98fa561554484ac56b761d774bd + checksum: 434346ba05cf74e3f4704b3bdd439287b95cd2a8676afcdc607810b8c38b6f4798cd69c1419726b2e4c7204e62e4a04d31b0360e91ca57a930521c9211e07789 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-new-target@npm:7.24.7" +"@babel/plugin-transform-new-target@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-new-target@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3cb94cd1076b270f768f91fdcf9dd2f6d487f8dbfff3df7ca8d07b915900b86d02769a35ba1407d16fe49499012c8f055e1741299e2c880798b953d942a8fa1b + checksum: f8113539919aafce52f07b2bd182c771a476fe1d5d96d813460b33a16f173f038929369c595572cadc1f7bd8cb816ce89439d056e007770ddd7b7a0878e7895f languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.7" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": + version: 7.26.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/helper-plugin-utils": ^7.26.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4a9221356401d87762afbc37a9e8e764afc2daf09c421117537820f8cfbed6876888372ad3a7bcfae2d45c95f026651f050ab4020b777be31d3ffb00908dbdd3 + checksum: 752837d532b85c41f6bb868e83809605f513bc9a3b8e88ac3d43757c9bf839af4f246874c1c6d6902bb2844d355efccae602c3856098911f8abdd603672f8379 languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.7" +"@babel/plugin-transform-numeric-separator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 561b5f1d08b2c3f92ce849f092751558b5e6cfeb7eb55c79e7375c34dd9c3066dce5e630bb439affef6adcf202b6cbcaaa23870070276fa5bb429c8f5b8c7514 + checksum: 0528ef041ed88e8c3f51624ee87b8182a7f246fe4013f0572788e0727d20795b558f2b82e3989b5dd416cbd339500f0d88857de41b6d3b6fdacb1d5344bcc5b1 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.7" +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" dependencies: - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-transform-parameters": ^7.24.7 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/plugin-transform-parameters": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 169d257b9800c13e1feb4c37fb05dae84f702e58b342bb76e19e82e6692b7b5337c9923ee89e3916a97c0dd04a3375bdeca14f5e126f110bbacbeb46d1886ca2 + checksum: a8ff73e1c46a03056b3a2236bafd6b3a4b83da93afe7ee24a50d0a8088150bf85bc5e5977daa04e66ff5fb7613d02d63ad49b91ebb64cf3f3022598d722e3a7a languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-object-super@npm:7.24.7" +"@babel/plugin-transform-object-super@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-super@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-replace-supers": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-replace-supers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f71e607a830ee50a22fa1a2686524d3339440cf9dea63032f6efbd865cfe4e35000e1e3f3492459e5c986f7c0c07dc36938bf3ce61fc9ba5f8ab732d0b64ab37 + checksum: 1817b5d8b80e451ae1ad9080cca884f4f16df75880a158947df76a2ed8ab404d567a7dce71dd8051ef95f90fbe3513154086a32aba55cc76027f6cbabfbd7f98 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.7" +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7229f3a5a4facaab40f4fdfc7faabc157dc38a67d66bed7936599f4bc509e0bff636f847ac2aa45294881fce9cf8a0a460b85d2a465b7b977de9739fce9b18f6 + checksum: b46a8d1e91829f3db5c252583eb00d05a779b4660abeea5500fda0f8ffa3584fd18299443c22f7fddf0ed9dfdb73c782c43b445dc468d4f89803f2356963b406 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.7" +"@babel/plugin-transform-optional-chaining@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 877e7ce9097d475132c7f4d1244de50bb2fd37993dc4580c735f18f8cbc49282f6e77752821bcad5ca9d3528412d2c8a7ee0aa7ca71bb680ff82648e7a5fed25 + checksum: f1642a7094456067e82b176e1e9fd426fda7ed9df54cb6d10109fc512b622bf4b3c83acc5875125732b8622565107fdbe2d60fe3ec8685e1d1c22c38c1b57782 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-parameters@npm:7.24.7" +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ab534b03ac2eff94bc79342b8f39a4584666f5305a6c63c1964afda0b1b004e6b861e49d1683548030defe248e3590d3ff6338ee0552cb90c064f7e1479968c3 + checksum: d7ba2a7d05edbc85aed741289b0ff3d6289a1c25d82ac4be32c565f88a66391f46631aad59ceeed40824037f7eeaa7a0de1998db491f50e65a565cd964f78786 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.7" +"@babel/plugin-transform-private-methods@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" dependencies: - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c151548e34909be2adcceb224d8fdd70bafa393bc1559a600906f3f647317575bf40db670470934a360e90ee8084ef36dffa34ec25d387d414afd841e74cf3fe + checksum: 6e3671b352c267847c53a170a1937210fa8151764d70d25005e711ef9b21969aaf422acc14f9f7fb86bc0e4ec43e7aefcc0ad9196ae02d262ec10f509f126a58 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.7" +"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8cee9473095305cc787bb653fd681719b49363281feabf677db8a552e8e41c94441408055d7e5fd5c7d41b315e634fa70b145ad0c7c54456216049df4ed57350 + checksum: 9ce3e983fea9b9ba677c192aa065c0b42ebdc7774be4c02135df09029ad92a55c35b004650c75952cb64d650872ed18f13ab64422c6fc891d06333762caa8a0a languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.7" +"@babel/plugin-transform-property-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9aeefc3aab6c6bf9d1fae1cf3a2d38c7d886fd3c6c81b7c608c477f5758aee2e7abf52f32724310fe861da61af934ee2508b78a5b5f234b9740c9134e1c14437 + checksum: 436046ab07d54a9b44a384eeffec701d4e959a37a7547dda72e069e751ca7ff753d1782a8339e354b97c78a868b49ea97bf41bf5a44c6d7a3c0a05ad40eeb49c languageName: node linkType: hard "@babel/plugin-transform-react-constant-elements@npm:^7.18.12, @babel/plugin-transform-react-constant-elements@npm:^7.21.3": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-constant-elements@npm:7.24.7" + version: 7.25.9 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 15a50645d5bd5139a65a57cc1ca8d731921bf4b3d453ed14150760a16891bdd8c0d6e870a85e3a580a00686415732fd74ff2c669a823e641a6124ac9489d8ed4 + checksum: ed59464c96cd4014f636852b4de398d2ffc22ffe3177a6c2a6058447a72839bb66a346a1db525ab60dcc5dd48ec59113a8325f785593689900358a15136e05c3 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-display-name@npm:7.23.3" +"@babel/plugin-transform-react-display-name@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7f86964e8434d3ddbd3c81d2690c9b66dbf1cd8bd9512e2e24500e9fa8cf378bc52c0853270b3b82143aba5965aec04721df7abdb768f952b44f5c6e0b198779 + checksum: cd7020494e6f31c287834e8929e6a718d5b0ace21232fa30feb48622c2312045504c34b347dcff9e88145c349882b296a7d6b6cc3d3447d8c85502f16471747c languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.22.5" +"@babel/plugin-transform-react-jsx-development@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.9" dependencies: - "@babel/plugin-transform-react-jsx": ^7.22.5 + "@babel/plugin-transform-react-jsx": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 36bc3ff0b96bb0ef4723070a50cfdf2e72cfd903a59eba448f9fe92fea47574d6f22efd99364413719e1f3fb3c51b6c9b2990b87af088f8486a84b2a5f9e4560 + checksum: 537d38369537f1eb56041c4b770bc0733fde1801a7f5ffef40a1217ea448f33ee2fa8e6098a58a82fd00e432c1b9426a66849496da419020c9eca3b1b1a23779 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.22.15, @babel/plugin-transform-react-jsx@npm:^7.22.5": - version: 7.23.4 - resolution: "@babel/plugin-transform-react-jsx@npm:7.23.4" +"@babel/plugin-transform-react-jsx@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-module-imports": ^7.22.15 - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-jsx": ^7.23.3 - "@babel/types": ^7.23.4 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-module-imports": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/plugin-syntax-jsx": ^7.25.9 + "@babel/types": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d8b8c52e8e22e833bf77c8d1a53b0a57d1fd52ba9596a319d572de79446a8ed9d95521035bc1175c1589d1a6a34600d2e678fa81d81bac8fac121137097f1f0a + checksum: 5c6523c3963e3c6cf4c3cc2768a3766318af05b8f6c17aff52a4010e2c170e87b2fcdc94e9c9223ae12158664df4852ce81b9c8d042c15ea8fd83d6375f9f30f languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.23.3" +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.9" dependencies: - "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 9ea3698b1d422561d93c0187ac1ed8f2367e4250b10e259785ead5aa643c265830fd0f4cf5087a5bedbc4007444c06da2f2006686613220acf0949895f453666 + checksum: 9995c0fc7c25d3aaaa0ce84233de02eab2564ea111d0813ec5baa538eb21520402879cc787ad1ad4c2061b99cebc3beb09910e64c9592e8ccb42ae62d9e4fd9a languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.7" +"@babel/plugin-transform-regenerator@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 regenerator-transform: ^0.15.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 20c6c3fb6fc9f407829087316653388d311e8c1816b007609bb09aeef254092a7157adace8b3aaa8f34be752503717cb85c88a5fe482180a9b11bcbd676063be + checksum: 1c09e8087b476c5967282c9790fb8710e065eda77c60f6cb5da541edd59ded9d003d96f8ef640928faab4a0b35bf997673499a194973da4f0c97f0935807a482 + languageName: node + linkType: hard + +"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 726deca486bbd4b176f8a966eb0f4aabc19d9def3b8dabb8b3a656778eca0df1fda3f3c92b213aa5a184232fdafd5b7bd73b4e24ca4345c498ef6baff2bda4e1 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.7" +"@babel/plugin-transform-reserved-words@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3d5876954d5914d7270819479504f30c4bf5452a65c677f44e2dab2db50b3c9d4b47793c45dfad7abf4f377035dd79e4b3f554ae350df9f422201d370ce9f8dd + checksum: 8beda04481b25767acbd1f6b9ef7b3a9c12fbd9dcb24df45a6ad120e1dc4b247c073db60ac742f9093657d6d8c050501fc0606af042f81a3bb6a3ff862cddc47 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.7" +"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7b524245814607188212b8eb86d8c850e5974203328455a30881b4a92c364b93353fae14bc2af5b614ef16300b75b8c1d3b8f3a08355985b4794a7feb240adc3 + checksum: f774995d58d4e3a992b732cf3a9b8823552d471040e280264dd15e0735433d51b468fef04d75853d061309389c66bda10ce1b298297ce83999220eb0ad62741d languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-spread@npm:7.24.7" +"@babel/plugin-transform-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-spread@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-skip-transparent-expression-wrappers": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4c4254c8b9cceb1a8f975fa9b92257ddb08380a35c0a3721b8f4b9e13a3d82e403af2e0fba577b9f2452dd8f06bc3dea71cc53b1e2c6af595af5db52a13429d6 + checksum: 2403a5d49171b7714d5e5ecb1f598c61575a4dbe5e33e5a5f08c0ea990b75e693ca1ea983b6a96b2e3e5e7da48c8238333f525e47498c53b577c5d094d964c06 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.7" +"@babel/plugin-transform-sticky-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 118fc7a7ebf7c20411b670c8a030535fdfe4a88bc5643bb625a584dbc4c8a468da46430a20e6bf78914246962b0f18f1b9d6a62561a7762c4f34a038a5a77179 + checksum: 7454b00844dbe924030dd15e2b3615b36e196500c4c47e98dabc6b37a054c5b1038ecd437e910aabf0e43bf56b973cb148d3437d50f6e2332d8309568e3e979b languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.7" +"@babel/plugin-transform-template-literals@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ad44e5826f5a98c1575832dbdbd033adfe683cdff195e178528ead62507564bf02f479b282976cfd3caebad8b06d5fd7349c1cdb880dec3c56daea4f1f179619 + checksum: 92eb1d6e2d95bd24abbb74fa7640d02b66ff6214e0bb616d7fda298a7821ce15132a4265d576a3502a347a3c9e94b6c69ed265bb0784664592fa076785a3d16a languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6bd16b9347614d44187d8f8ee23ebd7be30dabf3632eed5ff0415f35a482e827de220527089eae9cdfb75e85aa72db0e141ebc2247c4b1187c1abcdacdc34895 + checksum: 3f9458840d96f61502f0e9dfaae3efe8325fa0b2151e24ea0d41307f28cdd166905419f5a43447ce0f1ae4bfd001f3906b658839a60269c254168164090b4c73 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-typescript@npm:7.24.7" +"@babel/plugin-transform-typescript@npm:^7.25.9": + version: 7.26.5 + resolution: "@babel/plugin-transform-typescript@npm:7.26.5" dependencies: - "@babel/helper-annotate-as-pure": ^7.24.7 - "@babel/helper-create-class-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/plugin-syntax-typescript": ^7.24.7 + "@babel/helper-annotate-as-pure": ^7.25.9 + "@babel/helper-create-class-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.26.5 + "@babel/helper-skip-transparent-expression-wrappers": ^7.25.9 + "@babel/plugin-syntax-typescript": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b367d1e3d6bdbe438878a76436fc6903e2b4fd7c31fa036d43865570d282679ec3f7c0306399851f2866a9b36686a0ea8c343df3750f70d427f1fe20ca54310 + checksum: d022c1ca9ee5a420c374efb209eaca4f94c06851edeea2b3577dad52ea6692b6b33d00217b33a74d91bd62381ace471e26cc6153bbc681b3af1b1436431ff9c0 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.7" +"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4af0a193e1ddea6ff82b2b15cc2501b872728050bd625740b813c8062fec917d32d530ff6b41de56c15e7296becdf3336a58db81f5ca8e7c445c1306c52f3e01 + checksum: be067e07488d804e3e82d7771f23666539d2ae5af03bf6eb8480406adf3dabd776e60c1fd5c6078dc5714b73cd80bbaca70e71d4f5d154c5c57200581602ca2f languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: aae13350c50973f5802ca7906d022a6a0cc0e3aebac9122d0450bbd51e78252d4c2032ad69385e2759fcbdd3aac5d571bd7e26258907f51f8e1a51b53be626c2 + checksum: 201f6f46c1beb399e79aa208b94c5d54412047511795ce1e790edcd189cef73752e6a099fdfc01b3ad12205f139ae344143b62f21f44bbe02338a95e8506a911 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1cb4e70678906e431da0a05ac3f8350025fee290304ad7482d9cfaa1ca67b2e898654de537c9268efbdad5b80d3ebadf42b4a88ea84609bd8a4cce7b11b48afd + checksum: e8baae867526e179467c6ef5280d70390fa7388f8763a19a27c21302dd59b121032568be080749514b097097ceb9af716bf4b90638f1b3cf689aa837ba20150f languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.7" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 + "@babel/helper-create-regexp-features-plugin": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0 - checksum: 08a2844914f33dacd2ce1ab021ce8c1cc35dc6568521a746d8bf29c21571ee5be78787b454231c4bb3526cbbe280f1893223c82726cec5df2be5dae0a3b51837 + checksum: 4445ef20de687cb4dcc95169742a8d9013d680aa5eee9186d8e25875bbfa7ee5e2de26a91177ccf70b1db518e36886abcd44750d28db5d7a9539f0efa6839f4b languageName: node linkType: hard "@babel/preset-env@npm:^7.19.4, @babel/preset-env@npm:^7.20.2": - version: 7.24.7 - resolution: "@babel/preset-env@npm:7.24.7" - dependencies: - "@babel/compat-data": ^7.24.7 - "@babel/helper-compilation-targets": ^7.24.7 - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.24.7 - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.24.7 - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.24.7 - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.24.7 + version: 7.26.0 + resolution: "@babel/preset-env@npm:7.26.0" + dependencies: + "@babel/compat-data": ^7.26.0 + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-validator-option": ^7.25.9 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": ^7.25.9 + "@babel/plugin-bugfix-safari-class-field-initializer-scope": ^7.25.9 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": ^7.25.9 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": ^7.25.9 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": ^7.25.9 "@babel/plugin-proposal-private-property-in-object": 7.21.0-placeholder-for-preset-env.2 - "@babel/plugin-syntax-async-generators": ^7.8.4 - "@babel/plugin-syntax-class-properties": ^7.12.13 - "@babel/plugin-syntax-class-static-block": ^7.14.5 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-namespace-from": ^7.8.3 - "@babel/plugin-syntax-import-assertions": ^7.24.7 - "@babel/plugin-syntax-import-attributes": ^7.24.7 - "@babel/plugin-syntax-import-meta": ^7.10.4 - "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.10.4 - "@babel/plugin-syntax-object-rest-spread": ^7.8.3 - "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-private-property-in-object": ^7.14.5 - "@babel/plugin-syntax-top-level-await": ^7.14.5 + "@babel/plugin-syntax-import-assertions": ^7.26.0 + "@babel/plugin-syntax-import-attributes": ^7.26.0 "@babel/plugin-syntax-unicode-sets-regex": ^7.18.6 - "@babel/plugin-transform-arrow-functions": ^7.24.7 - "@babel/plugin-transform-async-generator-functions": ^7.24.7 - "@babel/plugin-transform-async-to-generator": ^7.24.7 - "@babel/plugin-transform-block-scoped-functions": ^7.24.7 - "@babel/plugin-transform-block-scoping": ^7.24.7 - "@babel/plugin-transform-class-properties": ^7.24.7 - "@babel/plugin-transform-class-static-block": ^7.24.7 - "@babel/plugin-transform-classes": ^7.24.7 - "@babel/plugin-transform-computed-properties": ^7.24.7 - "@babel/plugin-transform-destructuring": ^7.24.7 - "@babel/plugin-transform-dotall-regex": ^7.24.7 - "@babel/plugin-transform-duplicate-keys": ^7.24.7 - "@babel/plugin-transform-dynamic-import": ^7.24.7 - "@babel/plugin-transform-exponentiation-operator": ^7.24.7 - "@babel/plugin-transform-export-namespace-from": ^7.24.7 - "@babel/plugin-transform-for-of": ^7.24.7 - "@babel/plugin-transform-function-name": ^7.24.7 - "@babel/plugin-transform-json-strings": ^7.24.7 - "@babel/plugin-transform-literals": ^7.24.7 - "@babel/plugin-transform-logical-assignment-operators": ^7.24.7 - "@babel/plugin-transform-member-expression-literals": ^7.24.7 - "@babel/plugin-transform-modules-amd": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.7 - "@babel/plugin-transform-modules-systemjs": ^7.24.7 - "@babel/plugin-transform-modules-umd": ^7.24.7 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 - "@babel/plugin-transform-new-target": ^7.24.7 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 - "@babel/plugin-transform-numeric-separator": ^7.24.7 - "@babel/plugin-transform-object-rest-spread": ^7.24.7 - "@babel/plugin-transform-object-super": ^7.24.7 - "@babel/plugin-transform-optional-catch-binding": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.7 - "@babel/plugin-transform-parameters": ^7.24.7 - "@babel/plugin-transform-private-methods": ^7.24.7 - "@babel/plugin-transform-private-property-in-object": ^7.24.7 - "@babel/plugin-transform-property-literals": ^7.24.7 - "@babel/plugin-transform-regenerator": ^7.24.7 - "@babel/plugin-transform-reserved-words": ^7.24.7 - "@babel/plugin-transform-shorthand-properties": ^7.24.7 - "@babel/plugin-transform-spread": ^7.24.7 - "@babel/plugin-transform-sticky-regex": ^7.24.7 - "@babel/plugin-transform-template-literals": ^7.24.7 - "@babel/plugin-transform-typeof-symbol": ^7.24.7 - "@babel/plugin-transform-unicode-escapes": ^7.24.7 - "@babel/plugin-transform-unicode-property-regex": ^7.24.7 - "@babel/plugin-transform-unicode-regex": ^7.24.7 - "@babel/plugin-transform-unicode-sets-regex": ^7.24.7 + "@babel/plugin-transform-arrow-functions": ^7.25.9 + "@babel/plugin-transform-async-generator-functions": ^7.25.9 + "@babel/plugin-transform-async-to-generator": ^7.25.9 + "@babel/plugin-transform-block-scoped-functions": ^7.25.9 + "@babel/plugin-transform-block-scoping": ^7.25.9 + "@babel/plugin-transform-class-properties": ^7.25.9 + "@babel/plugin-transform-class-static-block": ^7.26.0 + "@babel/plugin-transform-classes": ^7.25.9 + "@babel/plugin-transform-computed-properties": ^7.25.9 + "@babel/plugin-transform-destructuring": ^7.25.9 + "@babel/plugin-transform-dotall-regex": ^7.25.9 + "@babel/plugin-transform-duplicate-keys": ^7.25.9 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": ^7.25.9 + "@babel/plugin-transform-dynamic-import": ^7.25.9 + "@babel/plugin-transform-exponentiation-operator": ^7.25.9 + "@babel/plugin-transform-export-namespace-from": ^7.25.9 + "@babel/plugin-transform-for-of": ^7.25.9 + "@babel/plugin-transform-function-name": ^7.25.9 + "@babel/plugin-transform-json-strings": ^7.25.9 + "@babel/plugin-transform-literals": ^7.25.9 + "@babel/plugin-transform-logical-assignment-operators": ^7.25.9 + "@babel/plugin-transform-member-expression-literals": ^7.25.9 + "@babel/plugin-transform-modules-amd": ^7.25.9 + "@babel/plugin-transform-modules-commonjs": ^7.25.9 + "@babel/plugin-transform-modules-systemjs": ^7.25.9 + "@babel/plugin-transform-modules-umd": ^7.25.9 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.25.9 + "@babel/plugin-transform-new-target": ^7.25.9 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.25.9 + "@babel/plugin-transform-numeric-separator": ^7.25.9 + "@babel/plugin-transform-object-rest-spread": ^7.25.9 + "@babel/plugin-transform-object-super": ^7.25.9 + "@babel/plugin-transform-optional-catch-binding": ^7.25.9 + "@babel/plugin-transform-optional-chaining": ^7.25.9 + "@babel/plugin-transform-parameters": ^7.25.9 + "@babel/plugin-transform-private-methods": ^7.25.9 + "@babel/plugin-transform-private-property-in-object": ^7.25.9 + "@babel/plugin-transform-property-literals": ^7.25.9 + "@babel/plugin-transform-regenerator": ^7.25.9 + "@babel/plugin-transform-regexp-modifiers": ^7.26.0 + "@babel/plugin-transform-reserved-words": ^7.25.9 + "@babel/plugin-transform-shorthand-properties": ^7.25.9 + "@babel/plugin-transform-spread": ^7.25.9 + "@babel/plugin-transform-sticky-regex": ^7.25.9 + "@babel/plugin-transform-template-literals": ^7.25.9 + "@babel/plugin-transform-typeof-symbol": ^7.25.9 + "@babel/plugin-transform-unicode-escapes": ^7.25.9 + "@babel/plugin-transform-unicode-property-regex": ^7.25.9 + "@babel/plugin-transform-unicode-regex": ^7.25.9 + "@babel/plugin-transform-unicode-sets-regex": ^7.25.9 "@babel/preset-modules": 0.1.6-no-external-plugins babel-plugin-polyfill-corejs2: ^0.4.10 - babel-plugin-polyfill-corejs3: ^0.10.4 + babel-plugin-polyfill-corejs3: ^0.10.6 babel-plugin-polyfill-regenerator: ^0.6.1 - core-js-compat: ^3.31.0 + core-js-compat: ^3.38.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 1a82c883c7404359b19b7436d0aab05f8dd4e89e8b1f7de127cc65d0ff6a9b1c345211d9c038f5b6e8f93d26f091fa9c73812d82851026ab4ec93f5ed0f0d675 + checksum: 0c3e2b3758cc0347dcf5551b5209db702764183dce66ff20bffceff6486c090bef9175f5f7d1e68cfe5584f0d817b2aab25ab5992058a7998f061f244c8caf5f languageName: node linkType: hard @@ -3203,54 +2765,47 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.18.6": - version: 7.23.3 - resolution: "@babel/preset-react@npm:7.23.3" + version: 7.26.3 + resolution: "@babel/preset-react@npm:7.26.3" dependencies: - "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-option": ^7.22.15 - "@babel/plugin-transform-react-display-name": ^7.23.3 - "@babel/plugin-transform-react-jsx": ^7.22.15 - "@babel/plugin-transform-react-jsx-development": ^7.22.5 - "@babel/plugin-transform-react-pure-annotations": ^7.23.3 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-validator-option": ^7.25.9 + "@babel/plugin-transform-react-display-name": ^7.25.9 + "@babel/plugin-transform-react-jsx": ^7.25.9 + "@babel/plugin-transform-react-jsx-development": ^7.25.9 + "@babel/plugin-transform-react-pure-annotations": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2d90961e7e627a74b44551e88ad36a440579e283e8dc27972bf2f50682152bbc77228673a3ea22c0e0d005b70cbc487eccd64897c5e5e0384e5ce18f300b21eb + checksum: 9c76f145026715c8e4a1f6c44f208918e700227d8d8a8068f4ae10d87031d23eb8b483e508cd4452d65066f731b7a8169527e66e83ffe165595e8db7899dd859 languageName: node linkType: hard "@babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.21.0": - version: 7.24.7 - resolution: "@babel/preset-typescript@npm:7.24.7" + version: 7.26.0 + resolution: "@babel/preset-typescript@npm:7.26.0" dependencies: - "@babel/helper-plugin-utils": ^7.24.7 - "@babel/helper-validator-option": ^7.24.7 - "@babel/plugin-syntax-jsx": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.7 - "@babel/plugin-transform-typescript": ^7.24.7 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-validator-option": ^7.25.9 + "@babel/plugin-syntax-jsx": ^7.25.9 + "@babel/plugin-transform-modules-commonjs": ^7.25.9 + "@babel/plugin-transform-typescript": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 12929b24757f3bd6548103475f86478eda4c872bc7cefd920b29591eee8f4a4f350561d888e133d632d0c9402b8615fdcec9138e5127a6567dcb22f804ff207f - languageName: node - linkType: hard - -"@babel/regjsgen@npm:^0.8.0": - version: 0.8.0 - resolution: "@babel/regjsgen@npm:0.8.0" - checksum: 89c338fee774770e5a487382170711014d49a68eb281e74f2b5eac88f38300a4ad545516a7786a8dd5702e9cf009c94c2f582d200f077ac5decd74c56b973730 + checksum: 6d8641fa6efd0e10eec5e8f92cd164b916a06d57131cfa5216c281404289c87d2b4995140a1c1d9c3bad171ff6ef2226be5f0585e09577ffff349706e991ec71 languageName: node linkType: hard -"@babel/runtime-corejs3@npm:^7.20.7, @babel/runtime-corejs3@npm:^7.22.15, @babel/runtime-corejs3@npm:^7.24.5": - version: 7.25.6 - resolution: "@babel/runtime-corejs3@npm:7.25.6" +"@babel/runtime-corejs3@npm:^7.20.7, @babel/runtime-corejs3@npm:^7.22.15, @babel/runtime-corejs3@npm:^7.24.7": + version: 7.26.0 + resolution: "@babel/runtime-corejs3@npm:7.26.0" dependencies: core-js-pure: ^3.30.2 regenerator-runtime: ^0.14.0 - checksum: 54d60c4eadfb58420dc88fb5bbba97910bb08bac316085ea74ee40584b56a9d9c1fb0f608862b8fef71c05837aaac9c2ed19504adfd72011f9740fe5d57733ae + checksum: c6c5adac03e33aa4b5bb636a677aa2a6e400b91d91aac5674448d20af4100b80a8bedfb742338e4236e22c092d3edeb27210efdf48bd13ec353bd899f097ff41 languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.8, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.26.0, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.6, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.26.0, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.3, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": version: 7.26.0 resolution: "@babel/runtime@npm:7.26.0" dependencies: @@ -3259,7 +2814,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.24.7, @babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.25.9, @babel/template@npm:^7.3.3": version: 7.25.9 resolution: "@babel/template@npm:7.25.9" dependencies: @@ -3270,32 +2825,22 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/traverse@npm:7.25.9" +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/traverse@npm:7.26.5" dependencies: - "@babel/code-frame": ^7.25.9 - "@babel/generator": ^7.25.9 - "@babel/parser": ^7.25.9 + "@babel/code-frame": ^7.26.2 + "@babel/generator": ^7.26.5 + "@babel/parser": ^7.26.5 "@babel/template": ^7.25.9 - "@babel/types": ^7.25.9 + "@babel/types": ^7.26.5 debug: ^4.3.1 globals: ^11.1.0 - checksum: 901d325662ff1dd9bc51de00862e01055fa6bc374f5297d7e3731f2f0e268bbb1d2141f53fa82860aa308ee44afdcf186a948f16c83153927925804b95a9594d + checksum: 28f28037ec6bb72ded695b2bd79c373f13dc993a408c6037c3d46a1234360342a688c031f9ed4fc8528183892a63b54edce0b516e723fb3dffd606da75496cdc languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.23.4, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.25.9 - resolution: "@babel/types@npm:7.25.9" - dependencies: - "@babel/helper-string-parser": ^7.25.9 - "@babel/helper-validator-identifier": ^7.25.9 - checksum: c6e2f5bdd85351c22a395bd2359a7acec595b4b544750795836d4f69aec76c07e1c78668eab04490c6bd331776e0ece42865de2ec2c5bc7a9ddee81afd7fcac6 - languageName: node - linkType: hard - -"@babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": version: 7.26.5 resolution: "@babel/types@npm:7.26.5" dependencies: @@ -3699,11 +3244,11 @@ __metadata: linkType: hard "@backstage-community/plugin-ocm-common@npm:^3.6.1": - version: 3.6.1 - resolution: "@backstage-community/plugin-ocm-common@npm:3.6.1" + version: 3.6.3 + resolution: "@backstage-community/plugin-ocm-common@npm:3.6.3" peerDependencies: "@backstage/plugin-permission-common": ^0.8.1 - checksum: 54758f3fbdb9f2b5f41965d24e063c47d63d6ad64437390ee225f99be3336ba5fc71bb58dea46256f31461fffbca26c0f011c6e7999096f262f76d2d9b044df9 + checksum: 5b8d524a9142ce8e26a975c33daced1a18a20f8ebb07b6d246396393d81b0add2e9bae8b831d41ffd397799cde9943540d0d3cb9c3fe9f225eee81142f70b7f3 languageName: node linkType: hard @@ -3736,12 +3281,12 @@ __metadata: linkType: hard "@backstage-community/plugin-quay-common@npm:^1.3.3": - version: 1.3.3 - resolution: "@backstage-community/plugin-quay-common@npm:1.3.3" + version: 1.4.0 + resolution: "@backstage-community/plugin-quay-common@npm:1.4.0" peerDependencies: - "@backstage/plugin-permission-common": ^0.8.1 + "@backstage/plugin-permission-common": ^0.8.3 react: 16.13.1 || ^17.0.0 || ^18.0.0 - checksum: 0c7e3940ec347440149b27967fcfc3c221c2ec70f5d47734c7f9f5fb4e8db4975c04c0db6e0f4d1014bd25f52ec2bb3ac6626a60093b46df8d4e27be145b95d8 + checksum: dde7f32a1cc16e0bab735efdca57cf3d41ade32285c6d86c90ff4b20b1f789e46623d27986818c843150f6bcda94b0d46b5e1774c328df4b27a83fbe3e3601b0 languageName: node linkType: hard @@ -3799,7 +3344,7 @@ __metadata: languageName: node linkType: hard -"@backstage-community/plugin-rbac-common@npm:1.12.3, @backstage-community/plugin-rbac-common@npm:^1.12.3": +"@backstage-community/plugin-rbac-common@npm:1.12.3, @backstage-community/plugin-rbac-common@npm:^1.12.2, @backstage-community/plugin-rbac-common@npm:^1.12.3": version: 1.12.3 resolution: "@backstage-community/plugin-rbac-common@npm:1.12.3" peerDependencies: @@ -3809,17 +3354,7 @@ __metadata: languageName: node linkType: hard -"@backstage-community/plugin-rbac-common@npm:^1.12.2": - version: 1.12.2 - resolution: "@backstage-community/plugin-rbac-common@npm:1.12.2" - peerDependencies: - "@backstage/errors": ^1.2.4 - "@backstage/plugin-permission-common": ^0.8.1 - checksum: e649c786650e77aac5daee65e7a71b9146391712b6bacc1d9516150ffdeb580b2770b30b1813bcb4d539b3082fd85c644e68a4805fc5d18201c7a4d981e7776f - languageName: node - linkType: hard - -"@backstage-community/plugin-rbac-node@npm:1.8.2, @backstage-community/plugin-rbac-node@npm:^1.8.2": +"@backstage-community/plugin-rbac-node@npm:1.8.2": version: 1.8.2 resolution: "@backstage-community/plugin-rbac-node@npm:1.8.2" dependencies: @@ -3828,6 +3363,15 @@ __metadata: languageName: node linkType: hard +"@backstage-community/plugin-rbac-node@npm:^1.8.2": + version: 1.8.4 + resolution: "@backstage-community/plugin-rbac-node@npm:1.8.4" + dependencies: + "@backstage/backend-plugin-api": ^1.0.1 + checksum: d064d4a5866a9c2d323f081ab20dc8e8bda999a35bc9d41cae0b0293606b078adde7852fa84b477e8c4ab575856e7599ee5f5ba3dc52bc4cb9efcd831c530eac + languageName: node + linkType: hard + "@backstage-community/plugin-rbac@npm:1.33.4": version: 1.33.4 resolution: "@backstage-community/plugin-rbac@npm:1.33.4" @@ -4050,7 +3594,7 @@ __metadata: languageName: node linkType: hard -"@backstage-community/plugin-tech-radar-common@npm:1.0.0, @backstage-community/plugin-tech-radar-common@npm:^1.0.0": +"@backstage-community/plugin-tech-radar-common@npm:1.0.0": version: 1.0.0 resolution: "@backstage-community/plugin-tech-radar-common@npm:1.0.0" dependencies: @@ -4059,6 +3603,15 @@ __metadata: languageName: node linkType: hard +"@backstage-community/plugin-tech-radar-common@npm:^1.0.0": + version: 1.1.0 + resolution: "@backstage-community/plugin-tech-radar-common@npm:1.1.0" + dependencies: + zod: ^3.20.0 + checksum: 0bb88f26f2420c564950fb60636c10893496a2ec687d2490b1a23d1b579bc25a9d9b8a679c28c663550f97d5e67d034d60b88df1cafa3676c4748a3e2b5e93d6 + languageName: node + linkType: hard + "@backstage-community/plugin-tech-radar@npm:1.0.0": version: 1.0.0 resolution: "@backstage-community/plugin-tech-radar@npm:1.0.0" @@ -4131,11 +3684,11 @@ __metadata: linkType: hard "@backstage-community/plugin-topology-common@npm:^1.4.3": - version: 1.4.3 - resolution: "@backstage-community/plugin-topology-common@npm:1.4.3" + version: 1.4.4 + resolution: "@backstage-community/plugin-topology-common@npm:1.4.4" dependencies: "@backstage/plugin-permission-common": ^0.8.1 - checksum: 546c3ed9044144b4a6df2265e615d8d030ba413c666f4ef95f993226e7e83597d3c52416ddf7dd2f86cf21b90bc63a7c6b09bb896e9b7eee6ac5c3bffe185733 + checksum: 3c421bd33ae028adaae9cb0b3811615ee7cc74db59c13adbb062d55cca18dc1e23010be26f9d503adffd811dc0ca495961aafbe914f1ca8234a6723de6c57e28 languageName: node linkType: hard @@ -4180,15 +3733,15 @@ __metadata: languageName: node linkType: hard -"@backstage/app-defaults@npm:1.5.12, @backstage/app-defaults@npm:^1.5.12": - version: 1.5.12 - resolution: "@backstage/app-defaults@npm:1.5.12" +"@backstage/app-defaults@npm:1.5.15": + version: 1.5.15 + resolution: "@backstage/app-defaults@npm:1.5.15" dependencies: - "@backstage/core-app-api": ^1.15.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/plugin-permission-react": ^0.4.27 - "@backstage/theme": ^0.6.0 + "@backstage/core-app-api": ^1.15.3 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/plugin-permission-react": ^0.4.29 + "@backstage/theme": ^0.6.3 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 peerDependencies: @@ -4199,29 +3752,49 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 8dcb107bc954ed423260d8d2bde4d23436da9772550623ca10f62928de0b8eea982730f593594376f2bf5257094d287cda649b1527548738011e3c08e29a41ca + checksum: 46378a8b2b82cca764adb836ee323f91e4510beaf1665ad0ca602c974bab3043922d09448c246f1f4205223ca289c70665895e2e6138f5fd6a27f0e138ecdcbd languageName: node linkType: hard -"@backstage/backend-app-api@npm:1.0.1": - version: 1.0.1 - resolution: "@backstage/backend-app-api@npm:1.0.1" +"@backstage/app-defaults@npm:^1.5.15": + version: 1.5.16 + resolution: "@backstage/app-defaults@npm:1.5.16" dependencies: - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/cli-common": ^0.1.14 - "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.9.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/types": ^1.1.1 + "@backstage/core-app-api": ^1.15.4 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/plugin-permission-react": ^0.4.30 + "@backstage/theme": ^0.6.3 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 37e100f525dbffea52ddf0651e4e39cce210316f0de63d5cc46f646f3f5b068568ecc279999b7869f18819fb600c5221cd67fcbac39f21019592481c90462fae + languageName: node + linkType: hard + +"@backstage/backend-app-api@npm:1.1.0": + version: 1.1.0 + resolution: "@backstage/backend-app-api@npm:1.1.0" + dependencies: + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/cli-common": ^0.1.15 + "@backstage/config": ^1.3.1 + "@backstage/config-loader": ^1.9.3 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/types": ^1.2.0 "@manypkg/get-packages": ^1.1.3 compression: ^1.7.4 cookie: ^0.7.0 cors: ^2.8.5 - express: ^4.17.1 - express-promise-router: ^4.1.0 helmet: ^6.0.0 jose: ^5.0.0 knex: ^3.0.0 @@ -4231,33 +3804,32 @@ __metadata: minimatch: ^9.0.0 minimist: ^1.2.5 morgan: ^1.10.0 - node-fetch: ^2.7.0 node-forge: ^1.3.1 path-to-regexp: ^8.0.0 selfsigned: ^2.0.0 stoppable: ^1.1.0 triple-beam: ^1.4.1 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 winston-transport: ^4.5.0 - checksum: 5696cfd35b9804be92568103932e8109dcbafe2bafd6eca4e04f1935f6128f6098528ecbb61d81fb78c959cd47f85e611203e624807f3b5956d2d3e7e7b5b554 + checksum: 0a394e95af0b49c6eaf7948211b1ad2ba6f00d97c7728f6df2ece8897f13da0d5a3903ab2657898037b0b76806d8c4fd1115478bbd6511bb9cf352d609cb4c18 languageName: node linkType: hard "@backstage/backend-app-api@npm:^0.7.3": - version: 0.7.5 - resolution: "@backstage/backend-app-api@npm:0.7.5" + version: 0.7.9 + resolution: "@backstage/backend-app-api@npm:0.7.9" dependencies: - "@backstage/backend-common": ^0.22.0 - "@backstage/backend-plugin-api": ^0.6.18 - "@backstage/backend-tasks": ^0.5.23 - "@backstage/cli-common": ^0.1.13 - "@backstage/cli-node": ^0.2.5 + "@backstage/backend-common": ^0.23.2 + "@backstage/backend-plugin-api": ^0.6.21 + "@backstage/backend-tasks": ^0.5.26 + "@backstage/cli-common": ^0.1.14 + "@backstage/cli-node": ^0.2.6 "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.8.0 + "@backstage/config-loader": ^1.8.1 "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.4.13 - "@backstage/plugin-permission-node": ^0.7.29 + "@backstage/plugin-auth-node": ^0.4.16 + "@backstage/plugin-permission-node": ^0.7.32 "@backstage/types": ^1.1.1 "@manypkg/get-packages": ^1.1.3 "@types/cors": ^2.8.6 @@ -4277,6 +3849,7 @@ __metadata: minimatch: ^9.0.0 minimist: ^1.2.5 morgan: ^1.10.0 + node-fetch: ^2.6.7 node-forge: ^1.3.1 path-to-regexp: ^6.2.1 selfsigned: ^2.0.0 @@ -4285,7 +3858,7 @@ __metadata: uuid: ^9.0.0 winston: ^3.2.1 winston-transport: ^4.5.0 - checksum: 86adfb3ac10e9c885d53bd76e1821cbeca52a638bf22a28da51c6c386ed3d4d8c79d367510d67d26bc4e1e514932f22a6ffb2138d6d2eb56df5a9d8404eafc3d + checksum: bbc5026fe1ddc29e93f0ee16f261108f17f6628cb15e2ad47a850124f1bb0671cf8d740532c45e96db448df87ef5c262c764754c150116d242348303c694eff3 languageName: node linkType: hard @@ -4332,24 +3905,22 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-app-api@npm:^1.0.1, @backstage/backend-app-api@npm:^1.0.2": - version: 1.0.2 - resolution: "@backstage/backend-app-api@npm:1.0.2" +"@backstage/backend-app-api@npm:^1.0.2, @backstage/backend-app-api@npm:^1.1.0, @backstage/backend-app-api@npm:^1.1.1": + version: 1.1.1 + resolution: "@backstage/backend-app-api@npm:1.1.1" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 + "@backstage/backend-plugin-api": ^1.1.1 "@backstage/cli-common": ^0.1.15 - "@backstage/config": ^1.3.0 - "@backstage/config-loader": ^1.9.2 - "@backstage/errors": ^1.2.5 - "@backstage/plugin-auth-node": ^0.5.4 - "@backstage/plugin-permission-node": ^0.8.5 - "@backstage/types": ^1.2.0 + "@backstage/config": ^1.3.2 + "@backstage/config-loader": ^1.9.5 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-permission-node": ^0.8.7 + "@backstage/types": ^1.2.1 "@manypkg/get-packages": ^1.1.3 compression: ^1.7.4 cookie: ^0.7.0 cors: ^2.8.5 - express: ^4.17.1 - express-promise-router: ^4.1.0 helmet: ^6.0.0 jose: ^5.0.0 knex: ^3.0.0 @@ -4359,7 +3930,6 @@ __metadata: minimatch: ^9.0.0 minimist: ^1.2.5 morgan: ^1.10.0 - node-fetch: ^2.7.0 node-forge: ^1.3.1 path-to-regexp: ^8.0.0 selfsigned: ^2.0.0 @@ -4368,7 +3938,7 @@ __metadata: uuid: ^11.0.0 winston: ^3.2.1 winston-transport: ^4.5.0 - checksum: 62d3bcd991a0e544395044c5589339de7e904a45b150718bf7fd180a703f40eca5f6a84d835d5f0f971540ef821c8803e456060b43ef083f916ea33b2d06b350 + checksum: 30f8137acb7e2140f18502f5880dcee153e037d02408a910da5589eb0e0448ccdeb7ba5b60e5a62f67f4bf92be542bb368987fe52aa60f0173e81636418354e5 languageName: node linkType: hard @@ -4672,36 +4242,37 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-defaults@npm:0.5.2": - version: 0.5.2 - resolution: "@backstage/backend-defaults@npm:0.5.2" +"@backstage/backend-defaults@npm:0.6.2, @backstage/backend-defaults@npm:^0.6.0, @backstage/backend-defaults@npm:^0.6.2": + version: 0.6.2 + resolution: "@backstage/backend-defaults@npm:0.6.2" dependencies: "@aws-sdk/abort-controller": ^3.347.0 "@aws-sdk/client-codecommit": ^3.350.0 "@aws-sdk/client-s3": ^3.350.0 "@aws-sdk/credential-providers": ^3.350.0 "@aws-sdk/types": ^3.347.0 - "@backstage/backend-app-api": ^1.0.1 - "@backstage/backend-common": ^0.25.0 + "@azure/identity": ^4.0.0 + "@azure/storage-blob": ^12.5.0 + "@backstage/backend-app-api": ^1.1.0 "@backstage/backend-dev-utils": ^0.1.5 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/cli-common": ^0.1.14 - "@backstage/cli-node": ^0.2.9 - "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.9.1 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/integration-aws-node": ^0.1.12 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/cli-common": ^0.1.15 + "@backstage/cli-node": ^0.2.11 + "@backstage/config": ^1.3.1 + "@backstage/config-loader": ^1.9.4 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/integration-aws-node": ^0.1.14 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/types": ^1.2.0 "@google-cloud/storage": ^7.0.0 - "@keyv/memcache": ^1.3.5 - "@keyv/redis": ^2.5.3 + "@keyv/memcache": ^2.0.1 + "@keyv/redis": ^4.0.1 "@manypkg/get-packages": ^1.1.3 "@octokit/rest": ^19.0.3 - "@opentelemetry/api": ^1.3.0 + "@opentelemetry/api": ^1.9.0 "@types/cors": ^2.8.6 "@types/express": ^4.17.6 archiver: ^7.0.0 @@ -4719,34 +4290,38 @@ __metadata: helmet: ^6.0.0 isomorphic-git: ^1.23.0 jose: ^5.0.0 - keyv: ^4.5.2 + keyv: ^5.2.1 knex: ^3.0.0 lodash: ^4.17.21 logform: ^2.3.2 luxon: ^3.0.0 minimatch: ^9.0.0 minimist: ^1.2.5 - morgan: ^1.10.0 mysql2: ^3.0.0 node-fetch: ^2.7.0 node-forge: ^1.3.1 p-limit: ^3.1.0 + p-throttle: ^4.1.1 path-to-regexp: ^8.0.0 pg: ^8.11.3 pg-connection-string: ^2.3.0 pg-format: ^1.0.4 raw-body: ^2.4.1 selfsigned: ^2.0.0 - stoppable: ^1.1.0 tar: ^6.1.12 triple-beam: ^1.4.1 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 winston-transport: ^4.5.0 yauzl: ^3.0.0 yn: ^4.0.0 zod: ^3.22.4 - checksum: 9d0f494dae99e9a3cee8dfcb0d15c72ddb2ca2069a1c545f58a8a521a95688c275656bd152585067f3264bc97f532dc0dcfeb267e15a24153ebfae4fb0d3abbe + peerDependencies: + "@google-cloud/cloud-sql-connector": ^1.4.0 + peerDependenciesMeta: + "@google-cloud/cloud-sql-connector": + optional: true + checksum: 548f859e3319cb71c9a58124998ab613e56a85a64068190e6a5d58dc6a376fed55a369fdec45257c5efeb163c5f27826a616bc4bdee4a632357116eecf019841 languageName: node linkType: hard @@ -4827,7 +4402,7 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-defaults@npm:^0.5.0, @backstage/backend-defaults@npm:^0.5.2, @backstage/backend-defaults@npm:^0.5.3": +"@backstage/backend-defaults@npm:^0.5.0, @backstage/backend-defaults@npm:^0.5.2": version: 0.5.3 resolution: "@backstage/backend-defaults@npm:0.5.3" dependencies: @@ -4904,72 +4479,120 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-dev-utils@npm:^0.1.4, @backstage/backend-dev-utils@npm:^0.1.5": - version: 0.1.5 - resolution: "@backstage/backend-dev-utils@npm:0.1.5" - checksum: 7c7eced8cc6fe88b6b54d7b9f04953dbfd07846772368a0b269d4e75da30133b61e4fe29782c0dc0aa547234d75ff60a985f378f92911680a9172fa8f2820e5b - languageName: node - linkType: hard - -"@backstage/backend-dynamic-feature-service@npm:0.4.4": - version: 0.4.4 - resolution: "@backstage/backend-dynamic-feature-service@npm:0.4.4" +"@backstage/backend-defaults@npm:^0.7.0": + version: 0.7.0 + resolution: "@backstage/backend-defaults@npm:0.7.0" dependencies: - "@backstage/backend-app-api": ^1.0.1 - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/cli-common": ^0.1.14 - "@backstage/cli-node": ^0.2.9 - "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.9.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-app-node": ^0.1.26 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-catalog-backend": ^1.27.1 - "@backstage/plugin-events-backend": ^0.3.15 - "@backstage/plugin-events-node": ^0.4.4 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-scaffolder-node": ^0.5.1 - "@backstage/plugin-search-backend-node": ^1.3.4 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/types": ^1.1.1 + "@aws-sdk/abort-controller": ^3.347.0 + "@aws-sdk/client-codecommit": ^3.350.0 + "@aws-sdk/client-s3": ^3.350.0 + "@aws-sdk/credential-providers": ^3.350.0 + "@aws-sdk/types": ^3.347.0 + "@azure/identity": ^4.0.0 + "@azure/storage-blob": ^12.5.0 + "@backstage/backend-app-api": ^1.1.1 + "@backstage/backend-dev-utils": ^0.1.5 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/cli-common": ^0.1.15 + "@backstage/cli-node": ^0.2.12 + "@backstage/config": ^1.3.2 + "@backstage/config-loader": ^1.9.5 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/integration-aws-node": ^0.1.15 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-events-node": ^0.4.7 + "@backstage/plugin-permission-node": ^0.8.7 + "@backstage/types": ^1.2.1 + "@google-cloud/storage": ^7.0.0 + "@keyv/memcache": ^2.0.1 + "@keyv/redis": ^4.0.1 "@manypkg/get-packages": ^1.1.3 + "@octokit/rest": ^19.0.3 + "@opentelemetry/api": ^1.9.0 + "@types/cors": ^2.8.6 "@types/express": ^4.17.6 - chokidar: ^3.5.3 + archiver: ^7.0.0 + base64-stream: ^1.0.0 + better-sqlite3: ^11.0.0 + compression: ^1.7.4 + concat-stream: ^2.0.0 + cookie: ^0.7.0 + cors: ^2.8.5 + cron: ^3.0.0 express: ^4.17.1 + express-promise-router: ^4.1.0 fs-extra: ^11.2.0 + git-url-parse: ^15.0.0 + helmet: ^6.0.0 + isomorphic-git: ^1.23.0 + jose: ^5.0.0 + keyv: ^5.2.1 + knex: ^3.0.0 lodash: ^4.17.21 + logform: ^2.3.2 + luxon: ^3.0.0 + minimatch: ^9.0.0 + minimist: ^1.2.5 + mysql2: ^3.0.0 + node-fetch: ^2.7.0 + node-forge: ^1.3.1 + p-limit: ^3.1.0 + p-throttle: ^4.1.1 + path-to-regexp: ^8.0.0 + pg: ^8.11.3 + pg-connection-string: ^2.3.0 + pg-format: ^1.0.4 + raw-body: ^2.4.1 + selfsigned: ^2.0.0 + tar: ^6.1.12 + triple-beam: ^1.4.1 + uuid: ^11.0.0 winston: ^3.2.1 - checksum: 101defe04c39f37170737f610b9510ceb08dde6f9add39fec793bec4e8727308925729333ac80aa1e5b360087cd40ab1ebced0ad7331adfaea4dbd4f46930b0e + winston-transport: ^4.5.0 + yauzl: ^3.0.0 + yn: ^4.0.0 + zod: ^3.22.4 + peerDependencies: + "@google-cloud/cloud-sql-connector": ^1.4.0 + peerDependenciesMeta: + "@google-cloud/cloud-sql-connector": + optional: true + checksum: 67d8fe085488c2d675adb4ef1d182c657ba4ebf7318ced23221b261a7e4a71bcc788ed4a4bea35b1b78a00c14af2b5c65169a74e61e6d9cdd15cf33daf7ce3f2 languageName: node linkType: hard -"@backstage/backend-dynamic-feature-service@patch:@backstage/backend-dynamic-feature-service@npm%3A0.4.4#./.yarn/patches/@backstage-backend-dynamic-feature-service-npm-0.4.4.patch::locator=root%40workspace%3A.": - version: 0.4.4 - resolution: "@backstage/backend-dynamic-feature-service@patch:@backstage/backend-dynamic-feature-service@npm%3A0.4.4#./.yarn/patches/@backstage-backend-dynamic-feature-service-npm-0.4.4.patch::version=0.4.4&hash=625154&locator=root%40workspace%3A." +"@backstage/backend-dev-utils@npm:^0.1.4, @backstage/backend-dev-utils@npm:^0.1.5": + version: 0.1.5 + resolution: "@backstage/backend-dev-utils@npm:0.1.5" + checksum: 7c7eced8cc6fe88b6b54d7b9f04953dbfd07846772368a0b269d4e75da30133b61e4fe29782c0dc0aa547234d75ff60a985f378f92911680a9172fa8f2820e5b + languageName: node + linkType: hard + +"@backstage/backend-dynamic-feature-service@npm:0.5.2": + version: 0.5.2 + resolution: "@backstage/backend-dynamic-feature-service@npm:0.5.2" dependencies: - "@backstage/backend-app-api": ^1.0.1 + "@backstage/backend-app-api": ^1.1.0 "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/cli-common": ^0.1.14 - "@backstage/cli-node": ^0.2.9 - "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.9.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-app-node": ^0.1.26 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-catalog-backend": ^1.27.1 - "@backstage/plugin-events-backend": ^0.3.15 - "@backstage/plugin-events-node": ^0.4.4 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-scaffolder-node": ^0.5.1 - "@backstage/plugin-search-backend-node": ^1.3.4 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/types": ^1.1.1 + "@backstage/backend-defaults": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/cli-common": ^0.1.15 + "@backstage/cli-node": ^0.2.11 + "@backstage/config": ^1.3.1 + "@backstage/config-loader": ^1.9.3 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-app-node": ^0.1.28 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-catalog-backend": ^1.29.0 + "@backstage/plugin-events-backend": ^0.4.0 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/plugin-scaffolder-node": ^0.6.2 + "@backstage/plugin-search-backend-node": ^1.3.6 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/types": ^1.2.0 "@manypkg/get-packages": ^1.1.3 "@types/express": ^4.17.6 chokidar: ^3.5.3 @@ -4977,7 +4600,7 @@ __metadata: fs-extra: ^11.2.0 lodash: ^4.17.21 winston: ^3.2.1 - checksum: 96f9a45c25146edbbe06f760f76fdc86aa55f7ecdaff9796d636abaf48c679f3457aa686881463c0651fffcba6cfd82f348286030a9b117326ed5aaf55265916 + checksum: ed9b2d35f60ec1543b8648f657b18bb857760981d489a4ae95eef3bab4e6609623fa0bc947bdf74f7bf702f9b28c325ff2c4fee4fb877491eee7ee1894680a92 languageName: node linkType: hard @@ -5006,14 +4629,14 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-openapi-utils@npm:^0.3.0": - version: 0.3.0 - resolution: "@backstage/backend-openapi-utils@npm:0.3.0" +"@backstage/backend-openapi-utils@npm:^0.4.0, @backstage/backend-openapi-utils@npm:^0.4.1": + version: 0.4.1 + resolution: "@backstage/backend-openapi-utils@npm:0.4.1" dependencies: "@apidevtools/swagger-parser": ^10.1.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 "@types/express": ^4.17.6 "@types/express-serve-static-core": ^4.17.5 ajv: ^8.16.0 @@ -5026,26 +4649,25 @@ __metadata: mockttp: ^3.13.0 openapi-merge: ^1.3.2 openapi3-ts: ^3.1.2 - checksum: 93b50291a994fd4431cad2b7148aee92b36afa7a2c09d51b414722d1696926a2a30a3c55c228bf28e5003e2594572fe8bf9ec3dee48e2f91f0eab305e8d10db9 + checksum: 94170cd7110f61ebec80f8725c78fd152adf59e128729d8478cfbb74c6c5686294b018a9060c039d468ffa8c6eb89f60a911819438dd2eb14abb33655e3e166a languageName: node linkType: hard -"@backstage/backend-plugin-api@npm:1.0.1": - version: 1.0.1 - resolution: "@backstage/backend-plugin-api@npm:1.0.1" +"@backstage/backend-plugin-api@npm:1.1.0": + version: 1.1.0 + resolution: "@backstage/backend-plugin-api@npm:1.1.0" dependencies: - "@backstage/cli-common": ^0.1.14 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/types": ^1.1.1 + "@backstage/cli-common": ^0.1.15 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/types": ^1.2.0 "@types/express": ^4.17.6 "@types/luxon": ^3.0.0 - express: ^4.17.1 knex: ^3.0.0 luxon: ^3.0.0 - checksum: a0d1dce15c1c90eec64e4f8d7d2eddd4ab43ebf4573db041b1ee835f27939e97eb162c20661fbafb3e8bc223c422512eea1a0327700164e51e328d620ca925c8 + checksum: 0a58762708c714511f7be16dcc6f5ceb80fb572f14f812887de2c93d83da4c70a62288fe0becb86b85f1319dcea1c632891bf2869bdca14b94d16d8066dba9ae languageName: node linkType: hard @@ -5106,26 +4728,25 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-plugin-api@npm:^1.0.0, @backstage/backend-plugin-api@npm:^1.0.1, @backstage/backend-plugin-api@npm:^1.0.2": - version: 1.0.2 - resolution: "@backstage/backend-plugin-api@npm:1.0.2" +"@backstage/backend-plugin-api@npm:^1.0.0, @backstage/backend-plugin-api@npm:^1.0.1, @backstage/backend-plugin-api@npm:^1.0.2, @backstage/backend-plugin-api@npm:^1.1.0, @backstage/backend-plugin-api@npm:^1.1.1": + version: 1.1.1 + resolution: "@backstage/backend-plugin-api@npm:1.1.1" dependencies: "@backstage/cli-common": ^0.1.15 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/plugin-auth-node": ^0.5.4 - "@backstage/plugin-permission-common": ^0.8.2 - "@backstage/types": ^1.2.0 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/types": ^1.2.1 "@types/express": ^4.17.6 "@types/luxon": ^3.0.0 - express: ^4.17.1 knex: ^3.0.0 luxon: ^3.0.0 - checksum: c74ff15e54ddf31608551875b8b3c41d606ed889908b47baf167e76cf1a8cdd13b1697b8d3e12396e8ae538c7ef879b96a2e13c1bb5011c0bf1ac23719e7795c + checksum: f697e0bfe2741f04a8d08feb72efbc4d5fd23a53b94c1f6f44bfd759b04062c8d4d4d384421c8960967ac713d2af4af3f88e197afc9c13b81dfe7aa15bfcc89b languageName: node linkType: hard -"@backstage/backend-tasks@npm:^0.5.23, @backstage/backend-tasks@npm:^0.5.27": +"@backstage/backend-tasks@npm:^0.5.26, @backstage/backend-tasks@npm:^0.5.27": version: 0.5.27 resolution: "@backstage/backend-tasks@npm:0.5.27" dependencies: @@ -5146,20 +4767,20 @@ __metadata: languageName: node linkType: hard -"@backstage/backend-test-utils@npm:1.0.2": - version: 1.0.2 - resolution: "@backstage/backend-test-utils@npm:1.0.2" - dependencies: - "@backstage/backend-app-api": ^1.0.1 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/types": ^1.1.1 - "@keyv/memcache": ^1.3.5 - "@keyv/redis": ^2.5.3 +"@backstage/backend-test-utils@npm:1.2.0": + version: 1.2.0 + resolution: "@backstage/backend-test-utils@npm:1.2.0" + dependencies: + "@backstage/backend-app-api": ^1.1.0 + "@backstage/backend-defaults": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/types": ^1.2.0 + "@keyv/memcache": ^2.0.1 + "@keyv/redis": ^4.0.1 "@types/express": ^4.17.6 "@types/express-serve-static-core": ^4.17.5 "@types/keyv": ^4.2.0 @@ -5168,19 +4789,18 @@ __metadata: cookie: ^0.7.0 express: ^4.17.1 fs-extra: ^11.0.0 - keyv: ^4.5.2 + keyv: ^5.2.1 knex: ^3.0.0 - msw: ^1.0.0 mysql2: ^3.0.0 pg: ^8.11.3 pg-connection-string: ^2.3.0 testcontainers: ^10.0.0 textextensions: ^5.16.0 - uuid: ^9.0.0 + uuid: ^11.0.0 yn: ^4.0.0 peerDependencies: "@types/jest": "*" - checksum: c45d663b7aec8b3b821f8a7cd37a4fdb6a70164eb31fd16f52b5a9261982829dc3f499f1094f0ae5ab9b4539608440f45ef0a7cc1cfc671df816bc48e585351f + checksum: eea00066aa2941fb06ff20db31f326b36005039202f307f427df754f2b1ed5eb67ec62aa0bbd09aa72a78f77ad11ab371bb00f2573a70186ff39aafbb01088cf languageName: node linkType: hard @@ -5219,51 +4839,51 @@ __metadata: languageName: node linkType: hard -"@backstage/catalog-client@npm:1.7.1": - version: 1.7.1 - resolution: "@backstage/catalog-client@npm:1.7.1" +"@backstage/catalog-client@npm:1.9.0": + version: 1.9.0 + resolution: "@backstage/catalog-client@npm:1.9.0" dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/errors": ^1.2.4 + "@backstage/catalog-model": ^1.7.2 + "@backstage/errors": ^1.2.6 cross-fetch: ^4.0.0 uri-template: ^2.0.0 - checksum: 0a70a929e95b4e424b021010202e19b68ab5ad3a6b6613e5c01850f31f6067e33ebb8863119c197bc213e9d86793d5368d0ad100288802e72eb6e818f54e765f + checksum: ef26c36aee89ab1e8700fc681f5f62aa188cda714ae8bfe65ea154dc73ee6986ebabf2910805687d7eb66841765b0b6430c701726ec1f8171585a552e1f8d44f languageName: node linkType: hard -"@backstage/catalog-client@npm:^1.6.5, @backstage/catalog-client@npm:^1.6.6, @backstage/catalog-client@npm:^1.7.1, @backstage/catalog-client@npm:^1.8.0": - version: 1.8.0 - resolution: "@backstage/catalog-client@npm:1.8.0" +"@backstage/catalog-client@npm:^1.6.5, @backstage/catalog-client@npm:^1.6.6, @backstage/catalog-client@npm:^1.7.1, @backstage/catalog-client@npm:^1.8.0, @backstage/catalog-client@npm:^1.9.0, @backstage/catalog-client@npm:^1.9.1": + version: 1.9.1 + resolution: "@backstage/catalog-client@npm:1.9.1" dependencies: - "@backstage/catalog-model": ^1.7.1 - "@backstage/errors": ^1.2.5 + "@backstage/catalog-model": ^1.7.3 + "@backstage/errors": ^1.2.7 cross-fetch: ^4.0.0 uri-template: ^2.0.0 - checksum: 781ce437855eb59cf33687866b64d374471ed9376cdaec9aa4f5dc389ee2a5eb41e98707c902312cc4b99dfc885daa7e26d59228cf6eb5b539c9207aeda02f8c + checksum: 15833bbf98f3ad548ca55218cb5c75f7404e34e1177b776b557e932cc5590fb935129ad74cefda3cf848a0f6a8d151790431957f83e7bb243aeeef487f423320 languageName: node linkType: hard -"@backstage/catalog-model@npm:1.7.0": - version: 1.7.0 - resolution: "@backstage/catalog-model@npm:1.7.0" +"@backstage/catalog-model@npm:1.7.2": + version: 1.7.2 + resolution: "@backstage/catalog-model@npm:1.7.2" dependencies: - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 ajv: ^8.10.0 lodash: ^4.17.21 - checksum: 6ff537e9e6064d35fa4a173a1c96f94e904489494a67a136e2dd0a743f9e3f4fd8a1f7a661fe8495dfbb642aabcc8fbf1746a300ad496b6e4a5d02f4db00f914 + checksum: 97b166303e9428c03e20750360f830a3810e70362143429e847df552cc197c60a560075f59776515518f618d9e754e377d07abaefaf6b73df8b08385f3bdd00d languageName: node linkType: hard -"@backstage/catalog-model@npm:^1.5.0, @backstage/catalog-model@npm:^1.6.0, @backstage/catalog-model@npm:^1.7.0, @backstage/catalog-model@npm:^1.7.1": - version: 1.7.1 - resolution: "@backstage/catalog-model@npm:1.7.1" +"@backstage/catalog-model@npm:^1.5.0, @backstage/catalog-model@npm:^1.6.0, @backstage/catalog-model@npm:^1.7.0, @backstage/catalog-model@npm:^1.7.2, @backstage/catalog-model@npm:^1.7.3": + version: 1.7.3 + resolution: "@backstage/catalog-model@npm:1.7.3" dependencies: - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 ajv: ^8.10.0 lodash: ^4.17.21 - checksum: 05e2b386aac897f8ac87c1e479101f8da90d96c517c837b99796a4118cce63932ffbb29fbb1f8ec156258370ff5bab65555bbe2fd7091be438f8c554f0a5bdff + checksum: 1f6202986b13c112cc35481daea2da929656e775b8158c5a796be64e5ff4d1457012935e41574633bc47f437cf228d82f547232b35761359c8273190e8a14889 languageName: node linkType: hard @@ -5274,54 +4894,54 @@ __metadata: languageName: node linkType: hard -"@backstage/cli-node@npm:0.2.9": - version: 0.2.9 - resolution: "@backstage/cli-node@npm:0.2.9" +"@backstage/cli-node@npm:0.2.11": + version: 0.2.11 + resolution: "@backstage/cli-node@npm:0.2.11" dependencies: - "@backstage/cli-common": ^0.1.14 - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 + "@backstage/cli-common": ^0.1.15 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 "@manypkg/get-packages": ^1.1.3 "@yarnpkg/parsers": ^3.0.0 fs-extra: ^11.2.0 semver: ^7.5.3 zod: ^3.22.4 - checksum: 39a3332cc0dd732a51726d803c322ec7423c6380e494b3ef91d5c71aabd60626bc355ede3fbb8a4da4714806c4663b6bef109bb6c7100160452c0e71620dac9b + checksum: 7dffc03c9abcb2699cd46211d9ef46a72231a8167e26d0cc236e6631d37dac80979ce725e879e366c4b5a15dda2d5f19ca6255eddc351319a0aa7dded737cf5d languageName: node linkType: hard -"@backstage/cli-node@npm:^0.2.10, @backstage/cli-node@npm:^0.2.5, @backstage/cli-node@npm:^0.2.7, @backstage/cli-node@npm:^0.2.9": - version: 0.2.10 - resolution: "@backstage/cli-node@npm:0.2.10" +"@backstage/cli-node@npm:^0.2.10, @backstage/cli-node@npm:^0.2.11, @backstage/cli-node@npm:^0.2.12, @backstage/cli-node@npm:^0.2.6, @backstage/cli-node@npm:^0.2.7, @backstage/cli-node@npm:^0.2.9": + version: 0.2.12 + resolution: "@backstage/cli-node@npm:0.2.12" dependencies: "@backstage/cli-common": ^0.1.15 - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 "@manypkg/get-packages": ^1.1.3 "@yarnpkg/parsers": ^3.0.0 fs-extra: ^11.2.0 semver: ^7.5.3 zod: ^3.22.4 - checksum: eecc56a38ac3b3bb016819832ead361fbe8ff7c48c8fd9250428c84d6d02c1be315beb7178f2ad817f9b96203bd6a8e86a49473fd8e0a202a8816efb8f89364e + checksum: 46697b4c5713a6466cae90fb90ec5bab4a95cb9d0fe84ce43d79a11db989f195c0e0b60f1b08f672fd223122d7c024a0e21b656ab27cc5ce2da2aa969aa34e10 languageName: node linkType: hard -"@backstage/cli@npm:0.28.2": - version: 0.28.2 - resolution: "@backstage/cli@npm:0.28.2" +"@backstage/cli@npm:0.29.4": + version: 0.29.4 + resolution: "@backstage/cli@npm:0.29.4" dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/cli-common": ^0.1.14 - "@backstage/cli-node": ^0.2.9 - "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.9.1 - "@backstage/errors": ^1.2.4 + "@backstage/catalog-model": ^1.7.2 + "@backstage/cli-common": ^0.1.15 + "@backstage/cli-node": ^0.2.11 + "@backstage/config": ^1.3.1 + "@backstage/config-loader": ^1.9.3 + "@backstage/errors": ^1.2.6 "@backstage/eslint-plugin": ^0.1.10 - "@backstage/integration": ^1.15.1 - "@backstage/release-manifests": ^0.0.11 - "@backstage/types": ^1.1.1 + "@backstage/integration": ^1.16.0 + "@backstage/release-manifests": ^0.0.12 + "@backstage/types": ^1.2.0 "@manypkg/get-packages": ^1.1.3 - "@module-federation/enhanced": ^0.6.0 + "@module-federation/enhanced": ^0.8.0 "@octokit/graphql": ^5.0.0 "@octokit/graphql-schema": ^13.7.0 "@octokit/oauth-app": ^4.2.0 @@ -5379,7 +4999,7 @@ __metadata: global-agent: ^3.0.0 globby: ^11.1.0 handlebars: ^4.7.3 - html-webpack-plugin: ^5.3.1 + html-webpack-plugin: ^5.6.3 inquirer: ^8.2.0 jest: ^29.7.0 jest-cli: ^29.7.0 @@ -5390,7 +5010,6 @@ __metadata: lodash: ^4.17.21 mini-css-extract-plugin: ^2.4.2 minimatch: ^9.0.0 - node-fetch: ^2.7.0 node-libs-browser: ^2.2.1 npm-packlist: ^5.0.0 ora: ^5.3.0 @@ -5404,23 +5023,21 @@ __metadata: react-refresh: ^0.14.0 recursive-readdir: ^2.2.2 replace-in-file: ^7.1.0 - rollup: ^4.0.0 + rollup: ^4.27.3 rollup-plugin-dts: ^6.1.0 rollup-plugin-esbuild: ^6.1.1 rollup-plugin-postcss: ^4.0.0 rollup-pluginutils: ^2.8.2 - run-script-webpack-plugin: ^0.2.0 semver: ^7.5.3 style-loader: ^3.3.1 sucrase: ^3.20.2 swc-loader: ^0.2.3 tar: ^6.1.12 terser-webpack-plugin: ^5.1.3 - ts-morph: ^23.0.0 + ts-morph: ^24.0.0 util: ^0.12.3 webpack: ^5.94.0 webpack-dev-server: ^5.0.0 - webpack-node-externals: ^3.0.0 yaml: ^2.0.0 yargs: ^16.2.0 yml-loader: ^2.1.0 @@ -5432,7 +5049,7 @@ __metadata: "@rspack/dev-server": ^1.0.9 "@rspack/plugin-react-refresh": ^1.0.0 "@vitejs/plugin-react": ^4.0.4 - vite: ^4.4.9 + vite: ^5.0.0 vite-plugin-html: ^3.2.0 vite-plugin-node-polyfills: ^0.22.0 peerDependenciesMeta: @@ -5454,7 +5071,7 @@ __metadata: optional: true bin: backstage-cli: bin/backstage-cli - checksum: 32e75a897a7a7b14df6ce43b66fdd5c9fb11b54b88fd3655257055536c77d38bf2d0c5fefbd44348f6250493673396c566eab695007f89d870757956ef659159 + checksum: a87362db302cd17fbb5dc6f9e80796e78da815580f67c819c864f8c61bcf61601b412a9dae44a267c774bc5720bd88d76f492d7fc439bfac3203dbe102136c8c languageName: node linkType: hard @@ -5594,14 +5211,14 @@ __metadata: languageName: node linkType: hard -"@backstage/config-loader@npm:1.9.1": - version: 1.9.1 - resolution: "@backstage/config-loader@npm:1.9.1" +"@backstage/config-loader@npm:1.9.4": + version: 1.9.4 + resolution: "@backstage/config-loader@npm:1.9.4" dependencies: - "@backstage/cli-common": ^0.1.14 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 + "@backstage/cli-common": ^0.1.15 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 "@types/json-schema": ^7.0.6 ajv: ^8.10.0 chokidar: ^3.5.2 @@ -5611,21 +5228,20 @@ __metadata: json-schema-traverse: ^1.0.0 lodash: ^4.17.21 minimist: ^1.2.5 - node-fetch: ^2.7.0 typescript-json-schema: ^0.65.0 yaml: ^2.0.0 - checksum: e13ab3cab7a443aa94a5861bf9fe19208bd85a4087f495d6e51d007ff25fcf2c56c26c3682c476422cf407be97dfa6fbe5817595f1f5523a307eae1c23fcc489 + checksum: 2cd930531e4433252a0354b875eacbe9b889e592ef1b0d3c78be62a1ed0b9b397bb24b980125b5d5a0526c55e718312bebfb34f12df87e42b20d8bfca3e61c72 languageName: node linkType: hard -"@backstage/config-loader@npm:^1.8.0, @backstage/config-loader@npm:^1.8.1, @backstage/config-loader@npm:^1.9.0, @backstage/config-loader@npm:^1.9.1, @backstage/config-loader@npm:^1.9.2": - version: 1.9.2 - resolution: "@backstage/config-loader@npm:1.9.2" +"@backstage/config-loader@npm:^1.8.0, @backstage/config-loader@npm:^1.8.1, @backstage/config-loader@npm:^1.9.0, @backstage/config-loader@npm:^1.9.1, @backstage/config-loader@npm:^1.9.2, @backstage/config-loader@npm:^1.9.3, @backstage/config-loader@npm:^1.9.4, @backstage/config-loader@npm:^1.9.5": + version: 1.9.5 + resolution: "@backstage/config-loader@npm:1.9.5" dependencies: "@backstage/cli-common": ^0.1.15 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 "@types/json-schema": ^7.0.6 ajv: ^8.10.0 chokidar: ^3.5.2 @@ -5635,41 +5251,41 @@ __metadata: json-schema-traverse: ^1.0.0 lodash: ^4.17.21 minimist: ^1.2.5 - node-fetch: ^2.7.0 typescript-json-schema: ^0.65.0 yaml: ^2.0.0 - checksum: 92d0be7ccb05879d6a095adca144f3e9a330072282a9fddd1300f908d9292cc8531f248309df687c241b22825d63116e1b56f334cfac399e9b93dca22fe77e29 + checksum: a676f478c2e7e07ed6857833a271176da1d0af38a04b6a4f77b59a2e83e4f879d81d5a042b7592b6999e23871a31804d7bb46d87bcc5b330c2b80ea4a99a5961 languageName: node linkType: hard -"@backstage/config@npm:1.2.0": - version: 1.2.0 - resolution: "@backstage/config@npm:1.2.0" +"@backstage/config@npm:1.3.1": + version: 1.3.1 + resolution: "@backstage/config@npm:1.3.1" dependencies: - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 - checksum: 7844f0f086f894eca110f5c68832cd7c0beca2dc0ce2139b10af1d2cde6faf25afb249d3f980375def338b0ad885ef9e98f0d5a1b475bfe54c51b2b6636f1fef + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 + ms: ^2.1.3 + checksum: aa193687f19b0f6d928eab8474e30425723bd86bb272f9576ce731edb580d403c339cda2a10553c48e50d08b4f3fb4c79f9fd63f8e8156b8e5da69e4ca83ba86 languageName: node linkType: hard -"@backstage/config@npm:^1.2.0, @backstage/config@npm:^1.3.0": - version: 1.3.0 - resolution: "@backstage/config@npm:1.3.0" +"@backstage/config@npm:^1.2.0, @backstage/config@npm:^1.3.0, @backstage/config@npm:^1.3.1, @backstage/config@npm:^1.3.2": + version: 1.3.2 + resolution: "@backstage/config@npm:1.3.2" dependencies: - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 ms: ^2.1.3 - checksum: 8e117d677889a5170c62f4b867830cded1cddc2f3f52c86fef7df60a974e7f9e38f428d12e30b6dcc038971e736162d52469f6d98917a401f825e544443e0e4e + checksum: a8688592f2b0469c8018f951d09a1ffd024e39eeced40e67a6f4a9fb355b530699ba7e06c04aeaf7d9f69080ce4bf62fd6ba0d563889583e09b978d36d4cff53 languageName: node linkType: hard -"@backstage/core-app-api@npm:1.15.1, @backstage/core-app-api@npm:^1.15.1": - version: 1.15.1 - resolution: "@backstage/core-app-api@npm:1.15.1" +"@backstage/core-app-api@npm:1.15.3": + version: 1.15.3 + resolution: "@backstage/core-app-api@npm:1.15.3" dependencies: - "@backstage/config": ^1.2.0 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/types": ^1.1.1 + "@backstage/config": ^1.3.1 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/types": ^1.2.0 "@backstage/version-bridge": ^1.0.10 "@types/prop-types": ^15.7.3 history: ^5.0.0 @@ -5687,7 +5303,35 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 0ace62b7fdef97bf808c584204da512e2d00517d5af270fe3fd14ce286bf24d297f3d42cfa84e383c5fc955d28250b0e5fc62823633da84ad7ef2caaff05609a + checksum: cba984dc0afe7b6bbb1b8fdc4bfc349bceab766d189c7517e39502042d38084c3d54610610e1ba305c8c1e5ccaa4a298c2640910d0a15d6741848c62c2436cc5 + languageName: node + linkType: hard + +"@backstage/core-app-api@npm:^1.15.1, @backstage/core-app-api@npm:^1.15.3, @backstage/core-app-api@npm:^1.15.4": + version: 1.15.4 + resolution: "@backstage/core-app-api@npm:1.15.4" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/types": ^1.2.1 + "@backstage/version-bridge": ^1.0.10 + "@types/prop-types": ^15.7.3 + history: ^5.0.0 + i18next: ^22.4.15 + lodash: ^4.17.21 + prop-types: ^15.7.2 + react-use: ^17.2.4 + zen-observable: ^0.10.0 + zod: ^3.22.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 2ca907dcf99c871c09bf103b55eb982e93cc46d66e2d4df2cfaa16806b1b62d917d11efd9b1d9c85fd40a3aaa7086c406e34b8fe2e2f5b239451969ddf29b463 languageName: node linkType: hard @@ -5707,12 +5351,12 @@ __metadata: languageName: node linkType: hard -"@backstage/core-compat-api@npm:^0.3.1": - version: 0.3.1 - resolution: "@backstage/core-compat-api@npm:0.3.1" +"@backstage/core-compat-api@npm:^0.3.1, @backstage/core-compat-api@npm:^0.3.4, @backstage/core-compat-api@npm:^0.3.5": + version: 0.3.5 + resolution: "@backstage/core-compat-api@npm:0.3.5" dependencies: - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/frontend-plugin-api": ^0.9.4 "@backstage/version-bridge": ^1.0.10 lodash: ^4.17.21 peerDependencies: @@ -5723,7 +5367,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 84fa2896fd85d5c4f2c6c204b6330d92bf928d57a5afc4092c63e952a2417a1257ec914aa7fd22252ea285baeeb55d70611ed95a1748463dd428f8da5fc617aa + checksum: 1460c00d8429b574e4570c2b745777775bfb8ceb1bf2e7aec590806246c40df3898449c31627e425200a1681df67098c54955e312162e123f713a5804ed747b7 languageName: node linkType: hard @@ -5779,6 +5423,59 @@ __metadata: languageName: node linkType: hard +"@backstage/core-components@npm:0.16.2": + version: 0.16.2 + resolution: "@backstage/core-components@npm:0.16.2" + dependencies: + "@backstage/config": ^1.3.1 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/theme": ^0.6.3 + "@backstage/version-bridge": ^1.0.10 + "@date-io/core": ^1.3.13 + "@material-table/core": ^3.1.0 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@react-hookz/web": ^24.0.0 + "@testing-library/react": ^16.0.0 + "@types/react-sparklines": ^1.7.0 + ansi-regex: ^6.0.1 + classnames: ^2.2.6 + d3-selection: ^3.0.0 + d3-shape: ^3.0.0 + d3-zoom: ^3.0.0 + dagre: ^0.8.5 + linkify-react: 4.1.3 + linkifyjs: 4.1.3 + lodash: ^4.17.21 + pluralize: ^8.0.0 + qs: ^6.9.4 + rc-progress: 3.5.1 + react-helmet: 6.1.0 + react-hook-form: ^7.12.2 + react-idle-timer: 5.7.2 + react-markdown: ^8.0.0 + react-sparklines: ^1.7.0 + react-syntax-highlighter: ^15.4.5 + react-use: ^17.3.2 + react-virtualized-auto-sizer: ^1.0.11 + react-window: ^1.8.6 + remark-gfm: ^3.0.1 + zen-observable: ^0.10.0 + zod: ^3.22.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 7d9c89e3abca65828399958cbca5642f003ff8d1b0a5d9b45b36f7fc1b9607df30f74c369b04e11d194e691cd55e26822c726dec4e5b005c25b284ac7c5240bc + languageName: node + linkType: hard + "@backstage/core-components@npm:^0.14.10, @backstage/core-components@npm:^0.14.9": version: 0.14.10 resolution: "@backstage/core-components@npm:0.14.10" @@ -5828,7 +5525,60 @@ __metadata: languageName: node linkType: hard -"@backstage/core-plugin-api@npm:1.10.0, @backstage/core-plugin-api@npm:^1.10.0, @backstage/core-plugin-api@npm:^1.9.3": +"@backstage/core-components@npm:^0.16.2, @backstage/core-components@npm:^0.16.3": + version: 0.16.3 + resolution: "@backstage/core-components@npm:0.16.3" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 + "@backstage/theme": ^0.6.3 + "@backstage/version-bridge": ^1.0.10 + "@date-io/core": ^1.3.13 + "@material-table/core": ^3.1.0 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@react-hookz/web": ^24.0.0 + "@testing-library/react": ^16.0.0 + "@types/react-sparklines": ^1.7.0 + ansi-regex: ^6.0.1 + classnames: ^2.2.6 + d3-selection: ^3.0.0 + d3-shape: ^3.0.0 + d3-zoom: ^3.0.0 + dagre: ^0.8.5 + linkify-react: 4.1.3 + linkifyjs: 4.1.3 + lodash: ^4.17.21 + pluralize: ^8.0.0 + qs: ^6.9.4 + rc-progress: 3.5.1 + react-helmet: 6.1.0 + react-hook-form: ^7.12.2 + react-idle-timer: 5.7.2 + react-markdown: ^8.0.0 + react-sparklines: ^1.7.0 + react-syntax-highlighter: ^15.4.5 + react-use: ^17.3.2 + react-virtualized-auto-sizer: ^1.0.11 + react-window: ^1.8.6 + remark-gfm: ^3.0.1 + zen-observable: ^0.10.0 + zod: ^3.22.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: b2cc9bc6bd05678391b6cbe31ca40e1c879221ab3f958699e78f052b611eb6b239aa295e9ff9ae09da0029fc7ec729ec6b75dc0d98e6a73d2f567b04e50ac8e6 + languageName: node + linkType: hard + +"@backstage/core-plugin-api@npm:1.10.0": version: 1.10.0 resolution: "@backstage/core-plugin-api@npm:1.10.0" dependencies: @@ -5849,18 +5599,60 @@ __metadata: languageName: node linkType: hard -"@backstage/dev-utils@npm:1.1.2": - version: 1.1.2 - resolution: "@backstage/dev-utils@npm:1.1.2" +"@backstage/core-plugin-api@npm:1.10.2": + version: 1.10.2 + resolution: "@backstage/core-plugin-api@npm:1.10.2" dependencies: - "@backstage/app-defaults": ^1.5.12 - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-app-api": ^1.15.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/theme": ^0.6.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 + "@backstage/version-bridge": ^1.0.10 + history: ^5.0.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: c2bb2857237ca2453fddd1361142ab7fb26345ae833e90383a83fc8a186b31efef5d60e96423c21ebad4dd47c677e5f4a87460149a10eabdb790cbac844f83ae + languageName: node + linkType: hard + +"@backstage/core-plugin-api@npm:^1.10.0, @backstage/core-plugin-api@npm:^1.10.2, @backstage/core-plugin-api@npm:^1.10.3, @backstage/core-plugin-api@npm:^1.9.3": + version: 1.10.3 + resolution: "@backstage/core-plugin-api@npm:1.10.3" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 + "@backstage/version-bridge": ^1.0.10 + history: ^5.0.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: fa5ce21bda3307395e7406fae481b92c2c8dbe3c0a31fd9454af073549d836566078f3be0aa203773e7c691c2c7c9e155f992742e9aaf51cb05b3dd4d7baad84 + languageName: node + linkType: hard + +"@backstage/dev-utils@npm:1.1.5": + version: 1.1.5 + resolution: "@backstage/dev-utils@npm:1.1.5" + dependencies: + "@backstage/app-defaults": ^1.5.15 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-app-api": ^1.15.3 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/theme": ^0.6.3 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 react-use: ^17.2.4 @@ -5872,27 +5664,27 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 6695acd5d4633892a3f55848e95b3ea2c969ad0f4601134aad1256a5366505f29fcfe1b0ee35c6086c1b16a92706fa585b6d91fdbff30bf0697d47815e6724b6 + checksum: 704351b099030e0ad6f71b5e4beb775262291cf809573f02281ac69854a12d362c28a1da8c99fb5dc9e7dca293fd9382c71cd567ec487e25a7f34c778f3747a6 languageName: node linkType: hard -"@backstage/errors@npm:1.2.4": - version: 1.2.4 - resolution: "@backstage/errors@npm:1.2.4" +"@backstage/errors@npm:1.2.6": + version: 1.2.6 + resolution: "@backstage/errors@npm:1.2.6" dependencies: - "@backstage/types": ^1.1.1 + "@backstage/types": ^1.2.0 serialize-error: ^8.0.1 - checksum: ed988b2d3594a2fe989dd45fe197154e522194e30602552224e4a2bf6ed895c671e7f832d5c01b8e24881484698ccf3abaf2930dba5374bccfdaa283f4850fb9 + checksum: 9867157464cf5f8821109faa46c101a30f94b701e08b7cb23c5884a2e83aa4b06ff7118b62210da84db1a770b1171ec219b161caf04748ad4b8c2f90a9f0fdc5 languageName: node linkType: hard -"@backstage/errors@npm:^1.2.3, @backstage/errors@npm:^1.2.4, @backstage/errors@npm:^1.2.5": - version: 1.2.5 - resolution: "@backstage/errors@npm:1.2.5" +"@backstage/errors@npm:^1.2.3, @backstage/errors@npm:^1.2.4, @backstage/errors@npm:^1.2.5, @backstage/errors@npm:^1.2.6, @backstage/errors@npm:^1.2.7": + version: 1.2.7 + resolution: "@backstage/errors@npm:1.2.7" dependencies: - "@backstage/types": ^1.2.0 + "@backstage/types": ^1.2.1 serialize-error: ^8.0.1 - checksum: 8b4411cca1a9038b136ffa766d3ec284d0dac730ef27b1f565dc7f471249ce87a3d6599fe5c21c7643363ee13f0b0457d5c4fa29d20da64ca3a09fecec3ccd31 + checksum: e0b5be754e59a11330a580fc2973e441883b9022248ad77e06aa9e4e0705c83e43cb96cbf405336650c1724aa16cac2eaf5ffb64142654b599e46a4888ca353d languageName: node linkType: hard @@ -5906,17 +5698,17 @@ __metadata: languageName: node linkType: hard -"@backstage/frontend-app-api@npm:^0.10.0": - version: 0.10.0 - resolution: "@backstage/frontend-app-api@npm:0.10.0" - dependencies: - "@backstage/config": ^1.2.0 - "@backstage/core-app-api": ^1.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-defaults": ^0.1.1 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/types": ^1.1.1 +"@backstage/frontend-app-api@npm:^0.10.0, @backstage/frontend-app-api@npm:^0.10.4": + version: 0.10.4 + resolution: "@backstage/frontend-app-api@npm:0.10.4" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/core-app-api": ^1.15.4 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 + "@backstage/frontend-defaults": ^0.1.5 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/types": ^1.2.1 "@backstage/version-bridge": ^1.0.10 lodash: ^4.17.21 zod: ^3.22.4 @@ -5928,19 +5720,19 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 76728d37614e56d2bf7ee5f6f2d73b57e1c8d8a2aba6d11563645ef1e25db1dfd55910143fda3586b5ef156f3753530b1690b5ac52b8c957e161ab8fae07eb1e + checksum: cfc432d6c78fdfd93c72a79dab655cf69e33cd042809a5973afbf1e9fd2684864f2d4d00595646f2dca46044eeab4fbb537d61d4feda1f614b451c174ec7abfc languageName: node linkType: hard -"@backstage/frontend-defaults@npm:^0.1.1": - version: 0.1.1 - resolution: "@backstage/frontend-defaults@npm:0.1.1" +"@backstage/frontend-defaults@npm:^0.1.5": + version: 0.1.5 + resolution: "@backstage/frontend-defaults@npm:0.1.5" dependencies: - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-app-api": ^0.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-app": ^0.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/frontend-app-api": ^0.10.4 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/plugin-app": ^0.1.5 "@react-hookz/web": ^24.0.0 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -5950,7 +5742,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 7d74ba5e24726cc322ba2edb1b92c787b6c78ff8a4594ab584631f2cf9232e1de928afd23e49ae04d21501d034acbd99432e5394eeb88798ee520e9d2151b820 + checksum: 877d995d2e0b629ec61700da5c145a072780c033fe62eade2a34172c9e6fadf5695d57ca49fa58d7e5e557205e2b7c70ca8b7c984c82f9a4e03e1f22e6fae9cd languageName: node linkType: hard @@ -5974,13 +5766,13 @@ __metadata: languageName: node linkType: hard -"@backstage/frontend-plugin-api@npm:^0.9.0": - version: 0.9.0 - resolution: "@backstage/frontend-plugin-api@npm:0.9.0" +"@backstage/frontend-plugin-api@npm:^0.9.0, @backstage/frontend-plugin-api@npm:^0.9.3, @backstage/frontend-plugin-api@npm:^0.9.4": + version: 0.9.4 + resolution: "@backstage/frontend-plugin-api@npm:0.9.4" dependencies: - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/types": ^1.1.1 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/types": ^1.2.1 "@backstage/version-bridge": ^1.0.10 "@material-ui/core": ^4.12.4 lodash: ^4.17.21 @@ -5994,20 +5786,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 12902ce830631878ab1b5ecc22c9b62c4534e45c21b83ff88d8b806a2649ccbfc2fce789764052bc495a3162ed1fae466f6ed6b39aeb3b377da20202dad28fc3 + checksum: 5c8391d0fab237812bbbd9970749023a1f0faa528ce1f6337df6618197fa91f967239f17d5875a74fe6626c2dccf5f2aefb5957d0d514dcb0f51883a1cbbd53f languageName: node linkType: hard -"@backstage/frontend-test-utils@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/frontend-test-utils@npm:0.2.1" +"@backstage/frontend-test-utils@npm:^0.2.1, @backstage/frontend-test-utils@npm:^0.2.4, @backstage/frontend-test-utils@npm:^0.2.5": + version: 0.2.5 + resolution: "@backstage/frontend-test-utils@npm:0.2.5" dependencies: - "@backstage/config": ^1.2.0 - "@backstage/frontend-app-api": ^0.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-app": ^0.1.1 - "@backstage/test-utils": ^1.7.0 - "@backstage/types": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/frontend-app-api": ^0.10.4 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/plugin-app": ^0.1.5 + "@backstage/test-utils": ^1.7.4 + "@backstage/types": ^1.2.1 "@backstage/version-bridge": ^1.0.10 zod: ^3.22.4 peerDependencies: @@ -6019,32 +5811,53 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: eedf49b53b600bbadf98aabc1c8b9082b976eaa3d9c151c9a9eda17ba0ed2e2c2054044d28db95980cf505c14ee8116220a95355a72e71ed22a22e319ef596cb + checksum: 411c88a6a2b96ef15131f3c18fb2bc8153c75736be9888134c6324f29df6354181c4a1ce2efdc721e7b288e0cd2a94e01408d1499ecee357041637df0ebdc793 languageName: node linkType: hard -"@backstage/integration-aws-node@npm:^0.1.12, @backstage/integration-aws-node@npm:^0.1.13": - version: 0.1.13 - resolution: "@backstage/integration-aws-node@npm:0.1.13" +"@backstage/integration-aws-node@npm:^0.1.12, @backstage/integration-aws-node@npm:^0.1.13, @backstage/integration-aws-node@npm:^0.1.14, @backstage/integration-aws-node@npm:^0.1.15": + version: 0.1.15 + resolution: "@backstage/integration-aws-node@npm:0.1.15" dependencies: "@aws-sdk/client-sts": ^3.350.0 "@aws-sdk/credential-provider-node": ^3.350.0 "@aws-sdk/credential-providers": ^3.350.0 "@aws-sdk/types": ^3.347.0 "@aws-sdk/util-arn-parser": ^3.310.0 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - checksum: 042617852482685c2452549ad1e16ca319f09e9dc366ad90d7307da6e6763c23ada7bce78e415da9ffef3da7a1287c2ce8c4eddabd1deeaf3f0e7249fdc6e3ee + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + checksum: ba86647ca4e463b6c8d5f6d56ca732b556ea8934e8df2b516e2f88b411ddffed098a67f55df744216c28c8f7182e19c1a2312a088b5f4726dfb3c9311d7821d6 languageName: node linkType: hard -"@backstage/integration-react@npm:1.2.0, @backstage/integration-react@npm:^1.2.0": - version: 1.2.0 - resolution: "@backstage/integration-react@npm:1.2.0" +"@backstage/integration-react@npm:1.2.2": + version: 1.2.2 + resolution: "@backstage/integration-react@npm:1.2.2" dependencies: - "@backstage/config": ^1.2.0 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/integration": ^1.15.1 + "@backstage/config": ^1.3.1 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/integration": ^1.16.0 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: cf238ee64138a0fe2bd3957b3f852b3b2514176f557d532db2a358626540c00c021bd189ca1754cb40d536a62eeb1939e0fd9d4a37fc29a4df1e3e35bcd90578 + languageName: node + linkType: hard + +"@backstage/integration-react@npm:^1.2.0, @backstage/integration-react@npm:^1.2.2, @backstage/integration-react@npm:^1.2.3": + version: 1.2.3 + resolution: "@backstage/integration-react@npm:1.2.3" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/integration": ^1.16.1 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 peerDependencies: @@ -6055,41 +5868,42 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 8cfbb94c9d9ebad8ed0c7f05a4491cf70421a313271e47f2717f217b800b7cbe947adb68a4ce15b65a2f918d042d3d6e5e0c46485354e760012ae94080d26acb + checksum: 5d82fcd6924c8d1ad3b8b8b5ad75fcab83a7566f9b42246de220fff53afde53f79291bc43c95a9fdede802a68b6fa8dec82cd9eac5671230e5f47a5bcff7552d languageName: node linkType: hard -"@backstage/integration@npm:^1.11.0, @backstage/integration@npm:^1.13.0, @backstage/integration@npm:^1.14.0, @backstage/integration@npm:^1.15.0, @backstage/integration@npm:^1.15.1, @backstage/integration@npm:^1.15.2, @backstage/integration@npm:^1.8.0": - version: 1.15.2 - resolution: "@backstage/integration@npm:1.15.2" +"@backstage/integration@npm:^1.11.0, @backstage/integration@npm:^1.13.0, @backstage/integration@npm:^1.14.0, @backstage/integration@npm:^1.15.0, @backstage/integration@npm:^1.15.1, @backstage/integration@npm:^1.15.2, @backstage/integration@npm:^1.16.0, @backstage/integration@npm:^1.16.1, @backstage/integration@npm:^1.8.0": + version: 1.16.1 + resolution: "@backstage/integration@npm:1.16.1" dependencies: "@azure/identity": ^4.0.0 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 + "@azure/storage-blob": ^12.5.0 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 "@octokit/auth-app": ^4.0.0 "@octokit/rest": ^19.0.3 cross-fetch: ^4.0.0 git-url-parse: ^15.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - checksum: 59b109e1b9e196e36fc55264258a304839057fc1d8f438740c74c1750ee76a5d39341aa4fddaf5d81d06fdc679076710dd63de2fab4e105012eb040d9e303038 + checksum: e6c21c136550f475831c2098a63f932be2ea486a4fe07c8a196dd6bc4db87a97ca144324f36447a4a078437993d9825a9033329113b879c30c52ec68bfd2a1ff languageName: node linkType: hard -"@backstage/plugin-api-docs@npm:0.11.11": - version: 0.11.11 - resolution: "@backstage/plugin-api-docs@npm:0.11.11" - dependencies: - "@asyncapi/react-component": 1.3.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-catalog": ^1.24.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-permission-react": ^0.4.27 +"@backstage/plugin-api-docs@npm:0.12.2": + version: 0.12.2 + resolution: "@backstage/plugin-api-docs@npm:0.12.2" + dependencies: + "@asyncapi/react-component": ^2.3.3 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog": ^1.26.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-permission-react": ^0.4.29 "@graphiql/react": ^0.23.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -6108,22 +5922,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 145d864463a852f35d89ad51a7f599578cfacc7de4ea90611cdd337dbcf92a3a52bb33e64f38b102806ddf97dcbee9a9e2e9f38ff334244f8502f3c193a1a2ec + checksum: 7314df4e13adc595b280f977a89a5d02694a5c312d22e5bda77af19db8f7932790d431bc5bfea29b5edcf84d55b02e3c15a0109737a999c1b357da923e2141aa languageName: node linkType: hard -"@backstage/plugin-app-backend@npm:0.3.76": - version: 0.3.76 - resolution: "@backstage/plugin-app-backend@npm:0.3.76" +"@backstage/plugin-app-backend@npm:0.4.3": + version: 0.4.3 + resolution: "@backstage/plugin-app-backend@npm:0.4.3" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/config-loader": ^1.9.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-app-node": ^0.1.26 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/config-loader": ^1.9.3 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-app-node": ^0.1.28 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/types": ^1.2.0 "@types/express": ^4.17.6 express: ^4.17.1 express-promise-router: ^4.1.0 @@ -6134,33 +5948,33 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 yn: ^4.0.0 - checksum: d732efa6f692c631c13b90db5a32135fa950fc43ab35d8f4be075851e943304edc93074617747b5b78ee7d93c93ecfedd61e81f4617b3f081db3a04e3b20da5b + checksum: a0a21f322f8c01aa0aa1daa4cc9110c9639bb144f51c5e9238710849547cbb1b7751e462b8d921a91b6ed6e598c3f3c5c56a3703e341265a93c56679f9d93586 languageName: node linkType: hard -"@backstage/plugin-app-node@npm:^0.1.26": - version: 0.1.26 - resolution: "@backstage/plugin-app-node@npm:0.1.26" +"@backstage/plugin-app-node@npm:^0.1.28": + version: 0.1.29 + resolution: "@backstage/plugin-app-node@npm:0.1.29" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config-loader": ^1.9.1 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config-loader": ^1.9.5 "@types/express": ^4.17.6 express: ^4.17.1 fs-extra: ^11.2.0 - checksum: 1f3577ecdb8248e68b64b5174a772861ecb6dc9d594a01df60c04243bcddab857545c316cf41aa849fc4bd3ed642d24f8786a8d36d6cd9eefdfb791cd7686fdd + checksum: 23beacde8fc76a4eb5b9923fd6b1c8fb511315ece865f4765c436f53b36272167cd6bfb8b64919910bff5ab2f0d03142763bd55847659dc6e3573b2b3d225deb languageName: node linkType: hard -"@backstage/plugin-app@npm:^0.1.1": - version: 0.1.1 - resolution: "@backstage/plugin-app@npm:0.1.1" - dependencies: - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-permission-react": ^0.4.27 - "@backstage/theme": ^0.6.0 +"@backstage/plugin-app@npm:^0.1.5": + version: 0.1.5 + resolution: "@backstage/plugin-app@npm:0.1.5" + dependencies: + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/integration-react": ^1.2.3 + "@backstage/plugin-permission-react": ^0.4.30 + "@backstage/theme": ^0.6.3 "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.61 @@ -6173,296 +5987,302 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: bb75599f8feb8847249a4f5b08aac43be0e61495f16144e4571b3bf9e794c290e0203d73693ae99731c9a4d873cd7ac6ce03a45945b45937834bb1b9eaaa03db + checksum: d41d437959b6ae2d88e52855dc8e3f5069273e39e9fe63c49955ed3fce57e29b5c6d66b82d4a11d084f5c1774f792675abb3991d56f75b103e358429cd705b48 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-atlassian-provider@npm:^0.3.1": - version: 0.3.1 - resolution: "@backstage/plugin-auth-backend-module-atlassian-provider@npm:0.3.1" +"@backstage/plugin-auth-backend-module-atlassian-provider@npm:^0.3.3, @backstage/plugin-auth-backend-module-atlassian-provider@npm:^0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-auth-backend-module-atlassian-provider@npm:0.3.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 passport: ^0.7.0 passport-atlassian-oauth2: ^2.1.0 - checksum: 360d13d18593f1d9e2f965cc3f1f04573a6d57615e7a03355030b6607a49741c3957c020714d299651ed00f7b8dffc61d7474da40f81c40677edad9af54948ae + checksum: 49a184036f6d33642833daa491d6f87e7b881fbc904cb914fecd4980ec985a1a2100d530152d2ee8cc8e1b820ecf1b74d4ce76854e0c1fa6f4fafda7b64f9eaa languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-auth0-provider@npm:^0.1.1": - version: 0.1.1 - resolution: "@backstage/plugin-auth-backend-module-auth0-provider@npm:0.1.1" +"@backstage/plugin-auth-backend-module-auth0-provider@npm:^0.1.3, @backstage/plugin-auth-backend-module-auth0-provider@npm:^0.1.4": + version: 0.1.4 + resolution: "@backstage/plugin-auth-backend-module-auth0-provider@npm:0.1.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.17.1 passport-auth0: ^1.4.3 passport-oauth2: ^1.6.1 - checksum: 4e03061b0145158f3a79754e6abe07e268243ed92b9f57d27af08f84a47fd96ec6c165f8965761e1da3a15a3ca0c0056ea3e544b312aa35430c33b47398333be + checksum: a1525e9e1cec3d96aaea0074a091bb69efacb048acecdd7c961ce9e7852510486a30874d94769127328b85fd4f385a32cc274367d079cb4cedbed2a0b998d75f languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-aws-alb-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-aws-alb-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-aws-alb-provider@npm:^0.3.1, @backstage/plugin-auth-backend-module-aws-alb-provider@npm:^0.3.2": + version: 0.3.2 + resolution: "@backstage/plugin-auth-backend-module-aws-alb-provider@npm:0.3.2" dependencies: - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-backend": ^0.23.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-backend": ^0.24.2 + "@backstage/plugin-auth-node": ^0.5.6 jose: ^5.0.0 node-cache: ^5.1.2 - node-fetch: ^2.7.0 - checksum: 4e294fbb06dd0c38c370a9e04d351b2ed5143934605bc6c5f415c5067797a42ab72f909acd19cf1f1dccb93e0dc010354b08d8c348d4db7122e0bf8d440405e6 + checksum: 66b2497ae0b1b12ee026147158835920cf89733ccfb7c27e548cf5b2c68b95c7c694f63cce5304bded5df699e2b993b3dfc657566216c7eb5b250b447eaba210 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-azure-easyauth-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-azure-easyauth-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-azure-easyauth-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-azure-easyauth-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-azure-easyauth-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 "@types/passport": ^1.0.16 express: ^4.19.2 jose: ^5.0.0 passport: ^0.7.0 - checksum: 1f83f5da8d77475f372be8926cf963a366decf52c4aa3ad8ddbcb331231219510cf330d41f4cb0de3ae79d63a3911f3c9cc3111dff71c5b6901fa8062fde5d33 + checksum: 728ff92eb8ee976c21cfcda03dc1e9029f32f863c8c564b882e1468721942e5d0303ef9624758711fc7a681cc07fa0845e113e456b12f1f26dce886d11c94d85 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-bitbucket-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-bitbucket-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-bitbucket-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-bitbucket-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-bitbucket-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 passport: ^0.7.0 passport-bitbucket-oauth2: ^0.1.2 - checksum: 9bf52487c4df0517872705ff8fa4107a9a4d742305738553bdb90795b9053b809323e26f3fbad34c72c09a98036cd03d2bc5e5fc6073c51a8fe1812052b82fba + checksum: 7085b1488ac15fe9cf76f2f4549627deb6a7557e7a6c2925c726fe3919200d6c542573785524f7ec36475a77ddf5a6b91c6ef67a230c9575c44d4a7ad5dbdb54 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-bitbucket-server-provider@npm:^0.1.1": - version: 0.1.1 - resolution: "@backstage/plugin-auth-backend-module-bitbucket-server-provider@npm:0.1.1" +"@backstage/plugin-auth-backend-module-bitbucket-server-provider@npm:^0.1.3, @backstage/plugin-auth-backend-module-bitbucket-server-provider@npm:^0.1.4": + version: 0.1.4 + resolution: "@backstage/plugin-auth-backend-module-bitbucket-server-provider@npm:0.1.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 - node-fetch: ^2.7.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 passport: ^0.7.0 passport-oauth2: ^1.6.1 - checksum: 48aeb740c56dd2c838b0719228a5b8bfb0acfe5164045e0232fdf0f032160694da6096fbe3e65503f32ca0a73d3a3707ecbbacd418d7fc39af0318b2ebb08be3 + checksum: 0afba047259d98f56dd17c4c43497c458d51546004d8da1c3221b105d63fc64eb95b938ac69ae4f509ba513f332bc05a18fb23c41b941668941ae122b09334fb languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-cloudflare-access-provider@npm:^0.3.1": - version: 0.3.1 - resolution: "@backstage/plugin-auth-backend-module-cloudflare-access-provider@npm:0.3.1" +"@backstage/plugin-auth-backend-module-cloudflare-access-provider@npm:^0.3.3, @backstage/plugin-auth-backend-module-cloudflare-access-provider@npm:^0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-auth-backend-module-cloudflare-access-provider@npm:0.3.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 jose: ^5.0.0 - node-fetch: ^2.7.0 - checksum: c9d8e63b32df9bce2d359f033a7e7375bc32a0ccda0e8d68dfeb95035d4b6aefd7a434c75be976db953cb3e9b2d8704a1a4a96f1bf31582f088549f61f6c0c76 + checksum: 08430a3bd85bc71761b5fcf4f420dee57589510506723f6ea83092ce4a9133740a738a1e4a4dcc8b3611655273b0228687941ebf5a952a5864ac98a488eea81d languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-gcp-iap-provider@npm:^0.3.1": - version: 0.3.1 - resolution: "@backstage/plugin-auth-backend-module-gcp-iap-provider@npm:0.3.1" +"@backstage/plugin-auth-backend-module-gcp-iap-provider@npm:^0.3.3, @backstage/plugin-auth-backend-module-gcp-iap-provider@npm:^0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-auth-backend-module-gcp-iap-provider@npm:0.3.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/types": ^1.2.1 google-auth-library: ^9.0.0 - checksum: 5d1188e39097d530b2420e1ddbfb0cb635f4ab67da4881815660d77753277487852a6fa2d046e6db20067c320ae27bb29114587a049e59b13330bd86cb7cffe0 + checksum: a5cb172ed5de74e54b7675888ca01a7ca54d0828a4ba93fbfca5896b114d6ee222e9f6d636e5dd4876c48e93b545d3d93048eab6345f9c0c157a4b0310f119e4 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-github-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-github-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-github-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-github-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-github-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 passport-github2: ^0.1.12 - checksum: a58c6f6600db847ef171ad93968fcaccc4795b761cb80485f47f65a8f0d6b3d2906c0de351df0731bf9481bda42c9537ca9f7e31634ae06edfc461cb6673657b + checksum: fddc42fa973a5084e4eaa7a838939f90d3de7cd75f0562e7889f555b6a00d02aff15ddbb9b75b67df70126d96832af734b09118c1395cdaf6dbfad9a20e88e4b languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-gitlab-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-gitlab-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-gitlab-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-gitlab-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-gitlab-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 passport: ^0.7.0 passport-gitlab2: ^5.0.0 - checksum: 528acf4b4ba3582bcd34b7219cb4f0092f125a695ba251d224199592ca10559b7000c7bcd8663bac63c40462c94e70cd99d3c31bc808a7e7ee0dbc10170f13d6 + checksum: d25100c572773eb8140853ba7de3f8fda07ee49280b8379ba3022abf1cd1a04085efc88598d320c3e011613212040bdcf1ad8d3365b1c15ed762ad6946f3afd4 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-google-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-google-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-google-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-google-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-google-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 google-auth-library: ^9.0.0 passport-google-oauth20: ^2.0.0 - checksum: 6593ccce358ced3f724a1a50536f0789f507d8ba7900776e30c7b6f680499f8d1ee73ed0d3e77a8979d89fd7cc2e59920120c6d6663f42abaa4500e491abb94a + checksum: bf37f6ad8a8d650fbb170c5fed1d575b56e56b6a4c68a3e045ce9757c184bf86cc4926705c93cedb90495bd543e4fb86127c5ece6999b74ccae02a3d2da194ce languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-guest-provider@npm:0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-guest-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-guest-provider@npm:0.2.3": + version: 0.2.3 + resolution: "@backstage/plugin-auth-backend-module-guest-provider@npm:0.2.3" dependencies: - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-auth-node": ^0.5.5 passport-oauth2: ^1.7.0 - checksum: 1df2e59cdad4f3a0d79a239afcb841764913f5ffb76e43ac484dfab6630f128ea8524205052e1100fb676385c53715a760e01e9e2520c2364404b384ab4ef751 + checksum: 763570fda58c20404824c71f5c0f639e09bc947e9cdafaf0948251eaa3a2d2398ee5555eaaa9d14e7d0f1a62a0b6674d37457cc4421d2107d2321c5ead48fb15 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-microsoft-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-microsoft-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-microsoft-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-microsoft-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-microsoft-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 jose: ^5.0.0 - node-fetch: ^2.7.0 passport-microsoft: ^1.0.0 - checksum: b806ce408a7043d10079dfd1be498a6be7c6a7bbbfcc6a14900c9f2e4bb949ca395df0b3edc19590468101f5cadcc379d8ba37fc0a2cde2b1153a3bf3f376388 + checksum: 5c814d3a5e81fcd77c44f94726e3b6bcfafe8257548ee65bf7d646a33cbc5b4fffb7abe77ea58b8ad1820002f7c3f17731d26a45ae3cf23ccad2a3cc88ff14b4 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-oauth2-provider@npm:^0.3.1": - version: 0.3.1 - resolution: "@backstage/plugin-auth-backend-module-oauth2-provider@npm:0.3.1" +"@backstage/plugin-auth-backend-module-oauth2-provider@npm:^0.3.3, @backstage/plugin-auth-backend-module-oauth2-provider@npm:^0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-auth-backend-module-oauth2-provider@npm:0.3.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 passport: ^0.7.0 passport-oauth2: ^1.6.1 - checksum: 980274239e12fdb067fe1bf8ca1c07486d30ed3ca61895bbabaad1b539e6c9fd0f7cf53b7f39a7eb825801a4f38f8f2bd7f4ca86245bb68873c8a9d9c429a42f + checksum: 99ae996edc1115bf52980efde3fe7bb81ae5356c8de3099c06d0f0bacc1285d60e7c8f5526dec115ecced8e093d708b16aa9496d4a78715d3606bab8042ed3a9 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-oauth2-proxy-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-oauth2-proxy-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-oauth2-proxy-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-oauth2-proxy-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-oauth2-proxy-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 jose: ^5.0.0 - checksum: bd820a1c8719db6e36039b0117bdfd45f50fb27177ef2728a323af6c6728a646caef35704c6462a9f78d3344b77ab1ac7025439d81f7c762f0d2d1e1faba2f32 + checksum: 7c7a6a71566e2a92eb8ab45d31be40dbd8ee1c8398ef4c37472747d6aeb1d75dda97eb68d42346862b9d66fbad756b6bebcc83ca224ec23aaa0f162aa45363e2 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-oidc-provider@npm:0.3.1": - version: 0.3.1 - resolution: "@backstage/plugin-auth-backend-module-oidc-provider@npm:0.3.1" +"@backstage/plugin-auth-backend-module-oidc-provider@npm:0.3.3": + version: 0.3.3 + resolution: "@backstage/plugin-auth-backend-module-oidc-provider@npm:0.3.3" dependencies: - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-backend": ^0.23.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/plugin-auth-backend": ^0.24.1 + "@backstage/plugin-auth-node": ^0.5.5 express: ^4.18.2 openid-client: ^5.5.0 passport: ^0.7.0 - checksum: 436b4badb0dd7570a82daef1d5b10295835b40a401e95c97d5a9474e17fd66694bd8b5ae627af5ffc36e5b8729fc8de15e52430552ecbde440e66a4d817b30d3 + checksum: fb20f84b97ae2f69547531ccb44fd6f3a2fb28529205d5a46b63ba5969e71bee27050fac0df498efd6ad0ee3cbc2aa3f916090f9b4ff5d583f158e0929f77c6a languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-oidc-provider@patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.1#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch::locator=root%40workspace%3A.": - version: 0.3.1 - resolution: "@backstage/plugin-auth-backend-module-oidc-provider@patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.1#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.1.patch::version=0.3.1&hash=359432&locator=root%40workspace%3A." +"@backstage/plugin-auth-backend-module-oidc-provider@npm:^0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-auth-backend-module-oidc-provider@npm:0.3.4" dependencies: - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-backend": ^0.23.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-backend": ^0.24.2 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 openid-client: ^5.5.0 passport: ^0.7.0 - checksum: 53028040cf40cd4b81e6c25a924cc5628f902051d38821b17ffc401bfeee4d31cafcedc8fc6e9e26fb65ae33f8576c814bbd3e74cce49ec3d4b9675707745e4c + checksum: dc28904ae7e9c4c4ff7a1c3ef754465e638ade8636823b47ea3b0827d10a760139697a91202a1f0dc022c892d65c795c1d95f509115320961fce9e181529dd67 languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-okta-provider@npm:^0.1.1": - version: 0.1.1 - resolution: "@backstage/plugin-auth-backend-module-okta-provider@npm:0.1.1" +"@backstage/plugin-auth-backend-module-oidc-provider@patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.3#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch::locator=root%40workspace%3A.": + version: 0.3.3 + resolution: "@backstage/plugin-auth-backend-module-oidc-provider@patch:@backstage/plugin-auth-backend-module-oidc-provider@npm%3A0.3.3#./.yarn/patches/@backstage-plugin-auth-backend-module-oidc-provider-npm-0.3.3-b8cbc319ac.patch::version=0.3.3&hash=24ec30&locator=root%40workspace%3A." dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/plugin-auth-backend": ^0.24.1 + "@backstage/plugin-auth-node": ^0.5.5 + express: ^4.18.2 + openid-client: ^5.5.0 + passport: ^0.7.0 + checksum: 7d3013b68439ca191d8ec6f55bf0132eac81d9d82e37f154190235723f3859916a562a488779ca8ef12b99e9946faa19adbe51b7bb3b7457a812b66a184fbaaa + languageName: node + linkType: hard + +"@backstage/plugin-auth-backend-module-okta-provider@npm:^0.1.3, @backstage/plugin-auth-backend-module-okta-provider@npm:^0.1.4": + version: 0.1.4 + resolution: "@backstage/plugin-auth-backend-module-okta-provider@npm:0.1.4" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 "@davidzemon/passport-okta-oauth": ^0.0.5 express: ^4.18.2 passport: ^0.7.0 - checksum: 37027c7e29768a6b91a97491a8242156296b56728756d7057c28831858c70282045e84326d460e1930f343b04dec096ec9ef8c3477865752fc500690f9c64eb7 + checksum: 853856dad59e1691a4dedb05f4ec1a1feabb428dc06ae1eb3470b5184622ed29e964024acfe2714068925e5b8a3a33cb33f690b4037041e86fa6a0bef6394a5e languageName: node linkType: hard -"@backstage/plugin-auth-backend-module-onelogin-provider@npm:^0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-auth-backend-module-onelogin-provider@npm:0.2.1" +"@backstage/plugin-auth-backend-module-onelogin-provider@npm:^0.2.3, @backstage/plugin-auth-backend-module-onelogin-provider@npm:^0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-auth-backend-module-onelogin-provider@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-auth-node": ^0.5.3 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/plugin-auth-node": ^0.5.6 express: ^4.18.2 passport: ^0.7.0 passport-onelogin-oauth: ^0.0.1 - checksum: cda5d507634f6f4be898f0b676583d3876183a19b6a85b65ba357b744d532015db2ffc8ccdc7a65c5878a649dd7865fb8b4da5b3cf497e2738a3c3ccd9945ee2 + checksum: 020aef08f71d9309bd4b6ce8c8dbafb4f321b9090abc9d924e10677b2bc02608ee8e9a23e6a468721de8d1c7dcb8a6e08c4a859827dfbe8eb96c69a9e0505af9 languageName: node linkType: hard -"@backstage/plugin-auth-backend@npm:0.23.1, @backstage/plugin-auth-backend@npm:^0.23.1": - version: 0.23.1 - resolution: "@backstage/plugin-auth-backend@npm:0.23.1" +"@backstage/plugin-auth-backend@npm:0.24.1": + version: 0.24.1 + resolution: "@backstage/plugin-auth-backend@npm:0.24.1" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-backend-module-atlassian-provider": ^0.3.1 - "@backstage/plugin-auth-backend-module-auth0-provider": ^0.1.1 - "@backstage/plugin-auth-backend-module-aws-alb-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-azure-easyauth-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-bitbucket-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-bitbucket-server-provider": ^0.1.1 - "@backstage/plugin-auth-backend-module-cloudflare-access-provider": ^0.3.1 - "@backstage/plugin-auth-backend-module-gcp-iap-provider": ^0.3.1 - "@backstage/plugin-auth-backend-module-github-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-gitlab-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-google-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-microsoft-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-oauth2-provider": ^0.3.1 - "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": ^0.2.1 - "@backstage/plugin-auth-backend-module-oidc-provider": ^0.3.1 - "@backstage/plugin-auth-backend-module-okta-provider": ^0.1.1 - "@backstage/plugin-auth-backend-module-onelogin-provider": ^0.2.1 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-auth-backend-module-atlassian-provider": ^0.3.3 + "@backstage/plugin-auth-backend-module-auth0-provider": ^0.1.3 + "@backstage/plugin-auth-backend-module-aws-alb-provider": ^0.3.1 + "@backstage/plugin-auth-backend-module-azure-easyauth-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-bitbucket-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-bitbucket-server-provider": ^0.1.3 + "@backstage/plugin-auth-backend-module-cloudflare-access-provider": ^0.3.3 + "@backstage/plugin-auth-backend-module-gcp-iap-provider": ^0.3.3 + "@backstage/plugin-auth-backend-module-github-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-gitlab-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-google-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-microsoft-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-oauth2-provider": ^0.3.3 + "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": ^0.2.3 + "@backstage/plugin-auth-backend-module-oidc-provider": ^0.3.3 + "@backstage/plugin-auth-backend-module-okta-provider": ^0.1.3 + "@backstage/plugin-auth-backend-module-onelogin-provider": ^0.2.3 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/types": ^1.2.0 "@google-cloud/firestore": ^7.0.0 "@node-saml/passport-saml": ^5.0.0 "@types/express": ^4.17.6 @@ -6483,7 +6303,6 @@ __metadata: minimatch: ^9.0.0 morgan: ^1.10.0 node-cache: ^5.1.2 - node-fetch: ^2.7.0 openid-client: ^5.2.1 passport: ^0.7.0 passport-auth0: ^1.4.3 @@ -6492,36 +6311,100 @@ __metadata: passport-microsoft: ^1.0.0 passport-oauth2: ^1.6.1 passport-onelogin-oauth: ^0.0.1 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 yn: ^4.0.0 - checksum: 6043cef12af321082c0961bbf73b9f8b525c56a241dfe631c544080f945712d76eb1dbcacea06043e3469f1d55c44a1595d53a138135072bf0b383ad5c1d845e + checksum: 968bbdc086813c92cdffab46932a334e867ba25a0cf8cd582f7d1d4a39ef0f6f3ead1d02c6f157c6477194a94969bbb905bd1ec197d052bc8f36e1e4429ffc12 languageName: node linkType: hard -"@backstage/plugin-auth-node@npm:0.5.3": - version: 0.5.3 - resolution: "@backstage/plugin-auth-node@npm:0.5.3" +"@backstage/plugin-auth-backend@npm:^0.24.1, @backstage/plugin-auth-backend@npm:^0.24.2": + version: 0.24.2 + resolution: "@backstage/plugin-auth-backend@npm:0.24.2" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 - "@types/express": "*" + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-backend-module-atlassian-provider": ^0.3.4 + "@backstage/plugin-auth-backend-module-auth0-provider": ^0.1.4 + "@backstage/plugin-auth-backend-module-aws-alb-provider": ^0.3.2 + "@backstage/plugin-auth-backend-module-azure-easyauth-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-bitbucket-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-bitbucket-server-provider": ^0.1.4 + "@backstage/plugin-auth-backend-module-cloudflare-access-provider": ^0.3.4 + "@backstage/plugin-auth-backend-module-gcp-iap-provider": ^0.3.4 + "@backstage/plugin-auth-backend-module-github-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-gitlab-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-google-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-microsoft-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-oauth2-provider": ^0.3.4 + "@backstage/plugin-auth-backend-module-oauth2-proxy-provider": ^0.2.4 + "@backstage/plugin-auth-backend-module-oidc-provider": ^0.3.4 + "@backstage/plugin-auth-backend-module-okta-provider": ^0.1.4 + "@backstage/plugin-auth-backend-module-onelogin-provider": ^0.2.4 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/types": ^1.2.1 + "@google-cloud/firestore": ^7.0.0 + "@node-saml/passport-saml": ^5.0.0 + "@types/express": ^4.17.6 + "@types/passport": ^1.0.3 + compression: ^1.7.4 + connect-session-knex: ^4.0.0 + cookie-parser: ^1.4.5 + cors: ^2.8.5 + express: ^4.17.1 + express-promise-router: ^4.1.0 + express-session: ^1.17.1 + fs-extra: ^11.2.0 + google-auth-library: ^9.0.0 + jose: ^5.0.0 + knex: ^3.0.0 + lodash: ^4.17.21 + luxon: ^3.0.0 + minimatch: ^9.0.0 + morgan: ^1.10.0 + node-cache: ^5.1.2 + openid-client: ^5.2.1 + passport: ^0.7.0 + passport-auth0: ^1.4.3 + passport-github2: ^0.1.12 + passport-google-oauth20: ^2.0.0 + passport-microsoft: ^1.0.0 + passport-oauth2: ^1.6.1 + passport-onelogin-oauth: ^0.0.1 + uuid: ^11.0.0 + winston: ^3.2.1 + yn: ^4.0.0 + checksum: 3ab0fe2b4040f8a287279c1020cc420d26f81849fcd20bc4df9cfb8d48f3681426e44366ce59eb7e6f352c71165ac3ab8509693e2bdf3a9637e01285faa3e346 + languageName: node + linkType: hard + +"@backstage/plugin-auth-node@npm:0.5.5": + version: 0.5.5 + resolution: "@backstage/plugin-auth-node@npm:0.5.5" + dependencies: + "@backstage/backend-common": ^0.25.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 + "@types/express": ^4.17.6 "@types/passport": ^1.0.3 express: ^4.17.1 jose: ^5.0.0 lodash: ^4.17.21 - node-fetch: ^2.7.0 passport: ^0.7.0 winston: ^3.2.1 zod: ^3.22.4 zod-to-json-schema: ^3.21.4 zod-validation-error: ^3.4.0 - checksum: 6a8fcac434b3653011aa634fab973b9bdc9daf141335948669bcbd8e2c5f97e0797feaaaae34e17e20334835cdb83fea6c7b50939f1a18f9c88e245406230c50 + checksum: a9c3e4ed16ce4bde26797719636045a3bf01bf07813952ef7b970b96a0b518e858ad77ee4f35bfbe5cb905f2bfe47540688f1239f108bea69920a360357339d9 languageName: node linkType: hard @@ -6550,39 +6433,38 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-auth-node@npm:^0.5.1, @backstage/plugin-auth-node@npm:^0.5.2, @backstage/plugin-auth-node@npm:^0.5.3, @backstage/plugin-auth-node@npm:^0.5.4": - version: 0.5.4 - resolution: "@backstage/plugin-auth-node@npm:0.5.4" +"@backstage/plugin-auth-node@npm:^0.5.1, @backstage/plugin-auth-node@npm:^0.5.2, @backstage/plugin-auth-node@npm:^0.5.3, @backstage/plugin-auth-node@npm:^0.5.4, @backstage/plugin-auth-node@npm:^0.5.5, @backstage/plugin-auth-node@npm:^0.5.6": + version: 0.5.6 + resolution: "@backstage/plugin-auth-node@npm:0.5.6" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-client": ^1.8.0 - "@backstage/catalog-model": ^1.7.1 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 - "@types/express": "*" + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 + "@types/express": ^4.17.6 "@types/passport": ^1.0.3 express: ^4.17.1 jose: ^5.0.0 lodash: ^4.17.21 - node-fetch: ^2.7.0 passport: ^0.7.0 winston: ^3.2.1 zod: ^3.22.4 zod-to-json-schema: ^3.21.4 zod-validation-error: ^3.4.0 - checksum: 3ac80048a7b066e2f05be06412a0205467621cb43a485b3552eb96ec3d90951ec1fac0e066f81fdb30b95c7ddd1d35e920c79138d4c7286bdaf3033d8979ff99 + checksum: 575f2fecf2bf5b6885ac195d37e123bcb243f617dd115bbfcbc5b9195cdea1a9a7c17d8f79a389d601c04022fade7a2465c8dcdba7626049c5aa9dfb3a65fc10 languageName: node linkType: hard -"@backstage/plugin-auth-react@npm:^0.1.7": - version: 0.1.7 - resolution: "@backstage/plugin-auth-react@npm:0.1.7" +"@backstage/plugin-auth-react@npm:^0.1.10": + version: 0.1.11 + resolution: "@backstage/plugin-auth-react@npm:0.1.11" dependencies: - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 "@material-ui/core": ^4.9.13 "@react-hookz/web": ^24.0.0 peerDependencies: @@ -6593,243 +6475,285 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: fba75b875f259961085c73102e273b1306d1b201d2a03dd95e4e03739e83f061506909fa317a1c0c2efcb98c198943034dd0cf7fc5c496fc6150c4df76b5e544 + checksum: ec279506d3734723118d482e11478346a9f12078d9ad1d45f3696ca0d87be3cb6e96cec9fff514054d5f7a4980c919419a1858b9839b6c980f5b95716e425cf3 languageName: node linkType: hard -"@backstage/plugin-bitbucket-cloud-common@npm:^0.2.24, @backstage/plugin-bitbucket-cloud-common@npm:^0.2.25": - version: 0.2.25 - resolution: "@backstage/plugin-bitbucket-cloud-common@npm:0.2.25" +"@backstage/plugin-bitbucket-cloud-common@npm:^0.2.26, @backstage/plugin-bitbucket-cloud-common@npm:^0.2.27": + version: 0.2.27 + resolution: "@backstage/plugin-bitbucket-cloud-common@npm:0.2.27" dependencies: - "@backstage/integration": ^1.15.2 + "@backstage/integration": ^1.16.1 cross-fetch: ^4.0.0 - checksum: bbb827aa17868e3e98a93a27c70999331025fe29881a6e90736b1eb3c6bca18f41ee649f2837a7bdfd8ed180dcb17e230010b8c37f70dba5613a1cce3dbc4ff9 + checksum: b327f42950316a2143c8f2c73138e5ea525b2eff5f0410c8456aae4e4e649e6353b046b14f37b541ca9ae8671566a82ac8fe6b8150c6f357d9b45c7059ffe083 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-bitbucket-cloud@npm:0.4.1": - version: 0.4.1 - resolution: "@backstage/plugin-catalog-backend-module-bitbucket-cloud@npm:0.4.1" +"@backstage/plugin-catalog-backend-module-bitbucket-cloud@npm:0.4.3": + version: 0.4.3 + resolution: "@backstage/plugin-catalog-backend-module-bitbucket-cloud@npm:0.4.3" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-bitbucket-cloud-common": ^0.2.24 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 - uuid: ^9.0.0 - checksum: bc96cd02056a901559065d1dd3e54644dd032760fa39e304ca97401be355c943edc00a87ca701652e85d9d6ab7fecf681a83d86c69ce96148940034857144be7 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-bitbucket-cloud-common": ^0.2.26 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + uuid: ^11.0.0 + checksum: 4e9400e0c5114d936be163559a15b3dd3ddf8e3d59af6aedb2272eac3415f45974de2b19841259e929cb317236a877e6b56bfd2770e5aa320789d1174007f401 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-bitbucket-server@npm:0.2.3": - version: 0.2.3 - resolution: "@backstage/plugin-catalog-backend-module-bitbucket-server@npm:0.2.3" - dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-node": ^1.13.1 - "@types/node-fetch": ^2.5.12 - node-fetch: ^2.7.0 - uuid: ^9.0.0 - checksum: cb4346d4f6e80975879250eee557e25564432e15a2928c78931e05512feaa602997b181e82298f148ba0e3bd88f78a28dd5310f299e3985490d7178d712c7c02 +"@backstage/plugin-catalog-backend-module-bitbucket-server@npm:0.3.0": + version: 0.3.0 + resolution: "@backstage/plugin-catalog-backend-module-bitbucket-server@npm:0.3.0" + dependencies: + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-node": ^1.15.0 + p-throttle: ^4.1.1 + uuid: ^11.0.0 + checksum: eb016969698f335d158d8a67f95291ab9e4da6bb3e8712f039d48f49fdb0a4c963cbf2c0c3dda3744166c991497e7b28b037869db87c5f1d2eda03b3cc3a5277 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-github-org@npm:0.3.3": - version: 0.3.3 - resolution: "@backstage/plugin-catalog-backend-module-github-org@npm:0.3.3" +"@backstage/plugin-catalog-backend-module-github-org@npm:0.3.5": + version: 0.3.5 + resolution: "@backstage/plugin-catalog-backend-module-github-org@npm:0.3.5" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/plugin-catalog-backend-module-github": ^0.7.6 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 - checksum: c4179c2fc848aead506b94c2d00be34d74f7b20a52a83afff3003a4769cf25072f7d70f95dd28407a71cb09b70a2c94dff43a3571a0bcce4dd61a8cc097e4e2a + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/plugin-catalog-backend-module-github": ^0.7.8 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + checksum: 310a40a268a581a2e4ce02a6fe5f0d8a7e5111e898685ea36e1a6fb76dae633ef83aa25fbde5f3fa82ccf7fb11d9d89d589d6869efdecad76e6be877fd418964 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-github@npm:0.7.6, @backstage/plugin-catalog-backend-module-github@npm:^0.7.6": - version: 0.7.6 - resolution: "@backstage/plugin-catalog-backend-module-github@npm:0.7.6" +"@backstage/plugin-catalog-backend-module-github@npm:0.7.8": + version: 0.7.8 + resolution: "@backstage/plugin-catalog-backend-module-github@npm:0.7.8" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-backend": ^1.27.1 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-backend": ^1.29.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 "@octokit/graphql": ^5.0.0 "@octokit/rest": ^19.0.3 git-url-parse: ^15.0.0 lodash: ^4.17.21 minimatch: ^9.0.0 - node-fetch: ^2.7.0 - uuid: ^9.0.0 - checksum: 47a565d3de4156b6c7ca28d87f645d3b685945992489b991f220284608bc728636bd6f87f942fbfcff4503a4655f1a80d54a16b956a3c1268c30b30765961a09 + uuid: ^11.0.0 + checksum: 64fd37bbc3a7d068fce3d966246d87e09b1deeeccae8b3127393363fd806ad5acb968db508347e45062172acfc2f5bb9667cfee9650c43353ae5865f1cd7b1d5 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-gitlab-org@npm:0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-catalog-backend-module-gitlab-org@npm:0.2.2" +"@backstage/plugin-catalog-backend-module-github@npm:^0.7.8": + version: 0.7.9 + resolution: "@backstage/plugin-catalog-backend-module-github@npm:0.7.9" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-catalog-backend-module-gitlab": ^0.4.4 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 - checksum: 0d3a3df6642cc9492fdb7abc01dd58c8d3915fd8b313b93f25c58807d261f5da84e85a141714ec2284d2c21721f62d62fff25a7388040a38746b5ff3594abe44 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-catalog-backend": ^1.30.0 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/plugin-events-node": ^0.4.7 + "@octokit/core": ^5.2.0 + "@octokit/graphql": ^7.0.2 + "@octokit/plugin-throttling": ^8.1.3 + "@octokit/rest": ^19.0.3 + git-url-parse: ^15.0.0 + lodash: ^4.17.21 + minimatch: ^9.0.0 + uuid: ^11.0.0 + checksum: 47cb13b3ed3ddd14da77d98f8953d27ccbbc01b1549ba7fc1456449c6c8eccb7d2b8b0092d1d31d38b2dc5fcb08ed2a5eaf51df14da9ce524e90571654ec82c4 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-gitlab@npm:0.4.4, @backstage/plugin-catalog-backend-module-gitlab@npm:^0.4.4": - version: 0.4.4 - resolution: "@backstage/plugin-catalog-backend-module-gitlab@npm:0.4.4" +"@backstage/plugin-catalog-backend-module-gitlab-org@npm:0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-catalog-backend-module-gitlab-org@npm:0.2.4" dependencies: - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 + "@backstage/backend-common": ^0.25.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/plugin-catalog-backend-module-gitlab": ^0.6.0 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + checksum: a849347e2301619f8e83ed30941055fae228f66cf58e7b58cd2187a3b815121952b8244341d4fa67692a802df6f1359195ef2fb51ca4f1496dcf17d48f425f14 + languageName: node + linkType: hard + +"@backstage/plugin-catalog-backend-module-gitlab@npm:0.6.1": + version: 0.6.1 + resolution: "@backstage/plugin-catalog-backend-module-gitlab@npm:0.6.1" + dependencies: + "@backstage/backend-defaults": ^0.6.2 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 "@gitbeaker/rest": ^40.0.3 lodash: ^4.17.21 node-fetch: ^2.7.0 - uuid: ^9.0.0 - checksum: b7555f5fea44417f7de99bafcc483207a42f7ee17713079542456d595697443a51d9503241e0de10c49f96dd12979e079d97969ace59605dee9c4ababb580b75 + uuid: ^11.0.0 + checksum: 17e1d8e93d19df81cdf65aacb10269e8287c7efa97ebd83a81081434850fb36204270ff94ecb85189be2a450c1b5a77c8c676fcb7fad36296b65dfe8c5068149 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-ldap@npm:0.9.1": - version: 0.9.1 - resolution: "@backstage/plugin-catalog-backend-module-ldap@npm:0.9.1" - dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/types": ^1.1.1 +"@backstage/plugin-catalog-backend-module-gitlab@npm:^0.6.0": + version: 0.6.2 + resolution: "@backstage/plugin-catalog-backend-module-gitlab@npm:0.6.2" + dependencies: + "@backstage/backend-defaults": ^0.7.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/plugin-events-node": ^0.4.7 + "@gitbeaker/rest": ^40.0.3 + lodash: ^4.17.21 + node-fetch: ^2.7.0 + uuid: ^11.0.0 + checksum: a3aa0e31f48dbf4b509efbb399ba3b6020f19594be99dd711657de6c210675658f0aabcbcfb804eb2abec2c518f3e0d40211d13190c9d5867b85c03fe017ac07 + languageName: node + linkType: hard + +"@backstage/plugin-catalog-backend-module-ldap@npm:0.11.0": + version: 0.11.0 + resolution: "@backstage/plugin-catalog-backend-module-ldap@npm:0.11.0" + dependencies: + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/types": ^1.2.0 "@types/ldapjs": ^2.2.5 ldapjs: ^2.3.3 lodash: ^4.17.21 - uuid: ^9.0.0 - checksum: ff194d03f868254f8a6795540de75ac1b227deeab73c7d0f344fda37fd3399e7c3b72172499721143c05c6b0b0e9e85815937d7711d089b5b4ca3227b26ae9ee + uuid: ^11.0.0 + checksum: 6048796152d0c2c1948f440e9f23cb71e9177139ea1300e4114c19d2e7a45e5db9c56a5b02b1128d56ef48e87fa753ec7780526845b4c15dc0168c69a71bdab3 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-logs@npm:0.1.3": - version: 0.1.3 - resolution: "@backstage/plugin-catalog-backend-module-logs@npm:0.1.3" +"@backstage/plugin-catalog-backend-module-logs@npm:0.1.5": + version: 0.1.5 + resolution: "@backstage/plugin-catalog-backend-module-logs@npm:0.1.5" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/plugin-catalog-backend": ^1.27.1 - "@backstage/plugin-events-node": ^0.4.2 - checksum: 280010124dfa7c73fbb4ae54ab1c736bbe07e5472a5936dfdbec1f381df8e6f08bcf87e6485d9e8176a0941f50e713764cd220e7990d79042167cbd9ef1c0fb6 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/plugin-catalog-backend": ^1.29.0 + "@backstage/plugin-events-node": ^0.4.6 + checksum: f2127c115bde82d4b44a01fef8b7e3024b6e75e2601ae4c2979ae14a3348d2862e7e77f3b52b90567f446da6f6d905a763b822f1f90644d725e86f978fab7fd3 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-msgraph@npm:0.6.3": - version: 0.6.3 - resolution: "@backstage/plugin-catalog-backend-module-msgraph@npm:0.6.3" +"@backstage/plugin-catalog-backend-module-msgraph@npm:0.6.5": + version: 0.6.5 + resolution: "@backstage/plugin-catalog-backend-module-msgraph@npm:0.6.5" dependencies: "@azure/identity": ^4.0.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 "@microsoft/microsoft-graph-types": ^2.6.0 - "@types/node-fetch": ^2.5.12 lodash: ^4.17.21 - node-fetch: ^2.7.0 p-limit: ^3.0.2 qs: ^6.9.4 - uuid: ^9.0.0 - checksum: 16393d1910be85f5ba867ce34c3fe7619811358a39dc4bc0fe9ad029798f336474f52c1022a7b3469db3197471deb9cf2b149116aff756322120691edce6277a + uuid: ^11.0.0 + checksum: b534ce4f26ea12f9a5ca27de8a165fdda69740623b57d70eabe60956289c1bb96c0f0b6d03e4a0157baa3361e9fc79e7032c8ce323e77fc05c391093fcb0a166 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-openapi@npm:0.2.3": - version: 0.2.3 - resolution: "@backstage/plugin-catalog-backend-module-openapi@npm:0.2.3" +"@backstage/plugin-catalog-backend-module-openapi@npm:0.2.5": + version: 0.2.5 + resolution: "@backstage/plugin-catalog-backend-module-openapi@npm:0.2.5" dependencies: - "@apidevtools/json-schema-ref-parser": ^9.0.6 + "@apidevtools/json-schema-ref-parser": ^11.0.0 "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-backend": ^1.27.1 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-backend": ^1.29.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/types": ^1.2.0 winston: ^3.2.1 yaml: ^2.1.1 - checksum: ab78b96e3b1ebbfabb1297bede46e9588d3a0ab722cd7a16c143dd3f6c7d1e568e9cf9a64856b2934ea8f0395372a869cd8983ca521e0dbb58aed647b34121ea + checksum: 83a8e00ee58fdc06c0f356669e3cc3fda4eb2c04d809548929c5fd5baa36340c84f74a1553f94764033be56ff3974ea9f96fa8a2b29d6c22fd086bb1e5757415 languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.1": - version: 0.2.1 - resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.1" +"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.3": + version: 0.2.3 + resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.3" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-scaffolder-common": ^1.5.6 - checksum: fa1f36d75d947c802e45aab2cef33b4ef6abda9aa989bf0c3c3160717ec81b3123d7a6ffd003c547595ef4eeac67f355e9be00942afd5b8f58cf203cbb5a6ac6 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-scaffolder-common": ^1.5.8 + checksum: 0aeb5f6f02660c307af7334a37383f6215ae3e76422c4d509db5a6ce6997e7bbc6902148a3f8077363fb7f853f49e29d4bda13d532f24dc2191a5b5d8334878d languageName: node linkType: hard -"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:^0.2.1, @backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:^0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.2" +"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:^0.2.3": + version: 0.2.4 + resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-model": ^1.7.1 - "@backstage/plugin-catalog-common": ^1.1.1 - "@backstage/plugin-catalog-node": ^1.14.0 - "@backstage/plugin-scaffolder-common": ^1.5.7 - checksum: 71ba230e5ba0f05c3e17946a72dfdee3603fb777b66836d4160c5afc2bc92dce192e5578df43815ef919c13461f3b95c30bae2dd19cfb588068702f6d0add8b6 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/plugin-scaffolder-common": ^1.5.9 + checksum: 4d7b5e80cddf16628e9489122b65a56949059b64d43072ef85ad5408c22176780b714905c2a3eac8ef190eb97d0fc8ea806831600cb31242a63976b95a952109 languageName: node linkType: hard -"@backstage/plugin-catalog-backend@npm:1.27.1": - version: 1.27.1 - resolution: "@backstage/plugin-catalog-backend@npm:1.27.1" +"@backstage/plugin-catalog-backend@npm:1.29.0": + version: 1.29.0 + resolution: "@backstage/plugin-catalog-backend@npm:1.29.0" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-openapi-utils": ^0.2.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-search-backend-module-catalog": ^0.2.4 - "@backstage/types": ^1.1.1 - "@opentelemetry/api": ^1.3.0 + "@backstage/backend-openapi-utils": ^0.4.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/plugin-search-backend-module-catalog": ^0.2.6 + "@backstage/types": ^1.2.0 + "@opentelemetry/api": ^1.9.0 "@types/express": ^4.17.6 codeowners-utils: ^1.0.2 core-js: ^3.6.5 @@ -6842,37 +6766,37 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 minimatch: ^9.0.0 - node-fetch: ^2.7.0 p-limit: ^3.0.2 prom-client: ^15.0.0 - uuid: ^9.0.0 + uuid: ^11.0.0 yaml: ^2.0.0 yn: ^4.0.0 zod: ^3.22.4 - checksum: f7b9414461cd45cb32f86c3e43bf8a2338c0390b95d09c3a0bf63bdf087838f7bf640ce07f72e6a1c1397fa44a6d10d5851d9e92201c80b36d11f10622abd7ff + checksum: e2ac0e6c4780823004ae07c7d1310de944d790f5391b257173204f7cacdf3bb54e1b6713e1dbda30dfb9ae263c77caeadf90df3413d88db41e3cbd57d244211e languageName: node linkType: hard -"@backstage/plugin-catalog-backend@patch:@backstage/plugin-catalog-backend@npm%3A1.27.1#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch::locator=root%40workspace%3A.": - version: 1.27.1 - resolution: "@backstage/plugin-catalog-backend@patch:@backstage/plugin-catalog-backend@npm%3A1.27.1#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.27.1.patch::version=1.27.1&hash=09ac62&locator=root%40workspace%3A." +"@backstage/plugin-catalog-backend@npm:^1.30.0": + version: 1.30.0 + resolution: "@backstage/plugin-catalog-backend@npm:1.30.0" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-openapi-utils": ^0.2.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-search-backend-module-catalog": ^0.2.4 - "@backstage/types": ^1.1.1 - "@opentelemetry/api": ^1.3.0 + "@backstage/backend-openapi-utils": ^0.4.1 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/plugin-events-node": ^0.4.7 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-permission-node": ^0.8.7 + "@backstage/plugin-search-backend-module-catalog": ^0.3.0 + "@backstage/plugin-search-common": ^1.2.17 + "@backstage/types": ^1.2.1 + "@opentelemetry/api": ^1.9.0 "@types/express": ^4.17.6 codeowners-utils: ^1.0.2 core-js: ^3.6.5 @@ -6885,51 +6809,92 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 minimatch: ^9.0.0 - node-fetch: ^2.7.0 p-limit: ^3.0.2 prom-client: ^15.0.0 - uuid: ^9.0.0 + uuid: ^11.0.0 yaml: ^2.0.0 yn: ^4.0.0 zod: ^3.22.4 - checksum: 9ed0fb90030c44902acf72ff7569a030bba7410521da4d66a479f1d4c94e45c3b8940b44359b0bd9b318cf2b013fa8c1d433fe265d04f3b833ce4d1c090d97b3 + checksum: 295822500a9cba1cc0f4000d22f35ad5730a3a2a78d2204e6a2a8e019ae8cbfb9a6020be4c2d299ccc2ff9c7b13dc04e906544473eb0944565b9e5755679760b languageName: node linkType: hard -"@backstage/plugin-catalog-common@npm:1.1.0": - version: 1.1.0 - resolution: "@backstage/plugin-catalog-common@npm:1.1.0" +"@backstage/plugin-catalog-backend@patch:@backstage/plugin-catalog-backend@npm%3A1.29.0#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch::locator=root%40workspace%3A.": + version: 1.29.0 + resolution: "@backstage/plugin-catalog-backend@patch:@backstage/plugin-catalog-backend@npm%3A1.29.0#./.yarn/patches/@backstage-plugin-catalog-backend-npm-1.29.0-6b86022fa8.patch::version=1.29.0&hash=26bda9&locator=root%40workspace%3A." dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-search-common": ^1.2.14 - checksum: 291a589cfa6d6d06dbb01d6343c005f4dad1d837b3f2d56ce7d0f1cb89b90c92af4e1dd17931cdcd2b6666b11eba0f8726f9fe02bca2340997002b2182cdf40b + "@backstage/backend-common": ^0.25.0 + "@backstage/backend-openapi-utils": ^0.4.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/plugin-search-backend-module-catalog": ^0.2.6 + "@backstage/types": ^1.2.0 + "@opentelemetry/api": ^1.9.0 + "@types/express": ^4.17.6 + codeowners-utils: ^1.0.2 + core-js: ^3.6.5 + express: ^4.17.1 + fast-json-stable-stringify: ^2.1.0 + fs-extra: ^11.2.0 + git-url-parse: ^15.0.0 + glob: ^7.1.6 + knex: ^3.0.0 + lodash: ^4.17.21 + luxon: ^3.0.0 + minimatch: ^9.0.0 + p-limit: ^3.0.2 + prom-client: ^15.0.0 + uuid: ^11.0.0 + yaml: ^2.0.0 + yn: ^4.0.0 + zod: ^3.22.4 + checksum: 32cc5f6fc3c2afb0152131ccb98918c2c548726ac6ac6c1fac62478562522f141ebf4e1a19d78b94d2424b620aadad9fa1ce6776223f0bb34f1fa5997043caa4 languageName: node linkType: hard -"@backstage/plugin-catalog-common@npm:^1.0.25, @backstage/plugin-catalog-common@npm:^1.1.0, @backstage/plugin-catalog-common@npm:^1.1.1": - version: 1.1.1 - resolution: "@backstage/plugin-catalog-common@npm:1.1.1" +"@backstage/plugin-catalog-common@npm:1.1.2": + version: 1.1.2 + resolution: "@backstage/plugin-catalog-common@npm:1.1.2" dependencies: - "@backstage/catalog-model": ^1.7.1 - "@backstage/plugin-permission-common": ^0.8.2 - "@backstage/plugin-search-common": ^1.2.15 - checksum: de2205ef4ab6ce43dd46d20daed31b9fd5d395b0d78d0e579c7269a5be0741f65ccc690c2346b5945fdb1c5a11a384b9745cdaa495997a179bea9ed55fc5df86 + "@backstage/catalog-model": ^1.7.2 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-search-common": ^1.2.16 + checksum: ec4190c708f3e98fe09fcea56480ac36311a6b11a5a351f0e273c3ab39c45dec039e67aafc7974c73e14170350a3aedd6a5f4a009173536427b3c72c9fb45352 languageName: node linkType: hard -"@backstage/plugin-catalog-graph@npm:0.4.11": - version: 0.4.11 - resolution: "@backstage/plugin-catalog-graph@npm:0.4.11" +"@backstage/plugin-catalog-common@npm:^1.0.25, @backstage/plugin-catalog-common@npm:^1.1.0, @backstage/plugin-catalog-common@npm:^1.1.2, @backstage/plugin-catalog-common@npm:^1.1.3": + version: 1.1.3 + resolution: "@backstage/plugin-catalog-common@npm:1.1.3" dependencies: - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/types": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-search-common": ^1.2.17 + checksum: 320551fc176152d6566cc7dfcd452e9a353119b9415275c7d2cf6bff5a73a82f064a522a397bb1dca9c89301a2c25d7f4412e86fa8f616b420764858aee411ff + languageName: node + linkType: hard + +"@backstage/plugin-catalog-graph@npm:0.4.14": + version: 0.4.14 + resolution: "@backstage/plugin-catalog-graph@npm:0.4.14" + dependencies: + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/types": ^1.2.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -6946,26 +6911,26 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: d0bff937b232d1427cb3911bb114ab319c7c756c2c6cc8f934d450952afc7cccda4b39c6e4c20e42c0eec1dc8bc85535f7ee7619313ba5b87c1f522bca6f150b + checksum: cf97cd5594fb73b39cd938c8b4c2f3217482735faa24f25553d46b964883d2b2592ef0692871e248028f694ae82173f2bb3e1ac3d30b7b7da075c296c48037a8 languageName: node linkType: hard -"@backstage/plugin-catalog-import@npm:0.12.5, @backstage/plugin-catalog-import@npm:^0.12.5": - version: 0.12.5 - resolution: "@backstage/plugin-catalog-import@npm:0.12.5" +"@backstage/plugin-catalog-import@npm:0.12.8": + version: 0.12.8 + resolution: "@backstage/plugin-catalog-import@npm:0.12.8" dependencies: - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/integration": ^1.15.1 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-react": ^1.14.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/integration": ^1.16.0 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-react": ^1.15.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -6984,27 +6949,65 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 9bf6bdd54c3b96be515981b557571e4d7c297377514b6f80f851a33b51f7dbbeb0046e2e516f6c8c17c7820ad941bfb10c51ba3938a090e0b8f8908e7d1cdcb3 + checksum: 41859ecfe54b55add32d466c575a9ae49ddebc1b619e52edf9061f927ed456cde32262fb2e9e8ff5e5460ecdc17a4da5c587fda6e89ca6a89715961440271b95 languageName: node linkType: hard -"@backstage/plugin-catalog-node@npm:^1.12.4, @backstage/plugin-catalog-node@npm:^1.13.1, @backstage/plugin-catalog-node@npm:^1.14.0": - version: 1.14.0 - resolution: "@backstage/plugin-catalog-node@npm:1.14.0" +"@backstage/plugin-catalog-import@npm:^0.12.5": + version: 0.12.9 + resolution: "@backstage/plugin-catalog-import@npm:0.12.9" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-client": ^1.8.0 - "@backstage/catalog-model": ^1.7.1 - "@backstage/errors": ^1.2.5 - "@backstage/plugin-catalog-common": ^1.1.1 - "@backstage/plugin-permission-common": ^0.8.2 - "@backstage/plugin-permission-node": ^0.8.5 - "@backstage/types": ^1.2.0 - checksum: a7f88e0a58d9682346a0d54743f954d967fb795c771b75d52c8ce3959a5ece5725f57b8a36d9bae934935c7c5e7ae11822817a8c7cdfde05bb6c532c72b2580c + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/core-compat-api": ^0.3.5 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/integration": ^1.16.1 + "@backstage/integration-react": ^1.2.3 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-react": ^1.15.1 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@octokit/rest": ^19.0.3 + git-url-parse: ^15.0.0 + js-base64: ^3.6.0 + lodash: ^4.17.21 + react-hook-form: ^7.12.2 + react-use: ^17.2.4 + yaml: ^2.0.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 6eb7255c08ff48b71a6569ae90ca6f66556c88dc893d156c27109020ccc9854b647eeb0c9d4ba5581119da23ea9762e26bf42f45acfcaada8850f6bb6e5bafe5 + languageName: node + linkType: hard + +"@backstage/plugin-catalog-node@npm:^1.12.4, @backstage/plugin-catalog-node@npm:^1.13.1, @backstage/plugin-catalog-node@npm:^1.15.0, @backstage/plugin-catalog-node@npm:^1.15.1": + version: 1.15.1 + resolution: "@backstage/plugin-catalog-node@npm:1.15.1" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-permission-node": ^0.8.7 + "@backstage/types": ^1.2.1 + checksum: de90ce3a6d3114a2250fe52e4b8e41602c475233d6749fdc8fc151f8d28fb2c71862483489471ddde519b67a337e8e12e352491cf6730605b505b41d0abaed5a languageName: node linkType: hard -"@backstage/plugin-catalog-react@npm:1.14.0, @backstage/plugin-catalog-react@npm:^1.12.2, @backstage/plugin-catalog-react@npm:^1.12.3, @backstage/plugin-catalog-react@npm:^1.14.0": +"@backstage/plugin-catalog-react@npm:1.14.0": version: 1.14.0 resolution: "@backstage/plugin-catalog-react@npm:1.14.0" dependencies: @@ -7045,25 +7048,107 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-catalog@npm:1.24.0, @backstage/plugin-catalog@npm:^1.24.0": - version: 1.24.0 - resolution: "@backstage/plugin-catalog@npm:1.24.0" - dependencies: - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-permission-react": ^0.4.27 - "@backstage/plugin-scaffolder-common": ^1.5.6 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/plugin-search-react": ^1.8.1 - "@backstage/types": ^1.1.1 +"@backstage/plugin-catalog-react@npm:1.15.0": + version: 1.15.0 + resolution: "@backstage/plugin-catalog-react@npm:1.15.0" + dependencies: + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/frontend-test-utils": ^0.2.4 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-react": ^0.4.29 + "@backstage/types": ^1.2.0 + "@backstage/version-bridge": ^1.0.10 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@react-hookz/web": ^24.0.0 + classnames: ^2.2.6 + lodash: ^4.17.21 + material-ui-popup-state: ^1.9.3 + qs: ^6.9.4 + react-use: ^17.2.4 + yaml: ^2.0.0 + zen-observable: ^0.10.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: d94aafd1f9c81bceb4917f3e49a9d3dddd409f41684373d826b79fbcd4059a896dfcf908263ea5a5c78dfbbc2eb3c43cd1cc97129c22fe0f98a8d91032a005c0 + languageName: node + linkType: hard + +"@backstage/plugin-catalog-react@npm:^1.12.2, @backstage/plugin-catalog-react@npm:^1.12.3, @backstage/plugin-catalog-react@npm:^1.14.0, @backstage/plugin-catalog-react@npm:^1.15.0, @backstage/plugin-catalog-react@npm:^1.15.1": + version: 1.15.1 + resolution: "@backstage/plugin-catalog-react@npm:1.15.1" + dependencies: + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/core-compat-api": ^0.3.5 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/frontend-test-utils": ^0.2.5 + "@backstage/integration-react": ^1.2.3 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-permission-react": ^0.4.30 + "@backstage/types": ^1.2.1 + "@backstage/version-bridge": ^1.0.10 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@react-hookz/web": ^24.0.0 + classnames: ^2.2.6 + lodash: ^4.17.21 + material-ui-popup-state: ^1.9.3 + qs: ^6.9.4 + react-use: ^17.2.4 + yaml: ^2.0.0 + zen-observable: ^0.10.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 109ec48f65194dc831ee1e2b0b5c34c8c26bc262e4c121fe5bb02a9fc37a396e0ff5f5d34a342c2e8dc5b980fc2455fab88f4996acfa0febdf6d8b7304bf1fb9 + languageName: node + linkType: hard + +"@backstage/plugin-catalog@npm:1.26.0": + version: 1.26.0 + resolution: "@backstage/plugin-catalog@npm:1.26.0" + dependencies: + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-permission-react": ^0.4.29 + "@backstage/plugin-scaffolder-common": ^1.5.8 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/plugin-search-react": ^1.8.4 + "@backstage/types": ^1.2.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7083,61 +7168,104 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 5b9dd519194168a57972bde2c73bb5bc111e2d13126e48ffe14a1e25e91a17755fb54c999d973e9a2e6e28e6edb4e25224d29981c4ceb00ea5aba5034fdb36f4 + checksum: 29565eafbd38ed701dca477a80bcfe7940944ae2418a59a7eca8b103ca6c86e7b035b68fa6e2ef711d2d04deea479964c17bfa20159955395c4f2770e3cff3eb + languageName: node + linkType: hard + +"@backstage/plugin-catalog@npm:^1.24.0, @backstage/plugin-catalog@npm:^1.26.0": + version: 1.26.1 + resolution: "@backstage/plugin-catalog@npm:1.26.1" + dependencies: + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/core-compat-api": ^0.3.5 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/integration-react": ^1.2.3 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-react": ^1.15.1 + "@backstage/plugin-permission-react": ^0.4.30 + "@backstage/plugin-scaffolder-common": ^1.5.9 + "@backstage/plugin-search-common": ^1.2.17 + "@backstage/plugin-search-react": ^1.8.5 + "@backstage/types": ^1.2.1 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@mui/utils": ^5.14.15 + dataloader: ^2.0.0 + expiry-map: ^2.0.0 + history: ^5.0.0 + lodash: ^4.17.21 + pluralize: ^8.0.0 + react-use: ^17.2.4 + zen-observable: ^0.10.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 54c5e867398b48d591de131d0861a6a600d88e404a192b804b317b825fb80eb7d7da2cc85e524a49be01a3ed52148a103b4492f3cc2127a8152b88512736eb37 languageName: node linkType: hard -"@backstage/plugin-events-backend@npm:0.3.15": - version: 0.3.15 - resolution: "@backstage/plugin-events-backend@npm:0.3.15" +"@backstage/plugin-events-backend@npm:0.4.0": + version: 0.4.0 + resolution: "@backstage/plugin-events-backend@npm:0.4.0" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-openapi-utils": ^0.2.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-events-node": ^0.4.3 - "@backstage/types": ^1.1.1 + "@backstage/backend-openapi-utils": ^0.4.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/types": ^1.2.0 "@types/express": ^4.17.6 + content-type: ^1.0.5 express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 winston: ^3.2.1 - checksum: 7a94f56ca617f3a1a6291f9752f84d7dee30ed15c6ecef8405cbcef4906b7af28170e7924dee44f3ff4d16d737a2d7246f4f2e54ec067f702385392cce753923 + checksum: e2e297bb38bbb12e5e113e3781411246a4c31cd959022c4d00a783bd66bf24c9878d73e386b0480d3c5ea728ab87a781fb80ba765a36d982254b6f1e4b5998f1 languageName: node linkType: hard -"@backstage/plugin-events-backend@npm:^0.3.15": - version: 0.3.16 - resolution: "@backstage/plugin-events-backend@npm:0.3.16" +"@backstage/plugin-events-backend@npm:^0.4.0": + version: 0.4.1 + resolution: "@backstage/plugin-events-backend@npm:0.4.1" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-openapi-utils": ^0.3.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/plugin-events-node": ^0.4.5 - "@backstage/types": ^1.2.0 + "@backstage/backend-openapi-utils": ^0.4.1 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-events-node": ^0.4.7 + "@backstage/types": ^1.2.1 "@types/express": ^4.17.6 content-type: ^1.0.5 express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 winston: ^3.2.1 - checksum: b08d4eb6e9a24d0a1249956c1c6250ff634b395975e82e4b147c5de93d2e1a56c6c7d16fb1835b7e03beaa76b49eed119b2ccb1415b83158bd0ef101a7c83e76 + checksum: 0d845c6dc9935170634a67659e0fee04de8a0fe16303a5d54ea3c99aad6d9077ebd15f12fcfc108267d4985fbc369af5c199fb2f1a7ed4d843a30831ca9ab6c7 languageName: node linkType: hard -"@backstage/plugin-events-node@npm:0.4.4": - version: 0.4.4 - resolution: "@backstage/plugin-events-node@npm:0.4.4" +"@backstage/plugin-events-node@npm:0.4.6": + version: 0.4.6 + resolution: "@backstage/plugin-events-node@npm:0.4.6" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 cross-fetch: ^4.0.0 uri-template: ^2.0.0 - checksum: e1d665686ae3d2462c40b773f9e005d092a18cd866624799a3174100f3b496d76e6a8abfde8888114ec346fbcb081edbc45e1b9be1e8f875e13ad62f81121a68 + checksum: ffe365ec94cf98d5d62099b735658ee3f1b3a90d34066689fb101cb55ebca919e502d9e05277b088b9c2a194b64789edbe7820569b0a85e6edeee0dce9e24283 languageName: node linkType: hard @@ -7150,20 +7278,20 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-events-node@npm:^0.4.2, @backstage/plugin-events-node@npm:^0.4.3, @backstage/plugin-events-node@npm:^0.4.4, @backstage/plugin-events-node@npm:^0.4.5": - version: 0.4.5 - resolution: "@backstage/plugin-events-node@npm:0.4.5" +"@backstage/plugin-events-node@npm:^0.4.5, @backstage/plugin-events-node@npm:^0.4.6, @backstage/plugin-events-node@npm:^0.4.7": + version: 0.4.7 + resolution: "@backstage/plugin-events-node@npm:0.4.7" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 cross-fetch: ^4.0.0 uri-template: ^2.0.0 - checksum: cb2d07c4b6122c5a83fda729d13f915f2798455f1d2ed2ffb4148f038040a02bf1d593a098c42c579b1bf7704002481d0d92f1e747211a36407a56ef8c52291a + checksum: 7f99c5e91fc0b6199b3e22b5ef40754199f06ba530598fe1d2a7f9b868bb7690c125ae550a363ded860471ddb3df1dbbde53228834e9535eaa5cb29b668f2a02 languageName: node linkType: hard -"@backstage/plugin-home-react@npm:0.1.18, @backstage/plugin-home-react@npm:^0.1.15, @backstage/plugin-home-react@npm:^0.1.16, @backstage/plugin-home-react@npm:^0.1.18": +"@backstage/plugin-home-react@npm:0.1.18": version: 0.1.18 resolution: "@backstage/plugin-home-react@npm:0.1.18" dependencies: @@ -7184,7 +7312,28 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-home@npm:0.8.0, @backstage/plugin-home@npm:^0.8.0": +"@backstage/plugin-home-react@npm:^0.1.15, @backstage/plugin-home-react@npm:^0.1.16, @backstage/plugin-home-react@npm:^0.1.18, @backstage/plugin-home-react@npm:^0.1.22": + version: 0.1.22 + resolution: "@backstage/plugin-home-react@npm:0.1.22" + dependencies: + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@rjsf/utils": 5.23.2 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: e585cfec65c9e3cd20e4f6c74c1195e32cfbd8dbf3a2ee604f2b61e0a1d3f4901b2d15ed1eb7a1d16914c0851c8db97c0ffe24910de48937be0ba26f022c5ff9 + languageName: node + linkType: hard + +"@backstage/plugin-home@npm:0.8.0": version: 0.8.0 resolution: "@backstage/plugin-home@npm:0.8.0" dependencies: @@ -7202,10 +7351,50 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 - "@rjsf/core": 5.21.2 - "@rjsf/material-ui": 5.21.2 - "@rjsf/utils": 5.21.2 - "@rjsf/validator-ajv8": 5.21.2 + "@rjsf/core": 5.21.2 + "@rjsf/material-ui": 5.21.2 + "@rjsf/utils": 5.21.2 + "@rjsf/validator-ajv8": 5.21.2 + lodash: ^4.17.21 + luxon: ^3.4.3 + react-grid-layout: 1.3.4 + react-resizable: ^3.0.4 + react-use: ^17.2.4 + zod: ^3.22.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: e1053f2ffd1df43c23136b8056452b8089a6fa6c24d2bf10a1fae46d19fa72e88a81ddd092a13fb1b67acbbf8e6e0bc1a8ead3c541c1ffb13ec7e2aa62f93a18 + languageName: node + linkType: hard + +"@backstage/plugin-home@npm:^0.8.0": + version: 0.8.4 + resolution: "@backstage/plugin-home@npm:0.8.4" + dependencies: + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/core-app-api": ^1.15.4 + "@backstage/core-compat-api": ^0.3.5 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/plugin-catalog-react": ^1.15.1 + "@backstage/plugin-home-react": ^0.1.22 + "@backstage/theme": ^0.6.3 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@rjsf/core": 5.23.2 + "@rjsf/material-ui": 5.23.2 + "@rjsf/utils": 5.23.2 + "@rjsf/validator-ajv8": 5.23.2 lodash: ^4.17.21 luxon: ^3.4.3 react-grid-layout: 1.3.4 @@ -7220,35 +7409,35 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: e1053f2ffd1df43c23136b8056452b8089a6fa6c24d2bf10a1fae46d19fa72e88a81ddd092a13fb1b67acbbf8e6e0bc1a8ead3c541c1ffb13ec7e2aa62f93a18 + checksum: c546801e1383469ee4b72fb79d253a7326b45f35ba1522750efc79253684f3b1f9cbd9e744002200b8557e66560ead2269f2e0a965dc3d1b9e5b33ffdc8e1a4b languageName: node linkType: hard -"@backstage/plugin-kubernetes-backend@npm:0.18.7": - version: 0.18.7 - resolution: "@backstage/plugin-kubernetes-backend@npm:0.18.7" +"@backstage/plugin-kubernetes-backend@npm:0.19.1": + version: 0.19.1 + resolution: "@backstage/plugin-kubernetes-backend@npm:0.19.1" dependencies: "@aws-crypto/sha256-js": ^5.0.0 "@aws-sdk/credential-providers": ^3.350.0 "@aws-sdk/signature-v4": ^3.347.0 "@azure/identity": ^4.0.0 "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration-aws-node": ^0.1.12 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-kubernetes-common": ^0.8.3 - "@backstage/plugin-kubernetes-node": ^0.1.20 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration-aws-node": ^0.1.14 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-kubernetes-common": ^0.9.1 + "@backstage/plugin-kubernetes-node": ^0.2.1 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/types": ^1.2.0 "@google-cloud/container": ^5.0.0 "@jest-mock/express": ^2.0.1 - "@kubernetes/client-node": 0.20.0 + "@kubernetes/client-node": 1.0.0-rc7 "@types/express": ^4.17.6 "@types/http-proxy-middleware": ^1.0.0 "@types/luxon": ^3.0.0 @@ -7266,7 +7455,7 @@ __metadata: stream-buffers: ^3.0.2 winston: ^3.2.1 yn: ^4.0.0 - checksum: d2997c45e0772ad5b6cf555921e72120d0c2003ed6ae2bcf6fbff7dc2ef2a9b76882b392bbdc1e6c9899fa1d284cfd97c59fe434b83779bd299681fa1d132905 + checksum: cdeb803f555e0bef89fd9a2db21eaf8533fd5bf07e4e9ffd33ebdb5b78cff73b7b36e87cb55bc5b0935dbe78fe4f6d31711e878cd872d448564ee26fbb90c2ba languageName: node linkType: hard @@ -7285,18 +7474,33 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-kubernetes-node@npm:^0.1.20": - version: 0.1.20 - resolution: "@backstage/plugin-kubernetes-node@npm:0.1.20" +"@backstage/plugin-kubernetes-common@npm:^0.9.1, @backstage/plugin-kubernetes-common@npm:^0.9.2": + version: 0.9.2 + resolution: "@backstage/plugin-kubernetes-common@npm:0.9.2" dependencies: - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/plugin-kubernetes-common": ^0.8.3 - "@backstage/types": ^1.1.1 - "@kubernetes/client-node": ^0.20.0 + "@backstage/catalog-model": ^1.7.3 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/types": ^1.2.1 + "@kubernetes/client-node": 1.0.0-rc7 + kubernetes-models: ^4.3.1 + lodash: ^4.17.21 + luxon: ^3.0.0 + checksum: bf2cf8efc476fb821bc4e81471712f63b3446f1bd30a173008661a68ea9636f40f53bfe09200e4fade6eb2bad1ea1d3cf540da3d91d0e279f43e873d74bb7eea + languageName: node + linkType: hard + +"@backstage/plugin-kubernetes-node@npm:^0.2.1": + version: 0.2.2 + resolution: "@backstage/plugin-kubernetes-node@npm:0.2.2" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/plugin-kubernetes-common": ^0.9.2 + "@backstage/types": ^1.2.1 + "@kubernetes/client-node": 1.0.0-rc7 node-fetch: ^2.7.0 winston: ^3.2.1 - checksum: 6b9f3af235f521b7a3418c7e1f47261bb384b801f57634087f5efaadd4a3348e0d28d97625b1252a5e25957a161a382f73290b01128c76c04e29db1ce9f5ab83 + checksum: 559e3cd888b5ee9e66685a541f99f3d05979e83a40a6060c25b54c3e109add42c1cfd859a628bf26207879fac0dca4343693ff9a6b231e0254174903e4956a12 languageName: node linkType: hard @@ -7337,7 +7541,80 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-kubernetes@npm:0.11.16, @backstage/plugin-kubernetes@npm:^0.11.16": +"@backstage/plugin-kubernetes-react@npm:^0.5.2": + version: 0.5.3 + resolution: "@backstage/plugin-kubernetes-react@npm:0.5.3" + dependencies: + "@backstage/catalog-model": ^1.7.3 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-kubernetes-common": ^0.9.2 + "@backstage/types": ^1.2.1 + "@kubernetes-models/apimachinery": ^2.0.0 + "@kubernetes-models/base": ^5.0.0 + "@kubernetes/client-node": 1.0.0-rc7 + "@material-ui/core": ^4.9.13 + "@material-ui/icons": ^4.11.3 + "@material-ui/lab": ^4.0.0-alpha.61 + cronstrue: ^2.32.0 + js-yaml: ^4.1.0 + kubernetes-models: ^4.3.1 + lodash: ^4.17.21 + luxon: ^3.0.0 + react-use: ^17.4.0 + xterm: ^5.3.0 + xterm-addon-attach: ^0.9.0 + xterm-addon-fit: ^0.8.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 50633de2ed1f6eb409d294bf3074b59dc306ebeff9b8384638f53c0e53861d70504d2cd53e58c14782b38c11f76ca8bc8536715e9f42f4a0cfb9df08556d0429 + languageName: node + linkType: hard + +"@backstage/plugin-kubernetes@npm:0.12.2": + version: 0.12.2 + resolution: "@backstage/plugin-kubernetes@npm:0.12.2" + dependencies: + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-kubernetes-common": ^0.9.1 + "@backstage/plugin-kubernetes-react": ^0.5.2 + "@kubernetes-models/apimachinery": ^2.0.0 + "@kubernetes-models/base": ^5.0.0 + "@kubernetes/client-node": 1.0.0-rc7 + "@material-ui/core": ^4.12.2 + cronstrue: ^2.2.0 + js-yaml: ^4.0.0 + kubernetes-models: ^4.1.0 + lodash: ^4.17.21 + luxon: ^3.0.0 + xterm: ^5.2.1 + xterm-addon-attach: ^0.9.0 + xterm-addon-fit: ^0.8.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: c9f59d23680899cde6d56e28247a443a2c3c1f53c38bd7cd17729f4ec1580b1a0918e8901a232f0506be7d8d59a79ba87a1ad35a5ebbdcfa27972a70d9ab3f02 + languageName: node + linkType: hard + +"@backstage/plugin-kubernetes@npm:^0.11.16": version: 0.11.16 resolution: "@backstage/plugin-kubernetes@npm:0.11.16" dependencies: @@ -7373,103 +7650,100 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-notifications-backend-module-email@npm:0.3.2": - version: 0.3.2 - resolution: "@backstage/plugin-notifications-backend-module-email@npm:0.3.2" +"@backstage/plugin-notifications-backend-module-email@npm:0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-notifications-backend-module-email@npm:0.3.4" dependencies: "@aws-sdk/client-ses": ^3.550.0 "@aws-sdk/types": ^3.347.0 - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/integration-aws-node": ^0.1.12 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-notifications-common": ^0.0.5 - "@backstage/plugin-notifications-node": ^0.2.8 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/integration-aws-node": ^0.1.14 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-notifications-common": ^0.0.7 + "@backstage/plugin-notifications-node": ^0.2.10 + "@backstage/types": ^1.2.0 lodash: ^4.17.21 nodemailer: ^6.9.13 p-throttle: ^4.1.1 - checksum: 6920b57dc6843c81c19ef2bba6baa621bfc9bf0379ccfac6b097d8f922ded21cf8bef0d6b15c258618aa4cda52d497eece4f943f9c13fae167cd4196880672b3 + checksum: 294538c4b3c2d2ffe9d14f1368edd17e1e5759f2080d463a404d897ff1b8990e8474a863675a29d5c441a601a9a316d4622372248391b8c3caf72a4297899586 languageName: node linkType: hard -"@backstage/plugin-notifications-backend@npm:0.4.2": - version: 0.4.2 - resolution: "@backstage/plugin-notifications-backend@npm:0.4.2" +"@backstage/plugin-notifications-backend@npm:0.5.0": + version: 0.5.0 + resolution: "@backstage/plugin-notifications-backend@npm:0.5.0" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/plugin-notifications-common": ^0.0.5 - "@backstage/plugin-notifications-node": ^0.2.8 - "@backstage/plugin-signals-node": ^0.1.13 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-notifications-common": ^0.0.7 + "@backstage/plugin-notifications-node": ^0.2.10 + "@backstage/plugin-signals-node": ^0.1.15 express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 - node-fetch: ^2.7.0 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 yn: ^4.0.0 - checksum: 8a75f870e4fd5c1832108aed134729a04fe8e2f9e8a345c53a8ce54f1a9a803c772fd4020272e8eabf50e9d5352239cd9df5c74d5accb83d24cb5d6594911707 + checksum: 6d93d6efd967f0afc5fe4fc1e8a202a3c4875b792ab0cce0102b84109f2dd8de3fb98efbeaff693e4ab0b6357a44cd12f81eae6a11363ee5e7fc5196611cfe6f languageName: node linkType: hard -"@backstage/plugin-notifications-common@npm:^0.0.5": - version: 0.0.5 - resolution: "@backstage/plugin-notifications-common@npm:0.0.5" +"@backstage/plugin-notifications-common@npm:^0.0.7": + version: 0.0.7 + resolution: "@backstage/plugin-notifications-common@npm:0.0.7" dependencies: - "@backstage/config": ^1.2.0 + "@backstage/config": ^1.3.1 "@material-ui/icons": ^4.9.1 - checksum: 3cdfd9565d9bfcb2d7187381e697978833d54ce6633baa4d18494a55761006f7893b73ddfdfc6e0d068fe470559aa2febbd7dac401fbcad2bff9a959f61a71d1 + checksum: 9214be9717e3e704d836666d54abea0630d452c06f5fc59bf630e59e0303b21826f995a15b8085bfedb9ebce28fae5f26d1c3d96c1e90c6fd2c138280e9895da languageName: node linkType: hard -"@backstage/plugin-notifications-common@npm:^0.0.6": - version: 0.0.6 - resolution: "@backstage/plugin-notifications-common@npm:0.0.6" +"@backstage/plugin-notifications-common@npm:^0.0.8": + version: 0.0.8 + resolution: "@backstage/plugin-notifications-common@npm:0.0.8" dependencies: - "@backstage/config": ^1.3.0 + "@backstage/config": ^1.3.2 "@material-ui/icons": ^4.9.1 - checksum: 6ec6482ad805d2f8b8f35069b201ce0089ecd6cc5760bd0b53c61348c4ab295767a0325e4aa9121ac3df59c0c6da2ecf8b2a1c0ff1551190eac017e08f60f8d9 + checksum: 50e1cc1182ba0f964057b03708a52d1d0b0b2b8c40835b90a391a4594443f335cc1317b8e52fcb3b5abd5ff0bf8b5a00c8b561b9cfd5d5135a5721439b1581e5 languageName: node linkType: hard -"@backstage/plugin-notifications-node@npm:^0.2.8": - version: 0.2.9 - resolution: "@backstage/plugin-notifications-node@npm:0.2.9" +"@backstage/plugin-notifications-node@npm:^0.2.10": + version: 0.2.11 + resolution: "@backstage/plugin-notifications-node@npm:0.2.11" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-client": ^1.8.0 - "@backstage/catalog-model": ^1.7.1 - "@backstage/plugin-notifications-common": ^0.0.6 - "@backstage/plugin-signals-node": ^0.1.14 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/plugin-notifications-common": ^0.0.8 + "@backstage/plugin-signals-node": ^0.1.16 knex: ^3.0.0 - node-fetch: ^2.7.0 uuid: ^11.0.0 - checksum: 82c623b72ab6d2a1802696b873e241bb9753ab06536add365998ce7bcd291c72d9c82d4a35ae867383b6cfe4a183b1f590501f0f328cee8b48ec50478c129537 + checksum: 57c7ed4abadacc2dadec54d04456470a744160f8b00a5b771648e7f344b56b3ab7eed4894c41464c6e1ae7df6b9aaffe923d5d90bd23030419a9ce89dab90769 languageName: node linkType: hard -"@backstage/plugin-notifications@npm:0.3.2": - version: 0.3.2 - resolution: "@backstage/plugin-notifications@npm:0.3.2" - dependencies: - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-notifications-common": ^0.0.5 - "@backstage/plugin-signals-react": ^0.0.6 - "@backstage/theme": ^0.6.0 - "@backstage/types": ^1.1.1 +"@backstage/plugin-notifications@npm:0.5.0": + version: 0.5.0 + resolution: "@backstage/plugin-notifications@npm:0.5.0" + dependencies: + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-notifications-common": ^0.0.7 + "@backstage/plugin-signals-react": ^0.0.8 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.0 "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.61 @@ -7486,21 +7760,21 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 1b12356ca9860f85f81560af086bd3041ec9caee73b344c4bc209ed71c9d8795d47203c4a0ac3046b0c0e228086a469eebbae0ed7fe6f190be55def15d0edf8a + checksum: d76cff8cbc08602185e9aab67cef97a057f1a06d22201c61e31509662488d2ae5870f3126dd14b0f88d8513cc1b02e7d561c78e98bbdecd1808b158153ab11a0 languageName: node linkType: hard -"@backstage/plugin-org@npm:0.6.31": - version: 0.6.31 - resolution: "@backstage/plugin-org@npm:0.6.31" +"@backstage/plugin-org@npm:0.6.34": + version: 0.6.34 + resolution: "@backstage/plugin-org@npm:0.6.34" dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-react": ^1.14.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-react": ^1.15.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -7517,45 +7791,44 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 34b4bf6a7143a7011e72840a04848c6ac233b6e39ec5a0227eb4e4d2fdaa6e06a8988acb00e6c66a6f82799462f295577240a13882c2c9df0d8c3ffa001cd91d + checksum: 415baab8a980993abb99b0efa466e6ff37a7f96b5e9f1b9ba2d291869b86f251110ec4e9b26aef51109ab683e79727254a9d0a495ea67886dfc207c5b56b1f10 languageName: node linkType: hard "@backstage/plugin-permission-backend@npm:^0.5.50": - version: 0.5.50 - resolution: "@backstage/plugin-permission-backend@npm:0.5.50" + version: 0.5.53 + resolution: "@backstage/plugin-permission-backend@npm:0.5.53" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@types/express": "*" + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-permission-node": ^0.8.7 + "@types/express": ^4.17.6 dataloader: ^2.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 lodash: ^4.17.21 - node-fetch: ^2.7.0 yn: ^4.0.0 zod: ^3.22.4 - checksum: aba76547dc8a7831edd0300016fa754dee933bcf9ac435ddcd9859cb5a870f30b4ca0433349af31df9aad1c9c6ff0787f7feed5472228d6d0cb622c3c6aae532 + checksum: e2fced078b8b3d0de59cac3d1eb5c97fafd6f784df6551befa50c831d92c13d01b782198fa40bbe440217cd8e13bda4c7d21db2a7f3e1a10e0490666d01aec38 languageName: node linkType: hard -"@backstage/plugin-permission-common@npm:0.8.1": - version: 0.8.1 - resolution: "@backstage/plugin-permission-common@npm:0.8.1" +"@backstage/plugin-permission-common@npm:0.8.3": + version: 0.8.3 + resolution: "@backstage/plugin-permission-common@npm:0.8.3" dependencies: - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/types": ^1.1.1 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/types": ^1.2.0 cross-fetch: ^4.0.0 - uuid: ^9.0.0 + uuid: ^11.0.0 zod: ^3.22.4 zod-to-json-schema: ^3.20.4 - checksum: 00f71b998aecefcf413b335ef67897be2210f9cecb1f58bb28e466f68acd04276e3105f2e99ad242792dfd2902e4ae7ea023efb8cda92447aef92a10b83d87e5 + checksum: cd8c91a6ce615d5689c9eb53f457d5c5bb85ca104061bd83d9e2f177acd6810f840e532c0b4850d0466dc68ce41650e19df50f91e78ab35f9355bb76a0c4809e languageName: node linkType: hard @@ -7573,22 +7846,22 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-permission-common@npm:^0.8.0, @backstage/plugin-permission-common@npm:^0.8.1, @backstage/plugin-permission-common@npm:^0.8.2": - version: 0.8.2 - resolution: "@backstage/plugin-permission-common@npm:0.8.2" +"@backstage/plugin-permission-common@npm:^0.8.0, @backstage/plugin-permission-common@npm:^0.8.1, @backstage/plugin-permission-common@npm:^0.8.3, @backstage/plugin-permission-common@npm:^0.8.4": + version: 0.8.4 + resolution: "@backstage/plugin-permission-common@npm:0.8.4" dependencies: - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/types": ^1.2.0 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/types": ^1.2.1 cross-fetch: ^4.0.0 uuid: ^11.0.0 zod: ^3.22.4 zod-to-json-schema: ^3.20.4 - checksum: f58f205d255c41e39ed331ccb64e807a1ec7728bb7f32c406e52c4d1e4b5e9e2195aa73a1fccbe427c191b0db263f8aa64310dbf5862b4e3834f68a4591de8c3 + checksum: 9c61a0f7b89a7fe2dd19895e0d3dc3f3683b0ea78ef041ff82de465ea1f3cf49423524d0d62d2d585bca7c6a94763738a25dc0e9d6f948b916f3a193e30467cd languageName: node linkType: hard -"@backstage/plugin-permission-node@npm:^0.7.29": +"@backstage/plugin-permission-node@npm:^0.7.32": version: 0.7.32 resolution: "@backstage/plugin-permission-node@npm:0.7.32" dependencies: @@ -7607,32 +7880,32 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-permission-node@npm:^0.8.2, @backstage/plugin-permission-node@npm:^0.8.4, @backstage/plugin-permission-node@npm:^0.8.5": - version: 0.8.5 - resolution: "@backstage/plugin-permission-node@npm:0.8.5" +"@backstage/plugin-permission-node@npm:^0.8.2, @backstage/plugin-permission-node@npm:^0.8.4, @backstage/plugin-permission-node@npm:^0.8.5, @backstage/plugin-permission-node@npm:^0.8.6, @backstage/plugin-permission-node@npm:^0.8.7": + version: 0.8.7 + resolution: "@backstage/plugin-permission-node@npm:0.8.7" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/plugin-auth-node": ^0.5.4 - "@backstage/plugin-permission-common": ^0.8.2 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-permission-common": ^0.8.4 "@types/express": ^4.17.6 express: ^4.17.1 express-promise-router: ^4.1.0 zod: ^3.22.4 zod-to-json-schema: ^3.20.4 - checksum: c4c7cca3e4fdab09137f43914c02a98c82332e5e537752d96f90c44b019541ed52ddd0121e31ea398144a591efba8cb2cda678855ea445d72d816f54ee439834 + checksum: 2b4f6bc220fbc1389b7700260c0ab6110200071b1e6e762942e21483c071de7e07361e1442aadefe190f7772d4894b72bfda7eddf8469b3e9b226ec308909e8e languageName: node linkType: hard -"@backstage/plugin-permission-react@npm:0.4.27, @backstage/plugin-permission-react@npm:^0.4.27": - version: 0.4.27 - resolution: "@backstage/plugin-permission-react@npm:0.4.27" +"@backstage/plugin-permission-react@npm:0.4.29": + version: 0.4.29 + resolution: "@backstage/plugin-permission-react@npm:0.4.29" dependencies: - "@backstage/config": ^1.2.0 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/plugin-permission-common": ^0.8.1 + "@backstage/config": ^1.3.1 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/plugin-permission-common": ^0.8.3 swr: ^2.0.0 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7642,260 +7915,314 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 82e6ce34cd7634a08c61c3344840df295ef06b358cab93e3d42a0f304a9b8cbe635ca53a93b566889a1907d798149b1b9dc0ff82ecb9484c7f6ca4c314b6cb60 + checksum: 4fe663b2d46f54e4878f579306802c84f238611822b929d5099d527e97fa3211872c85a51cb3fefddcff0231b92ba6d70a25971a7119ada2a03126e76cd8c006 languageName: node linkType: hard -"@backstage/plugin-proxy-backend@npm:0.5.7": - version: 0.5.7 - resolution: "@backstage/plugin-proxy-backend@npm:0.5.7" +"@backstage/plugin-permission-react@npm:^0.4.27, @backstage/plugin-permission-react@npm:^0.4.29, @backstage/plugin-permission-react@npm:^0.4.30": + version: 0.4.30 + resolution: "@backstage/plugin-permission-react@npm:0.4.30" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/plugin-permission-common": ^0.8.4 + swr: ^2.0.0 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: f9833494ffb6154dea6d7aad45ce7cb71744b634877f7b430473830949a09f5f7468a3985bfe8dfbd25b1353672098a94093ccb3da247c644710527ff5ac67cb + languageName: node + linkType: hard + +"@backstage/plugin-proxy-backend@npm:0.5.9": + version: 0.5.9 + resolution: "@backstage/plugin-proxy-backend@npm:0.5.9" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/types": ^1.2.0 "@types/express": ^4.17.6 express: ^4.17.1 express-promise-router: ^4.1.0 http-proxy-middleware: ^2.0.0 morgan: ^1.10.0 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 yaml: ^2.0.0 yn: ^4.0.0 yup: ^1.0.0 - checksum: eddc73a722ef81a00fd23de336cb0028b167e826d5cc0b48b59926bfc8d1c48886bb41f952d897ac4f3e09835faa095a4a80bcc4055ca9c321c0da06e307f59c + checksum: 37b18fd8ae2ec0f9285a5d8bdb7ae4c4f6831101be57a46f8d10f9767bd409e6f3ff26c0a8c45999c48b59a255d75cc88c2d52fcb5bbf8b84bda37bed71d7a48 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-azure@npm:0.2.2, @backstage/plugin-scaffolder-backend-module-azure@npm:^0.2.1, @backstage/plugin-scaffolder-backend-module-azure@npm:^0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-scaffolder-backend-module-azure@npm:0.2.2" +"@backstage/plugin-scaffolder-backend-module-azure@npm:0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-scaffolder-backend-module-azure@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-node": ^0.6.2 azure-devops-node-api: ^14.0.0 yaml: ^2.0.0 - checksum: 6679a0cc2a83a4072678ba5aa41f71d3f31fdcdaa36ff7daa7a997679cc69ea74e5897e62593dea2cf11cc49bbdd5349c9bc598388379960643452af971d6878 + checksum: fa6d3632263c45ba5dbe4762e1a22a2cc5153f5c10903e39feae461962a6e1331f327ea2da04c17c6c540f105b1dc44c98077c14ca36fe616935cff47e7e28b3 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:0.2.2, @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:^0.2.1, @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:^0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:0.2.2" +"@backstage/plugin-scaffolder-backend-module-azure@npm:^0.2.4": + version: 0.2.5 + resolution: "@backstage/plugin-scaffolder-backend-module-azure@npm:0.2.5" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-bitbucket-cloud-common": ^0.2.25 - "@backstage/plugin-scaffolder-node": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-node": ^0.6.3 + azure-devops-node-api: ^14.0.0 + yaml: ^2.0.0 + checksum: d3e9554ccf3962977396528a56554add8938cb14f8b546fcf59d7fafa69c83489706603f7c42b78399de82909460ecf4cef459c516b08292c00efc2ab44a9fde + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:0.2.4" + dependencies: + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-bitbucket-cloud-common": ^0.2.26 + "@backstage/plugin-scaffolder-node": ^0.6.2 fs-extra: ^11.2.0 - node-fetch: ^2.7.0 yaml: ^2.0.0 - checksum: ba1ec92c31954537439107c61c4f548090f34129c9f19b35b68246073caa784264538892ab9865e11b8ca4a9ca4770b19d2bd6fd2e11fd9dd207b706c2378baf + checksum: c0eaff4b200ee9a7ddb0242465f38522baf37817f6c87d2740e043a77a10ce958589f7406214abb391233faed978af5934b6eea92c73e1820f48509b64921d3f languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:0.2.2, @backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:^0.2.1, @backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:^0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:0.2.2" +"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:^0.2.4, @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:^0.2.5": + version: 0.2.5 + resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud@npm:0.2.5" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-bitbucket-cloud-common": ^0.2.27 + "@backstage/plugin-scaffolder-node": ^0.6.3 fs-extra: ^11.2.0 - node-fetch: ^2.7.0 yaml: ^2.0.0 - checksum: 85c953545787be549051d702ce0e28c2dc9d450cc01bd0c829a3a81df39530af4dd1548b2870ab1264f535a3308602a195b496c562bb64853105231af4041277 + checksum: 99405779636a714a45d848d1f7f6a54909e921d7fb879ea758f009deaf3c3e3e1b83a19f2e2a54cb78e4febd5e0f50a509a1bf2aff8ae96ed0bb02c14f6feabc languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-bitbucket@npm:^0.3.1, @backstage/plugin-scaffolder-backend-module-bitbucket@npm:^0.3.2": - version: 0.3.2 - resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket@npm:0.3.2" +"@backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:0.2.4" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-node": ^0.6.2 fs-extra: ^11.2.0 - node-fetch: ^2.7.0 yaml: ^2.0.0 - checksum: e715ec9b25d512e5e8ebdb0c119654645151834b5e9d0593e2168b98bf1419b007ca28a5aba86e79c6cbf9a67581cce2e87255f47a9e2314f9ff4d1171195bca + checksum: 91adb87381d1e843867495ec4089922765ef35cd059f21260731dbf1fd6767ea3f2f7b077e8c111009c22d702406eb5686e09c6a57796cc8c48b8a722642cba8 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-gerrit@npm:0.2.2, @backstage/plugin-scaffolder-backend-module-gerrit@npm:^0.2.1, @backstage/plugin-scaffolder-backend-module-gerrit@npm:^0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-scaffolder-backend-module-gerrit@npm:0.2.2" +"@backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:^0.2.4, @backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:^0.2.5": + version: 0.2.5 + resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket-server@npm:0.2.5" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 - node-fetch: ^2.7.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-node": ^0.6.3 + fs-extra: ^11.2.0 yaml: ^2.0.0 - checksum: 2925e8ae26d6bd0eeb7382c18ba8daca66bf1506abde47c0f280b1004ae528d10436a52a893b0597dba683627fffe460de2832940e1eaf2c7e598dfaa73f8982 + checksum: d0b2fe15078ce4611bc8a80e695035612e55cdd527d64bd8277947a613f6c7e5b87cb3080523bf16ece864511395f7b0cc578920a48c0c60836f5a295ca5c288 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-gitea@npm:^0.2.1, @backstage/plugin-scaffolder-backend-module-gitea@npm:^0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-scaffolder-backend-module-gitea@npm:0.2.2" +"@backstage/plugin-scaffolder-backend-module-bitbucket@npm:^0.3.5": + version: 0.3.6 + resolution: "@backstage/plugin-scaffolder-backend-module-bitbucket@npm:0.3.6" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 - node-fetch: ^2.7.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.5 + "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.5 + "@backstage/plugin-scaffolder-node": ^0.6.3 + fs-extra: ^11.2.0 yaml: ^2.0.0 - checksum: f3192cfcba87e2caaf993d1762e45c95773ad8d69a0ec7885b33cea8584924ff893378bd8e484148747e6f9ad5b4ab9b5a6558a332d5505e6cb057cfd4b9e3a9 + checksum: f11fcd322da303db26b07693cff0ba5a59f92018cc80beca5e03fd43e52ca414242553509fd998101737a5c982a56599f3938c2b4bc32ba4664c24b07c31acb7 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-github@npm:0.5.2, @backstage/plugin-scaffolder-backend-module-github@npm:^0.5.1, @backstage/plugin-scaffolder-backend-module-github@npm:^0.5.2": - version: 0.5.2 - resolution: "@backstage/plugin-scaffolder-backend-module-github@npm:0.5.2" +"@backstage/plugin-scaffolder-backend-module-gerrit@npm:0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-scaffolder-backend-module-gerrit@npm:0.2.4" + dependencies: + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-node": ^0.6.2 + yaml: ^2.0.0 + checksum: fa304b238afefda5895769b5138819f1980caec2aa492da4af789f31f068f1f07c6b6015f89227cd267554eb5c0722f17c9381985a069b9ed1b96c2d66b233b5 + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-backend-module-gerrit@npm:^0.2.4": + version: 0.2.5 + resolution: "@backstage/plugin-scaffolder-backend-module-gerrit@npm:0.2.5" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-node": ^0.6.3 + yaml: ^2.0.0 + checksum: ecec88688e11d5715116a9ec3e944731752762385f6c0e2e1575a742df7fc9ce97038917bf7c580dfef6c948e9d3bbd0863f26d446f7c76d90042bc688aef151 + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-backend-module-gitea@npm:^0.2.4": + version: 0.2.5 + resolution: "@backstage/plugin-scaffolder-backend-module-gitea@npm:0.2.5" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-node": ^0.6.3 + yaml: ^2.0.0 + checksum: d4ea255e5aaf5d8a0ca4f10b84d7e7c04efa0afeb094e46b52e339788f2d1c6cff1392f3e2b4a8a255c4e1f04758e238fbd890f1d80ee0095e7bf5d4c28ce9cb + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-backend-module-github@npm:0.5.4": + version: 0.5.4 + resolution: "@backstage/plugin-scaffolder-backend-module-github@npm:0.5.4" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-client": ^1.8.0 - "@backstage/catalog-model": ^1.7.1 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-node": ^0.6.2 "@octokit/webhooks": ^10.9.2 libsodium-wrappers: ^0.7.11 octokit: ^3.0.0 octokit-plugin-create-pull-request: ^5.0.0 yaml: ^2.0.0 - checksum: 7d056fad4d3540c7837dbcf5782b2a607937d47e8d165353890c0e42110710edacacd87495f1b8584682527c1331e1ba833c073074aaa11257b7a087e80dd9b8 + checksum: 8659cd41d9135ee235fc637239b2e4dfac381cfacd7d5581f69aa41462e424cbe9249ff9138819349836bc238569b2346f3bdebe10a6d898f962112b23c73204 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend-module-gitlab@npm:0.6.1, @backstage/plugin-scaffolder-backend-module-gitlab@npm:^0.6.0, @backstage/plugin-scaffolder-backend-module-gitlab@npm:^0.6.1": - version: 0.6.1 - resolution: "@backstage/plugin-scaffolder-backend-module-gitlab@npm:0.6.1" +"@backstage/plugin-scaffolder-backend-module-github@npm:^0.5.4": + version: 0.5.5 + resolution: "@backstage/plugin-scaffolder-backend-module-github@npm:0.5.5" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-node": ^0.6.0 - "@gitbeaker/core": ^35.8.0 - "@gitbeaker/node": ^35.8.0 - "@gitbeaker/rest": ^39.25.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-node": ^0.6.3 + "@octokit/webhooks": ^10.9.2 + libsodium-wrappers: ^0.7.11 + octokit: ^3.0.0 + octokit-plugin-create-pull-request: ^5.0.0 + yaml: ^2.0.0 + checksum: b83d5de5140cd1937c6e1b46b8d59731345546a1c61d5d86fefd26561d4530fec64d8ee0146665a5b7f9dffc89fd9b8d5cb5c58e6019ea3ca92d52749ed2b139 + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-backend-module-gitlab@npm:0.7.0": + version: 0.7.0 + resolution: "@backstage/plugin-scaffolder-backend-module-gitlab@npm:0.7.0" + dependencies: + "@backstage/backend-common": ^0.25.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-node": ^0.6.2 + "@gitbeaker/rest": ^41.2.0 luxon: ^3.0.0 winston: ^3.2.1 yaml: ^2.0.0 zod: ^3.22.4 - checksum: efafb3c61beebacc0c732e6b2b995d3fe5d6956db0d604886d8afee12059c8a4699a8b2ba4db54e7b5a4abec1f7b34fdcb9e6484d102272dfc241173e67fcb88 + checksum: f1d8e2116769cecb169d9142087dddf2c9a5be5842dff6f4d16db0885ae90dbf48a236de7c126a76459b8d3accc56bda66dd8af863e34c39a2eefb6b0bc06229 languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend@npm:1.26.2": - version: 1.26.2 - resolution: "@backstage/plugin-scaffolder-backend@npm:1.26.2" +"@backstage/plugin-scaffolder-backend-module-gitlab@npm:^0.7.0": + version: 0.7.1 + resolution: "@backstage/plugin-scaffolder-backend-module-gitlab@npm:0.7.1" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-bitbucket-cloud-common": ^0.2.24 - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": ^0.2.1 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-scaffolder-backend-module-azure": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-bitbucket": ^0.3.1 - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-gerrit": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-gitea": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-github": ^0.5.1 - "@backstage/plugin-scaffolder-backend-module-gitlab": ^0.6.0 - "@backstage/plugin-scaffolder-common": ^1.5.6 - "@backstage/plugin-scaffolder-node": ^0.5.0 - "@backstage/types": ^1.1.1 - "@opentelemetry/api": ^1.3.0 - "@types/express": ^4.17.6 - "@types/luxon": ^3.0.0 - concat-stream: ^2.0.0 - express: ^4.17.1 - express-promise-router: ^4.1.0 - fs-extra: ^11.2.0 - globby: ^11.0.0 - isbinaryfile: ^5.0.0 - isolated-vm: ^4.5.0 - jsonschema: ^1.2.6 - knex: ^3.0.0 - lodash: ^4.17.21 - logform: ^2.3.2 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-node": ^0.6.3 + "@gitbeaker/rest": ^41.2.0 luxon: ^3.0.0 - nunjucks: ^3.2.3 - p-limit: ^3.1.0 - p-queue: ^6.6.2 - prom-client: ^15.0.0 - tar: ^6.1.12 - triple-beam: ^1.4.1 - uuid: ^9.0.0 winston: ^3.2.1 - winston-transport: ^4.7.0 yaml: ^2.0.0 - zen-observable: ^0.10.0 zod: ^3.22.4 - checksum: 4809d653e2dfdab5dda61f339e7f782d75b496ac3228555902355cb52e4326ffd3bdc3f65aac702ddc134fbefa6af0f5570cb0c2609ea13d6b59a7a94c6dd2e8 + checksum: f006a6ee0c9b594341ece5bde5d0c17815edcbcc331209b658a38ccd19d44acc04007b2261f3e3df755f87c8b9a2359fdfd8bf73d27a4945e547f271101cae3d languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend@npm:1.26.3": - version: 1.26.3 - resolution: "@backstage/plugin-scaffolder-backend@npm:1.26.3" +"@backstage/plugin-scaffolder-backend@npm:1.28.0": + version: 1.28.0 + resolution: "@backstage/plugin-scaffolder-backend@npm:1.28.0" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-bitbucket-cloud-common": ^0.2.24 - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": ^0.2.1 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-scaffolder-backend-module-azure": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket": ^0.3.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-gerrit": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-gitea": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-github": ^0.5.2 - "@backstage/plugin-scaffolder-backend-module-gitlab": ^0.6.1 - "@backstage/plugin-scaffolder-common": ^1.5.6 - "@backstage/plugin-scaffolder-node": ^0.5.1 - "@backstage/types": ^1.1.1 - "@opentelemetry/api": ^1.3.0 + "@backstage/backend-defaults": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-bitbucket-cloud-common": ^0.2.26 + "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": ^0.2.3 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/plugin-scaffolder-backend-module-azure": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-bitbucket": ^0.3.5 + "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-gerrit": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-gitea": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-github": ^0.5.4 + "@backstage/plugin-scaffolder-backend-module-gitlab": ^0.7.0 + "@backstage/plugin-scaffolder-common": ^1.5.8 + "@backstage/plugin-scaffolder-node": ^0.6.2 + "@backstage/types": ^1.2.0 + "@opentelemetry/api": ^1.9.0 "@types/express": ^4.17.6 "@types/luxon": ^3.0.0 concat-stream: ^2.0.0 @@ -7904,7 +8231,7 @@ __metadata: fs-extra: ^11.2.0 globby: ^11.0.0 isbinaryfile: ^5.0.0 - isolated-vm: ^4.5.0 + isolated-vm: ^5.0.1 jsonschema: ^1.2.6 knex: ^3.0.0 lodash: ^4.17.21 @@ -7916,46 +8243,47 @@ __metadata: prom-client: ^15.0.0 tar: ^6.1.12 triple-beam: ^1.4.1 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 winston-transport: ^4.7.0 yaml: ^2.0.0 zen-observable: ^0.10.0 zod: ^3.22.4 - checksum: 40654b0b013069239decbba96e12b3e4a9be1d91dc18eed931b9c5c02ac7ab908c474c6d1fe11238025598250b997facc0ca87df72f63375408680008b3eb39a + checksum: af82bde65c80b198baacd892abb7e3177ffaad4a041501f46e2e12f719ba837c95336861d03d0b78e8ad96288b97dff2a7201c71a9d0dfd325554ebc1807cf7e languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend@npm:^1.26.1": - version: 1.27.0 - resolution: "@backstage/plugin-scaffolder-backend@npm:1.27.0" +"@backstage/plugin-scaffolder-backend@patch:@backstage/plugin-scaffolder-backend@npm%3A1.28.0#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch::locator=root%40workspace%3A.": + version: 1.28.0 + resolution: "@backstage/plugin-scaffolder-backend@patch:@backstage/plugin-scaffolder-backend@npm%3A1.28.0#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.28.0-ae25c77a68.patch::version=1.28.0&hash=417bec&locator=root%40workspace%3A." dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.3 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-client": ^1.8.0 - "@backstage/catalog-model": ^1.7.1 - "@backstage/config": ^1.3.0 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-auth-node": ^0.5.4 - "@backstage/plugin-bitbucket-cloud-common": ^0.2.25 - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": ^0.2.2 - "@backstage/plugin-catalog-node": ^1.14.0 - "@backstage/plugin-permission-common": ^0.8.2 - "@backstage/plugin-permission-node": ^0.8.5 - "@backstage/plugin-scaffolder-backend-module-azure": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket": ^0.3.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-gerrit": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-gitea": ^0.2.2 - "@backstage/plugin-scaffolder-backend-module-github": ^0.5.2 - "@backstage/plugin-scaffolder-backend-module-gitlab": ^0.6.1 - "@backstage/plugin-scaffolder-common": ^1.5.7 - "@backstage/plugin-scaffolder-node": ^0.6.0 + "@backstage/backend-defaults": ^0.6.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-bitbucket-cloud-common": ^0.2.26 + "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": ^0.2.3 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/plugin-scaffolder-backend-module-azure": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-bitbucket": ^0.3.5 + "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-gerrit": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-gitea": ^0.2.4 + "@backstage/plugin-scaffolder-backend-module-github": ^0.5.4 + "@backstage/plugin-scaffolder-backend-module-gitlab": ^0.7.0 + "@backstage/plugin-scaffolder-common": ^1.5.8 + "@backstage/plugin-scaffolder-node": ^0.6.2 "@backstage/types": ^1.2.0 - "@opentelemetry/api": ^1.3.0 + "@opentelemetry/api": ^1.9.0 "@types/express": ^4.17.6 "@types/luxon": ^3.0.0 concat-stream: ^2.0.0 @@ -7982,92 +8310,57 @@ __metadata: yaml: ^2.0.0 zen-observable: ^0.10.0 zod: ^3.22.4 - checksum: 3f0453620b6a9ad33b1f525a4f70a2b3c740bea92c3794b3470a77ba417d80d6a22422f8859425f669611203c328a233a89b353ff449a5e7929bba9b49be2529 + checksum: dbfc42bd51826f079a1450cf7f8a7af1fb38fe2ab510740321e8989aabe3c9fd868bd8e5addd0a227e0c2271e28156a8acd3ae436d40c230464ab7111e5f9e8b + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-common@npm:^1.5.8, @backstage/plugin-scaffolder-common@npm:^1.5.9": + version: 1.5.9 + resolution: "@backstage/plugin-scaffolder-common@npm:1.5.9" + dependencies: + "@backstage/catalog-model": ^1.7.3 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/types": ^1.2.1 + checksum: e192066677d2a7d1dfe4870476043015018062e7b68020bd00e1eefa84142367626c85effe0777143c01afd0d5c978942fcbb12e598bcfdff5cbee3965713a5e languageName: node linkType: hard -"@backstage/plugin-scaffolder-backend@patch:@backstage/plugin-scaffolder-backend@npm%3A1.26.2#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch::locator=root%40workspace%3A.": - version: 1.26.2 - resolution: "@backstage/plugin-scaffolder-backend@patch:@backstage/plugin-scaffolder-backend@npm%3A1.26.2#./.yarn/patches/@backstage-plugin-scaffolder-backend-npm-1.26.2.patch::version=1.26.2&hash=6b554f&locator=root%40workspace%3A." +"@backstage/plugin-scaffolder-node@npm:0.6.2": + version: 0.6.2 + resolution: "@backstage/plugin-scaffolder-node@npm:0.6.2" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-bitbucket-cloud-common": ^0.2.24 - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": ^0.2.1 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-scaffolder-backend-module-azure": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-bitbucket": ^0.3.1 - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-gerrit": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-gitea": ^0.2.1 - "@backstage/plugin-scaffolder-backend-module-github": ^0.5.1 - "@backstage/plugin-scaffolder-backend-module-gitlab": ^0.6.0 - "@backstage/plugin-scaffolder-common": ^1.5.6 - "@backstage/plugin-scaffolder-node": ^0.5.0 - "@backstage/types": ^1.1.1 - "@opentelemetry/api": ^1.3.0 - "@types/express": ^4.17.6 - "@types/luxon": ^3.0.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-common": ^1.5.8 + "@backstage/types": ^1.2.0 concat-stream: ^2.0.0 - express: ^4.17.1 - express-promise-router: ^4.1.0 fs-extra: ^11.2.0 globby: ^11.0.0 - isbinaryfile: ^5.0.0 - isolated-vm: ^4.5.0 + isomorphic-git: ^1.23.0 jsonschema: ^1.2.6 - knex: ^3.0.0 - lodash: ^4.17.21 - logform: ^2.3.2 - luxon: ^3.0.0 - nunjucks: ^3.2.3 p-limit: ^3.1.0 - p-queue: ^6.6.2 - prom-client: ^15.0.0 tar: ^6.1.12 - triple-beam: ^1.4.1 - uuid: ^9.0.0 winston: ^3.2.1 - winston-transport: ^4.7.0 - yaml: ^2.0.0 - zen-observable: ^0.10.0 zod: ^3.22.4 - checksum: 2c62cbb90cd168b209505c18686bd9b6a78b2e8f74daf83b0a4d5f26f9431c4a075366899c7a4b527c2b8561630105d883ffc22e60f5c1925a159dffd086adec - languageName: node - linkType: hard - -"@backstage/plugin-scaffolder-common@npm:^1.5.6, @backstage/plugin-scaffolder-common@npm:^1.5.7": - version: 1.5.7 - resolution: "@backstage/plugin-scaffolder-common@npm:1.5.7" - dependencies: - "@backstage/catalog-model": ^1.7.1 - "@backstage/plugin-permission-common": ^0.8.2 - "@backstage/types": ^1.2.0 - checksum: b2a61bc0a0d2a74052c44f895098d6d69db9c7b3b7e288ebc443154f42035a87e53fdea7981edc97fee336417dd148103734f4d879082b4c9b577ab5c0665c7e + zod-to-json-schema: ^3.20.4 + checksum: ab743ee3fd716063794bf1e4f46944241bdc917230da94106c467d06eebb5114f954fb96845961de1e6bebd21f426977da320592afd6ea64efa43a71a987fb0a languageName: node linkType: hard -"@backstage/plugin-scaffolder-node@npm:0.6.1": - version: 0.6.1 - resolution: "@backstage/plugin-scaffolder-node@npm:0.6.1" +"@backstage/plugin-scaffolder-node@npm:^0.6.3": + version: 0.6.3 + resolution: "@backstage/plugin-scaffolder-node@npm:0.6.3" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-model": ^1.7.1 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-common": ^1.5.7 - "@backstage/types": ^1.2.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/plugin-scaffolder-common": ^1.5.9 + "@backstage/types": ^1.2.1 concat-stream: ^2.0.0 fs-extra: ^11.2.0 globby: ^11.0.0 @@ -8078,20 +8371,20 @@ __metadata: winston: ^3.2.1 zod: ^3.22.4 zod-to-json-schema: ^3.20.4 - checksum: 6a664bd87cdfc93b34bdf54bbdfc4506660d6f7ce38564818188d05c0b710143206b350cc4fc8aa2ab548a62d7bf7434a27731695450d590d52595f3f3e6bb6f + checksum: 54b753f5dd49f67a6b09d6dfef3fdb2d68301e04c3e04c9c3dfda022d1a1ff1ae29c70f26d7967d411dfcc31c11493e681e5343c8e885b22ff8060a4018ef3eb languageName: node linkType: hard -"@backstage/plugin-scaffolder-node@patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch::locator=root%40workspace%3A.": - version: 0.6.1 - resolution: "@backstage/plugin-scaffolder-node@patch:@backstage/plugin-scaffolder-node@npm%3A0.6.1#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.1-a2cc13065e.patch::version=0.6.1&hash=bebc95&locator=root%40workspace%3A." +"@backstage/plugin-scaffolder-node@patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch::locator=root%40workspace%3A.": + version: 0.6.2 + resolution: "@backstage/plugin-scaffolder-node@patch:@backstage/plugin-scaffolder-node@npm%3A0.6.2#./.yarn/patches/@backstage-plugin-scaffolder-node-npm-0.6.2-8258f2ba9a.patch::version=0.6.2&hash=46ee32&locator=root%40workspace%3A." dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/catalog-model": ^1.7.1 - "@backstage/errors": ^1.2.5 - "@backstage/integration": ^1.15.2 - "@backstage/plugin-scaffolder-common": ^1.5.7 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-scaffolder-common": ^1.5.8 "@backstage/types": ^1.2.0 concat-stream: ^2.0.0 fs-extra: ^11.2.0 @@ -8103,37 +8396,87 @@ __metadata: winston: ^3.2.1 zod: ^3.22.4 zod-to-json-schema: ^3.20.4 - checksum: c89f6bc58a4ce97ec632be2d533cdfc49df0f67fb04511c2541ad8a2cd187223f800b842b90d63dddfebc367e443e23621a18209dbfbd7a82d548e9c60058ace + checksum: 5eb689790f0a1f1a3489b9d6d21e04ea5f7ceea544a52ae65f06a767b1d63a70af8477e84e5d54a75a29212e94fdc7649d6600d713802f200415bb534cdae880 languageName: node linkType: hard -"@backstage/plugin-scaffolder-react@npm:1.13.2, @backstage/plugin-scaffolder-react@npm:^1.13.2": - version: 1.13.2 - resolution: "@backstage/plugin-scaffolder-react@npm:1.13.2" +"@backstage/plugin-scaffolder-react@npm:1.14.2": + version: 1.14.2 + resolution: "@backstage/plugin-scaffolder-react@npm:1.14.2" dependencies: - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-permission-react": ^0.4.27 - "@backstage/plugin-scaffolder-common": ^1.5.6 - "@backstage/theme": ^0.6.0 - "@backstage/types": ^1.1.1 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-permission-react": ^0.4.29 + "@backstage/plugin-scaffolder-common": ^1.5.8 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.0 "@backstage/version-bridge": ^1.0.10 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@react-hookz/web": ^24.0.0 - "@rjsf/core": 5.21.2 - "@rjsf/material-ui": 5.21.2 - "@rjsf/utils": 5.21.2 - "@rjsf/validator-ajv8": 5.21.2 + "@rjsf/core": 5.23.1 + "@rjsf/material-ui": 5.23.1 + "@rjsf/utils": 5.23.1 + "@rjsf/validator-ajv8": 5.23.1 + "@types/json-schema": ^7.0.9 + ajv-errors: ^3.0.0 + classnames: ^2.2.6 + flatted: 3.3.2 + humanize-duration: ^3.25.1 + json-schema: ^0.4.0 + json-schema-library: ^9.0.0 + lodash: ^4.17.21 + luxon: ^3.0.0 + qs: ^6.9.4 + react-use: ^17.2.4 + use-immer: ^0.10.0 + zen-observable: ^0.10.0 + zod: ^3.22.4 + zod-to-json-schema: ^3.20.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 4d17c955e0ab6da2b23499c48a1a8952a7fd69f639304f48c8f04554e4526236e0cc93bb22b276ef77661d4d4da996515154f881e345e392017159aa46812c2a + languageName: node + linkType: hard + +"@backstage/plugin-scaffolder-react@npm:^1.14.2": + version: 1.14.3 + resolution: "@backstage/plugin-scaffolder-react@npm:1.14.3" + dependencies: + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/plugin-catalog-react": ^1.15.1 + "@backstage/plugin-permission-react": ^0.4.30 + "@backstage/plugin-scaffolder-common": ^1.5.9 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.1 + "@backstage/version-bridge": ^1.0.10 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + "@react-hookz/web": ^24.0.0 + "@rjsf/core": 5.23.2 + "@rjsf/material-ui": 5.23.2 + "@rjsf/utils": 5.23.2 + "@rjsf/validator-ajv8": 5.23.2 "@types/json-schema": ^7.0.9 ajv-errors: ^3.0.0 classnames: ^2.2.6 - flatted: 3.3.1 + flatted: 3.3.2 humanize-duration: ^3.25.1 json-schema: ^0.4.0 json-schema-library: ^9.0.0 @@ -8153,29 +8496,29 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: fa95da8e244100f9dd68a7bae22fff4f7dffa8fc7007016c0fec665149c3c98b53e830dfabe171c5718293b3e34af5ec83849e096bebbdd03d1e293cbe9347fa + checksum: 7d7ccf4c4258610770277816269dd9409e2c0e72a4da1cb90cc688a73f70824e4250748e57fc3b11672d68fbe64a12825e1b7d32b37fbfacf704c12ad20823f0 languageName: node linkType: hard -"@backstage/plugin-scaffolder@npm:1.26.2": - version: 1.26.2 - resolution: "@backstage/plugin-scaffolder@npm:1.26.2" +"@backstage/plugin-scaffolder@npm:1.27.3": + version: 1.27.3 + resolution: "@backstage/plugin-scaffolder@npm:1.27.3" dependencies: - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/integration": ^1.15.1 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-permission-react": ^0.4.27 - "@backstage/plugin-scaffolder-common": ^1.5.6 - "@backstage/plugin-scaffolder-react": ^1.13.2 - "@backstage/types": ^1.1.1 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/integration": ^1.16.0 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-permission-react": ^0.4.29 + "@backstage/plugin-scaffolder-common": ^1.5.8 + "@backstage/plugin-scaffolder-react": ^1.14.2 + "@backstage/types": ^1.2.0 "@codemirror/language": ^6.0.0 "@codemirror/legacy-modes": ^6.1.0 "@codemirror/view": ^6.0.0 @@ -8184,15 +8527,15 @@ __metadata: "@material-ui/lab": 4.0.0-alpha.61 "@microsoft/fetch-event-source": ^2.0.1 "@react-hookz/web": ^24.0.0 - "@rjsf/core": 5.21.2 - "@rjsf/material-ui": 5.21.2 - "@rjsf/utils": 5.21.2 - "@rjsf/validator-ajv8": 5.21.2 + "@rjsf/core": 5.23.1 + "@rjsf/material-ui": 5.23.1 + "@rjsf/utils": 5.23.1 + "@rjsf/validator-ajv8": 5.23.1 "@uiw/react-codemirror": ^4.9.3 classnames: ^2.2.6 git-url-parse: ^15.0.0 humanize-duration: ^3.25.1 - idb-keyval: 5.0.2 + idb-keyval: 5.1.5 json-schema: ^0.4.0 json-schema-library: ^9.0.0 jszip: ^3.10.1 @@ -8214,101 +8557,138 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 3c8685611428c8d6df7c7b8aaef0b027d244f2634ff5c4da8eb37dd9440a40e9c3fe75440c190bfd5f0c4016722338a3df9eced3ab9dccfba265db8c6147cceb + checksum: 81311c50fabdd06e91949e3aceea68c7961c0f80467c8e083fcbc4f088a3ca8dc0ffd0b4be46e2637f70b8d2d57517d61e804c2e2cc75a9b8f6c6baf5de305e9 languageName: node linkType: hard -"@backstage/plugin-search-backend-module-catalog@npm:0.2.4, @backstage/plugin-search-backend-module-catalog@npm:^0.2.4": - version: 0.2.4 - resolution: "@backstage/plugin-search-backend-module-catalog@npm:0.2.4" +"@backstage/plugin-search-backend-module-catalog@npm:0.2.6, @backstage/plugin-search-backend-module-catalog@npm:^0.2.6": + version: 0.2.6 + resolution: "@backstage/plugin-search-backend-module-catalog@npm:0.2.6" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-search-backend-node": ^1.3.4 - "@backstage/plugin-search-common": ^1.2.14 - checksum: 53ec60ec578098823c79da5f6ad322d2822c03a28d3218309065824fb5fd0d1ca7ce58f0b0c0664432f3d7c435135736948a17a10b3694f6a5995502c44b372f + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-search-backend-node": ^1.3.6 + "@backstage/plugin-search-common": ^1.2.16 + checksum: 06af6b448cb67fbd1b6f6d4870b0869a641d76b7b33ed8fd9d709767143f292d0d6cda8a93c699bace09611aeef8fa783db0604f7dbeb5e72c59c848fd549e1a + languageName: node + linkType: hard + +"@backstage/plugin-search-backend-module-catalog@npm:^0.3.0": + version: 0.3.0 + resolution: "@backstage/plugin-search-backend-module-catalog@npm:0.3.0" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-search-backend-node": ^1.3.7 + "@backstage/plugin-search-common": ^1.2.17 + checksum: b77505e12db663ae6f920349ca2b392addeff69ccc0eccb78da1c2e24e3b5bd691dbe7317c90a76bdd4ce31c97f84efa5bedb081a313967b5c2a291c0d5af56c languageName: node linkType: hard -"@backstage/plugin-search-backend-module-pg@npm:0.5.37": - version: 0.5.37 - resolution: "@backstage/plugin-search-backend-module-pg@npm:0.5.37" +"@backstage/plugin-search-backend-module-pg@npm:0.5.39": + version: 0.5.39 + resolution: "@backstage/plugin-search-backend-module-pg@npm:0.5.39" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/plugin-search-backend-node": ^1.3.4 - "@backstage/plugin-search-common": ^1.2.14 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/plugin-search-backend-node": ^1.3.6 + "@backstage/plugin-search-common": ^1.2.16 knex: ^3.0.0 lodash: ^4.17.21 - uuid: ^9.0.0 - checksum: c9fb82e51b0e6e499cbd38df12da380b0e0a3e58d274d6bcc339f320eca381600dba621fa80cb466d5a4349ede566fd2c12c01653d15130d55bb4858c7132997 + uuid: ^11.0.0 + checksum: ee59838a97ab3299ca0a69e01c05a69e76103da1076b83eb3c388c8a82dcc485ff147a54b2591fc6b702f014d87612082889dca253c5eb81a0a326b203559678 languageName: node linkType: hard -"@backstage/plugin-search-backend-module-techdocs@npm:0.3.1, @backstage/plugin-search-backend-module-techdocs@npm:^0.3.1": - version: 0.3.1 - resolution: "@backstage/plugin-search-backend-module-techdocs@npm:0.3.1" +"@backstage/plugin-search-backend-module-techdocs@npm:0.3.4": + version: 0.3.4 + resolution: "@backstage/plugin-search-backend-module-techdocs@npm:0.3.4" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-search-backend-node": ^1.3.4 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/plugin-techdocs-node": ^1.12.12 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-search-backend-node": ^1.3.6 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/plugin-techdocs-node": ^1.12.15 lodash: ^4.17.21 - node-fetch: ^2.7.0 p-limit: ^3.1.0 - checksum: dc7251baf5caccdf5d167c487a5c53239ba43f5717dd923b694fc4c7ce01c75e41b40299ece41ea912113ddb6ea2395f7e5f8d05c60d95d7e937ac491413d71d + checksum: 3f023972267b62a1571c1eb385ce6412c9c910963364026c528aebc2dc6356310f4f41288b5f8330e7b04ff3d4fe30271493f04b72e85c84b343a44bd59d78e6 languageName: node linkType: hard -"@backstage/plugin-search-backend-node@npm:^1.3.4": - version: 1.3.4 - resolution: "@backstage/plugin-search-backend-node@npm:1.3.4" +"@backstage/plugin-search-backend-module-techdocs@npm:^0.3.4": + version: 0.3.5 + resolution: "@backstage/plugin-search-backend-module-techdocs@npm:0.3.5" dependencies: - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-search-common": ^1.2.14 + "@backstage/backend-common": ^0.25.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-client": ^1.9.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/plugin-catalog-common": ^1.1.3 + "@backstage/plugin-catalog-node": ^1.15.1 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-search-backend-node": ^1.3.7 + "@backstage/plugin-search-common": ^1.2.17 + "@backstage/plugin-techdocs-node": ^1.12.16 + lodash: ^4.17.21 + p-limit: ^3.1.0 + checksum: 2f3c81a2b853c1fa195625b2158c214794b698e9d031cedc977b70f80267e2eb365c0de2fca969c70bb3816a47f2efa3afc68d819bc8af003821c1cb60cd5ba0 + languageName: node + linkType: hard + +"@backstage/plugin-search-backend-node@npm:^1.3.6, @backstage/plugin-search-backend-node@npm:^1.3.7": + version: 1.3.7 + resolution: "@backstage/plugin-search-backend-node@npm:1.3.7" + dependencies: + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-search-common": ^1.2.17 "@types/lunr": ^2.3.3 lodash: ^4.17.21 lunr: ^2.3.9 ndjson: ^2.0.0 - uuid: ^9.0.0 - checksum: 8ab466bb33e9231332b03f4ea196c851fe8f98a90c52802f21ef6338a4ec8c21c6ec9d7b7f23af40b7e4b9aa03455e4872216bb513c05fc1850d7fa4da1707cf + uuid: ^11.0.0 + checksum: b97b065941ccd188c664841bf60a7487564f258e56cd7b2d19d3cacfc22ef4138b8f52dbc52e7aa81fb4308dde070e83362a0defea883a55337423e9d3cda6ba languageName: node linkType: hard -"@backstage/plugin-search-backend@npm:1.6.1": - version: 1.6.1 - resolution: "@backstage/plugin-search-backend@npm:1.6.1" +"@backstage/plugin-search-backend@npm:1.8.0": + version: 1.8.0 + resolution: "@backstage/plugin-search-backend@npm:1.8.0" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-defaults": ^0.5.2 - "@backstage/backend-openapi-utils": ^0.2.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-node": ^0.8.4 - "@backstage/plugin-search-backend-node": ^1.3.4 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/types": ^1.1.1 + "@backstage/backend-defaults": ^0.6.0 + "@backstage/backend-openapi-utils": ^0.4.0 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-node": ^0.8.6 + "@backstage/plugin-search-backend-node": ^1.3.6 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/types": ^1.2.0 "@types/express": ^4.17.6 dataloader: ^2.0.0 express: ^4.17.1 @@ -8316,21 +8696,21 @@ __metadata: qs: ^6.10.1 yn: ^4.0.0 zod: ^3.22.4 - checksum: a7930909a4ecaad5ca4af14e8405eb469b27eb0a0d6ebe364ba36e73de76d7fe7363f356f962c7bc28140a8e905cd64e1971dc380fe71f063d5cc168a04605fb + checksum: 0ff0249ea09c36490534e03b8a320084832afa33a67830ef76e675da623ec7a51933175cdcfc5e4d51209f82ffc4a4bafefcd55894a6f4bb0deafd65f0285028 languageName: node linkType: hard -"@backstage/plugin-search-common@npm:^1.2.14, @backstage/plugin-search-common@npm:^1.2.15": - version: 1.2.15 - resolution: "@backstage/plugin-search-common@npm:1.2.15" +"@backstage/plugin-search-common@npm:^1.2.14, @backstage/plugin-search-common@npm:^1.2.16, @backstage/plugin-search-common@npm:^1.2.17": + version: 1.2.17 + resolution: "@backstage/plugin-search-common@npm:1.2.17" dependencies: - "@backstage/plugin-permission-common": ^0.8.2 - "@backstage/types": ^1.2.0 - checksum: 9ea3aafef93074a59127a3e775f82fca1358d330524312c64baaca921baa85e5d80a4042ede050e492ef43c9b6ff9f6eb0a4ea81cb40e09f38834dfc1b57cd57 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/types": ^1.2.1 + checksum: 014ac5b4002daa36d2e3c8096d4f64d1ccc9a2b7733de43b6e95bae59e3eaa4f3d32f675b7c02b36b6fbb3c9a3828803fcd4b415bb930db1ac7da5976251de7e languageName: node linkType: hard -"@backstage/plugin-search-react@npm:1.8.1, @backstage/plugin-search-react@npm:^1.8.1": +"@backstage/plugin-search-react@npm:1.8.1": version: 1.8.1 resolution: "@backstage/plugin-search-react@npm:1.8.1" dependencies: @@ -8359,19 +8739,79 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-search@npm:1.4.18": - version: 1.4.18 - resolution: "@backstage/plugin-search@npm:1.4.18" +"@backstage/plugin-search-react@npm:1.8.4": + version: 1.8.4 + resolution: "@backstage/plugin-search-react@npm:1.8.4" dependencies: - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/plugin-search-react": ^1.8.1 - "@backstage/types": ^1.1.1 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.0 + "@backstage/version-bridge": ^1.0.10 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + lodash: ^4.17.21 + qs: ^6.9.4 + react-use: ^17.3.2 + uuid: ^11.0.2 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: e79ca8653fc148cdacd5dcc2cd846f3871989e332fbec329e2dcfea72a8f04d586117d7dadef4d4a85ccb97b3406a64ae31a3d6557839ef49b22019563879de9 + languageName: node + linkType: hard + +"@backstage/plugin-search-react@npm:^1.8.1, @backstage/plugin-search-react@npm:^1.8.4, @backstage/plugin-search-react@npm:^1.8.5": + version: 1.8.5 + resolution: "@backstage/plugin-search-react@npm:1.8.5" + dependencies: + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/frontend-plugin-api": ^0.9.4 + "@backstage/plugin-search-common": ^1.2.17 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.1 + "@backstage/version-bridge": ^1.0.10 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.61 + lodash: ^4.17.21 + qs: ^6.9.4 + react-use: ^17.3.2 + uuid: ^11.0.2 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 7eb690cf8e4960b624de2c7d77d8eaaf13cb5656ced57031c082468664d605b8ab7b09feeb5b988b505c8b686d4b0b31ef7887b422503efa4d9fff5c1a9a7280 + languageName: node + linkType: hard + +"@backstage/plugin-search@npm:1.4.21": + version: 1.4.21 + resolution: "@backstage/plugin-search@npm:1.4.21" + dependencies: + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/plugin-search-react": ^1.8.4 + "@backstage/types": ^1.2.0 "@backstage/version-bridge": ^1.0.10 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 @@ -8385,73 +8825,71 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: e1fc589f68b850ed601ec5f8a401bb4157aee02c0caee84698ebaa1f6f4e7b17559002dc642603eda35a85ad38958038cd2b45547f761fb2897b241ef9c6c9a6 + checksum: 93f2ff7b183ef3a5a668f094a1fdff10cd5133204effe42dbb52c9ef66b21821ca08c34380cfb9428f93f9dfa822a51d1f9b04ef8d497dfed69541a2b020248c languageName: node linkType: hard -"@backstage/plugin-signals-backend@npm:0.2.2": - version: 0.2.2 - resolution: "@backstage/plugin-signals-backend@npm:0.2.2" +"@backstage/plugin-signals-backend@npm:0.2.4": + version: 0.2.4 + resolution: "@backstage/plugin-signals-backend@npm:0.2.4" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/plugin-signals-node": ^0.1.13 - "@backstage/types": ^1.1.1 - "@types/express": "*" + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/plugin-signals-node": ^0.1.15 + "@backstage/types": ^1.2.0 + "@types/express": ^4.17.6 express: ^4.17.1 express-promise-router: ^4.1.0 http-proxy-middleware: ^2.0.0 - node-fetch: ^2.7.0 - uuid: ^9.0.0 + uuid: ^11.0.0 winston: ^3.2.1 ws: ^8.18.0 yn: ^4.0.0 - checksum: f9dbbe67485bb7160781cb5e4c4365ab85b268e1516c394c86e8d0ecffbe6f601d502e49315f8a2b56272908459aee3b21c5deaf58f79e6349850c06e3d3679d + checksum: 7e45391a17ef74682f6bfb77de67f9d4e88b267ddfe1b9626973c111dfd49cccd8df79529f94ea004b91b99eeaa3488b8927ff3e04701021ed62bb0ad179ba81 languageName: node linkType: hard -"@backstage/plugin-signals-node@npm:0.1.13": - version: 0.1.13 - resolution: "@backstage/plugin-signals-node@npm:0.1.13" +"@backstage/plugin-signals-node@npm:0.1.15": + version: 0.1.15 + resolution: "@backstage/plugin-signals-node@npm:0.1.15" dependencies: - "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/config": ^1.2.0 - "@backstage/plugin-auth-node": ^0.5.3 - "@backstage/plugin-events-node": ^0.4.2 - "@backstage/types": ^1.1.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/config": ^1.3.1 + "@backstage/plugin-auth-node": ^0.5.5 + "@backstage/plugin-events-node": ^0.4.6 + "@backstage/types": ^1.2.0 express: ^4.17.1 - uuid: ^9.0.0 + uuid: ^11.0.0 ws: ^8.18.0 - checksum: 62a0c5364d55fbbe2ab21d64e298266e23d23d28e2388ef18915a42b6da3a5e112a29879c3abd5ba0c0d58ac1f59e186fd55d7e06d761da61d94ad151d0c0680 + checksum: 55554ae37d43aafa34a1c770aa56af8403bad75d99c6462ab6d5d4bfb8e264e4cae729a538ab2b9e5d9e1ea2f4e4055be8fad99e41e06c7f29d1f540945be898 languageName: node linkType: hard -"@backstage/plugin-signals-node@npm:^0.1.13, @backstage/plugin-signals-node@npm:^0.1.14": - version: 0.1.14 - resolution: "@backstage/plugin-signals-node@npm:0.1.14" +"@backstage/plugin-signals-node@npm:^0.1.15, @backstage/plugin-signals-node@npm:^0.1.16": + version: 0.1.16 + resolution: "@backstage/plugin-signals-node@npm:0.1.16" dependencies: - "@backstage/backend-plugin-api": ^1.0.2 - "@backstage/config": ^1.3.0 - "@backstage/plugin-auth-node": ^0.5.4 - "@backstage/plugin-events-node": ^0.4.5 - "@backstage/types": ^1.2.0 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/config": ^1.3.2 + "@backstage/plugin-auth-node": ^0.5.6 + "@backstage/plugin-events-node": ^0.4.7 + "@backstage/types": ^1.2.1 express: ^4.17.1 uuid: ^11.0.0 ws: ^8.18.0 - checksum: 43a481ac6b63c25b8fa274a32f135f17c6dbfc4310631ac8e0deb5eec45959aae3123fecf121e8c882278a5e8613510d6b19b49b62f211733e762b18771b56bd + checksum: 7ca605e7ba3e94dcc8343eb200ce47e52f1646735d7a4aab0a5cf789660c4afef053f482ed82764ddbbf9e456fe7051de21f7600e60a34720b5e1134869c4905 languageName: node linkType: hard -"@backstage/plugin-signals-react@npm:^0.0.6": - version: 0.0.6 - resolution: "@backstage/plugin-signals-react@npm:0.0.6" +"@backstage/plugin-signals-react@npm:^0.0.8": + version: 0.0.8 + resolution: "@backstage/plugin-signals-react@npm:0.0.8" dependencies: - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/types": ^1.1.1 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/types": ^1.2.0 "@material-ui/core": ^4.12.4 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8461,24 +8899,24 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 78699cf92f3ecf9f364d073b43280326680fef268638de4c6cd8fb5d78b5ec9fbed9b4cfd0ad0ac27e1dde47070a6690ce4704bd117c807497f60e5bc333fcde + checksum: ae23e88aa262e2ccba5cf8fc192095d2629960ae790d91755f22f48ba3c8e07db653e4f3e9c3a92791c2d86c75a144914446c891b04ec98f2ebb145dfd6c5a12 languageName: node linkType: hard -"@backstage/plugin-signals@npm:0.0.11": - version: 0.0.11 - resolution: "@backstage/plugin-signals@npm:0.0.11" +"@backstage/plugin-signals@npm:0.0.14": + version: 0.0.14 + resolution: "@backstage/plugin-signals@npm:0.0.14" dependencies: - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/plugin-signals-react": ^0.0.6 - "@backstage/theme": ^0.6.0 - "@backstage/types": ^1.1.1 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/plugin-signals-react": ^0.0.8 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.0 "@material-ui/core": ^4.12.4 "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.61 react-use: ^17.2.4 - uuid: ^9.0.0 + uuid: ^11.0.0 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -8487,37 +8925,36 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: d1bff7159908eda12a8ba585c664f45f126eab74e61fe51eeac4dd87d4d25596d83a8bd64b4fb7c502012005a290e1f64e28515a8ca0e6c924d95c683307b655 + checksum: de3203b3e029e4ac07b3d0c248f23914780661efe5ff00174c798ac0391277ee575b5db3f68be6cfa41e22a485a325f9a4864936e2a5141d264447f12018f13b languageName: node linkType: hard -"@backstage/plugin-techdocs-backend@npm:1.11.1": - version: 1.11.1 - resolution: "@backstage/plugin-techdocs-backend@npm:1.11.1" +"@backstage/plugin-techdocs-backend@npm:1.11.4": + version: 1.11.4 + resolution: "@backstage/plugin-techdocs-backend@npm:1.11.4" dependencies: "@backstage/backend-common": ^0.25.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-client": ^1.7.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/plugin-catalog-common": ^1.1.0 - "@backstage/plugin-catalog-node": ^1.13.1 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-search-backend-module-techdocs": ^0.3.1 + "@backstage/backend-plugin-api": ^1.1.0 + "@backstage/catalog-client": ^1.9.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/errors": ^1.2.6 + "@backstage/integration": ^1.16.0 + "@backstage/plugin-catalog-common": ^1.1.2 + "@backstage/plugin-catalog-node": ^1.15.0 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-search-backend-module-techdocs": ^0.3.4 "@backstage/plugin-techdocs-common": ^0.1.0 - "@backstage/plugin-techdocs-node": ^1.12.12 + "@backstage/plugin-techdocs-node": ^1.12.15 "@types/express": ^4.17.6 express: ^4.17.1 express-promise-router: ^4.1.0 fs-extra: ^11.2.0 knex: ^3.0.0 lodash: ^4.17.21 - node-fetch: ^2.7.0 p-limit: ^3.1.0 winston: ^3.2.1 - checksum: 4946acfbae8e16170c363c8474c00788a51672f549fbacea50e0ac577773f439e744f46746d21b9eeb40aa404dd4cc71e7df386133e95d42502de5a79666f19d + checksum: 90bec22503f8e7d266d35ca8f77ab6ad9aea3ca3a8608a487ce1c67d8bec882d5669a5880b027ff51fcc8a2f33c037c03eb152611dbf9ea7829298eeb095fe7b languageName: node linkType: hard @@ -8528,15 +8965,15 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-techdocs-module-addons-contrib@npm:1.1.16": - version: 1.1.16 - resolution: "@backstage/plugin-techdocs-module-addons-contrib@npm:1.1.16" +"@backstage/plugin-techdocs-module-addons-contrib@npm:1.1.19": + version: 1.1.19 + resolution: "@backstage/plugin-techdocs-module-addons-contrib@npm:1.1.19" dependencies: - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/integration": ^1.15.1 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-techdocs-react": ^1.2.9 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/integration": ^1.16.0 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-techdocs-react": ^1.2.12 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@react-hookz/web": ^24.0.0 @@ -8550,13 +8987,13 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 0a931c5e92c967e9af473539a340920dd736bff6f5c75ad0d8f6e2916a7cfcf7fc9248b5692863fb35a5c0c253e3bd681dd39b6c31934f3798cce03a37a3ecb0 + checksum: 120770752a347e4ab5ec7a271402a6c502d54c9e0ce802dfebf8d5baf3ac90383276b59a602a8a55353f10d47cca2bc80b2363b98300bb76ba84c798b9539d12 languageName: node linkType: hard -"@backstage/plugin-techdocs-node@npm:^1.12.12": - version: 1.12.12 - resolution: "@backstage/plugin-techdocs-node@npm:1.12.12" +"@backstage/plugin-techdocs-node@npm:^1.12.15, @backstage/plugin-techdocs-node@npm:^1.12.16": + version: 1.12.16 + resolution: "@backstage/plugin-techdocs-node@npm:1.12.16" dependencies: "@aws-sdk/client-s3": ^3.350.0 "@aws-sdk/credential-providers": ^3.350.0 @@ -8564,13 +9001,13 @@ __metadata: "@aws-sdk/types": ^3.347.0 "@azure/identity": ^4.0.0 "@azure/storage-blob": ^12.5.0 - "@backstage/backend-plugin-api": ^1.0.1 - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/errors": ^1.2.4 - "@backstage/integration": ^1.15.1 - "@backstage/integration-aws-node": ^0.1.12 - "@backstage/plugin-search-common": ^1.2.14 + "@backstage/backend-plugin-api": ^1.1.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/errors": ^1.2.7 + "@backstage/integration": ^1.16.1 + "@backstage/integration-aws-node": ^0.1.15 + "@backstage/plugin-search-common": ^1.2.17 "@backstage/plugin-techdocs-common": ^0.1.0 "@google-cloud/storage": ^7.0.0 "@smithy/node-http-handler": ^3.0.0 @@ -8587,18 +9024,18 @@ __metadata: p-limit: ^3.1.0 recursive-readdir: ^2.2.2 winston: ^3.2.1 - checksum: 7c82013fbdae492ecc82d09db48fac5f5f8ba232a5287f86378685798fe02098b1fb00490914c51ad6568c150ad48f4a3b397d2837b91f84fc3aa3fa8e7cc5b3 + checksum: 8088d084ed6cfb7b1f5f2cd19b1028e61e1b9d2d8c3c33395f006f5761fc45c3a19c5a9eba29b042f9c54049d43547b647d6cbe788a40cdd4a491996e0757e92 languageName: node linkType: hard -"@backstage/plugin-techdocs-react@npm:1.2.9, @backstage/plugin-techdocs-react@npm:^1.2.9": - version: 1.2.9 - resolution: "@backstage/plugin-techdocs-react@npm:1.2.9" +"@backstage/plugin-techdocs-react@npm:1.2.12": + version: 1.2.12 + resolution: "@backstage/plugin-techdocs-react@npm:1.2.12" dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 "@backstage/version-bridge": ^1.0.10 "@material-ui/core": ^4.12.2 "@material-ui/styles": ^4.11.0 @@ -8614,30 +9051,57 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 3f226299c407d6ab6f4d2dfcb735afc1f5bae4e30cea0b4f057f7164f9a995d6bcf7598d070f7dc6bf6523cb80a10c526752311f822147ac678bf98b786930fc + checksum: 457868cdc3be965c26e39f74f8b02bf3ce3bcfa0dbe049833c1369ae56928aa46038099a97db6a2c7ba735f8bef99209c0980c26a499a6f02840a2b0ea7c16f1 languageName: node linkType: hard -"@backstage/plugin-techdocs@npm:1.11.0": - version: 1.11.0 - resolution: "@backstage/plugin-techdocs@npm:1.11.0" +"@backstage/plugin-techdocs-react@npm:^1.2.12": + version: 1.2.13 + resolution: "@backstage/plugin-techdocs-react@npm:1.2.13" dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/config": ^1.2.0 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/integration": ^1.15.1 - "@backstage/integration-react": ^1.2.0 - "@backstage/plugin-auth-react": ^0.1.7 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-search-common": ^1.2.14 - "@backstage/plugin-search-react": ^1.8.1 + "@backstage/catalog-model": ^1.7.3 + "@backstage/config": ^1.3.2 + "@backstage/core-components": ^0.16.3 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/version-bridge": ^1.0.10 + "@material-ui/core": ^4.12.2 + "@material-ui/styles": ^4.11.0 + jss: ~10.10.0 + lodash: ^4.17.21 + react-helmet: 6.1.0 + react-use: ^17.2.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 8775a3d4c6b62a6562c6bbcee5a93186ee650cc65669c1a7430b0b3ca7fc197212158fa05ba635cd8e02f866a38cf9ce3dce456ee6d92e3a96162858ccf04a5c + languageName: node + linkType: hard + +"@backstage/plugin-techdocs@npm:1.12.0": + version: 1.12.0 + resolution: "@backstage/plugin-techdocs@npm:1.12.0" + dependencies: + "@backstage/catalog-model": ^1.7.2 + "@backstage/config": ^1.3.1 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/integration": ^1.16.0 + "@backstage/integration-react": ^1.2.2 + "@backstage/plugin-auth-react": ^0.1.10 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-search-common": ^1.2.16 + "@backstage/plugin-search-react": ^1.8.4 "@backstage/plugin-techdocs-common": ^0.1.0 - "@backstage/plugin-techdocs-react": ^1.2.9 - "@backstage/theme": ^0.6.0 + "@backstage/plugin-techdocs-react": ^1.2.12 + "@backstage/theme": ^0.6.3 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -8657,7 +9121,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: c7c962ed6b9ef5fab55646d113b8ed7c75f74ed03f3677a3e4d009dc224b9b21852de19bf9017d7afdecba635f4c9b3eea0764d3fd910b4af7552c62779d96dc + checksum: a6282fd1e7b861371fdb9b8ed50669626b8d3512d5abe090af255ed17c1115044ba0a1924d639d29eceb3d2e097925808c487b7617efc2088023a4d96c7b0e75 languageName: node linkType: hard @@ -8668,22 +9132,22 @@ __metadata: languageName: node linkType: hard -"@backstage/plugin-user-settings@npm:0.8.14": - version: 0.8.14 - resolution: "@backstage/plugin-user-settings@npm:0.8.14" +"@backstage/plugin-user-settings@npm:0.8.17": + version: 0.8.17 + resolution: "@backstage/plugin-user-settings@npm:0.8.17" dependencies: - "@backstage/catalog-model": ^1.7.0 - "@backstage/core-app-api": ^1.15.1 - "@backstage/core-compat-api": ^0.3.1 - "@backstage/core-components": ^0.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/errors": ^1.2.4 - "@backstage/frontend-plugin-api": ^0.9.0 - "@backstage/plugin-catalog-react": ^1.14.0 - "@backstage/plugin-signals-react": ^0.0.6 + "@backstage/catalog-model": ^1.7.2 + "@backstage/core-app-api": ^1.15.3 + "@backstage/core-compat-api": ^0.3.4 + "@backstage/core-components": ^0.16.2 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/errors": ^1.2.6 + "@backstage/frontend-plugin-api": ^0.9.3 + "@backstage/plugin-catalog-react": ^1.15.0 + "@backstage/plugin-signals-react": ^0.0.8 "@backstage/plugin-user-settings-common": ^0.0.1 - "@backstage/theme": ^0.6.0 - "@backstage/types": ^1.1.1 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -8697,7 +9161,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 1e3b8c4e2703497a390e6f7fe993de16e1ea4f6c8f4918c0352347b69755dfc7830be3653777d737bb692ce48ee8623173dacdb7643c9e5bc303215ce9ad8a96 + checksum: b3c6d391582df0ded387e813f636186f4317ed1e1adfcd02d5532da788cbd8b24782914c5e1d7104d71c3748d8cd7cf4379ca976d24cfef97088fff7a07ceab6 languageName: node linkType: hard @@ -8710,17 +9174,56 @@ __metadata: languageName: node linkType: hard -"@backstage/test-utils@npm:1.7.0, @backstage/test-utils@npm:^1.7.0": - version: 1.7.0 - resolution: "@backstage/test-utils@npm:1.7.0" - dependencies: - "@backstage/config": ^1.2.0 - "@backstage/core-app-api": ^1.15.1 - "@backstage/core-plugin-api": ^1.10.0 - "@backstage/plugin-permission-common": ^0.8.1 - "@backstage/plugin-permission-react": ^0.4.27 - "@backstage/theme": ^0.6.0 - "@backstage/types": ^1.1.1 +"@backstage/release-manifests@npm:^0.0.12": + version: 0.0.12 + resolution: "@backstage/release-manifests@npm:0.0.12" + checksum: 11b1706884d455ab4a2a0069b81f49f8da977374ed8057630fd7ca3eb38c26f2633514c75fd802a49e983f65fbc91b012555bb06a60acda1bf4108e6a2c3114e + languageName: node + linkType: hard + +"@backstage/test-utils@npm:1.7.3": + version: 1.7.3 + resolution: "@backstage/test-utils@npm:1.7.3" + dependencies: + "@backstage/config": ^1.3.1 + "@backstage/core-app-api": ^1.15.3 + "@backstage/core-plugin-api": ^1.10.2 + "@backstage/plugin-permission-common": ^0.8.3 + "@backstage/plugin-permission-react": ^0.4.29 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.0 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + cross-fetch: ^4.0.0 + i18next: ^22.4.15 + zen-observable: ^0.10.0 + peerDependencies: + "@testing-library/react": ^16.0.0 + "@types/jest": "*" + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/jest": + optional: true + "@types/react": + optional: true + checksum: 46d13417a0e3e8b6db2d4ab536729e8f9575db320f0d0e5ded38cafb71571122b9b610d36f98e0674a3300469511408e608d277590c1a9b8dede05d73fc793ae + languageName: node + linkType: hard + +"@backstage/test-utils@npm:^1.7.4": + version: 1.7.4 + resolution: "@backstage/test-utils@npm:1.7.4" + dependencies: + "@backstage/config": ^1.3.2 + "@backstage/core-app-api": ^1.15.4 + "@backstage/core-plugin-api": ^1.10.3 + "@backstage/plugin-permission-common": ^0.8.4 + "@backstage/plugin-permission-react": ^0.4.30 + "@backstage/theme": ^0.6.3 + "@backstage/types": ^1.2.1 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 cross-fetch: ^4.0.0 @@ -8738,11 +9241,11 @@ __metadata: optional: true "@types/react": optional: true - checksum: a2510b9b2cde88ba636af2d09d30d8349b80167a9408e416b2245771f5138dfd56745a6b08ecad64ec7f9656d2b5a15d9ab15dbcd695d3981db49e272d8a3260 + checksum: 15d788a2db8df9fbcb3263e8b68a5b8032debcfdf99310631f3364d60e4783d558f8b65a5d314f2905a5ff4bb5783c1523fa581e0de7f332ee11364d6ce5a6d7 languageName: node linkType: hard -"@backstage/theme@npm:0.6.0, @backstage/theme@npm:^0.6.0": +"@backstage/theme@npm:0.6.0": version: 0.6.0 resolution: "@backstage/theme@npm:0.6.0" dependencies: @@ -8762,6 +9265,26 @@ __metadata: languageName: node linkType: hard +"@backstage/theme@npm:0.6.3, @backstage/theme@npm:^0.6.0, @backstage/theme@npm:^0.6.3": + version: 0.6.3 + resolution: "@backstage/theme@npm:0.6.3" + dependencies: + "@emotion/react": ^11.10.5 + "@emotion/styled": ^11.10.5 + "@mui/material": ^5.12.2 + peerDependencies: + "@material-ui/core": ^4.12.2 + "@types/react": ^16.13.1 || ^17.0.0 || ^18.0.0 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 597713cfbbb91bd4d31f33d04d296766ea76afe00a04133af5b25422941fc89d4dcc2ec476450980690fa3df1dcc16c8b0b1c5bf6425b77d962604a758fc60f0 + languageName: node + linkType: hard + "@backstage/theme@npm:^0.5.6": version: 0.5.7 resolution: "@backstage/theme@npm:0.5.7" @@ -8778,20 +9301,20 @@ __metadata: languageName: node linkType: hard -"@backstage/types@npm:1.1.1": - version: 1.1.1 - resolution: "@backstage/types@npm:1.1.1" - checksum: 54bd9e53570cf2a7a8d9ae30e7181ee6b669b7f543949391a2168f616e1f7b13f0419f324941a87aa15f723d0313eda8f212db2077675421d6f91484f477c4f5 - languageName: node - linkType: hard - -"@backstage/types@npm:^1.1.1, @backstage/types@npm:^1.2.0": +"@backstage/types@npm:1.2.0": version: 1.2.0 resolution: "@backstage/types@npm:1.2.0" checksum: a8b22a95b7c64bde31927e18f6892bb0be949bd1a7bc5d9ef1e4d9df984ff80144148a6019a69d1084f6214fcb9536fdd7d8f2fb3708ef373ff2e1bac28442b0 languageName: node linkType: hard +"@backstage/types@npm:^1.1.1, @backstage/types@npm:^1.2.0, @backstage/types@npm:^1.2.1": + version: 1.2.1 + resolution: "@backstage/types@npm:1.2.1" + checksum: 4cf2f2fd5ca6e5f4716c5511ca00cdc8502387976a796098fec9cfd2aea6c6d077c13a46da43b1a7ff1c05fd7b208e7a45b51bbbd024319e9e7a053254fd2222 + languageName: node + linkType: hard + "@backstage/version-bridge@npm:^1.0.10, @backstage/version-bridge@npm:^1.0.8": version: 1.0.10 resolution: "@backstage/version-bridge@npm:1.0.10" @@ -8821,10 +9344,19 @@ __metadata: languageName: node linkType: hard -"@braintree/sanitize-url@npm:=7.0.2": - version: 7.0.2 - resolution: "@braintree/sanitize-url@npm:7.0.2" - checksum: d90baf41220e2c6a53005ab89d01abd2ab007ba341ee77af6f0cc7e30f0fd9c1e8b78b19f7e60ba8c0befe4ecb772dcedb464bd5d768236d7fd8c373d236c169 +"@braintree/sanitize-url@npm:=7.0.4": + version: 7.0.4 + resolution: "@braintree/sanitize-url@npm:7.0.4" + checksum: e613da3aa3e2139c3a5cf0121c7d6520c109d9b94540b3967ffff76714f3b2b0e99f4f3f7387f16cf1c189fc0041c6f010ca6e786c73d4ef3221cca0ede38f74 + languageName: node + linkType: hard + +"@casbin/expression-eval@npm:^5.3.0": + version: 5.3.0 + resolution: "@casbin/expression-eval@npm:5.3.0" + dependencies: + jsep: ^0.3.0 + checksum: 2462fb5de0c7dc942e8efa477e96e50f4d2efeef91cff21f7f2b7bc3717f638449f85dd1509ab436226ae9b9ee25c8bd5e41f5d8b33b7727382240186e6b7011 languageName: node linkType: hard @@ -8836,37 +9368,32 @@ __metadata: linkType: hard "@codemirror/autocomplete@npm:^6.0.0": - version: 6.12.0 - resolution: "@codemirror/autocomplete@npm:6.12.0" + version: 6.18.4 + resolution: "@codemirror/autocomplete@npm:6.18.4" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.17.0 "@lezer/common": ^1.0.0 - peerDependencies: - "@codemirror/language": ^6.0.0 - "@codemirror/state": ^6.0.0 - "@codemirror/view": ^6.0.0 - "@lezer/common": ^1.0.0 - checksum: 1d4da6ccc12f5a67053a76b361f2683b5af031dd405a0bd2a261a265eb8cb7dfb115343a3291260d1ba31ce7ccb5427208ebe50f50f6747fcf27a50b62c87f7e + checksum: 4216f45a17f6cfd8d33df53f940396f7d3707662570bf3a79d8d333f926e273a265fac13c362e29e3fa57ccdf444f1a047862f5f56c672cfc669c87ee975858f languageName: node linkType: hard "@codemirror/commands@npm:^6.0.0, @codemirror/commands@npm:^6.1.0": - version: 6.3.3 - resolution: "@codemirror/commands@npm:6.3.3" + version: 6.8.0 + resolution: "@codemirror/commands@npm:6.8.0" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.4.0 - "@codemirror/view": ^6.0.0 + "@codemirror/view": ^6.27.0 "@lezer/common": ^1.1.0 - checksum: 7d23aecc973823969434b839aefa9a98bb47212d2ce0e6869ae903adbb5233aad22a760788fb7bb6eb45b00b01a4932fb93ad43bacdcbc0215e7500cf54b17bb + checksum: 7d819bab4830ec7b8c5dffdec4b035dfa664bfd1d2675e639e08a459df65f45be111e1b8b569b1a8a3253d5980cf2ecf4394d8a13509996cca1b65cc16d47a4e languageName: node linkType: hard "@codemirror/language@npm:^6.0.0": - version: 6.10.1 - resolution: "@codemirror/language@npm:6.10.1" + version: 6.10.8 + resolution: "@codemirror/language@npm:6.10.8" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.23.0 @@ -8874,45 +9401,47 @@ __metadata: "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 style-mod: ^4.0.0 - checksum: 453bbe122a84795752f29261412b69a8dcfdd7e4369eb7e112bffba36b9e527ad21adff1d3845e0dc44c9ab44eb0c6f823eb6ba790ddd00cc749847574eda779 + checksum: 679b69d69faa94f028f996a7005d0c6c2a2e4cd7a7a2614f615c23d7b642c31fc1837915248e864cb1ad59a2f032d1a7a8ef486b5f9904e5f6fbe6f7d2882c38 languageName: node linkType: hard "@codemirror/legacy-modes@npm:^6.1.0": - version: 6.3.3 - resolution: "@codemirror/legacy-modes@npm:6.3.3" + version: 6.4.2 + resolution: "@codemirror/legacy-modes@npm:6.4.2" dependencies: "@codemirror/language": ^6.0.0 - checksum: 3cd32b0f011b0a193e0948e5901b625f38aa6d9a8b24344531d6e142eb6fbb3e6cb5969429102044f3d04fbe53c4deaebd9f659c05067a0b18d17766290c9e05 + checksum: fe55df97efe980a573ff5572f480eae323d7652a4a61435c654a90142def7102218023590112de7cd826c495ecaadae68a89fb5e5d4323d207af267bcce1d0c1 languageName: node linkType: hard "@codemirror/lint@npm:^6.0.0": - version: 6.5.0 - resolution: "@codemirror/lint@npm:6.5.0" + version: 6.8.4 + resolution: "@codemirror/lint@npm:6.8.4" dependencies: "@codemirror/state": ^6.0.0 - "@codemirror/view": ^6.0.0 + "@codemirror/view": ^6.35.0 crelt: ^1.0.5 - checksum: b4f3899d0f73e5a2b5e9bc1df8e13ecb9324b94c7d384e7c8dde794109dee051461fc86658338f41652b44879b2ccc12cdd51a8ac0bb16a5b18aafa8e57a843c + checksum: 640e3dd44eb167d952eb5c5b8518919ba46e164aa3471776342f7f9361e676b4627a76a9f01d51b22127b97413f2bc9b8c60299d8dfdd5fc8ad0225d42de7669 languageName: node linkType: hard "@codemirror/search@npm:^6.0.0": - version: 6.5.6 - resolution: "@codemirror/search@npm:6.5.6" + version: 6.5.8 + resolution: "@codemirror/search@npm:6.5.8" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 crelt: ^1.0.5 - checksum: 19dc88d09fc750563347001e83c6194bbb2a25c874bd919d2d81809e1f98d6330222ddbd284aa9758a09eeb41fd153ec7c2cf810b2ee51452c25963d7f5833d5 + checksum: 0f9633037492a7b647b606c30255ea42c4327319e643be7ea3aa2913ed8e4aa662589f457e376636521c7d4d1215fae0e8939f127db9c0790b19ae3b654c3bc4 languageName: node linkType: hard -"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1, @codemirror/state@npm:^6.4.0": - version: 6.4.1 - resolution: "@codemirror/state@npm:6.4.1" - checksum: b81b55574091349eed4d32fc0eadb0c9688f1f7c98b681318f59138ee0f527cb4c4a97831b70547c0640f02f3127647838ae6730782de4a3dd2cc58836125d01 +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1, @codemirror/state@npm:^6.4.0, @codemirror/state@npm:^6.5.0": + version: 6.5.1 + resolution: "@codemirror/state@npm:6.5.1" + dependencies: + "@marijn/find-cluster-break": ^1.0.0 + checksum: b7d6de9a87d5b55dadfadaeb6e1c991e0a91845d3cdd0bd953391f05363fcbaf21de79a4eec2816ab8c3e31293faeca82cc2bb729d080779df94b14e28ae0d8a languageName: node linkType: hard @@ -8928,14 +9457,14 @@ __metadata: languageName: node linkType: hard -"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0": - version: 6.24.1 - resolution: "@codemirror/view@npm:6.24.1" +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0": + version: 6.36.2 + resolution: "@codemirror/view@npm:6.36.2" dependencies: - "@codemirror/state": ^6.4.0 + "@codemirror/state": ^6.5.0 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: 376a9dd6ba3d626373f06a241defa7b61dfa80dda021e8dac8aa05261873b5e8bdf2f7d378f844c8bea2b644659020729bbf43330a272a76143e9995d77a452c + checksum: a58c64b623ddc65bb864917297f3b37f8e95280deec442024c43a9513b26352c829665c5d98e4dfcae104e8ecdfdb774d94a395a29da98a919c83482d2c14152 languageName: node linkType: hard @@ -8955,6 +9484,52 @@ __metadata: languageName: node linkType: hard +"@csstools/color-helpers@npm:^5.0.1": + version: 5.0.1 + resolution: "@csstools/color-helpers@npm:5.0.1" + checksum: be5b44931d0edbba09cd7eb1dc36cfd2fdd92b84e5125ddd16d06550f53a4f4502882fbae58e52352313ffe2aee2047f1583b76784fcc959604fc5b5d9d2c3b1 + languageName: node + linkType: hard + +"@csstools/css-calc@npm:^2.1.1": + version: 2.1.1 + resolution: "@csstools/css-calc@npm:2.1.1" + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 82bf7e4a09db4679d84fdc84be2530f61ebdf1439a5d7005c4cfd9f6c15431ab5c928bf44639b5b6d91c5d5910178a2ac8b7af52d95e876062d7e0e589ca5c3f + languageName: node + linkType: hard + +"@csstools/css-color-parser@npm:^3.0.7": + version: 3.0.7 + resolution: "@csstools/css-color-parser@npm:3.0.7" + dependencies: + "@csstools/color-helpers": ^5.0.1 + "@csstools/css-calc": ^2.1.1 + peerDependencies: + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 5a8ae044cf9c799383c8592ae7ba1097d9140b98a508ea5785b89278639cb4e936e968618ea0502581e21eee0a3638d1a30f59fedbaac5d1757cfed408007803 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" + peerDependencies: + "@csstools/css-tokenizer": ^3.0.3 + checksum: 5b6b2b97fbe0a0c5652e44613bcf62ec89a93f64069a48f6cd63b5757c7dc227970c54c50a8212b9feb90aff399490636a58366df3ca733d490d911768eaddaf + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 6b300beba1b29c546b720887be18a40bafded5dc96550fb87d61fbc2c550e9632e7baafa2bf34a66e0f25fb6b70558ee67ef3b45856aa5e621febc2124cf5039 + languageName: node + linkType: hard + "@dabh/diagnostics@npm:^2.0.2": version: 2.0.3 resolution: "@dabh/diagnostics@npm:2.0.3" @@ -8975,13 +9550,20 @@ __metadata: languageName: node linkType: hard -"@dagrejs/graphlib@npm:2.2.2, @dagrejs/graphlib@npm:^2.1.13": +"@dagrejs/graphlib@npm:2.2.2": version: 2.2.2 resolution: "@dagrejs/graphlib@npm:2.2.2" checksum: ceb833f350a9b984dc8557bd9f4a4304e3fe7a9293295313e63f8b94a2808c8dac51cfd6bd3a17c26260507440d0c6025bfa7eb24eb8ce7eda211119929f5216 languageName: node linkType: hard +"@dagrejs/graphlib@npm:^2.1.13": + version: 2.2.4 + resolution: "@dagrejs/graphlib@npm:2.2.4" + checksum: 02d2d8df07fd6234bfc82f03f0aebd718f1ffc2ba6579ef67a26e423d9ad25a437256d3342e6342e29ae8a5c5e448a07440d6e218c6e77e390bc57ee73b43d2d + languageName: node + linkType: hard + "@date-io/core@npm:1.x, @date-io/core@npm:^1.3.13": version: 1.3.13 resolution: "@date-io/core@npm:1.3.13" @@ -9038,7 +9620,7 @@ __metadata: languageName: node linkType: hard -"@emotion/cache@npm:*, @emotion/cache@npm:^11.11.0, @emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.14.0": +"@emotion/cache@npm:*, @emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.14.0": version: 11.14.0 resolution: "@emotion/cache@npm:11.14.0" dependencies: @@ -9075,11 +9657,11 @@ __metadata: linkType: hard "@emotion/is-prop-valid@npm:^1.3.0": - version: 1.3.0 - resolution: "@emotion/is-prop-valid@npm:1.3.0" + version: 1.3.1 + resolution: "@emotion/is-prop-valid@npm:1.3.1" dependencies: "@emotion/memoize": ^0.9.0 - checksum: d3e36e493de3b4446634010c46cb8b99fa8ca271a8e7efba9cecf59a672ce1ebcfea8e8c7a0627dcafae87b4ab0d58c70fcf4589b849ca48e0d1e9f6c899e8be + checksum: fe6549d54f389e1a17cb02d832af7ee85fb6ea126fc18d02ca47216e8ff19332c1983f4a0ba68602cfcd3b325ffd4ebf0b2d0c6270f1e7e6fe3fca4ba7741e1a languageName: node linkType: hard @@ -9188,10 +9770,22 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 +"@envelop/core@npm:^5.0.2": + version: 5.0.3 + resolution: "@envelop/core@npm:5.0.3" + dependencies: + "@envelop/types": 5.0.0 + tslib: ^2.5.0 + checksum: 5a5987b57fea6fcae3a0665adb9f11c0d25ecf99f235759e5c9601c464a2b99d8f20aca69437225dd8df6dc97d6fb0d3882979158dff53f9c81cde0a6c27893c + languageName: node + linkType: hard + +"@envelop/types@npm:5.0.0": + version: 5.0.0 + resolution: "@envelop/types@npm:5.0.0" + dependencies: + tslib: ^2.5.0 + checksum: 1098f821981d2b59a453f5f21ac3b2ea9fcf6bd253a564f0317f67b7469ff17e53921ea99a3b528cb5c95e0671460d68b55150836ce635788576500317a8ad9b languageName: node linkType: hard @@ -9202,16 +9796,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/aix-ppc64@npm:0.23.0" +"@esbuild/aix-ppc64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/aix-ppc64@npm:0.23.1" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/aix-ppc64@npm:0.24.0" +"@esbuild/aix-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/aix-ppc64@npm:0.24.2" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -9223,13 +9817,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/android-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm64@npm:0.21.5" @@ -9237,16 +9824,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/android-arm64@npm:0.23.0" +"@esbuild/android-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/android-arm64@npm:0.23.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-arm64@npm:0.24.0" +"@esbuild/android-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm64@npm:0.24.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -9258,13 +9845,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@esbuild/android-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-arm@npm:0.21.5" @@ -9272,16 +9852,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/android-arm@npm:0.23.0" +"@esbuild/android-arm@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/android-arm@npm:0.23.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-arm@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-arm@npm:0.24.0" +"@esbuild/android-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-arm@npm:0.24.2" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -9293,13 +9873,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - "@esbuild/android-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/android-x64@npm:0.21.5" @@ -9307,16 +9880,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/android-x64@npm:0.23.0" +"@esbuild/android-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/android-x64@npm:0.23.1" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/android-x64@npm:0.24.0" +"@esbuild/android-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/android-x64@npm:0.24.2" conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -9328,13 +9901,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/darwin-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-arm64@npm:0.21.5" @@ -9342,16 +9908,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/darwin-arm64@npm:0.23.0" +"@esbuild/darwin-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/darwin-arm64@npm:0.23.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/darwin-arm64@npm:0.24.0" +"@esbuild/darwin-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-arm64@npm:0.24.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -9363,13 +9929,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@esbuild/darwin-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/darwin-x64@npm:0.21.5" @@ -9377,16 +9936,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/darwin-x64@npm:0.23.0" +"@esbuild/darwin-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/darwin-x64@npm:0.23.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/darwin-x64@npm:0.24.0" +"@esbuild/darwin-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/darwin-x64@npm:0.24.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -9398,13 +9957,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/freebsd-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-arm64@npm:0.21.5" @@ -9412,16 +9964,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/freebsd-arm64@npm:0.23.0" +"@esbuild/freebsd-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/freebsd-arm64@npm:0.23.1" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/freebsd-arm64@npm:0.24.0" +"@esbuild/freebsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-arm64@npm:0.24.2" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -9433,13 +9985,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/freebsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/freebsd-x64@npm:0.21.5" @@ -9447,16 +9992,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/freebsd-x64@npm:0.23.0" +"@esbuild/freebsd-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/freebsd-x64@npm:0.23.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/freebsd-x64@npm:0.24.0" +"@esbuild/freebsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/freebsd-x64@npm:0.24.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -9468,13 +10013,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/linux-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm64@npm:0.21.5" @@ -9482,16 +10020,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-arm64@npm:0.23.0" +"@esbuild/linux-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-arm64@npm:0.23.1" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-arm64@npm:0.24.0" +"@esbuild/linux-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm64@npm:0.24.2" conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -9503,13 +10041,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@esbuild/linux-arm@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-arm@npm:0.21.5" @@ -9517,16 +10048,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-arm@npm:0.23.0" +"@esbuild/linux-arm@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-arm@npm:0.23.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-arm@npm:0.24.0" +"@esbuild/linux-arm@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-arm@npm:0.24.2" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -9538,13 +10069,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/linux-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ia32@npm:0.21.5" @@ -9552,16 +10076,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-ia32@npm:0.23.0" +"@esbuild/linux-ia32@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-ia32@npm:0.23.1" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-ia32@npm:0.24.0" +"@esbuild/linux-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ia32@npm:0.24.2" conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -9573,13 +10097,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - "@esbuild/linux-loong64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-loong64@npm:0.21.5" @@ -9587,16 +10104,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-loong64@npm:0.23.0" +"@esbuild/linux-loong64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-loong64@npm:0.23.1" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-loong64@npm:0.24.0" +"@esbuild/linux-loong64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-loong64@npm:0.24.2" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -9608,13 +10125,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - "@esbuild/linux-mips64el@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-mips64el@npm:0.21.5" @@ -9622,16 +10132,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-mips64el@npm:0.23.0" +"@esbuild/linux-mips64el@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-mips64el@npm:0.23.1" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-mips64el@npm:0.24.0" +"@esbuild/linux-mips64el@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-mips64el@npm:0.24.2" conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -9643,13 +10153,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/linux-ppc64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-ppc64@npm:0.21.5" @@ -9657,16 +10160,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-ppc64@npm:0.23.0" +"@esbuild/linux-ppc64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-ppc64@npm:0.23.1" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-ppc64@npm:0.24.0" +"@esbuild/linux-ppc64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-ppc64@npm:0.24.2" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -9678,13 +10181,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - "@esbuild/linux-riscv64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-riscv64@npm:0.21.5" @@ -9692,16 +10188,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-riscv64@npm:0.23.0" +"@esbuild/linux-riscv64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-riscv64@npm:0.23.1" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-riscv64@npm:0.24.0" +"@esbuild/linux-riscv64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-riscv64@npm:0.24.2" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -9713,13 +10209,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - "@esbuild/linux-s390x@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-s390x@npm:0.21.5" @@ -9727,16 +10216,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-s390x@npm:0.23.0" +"@esbuild/linux-s390x@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-s390x@npm:0.23.1" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-s390x@npm:0.24.0" +"@esbuild/linux-s390x@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-s390x@npm:0.24.2" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -9748,13 +10237,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - "@esbuild/linux-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/linux-x64@npm:0.21.5" @@ -9762,30 +10244,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/linux-x64@npm:0.23.0" +"@esbuild/linux-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-x64@npm:0.23.1" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/linux-x64@npm:0.24.0" +"@esbuild/linux-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/linux-x64@npm:0.24.2" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.16.17": - version: 0.16.17 - resolution: "@esbuild/netbsd-x64@npm:0.16.17" - conditions: os=netbsd & cpu=x64 +"@esbuild/netbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-arm64@npm:0.24.2" + conditions: os=netbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" +"@esbuild/netbsd-x64@npm:0.16.17": + version: 0.16.17 + resolution: "@esbuild/netbsd-x64@npm:0.16.17" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard @@ -9797,30 +10279,30 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/netbsd-x64@npm:0.23.0" +"@esbuild/netbsd-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/netbsd-x64@npm:0.23.1" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/netbsd-x64@npm:0.24.0" +"@esbuild/netbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/netbsd-x64@npm:0.24.2" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/openbsd-arm64@npm:0.23.0" +"@esbuild/openbsd-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/openbsd-arm64@npm:0.23.1" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/openbsd-arm64@npm:0.24.0" +"@esbuild/openbsd-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-arm64@npm:0.24.2" conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -9832,13 +10314,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/openbsd-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/openbsd-x64@npm:0.21.5" @@ -9846,16 +10321,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/openbsd-x64@npm:0.23.0" +"@esbuild/openbsd-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/openbsd-x64@npm:0.23.1" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/openbsd-x64@npm:0.24.0" +"@esbuild/openbsd-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/openbsd-x64@npm:0.24.2" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -9867,13 +10342,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - "@esbuild/sunos-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/sunos-x64@npm:0.21.5" @@ -9881,16 +10349,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/sunos-x64@npm:0.23.0" +"@esbuild/sunos-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/sunos-x64@npm:0.23.1" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/sunos-x64@npm:0.24.0" +"@esbuild/sunos-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/sunos-x64@npm:0.24.2" conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -9902,13 +10370,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/win32-arm64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-arm64@npm:0.21.5" @@ -9916,16 +10377,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/win32-arm64@npm:0.23.0" +"@esbuild/win32-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/win32-arm64@npm:0.23.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/win32-arm64@npm:0.24.0" +"@esbuild/win32-arm64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-arm64@npm:0.24.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -9937,13 +10398,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/win32-ia32@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-ia32@npm:0.21.5" @@ -9951,16 +10405,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/win32-ia32@npm:0.23.0" +"@esbuild/win32-ia32@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/win32-ia32@npm:0.23.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/win32-ia32@npm:0.24.0" +"@esbuild/win32-ia32@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-ia32@npm:0.24.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -9972,13 +10426,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.21.5": version: 0.21.5 resolution: "@esbuild/win32-x64@npm:0.21.5" @@ -9986,35 +10433,35 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.23.0": - version: 0.23.0 - resolution: "@esbuild/win32-x64@npm:0.23.0" +"@esbuild/win32-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/win32-x64@npm:0.23.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.24.0": - version: 0.24.0 - resolution: "@esbuild/win32-x64@npm:0.24.0" +"@esbuild/win32-x64@npm:0.24.2": + version: 0.24.2 + resolution: "@esbuild/win32-x64@npm:0.24.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" dependencies: - eslint-visitor-keys: ^3.3.0 + eslint-visitor-keys: ^3.4.3 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: cdfe3ae42b4f572cbfb46d20edafe6f36fc5fb52bf2d90875c58aefe226892b9677fef60820e2832caf864a326fe4fc225714c46e8389ccca04d5f9288aabd22 + checksum: a7ffc838eb6a9ef594cda348458ccf38f34439ac77dc090fa1c120024bcd4eb911dfd74d5ef44d42063e7949fa7c5123ce714a015c4abb917d4124be1bd32bfe languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 2a6e345429ea8382aaaf3a61f865cae16ed44d31ca917910033c02dc00d505d939f10b81e079fa14d43b51499c640138e153b7e40743c4c094d9df97d4e56f7b + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 0d628680e204bc316d545b4993d3658427ca404ae646ce541fcc65306b8c712c340e5e573e30fb9f85f4855c0c5f6dca9868931f2fcced06417fbe1a0c6cd2d6 languageName: node linkType: hard @@ -10049,176 +10496,146 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.0.0": - version: 1.6.0 - resolution: "@floating-ui/core@npm:1.6.0" +"@fastify/busboy@npm:^2.0.0": + version: 2.1.1 + resolution: "@fastify/busboy@npm:2.1.1" + checksum: 42c32ef75e906c9a4809c1e1930a5ca6d4ddc8d138e1a8c8ba5ea07f997db32210617d23b2e4a85fe376316a41a1a0439fc6ff2dedf5126d96f45a9d80754fb2 + languageName: node + linkType: hard + +"@floating-ui/core@npm:^1.6.0": + version: 1.6.9 + resolution: "@floating-ui/core@npm:1.6.9" dependencies: - "@floating-ui/utils": ^0.2.1 - checksum: 2e25c53b0c124c5c9577972f8ae21d081f2f7895e6695836a53074463e8c65b47722744d6d2b5a993164936da006a268bcfe87fe68fd24dc235b1cb86bed3127 + "@floating-ui/utils": ^0.2.9 + checksum: 21cbcac72a40172399570dedf0eb96e4f24b0d829980160e8d14edf08c2955ac6feffb7b94e1530c78fb7944635e52669c9257ad08570e0295efead3b5a9af91 languageName: node linkType: hard -"@floating-ui/dom@npm:^1.6.1": - version: 1.6.3 - resolution: "@floating-ui/dom@npm:1.6.3" +"@floating-ui/dom@npm:^1.0.0": + version: 1.6.13 + resolution: "@floating-ui/dom@npm:1.6.13" dependencies: - "@floating-ui/core": ^1.0.0 - "@floating-ui/utils": ^0.2.0 - checksum: 81cbb18ece3afc37992f436e469e7fabab2e433248e46fff4302d12493a175b0c64310f8a971e6e1eda7218df28ace6b70237b0f3c22fe12a21bba05b5579555 + "@floating-ui/core": ^1.6.0 + "@floating-ui/utils": ^0.2.9 + checksum: eabab9d860d3b5beab1c2d6936287efc4d9ab352de99062380589ef62870d59e8730397489c34a96657e128498001b5672330c4a9da0159fe8b2401ac59fe314 languageName: node linkType: hard "@floating-ui/react-dom@npm:^2.0.0, @floating-ui/react-dom@npm:^2.0.8": - version: 2.0.8 - resolution: "@floating-ui/react-dom@npm:2.0.8" + version: 2.1.2 + resolution: "@floating-ui/react-dom@npm:2.1.2" dependencies: - "@floating-ui/dom": ^1.6.1 + "@floating-ui/dom": ^1.0.0 peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 5da7f13a69281e38859a3203a608fe9de1d850b332b355c10c0c2427c7b7209a0374c10f6295b6577c1a70237af8b678340bd4cc0a4b1c66436a94755d81e526 + checksum: 25bb031686e23062ed4222a8946e76b3f9021d40a48437bd747233c4964a766204b8a55f34fa8b259839af96e60db7c6e3714d81f1de06914294f90e86ffbc48 languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.0, @floating-ui/utils@npm:^0.2.1": - version: 0.2.1 - resolution: "@floating-ui/utils@npm:0.2.1" - checksum: 9ed4380653c7c217cd6f66ae51f20fdce433730dbc77f95b5abfb5a808f5fdb029c6ae249b4e0490a816f2453aa6e586d9a873cd157fdba4690f65628efc6e06 - languageName: node - linkType: hard - -"@gitbeaker/core@npm:^35.8.0, @gitbeaker/core@npm:^35.8.1": - version: 35.8.1 - resolution: "@gitbeaker/core@npm:35.8.1" - dependencies: - "@gitbeaker/requester-utils": ^35.8.1 - form-data: ^4.0.0 - li: ^1.3.0 - mime: ^3.0.0 - query-string: ^7.0.0 - xcase: ^2.0.1 - checksum: 8fc7b8d32a2162b70fd8e8ec4e019a3654da3fd1bcb7204b5030e8c9b4af52f4e7addafcd5503042e31dd4e4e3bdd7f8245dd963c77427d4471ab2e331266cf7 - languageName: node - linkType: hard - -"@gitbeaker/core@npm:^39.34.3": - version: 39.34.3 - resolution: "@gitbeaker/core@npm:39.34.3" - dependencies: - "@gitbeaker/requester-utils": ^39.34.3 - qs: ^6.11.2 - xcase: ^2.0.1 - checksum: 2b0ccd6137ee717b6f51c51c8f7063b84beeebfdb044574f2257f282864411c4f0932f2619893385f2a86bb4fa342b75be972fd1868640ab4e260f2280cc52b3 - languageName: node - linkType: hard - -"@gitbeaker/core@npm:^40.0.3": - version: 40.0.3 - resolution: "@gitbeaker/core@npm:40.0.3" - dependencies: - "@gitbeaker/requester-utils": ^40.0.3 - qs: ^6.11.2 - xcase: ^2.0.1 - checksum: 999cea3f1523eabfae473e8a21849fdd4f6b4d30f0de681e735b238713b198ff9381c35d2ba5949d27ddc7ed5a953b14fc5a6ed38a5d98b05b6a5670a0c69162 +"@floating-ui/utils@npm:^0.2.9": + version: 0.2.9 + resolution: "@floating-ui/utils@npm:0.2.9" + checksum: d518b80cec5a323e54a069a1dd99a20f8221a4853ed98ac16c75275a0cc22f75de4f8ac5b121b4f8990bd45da7ad1fb015b9a1e4bac27bb1cd62444af84e9784 languageName: node linkType: hard -"@gitbeaker/node@npm:^35.8.0": - version: 35.8.1 - resolution: "@gitbeaker/node@npm:35.8.1" +"@gitbeaker/core@npm:^40.6.0": + version: 40.6.0 + resolution: "@gitbeaker/core@npm:40.6.0" dependencies: - "@gitbeaker/core": ^35.8.1 - "@gitbeaker/requester-utils": ^35.8.1 - delay: ^5.0.0 - got: ^11.8.3 + "@gitbeaker/requester-utils": ^40.6.0 + qs: ^6.12.2 xcase: ^2.0.1 - checksum: b9439c8dadadc6c1c19c4528543226e18dffdff4bdb00904b18a0621af62f0449e203a500ec3f27f386c7a02adc373585e06a1f6e0f93b6b34a0be1ced857e92 + checksum: 3d75175f8adcf04294b5cfb8f040ad372d218473ec35d02b3b59c0538eb16228fc915a92a8582ecff5cad0a8dddcddb5a90b12cfe2ce5aaf9c3b6fccffe7259b languageName: node linkType: hard -"@gitbeaker/requester-utils@npm:^35.8.1": - version: 35.8.1 - resolution: "@gitbeaker/requester-utils@npm:35.8.1" +"@gitbeaker/core@npm:^41.3.0": + version: 41.3.0 + resolution: "@gitbeaker/core@npm:41.3.0" dependencies: - form-data: ^4.0.0 - qs: ^6.10.1 + "@gitbeaker/requester-utils": ^41.3.0 + qs: ^6.12.2 xcase: ^2.0.1 - checksum: c3c94ad90dab481887380f5bcff0416c1e1eee935fc3ca4f12d8db83d85c5f0d47f7f35cee6f2b05491bda99c03fb7eb88b849c986822eae3b1bfc26641ec899 + checksum: 7b42c2af717002a54a1a6fdaa4056f2dbf6b52c6c33de68d1ad035b301609322f5b980d0da48918518dde105f4d88b39976cf4510a3d19a34e11b991c111e8fc languageName: node linkType: hard -"@gitbeaker/requester-utils@npm:^39.34.3": - version: 39.34.3 - resolution: "@gitbeaker/requester-utils@npm:39.34.3" +"@gitbeaker/requester-utils@npm:^40.6.0": + version: 40.6.0 + resolution: "@gitbeaker/requester-utils@npm:40.6.0" dependencies: picomatch-browser: ^2.2.6 - qs: ^6.11.2 - rate-limiter-flexible: ^4.0.0 + qs: ^6.12.2 + rate-limiter-flexible: ^4.0.1 xcase: ^2.0.1 - checksum: 55881864f42e243d9cd73840ea44c9eee13be7974fa13fde241f19bc47915712532d5f7339a598cdd258c32193a37375719984d2630620ab8d962d6d7724cbeb + checksum: 8744487bdba27f2995e483473cb4c3d6926228fa2f0c842bec300e165a09508a5e5ad047d478aeebe226a8f264c92a1dcb0a21f6af316b8fe4ebb679d7283e49 languageName: node linkType: hard -"@gitbeaker/requester-utils@npm:^40.0.3": - version: 40.0.3 - resolution: "@gitbeaker/requester-utils@npm:40.0.3" +"@gitbeaker/requester-utils@npm:^41.3.0": + version: 41.3.0 + resolution: "@gitbeaker/requester-utils@npm:41.3.0" dependencies: picomatch-browser: ^2.2.6 - qs: ^6.11.2 - rate-limiter-flexible: ^4.0.0 + qs: ^6.12.2 + rate-limiter-flexible: ^4.0.1 xcase: ^2.0.1 - checksum: 1a46dc9c730c29e2229b04ed9bbe6cd87b7e5f16c1d0a5e78106f0287ab3d981ce2b099eb41cdb0f9180bb6b11d25f5f1fa92a91b69682bcd4ac986e58b55d31 + checksum: 28dc17e995450988e62f9e76557bf0a2fe0a41db2ffc3e088ed5c71009daaa1f26563ad67b61738c6ca5bfde9d25f067a189f4bc0a7e097d5ffa49991d24cd38 languageName: node linkType: hard -"@gitbeaker/rest@npm:^39.25.0": - version: 39.34.3 - resolution: "@gitbeaker/rest@npm:39.34.3" +"@gitbeaker/rest@npm:^40.0.3": + version: 40.6.0 + resolution: "@gitbeaker/rest@npm:40.6.0" dependencies: - "@gitbeaker/core": ^39.34.3 - "@gitbeaker/requester-utils": ^39.34.3 - checksum: e2a484891b12c71d4218168ab3884af14d036fb16a710ea023556a3d57dd220b13feaebd1f4aa3f61d0180c9f17b66f283650cd543416bb402d3bed8b6eaa465 + "@gitbeaker/core": ^40.6.0 + "@gitbeaker/requester-utils": ^40.6.0 + checksum: e2ae3f460378c0fe226ac13dcc75bcddf44c8bd594c212020d2a088016a2d1735552639cb9a8fe43f85dad0305a918aef485313c5bed8ad62e351affee21da80 languageName: node linkType: hard -"@gitbeaker/rest@npm:^40.0.3": - version: 40.0.3 - resolution: "@gitbeaker/rest@npm:40.0.3" +"@gitbeaker/rest@npm:^41.2.0": + version: 41.3.0 + resolution: "@gitbeaker/rest@npm:41.3.0" dependencies: - "@gitbeaker/core": ^40.0.3 - "@gitbeaker/requester-utils": ^40.0.3 - checksum: 6a6427b82ee3357fbe07e1235de7a3c98d50155898180fbe4dd641c8575faa93853f1a39185e18876f84469e1a385ccd9beb26fd95b61c260b81eb0ed342355b + "@gitbeaker/core": ^41.3.0 + "@gitbeaker/requester-utils": ^41.3.0 + checksum: 96aa8d5e7ff3ca0e27f874df8b435fb12d20e6975d2291de26c90b7c2e201c286ffd241884b609b2200ddc4e28a331563b1b2d6767a1dd0160fc341f88761016 languageName: node linkType: hard "@google-cloud/container@npm:^5.0.0": - version: 5.8.0 - resolution: "@google-cloud/container@npm:5.8.0" + version: 5.19.0 + resolution: "@google-cloud/container@npm:5.19.0" dependencies: google-gax: ^4.0.3 - checksum: 6d82c417d7819fee322397f482785f3dfec28a82f0f1cf1a3f5059a7822f2b438b893eb068bb7ac9909011a63b22e6f1115e7c1386adf3fbfa93980b2657cfc1 + checksum: 90a31ce375115c9860dfbf2359ffc9052fccf73848e14909820d02a293d0d84705df41e7a24a0913bf093f0aa5b844e8d8d6b1a0f57a2590592e3c75579b4a37 languageName: node linkType: hard "@google-cloud/firestore@npm:^7.0.0": - version: 7.3.0 - resolution: "@google-cloud/firestore@npm:7.3.0" + version: 7.11.0 + resolution: "@google-cloud/firestore@npm:7.11.0" dependencies: + "@opentelemetry/api": ^1.3.0 fast-deep-equal: ^3.1.1 functional-red-black-tree: ^1.0.1 - google-gax: ^4.0.4 - protobufjs: ^7.2.5 - checksum: 6e12f011250ee6e3f8a522ab02d706af7966675b6653e77734929fce1493efc9fed90de398900228da660f4f4738ccafa2bad96f4573e8097267c67f1ab87f90 + google-gax: ^4.3.3 + protobufjs: ^7.2.6 + checksum: b926123db5e3f37704c0aa51baee1726b72910a37c7fe99bbfe048afb1fba7fa40d7e5f7c017c7284ebd9273c0237da5c00fac81772ba0de1bed97dc9b71e709 languageName: node linkType: hard "@google-cloud/paginator@npm:^5.0.0": - version: 5.0.0 - resolution: "@google-cloud/paginator@npm:5.0.0" + version: 5.0.2 + resolution: "@google-cloud/paginator@npm:5.0.2" dependencies: arrify: ^2.0.0 extend: ^3.0.2 - checksum: 7b8236ce610bef5c5de62a0ec267b0e4368480397621a692d213c56ffe66b20a8e6d4de0fe0606fd165672c873467ea313493f035a582e674df72c29dd20b7ef + checksum: eeb4a387807270ba9f69f22d7439d60c5bd6663573c2da9ea7d998c373d77671d77450b87f0f229c28418df654af4064e70554fa4dcde7edb3c0f5c05f208246 languageName: node linkType: hard @@ -10237,27 +10654,25 @@ __metadata: linkType: hard "@google-cloud/storage@npm:^7.0.0": - version: 7.7.0 - resolution: "@google-cloud/storage@npm:7.7.0" + version: 7.15.0 + resolution: "@google-cloud/storage@npm:7.15.0" dependencies: "@google-cloud/paginator": ^5.0.0 "@google-cloud/projectify": ^4.0.0 "@google-cloud/promisify": ^4.0.0 abort-controller: ^3.0.0 async-retry: ^1.3.3 - compressible: ^2.0.12 - duplexify: ^4.0.0 - ent: ^2.2.0 - fast-xml-parser: ^4.3.0 + duplexify: ^4.1.3 + fast-xml-parser: ^4.4.1 gaxios: ^6.0.2 - google-auth-library: ^9.0.0 + google-auth-library: ^9.6.3 + html-entities: ^2.5.2 mime: ^3.0.0 - mime-types: ^2.0.8 p-limit: ^3.0.1 retry-request: ^7.0.0 teeny-request: ^9.0.0 uuid: ^8.0.0 - checksum: b63069b7e591e55f9132aab9e8f9cd03b72a5b6e531c1f37fc44c4cd34eb02dd50e8007739dad6f0ac2ddb216eb5a80bc3b062d1d8c42aad7351e6cc6008d27f + checksum: f48a594186519abaa41d5b57b4d59dd499dd750cfab42f3f7bc17302c5e5476aa6f1702ea0dc28761e77bd0ec492e780e8c4b71dfbe7db3a6bc5bb3eeb2d6955 languageName: node linkType: hard @@ -10331,152 +10746,182 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/batch-execute@npm:^9.0.4": - version: 9.0.4 - resolution: "@graphql-tools/batch-execute@npm:9.0.4" +"@graphql-hive/gateway-abort-signal-any@npm:^0.0.3": + version: 0.0.3 + resolution: "@graphql-hive/gateway-abort-signal-any@npm:0.0.3" dependencies: - "@graphql-tools/utils": ^10.0.13 - dataloader: ^2.2.2 - tslib: ^2.4.0 - value-or-promise: ^1.0.12 + "@graphql-tools/utils": ^10.7.0 + tslib: ^2.8.1 + peerDependencies: + graphql: ^15.0.0 || ^16.9.0 || ^17.0.0 + checksum: 54404e5035f22f9d18c8decff8490a47ce26a5d8d28eadea2cccc1d7d7371f92f6b4d7060e564cd4d64b0a7b54a2379d6bd1253bfa601bb191baf65ecac688d7 + languageName: node + linkType: hard + +"@graphql-tools/batch-execute@npm:^9.0.11": + version: 9.0.11 + resolution: "@graphql-tools/batch-execute@npm:9.0.11" + dependencies: + "@graphql-tools/utils": ^10.7.0 + dataloader: ^2.2.3 + tslib: ^2.8.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: d547da2ca888a1ebd8552f1be1c353e88bdbcb85c745de3d869e22da7f1981b4621f950a22ce719c645cc6435bc683c77253d8f19a0baaf7d4058625f4ce8891 + checksum: fb3fda923679913205b31f9e27f00b900ef4e03eaeea51b05f91179900bba87de29652c31dfe1124d21ad6882bb900e12d7a4c293ef46d14748b50d89b5254c1 languageName: node linkType: hard -"@graphql-tools/delegate@npm:^10.0.4": - version: 10.0.4 - resolution: "@graphql-tools/delegate@npm:10.0.4" +"@graphql-tools/delegate@npm:^10.2.9": + version: 10.2.9 + resolution: "@graphql-tools/delegate@npm:10.2.9" dependencies: - "@graphql-tools/batch-execute": ^9.0.4 - "@graphql-tools/executor": ^1.2.1 - "@graphql-tools/schema": ^10.0.3 - "@graphql-tools/utils": ^10.0.13 - dataloader: ^2.2.2 - tslib: ^2.5.0 + "@graphql-tools/batch-execute": ^9.0.11 + "@graphql-tools/executor": ^1.3.10 + "@graphql-tools/schema": ^10.0.11 + "@graphql-tools/utils": ^10.7.0 + "@repeaterjs/repeater": ^3.0.6 + dataloader: ^2.2.3 + dset: ^3.1.2 + tslib: ^2.8.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: c52ac690f3b97534c2c1291b676b087e638bb828eeb03ee52456b447120e85bc989b381d43239b09d8601473d30af4b404bc8847ba18201e15653d8773082859 + checksum: 2e698cd082af394fdb530af667a7939d740cf0e0167d2e5417fb98c9bbc3b67118b0d72534f549a6bf10bef49c9fa6df3c7c1a1ad50c309cebc777d0fa3f5eec languageName: node linkType: hard -"@graphql-tools/executor-graphql-ws@npm:^1.1.2": - version: 1.1.2 - resolution: "@graphql-tools/executor-graphql-ws@npm:1.1.2" +"@graphql-tools/executor-common@npm:^0.0.1": + version: 0.0.1 + resolution: "@graphql-tools/executor-common@npm:0.0.1" dependencies: - "@graphql-tools/utils": ^10.0.13 - "@types/ws": ^8.0.0 + "@envelop/core": ^5.0.2 + "@graphql-tools/utils": ^10.7.0 + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: a7204915439810a0e2187b7b3e9c70a046c8e57ac632a03bec8c72bef5755f95650fbc7428f17d27a13f17edfac66e3fe34052e26eb86092c54c10abcfc59231 + languageName: node + linkType: hard + +"@graphql-tools/executor-graphql-ws@npm:^1.3.2": + version: 1.3.7 + resolution: "@graphql-tools/executor-graphql-ws@npm:1.3.7" + dependencies: + "@graphql-tools/executor-common": ^0.0.1 + "@graphql-tools/utils": ^10.7.0 + "@whatwg-node/disposablestack": ^0.0.5 graphql-ws: ^5.14.0 isomorphic-ws: ^5.0.0 - tslib: ^2.4.0 - ws: ^8.13.0 + tslib: ^2.8.1 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 5273c3bace12d800493c3142c66a432b886da13cb6755977f29311b9d96925bf4504c7d8c1a67761b4cd068b72af86e8952d69c49c239388c4ce8e4bb97e1817 + checksum: 2930889ce9af2a7bf6a6b86c3df0b7903bce16e72846bedccbc570c08ce743a4df2db55e1c024db091f71ee8228d80261b3540da9f0f68983cb8c29efec12b34 languageName: node linkType: hard -"@graphql-tools/executor-http@npm:^1.0.9": - version: 1.0.9 - resolution: "@graphql-tools/executor-http@npm:1.0.9" +"@graphql-tools/executor-http@npm:^1.1.9": + version: 1.2.5 + resolution: "@graphql-tools/executor-http@npm:1.2.5" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-hive/gateway-abort-signal-any": ^0.0.3 + "@graphql-tools/executor-common": ^0.0.1 + "@graphql-tools/utils": ^10.7.0 "@repeaterjs/repeater": ^3.0.4 - "@whatwg-node/fetch": ^0.9.0 + "@whatwg-node/disposablestack": ^0.0.5 + "@whatwg-node/fetch": ^0.10.1 extract-files: ^11.0.0 meros: ^1.2.1 - tslib: ^2.4.0 + tslib: ^2.8.1 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: c3f5b42fe2b3b778b1ccb91a397bf9ba113c3d641ff7efb961e9556f26eef6e42426d9ce8b68f836ad103f548a9dc28dec02926638702e88fae1a695faffc6cd + checksum: 776924725cdbd80f9d667b410a69dfd004cdb83bdfd689fbffd759e472611170bd0f75d8ab41fe31c418c1c7f0d0eb23216e02fa10ac4c024393d18e54d8b93e languageName: node linkType: hard -"@graphql-tools/executor-legacy-ws@npm:^1.0.6": - version: 1.0.6 - resolution: "@graphql-tools/executor-legacy-ws@npm:1.0.6" +"@graphql-tools/executor-legacy-ws@npm:^1.1.10": + version: 1.1.10 + resolution: "@graphql-tools/executor-legacy-ws@npm:1.1.10" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.7.2 "@types/ws": ^8.0.0 isomorphic-ws: ^5.0.0 tslib: ^2.4.0 - ws: ^8.15.0 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 1333ed9bb4636e1e70dbda234a18bd0aa4db7e375dfaa1f334c2596e2ab0ce7125a2e1250806b57ca96651de94c39f639e427a2047cff299587b76c21cb4dacd + checksum: 8945b8dee35226ad776390857e3902efad5737ebbcc460abd8ed6ff6b8073ef4ab0c7557b2561353d3b637eee45ead97635c4777a458cc8ee70dc188b79ffec6 languageName: node linkType: hard -"@graphql-tools/executor@npm:^1.2.1": - version: 1.2.1 - resolution: "@graphql-tools/executor@npm:1.2.1" +"@graphql-tools/executor@npm:^1.3.10": + version: 1.3.12 + resolution: "@graphql-tools/executor@npm:1.3.12" dependencies: - "@graphql-tools/utils": ^10.0.13 - "@graphql-typed-document-node/core": 3.2.0 + "@graphql-tools/utils": ^10.7.2 + "@graphql-typed-document-node/core": ^3.2.0 "@repeaterjs/repeater": ^3.0.4 + "@whatwg-node/disposablestack": ^0.0.5 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: f42710299d1d578ccc094fab5d2a9e6977a73b174b77dd66b27a3efd53ba600d97b26f6e037be0c07dc3d935da0100053f6107599e3a60f79e300742627f535e + checksum: 007ee16defb0ed5162da9ac033b030bd55cce08027514278b85e8dfbe4543e84850b2131a4897a0ad2774df682116a5dc531c6be5a6352e7bb0dc67a6a9528d4 languageName: node linkType: hard "@graphql-tools/graphql-file-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/graphql-file-loader@npm:8.0.1" + version: 8.0.12 + resolution: "@graphql-tools/graphql-file-loader@npm:8.0.12" dependencies: - "@graphql-tools/import": 7.0.1 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/import": 7.0.11 + "@graphql-tools/utils": ^10.7.2 globby: ^11.0.3 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 55fd5cc96ea063341e03be2fa72a6494e8fedb0cd09cc2a4664732fc81e57e5c67026f63ff9e6c1afc284bd303988cd1bda715c88100b8316b5e8cdf6da70a32 + checksum: 99ba0a7735dc432437b70213b75ffabac417babb633488effe39cd5ad6b0f15e85bb665a7966da0e8aa5d6ccf7ad955cd3f8ac1f8c14f476e1dcd349d949dd04 languageName: node linkType: hard -"@graphql-tools/import@npm:7.0.1": - version: 7.0.1 - resolution: "@graphql-tools/import@npm:7.0.1" +"@graphql-tools/import@npm:7.0.11": + version: 7.0.11 + resolution: "@graphql-tools/import@npm:7.0.11" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.7.2 resolve-from: 5.0.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: eb3596779e1dcebc3453eafdb459575531b30c01ce82c4fb779dccc9d5865ba7e5dbfef443836cd5ecc9250eb8e4001ec0b83878841c2f366d1643ccefc57267 + checksum: 86bee9019a70657778d3c31236e454eb30204bece4daefe1bfa509cafbbddae1e20e60cbc0e186bb7494e030fe857284f2d9db016475dfbe64c59a409e67b878 languageName: node linkType: hard "@graphql-tools/json-file-loader@npm:^8.0.0": - version: 8.0.1 - resolution: "@graphql-tools/json-file-loader@npm:8.0.1" + version: 8.0.11 + resolution: "@graphql-tools/json-file-loader@npm:8.0.11" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.7.2 globby: ^11.0.3 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 803124fc91a83b2e486ec34315510fef1497e4a3800c3557b3d9bf37b8ef182b5898293f05bfee2e663a4102ead766391748901daf92ccf98379fe4ff36cbdee + checksum: 8281ea44b6e543ce66f7d0cb42b97ea38a06eaa5aec7dea8ee889edb376dcf7e3d1447ebc568e53d6857150997d9645708a78e4f470c8cbc6369336650547f6c languageName: node linkType: hard "@graphql-tools/load@npm:^8.0.0": - version: 8.0.2 - resolution: "@graphql-tools/load@npm:8.0.2" + version: 8.0.12 + resolution: "@graphql-tools/load@npm:8.0.12" dependencies: - "@graphql-tools/schema": ^10.0.3 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/schema": ^10.0.16 + "@graphql-tools/utils": ^10.7.2 p-limit: 3.1.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: ddc4bd9dcf5a799321fb1bd21a27887e3c8321003b1826efabff9aae5c189dd8cce0dffa0a94708ef7d64791daf7e73c8ff95cf2f7e036c131ef5eddccf38e34 + checksum: b9cb9f3843e6d28c20c1b1554740823a83011b42e50fdb7952a5c8d67a67e5b8bf77c654865e505acd1ba5429c715a21b9fcdfefafdaa035e2c27b432e89ec3f languageName: node linkType: hard @@ -10492,29 +10937,29 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.3": - version: 9.0.3 - resolution: "@graphql-tools/merge@npm:9.0.3" +"@graphql-tools/merge@npm:^9.0.0, @graphql-tools/merge@npm:^9.0.17": + version: 9.0.17 + resolution: "@graphql-tools/merge@npm:9.0.17" dependencies: - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/utils": ^10.7.2 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 6b027cac570fe7b63ec5b3aeb7d17939d017ec24da3288b38552cfaad1f131c8815f0aff1d79aa0133bb87d12187f73f75e5e01367e9d55419cdcf2aa91dbb3d + checksum: 94f7b891a6cad12ae58c9aae1196bcc5a7dcaa8f3358520bedf4e1780513d3bbbeef4a942d256f22bfcd3d43ef5e127a97b84a202cbf2fc869495a2c4de58148 languageName: node linkType: hard -"@graphql-tools/schema@npm:^10.0.3": - version: 10.0.3 - resolution: "@graphql-tools/schema@npm:10.0.3" +"@graphql-tools/schema@npm:^10.0.11, @graphql-tools/schema@npm:^10.0.16": + version: 10.0.16 + resolution: "@graphql-tools/schema@npm:10.0.16" dependencies: - "@graphql-tools/merge": ^9.0.3 - "@graphql-tools/utils": ^10.0.13 + "@graphql-tools/merge": ^9.0.17 + "@graphql-tools/utils": ^10.7.2 tslib: ^2.4.0 value-or-promise: ^1.0.12 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 23ed5a27d7dbd4171bf8d7fecf5bcd5a3dc840aae15bf58e0d39ed2f0538b8fe410f004d71e8820feb0c7bfb24118f49aaaf17d6a6967afd1418f87b92478c5d + checksum: 59c49b5187f3bf22443b9417cac79f7cdd5f969d043c99aa5d528c10391e71ae848c6e377868af458f86ec86ae2c057c8cb9f8fff4dc203028acc327b1f7e9c9 languageName: node linkType: hard @@ -10533,25 +10978,24 @@ __metadata: linkType: hard "@graphql-tools/url-loader@npm:^8.0.0": - version: 8.0.2 - resolution: "@graphql-tools/url-loader@npm:8.0.2" - dependencies: - "@ardatan/sync-fetch": ^0.0.1 - "@graphql-tools/delegate": ^10.0.4 - "@graphql-tools/executor-graphql-ws": ^1.1.2 - "@graphql-tools/executor-http": ^1.0.9 - "@graphql-tools/executor-legacy-ws": ^1.0.6 - "@graphql-tools/utils": ^10.0.13 - "@graphql-tools/wrap": ^10.0.2 + version: 8.0.24 + resolution: "@graphql-tools/url-loader@npm:8.0.24" + dependencies: + "@graphql-tools/executor-graphql-ws": ^1.3.2 + "@graphql-tools/executor-http": ^1.1.9 + "@graphql-tools/executor-legacy-ws": ^1.1.10 + "@graphql-tools/utils": ^10.7.2 + "@graphql-tools/wrap": ^10.0.16 "@types/ws": ^8.0.0 - "@whatwg-node/fetch": ^0.9.0 + "@whatwg-node/fetch": ^0.10.0 isomorphic-ws: ^5.0.0 + sync-fetch: 0.6.0-2 tslib: ^2.4.0 value-or-promise: ^1.0.11 - ws: ^8.12.0 + ws: ^8.17.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: f3dfb80678fa7b0473f0bbdbbb7ce0d64878bfa2a265bee5dc1eb698ab6c033737a4dd8ab037b880d8aa040771e66118dc067d06af4b813601a2025545e66e1d + checksum: 531c6397f0613aa7fd05cd9c9881261b3cb0897b3393a4f749268f1f0b70cf54bd462e121311d035ffc11d4c26cf72828ffdfc2bda007cfeb85349f618b4b159 languageName: node linkType: hard @@ -10566,17 +11010,17 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.0.13": - version: 10.1.0 - resolution: "@graphql-tools/utils@npm:10.1.0" +"@graphql-tools/utils@npm:^10.0.0, @graphql-tools/utils@npm:^10.7.0, @graphql-tools/utils@npm:^10.7.2": + version: 10.7.2 + resolution: "@graphql-tools/utils@npm:10.7.2" dependencies: "@graphql-typed-document-node/core": ^3.1.1 - cross-inspect: 1.0.0 - dset: ^3.1.2 + cross-inspect: 1.0.1 + dset: ^3.1.4 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 496ccbdbd2b375af977bbe7b2bf28cdcf4609868ad19f1ff313e8fcc1d62449a9f8898e636546a2be5c94539818f09a01ab4f4e890573f497b295a98fb982f2d + checksum: 042580d31a6e0fe4a0667430c43206eac137353c1e6cfc9d2c759e0569c6aa9e1186e6cbfe96dbd095cbccf068e05f937efc2a4c0c5482dff8643ffd3209d3b5 languageName: node linkType: hard @@ -10591,22 +11035,21 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/wrap@npm:^10.0.2": - version: 10.0.2 - resolution: "@graphql-tools/wrap@npm:10.0.2" +"@graphql-tools/wrap@npm:^10.0.16": + version: 10.0.27 + resolution: "@graphql-tools/wrap@npm:10.0.27" dependencies: - "@graphql-tools/delegate": ^10.0.4 - "@graphql-tools/schema": ^10.0.3 - "@graphql-tools/utils": ^10.0.13 - tslib: ^2.4.0 - value-or-promise: ^1.0.12 + "@graphql-tools/delegate": ^10.2.9 + "@graphql-tools/schema": ^10.0.11 + "@graphql-tools/utils": ^10.7.0 + tslib: ^2.8.1 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 495c23449580c516c57b1ebb93adeb9e70d76d88663ed9b85bdc320f50c00003ef0fa8c7372a893c4c93b685e2cd76d1d49a7e84ff27628282f343beacf45e23 + checksum: 8e79ed307caeae1ddcd91a50c6c2e437af7db5fecda9641b90ff23d6c46f14a9a41f08bbc78ca7ba68475fc0ab9818066992aa8f1d3169a06e94233e9122a80b languageName: node linkType: hard -"@graphql-typed-document-node/core@npm:3.2.0, @graphql-typed-document-node/core@npm:^3.1.1": +"@graphql-typed-document-node/core@npm:^3.1.1, @graphql-typed-document-node/core@npm:^3.2.0": version: 3.2.0 resolution: "@graphql-typed-document-node/core@npm:3.2.0" peerDependencies: @@ -10615,27 +11058,17 @@ __metadata: languageName: node linkType: hard -"@grpc/grpc-js@npm:^1.7.1": - version: 1.12.2 - resolution: "@grpc/grpc-js@npm:1.12.2" +"@grpc/grpc-js@npm:^1.10.9, @grpc/grpc-js@npm:^1.11.1, @grpc/grpc-js@npm:^1.7.1": + version: 1.12.5 + resolution: "@grpc/grpc-js@npm:1.12.5" dependencies: "@grpc/proto-loader": ^0.7.13 "@js-sdsl/ordered-map": ^4.4.2 - checksum: ee51317f92ec5331931b68bf3a4e485a6f7a715609b8aaa29573b3a2b211d5f37c48cda084e25e2bf21142925f8ec9ca49a9e613cbbe06b73785150825d171df + checksum: 415bad10412b713f1f4094e6af3d2067d03794540fecc16cd3cdcd6079e4a632178da25485dfef9a07add8bf498cfccf1a54f8184d671eb256932c47cfe7f785 languageName: node linkType: hard -"@grpc/grpc-js@npm:~1.10.0": - version: 1.10.11 - resolution: "@grpc/grpc-js@npm:1.10.11" - dependencies: - "@grpc/proto-loader": ^0.7.13 - "@js-sdsl/ordered-map": ^4.4.2 - checksum: 6e7e50b11a178c49a425452e20977df5a718469fbc9374246b83145a2ad74a9c5560d5afa32405faca326f0853dd86abc2550df5bff682b9831b529623ce3b68 - languageName: node - linkType: hard - -"@grpc/proto-loader@npm:^0.7.0, @grpc/proto-loader@npm:^0.7.13": +"@grpc/proto-loader@npm:^0.7.13": version: 0.7.13 resolution: "@grpc/proto-loader@npm:0.7.13" dependencies: @@ -10650,15 +11083,15 @@ __metadata: linkType: hard "@headlessui/react@npm:^1.7.15": - version: 1.7.18 - resolution: "@headlessui/react@npm:1.7.18" + version: 1.7.19 + resolution: "@headlessui/react@npm:1.7.19" dependencies: "@tanstack/react-virtual": ^3.0.0-beta.60 client-only: ^0.0.1 peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 - checksum: 7463167b4cf2ad57f92c2deedd6429a245dfc4d979ead5533d2e83429e3e4dd39c346e5a8fd958e6bd9e2fba42486af97577b7dd3137f5a797dacc93632578ba + checksum: 2a343a5fcf1f45e870cc94613231b89a8da78114001ffafa4751a0eceae7569ff9237aff1f2aedfa6f6e53ee3bb9ba5e5d19ebf1878fee3ff4f3c733fddc1087 languageName: node linkType: hard @@ -10797,12 +11230,12 @@ __metadata: version: 0.0.0-use.local resolution: "@internal/plugin-dynamic-plugins-info-backend@workspace:plugins/dynamic-plugins-info-backend" dependencies: - "@backstage/backend-defaults": 0.5.2 - "@backstage/backend-dynamic-feature-service": 0.4.4 - "@backstage/backend-plugin-api": 1.0.1 - "@backstage/backend-test-utils": 1.0.2 - "@backstage/cli": 0.28.2 - "@backstage/config": 1.2.0 + "@backstage/backend-defaults": 0.6.2 + "@backstage/backend-dynamic-feature-service": 0.5.2 + "@backstage/backend-plugin-api": 1.1.0 + "@backstage/backend-test-utils": 1.2.0 + "@backstage/cli": 0.29.4 + "@backstage/config": 1.3.1 "@types/express": 4.17.21 "@types/supertest": 6.0.2 express: 4.21.2 @@ -10818,13 +11251,13 @@ __metadata: version: 0.0.0-use.local resolution: "@internal/plugin-dynamic-plugins-info@workspace:plugins/dynamic-plugins-info" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/core-app-api": 1.15.1 - "@backstage/core-components": 0.15.1 - "@backstage/core-plugin-api": 1.10.0 - "@backstage/dev-utils": 1.1.2 - "@backstage/test-utils": 1.7.0 - "@backstage/theme": 0.6.0 + "@backstage/cli": 0.29.4 + "@backstage/core-app-api": 1.15.3 + "@backstage/core-components": 0.16.2 + "@backstage/core-plugin-api": 1.10.2 + "@backstage/dev-utils": 1.1.5 + "@backstage/test-utils": 1.7.3 + "@backstage/theme": 0.6.3 "@material-table/core": 3.2.5 "@mui/icons-material": 5.16.14 "@mui/material": 5.16.14 @@ -10848,18 +11281,18 @@ __metadata: resolution: "@internal/plugin-licensed-users-info-backend@workspace:plugins/licensed-users-info-backend" dependencies: "@backstage-community/plugin-rbac-common": 1.12.3 - "@backstage/backend-defaults": 0.5.2 - "@backstage/backend-plugin-api": 1.0.1 - "@backstage/backend-test-utils": 1.0.2 - "@backstage/catalog-client": 1.7.1 - "@backstage/catalog-model": 1.7.0 - "@backstage/cli": 0.28.2 - "@backstage/config": 1.2.0 - "@backstage/errors": 1.2.4 - "@backstage/plugin-auth-backend": 0.23.1 - "@backstage/plugin-auth-backend-module-guest-provider": 0.2.1 - "@backstage/plugin-permission-common": 0.8.1 - "@backstage/types": 1.1.1 + "@backstage/backend-defaults": 0.6.2 + "@backstage/backend-plugin-api": 1.1.0 + "@backstage/backend-test-utils": 1.2.0 + "@backstage/catalog-client": 1.9.0 + "@backstage/catalog-model": 1.7.2 + "@backstage/cli": 0.29.4 + "@backstage/config": 1.3.1 + "@backstage/errors": 1.2.6 + "@backstage/plugin-auth-backend": 0.24.1 + "@backstage/plugin-auth-backend-module-guest-provider": 0.2.3 + "@backstage/plugin-permission-common": 0.8.3 + "@backstage/types": 1.2.0 "@types/express": 4.17.21 "@types/supertest": 6.0.2 express: 4.21.2 @@ -10878,12 +11311,12 @@ __metadata: version: 0.0.0-use.local resolution: "@internal/plugin-scalprum-backend@workspace:plugins/scalprum-backend" dependencies: - "@backstage/backend-defaults": 0.5.2 - "@backstage/backend-dynamic-feature-service": 0.4.4 - "@backstage/backend-plugin-api": 1.0.1 - "@backstage/backend-test-utils": 1.0.2 - "@backstage/cli": 0.28.2 - "@backstage/config": 1.2.0 + "@backstage/backend-defaults": 0.6.2 + "@backstage/backend-dynamic-feature-service": 0.5.2 + "@backstage/backend-plugin-api": 1.1.0 + "@backstage/backend-test-utils": 1.2.0 + "@backstage/cli": 0.29.4 + "@backstage/config": 1.3.1 "@types/express": 4.17.21 "@types/mock-fs": 4.13.4 "@types/supertest": 6.0.2 @@ -10969,11 +11402,11 @@ __metadata: linkType: hard "@janus-idp/backstage-plugin-audit-log-node@npm:^1.7.1": - version: 1.7.1 - resolution: "@janus-idp/backstage-plugin-audit-log-node@npm:1.7.1" + version: 1.8.1 + resolution: "@janus-idp/backstage-plugin-audit-log-node@npm:1.8.1" dependencies: lodash: ^4.17.21 - checksum: 1d8861a8bdb88aabfd39493077f360d505dc110b310f079d64fc48f1896037afe0b7f991f9541f02437f6011d1e45ddaf42f7d9e8698c57a3e662687f2dd186a + checksum: 56e854c94663e14c963dbf43564fe1d94f8b55e827aa6b962a5740ad41b1cc100fb729f91245546f305cd9189127426d4c054fa80bbd92bfd5ec191bc73687ee languageName: node linkType: hard @@ -10987,9 +11420,9 @@ __metadata: languageName: node linkType: hard -"@janus-idp/cli@npm:1.18.5": - version: 1.18.5 - resolution: "@janus-idp/cli@npm:1.18.5" +"@janus-idp/cli@npm:3.0.0": + version: 3.0.0 + resolution: "@janus-idp/cli@npm:3.0.0" dependencies: "@backstage/cli-common": ^0.1.14 "@backstage/cli-node": ^0.2.9 @@ -11056,13 +11489,13 @@ __metadata: optional: true bin: janus-cli: bin/janus-cli - checksum: 291d1350b4caf33db2e5cd24d5c685c5e63d7f0f60cf88959468e5483535a588804d20d23bb034466d5240efdb31a8619aa4726ecad9bd013aaec6d95db96eff + checksum: 5700e999eeb51bca73ae764f7c7c504a517d1fa8550ada0aed6ad9cf6b3ff2606d1cba0440422ab3259971f595d865400f279b706ad0e2216ec254c35da40bd9 languageName: node linkType: hard "@janus-idp/shared-react@npm:^2.13.0, @janus-idp/shared-react@npm:^2.13.1": - version: 2.13.1 - resolution: "@janus-idp/shared-react@npm:2.13.1" + version: 2.14.1 + resolution: "@janus-idp/shared-react@npm:2.14.1" dependencies: "@backstage/catalog-model": ^1.7.0 "@backstage/core-components": ^0.15.1 @@ -11072,6 +11505,7 @@ __metadata: "@kubernetes/client-node": ^0.22.1 "@material-ui/core": ^4.12.4 "@mui/icons-material": 5.15.17 + "@mui/material": ^5.15.17 classnames: ^2.3.2 date-fns: ^2.30.0 file-saver: ^2.0.5 @@ -11080,16 +11514,16 @@ __metadata: react-use: ^17.5.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 - checksum: 7b19a31ca484ec89a77e926406105e34af56ded97832c8afd8cdac4205173ed3d61b578deca0bb74760c4cdb7ae962e294dd8bf42a853fbd6a8e1ffda695a737 + checksum: 65cbbb9b4e5bd03674df903be358093988d4d95ed3e0527f38e069ac07e21dd004f0d9ac2fac2243d9e022b4158908bf025bfbab3f038deef980e073c1ecc6dc languageName: node linkType: hard "@jest-mock/express@npm:^2.0.1": - version: 2.0.2 - resolution: "@jest-mock/express@npm:2.0.2" + version: 2.1.0 + resolution: "@jest-mock/express@npm:2.1.0" dependencies: - "@types/express": ^4.17.17 - checksum: 558feb47e7e9620a5e53b83c51b3802782ecf7ab32b8d81077b16f641b7e1a6dc6fffa652d2ab48b28ba0f0634fa6387bd21b08f62b92bd730dfca167a4c2795 + "@types/express": ^4.17.21 + checksum: 305b72c214c1e80ed16271aa48e4d6d906346f5221a4e873d1e8ae48c32c2316cb88bed819b195c934c339b9ab41d4b34c4e41ac66feefe980d2cd16bc0b6d20 languageName: node linkType: hard @@ -11332,14 +11766,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" +"@jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" dependencies: "@jridgewell/set-array": ^1.2.1 "@jridgewell/sourcemap-codec": ^1.4.10 "@jridgewell/trace-mapping": ^0.3.24 - checksum: ff7a1764ebd76a5e129c8890aa3e2f46045109dabde62b0b6c6a250152227647178ff2069ea234753a690d8f3c4ac8b5e7b267bbee272bffb7f3b0a370ab6e52 + checksum: c0687b5227461717aa537fe71a42e356bcd1c43293b3353796a148bf3b0d6f59109def46c22f05b60e29a46f19b2e4676d027959a7c53a6c92b9d5b0d87d0420 languageName: node linkType: hard @@ -11358,19 +11792,19 @@ __metadata: linkType: hard "@jridgewell/source-map@npm:^0.3.3": - version: 0.3.5 - resolution: "@jridgewell/source-map@npm:0.3.5" + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" dependencies: - "@jridgewell/gen-mapping": ^0.3.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1ad4dec0bdafbade57920a50acec6634f88a0eb735851e0dda906fa9894e7f0549c492678aad1a10f8e144bfe87f238307bf2a914a1bc85b7781d345417e9f6f + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.25 + checksum: c9dc7d899397df95e3c9ec287b93c0b56f8e4453cd20743e2b9c8e779b1949bc3cccf6c01bb302779e46560eb45f62ea38d19fedd25370d814734268450a9f30 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 05df4f2538b3b0f998ea4c1cd34574d0feba216fa5d4ccaef0187d12abf82eafe6021cec8b49f9bb4d90f2ba4582ccc581e72986a5fcf4176ae0cfeb04cf52ec languageName: node linkType: hard @@ -11384,7 +11818,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -11427,11 +11861,11 @@ __metadata: linkType: hard "@jsep-plugin/ternary@npm:^1.0.2": - version: 1.1.3 - resolution: "@jsep-plugin/ternary@npm:1.1.3" + version: 1.1.4 + resolution: "@jsep-plugin/ternary@npm:1.1.4" peerDependencies: jsep: ^0.4.0||^1.0.0 - checksum: c05408b0302844723f98b90787425beb4e8ad14029df3d98e88b9d61343d81201a7f0bf3db5806dcf0378c7be69f5b4c9fcd04f055bda282c73f4d1b425e502a + checksum: 2b6ece0adeb9e21fc34ff0a868ca7698a89c1328b61a233dcff5b28d9eb3f86b2710ab23a9928408b50cbe69e7d8b2f73e166d8d9c0d8601baaf8a174139a185 languageName: node linkType: hard @@ -11445,8 +11879,8 @@ __metadata: linkType: hard "@jsonjoy.com/json-pack@npm:^1.0.3": - version: 1.0.4 - resolution: "@jsonjoy.com/json-pack@npm:1.0.4" + version: 1.1.1 + resolution: "@jsonjoy.com/json-pack@npm:1.1.1" dependencies: "@jsonjoy.com/base64": ^1.1.1 "@jsonjoy.com/util": ^1.1.2 @@ -11454,16 +11888,16 @@ __metadata: thingies: ^1.20.0 peerDependencies: tslib: 2 - checksum: 21e5166d5b5f4856791c2c7019dfba0e8313d2501937543691cdffd5fbe1f9680548a456d2c8aa78929aa69b2ac4c787ca8dbc7cf8e4926330decedcd0d9b8ea + checksum: bf1065b60c65bc0f3b3c1d496b8c65152ec23ecaefee8a5ff26dc7bc197aff541f15d1e1330bbd8b33b1c25d740406fc3c5f6d9da261ec6f1a753ac08fb0eb85 languageName: node linkType: hard -"@jsonjoy.com/util@npm:^1.1.2": - version: 1.1.3 - resolution: "@jsonjoy.com/util@npm:1.1.3" +"@jsonjoy.com/util@npm:^1.1.2, @jsonjoy.com/util@npm:^1.3.0": + version: 1.5.0 + resolution: "@jsonjoy.com/util@npm:1.5.0" peerDependencies: tslib: 2 - checksum: 144df56aafcae8984d43ebf0f2a11cecb69052286c83522758823710fbf2caabbe93946bdf5c343d3b50073bb0a1c332fea0e797eb8b4df35db480a75b0946ac + checksum: 62892928e1223798e3d910be8dde4fdceaddf2ebdd4bdc0c50495b8ee33503317adf7b5118cd8f5a63045e3f232d70e95fb0279828caf1ec392ffeeb7ea129b8 languageName: node linkType: hard @@ -11474,13 +11908,6 @@ __metadata: languageName: node linkType: hard -"@kamilkisiela/fast-url-parser@npm:^1.1.4": - version: 1.1.4 - resolution: "@kamilkisiela/fast-url-parser@npm:1.1.4" - checksum: 921d305eff1fce5c7c669aee5cfe39e50109968addb496c23f0a42253d030e3cd5865eb01b13245915923bee452db75ba8a8254e69b0d0575d3c168efce7091e - languageName: node - linkType: hard - "@keycloak/keycloak-admin-client@npm:24.0.5": version: 24.0.5 resolution: "@keycloak/keycloak-admin-client@npm:24.0.5" @@ -11513,68 +11940,65 @@ __metadata: languageName: node linkType: hard -"@keyv/redis@npm:^2.5.3": - version: 2.8.4 - resolution: "@keyv/redis@npm:2.8.4" +"@keyv/memcache@npm:^2.0.1": + version: 2.0.1 + resolution: "@keyv/memcache@npm:2.0.1" dependencies: - ioredis: ^5.3.2 - checksum: 088fb439dc900d6c848c187a0a3218f8c80e3d5df0ec94995d2245b701d59c9d99d4ccc2b48b12682e20d1c0653ababc2f7a51a04737c4df539f4dac82eca87b + "@keyv/serialize": "*" + buffer: ^6.0.3 + memjs: ^1.3.2 + checksum: 357b320fb3998e7bff9e3a5702da3cc0d4337586f1a04392dfb490cef7af2c039c3ecda922b18029cc9de6e9310a91cde1602b0851fb86acb93b629200458cc2 languageName: node linkType: hard -"@kubernetes-models/apimachinery@npm:^1.2.1": - version: 1.2.1 - resolution: "@kubernetes-models/apimachinery@npm:1.2.1" +"@keyv/redis@npm:^2.5.3": + version: 2.8.5 + resolution: "@keyv/redis@npm:2.8.5" dependencies: - "@kubernetes-models/base": ^4.0.3 - "@kubernetes-models/validate": ^3.1.1 - tslib: ^2.4.0 - checksum: 69145452a2f1b9314aa33326d236e1829905bbdc48727927d065570e2fe95c3895e7117e54f394823c06f5811c7de689f7df1f8010f49d6b89d59241c8704a02 + ioredis: ^5.4.1 + checksum: 87ffec61d31fa9de128ba3e5a7b616535ddbdaa4d92cbc9e1a9fab143adf967135e9cca16e192e8f52cc1ba00ed2a7f10eca9944d7550385530dab95333e81ef languageName: node linkType: hard -"@kubernetes-models/apimachinery@npm:^2.0.0": - version: 2.0.0 - resolution: "@kubernetes-models/apimachinery@npm:2.0.0" +"@keyv/redis@npm:^4.0.1": + version: 4.2.0 + resolution: "@keyv/redis@npm:4.2.0" dependencies: - "@kubernetes-models/base": ^5.0.0 - "@kubernetes-models/validate": ^4.0.0 - "@swc/helpers": ^0.5.8 - checksum: 0e9ed8f05166221e2ccfe21a45a3aa480ab31c8e8b97b2dbb22d1d3c60477fb0b093def5d78727ba1037df4f14a9c7f38a7da0432c769fdc606097b4b6018dd6 + cluster-key-slot: ^1.1.2 + keyv: ^5.2.2 + redis: ^4.7.0 + checksum: 1f177ea64228abd1b3a98026c9f4b2fe7d5ad3eec3887b02b06828db958836ddcc07c9b3a6a80c5c382a495656242311c528798eeadb3e935c7bbf8651d89ce9 languageName: node linkType: hard -"@kubernetes-models/base@npm:^4.0.3": - version: 4.0.3 - resolution: "@kubernetes-models/base@npm:4.0.3" +"@keyv/serialize@npm:*, @keyv/serialize@npm:^1.0.2": + version: 1.0.2 + resolution: "@keyv/serialize@npm:1.0.2" dependencies: - "@kubernetes-models/validate": ^3.1.1 - is-plain-object: ^5.0.0 - tslib: ^2.4.0 - checksum: 0f1f333d7e70ba87c322c0bfc9497c4d51e7c7063f0530106daac2e7eac328477df1bf48e255ddf595fb1b49ae0d5214e4f9b5df91d7f67892a0db047d05995f + buffer: ^6.0.3 + checksum: c1788186d490521d67f3f6367effe2a2ccf2804960f449d728dc50a65ff2840501865f95ed5181c4b773cdeed61ebedb01c0f781a881034c8f3dafc1b98fef12 languageName: node linkType: hard -"@kubernetes-models/base@npm:^5.0.0": - version: 5.0.0 - resolution: "@kubernetes-models/base@npm:5.0.0" +"@kubernetes-models/apimachinery@npm:^2.0.0, @kubernetes-models/apimachinery@npm:^2.0.2": + version: 2.0.2 + resolution: "@kubernetes-models/apimachinery@npm:2.0.2" dependencies: + "@kubernetes-models/base": ^5.0.1 "@kubernetes-models/validate": ^4.0.0 - is-plain-object: ^5.0.0 - tslib: ^2.4.0 - checksum: 3ac064e6c18d88f356b8e91d320e08ee31a12a3ecd47d6d86e23566203125640b88223bc9003d02d420b6a9a86f2990f65e4a26c32ed075ef0753d8599549c0b + "@swc/helpers": ^0.5.8 + checksum: f99c50fc3c8446e6b525b74970c7dafe217fe3ffb944078c70b6c21ca0138040b44d094b57fb9218b1e52a5e4c802f1ea93d57c776b08eee59874be286f5545d languageName: node linkType: hard -"@kubernetes-models/validate@npm:^3.1.1": - version: 3.1.1 - resolution: "@kubernetes-models/validate@npm:3.1.1" +"@kubernetes-models/base@npm:^5.0.0, @kubernetes-models/base@npm:^5.0.1": + version: 5.0.1 + resolution: "@kubernetes-models/base@npm:5.0.1" dependencies: - ajv: ^8.12.0 - ajv-formats: ^2.1.1 - ajv-formats-draft2019: ^1.6.1 + "@kubernetes-models/validate": ^4.0.0 + is-plain-object: ^5.0.0 tslib: ^2.4.0 - checksum: cb5be259a0b5cead73b98648a69785a5e04c2fa3ce199033604c4551b6c4786435c9e5f926cff2d63f50a6fbd2c0ad1199550cb0cbea781e64673b29c4d85345 + checksum: 9d0506b9b4b4ac366feb97f574e84f59d957377bb5c4c929332c3db8bd58bb70bcb1045d007d89369a73521591f7d0d5f651c43fca0779ed65d157258b6fd59a languageName: node linkType: hard @@ -11648,19 +12072,42 @@ __metadata: languageName: node linkType: hard -"@kubernetes/client-node@npm:^0.22.1": - version: 0.22.1 - resolution: "@kubernetes/client-node@npm:0.22.1" +"@kubernetes/client-node@npm:1.0.0-rc7": + version: 1.0.0-rc7 + resolution: "@kubernetes/client-node@npm:1.0.0-rc7" dependencies: "@types/js-yaml": ^4.0.1 "@types/node": ^22.0.0 - "@types/request": ^2.47.1 - "@types/ws": ^8.5.3 - byline: ^5.0.0 + "@types/node-fetch": ^2.6.9 + "@types/stream-buffers": ^3.0.3 + "@types/tar": ^6.1.1 + "@types/ws": ^8.5.4 + form-data: ^4.0.0 isomorphic-ws: ^5.0.0 js-yaml: ^4.1.0 jsonpath-plus: ^10.0.0 - openid-client: ^5.3.0 + node-fetch: ^2.6.9 + openid-client: ^5.6.5 + rfc4648: ^1.3.0 + stream-buffers: ^3.0.2 + tar: ^7.0.0 + tmp-promise: ^3.0.2 + tslib: ^2.5.0 + url-parse: ^1.4.3 + ws: ^8.18.0 + checksum: 82dca69f28e24c635badf866c1f548078d9ce2db5d4911c1831d257b9db3748fe306e35bdb3c04b54d9d6e5565625c0f3a43fc4bd75945b83475654b74ce5c31 + languageName: node + linkType: hard + +"@kubernetes/client-node@npm:^0.22.1": + version: 0.22.3 + resolution: "@kubernetes/client-node@npm:0.22.3" + dependencies: + byline: ^5.0.0 + isomorphic-ws: ^5.0.0 + js-yaml: ^4.1.0 + jsonpath-plus: ^10.2.0 + openid-client: ^6.1.3 request: ^2.88.0 rfc4648: ^1.3.0 stream-buffers: ^3.0.2 @@ -11670,39 +12117,39 @@ __metadata: dependenciesMeta: openid-client: optional: true - checksum: 501377ad70681df9e30885cf18e40f9b16fd452bc50d9a46688a6f667a2a7f490238269e528b1f1804a6eaf4347f8edda57e5129b1a28a52915fe7898ea84329 + checksum: bd51c8b7f999d31772bb949492c5e817be972db5c872047f61bc25084d8cbc5fb69a335182a1e3afcd247dc5d4249a073fc4960eeaea8ccd8a85dff107c2de16 languageName: node linkType: hard "@leichtgewicht/ip-codec@npm:^2.0.1": - version: 2.0.4 - resolution: "@leichtgewicht/ip-codec@npm:2.0.4" - checksum: 468de1f04d33de6d300892683d7c8aecbf96d1e2c5fe084f95f816e50a054d45b7c1ebfb141a1447d844b86a948733f6eebd92234da8581c84a1ad4de2946a2d + version: 2.0.5 + resolution: "@leichtgewicht/ip-codec@npm:2.0.5" + checksum: 4fcd025d0a923cb6b87b631a83436a693b255779c583158bbeacde6b4dd75b94cc1eba1c9c188de5fc36c218d160524ea08bfe4ef03a056b00ff14126d66f881 languageName: node linkType: hard "@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.1.0": - version: 1.2.1 - resolution: "@lezer/common@npm:1.2.1" - checksum: 0bd092e293a509ce334f4aaf9a4d4a25528f743cd9d7e7948c697e34ac703b805b288b62ad01563488fb206fc34ff05084f7fc5d864be775924b3d0d53ea5dd2 + version: 1.2.3 + resolution: "@lezer/common@npm:1.2.3" + checksum: 9b5f52d949adae69d077f56c0b1c2295923108c3dfb241dd9f17654ff708f3eab81ff9fa7f0d0e4a668eabdcb9d961c73e75caca87c966ca1436e30e49130fcb languageName: node linkType: hard "@lezer/highlight@npm:^1.0.0": - version: 1.2.0 - resolution: "@lezer/highlight@npm:1.2.0" + version: 1.2.1 + resolution: "@lezer/highlight@npm:1.2.1" dependencies: "@lezer/common": ^1.0.0 - checksum: 5b9dfe741f95db13f6124cb9556a43011cb8041ecf490be98d44a86b04d926a66e912bcd3a766f6a3d79e064410f1a2f60ab240b50b645a12c56987bf4870086 + checksum: a8822d7e37f79ff64669eb2df4a9f9d16580e88f2b276a646092e19a9bdccac304e92510e200e35869a8b1f6c27eba5972c508d347a277e9b722d582ab7a23d5 languageName: node linkType: hard "@lezer/lr@npm:^1.0.0": - version: 1.4.0 - resolution: "@lezer/lr@npm:1.4.0" + version: 1.4.2 + resolution: "@lezer/lr@npm:1.4.2" dependencies: "@lezer/common": ^1.0.0 - checksum: 4c8517017e9803415c6c5cb8230d8764107eafd7d0b847676cd1023abb863a4b268d0d01c7ce3cf1702c4749527c68f0a26b07c329cb7b68c36ed88362d7b193 + checksum: 94318ad046c7dfcc8d37e26cb85b99623c39aef60aa51ec2abb30928e7a649f38fa5520f34bd5b356f1db11b6991999589f039e87c8949b0f163be3764f029d8 languageName: node linkType: hard @@ -11799,6 +12246,13 @@ __metadata: languageName: node linkType: hard +"@marijn/find-cluster-break@npm:^1.0.0": + version: 1.0.2 + resolution: "@marijn/find-cluster-break@npm:1.0.2" + checksum: 0d836de25e04d58325813401ef3c2d34caf040da985a5935fcbc9d84e7b47a21bdb15f57d70c2bf0960bd29ed3dbbb1afd00cdd0fc4fafbee7fd0ffe7d508ae1 + languageName: node + linkType: hard + "@material-table/core@npm:3.2.5, @material-table/core@npm:^3.1.0": version: 3.2.5 resolution: "@material-table/core@npm:3.2.5" @@ -12072,28 +12526,28 @@ __metadata: languageName: node linkType: hard -"@module-federation/bridge-react-webpack-plugin@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/bridge-react-webpack-plugin@npm:0.6.12" +"@module-federation/bridge-react-webpack-plugin@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/bridge-react-webpack-plugin@npm:0.8.9" dependencies: - "@module-federation/sdk": 0.6.12 + "@module-federation/sdk": 0.8.9 "@types/semver": 7.5.8 semver: 7.6.3 - checksum: ed3040acac5c033294fa870c41cde0b60e99a2929e38363f74c6b89931bf5679917d009500c20947ad66759724de619428b72a0222c87f33566c9c3d4a3e3607 + checksum: f731e42ca14af20634d5a3b41af12f0969a4df5d48270206524fe5a79f1603235a397419c9ba0343735f5c345b1ac67f5c88172d56ed58953b20beb40bea37a0 languageName: node linkType: hard -"@module-federation/data-prefetch@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/data-prefetch@npm:0.6.12" +"@module-federation/data-prefetch@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/data-prefetch@npm:0.8.9" dependencies: - "@module-federation/runtime": 0.6.12 - "@module-federation/sdk": 0.6.12 + "@module-federation/runtime": 0.8.9 + "@module-federation/sdk": 0.8.9 fs-extra: 9.1.0 peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: a9296fcb69c9f278e1955de1c2e84e8574866568d458d0321a74d39c0c6bdfe21dfdd1006d85ffcaa0bdc993c06e3dcd53ae8f77b7ce4f3e8840abc05ae6c8dc + checksum: 1b1a078eec13cc0f7e9ca2f3346326c1e4f19cc899e124fd0c351ad717094b2772995660cd622f01a2eb22ad795bb03369699a2dabe0e23ebc7f26109d104458 languageName: node linkType: hard @@ -12126,13 +12580,14 @@ __metadata: languageName: node linkType: hard -"@module-federation/dts-plugin@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/dts-plugin@npm:0.6.12" +"@module-federation/dts-plugin@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/dts-plugin@npm:0.8.9" dependencies: - "@module-federation/managers": 0.6.12 - "@module-federation/sdk": 0.6.12 - "@module-federation/third-party-dts-extractor": 0.6.12 + "@module-federation/error-codes": 0.8.9 + "@module-federation/managers": 0.8.9 + "@module-federation/sdk": 0.8.9 + "@module-federation/third-party-dts-extractor": 0.8.9 adm-zip: ^0.5.10 ansi-colors: ^4.1.3 axios: ^1.7.4 @@ -12151,7 +12606,7 @@ __metadata: peerDependenciesMeta: vue-tsc: optional: true - checksum: d9cb3891101fc21d2f1a0d5a87c863f5cec6be5b5515fa84eb6e9d93b3665ca18685ff8a2aa8881006e13d15ce2ffa21406153426823dc10694672a10ef72fcb + checksum: e5e09c08ca186559a06f539272d2ff9005cc24ee69dd207c992ce9fcf8496640cbbdd022574e8bbdd4d21df886d71975215c3c5b2ae946defaa33f2156cd8bc8 languageName: node linkType: hard @@ -12181,18 +12636,20 @@ __metadata: languageName: node linkType: hard -"@module-federation/enhanced@npm:^0.6.0": - version: 0.6.12 - resolution: "@module-federation/enhanced@npm:0.6.12" +"@module-federation/enhanced@npm:^0.8.0": + version: 0.8.9 + resolution: "@module-federation/enhanced@npm:0.8.9" dependencies: - "@module-federation/bridge-react-webpack-plugin": 0.6.12 - "@module-federation/data-prefetch": 0.6.12 - "@module-federation/dts-plugin": 0.6.12 - "@module-federation/managers": 0.6.12 - "@module-federation/manifest": 0.6.12 - "@module-federation/rspack": 0.6.12 - "@module-federation/runtime-tools": 0.6.12 - "@module-federation/sdk": 0.6.12 + "@module-federation/bridge-react-webpack-plugin": 0.8.9 + "@module-federation/data-prefetch": 0.8.9 + "@module-federation/dts-plugin": 0.8.9 + "@module-federation/error-codes": 0.8.9 + "@module-federation/inject-external-runtime-core-plugin": 0.8.9 + "@module-federation/managers": 0.8.9 + "@module-federation/manifest": 0.8.9 + "@module-federation/rspack": 0.8.9 + "@module-federation/runtime-tools": 0.8.9 + "@module-federation/sdk": 0.8.9 btoa: ^1.2.1 upath: 2.0.1 peerDependencies: @@ -12206,7 +12663,23 @@ __metadata: optional: true webpack: optional: true - checksum: 8459c1cf50de5eb32aed22f4b16489873bada69a2283c773754726726d5eeeb1791d55acebed3567e2856c42e21c1426eef5ae81c851569bec472b1d3502ceef + checksum: 12b0cafc428bc65e06cbab407e369fe24739923e1555005b6954cebc379c8c2f8c10758081e479293687fe6c2dba437204f3f8fe7f83545a565a80484c322f82 + languageName: node + linkType: hard + +"@module-federation/error-codes@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/error-codes@npm:0.8.9" + checksum: afeacc27a133e7867db4df6f8245b5d5c465fdd2faaec8608aea2b34bd922f38f23c02ed6dcd95303dddb2735b8fcc1bc137a08d470e605ca17807b705053578 + languageName: node + linkType: hard + +"@module-federation/inject-external-runtime-core-plugin@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/inject-external-runtime-core-plugin@npm:0.8.9" + peerDependencies: + "@module-federation/runtime-tools": 0.8.9 + checksum: 77d8361051d54345d346cf3a3d967ed71d9a0bf83182a101c0dfa5c1f6593219521e80a8fb048a4a47e40a3fc4cd552e388728c853fcdcd52bb8870c7e345069 languageName: node linkType: hard @@ -12221,14 +12694,14 @@ __metadata: languageName: node linkType: hard -"@module-federation/managers@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/managers@npm:0.6.12" +"@module-federation/managers@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/managers@npm:0.8.9" dependencies: - "@module-federation/sdk": 0.6.12 + "@module-federation/sdk": 0.8.9 find-pkg: 2.0.0 fs-extra: 9.1.0 - checksum: 65531add0f617102ae892a5bc6846c921370d4ce85d2f650887d8ed9fef48c8fc7eb3a4e8908fabd0429f87161396b4df478d7548158e0cd7d75819d86f8f6dd + checksum: b477542ad7faf02c5fce1c50a5d49ed704aebf11091c942c8cfc8615cced35efd1f3180afd0d281959a6deae792b0f6910d2da9187a83dd7761042a56dfd27b4 languageName: node linkType: hard @@ -12245,16 +12718,16 @@ __metadata: languageName: node linkType: hard -"@module-federation/manifest@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/manifest@npm:0.6.12" +"@module-federation/manifest@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/manifest@npm:0.8.9" dependencies: - "@module-federation/dts-plugin": 0.6.12 - "@module-federation/managers": 0.6.12 - "@module-federation/sdk": 0.6.12 + "@module-federation/dts-plugin": 0.8.9 + "@module-federation/managers": 0.8.9 + "@module-federation/sdk": 0.8.9 chalk: 3.0.0 find-pkg: 2.0.0 - checksum: 3cef7c8d6ae40a917c27ea456ca5fcc6bed66f9a1255afef811fa788d4c9a9375873e0de933eacf0318a89cfbcbeeea29077353bc88315ba6552bb5249c17993 + checksum: a5221fccfc626250f5256a656b55d693077076fcb0b88d103b97c6e4d18f4656752734f5966ded0ac1e1a5a501629d179d23017857da640af0fe46ad2fecdb33 languageName: node linkType: hard @@ -12271,17 +12744,19 @@ __metadata: languageName: node linkType: hard -"@module-federation/rspack@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/rspack@npm:0.6.12" +"@module-federation/rspack@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/rspack@npm:0.8.9" dependencies: - "@module-federation/bridge-react-webpack-plugin": 0.6.12 - "@module-federation/dts-plugin": 0.6.12 - "@module-federation/managers": 0.6.12 - "@module-federation/manifest": 0.6.12 - "@module-federation/runtime-tools": 0.6.12 - "@module-federation/sdk": 0.6.12 + "@module-federation/bridge-react-webpack-plugin": 0.8.9 + "@module-federation/dts-plugin": 0.8.9 + "@module-federation/inject-external-runtime-core-plugin": 0.8.9 + "@module-federation/managers": 0.8.9 + "@module-federation/manifest": 0.8.9 + "@module-federation/runtime-tools": 0.8.9 + "@module-federation/sdk": 0.8.9 peerDependencies: + "@rspack/core": ">=0.7" typescript: ^4.9.0 || ^5.0.0 vue-tsc: ">=1.0.24" peerDependenciesMeta: @@ -12289,7 +12764,17 @@ __metadata: optional: true vue-tsc: optional: true - checksum: 1449250ca962a8af14c9a8e2289a38bde9692fed3cb68e16f3c74d6996d58c67a9b4bead1a59b081d9e0e8bfb73ce824df65f5fe1065bb9b9ee71d71aed885f2 + checksum: 027b759e0c2b05f55b50835e3dad556ad4b889885fe64de3ee55d62850d3cff7fa746f517f8bc127be3a6d5ac4b6d78bc5c639ed378afe29d3917e4dfef67a8a + languageName: node + linkType: hard + +"@module-federation/runtime-core@npm:0.6.17": + version: 0.6.17 + resolution: "@module-federation/runtime-core@npm:0.6.17" + dependencies: + "@module-federation/error-codes": 0.8.9 + "@module-federation/sdk": 0.8.9 + checksum: c7da28d11137b1d0925461d77660b4e431b2a6f0d66e851f34609c9d7acf515f2db9d993b6c2e993e3721753fb2df8fcd4d0bf62ee7b84cde9367b3bfce873e9 languageName: node linkType: hard @@ -12303,13 +12788,13 @@ __metadata: languageName: node linkType: hard -"@module-federation/runtime-tools@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/runtime-tools@npm:0.6.12" +"@module-federation/runtime-tools@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/runtime-tools@npm:0.8.9" dependencies: - "@module-federation/runtime": 0.6.12 - "@module-federation/webpack-bundler-runtime": 0.6.12 - checksum: 6a7409b87d02e228a1e81864ea178f4d9567eddb7edbc84ff1c514da3c873f0b1ab706f74b2a138585b3c6c0507f7ae8af9e5eb46cd28983371d459e0a5f05df + "@module-federation/runtime": 0.8.9 + "@module-federation/webpack-bundler-runtime": 0.8.9 + checksum: d59ba1620d7da5ee8ce2b7cebc4f813efe202b3af1bce9a395409a17f08633f864c0980744069c378896ef5f8bfd68574110873d42d615c36b51bd36e2e48c74 languageName: node linkType: hard @@ -12322,12 +12807,14 @@ __metadata: languageName: node linkType: hard -"@module-federation/runtime@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/runtime@npm:0.6.12" +"@module-federation/runtime@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/runtime@npm:0.8.9" dependencies: - "@module-federation/sdk": 0.6.12 - checksum: 59e176bc2eae14aa5095da88314f75f5638ffa248c16bfa609ebc28aafdbd810ed63f84cb0492488d05b93a627ac82cebc18dcc308f0f1cb413ec8b2d8d726ce + "@module-federation/error-codes": 0.8.9 + "@module-federation/runtime-core": 0.6.17 + "@module-federation/sdk": 0.8.9 + checksum: 20495c029401431c43f5c5744d83d18c2f8ecafcc97cb960c3973119ec9d8ae313c5ceacbd1ae181331ccf51afb4185a2c8cde6e81ae372d7fa2d42f5af9de0b languageName: node linkType: hard @@ -12338,10 +12825,12 @@ __metadata: languageName: node linkType: hard -"@module-federation/sdk@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/sdk@npm:0.6.12" - checksum: 2b67dbf94ae31a76515ddeed8616fda2e4803b69810c82550a4b94f5fa44b115af89ae58ecb807dfbc2db7fcf4aa2790243dd001d6905ab457e134ce3032eacc +"@module-federation/sdk@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/sdk@npm:0.8.9" + dependencies: + isomorphic-rslog: 0.0.7 + checksum: 74effd5aa86b3c9d7a08efc435a8b0bb244010de05b8e84a6269931bc72d59a467654b57c7870380502a1999bcd22c5c138b3558ab26663f366b6cec6b0fe225 languageName: node linkType: hard @@ -12356,14 +12845,14 @@ __metadata: languageName: node linkType: hard -"@module-federation/third-party-dts-extractor@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/third-party-dts-extractor@npm:0.6.12" +"@module-federation/third-party-dts-extractor@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/third-party-dts-extractor@npm:0.8.9" dependencies: find-pkg: 2.0.0 fs-extra: 9.1.0 resolve: 1.22.8 - checksum: 7ad9051f5b3ab9a23994cfbd60d706d4ebf98425faa98ab7da886f7a26c9134fc6319948ac3a26f68f828dd5bb96cb024519abd05dea1e0d6801d545a48d5b45 + checksum: d5e67563ff80a107ba811477271d12bbc5c89869a13499d278961c1f13947f6fb85d9f5316fc9017be77692d876e8b7304136d4154a313023486b521548abafd languageName: node linkType: hard @@ -12377,25 +12866,25 @@ __metadata: languageName: node linkType: hard -"@module-federation/webpack-bundler-runtime@npm:0.6.12": - version: 0.6.12 - resolution: "@module-federation/webpack-bundler-runtime@npm:0.6.12" +"@module-federation/webpack-bundler-runtime@npm:0.8.9": + version: 0.8.9 + resolution: "@module-federation/webpack-bundler-runtime@npm:0.8.9" dependencies: - "@module-federation/runtime": 0.6.12 - "@module-federation/sdk": 0.6.12 - checksum: 0a89d1d59c88deaef01af48dbd7b974ee9a4a0c2f89a18fada87bad2104ef905e906924efbe2f684bc7356fc25efffe752e369aced1e48cceb4bde08a5bdd9ba + "@module-federation/runtime": 0.8.9 + "@module-federation/sdk": 0.8.9 + checksum: 1ca36a54976207682cbac0e74eae7ceb7be102aff5008ed5b5f77a8aeab7e74198cd4c26a7c521ab6b38d4e7c31c86115901aa69753e76094012d171a1f79e4d languageName: node linkType: hard "@motionone/animation@npm:^10.12.0": - version: 10.17.0 - resolution: "@motionone/animation@npm:10.17.0" + version: 10.18.0 + resolution: "@motionone/animation@npm:10.18.0" dependencies: - "@motionone/easing": ^10.17.0 - "@motionone/types": ^10.17.0 - "@motionone/utils": ^10.17.0 + "@motionone/easing": ^10.18.0 + "@motionone/types": ^10.17.1 + "@motionone/utils": ^10.18.0 tslib: ^2.3.1 - checksum: 8cab13cde7ccbe29bcaff1cb43ba39acdc51d9be4726628f4d0ba27898c59456887fd9ec56aceaa3d5b82993efbdfa9a7b9e99d4b96bc458f486208394027093 + checksum: 841cb9f4843a89e5e4560b9f960f52cbe78afc86f87c769f71e9edb3aadd53fb87982b7e11914428f228b29fd580756be531369c2ffac06432550afa4e87d1c3 languageName: node linkType: hard @@ -12413,42 +12902,42 @@ __metadata: languageName: node linkType: hard -"@motionone/easing@npm:^10.17.0": - version: 10.17.0 - resolution: "@motionone/easing@npm:10.17.0" +"@motionone/easing@npm:^10.18.0": + version: 10.18.0 + resolution: "@motionone/easing@npm:10.18.0" dependencies: - "@motionone/utils": ^10.17.0 + "@motionone/utils": ^10.18.0 tslib: ^2.3.1 - checksum: 2870d9e94645cf4ed3a27309a858dccee26615291ec46b56e993ef3ac9f059a659b02a2115ed61d27250fc8800acc9640f0319aeb402de7fa0e15dffbebeb548 + checksum: 6bd37f7a9d5a88f868cc0ad6e47d2ba8d9fefd7da84fccfea7ed77ec08c2e6d1e42df88dda462665102a5cf03f748231a1a077de7054b5a8ccb0fbf36f61b1e7 languageName: node linkType: hard "@motionone/generators@npm:^10.12.0": - version: 10.17.0 - resolution: "@motionone/generators@npm:10.17.0" + version: 10.18.0 + resolution: "@motionone/generators@npm:10.18.0" dependencies: - "@motionone/types": ^10.17.0 - "@motionone/utils": ^10.17.0 + "@motionone/types": ^10.17.1 + "@motionone/utils": ^10.18.0 tslib: ^2.3.1 - checksum: 6d048a0362692db3f450b97c1679a8d0265bff93106412bdcc33b9c48b9362a3e97f672f29a2932d5e393330750fdd55921c1c9b2bf20690922a37a0164e649f + checksum: 51a0e075681697b11d0771998cac8c76a745f00141502f81adb953896992b7f49478965e4afe696bc83361afaae8d2f1057d71c25b21035fe67258ff73764f1c languageName: node linkType: hard -"@motionone/types@npm:^10.12.0, @motionone/types@npm:^10.17.0": - version: 10.17.0 - resolution: "@motionone/types@npm:10.17.0" - checksum: 3996c84e1578b17146c14bd581ab682b7b2a06ca7fd5a7dc378a0f3b10539256d7b803a7df748f0c60d6df6b33950269a27ba2bb1839de779196bd024bee4b87 +"@motionone/types@npm:^10.12.0, @motionone/types@npm:^10.17.1": + version: 10.17.1 + resolution: "@motionone/types@npm:10.17.1" + checksum: 3fa74db64e371e61a7f7669d7d541d11c9a8dd871032d59c69041e3b2e07a67ad2ed8767cb9273bac90eed4e1f76efc1f14c8673c2e9a288f6070ee0fef64a25 languageName: node linkType: hard -"@motionone/utils@npm:^10.12.0, @motionone/utils@npm:^10.17.0": - version: 10.17.0 - resolution: "@motionone/utils@npm:10.17.0" +"@motionone/utils@npm:^10.12.0, @motionone/utils@npm:^10.18.0": + version: 10.18.0 + resolution: "@motionone/utils@npm:10.18.0" dependencies: - "@motionone/types": ^10.17.0 + "@motionone/types": ^10.17.1 hey-listen: ^1.0.8 tslib: ^2.3.1 - checksum: 408e278c9051a221e528bb9ca0a773018b9953ecd53bb88715421afc009f4647417b0d9f163c8195467badd934f39ade24f57e007416988e4291242e749ea43d + checksum: a27f9afde693a0cbbbcb33962b12bbe40dd2cfa514b0732f3c7953c5ef4beed738e1e8172a2de89e3b9f74a253ef0a70d7f3efb730be97b77d7176a3ffacb67a languageName: node linkType: hard @@ -12478,7 +12967,7 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.40, @mui/base@npm:^5.0.0-beta.22, @mui/base@npm:^5.0.0-beta.40": +"@mui/base@npm:5.0.0-beta.40": version: 5.0.0-beta.40 resolution: "@mui/base@npm:5.0.0-beta.40" dependencies: @@ -12500,17 +12989,32 @@ __metadata: languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.16.14": - version: 5.16.14 - resolution: "@mui/core-downloads-tracker@npm:5.16.14" - checksum: a25658362a69a89f35cdc12ded01b998b7f02df43648029f2523813fc7f259cc85f62bd1877059359d462e7c163e82308bd4cc74fa2d35651d302c5d8bbbc7f4 +"@mui/base@npm:^5.0.0-beta.22": + version: 5.0.0-dev.20240529-082515-213b5e33ab + resolution: "@mui/base@npm:5.0.0-dev.20240529-082515-213b5e33ab" + dependencies: + "@babel/runtime": ^7.24.6 + "@floating-ui/react-dom": ^2.0.8 + "@mui/types": ^7.2.14-dev.20240529-082515-213b5e33ab + "@mui/utils": ^6.0.0-dev.20240529-082515-213b5e33ab + "@popperjs/core": ^2.11.8 + clsx: ^2.1.1 + prop-types: ^15.8.1 + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 7ca5d369c5f4dfa2bb36fe49d721f3dc28a6d067bd74492e8f4531671ff9debe33bade579d0cdcb7d5f899bfc5003c8f710b1f9422edd22f06d805dbc68c9f4e languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.16.7, @mui/core-downloads-tracker@npm:^5.16.9": - version: 5.16.9 - resolution: "@mui/core-downloads-tracker@npm:5.16.9" - checksum: 25e7cf746627e12671e2bae4ea8f81967fbb7e05188c268052104d05f249eea1baa3f3d97f66d1242112afa944a7b025a331527392797d620acbcc1dde23a3df +"@mui/core-downloads-tracker@npm:^5.16.14, @mui/core-downloads-tracker@npm:^5.16.7": + version: 5.16.14 + resolution: "@mui/core-downloads-tracker@npm:5.16.14" + checksum: a25658362a69a89f35cdc12ded01b998b7f02df43648029f2523813fc7f259cc85f62bd1877059359d462e7c163e82308bd4cc74fa2d35651d302c5d8bbbc7f4 languageName: node linkType: hard @@ -12530,7 +13034,7 @@ __metadata: languageName: node linkType: hard -"@mui/icons-material@npm:5.16.14": +"@mui/icons-material@npm:5.16.14, @mui/icons-material@npm:^5.15.19, @mui/icons-material@npm:^5.16.4, @mui/icons-material@npm:^5.16.7": version: 5.16.14 resolution: "@mui/icons-material@npm:5.16.14" dependencies: @@ -12562,35 +13066,19 @@ __metadata: languageName: node linkType: hard -"@mui/icons-material@npm:^5.15.19, @mui/icons-material@npm:^5.16.4, @mui/icons-material@npm:^5.16.7": - version: 5.16.9 - resolution: "@mui/icons-material@npm:5.16.9" - dependencies: - "@babel/runtime": ^7.23.9 - peerDependencies: - "@mui/material": ^5.0.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 84e6884de333afbc819f2871d4449a00960a8c080bfdcb5e9c621a7727179ce2ce97097dc1e4dbcda7d6b234a09aa7593ab6cd172a323429f562625d70511545 - languageName: node - linkType: hard - "@mui/icons-material@npm:^6.0.0": - version: 6.0.2 - resolution: "@mui/icons-material@npm:6.0.2" + version: 6.4.0 + resolution: "@mui/icons-material@npm:6.4.0" dependencies: - "@babel/runtime": ^7.25.0 + "@babel/runtime": ^7.26.0 peerDependencies: - "@mui/material": ^6.0.2 + "@mui/material": ^6.4.0 "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 2a1d3c9644e789410001329e2e0a60047cc9f85d60e0fc485794fd9b52b1df70a028254c2acf7ab1755814e265b0843558662e90b1998d6a39f9119a22d35b10 + checksum: 67ded37cc168d9f29dc3f964cd213da760cb89ea056d58fbffac2eb9524967f0ab8401745c0d3e93ba62ef9b969d7d7a78bfc2772cb618863bc9ed7593c7e4ab languageName: node linkType: hard @@ -12623,7 +13111,7 @@ __metadata: languageName: node linkType: hard -"@mui/material@npm:5.16.14": +"@mui/material@npm:5.16.14, @mui/material@npm:^5.12.2, @mui/material@npm:^5.14.18, @mui/material@npm:^5.15.17, @mui/material@npm:^5.15.19, @mui/material@npm:^5.16.7": version: 5.16.14 resolution: "@mui/material@npm:5.16.14" dependencies: @@ -12689,40 +13177,7 @@ __metadata: languageName: node linkType: hard -"@mui/material@npm:^5.12.2, @mui/material@npm:^5.14.18, @mui/material@npm:^5.15.17, @mui/material@npm:^5.15.19, @mui/material@npm:^5.16.7": - version: 5.16.9 - resolution: "@mui/material@npm:5.16.9" - dependencies: - "@babel/runtime": ^7.23.9 - "@mui/core-downloads-tracker": ^5.16.9 - "@mui/system": ^5.16.8 - "@mui/types": ^7.2.15 - "@mui/utils": ^5.16.8 - "@popperjs/core": ^2.11.8 - "@types/react-transition-group": ^4.4.10 - clsx: ^2.1.0 - csstype: ^3.1.3 - prop-types: ^15.8.1 - react-is: ^18.3.1 - react-transition-group: ^4.4.5 - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: e3692ba08add0a4b959d7e5f754cf5bf934d30798a9256d1eb5bbf37021f81cf6cc0b86a3cb065815af7f2112c6a359e463a6641618d07559f93516e1374669e - languageName: node - linkType: hard - -"@mui/private-theming@npm:^5.16.14": +"@mui/private-theming@npm:^5.16.14, @mui/private-theming@npm:^5.16.6": version: 5.16.14 resolution: "@mui/private-theming@npm:5.16.14" dependencies: @@ -12739,29 +13194,12 @@ __metadata: languageName: node linkType: hard -"@mui/private-theming@npm:^5.16.6, @mui/private-theming@npm:^5.16.8": - version: 5.16.8 - resolution: "@mui/private-theming@npm:5.16.8" - dependencies: - "@babel/runtime": ^7.23.9 - "@mui/utils": ^5.16.8 - prop-types: ^15.8.1 - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 576cf19188c236482a8a698978d3061c7e8d76ba9d891d323ce96d92d6b80d88e1aa2a67fe4698d76b8a43221ef0f8ed21be74971fc684ce1279dc73fd34316b - languageName: node - linkType: hard - -"@mui/private-theming@npm:^6.1.9": - version: 6.1.9 - resolution: "@mui/private-theming@npm:6.1.9" +"@mui/private-theming@npm:^6.4.0": + version: 6.4.0 + resolution: "@mui/private-theming@npm:6.4.0" dependencies: "@babel/runtime": ^7.26.0 - "@mui/utils": ^6.1.9 + "@mui/utils": ^6.4.0 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -12769,7 +13207,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 5225585fb1a77efb7fa631c0dff8b33d7f66ea00505028642c37486ee7d767c87816e699a261780e6789e0e16b8c76a5c565cfe4ac72a3ba4b925e55b58acb7b + checksum: 9fd2e20e25611c8ba1c749dac955873fd44aa2ab1dfe0df9949b0a805f3abc5823a80df67f3762b6ef7cc901c8fdd8dd6701d0b0d1bbb5f7c2e188b4872faba2 languageName: node linkType: hard @@ -12794,36 +13232,46 @@ __metadata: languageName: node linkType: hard -"@mui/styled-engine@npm:^5.16.8": - version: 5.16.8 - resolution: "@mui/styled-engine@npm:5.16.8" +"@mui/styles@npm:5.16.7": + version: 5.16.7 + resolution: "@mui/styles@npm:5.16.7" dependencies: "@babel/runtime": ^7.23.9 - "@emotion/cache": ^11.11.0 + "@emotion/hash": ^0.9.1 + "@mui/private-theming": ^5.16.6 + "@mui/types": ^7.2.15 + "@mui/utils": ^5.16.6 + clsx: ^2.1.0 csstype: ^3.1.3 + hoist-non-react-statics: ^3.3.2 + jss: ^10.10.0 + jss-plugin-camel-case: ^10.10.0 + jss-plugin-default-unit: ^10.10.0 + jss-plugin-global: ^10.10.0 + jss-plugin-nested: ^10.10.0 + jss-plugin-props-sort: ^10.10.0 + jss-plugin-rule-value-function: ^10.10.0 + jss-plugin-vendor-prefixer: ^10.10.0 prop-types: ^15.8.1 peerDependencies: - "@emotion/react": ^11.4.1 - "@emotion/styled": ^11.3.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": + "@types/react": optional: true - checksum: 8eab246e985bbe2707af4620a3193166bacefb029df65ac846cfc0ac5d7996fcb72c50327241f60913538f58a2ad9aa6de3ef12b72eb7750c71f8d3c284a420b + checksum: 1109eb150cf40782a6f24bebf6d22d55ea8c36bbf43893664c303e679b7d235a6578b2f2e1d9ee64132aa24496a15fd32f80278cb641208c3a372bd53679e1c0 languageName: node linkType: hard -"@mui/styles@npm:5.16.7, @mui/styles@npm:^5.16.7": - version: 5.16.7 - resolution: "@mui/styles@npm:5.16.7" +"@mui/styles@npm:^5.16.7": + version: 5.16.14 + resolution: "@mui/styles@npm:5.16.14" dependencies: "@babel/runtime": ^7.23.9 "@emotion/hash": ^0.9.1 - "@mui/private-theming": ^5.16.6 + "@mui/private-theming": ^5.16.14 "@mui/types": ^7.2.15 - "@mui/utils": ^5.16.6 + "@mui/utils": ^5.16.14 clsx: ^2.1.0 csstype: ^3.1.3 hoist-non-react-statics: ^3.3.2 @@ -12837,24 +13285,24 @@ __metadata: jss-plugin-vendor-prefixer: ^10.10.0 prop-types: ^15.8.1 peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 1109eb150cf40782a6f24bebf6d22d55ea8c36bbf43893664c303e679b7d235a6578b2f2e1d9ee64132aa24496a15fd32f80278cb641208c3a372bd53679e1c0 + checksum: 1d579e005f26a76e39feeda8634cbf41d041dcfe85ca6cfa19180ca1e6477bc909966a4738a6a875bd9d18b4157272d60869bbf94546c4813db551df19c0e6aa languageName: node linkType: hard "@mui/styles@npm:^6.1.6, @mui/styles@npm:^6.1.7": - version: 6.1.9 - resolution: "@mui/styles@npm:6.1.9" + version: 6.4.0 + resolution: "@mui/styles@npm:6.4.0" dependencies: "@babel/runtime": ^7.26.0 "@emotion/hash": ^0.9.2 - "@mui/private-theming": ^6.1.9 - "@mui/types": ^7.2.19 - "@mui/utils": ^6.1.9 + "@mui/private-theming": ^6.4.0 + "@mui/types": ^7.2.21 + "@mui/utils": ^6.4.0 clsx: ^2.1.1 csstype: ^3.1.3 hoist-non-react-statics: ^3.3.2 @@ -12873,11 +13321,11 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 41508139163e7808e3e9c1778e3e37b60fb0661fcb38553c7ff3996510e3d9a52a03338f42fa99fad6dacead34305bdd6f335269acd69012e57a9e81dfa2b3bd + checksum: 39a18403a59f7009737d89e3a39cc5105123003a7ffd4e3be07a47a88cfc7096855a38303b6fb11045f9c8adbd79b7e1bae84210e31bb911a3c08b0be1a4c237 languageName: node linkType: hard -"@mui/system@npm:^5.16.14": +"@mui/system@npm:^5.16.14, @mui/system@npm:^5.16.5, @mui/system@npm:^5.16.7": version: 5.16.14 resolution: "@mui/system@npm:5.16.14" dependencies: @@ -12905,67 +13353,19 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^5.16.5, @mui/system@npm:^5.16.7, @mui/system@npm:^5.16.8": - version: 5.16.8 - resolution: "@mui/system@npm:5.16.8" - dependencies: - "@babel/runtime": ^7.23.9 - "@mui/private-theming": ^5.16.8 - "@mui/styled-engine": ^5.16.8 - "@mui/types": ^7.2.15 - "@mui/utils": ^5.16.8 - clsx: ^2.1.0 - csstype: ^3.1.3 - prop-types: ^15.8.1 - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: 8082b176009fa907cdb0391db59db6cd3589659ad92497caec998c01e1683978ab2eda4ece4d12e523d233b062aa5946d4a438d9a22bf172f0568be1db773e9c - languageName: node - linkType: hard - -"@mui/types@npm:^7.2.14, @mui/types@npm:^7.2.15, @mui/types@npm:^7.2.19": - version: 7.2.19 - resolution: "@mui/types@npm:7.2.19" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: c3b5723e6f0861d47df834c57878f19347aefecdaf948cf9a25a64b73fbc75791430693d0f540b2bdc01bdfc605dc32bf4ba738113ec415aa9eaf002ce38f064 - languageName: node - linkType: hard - -"@mui/utils@npm:^5.14.15, @mui/utils@npm:^5.15.14, @mui/utils@npm:^5.16.5, @mui/utils@npm:^5.16.6, @mui/utils@npm:^5.16.8": - version: 5.16.8 - resolution: "@mui/utils@npm:5.16.8" - dependencies: - "@babel/runtime": ^7.23.9 - "@mui/types": ^7.2.15 - "@types/prop-types": ^15.7.12 - clsx: ^2.1.1 - prop-types: ^15.8.1 - react-is: ^18.3.1 +"@mui/types@npm:^7.2.14, @mui/types@npm:^7.2.14-dev.20240529-082515-213b5e33ab, @mui/types@npm:^7.2.15, @mui/types@npm:^7.2.21": + version: 7.2.21 + resolution: "@mui/types@npm:7.2.21" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: ed714c6aa583bdf17af9f523c9b9ba3789a47677aa6408bc2afd842fa9eaa6d111361c1309435d481ea03b8c695e22ead98c43dc13239c63a3da481c95e5ad72 + checksum: d3c005358777204debb75c684a25ec324df8a0e108440a4b8bd7c658716d6712d993253294fc790c4c9f431156502f1cafd63819643c7a7b9651ac3216ebf9f2 languageName: node linkType: hard -"@mui/utils@npm:^5.16.14": +"@mui/utils@npm:^5.14.15, @mui/utils@npm:^5.15.14, @mui/utils@npm:^5.16.14, @mui/utils@npm:^5.16.5, @mui/utils@npm:^5.16.6": version: 5.16.14 resolution: "@mui/utils@npm:5.16.14" dependencies: @@ -12985,29 +13385,29 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^6.1.9": - version: 6.1.9 - resolution: "@mui/utils@npm:6.1.9" +"@mui/utils@npm:^5.16.6 || ^6.0.0, @mui/utils@npm:^6.0.0-dev.20240529-082515-213b5e33ab, @mui/utils@npm:^6.4.0": + version: 6.4.0 + resolution: "@mui/utils@npm:6.4.0" dependencies: "@babel/runtime": ^7.26.0 - "@mui/types": ^7.2.19 - "@types/prop-types": ^15.7.13 + "@mui/types": ^7.2.21 + "@types/prop-types": ^15.7.14 clsx: ^2.1.1 prop-types: ^15.8.1 - react-is: ^18.3.1 + react-is: ^19.0.0 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: a2c61c0537b312ab0faeb3f13e7f3b0736e11f29e7907ccd77b0643afc0dca3a0dceb3817371666f35ca8df723ddeac9b2bbb6b759206bde99e03514cfd4ebb9 + checksum: 25f2c3afa714006cbb462d2647f1cec6f98853fe8f264345dd461a3571f77069659afdb0fa92c3459cf1136e0ede750bee8fbd7a17457352cc5a08c7fed0c944 languageName: node linkType: hard "@mui/x-charts@npm:^6.0.0-alpha.7": - version: 6.19.5 - resolution: "@mui/x-charts@npm:6.19.5" + version: 6.19.8 + resolution: "@mui/x-charts@npm:6.19.8" dependencies: "@babel/runtime": ^7.23.2 "@mui/base": ^5.0.0-beta.22 @@ -13030,35 +13430,35 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 147269025c41b0015debbde665427d193d01fce47a395c4b394ed0d671452ca1e292dd654756260573b579c110bd4324f30f811d64187a03f2369929de2c1384 + checksum: d34acf00a5cedff287e6fd5dd876eb2b038776641dbc754215d35f0ef9124a8b245d29b18727f8be341d7fe74493592abcc383540afd684b18b4a6dd8438cc15 languageName: node linkType: hard "@mui/x-date-pickers@npm:^7.6.1": - version: 7.11.1 - resolution: "@mui/x-date-pickers@npm:7.11.1" + version: 7.24.0 + resolution: "@mui/x-date-pickers@npm:7.24.0" dependencies: - "@babel/runtime": ^7.24.8 - "@mui/base": ^5.0.0-beta.40 - "@mui/system": ^5.16.5 - "@mui/utils": ^5.16.5 - "@types/react-transition-group": ^4.4.10 + "@babel/runtime": ^7.25.7 + "@mui/utils": ^5.16.6 || ^6.0.0 + "@mui/x-internals": 7.24.0 + "@types/react-transition-group": ^4.4.11 clsx: ^2.1.1 prop-types: ^15.8.1 react-transition-group: ^4.4.5 peerDependencies: "@emotion/react": ^11.9.0 "@emotion/styled": ^11.8.1 - "@mui/material": ^5.15.14 - date-fns: ^2.25.0 || ^3.2.0 - date-fns-jalali: ^2.13.0-0 || ^3.2.0-0 + "@mui/material": ^5.15.14 || ^6.0.0 + "@mui/system": ^5.15.14 || ^6.0.0 + date-fns: ^2.25.0 || ^3.2.0 || ^4.0.0 + date-fns-jalali: ^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0 dayjs: ^1.10.7 luxon: ^3.0.2 moment: ^2.29.4 - moment-hijri: ^2.1.2 + moment-hijri: ^2.1.2 || ^3.0.0 moment-jalaali: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@emotion/react": optional: true @@ -13078,7 +13478,19 @@ __metadata: optional: true moment-jalaali: optional: true - checksum: e5f7d5676c54b192eac386b60b797b1c85cbe903b63008db33b908dd1770dd64e2b21d7f6239eedca502be41641f70ff69f868f5f809dbfaf0179db20ca66ae7 + checksum: 20f60a18a38d70082f25f6dc07281a2f0398f6918173749178fdb621e5ebfa5d2d760d34bc3e37737e725e15ed77839f6c2fb295b9439b1cefcf01047ae7b78e + languageName: node + linkType: hard + +"@mui/x-internals@npm:7.24.0": + version: 7.24.0 + resolution: "@mui/x-internals@npm:7.24.0" + dependencies: + "@babel/runtime": ^7.25.7 + "@mui/utils": ^5.16.6 || ^6.0.0 + peerDependencies: + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 8105fdc7e7c152fcf3b2e999e8dccad60f6efc37d9523782ac18e0d9190b4619372adfb890f28b2ab04bb6f419afb5c2ac2c83dde4d5e2b53406abcbc7805618 languageName: node linkType: hard @@ -13163,6 +13575,19 @@ __metadata: languageName: node linkType: hard +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" + dependencies: + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.3 + checksum: e8fc25d536250ed3e669813b36e8c6d805628b472353c57afd8c4fde0fcfcf3dda4ffe22f7af8c9070812ec2e7a03fb41d7151547cef3508efe661a5a3add20f + languageName: node + linkType: hard + "@npmcli/fs@npm:^3.1.0": version: 3.1.1 resolution: "@npmcli/fs@npm:3.1.1" @@ -13172,9 +13597,18 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" + dependencies: + semver: ^7.3.5 + checksum: 68951c589e9a4328698a35fd82fe71909a257d6f2ede0434d236fa55634f0fbcad9bb8755553ce5849bd25ee6f019f4d435921ac715c853582c4a7f5983c8d4a + languageName: node + linkType: hard + "@octokit/app@npm:^14.0.2": - version: 14.0.2 - resolution: "@octokit/app@npm:14.0.2" + version: 14.1.0 + resolution: "@octokit/app@npm:14.1.0" dependencies: "@octokit/auth-app": ^6.0.0 "@octokit/auth-unauthenticated": ^5.0.0 @@ -13183,22 +13617,22 @@ __metadata: "@octokit/plugin-paginate-rest": ^9.0.0 "@octokit/types": ^12.0.0 "@octokit/webhooks": ^12.0.4 - checksum: 1d6745302f81694c85a47997640be1e509a61da1de4ec31f8fed3715daf03cbcf39d6f80a146e2d2a0ff0ebc987fcda5dba9d53f1357f2e8c93edd5675db3780 + checksum: 2a27ea831d0367b07f3c4109bbc840c7ae7d5a52d3129593cd867364794eb51b16b0fc308b116a89af9a2f19553c72346e03dd07b952e82c222ed1e7880dfcac languageName: node linkType: hard "@octokit/app@npm:^15.0.0": - version: 15.1.0 - resolution: "@octokit/app@npm:15.1.0" + version: 15.1.2 + resolution: "@octokit/app@npm:15.1.2" dependencies: - "@octokit/auth-app": ^7.0.0 - "@octokit/auth-unauthenticated": ^6.0.0 - "@octokit/core": ^6.1.2 - "@octokit/oauth-app": ^7.0.0 - "@octokit/plugin-paginate-rest": ^11.0.0 - "@octokit/types": ^13.0.0 - "@octokit/webhooks": ^13.0.0 - checksum: 133c1b55646c85161f5fe09266aecdb877da298fe88daa0cc0b517dd45233f07462cfd4df2dc4a77452cdf4a7551bed9e8a36f2e172928519a9a2575e77aa7ad + "@octokit/auth-app": ^7.1.4 + "@octokit/auth-unauthenticated": ^6.1.1 + "@octokit/core": ^6.1.3 + "@octokit/oauth-app": ^7.1.5 + "@octokit/plugin-paginate-rest": ^11.3.6 + "@octokit/types": ^13.6.2 + "@octokit/webhooks": ^13.4.2 + checksum: b06db1cb66e26d71609112abbf63c51efa209be2ceb7a6ac800db4f8538c3bb83a422640042866f509cf1f8f60fc4b5c5de0974adc3783f61d508798d0a740de languageName: node linkType: hard @@ -13220,8 +13654,8 @@ __metadata: linkType: hard "@octokit/auth-app@npm:^6.0.0, @octokit/auth-app@npm:^6.0.3": - version: 6.1.2 - resolution: "@octokit/auth-app@npm:6.1.2" + version: 6.1.3 + resolution: "@octokit/auth-app@npm:6.1.3" dependencies: "@octokit/auth-oauth-app": ^7.1.0 "@octokit/auth-oauth-user": ^4.1.0 @@ -13229,26 +13663,26 @@ __metadata: "@octokit/request-error": ^5.1.0 "@octokit/types": ^13.1.0 deprecation: ^2.3.1 - lru-cache: ^10.0.0 + lru-cache: "npm:@wolfy1339/lru-cache@^11.0.2-patch.1" universal-github-app-jwt: ^1.1.2 universal-user-agent: ^6.0.0 - checksum: fa9c16a9cf884a87f78ed11f4ab9b300908f3648ab9cd710037b22abbf496b3edb86440bf97acb28cf6d4ee4d64fbab4a845b75e739d0582879bc50ab0b74852 + checksum: 997a4abd2b85b3751d63034b38ecbf8b711ee212f99df32586812e8e99637fc29f50e051f51c1dec04e0f8de3f9cb8c722c65eb1890e02b6b3e3f6dc1323fa93 languageName: node linkType: hard -"@octokit/auth-app@npm:^7.0.0": - version: 7.1.1 - resolution: "@octokit/auth-app@npm:7.1.1" - dependencies: - "@octokit/auth-oauth-app": ^8.1.0 - "@octokit/auth-oauth-user": ^5.1.0 - "@octokit/request": ^9.1.1 - "@octokit/request-error": ^6.1.1 - "@octokit/types": ^13.4.1 - lru-cache: ^10.0.0 +"@octokit/auth-app@npm:^7.1.4": + version: 7.1.4 + resolution: "@octokit/auth-app@npm:7.1.4" + dependencies: + "@octokit/auth-oauth-app": ^8.1.2 + "@octokit/auth-oauth-user": ^5.1.2 + "@octokit/request": ^9.1.4 + "@octokit/request-error": ^6.1.6 + "@octokit/types": ^13.6.2 + toad-cache: ^3.7.0 universal-github-app-jwt: ^2.2.0 universal-user-agent: ^7.0.0 - checksum: 2cad1a5eef4e458caacb16271284743c7c1d9b34a2617f6b17135b3910ddb33efe16e6a6b5b36407f1b0065324f7b7b1bfa7c2f7d338f6c59f312762e0c57a5c + checksum: 2ce839187da2dbf8e0f0b73c94ccb6a7f400032ce898f15322e69a51571143f1d12b9fc4839e03d15751f8b81fc972dd671d8c2c7b830e1f17225b9237e6136f languageName: node linkType: hard @@ -13282,16 +13716,16 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-oauth-app@npm:^8.0.0, @octokit/auth-oauth-app@npm:^8.1.0": - version: 8.1.1 - resolution: "@octokit/auth-oauth-app@npm:8.1.1" +"@octokit/auth-oauth-app@npm:^8.1.2": + version: 8.1.2 + resolution: "@octokit/auth-oauth-app@npm:8.1.2" dependencies: - "@octokit/auth-oauth-device": ^7.0.0 - "@octokit/auth-oauth-user": ^5.0.1 - "@octokit/request": ^9.0.0 - "@octokit/types": ^13.0.0 + "@octokit/auth-oauth-device": ^7.1.2 + "@octokit/auth-oauth-user": ^5.1.2 + "@octokit/request": ^9.1.4 + "@octokit/types": ^13.6.2 universal-user-agent: ^7.0.0 - checksum: e61160a6cc6aefff7b8cb3c73c2fc26e327308800b85bf6bfcfb39009ee2cb813bc2034ce3ea29b240aca920515b2199466cf842bbef4905c5da7796aa813eb4 + checksum: 29a43b2087c3093e2293b7baba5256ad2512398c74276019e6ca4ae0d1230c0419eaa435e01e87d25a0243f235129bb1a8a057c90037276317ac55856db232c6 languageName: node linkType: hard @@ -13319,15 +13753,15 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-oauth-device@npm:^7.0.0, @octokit/auth-oauth-device@npm:^7.0.1": - version: 7.1.1 - resolution: "@octokit/auth-oauth-device@npm:7.1.1" +"@octokit/auth-oauth-device@npm:^7.1.2": + version: 7.1.2 + resolution: "@octokit/auth-oauth-device@npm:7.1.2" dependencies: - "@octokit/oauth-methods": ^5.0.0 - "@octokit/request": ^9.0.0 - "@octokit/types": ^13.0.0 + "@octokit/oauth-methods": ^5.1.3 + "@octokit/request": ^9.1.4 + "@octokit/types": ^13.6.2 universal-user-agent: ^7.0.0 - checksum: 5338ae5a5ca1d03c03c3ceba21635b6e2d8d8fe9c1f9f746651ebea5a130e65388e418e730eefb394bbceba092b712181ce9a603eec761f4c8fd6f8790d7cd45 + checksum: 230aa354487586c70f7d82a538422fc787824b7dc0179ac3a8f6bb285f16aa7d1b618cd336e935be2e1505a89582c4b424c3b6dd2130fc8a47481b83fb4664ee languageName: node linkType: hard @@ -13359,16 +13793,16 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-oauth-user@npm:^5.0.1, @octokit/auth-oauth-user@npm:^5.1.0": - version: 5.1.1 - resolution: "@octokit/auth-oauth-user@npm:5.1.1" +"@octokit/auth-oauth-user@npm:^5.1.2": + version: 5.1.2 + resolution: "@octokit/auth-oauth-user@npm:5.1.2" dependencies: - "@octokit/auth-oauth-device": ^7.0.1 - "@octokit/oauth-methods": ^5.0.0 - "@octokit/request": ^9.0.1 - "@octokit/types": ^13.0.0 + "@octokit/auth-oauth-device": ^7.1.2 + "@octokit/oauth-methods": ^5.1.2 + "@octokit/request": ^9.1.4 + "@octokit/types": ^13.6.2 universal-user-agent: ^7.0.0 - checksum: fe2b2ec3f50a565efb37254c78be499d8fc1cf4d565f869b957037103296589c48c69cab26a0549311ed50b698dc9ae1fef5cc9a0cda2a11a519b053c30cb7fc + checksum: 1aef03d7d4949bf72c1ea7bd5c53756239bfd8daeaefbbe3004c49bffdba83e37d9459297d98e695dd8e3784345ff125f83d89ab1f21669f293174256cfb6c63 languageName: node linkType: hard @@ -13413,13 +13847,13 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-unauthenticated@npm:^6.0.0, @octokit/auth-unauthenticated@npm:^6.0.0-beta.1": - version: 6.1.0 - resolution: "@octokit/auth-unauthenticated@npm:6.1.0" +"@octokit/auth-unauthenticated@npm:^6.1.1": + version: 6.1.1 + resolution: "@octokit/auth-unauthenticated@npm:6.1.1" dependencies: - "@octokit/request-error": ^6.0.1 - "@octokit/types": ^13.0.0 - checksum: 0f8929cbca7fa34f2a4ebcdf92da7a0b5a4a2de7a5dd695b4308a827018db6cfa311e84fe326c19a0b8e66080aa152fa066ae434190e5a63eadbb1449b1d7105 + "@octokit/request-error": ^6.1.6 + "@octokit/types": ^13.6.2 + checksum: b91e89ef5faf0da95e4b5f381023af7fa6ec1d5e9ac670576b18b5f4daee3c06baf1a7059e7798eb438078eb4cd8711499387bd1d2178fe9500c405f4f6fa366 languageName: node linkType: hard @@ -13438,7 +13872,7 @@ __metadata: languageName: node linkType: hard -"@octokit/core@npm:^5.0.0, @octokit/core@npm:^5.0.2": +"@octokit/core@npm:^5.0.0, @octokit/core@npm:^5.0.2, @octokit/core@npm:^5.2.0": version: 5.2.0 resolution: "@octokit/core@npm:5.2.0" dependencies: @@ -13453,28 +13887,28 @@ __metadata: languageName: node linkType: hard -"@octokit/core@npm:^6.0.0, @octokit/core@npm:^6.1.2": - version: 6.1.2 - resolution: "@octokit/core@npm:6.1.2" +"@octokit/core@npm:^6.0.0, @octokit/core@npm:^6.1.3": + version: 6.1.3 + resolution: "@octokit/core@npm:6.1.3" dependencies: "@octokit/auth-token": ^5.0.0 - "@octokit/graphql": ^8.0.0 - "@octokit/request": ^9.0.0 - "@octokit/request-error": ^6.0.1 - "@octokit/types": ^13.0.0 + "@octokit/graphql": ^8.1.2 + "@octokit/request": ^9.1.4 + "@octokit/request-error": ^6.1.6 + "@octokit/types": ^13.6.2 before-after-hook: ^3.0.2 universal-user-agent: ^7.0.0 - checksum: e794fb11b3942f55033f4cf6c0914953fd974587309498e8709c428660fa5c098334d83af5e41457dbe67d92d70a8b559c6cc00457d6c95290fa6c9e1d4bfc42 + checksum: 9174c8658f362a34a42dba77681b9ee8724b13c2231690dccbc2664a4fe64da8339b0875f73917e09f67ef370d59d9aee499fe0855f1eba55535383af1018e8f languageName: node linkType: hard "@octokit/endpoint@npm:^10.0.0": - version: 10.1.1 - resolution: "@octokit/endpoint@npm:10.1.1" + version: 10.1.2 + resolution: "@octokit/endpoint@npm:10.1.2" dependencies: - "@octokit/types": ^13.0.0 + "@octokit/types": ^13.6.2 universal-user-agent: ^7.0.2 - checksum: fde158f40dc9a88e92a8ac1d347a54599aa5715ec24045be9cb8ff8decb3c17b63c91eca1bab12dfe0e0cd37433127dd05cd05db14a719dca749bc56093aa915 + checksum: 425f4b0f12e2565d7270522e2e42d0595bd16c2c16fe262b540d50fc94d279e93b37b670370ae23dfe6117a2b74c69ffd7d3644e4dea5e6fc576a562ed75fba4 languageName: node linkType: hard @@ -13520,7 +13954,7 @@ __metadata: languageName: node linkType: hard -"@octokit/graphql@npm:^7.1.0": +"@octokit/graphql@npm:^7.0.2, @octokit/graphql@npm:^7.1.0": version: 7.1.0 resolution: "@octokit/graphql@npm:7.1.0" dependencies: @@ -13531,14 +13965,14 @@ __metadata: languageName: node linkType: hard -"@octokit/graphql@npm:^8.0.0": - version: 8.1.1 - resolution: "@octokit/graphql@npm:8.1.1" +"@octokit/graphql@npm:^8.1.2": + version: 8.1.2 + resolution: "@octokit/graphql@npm:8.1.2" dependencies: - "@octokit/request": ^9.0.0 - "@octokit/types": ^13.0.0 + "@octokit/request": ^9.1.4 + "@octokit/types": ^13.6.2 universal-user-agent: ^7.0.0 - checksum: 07239666b0ca38a7d8c581570b544ee9fd1a2616c8dd436af31879662b3345c44ed52e3d7b311840a1c5772a23f02caf7585aca56f36e50f38f0207a87577a9c + checksum: 8a4a16ae53883a7d881a04d814a9e73f48e6a83cd43e73e6f0dbebdd5307b391763c101fdeb293525f9ecdca4294e598a1aaba39b43fcc5368a98e73d41a6a97 languageName: node linkType: hard @@ -13575,19 +14009,19 @@ __metadata: languageName: node linkType: hard -"@octokit/oauth-app@npm:^7.0.0": - version: 7.1.3 - resolution: "@octokit/oauth-app@npm:7.1.3" +"@octokit/oauth-app@npm:^7.0.0, @octokit/oauth-app@npm:^7.1.5": + version: 7.1.5 + resolution: "@octokit/oauth-app@npm:7.1.5" dependencies: - "@octokit/auth-oauth-app": ^8.0.0 - "@octokit/auth-oauth-user": ^5.0.1 - "@octokit/auth-unauthenticated": ^6.0.0-beta.1 - "@octokit/core": ^6.0.0 - "@octokit/oauth-authorization-url": ^7.0.0 - "@octokit/oauth-methods": ^5.0.0 + "@octokit/auth-oauth-app": ^8.1.2 + "@octokit/auth-oauth-user": ^5.1.2 + "@octokit/auth-unauthenticated": ^6.1.1 + "@octokit/core": ^6.1.3 + "@octokit/oauth-authorization-url": ^7.1.1 + "@octokit/oauth-methods": ^5.1.3 "@types/aws-lambda": ^8.10.83 universal-user-agent: ^7.0.0 - checksum: 13582d8d6e2ec1be144b5ec2c559d93de2cafcdfebde5e17c2d87906148c66edf00e8fb99c06852c8f4e51c6bbccd4a053b60796eadd848703389c0418eaa7fd + checksum: d8bbe0a889b47f48ca907a372f2464a629c97b86bc5c5c4beb97b844e679e4b0ad59e88b5027c7771d8c049e3fdb12cce9ee8828023d109fc02a500c0d561e49 languageName: node linkType: hard @@ -13605,7 +14039,7 @@ __metadata: languageName: node linkType: hard -"@octokit/oauth-authorization-url@npm:^7.0.0": +"@octokit/oauth-authorization-url@npm:^7.0.0, @octokit/oauth-authorization-url@npm:^7.1.1": version: 7.1.1 resolution: "@octokit/oauth-authorization-url@npm:7.1.1" checksum: 02ad29fa4540c6b4b3a1e9f6936d40057174be91e9c7cad1afcd09d027fa2a50598dad5857699d1be25568bf70d86123dc9cd3874afe044ce6791e6805e97542 @@ -13638,15 +14072,15 @@ __metadata: languageName: node linkType: hard -"@octokit/oauth-methods@npm:^5.0.0": - version: 5.1.2 - resolution: "@octokit/oauth-methods@npm:5.1.2" +"@octokit/oauth-methods@npm:^5.1.2, @octokit/oauth-methods@npm:^5.1.3": + version: 5.1.3 + resolution: "@octokit/oauth-methods@npm:5.1.3" dependencies: "@octokit/oauth-authorization-url": ^7.0.0 - "@octokit/request": ^9.1.0 - "@octokit/request-error": ^6.1.0 - "@octokit/types": ^13.0.0 - checksum: 64317d0fae0f2383ef0194bab7ed6521a1e2d698f2f0730b22dd4ffa2f103541be6e5ef4380e073d8086008ad5d311a66901e0cc6bc0f57b66dc64db6ed79922 + "@octokit/request": ^9.1.4 + "@octokit/request-error": ^6.1.6 + "@octokit/types": ^13.6.2 + checksum: 61c9deb272052fb3c6cdc3fb2f5b40b711e2943f07569a8fb6fe12c0a8ffe1a1015a883645fa917bee49c740dff50b062d7270e01b47a37694dffe225fa5cf0a languageName: node linkType: hard @@ -13671,26 +14105,26 @@ __metadata: languageName: node linkType: hard -"@octokit/openapi-types@npm:^22.2.0": - version: 22.2.0 - resolution: "@octokit/openapi-types@npm:22.2.0" - checksum: eca41feac2b83298e0d95e253ac1c5b6d65155ac57f65c5fd8d4a485d9728922d85ff4bee0e815a1f3a5421311db092bdb6da9d6104a1b1843d8b274bcad9630 +"@octokit/openapi-types@npm:^23.0.1": + version: 23.0.1 + resolution: "@octokit/openapi-types@npm:23.0.1" + checksum: 1e6766c60375375d85ecabded67d9ee313cf9401c18a44534b942717cf840d41b5a9d42035522efffe6b811ee2204d4615f72c333e984e81b25545926eb77989 languageName: node linkType: hard -"@octokit/openapi-webhooks-types@npm:8.3.0": - version: 8.3.0 - resolution: "@octokit/openapi-webhooks-types@npm:8.3.0" - checksum: bc97f53a93ed11a65ccf06cc67d4fcd9987112fbedd62335bf55debe475fedffe45c100e9fd2df98833c5da7b5a2391c75e22d70354f3f6790f8c87213325b42 +"@octokit/openapi-webhooks-types@npm:8.5.1": + version: 8.5.1 + resolution: "@octokit/openapi-webhooks-types@npm:8.5.1" + checksum: 810d5261b512b174fe2bccae9669223c588258e90871a31c9ba612807a416742e6a4ba3679daa561995d924081fc32b953f4a150d7cd380a19b24da60dd467f6 languageName: node linkType: hard "@octokit/plugin-paginate-graphql@npm:^4.0.0": - version: 4.0.0 - resolution: "@octokit/plugin-paginate-graphql@npm:4.0.0" + version: 4.0.1 + resolution: "@octokit/plugin-paginate-graphql@npm:4.0.1" peerDependencies: "@octokit/core": ">=5" - checksum: 368121d74fc40a4cee96f2febc29ae43abd8f6b7d0b06d3520847827675128028c4fa10d0534c5f0466658e81257d103092154778625c886a9fcdd01c302e50e + checksum: 109d895303d39c1ba362a260c71202f3c92798faa4f4e05638023685b5ac9191cee61759ea0eee43b9ce945cf8c52aebf2dbd54c392165e86448d6421e97b0f5 languageName: node linkType: hard @@ -13714,14 +14148,14 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^11.0.0": - version: 11.3.5 - resolution: "@octokit/plugin-paginate-rest@npm:11.3.5" +"@octokit/plugin-paginate-rest@npm:^11.0.0, @octokit/plugin-paginate-rest@npm:^11.3.6": + version: 11.4.0 + resolution: "@octokit/plugin-paginate-rest@npm:11.4.0" dependencies: - "@octokit/types": ^13.6.0 + "@octokit/types": ^13.7.0 peerDependencies: "@octokit/core": ">=6" - checksum: 60fd4101030c58f6c8de4c756ab8263a54625408372b0146e8cf0694f6ec52a610d62aa2696046ea8851a37d3df4f4262cf2117a556ce3d60cc5999a3aafc19c + checksum: f4d2a290c9c1ff6655b135b43721a6f8e0260ec101ba0818ebd0ac5aab74f935681e721b461ac9f915703431309f7e5f8e708b6eb3dab0b8b00ba5c585b4b12a languageName: node linkType: hard @@ -13738,13 +14172,13 @@ __metadata: linkType: hard "@octokit/plugin-paginate-rest@npm:^9.0.0": - version: 9.2.0 - resolution: "@octokit/plugin-paginate-rest@npm:9.2.0" + version: 9.2.1 + resolution: "@octokit/plugin-paginate-rest@npm:9.2.1" dependencies: "@octokit/types": ^12.6.0 peerDependencies: - "@octokit/core": ">=5" - checksum: fbeb38d31dcf84a52b671f5a92815d7b31c7a70c8e57a546e0391f257fda6a2dc1f53b5cd6ddf6678d5bd08a8ba728487794560a37ee14f8c11317a7a01bc2a4 + "@octokit/core": 5 + checksum: 554ad17a7dcfd7028e321ffcae233f8ae7975569084f19d9b6217b47fb182e2604145108de7a9029777e6dc976b27b2dd7387e2e47a77532a72e6c195880576d languageName: node linkType: hard @@ -13777,25 +14211,14 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0": - version: 10.4.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.4.0" - dependencies: - "@octokit/types": ^12.6.0 - peerDependencies: - "@octokit/core": ">=5" - checksum: 8ee155825c7ea1dd2991a50d5b3f205988b8ea19af4bebbd91c55bb7b78c4e2215956d578671496a4a86df19ff2d5405ce37ee35c9c6c188dc9a199c045c30be - languageName: node - linkType: hard - "@octokit/plugin-rest-endpoint-methods@npm:^13.0.0": - version: 13.2.6 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:13.2.6" + version: 13.3.0 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:13.3.0" dependencies: - "@octokit/types": ^13.6.1 + "@octokit/types": ^13.7.0 peerDependencies: "@octokit/core": ">=6" - checksum: 37ddfb1dde04df34600a401bb14e2a190eed1476e44403ee7f517c994c191c16d6ed9b2f49a6b3f2743361f77381b34b3c0ba3d8283cd9e4fff4c8ab8102e16d + checksum: 89de851184384575b578c9f9afb45cde3b2db4d3ed748b85437ce5c7b18f1fb696f0cc974c4aeefdeb0b1103b302320c7e41171a9fa9884e09d4ff829b4aa677 languageName: node linkType: hard @@ -13811,32 +14234,32 @@ __metadata: linkType: hard "@octokit/plugin-retry@npm:^6.0.0": - version: 6.0.1 - resolution: "@octokit/plugin-retry@npm:6.0.1" + version: 6.1.0 + resolution: "@octokit/plugin-retry@npm:6.1.0" dependencies: "@octokit/request-error": ^5.0.0 - "@octokit/types": ^12.0.0 + "@octokit/types": ^13.0.0 bottleneck: ^2.15.3 peerDependencies: - "@octokit/core": ">=5" - checksum: 9c8663b5257cf4fa04cc737c064e9557501719d6d3af7cf8f46434a2117e1cf4b8d25d9eb4294ed255ad17a0ede853542649870612733f4b8ece97e24e391d22 + "@octokit/core": 5 + checksum: 95233dcd4c9a3e8a6a448eec95cc850b0d0b24ddfbfb8bb7f082bdedfcb81aca598cbc18d6e50f9c10976414ad3b83a6a2c4edb4c617da9b3399d4726b77ee82 languageName: node linkType: hard "@octokit/plugin-retry@npm:^7.0.0": - version: 7.1.2 - resolution: "@octokit/plugin-retry@npm:7.1.2" + version: 7.1.3 + resolution: "@octokit/plugin-retry@npm:7.1.3" dependencies: - "@octokit/request-error": ^6.0.0 - "@octokit/types": ^13.0.0 + "@octokit/request-error": ^6.1.6 + "@octokit/types": ^13.6.2 bottleneck: ^2.15.3 peerDependencies: "@octokit/core": ">=6" - checksum: 484da4d0deffb5612d9ad918e82158c7c0e98e0be76ffe9046fe48c3f11ed4b7ff2d6807d9704c470dbc7d017bfa6e89cd89346ccdad788ac4fa5d02ccc99f94 + checksum: d8ee8cf72d348cd52ef86906264528c047aaf49517f8e3d61bf74629d8852f1ec0a1ce535f07dcc0437422bad8a0c9b47af712457b9347419a81f8caa2a99033 languageName: node linkType: hard -"@octokit/plugin-throttling@npm:^8.0.0": +"@octokit/plugin-throttling@npm:^8.0.0, @octokit/plugin-throttling@npm:^8.1.3": version: 8.2.0 resolution: "@octokit/plugin-throttling@npm:8.2.0" dependencies: @@ -13849,14 +14272,14 @@ __metadata: linkType: hard "@octokit/plugin-throttling@npm:^9.0.0": - version: 9.3.2 - resolution: "@octokit/plugin-throttling@npm:9.3.2" + version: 9.4.0 + resolution: "@octokit/plugin-throttling@npm:9.4.0" dependencies: - "@octokit/types": ^13.0.0 + "@octokit/types": ^13.7.0 bottleneck: ^2.15.3 peerDependencies: - "@octokit/core": ^6.0.0 - checksum: d3e11bd4bbee7df0885789c018f9e0cc48b2226fa4c23f9f68b53acd670eb30303762fb56034650620dbf4e72497e27620140bc9cad5355207b4b5f0e1129e90 + "@octokit/core": ^6.1.3 + checksum: 84f774a40b9a5e4b0c1a405b28368490bd104ef2bf27006da2e319cd62b096b70c00a00d89d6705b8ac31bc2633a95c0cd3c7ca4e66c85c10d9470113aa6d3c3 languageName: node linkType: hard @@ -13882,12 +14305,12 @@ __metadata: languageName: node linkType: hard -"@octokit/request-error@npm:^6.0.0, @octokit/request-error@npm:^6.0.1, @octokit/request-error@npm:^6.1.0, @octokit/request-error@npm:^6.1.1": - version: 6.1.5 - resolution: "@octokit/request-error@npm:6.1.5" +"@octokit/request-error@npm:^6.0.0, @octokit/request-error@npm:^6.0.1, @octokit/request-error@npm:^6.1.6": + version: 6.1.6 + resolution: "@octokit/request-error@npm:6.1.6" dependencies: - "@octokit/types": ^13.0.0 - checksum: a0891df29957d9911ef34281fefffac4a98baa96ffffeb1a2b8f0c8e229911ca3da2be42e5bbe6a4b994a12fd100f4d0d86be095fada60384cd6728705eae859 + "@octokit/types": ^13.6.2 + checksum: 5b4e2637c7c6ef3ce9dfb2b2a054a2b821b2b750b9ddedfef277699d774db5103bdb697717ed462d085ca66860079b5b01210ca8a855bbafeb016b1a69dd276b languageName: node linkType: hard @@ -13917,15 +14340,16 @@ __metadata: languageName: node linkType: hard -"@octokit/request@npm:^9.0.0, @octokit/request@npm:^9.0.1, @octokit/request@npm:^9.1.0, @octokit/request@npm:^9.1.1": - version: 9.1.3 - resolution: "@octokit/request@npm:9.1.3" +"@octokit/request@npm:^9.1.4": + version: 9.2.0 + resolution: "@octokit/request@npm:9.2.0" dependencies: "@octokit/endpoint": ^10.0.0 "@octokit/request-error": ^6.0.1 - "@octokit/types": ^13.1.0 + "@octokit/types": ^13.6.2 + fast-content-type-parse: ^2.0.0 universal-user-agent: ^7.0.2 - checksum: 0a1c1a4f9ba67954402ef6d1e3d8e78518487750f3a31c100133840fff393ed9cc29533282914adf0731f7cc880a2778b8a6ac81527b376a278360a86e79597d + checksum: 24056e2c3c634bfca5f72277b6cd69f69ad2a58c033a0e96c2fa626e3e6a028f6ca58702aecceb5f2f4ed23a583b16df2dd728fa02dce910dc081bfcbc64ad92 languageName: node linkType: hard @@ -13978,12 +14402,12 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^13.0.0, @octokit/types@npm:^13.1.0, @octokit/types@npm:^13.4.1, @octokit/types@npm:^13.5.0, @octokit/types@npm:^13.6.0, @octokit/types@npm:^13.6.1": - version: 13.6.1 - resolution: "@octokit/types@npm:13.6.1" +"@octokit/types@npm:^13.0.0, @octokit/types@npm:^13.1.0, @octokit/types@npm:^13.5.0, @octokit/types@npm:^13.6.2, @octokit/types@npm:^13.7.0": + version: 13.7.0 + resolution: "@octokit/types@npm:13.7.0" dependencies: - "@octokit/openapi-types": ^22.2.0 - checksum: 05bb427bc3c84088e2367b8d1b7a9834732116bb3d35ef51d1aae34b3919027159dd496b9362dab1cb047918da15be1dc1cafc512c97f9b77458bd273b5a2ba9 + "@octokit/openapi-types": ^23.0.1 + checksum: ba373c2cfd44391f632df7b99f2610ba0d33b4e875861857c1e4ba6e6c1ae4029858a16aceefc3c5b2bd591190203ee361bb3d5df21d8b309932f659c40c1397 languageName: node linkType: hard @@ -14033,10 +14457,10 @@ __metadata: languageName: node linkType: hard -"@octokit/webhooks-types@npm:7.3.2": - version: 7.3.2 - resolution: "@octokit/webhooks-types@npm:7.3.2" - checksum: d1fdf56f05003880e9b77b2132582376de45527bcbaab76c7e5ac3fbc3cb1e319a21017d196694651fb5c2b29e5f053b7aed8b6c25f518adf3fdc43538a1bbbc +"@octokit/webhooks-types@npm:7.6.1": + version: 7.6.1 + resolution: "@octokit/webhooks-types@npm:7.6.1" + checksum: 5b3aa8e63c4eaf511e571dbd55868688cb2ec68c41f02238b4894336e2220fa19a723be83b6383621fbaa90695056a64533959a9cc6ffdbd27faa58b22e6ef51 languageName: node linkType: hard @@ -14053,25 +14477,25 @@ __metadata: linkType: hard "@octokit/webhooks@npm:^12.0.4": - version: 12.1.2 - resolution: "@octokit/webhooks@npm:12.1.2" + version: 12.3.1 + resolution: "@octokit/webhooks@npm:12.3.1" dependencies: "@octokit/request-error": ^5.0.0 "@octokit/webhooks-methods": ^4.1.0 - "@octokit/webhooks-types": 7.3.2 + "@octokit/webhooks-types": 7.6.1 aggregate-error: ^3.1.0 - checksum: 65c08a42f5511b54ccfe333fed1baa797d8941f5010687e4568e0aaaff28faf01800c67aec53885d1fb60336af74986051524f1dc77030addb48cadf820347db + checksum: 883be6e06a18e59884914f43818dc6249612401905b98c133e6e6f52f039fa5a65b420a2bdd7b2a7c248ada6b23504963fdd3685719a42798a40d838a832026f languageName: node linkType: hard -"@octokit/webhooks@npm:^13.0.0": - version: 13.3.0 - resolution: "@octokit/webhooks@npm:13.3.0" +"@octokit/webhooks@npm:^13.4.2": + version: 13.4.2 + resolution: "@octokit/webhooks@npm:13.4.2" dependencies: - "@octokit/openapi-webhooks-types": 8.3.0 - "@octokit/request-error": ^6.0.1 + "@octokit/openapi-webhooks-types": 8.5.1 + "@octokit/request-error": ^6.1.6 "@octokit/webhooks-methods": ^5.0.0 - checksum: 4a790e7a0551f057a14cf3b5df8e20cec43c10a8f331e19db7b0e5f6bfbc7577e817ad8543c7a99fb6dd7c713d93f0bbaf2fedc3c88f858693da084e9ef1463d + checksum: 85bacdd613252bb292c9d63201451cdc60a6b3c4780c2e7fa961cd0810d8dc88e8590e842b9b81253ee7b7e5d5954ea205be2dc38178f529fe6281bb19382bd8 languageName: node linkType: hard @@ -14135,7 +14559,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api@npm:1.9.0, @opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.0.1, @opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.4.0": +"@opentelemetry/api@npm:1.9.0, @opentelemetry/api@npm:^1.0.0, @opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.4.0, @opentelemetry/api@npm:^1.9.0": version: 1.9.0 resolution: "@opentelemetry/api@npm:1.9.0" checksum: 9e88e59d53ced668f3daaecfd721071c5b85a67dd386f1c6f051d1be54375d850016c881f656ffbe9a03bedae85f7e89c2f2b635313f9c9b195ad033cdc31020 @@ -14219,7 +14643,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/core@npm:1.27.0, @opentelemetry/core@npm:^1.0.0, @opentelemetry/core@npm:^1.1.0, @opentelemetry/core@npm:^1.25.0, @opentelemetry/core@npm:^1.25.1, @opentelemetry/core@npm:^1.26.0, @opentelemetry/core@npm:^1.8.0": +"@opentelemetry/core@npm:1.27.0": version: 1.27.0 resolution: "@opentelemetry/core@npm:1.27.0" dependencies: @@ -14230,6 +14654,17 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/core@npm:1.30.1, @opentelemetry/core@npm:^1.0.0, @opentelemetry/core@npm:^1.1.0, @opentelemetry/core@npm:^1.25.0, @opentelemetry/core@npm:^1.25.1, @opentelemetry/core@npm:^1.26.0, @opentelemetry/core@npm:^1.8.0": + version: 1.30.1 + resolution: "@opentelemetry/core@npm:1.30.1" + dependencies: + "@opentelemetry/semantic-conventions": 1.28.0 + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: fe71452fffc6b5efe4bd1f0ab18b0424e744825f9a837f5bf08be80fe6d2c90c443743cb3d220cffad27b7d83dc38e0a7861c91ec965be156394e752c95e583c + languageName: node + linkType: hard + "@opentelemetry/exporter-logs-otlp-grpc@npm:0.53.0": version: 0.53.0 resolution: "@opentelemetry/exporter-logs-otlp-grpc@npm:0.53.0" @@ -14942,22 +15377,20 @@ __metadata: linkType: hard "@opentelemetry/propagation-utils@npm:^0.30.11": - version: 0.30.12 - resolution: "@opentelemetry/propagation-utils@npm:0.30.12" + version: 0.30.15 + resolution: "@opentelemetry/propagation-utils@npm:0.30.15" peerDependencies: "@opentelemetry/api": ^1.0.0 - checksum: 1bf6b1a9d00ab0950768f4acb2ccf888592aecfcffde1554b55ffd28c50025920de2725c20f07307b8f4c189c95c413f74b84edb088df3e1d8ce182e83b5cf36 + checksum: b2fa90cc0cbfb510db8c5cae413bdb0e54275ba2cdf28f1e72936bc7991f7050e1269ce2736fa711555d77bbd51db433c7f8587427b521304bb0e4851fd480d1 languageName: node linkType: hard "@opentelemetry/propagator-aws-xray@npm:^1.3.1": - version: 1.26.0 - resolution: "@opentelemetry/propagator-aws-xray@npm:1.26.0" - dependencies: - "@opentelemetry/core": 1.26.0 + version: 1.26.1 + resolution: "@opentelemetry/propagator-aws-xray@npm:1.26.1" peerDependencies: "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 34a0c208c28a558dbdf4650f7aac40bb93ad4e3be6458bdcbf4db1516f0b2bd16bf59fb05ab2ad00fd066e11c5923767def4d3498ad4dc4d7bc54494a1b04719 + checksum: 314c8fefeeac42633477dc4846fbc81f638a25d373d4cf0dd43b1d766c7e6236704587f5a9b99fe3c069732b3bca1d008144a145069ed07fc249c6f547a08d6a languageName: node linkType: hard @@ -14991,28 +15424,28 @@ __metadata: linkType: hard "@opentelemetry/resource-detector-alibaba-cloud@npm:^0.29.3": - version: 0.29.4 - resolution: "@opentelemetry/resource-detector-alibaba-cloud@npm:0.29.4" + version: 0.29.7 + resolution: "@opentelemetry/resource-detector-alibaba-cloud@npm:0.29.7" dependencies: "@opentelemetry/core": ^1.26.0 "@opentelemetry/resources": ^1.10.0 "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.0.0 - checksum: 78d4100e8dfb814a6ea35c2b9ef12fd93d402ffab93d7a592f3c2d486392e281cd751c2312482e75440eab3a6cd235866c5b14993bf6f6a12a9f3ade91ed3539 + checksum: 824ca6f4c386b66d041c0a40255ca1423004c1065b5b47c481496dfb1727308b41d295cc3089fc563540b55ac698aaff7fb15be1b0f746386c1d5f0710415994 languageName: node linkType: hard "@opentelemetry/resource-detector-aws@npm:^1.6.2": - version: 1.7.0 - resolution: "@opentelemetry/resource-detector-aws@npm:1.7.0" + version: 1.10.0 + resolution: "@opentelemetry/resource-detector-aws@npm:1.10.0" dependencies: "@opentelemetry/core": ^1.0.0 "@opentelemetry/resources": ^1.10.0 "@opentelemetry/semantic-conventions": ^1.27.0 peerDependencies: "@opentelemetry/api": ^1.0.0 - checksum: cbe754b5ea525064478e572a73d05979f6bc8d9bf5b063d3ea104545f0e50e04fbc0ae1376bb2543262d20ef2aad9388b1ff0e485d96ac1446efbc542ab8d818 + checksum: 141b104736275dae2da58169d10a6aadef130c1182382e2a03e607fee5329f019ad100752ed7ad5b44d8c2d59f25ca7b92b6d169b7367b611394422f3c256617 languageName: node linkType: hard @@ -15068,7 +15501,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/resources@npm:1.27.0, @opentelemetry/resources@npm:^1.10.0, @opentelemetry/resources@npm:^1.10.1, @opentelemetry/resources@npm:^1.24.0, @opentelemetry/resources@npm:^1.8.0": +"@opentelemetry/resources@npm:1.27.0": version: 1.27.0 resolution: "@opentelemetry/resources@npm:1.27.0" dependencies: @@ -15080,6 +15513,18 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/resources@npm:1.30.1, @opentelemetry/resources@npm:^1.10.0, @opentelemetry/resources@npm:^1.10.1, @opentelemetry/resources@npm:^1.24.0, @opentelemetry/resources@npm:^1.8.0": + version: 1.30.1 + resolution: "@opentelemetry/resources@npm:1.30.1" + dependencies: + "@opentelemetry/core": 1.30.1 + "@opentelemetry/semantic-conventions": 1.28.0 + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: a930d52fcdb18bda6d27a5d867493a6aa560fcad9f266af0c5d24c26069253b463f5cb9961577c3ebb1de752ae37ef4e1344009273504e19604ea7495a4028bd + languageName: node + linkType: hard + "@opentelemetry/sdk-logs@npm:0.53.0": version: 0.53.0 resolution: "@opentelemetry/sdk-logs@npm:0.53.0" @@ -15105,7 +15550,7 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/sdk-metrics@npm:1.27.0, @opentelemetry/sdk-metrics@npm:^1.9.1": +"@opentelemetry/sdk-metrics@npm:1.27.0": version: 1.27.0 resolution: "@opentelemetry/sdk-metrics@npm:1.27.0" dependencies: @@ -15117,6 +15562,18 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/sdk-metrics@npm:^1.9.1": + version: 1.30.1 + resolution: "@opentelemetry/sdk-metrics@npm:1.30.1" + dependencies: + "@opentelemetry/core": 1.30.1 + "@opentelemetry/resources": 1.30.1 + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: b74d16b1a0550e840fea4e7585162d3f3f817aef5e6991e86c1d1808c1e18ec32f6e32982756622671505c3d224976e1f6c11fb4b49d39f281fd7848b57277a0 + languageName: node + linkType: hard + "@opentelemetry/sdk-node@npm:0.53.0, @opentelemetry/sdk-node@npm:^0.53.0": version: 0.53.0 resolution: "@opentelemetry/sdk-node@npm:0.53.0" @@ -15172,13 +15629,20 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:1.27.0, @opentelemetry/semantic-conventions@npm:^1.27.0": +"@opentelemetry/semantic-conventions@npm:1.27.0": version: 1.27.0 resolution: "@opentelemetry/semantic-conventions@npm:1.27.0" checksum: 26d85f8d13c8c64024f7a84528cff41d56afc9829e7ff8a654576404f8b2c1a9c264adcc6fa5a9551bacdd938a4a464041fa9493e0a722e5605f2c2ae6752398 languageName: node linkType: hard +"@opentelemetry/semantic-conventions@npm:1.28.0, @opentelemetry/semantic-conventions@npm:^1.27.0": + version: 1.28.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.28.0" + checksum: 1d708afa654990236cdb6b5da84f7ab899b70bff9f753bc49d93616a5c7f7f339ba1eba6a9fbb57dee596995334f4e7effa57a4624741882ab5b3c419c3511e2 + languageName: node + linkType: hard + "@opentelemetry/sql-common@npm:^0.40.1": version: 0.40.1 resolution: "@opentelemetry/sql-common@npm:0.40.1" @@ -15331,87 +15795,70 @@ __metadata: linkType: hard "@patternfly/patternfly@npm:^5.1.0": - version: 5.3.1 - resolution: "@patternfly/patternfly@npm:5.3.1" - checksum: 2bb6ed396f5c36c5c4c11fbd1141fa5830f3f1b1d9846eedba1df43f445ea43d1cadbbcf9fd416f966bf6195aeea00fb14770ced81ae3d6ff47a4fcd241bf89b + version: 5.4.2 + resolution: "@patternfly/patternfly@npm:5.4.2" + checksum: 1cc2c3f7020f050eb4bd72d57a48473c7fad9c931b16e3c8e8ba7f0d94654d22a1944b3593b6b118a1b28f14749ae6a630622efd6c1cd54b6f08cd360b186cb3 languageName: node linkType: hard "@patternfly/patternfly@npm:^6.0.0": - version: 6.0.0 - resolution: "@patternfly/patternfly@npm:6.0.0" - checksum: 035ce47e43ed408fed1116721b0217855d4d522305fd0ad9a162798bdccecb980558a730f11b9a9c180a1b8f885a322752aa987a94a43562197a2fcae1a0464b + version: 6.1.0 + resolution: "@patternfly/patternfly@npm:6.1.0" + checksum: 3051001b24d46565da9de1c53565309168dbdc243ba4cefa8abf5e41d1fff3bd848a986755efa01dd8baa9e2773efe52870f6e92a2a4780368740d71b027e87c languageName: node linkType: hard "@patternfly/react-charts@npm:^7.1.1": - version: 7.3.0 - resolution: "@patternfly/react-charts@npm:7.3.0" + version: 7.4.8 + resolution: "@patternfly/react-charts@npm:7.4.8" dependencies: - "@patternfly/react-styles": ^5.3.0 - "@patternfly/react-tokens": ^5.3.0 - hoist-non-react-statics: ^3.3.0 + "@patternfly/react-styles": ^5.4.1 + "@patternfly/react-tokens": ^5.4.1 + hoist-non-react-statics: ^3.3.2 lodash: ^4.17.21 - tslib: ^2.5.0 - victory-area: ^36.9.1 - victory-axis: ^36.9.1 - victory-bar: ^36.9.1 - victory-box-plot: ^36.9.1 - victory-chart: ^36.9.1 - victory-core: ^36.9.1 - victory-create-container: ^36.9.1 - victory-cursor-container: ^36.9.1 - victory-group: ^36.9.1 - victory-legend: ^36.9.1 - victory-line: ^36.9.1 - victory-pie: ^36.9.1 - victory-scatter: ^36.9.1 - victory-stack: ^36.9.1 - victory-tooltip: ^36.9.1 - victory-voronoi-container: ^36.9.1 - victory-zoom-container: ^36.9.1 + tslib: ^2.7.0 + victory-area: ^37.3.4 + victory-axis: ^37.3.4 + victory-bar: ^37.3.4 + victory-box-plot: ^37.3.4 + victory-chart: ^37.3.4 + victory-core: ^37.3.4 + victory-create-container: ^37.3.4 + victory-cursor-container: ^37.3.4 + victory-group: ^37.3.4 + victory-legend: ^37.3.4 + victory-line: ^37.3.4 + victory-pie: ^37.3.4 + victory-scatter: ^37.3.4 + victory-stack: ^37.3.4 + victory-tooltip: ^37.3.4 + victory-voronoi-container: ^37.3.4 + victory-zoom-container: ^37.3.4 peerDependencies: react: ^17 || ^18 react-dom: ^17 || ^18 - checksum: 131fb6e81f7be8b237cfc28f13da9eb124c9ffac65990f5546a7470add7d66c0f81767f5fb9926eb90957210117558770e664db7e883742bc3a1ace09dfeca0e + checksum: 6583b9c75c16a51d78a39a58e8407f03db8f8ff52b5e480ca19519ae5d9173d7fd4cb9f82ff83e354aa8d33be1a993f12ae0e4ab4f00555d8864f643abff76fb languageName: node linkType: hard "@patternfly/react-core@npm:^5.1.1": - version: 5.4.8 - resolution: "@patternfly/react-core@npm:5.4.8" + version: 5.4.12 + resolution: "@patternfly/react-core@npm:5.4.12" dependencies: "@patternfly/react-icons": ^5.4.2 "@patternfly/react-styles": ^5.4.1 "@patternfly/react-tokens": ^5.4.1 - focus-trap: 7.6.0 - react-dropzone: ^14.2.3 - tslib: ^2.7.0 - peerDependencies: - react: ^17 || ^18 - react-dom: ^17 || ^18 - checksum: 5a22903a7ef0a129a13b58133a1a09f78c78b8cd26a0ed8c20519fce167d5ba2c4d48e998003a4536d770698bd36e1ecb2bcf171a38646f80447a587266afd48 - languageName: node - linkType: hard - -"@patternfly/react-core@npm:^6.0.0": - version: 6.0.0 - resolution: "@patternfly/react-core@npm:6.0.0" - dependencies: - "@patternfly/react-icons": ^6.0.0 - "@patternfly/react-styles": ^6.0.0 - "@patternfly/react-tokens": ^6.0.0 - focus-trap: 7.6.0 + focus-trap: 7.6.2 react-dropzone: ^14.2.3 tslib: ^2.7.0 peerDependencies: react: ^17 || ^18 react-dom: ^17 || ^18 - checksum: 196ca777d06df73945cfa0c8c11d3d54d303012bf5b15e67fabb6b996c217a5326b58a7be6c9eaf2a7055391b71065c27ab34ddc4b88fd6cc69760b237444864 + checksum: f73dfa1d7eaa33762277b5ca58378b99cf61dee25499f10702beab632e560bd2996acde8d04ff8eff446806f4f90ac9b68bbd17406e8aadb6d2c671248cce4fb languageName: node linkType: hard -"@patternfly/react-core@npm:^6.1.0": +"@patternfly/react-core@npm:^6.0.0, @patternfly/react-core@npm:^6.1.0": version: 6.1.0 resolution: "@patternfly/react-core@npm:6.1.0" dependencies: @@ -15438,17 +15885,7 @@ __metadata: languageName: node linkType: hard -"@patternfly/react-icons@npm:^6.0.0": - version: 6.0.0 - resolution: "@patternfly/react-icons@npm:6.0.0" - peerDependencies: - react: ^17 || ^18 - react-dom: ^17 || ^18 - checksum: 39ddcda5a0f0a3840cc8b499a9b68f0ea133ea369a6412dfaabb38af0095ed9eef5df3171de3d0990dc0130720d4fbe3e6b28d70fdb6668c1507cd1cbdc6750d - languageName: node - linkType: hard - -"@patternfly/react-icons@npm:^6.1.0": +"@patternfly/react-icons@npm:^6.0.0, @patternfly/react-icons@npm:^6.1.0": version: 6.1.0 resolution: "@patternfly/react-icons@npm:6.1.0" peerDependencies: @@ -15458,21 +15895,14 @@ __metadata: languageName: node linkType: hard -"@patternfly/react-styles@npm:^5.1.1, @patternfly/react-styles@npm:^5.3.0, @patternfly/react-styles@npm:^5.4.1": +"@patternfly/react-styles@npm:^5.1.1, @patternfly/react-styles@npm:^5.4.1": version: 5.4.1 resolution: "@patternfly/react-styles@npm:5.4.1" checksum: 6fb1ec38a017acd1cf1262b39c69f70a650ed7f205d5433c83087957395e6e487914ed1992a67de37718ea536145fc974d7d9dbc6460ae38d668035f4c6d0c1b languageName: node linkType: hard -"@patternfly/react-styles@npm:^6.0.0": - version: 6.0.0 - resolution: "@patternfly/react-styles@npm:6.0.0" - checksum: 40f6e169eea6b412e8bea3c220c4e29923106fa65363c5e07068db37eaa55f6088411ed0bd36c9befaa3486f108ca8d097ee39bd55276855a4387e6713d484c8 - languageName: node - linkType: hard - -"@patternfly/react-styles@npm:^6.1.0": +"@patternfly/react-styles@npm:^6.0.0, @patternfly/react-styles@npm:^6.1.0": version: 6.1.0 resolution: "@patternfly/react-styles@npm:6.1.0" checksum: 73653190157b4a1f1239094b56579517f2a16919d1fb831d294d6fd209c1bd7ec7b5016038fd62e6565afdb4668f22b0c3d4187e0c4be6bc2f2a615e34669c27 @@ -15496,21 +15926,14 @@ __metadata: languageName: node linkType: hard -"@patternfly/react-tokens@npm:^5.1.1, @patternfly/react-tokens@npm:^5.3.0, @patternfly/react-tokens@npm:^5.4.1": +"@patternfly/react-tokens@npm:^5.1.1, @patternfly/react-tokens@npm:^5.4.1": version: 5.4.1 resolution: "@patternfly/react-tokens@npm:5.4.1" checksum: d6f51cbd31db797ed42b148f58ecb28bcc93bdcdf39d0f20b8db5ac40ac2998002ddfad764af38c2f00bc366ac57b1c12fdd42a55e7a30fe3b01e26739e770cf languageName: node linkType: hard -"@patternfly/react-tokens@npm:^6.0.0": - version: 6.0.0 - resolution: "@patternfly/react-tokens@npm:6.0.0" - checksum: 3390651a7ea0d2664adb1f760cb54e40200ac63b54269ba3f28002c01cd108c57a7bf142c894cfc510f400c950c239f93fb9ca47c00515dda44ec386b6aec972 - languageName: node - linkType: hard - -"@patternfly/react-tokens@npm:^6.1.0": +"@patternfly/react-tokens@npm:^6.0.0, @patternfly/react-tokens@npm:^6.1.0": version: 6.1.0 resolution: "@patternfly/react-tokens@npm:6.1.0" checksum: 5de010cc64eef5009e1403a6f4e2e03314864e9f3ee9a9fcfde20fcae76b5288d9be4e260eeafaa3485b2addceed4fe68c37d488f48916cfd35c227e412cec68 @@ -15518,8 +15941,8 @@ __metadata: linkType: hard "@patternfly/react-topology@npm:^5.1.0": - version: 5.4.0 - resolution: "@patternfly/react-topology@npm:5.4.0" + version: 5.4.1 + resolution: "@patternfly/react-topology@npm:5.4.1" dependencies: "@dagrejs/dagre": 1.1.2 "@patternfly/react-core": ^5.1.1 @@ -15539,7 +15962,7 @@ __metadata: peerDependencies: react: ^17 || ^18 react-dom: ^17 || ^18 - checksum: 3b5a4469ba7cf02499d57bc7a82e419895aeba38ce2b35579faf414e763e90ff7a0c599fc6b9b09c9ceb7313f61f2c61aad1a5c20d74fc2cf5b6ae1b299d739a + checksum: 697ac877cf4d8f6146148a0ac0d6f370b03a194c03b81ddcbdff69cbbae5a4653ab96b45541eef0e4041afc47bb44957344791721d83d0ea6896db094efcd62f languageName: node linkType: hard @@ -15588,17 +16011,15 @@ __metadata: linkType: hard "@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.7": - version: 0.5.11 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.11" + version: 0.5.15 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.15" dependencies: - ansi-html-community: ^0.0.8 - common-path-prefix: ^3.0.0 + ansi-html: ^0.0.9 core-js-pure: ^3.23.3 error-stack-parser: ^2.0.6 - find-up: ^5.0.0 html-entities: ^2.1.0 loader-utils: ^2.0.4 - schema-utils: ^3.0.0 + schema-utils: ^4.2.0 source-map: ^0.7.3 peerDependencies: "@types/webpack": 4.x || 5.x @@ -15606,7 +16027,7 @@ __metadata: sockjs-client: ^1.4.0 type-fest: ">=0.17.0 <5.0.0" webpack: ">=4.43.0 <6.0.0" - webpack-dev-server: 3.x || 4.x + webpack-dev-server: 3.x || 4.x || 5.x webpack-hot-middleware: 2.x webpack-plugin-serve: 0.x || 1.x peerDependenciesMeta: @@ -15622,7 +16043,7 @@ __metadata: optional: true webpack-plugin-serve: optional: true - checksum: a82eced9519f4dcac424acae719f819ab4150bfcf2874ac7daaf25a4f1c409e3d8b9d693fea0c686c24d520a5473756df32da90d8b89739670f8f8084c600bb4 + checksum: 82df6244146209d63a12f0ca2e70b05274ee058c7e6d6eb4ced1228afde3b039a7f3f3cc0c76f1bb4b28deadbcf08bc2821c814f0bfee06979128578300fff3d languageName: node linkType: hard @@ -15733,561 +16154,526 @@ __metadata: languageName: node linkType: hard -"@radix-ui/primitive@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/primitive@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 - checksum: 2b93e161d3fdabe9a64919def7fa3ceaecf2848341e9211520c401181c9eaebb8451c630b066fad2256e5c639c95edc41de0ba59c40eff37e799918d019822d1 +"@radix-ui/primitive@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/primitive@npm:1.1.1" + checksum: d7e819177590108b74139809d52ec043c0962ae3513e947998be575fb13639c5c1c091896ddcf1d6a22a777d44ade59d22c2019ce9099607fc62a5de09c59707 languageName: node linkType: hard -"@radix-ui/react-arrow@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-arrow@npm:1.0.3" +"@radix-ui/react-arrow@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-arrow@npm:1.1.1" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-primitive": 2.0.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 8cca086f0dbb33360e3c0142adf72f99fc96352d7086d6c2356dbb2ea5944cfb720a87d526fc48087741c602cd8162ca02b0af5e6fdf5f56d20fddb44db8b4c3 + checksum: c75505c2858cffff7c742e888b635879f9a6d95e08bf5ae939be33f97e1171379bc6b5354ec0cd3d12624bdbe5a830ee6aa0fb1f46b1af160b488bc54e64d486 languageName: node linkType: hard -"@radix-ui/react-collection@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-collection@npm:1.0.3" +"@radix-ui/react-collection@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-collection@npm:1.1.1" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-slot": 1.0.2 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-slot": 1.1.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: acfbc9b0b2c553d343c22f02c9f098bc5cfa99e6e48df91c0d671855013f8b877ade9c657b7420a7aa523b5aceadea32a60dd72c23b1291f415684fb45d00cff + checksum: 413fbcb542ae5efefab05053a9cc3380586e7bc3d36427845a62749d90284986333e609066b952cc6ccd0a8ef49e8de773ea1cd294aecff3cdb1eb4047e97c2f languageName: node linkType: hard -"@radix-ui/react-compose-refs@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-compose-refs@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 +"@radix-ui/react-compose-refs@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-compose-refs@npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 2b9a613b6db5bff8865588b6bf4065f73021b3d16c0a90b2d4c23deceeb63612f1f15de188227ebdc5f88222cab031be617a9dd025874c0487b303be3e5cc2a8 + checksum: 1be82f9f7fab96cc10f167a2e4f976e0135a63d473334f664c06f02af13bc5ea1994cb0505f89ed190d756cb65d57506721c030908af07e49b9e3cfd36044f33 languageName: node linkType: hard -"@radix-ui/react-context@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-context@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 +"@radix-ui/react-context@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-context@npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 60e9b81d364f40c91a6213ec953f7c64fcd9d75721205a494a5815b3e5ae0719193429b62ee6c7002cd6aaf70f8c0e2f08bdbaba9ffcc233044d32b56d2127d1 + checksum: 9a04db236685dacc2f5ab2bdcfc4c82b974998e712ab97d79b11d5b4ef073d24aa9392398c876ef6cb3c59f40299285ceee3646187ad818cdad4fe1c74469d3f languageName: node linkType: hard "@radix-ui/react-dialog@npm:^1.0.4": - version: 1.0.5 - resolution: "@radix-ui/react-dialog@npm:1.0.5" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.1 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-dismissable-layer": 1.0.5 - "@radix-ui/react-focus-guards": 1.0.1 - "@radix-ui/react-focus-scope": 1.0.4 - "@radix-ui/react-id": 1.0.1 - "@radix-ui/react-portal": 1.0.4 - "@radix-ui/react-presence": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-slot": 1.0.2 - "@radix-ui/react-use-controllable-state": 1.0.1 + version: 1.1.4 + resolution: "@radix-ui/react-dialog@npm:1.1.4" + dependencies: + "@radix-ui/primitive": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-dismissable-layer": 1.1.3 + "@radix-ui/react-focus-guards": 1.1.1 + "@radix-ui/react-focus-scope": 1.1.1 + "@radix-ui/react-id": 1.1.0 + "@radix-ui/react-portal": 1.1.3 + "@radix-ui/react-presence": 1.1.2 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-slot": 1.1.1 + "@radix-ui/react-use-controllable-state": 1.1.0 aria-hidden: ^1.1.1 - react-remove-scroll: 2.5.5 + react-remove-scroll: ^2.6.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 3d11ca31afb794a6dd286005ab7894cb0ce7bc2de5481de98900470b11d495256401306763de030f5e35aa545ff90d34632ffd54a1b29bf55afba813be4bb84a + checksum: 695b35c7283adfe2be4ad88d30f0ad08be099a55dfd54e49ede61074846255b426eb57734509b5fc6f349439a051b48e44e58b542c2605383aa721a1b2bd7861 languageName: node linkType: hard -"@radix-ui/react-direction@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-direction@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 +"@radix-ui/react-direction@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-direction@npm:1.1.0" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 5336a8b0d4f1cde585d5c2b4448af7b3d948bb63a1aadb37c77771b0e5902dc6266e409cf35fd0edaca7f33e26424be19e64fb8f9d7f7be2d6f1714ea2764210 + checksum: 25ad0d1d65ad08c93cebfbefdff9ef2602e53f4573a66b37d2c366ede9485e75ec6fc8e7dd7d2939b34ea5504ca0fe6ac4a3acc2f6ee9b62d131d65486eafd49 languageName: node linkType: hard -"@radix-ui/react-dismissable-layer@npm:1.0.5": - version: 1.0.5 - resolution: "@radix-ui/react-dismissable-layer@npm:1.0.5" +"@radix-ui/react-dismissable-layer@npm:1.1.3": + version: 1.1.3 + resolution: "@radix-ui/react-dismissable-layer@npm:1.1.3" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.1 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-use-callback-ref": 1.0.1 - "@radix-ui/react-use-escape-keydown": 1.0.3 + "@radix-ui/primitive": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-use-callback-ref": 1.1.0 + "@radix-ui/react-use-escape-keydown": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: e73cf4bd3763f4d55b1bea7486a9700384d7d94dc00b1d5a75e222b2f1e4f32bc667a206ca4ed3baaaf7424dce7a239afd0ba59a6f0d89c3462c4e6e8d029a04 + checksum: 26d15726bdb274aeb8d801fd163051c270707fb19e9bac4e0e90b368e79063a5347a0b15dc3aadc0bbafa157674e9e796d785d720bd5132c059ac5294ac73a81 languageName: node linkType: hard "@radix-ui/react-dropdown-menu@npm:^2.0.5": - version: 2.0.6 - resolution: "@radix-ui/react-dropdown-menu@npm:2.0.6" + version: 2.1.4 + resolution: "@radix-ui/react-dropdown-menu@npm:2.1.4" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.1 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-id": 1.0.1 - "@radix-ui/react-menu": 2.0.6 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-use-controllable-state": 1.0.1 + "@radix-ui/primitive": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-id": 1.1.0 + "@radix-ui/react-menu": 2.1.4 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-use-controllable-state": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 1433e04234c29ae688b1d50b4a5ad0fd67e2627a5ea2e5f60fec6e4307e673ef35a703672eae0d61d96156c59084bbb19de9f9b9936b3fc351917dfe41dcf403 + checksum: 51014b38daab21d32164813d228b182e5dbf90c77115e5c32b8bbd37696a303485fe30fa2e0a097e1ca3f474cad0dd15efcecc3f567b5edf0a79b5092fe3b4e0 languageName: node linkType: hard -"@radix-ui/react-focus-guards@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-focus-guards@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 +"@radix-ui/react-focus-guards@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-focus-guards@npm:1.1.1" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 1f8ca8f83b884b3612788d0742f3f054e327856d90a39841a47897dbed95e114ee512362ae314177de226d05310047cabbf66b686ae86ad1b65b6b295be24ef7 + checksum: ac8dd31f48fa0500bafd9368f2f06c5a06918dccefa89fa5dc77ca218dc931a094a81ca57f6b181138029822f7acdd5280dceccf5ba4d9263c754fb8f7961879 languageName: node linkType: hard -"@radix-ui/react-focus-scope@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-focus-scope@npm:1.0.4" +"@radix-ui/react-focus-scope@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-focus-scope@npm:1.1.1" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-use-callback-ref": 1.0.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-use-callback-ref": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 3481db1a641513a572734f0bcb0e47fefeba7bccd6ec8dde19f520719c783ef0b05a55ef0d5292078ed051cc5eda46b698d5d768da02e26e836022f46b376fd1 + checksum: 8716fe9b029a66f81b37e4e22457dd0fc7b4dba573d712454e18ead850f256d84cd994eeebcc31dd7780cf1028b6410d9ebe152fff4478d3b4ce2700690a38f4 languageName: node linkType: hard -"@radix-ui/react-id@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-id@npm:1.0.1" +"@radix-ui/react-id@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-id@npm:1.1.0" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-use-layout-effect": 1.0.1 + "@radix-ui/react-use-layout-effect": 1.1.0 peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 446a453d799cc790dd2a1583ff8328da88271bff64530b5a17c102fa7fb35eece3cf8985359d416f65e330cd81aa7b8fe984ea125fc4f4eaf4b3801d698e49fe + checksum: 6fbc9d1739b3b082412da10359e63967b4f3a60383ebda4c9e56b07a722d29bee53b203b3b1418f88854a29315a7715867133bb149e6e22a027a048cdd20d970 languageName: node linkType: hard -"@radix-ui/react-menu@npm:2.0.6": - version: 2.0.6 - resolution: "@radix-ui/react-menu@npm:2.0.6" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.1 - "@radix-ui/react-collection": 1.0.3 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-direction": 1.0.1 - "@radix-ui/react-dismissable-layer": 1.0.5 - "@radix-ui/react-focus-guards": 1.0.1 - "@radix-ui/react-focus-scope": 1.0.4 - "@radix-ui/react-id": 1.0.1 - "@radix-ui/react-popper": 1.1.3 - "@radix-ui/react-portal": 1.0.4 - "@radix-ui/react-presence": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-roving-focus": 1.0.4 - "@radix-ui/react-slot": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.1 +"@radix-ui/react-menu@npm:2.1.4": + version: 2.1.4 + resolution: "@radix-ui/react-menu@npm:2.1.4" + dependencies: + "@radix-ui/primitive": 1.1.1 + "@radix-ui/react-collection": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-direction": 1.1.0 + "@radix-ui/react-dismissable-layer": 1.1.3 + "@radix-ui/react-focus-guards": 1.1.1 + "@radix-ui/react-focus-scope": 1.1.1 + "@radix-ui/react-id": 1.1.0 + "@radix-ui/react-popper": 1.2.1 + "@radix-ui/react-portal": 1.1.3 + "@radix-ui/react-presence": 1.1.2 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-roving-focus": 1.1.1 + "@radix-ui/react-slot": 1.1.1 + "@radix-ui/react-use-callback-ref": 1.1.0 aria-hidden: ^1.1.1 - react-remove-scroll: 2.5.5 + react-remove-scroll: ^2.6.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: a43fb560dbb5a4ddc43ea4e2434a9f517bbbcbf8b12e1e74c1e36666ad321aef7e39f91770140c106fe6f34e237102be8a02f3bc5588e6c06a709e20580c5e82 + checksum: 2a20db7c017075d3ceb07b076dfdbdc3c4d26825642e2f52d4bda9947078725db129c2b41a93a6f1393526eca3bf586f54dc47a9a66e1eef621c94a55a216aa4 languageName: node linkType: hard -"@radix-ui/react-popper@npm:1.1.3": - version: 1.1.3 - resolution: "@radix-ui/react-popper@npm:1.1.3" +"@radix-ui/react-popper@npm:1.2.1": + version: 1.2.1 + resolution: "@radix-ui/react-popper@npm:1.2.1" dependencies: - "@babel/runtime": ^7.13.10 "@floating-ui/react-dom": ^2.0.0 - "@radix-ui/react-arrow": 1.0.3 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-use-callback-ref": 1.0.1 - "@radix-ui/react-use-layout-effect": 1.0.1 - "@radix-ui/react-use-rect": 1.0.1 - "@radix-ui/react-use-size": 1.0.1 - "@radix-ui/rect": 1.0.1 + "@radix-ui/react-arrow": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-use-callback-ref": 1.1.0 + "@radix-ui/react-use-layout-effect": 1.1.0 + "@radix-ui/react-use-rect": 1.1.0 + "@radix-ui/react-use-size": 1.1.0 + "@radix-ui/rect": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: b18a15958623f9222b6ed3e24b9fbcc2ba67b8df5a5272412f261de1592b3f05002af1c8b94c065830c3c74267ce00cf6c1d70d4d507ec92ba639501f98aa348 + checksum: 1416acda53d06d497d40a587e02ef821dcb955f2eee86bad3a9acacfd7fda8601e5d36a9cbe5e47d200052169ccd2d840b685c51e7192afdf3fc7fa072274ee0 languageName: node linkType: hard -"@radix-ui/react-portal@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-portal@npm:1.0.4" +"@radix-ui/react-portal@npm:1.1.3": + version: 1.1.3 + resolution: "@radix-ui/react-portal@npm:1.1.3" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-use-layout-effect": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: c4cf35e2f26a89703189d0eef3ceeeb706ae0832e98e558730a5e929ca7c72c7cb510413a24eca94c7732f8d659a1e81942bec7b90540cb73ce9e4885d040b64 + checksum: 470fb50c940772d05cc268e219b3d15848909dcd0a2dc1952965d0af905992f0ccab99e99c490dea6564c441397eba720b8425ba9f4582c94bef40ebe27ac0d0 languageName: node linkType: hard -"@radix-ui/react-presence@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-presence@npm:1.0.1" +"@radix-ui/react-presence@npm:1.1.2": + version: 1.1.2 + resolution: "@radix-ui/react-presence@npm:1.1.2" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-use-layout-effect": 1.0.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-use-layout-effect": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: ed2ff9faf9e4257a4065034d3771459e5a91c2d840b2fcec94661761704dbcb65bcdd927d28177a2a129b3dab5664eb90a9b88309afe0257a9f8ba99338c0d95 + checksum: 0345bc8d3e1ddcbf4b864025833c71f3d76e4801ce16ad126a98aed816be6e819c4fe01097c6c1320771b947f5a14929cc610d18e7a1438cfb5573289fa4d4a6 languageName: node linkType: hard -"@radix-ui/react-primitive@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-primitive@npm:1.0.3" +"@radix-ui/react-primitive@npm:2.0.1": + version: 2.0.1 + resolution: "@radix-ui/react-primitive@npm:2.0.1" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-slot": 1.0.2 + "@radix-ui/react-slot": 1.1.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 9402bc22923c8e5c479051974a721c301535c36521c0237b83e5fa213d013174e77f3ad7905e6d60ef07e14f88ec7f4ea69891dc7a2b39047f8d3640e8f8d713 + checksum: d75882209101155f20babcff9475b887929db6473cd8e5b56d0c24d24d0042202e0fa785e6d6c6b322a96d9777cd0ef7610def9e11ea69839c6b204f1c99cf16 languageName: node linkType: hard -"@radix-ui/react-roving-focus@npm:1.0.4": - version: 1.0.4 - resolution: "@radix-ui/react-roving-focus@npm:1.0.4" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.1 - "@radix-ui/react-collection": 1.0.3 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-direction": 1.0.1 - "@radix-ui/react-id": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-use-callback-ref": 1.0.1 - "@radix-ui/react-use-controllable-state": 1.0.1 +"@radix-ui/react-roving-focus@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-roving-focus@npm:1.1.1" + dependencies: + "@radix-ui/primitive": 1.1.1 + "@radix-ui/react-collection": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-direction": 1.1.0 + "@radix-ui/react-id": 1.1.0 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-use-callback-ref": 1.1.0 + "@radix-ui/react-use-controllable-state": 1.1.0 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 69b1c82c2d9db3ba71549a848f2704200dab1b2cd22d050c1e081a78b9a567dbfdc7fd0403ee010c19b79652de69924d8ca2076cd031d6552901e4213493ffc7 + checksum: f3a78bd15cca322b384758c938106414b4cbe99aa58ca3eb12ec9d66552c7fa137128e846f413a6b7027f4bed04b2233c9aad8adb1ba07e14ed7a697f972d4f6 languageName: node linkType: hard -"@radix-ui/react-slot@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-slot@npm:1.0.2" +"@radix-ui/react-slot@npm:1.1.1": + version: 1.1.1 + resolution: "@radix-ui/react-slot@npm:1.1.1" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-compose-refs": 1.0.1 + "@radix-ui/react-compose-refs": 1.1.1 peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: edf5edf435ff594bea7e198bf16d46caf81b6fb559493acad4fa8c308218896136acb16f9b7238c788fd13e94a904f2fd0b6d834e530e4cae94522cdb8f77ce9 + checksum: ac391b921dcde1a71db8307247b36cd6908e0886d7a7b0babeb25158292bc29b61ccfb3f83279bfad11fe1f0f90e3e2f3de93b1174f36d107d77b073fe1a652a languageName: node linkType: hard "@radix-ui/react-tooltip@npm:^1.0.6": - version: 1.0.7 - resolution: "@radix-ui/react-tooltip@npm:1.0.7" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.1 - "@radix-ui/react-compose-refs": 1.0.1 - "@radix-ui/react-context": 1.0.1 - "@radix-ui/react-dismissable-layer": 1.0.5 - "@radix-ui/react-id": 1.0.1 - "@radix-ui/react-popper": 1.1.3 - "@radix-ui/react-portal": 1.0.4 - "@radix-ui/react-presence": 1.0.1 - "@radix-ui/react-primitive": 1.0.3 - "@radix-ui/react-slot": 1.0.2 - "@radix-ui/react-use-controllable-state": 1.0.1 - "@radix-ui/react-visually-hidden": 1.0.3 + version: 1.1.6 + resolution: "@radix-ui/react-tooltip@npm:1.1.6" + dependencies: + "@radix-ui/primitive": 1.1.1 + "@radix-ui/react-compose-refs": 1.1.1 + "@radix-ui/react-context": 1.1.1 + "@radix-ui/react-dismissable-layer": 1.1.3 + "@radix-ui/react-id": 1.1.0 + "@radix-ui/react-popper": 1.2.1 + "@radix-ui/react-portal": 1.1.3 + "@radix-ui/react-presence": 1.1.2 + "@radix-ui/react-primitive": 2.0.1 + "@radix-ui/react-slot": 1.1.1 + "@radix-ui/react-use-controllable-state": 1.1.0 + "@radix-ui/react-visually-hidden": 1.1.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 894d448c69a3e4d7626759f9f6c7997018fe8ef9cde098393bd83e10743d493dfd284eef041e46accc45486d5a5cd5f76d97f56afbdace7aed6e0cb14007bf15 + checksum: aabbb2c3a7592419fcf41d306582c57307e9518ee29d80e0a8f811bb29ade72144ee35a4f4a120e5143dee46813017fe4e087f351503929553a94e3af986305f languageName: node linkType: hard -"@radix-ui/react-use-callback-ref@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-callback-ref@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 +"@radix-ui/react-use-callback-ref@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-use-callback-ref@npm:1.1.0" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: b9fd39911c3644bbda14a84e4fca080682bef84212b8d8931fcaa2d2814465de242c4cfd8d7afb3020646bead9c5e539d478cea0a7031bee8a8a3bb164f3bc4c + checksum: 2ec7903c67e3034b646005556f44fd975dc5204db6885fc58403e3584f27d95f0b573bc161de3d14fab9fda25150bf3b91f718d299fdfc701c736bd0bd2281fa languageName: node linkType: hard -"@radix-ui/react-use-controllable-state@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-controllable-state@npm:1.0.1" +"@radix-ui/react-use-controllable-state@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-use-controllable-state@npm:1.1.0" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-use-callback-ref": 1.0.1 + "@radix-ui/react-use-callback-ref": 1.1.0 peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: dee2be1937d293c3a492cb6d279fc11495a8f19dc595cdbfe24b434e917302f9ac91db24e8cc5af9a065f3f209c3423115b5442e65a5be9fd1e9091338972be9 + checksum: a6c167cf8eb0744effbeab1f92ea6c0ad71838b222670c0488599f28eecd941d87ac1eed4b5d3b10df6dc7b7b2edb88a54e99d92c2942ce3b21f81d5c188f32d languageName: node linkType: hard -"@radix-ui/react-use-escape-keydown@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-use-escape-keydown@npm:1.0.3" +"@radix-ui/react-use-escape-keydown@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-use-escape-keydown@npm:1.1.0" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-use-callback-ref": 1.0.1 + "@radix-ui/react-use-callback-ref": 1.1.0 peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: c6ed0d9ce780f67f924980eb305af1f6cce2a8acbaf043a58abe0aa3cc551d9aa76ccee14531df89bbee302ead7ecc7fce330886f82d4672c5eda52f357ef9b8 + checksum: 9bf88ea272b32ea0f292afd336780a59c5646f795036b7e6105df2d224d73c54399ee5265f61d571eb545d28382491a8b02dc436e3088de8dae415d58b959b71 languageName: node linkType: hard -"@radix-ui/react-use-layout-effect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-layout-effect@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 +"@radix-ui/react-use-layout-effect@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-use-layout-effect@npm:1.1.0" peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: bed9c7e8de243a5ec3b93bb6a5860950b0dba359b6680c84d57c7a655e123dec9b5891c5dfe81ab970652e7779fe2ad102a23177c7896dde95f7340817d47ae5 + checksum: 271ea0bf1cd74718895a68414a6e95537737f36e02ad08eeb61a82b229d6abda9cff3135a479e134e1f0ce2c3ff97bb85babbdce751985fb755a39b231d7ccf2 languageName: node linkType: hard -"@radix-ui/react-use-rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-rect@npm:1.0.1" +"@radix-ui/react-use-rect@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-use-rect@npm:1.1.0" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/rect": 1.0.1 + "@radix-ui/rect": 1.1.0 peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 433f07e61e04eb222349825bb05f3591fca131313a1d03709565d6226d8660bd1d0423635553f95ee4fcc25c8f2050972d848808d753c388e2a9ae191ebf17f3 + checksum: facc9528af43df3b01952dbb915ff751b5924db2c31d41f053ddea19a7cc5cac5b096c4d7a2059e8f564a3f0d4a95bcd909df8faed52fa01709af27337628e2c languageName: node linkType: hard -"@radix-ui/react-use-size@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/react-use-size@npm:1.0.1" +"@radix-ui/react-use-size@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/react-use-size@npm:1.1.0" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-use-layout-effect": 1.0.1 + "@radix-ui/react-use-layout-effect": 1.1.0 peerDependencies: "@types/react": "*" - react: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 6cc150ad1e9fa85019c225c5a5d50a0af6cdc4653dad0c21b4b40cd2121f36ee076db326c43e6bc91a69766ccff5a84e917d27970176b592577deea3c85a3e26 + checksum: 01a11d4c07fc620b8a081e53d7ec8495b19a11e02688f3d9f47cf41a5fe0428d1e52ed60b2bf88dfd447dc2502797b9dad2841097389126dd108530913c4d90d languageName: node linkType: hard -"@radix-ui/react-visually-hidden@npm:1.0.3, @radix-ui/react-visually-hidden@npm:^1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-visually-hidden@npm:1.0.3" +"@radix-ui/react-visually-hidden@npm:1.1.1, @radix-ui/react-visually-hidden@npm:^1.0.3": + version: 1.1.1 + resolution: "@radix-ui/react-visually-hidden@npm:1.1.1" dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-primitive": 1.0.3 + "@radix-ui/react-primitive": 2.0.1 peerDependencies: "@types/react": "*" "@types/react-dom": "*" - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true "@types/react-dom": optional: true - checksum: 2e9d0c8253f97e7d6ffb2e52a5cfd40ba719f813b39c3e2e42c496d54408abd09ef66b5aec4af9b8ab0553215e32452a5d0934597a49c51dd90dc39181ed0d57 + checksum: ccbdf29811283fb257f0b0f8604923e6fe349a264986463f6d6a20946fc51e243527985e69f0af27659f78fd7a4199dacbba5bfc7af3667aa409cd23a0ae3283 languageName: node linkType: hard -"@radix-ui/rect@npm:1.0.1": - version: 1.0.1 - resolution: "@radix-ui/rect@npm:1.0.1" - dependencies: - "@babel/runtime": ^7.13.10 - checksum: aeec13b234a946052512d05239067d2d63422f9ec70bf2fe7acfd6b9196693fc33fbaf43c2667c167f777d90a095c6604eb487e0bce79e230b6df0f6cacd6a55 +"@radix-ui/rect@npm:1.1.0": + version: 1.1.0 + resolution: "@radix-ui/rect@npm:1.1.0" + checksum: 1ad93efbc9fc3b878bae5e8bb26ffa1005235d8b5b9fca8339eb5dbcf7bf53abc9ccd2a8ce128557820168c8600521e48e0ea4dda96aa5f116381f66f46aeda3 languageName: node linkType: hard @@ -16335,68 +16721,69 @@ __metadata: languageName: node linkType: hard -"@react-spring/animated@npm:~9.7.3": - version: 9.7.3 - resolution: "@react-spring/animated@npm:9.7.3" +"@react-spring/animated@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/animated@npm:9.7.5" dependencies: - "@react-spring/shared": ~9.7.3 - "@react-spring/types": ~9.7.3 + "@react-spring/shared": ~9.7.5 + "@react-spring/types": ~9.7.5 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 468942ca3a11c02c3e56def26b2da9dd10ddbed548004245c4ac309cce00b58d971e781abed67db0d652f72737eaa73766ea9a43b8ef3b08a7ed2eddc04d4c39 + checksum: e28662a659933ceab30849dd6574f7c06554a76996bad03fabdbc145cef2a3242495695cfec5b9c9cac049ff72d2917dfd61304c2d17ff899cbdefb09f53bbeb languageName: node linkType: hard -"@react-spring/core@npm:~9.7.3": - version: 9.7.3 - resolution: "@react-spring/core@npm:9.7.3" +"@react-spring/core@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/core@npm:9.7.5" dependencies: - "@react-spring/animated": ~9.7.3 - "@react-spring/shared": ~9.7.3 - "@react-spring/types": ~9.7.3 + "@react-spring/animated": ~9.7.5 + "@react-spring/shared": ~9.7.5 + "@react-spring/types": ~9.7.5 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 8a80a07276458fd14099320eda824e58a11ce3a9b03a5c9cd3f4252adb4d26da04ee5caf5cbc961199f55c2d58a99638d5ea292cdb6aa029208dbab741b5c531 + checksum: 60c0151547073edf35e0de0e066983096aefff7a5ecf83bf54c7a9a9807220c4212f0ccdf353ef63131652667105ba70cd7188dc31de32aab30e3cc095663a38 languageName: node linkType: hard -"@react-spring/rafz@npm:^9.7.3": - version: 9.7.3 - resolution: "@react-spring/rafz@npm:9.7.3" - checksum: c88b3c6306eab4a93a9f4ea38ad2e0ea3287a8b79a9a092cb1fd934a97ce092e41c32373b2b2e3de4b63027de7ae7414e0d442936dd8d94b51c2ff7d51e8f643 +"@react-spring/rafz@npm:^9.7.3, @react-spring/rafz@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/rafz@npm:9.7.5" + checksum: adbffdf25942a66802363f979f07e04c81abf19b49c55e62336220450f393d57ebe1c906694485d6d89e85a13fd223da3bdea22a955307eaecefaf59ea7ec7f9 languageName: node linkType: hard -"@react-spring/shared@npm:~9.7.3": - version: 9.7.3 - resolution: "@react-spring/shared@npm:9.7.3" +"@react-spring/shared@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/shared@npm:9.7.5" dependencies: - "@react-spring/types": ~9.7.3 + "@react-spring/rafz": ~9.7.5 + "@react-spring/types": ~9.7.5 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 912b5e567eb5345c9a6c8e8c0c2d69b1f411af72a0685b95831809c267c89846a31341ca071f284ace98b3cb5de647054dc76f6ace81d6379513eaf96b52f195 + checksum: 374ee7bece09895b1102c68acd0d47cf0d6f6201f77956aeac5eba7a3ee3190f509172990febfdde1bd91f79dabbaa42d3adc31c221511746575b23dadda038d languageName: node linkType: hard -"@react-spring/types@npm:~9.7.3": - version: 9.7.3 - resolution: "@react-spring/types@npm:9.7.3" - checksum: f47b81fe556464aa54a78603311cb584d6a0f03088522229afb058265bbe2ade2095a55ec7f4e960c3b9cceaa5d47865bc41fc6643c0f5f4bd3d8650203d8389 +"@react-spring/types@npm:~9.7.5": + version: 9.7.5 + resolution: "@react-spring/types@npm:9.7.5" + checksum: f9d2dea0ea6afb6d81dc0275cf2554b20d7eef8bafac99fc0de5b728f1ad5a5c02438932dc70a360686b34166124b13900788ece09af3cee96ce585ba168480e languageName: node linkType: hard "@react-spring/web@npm:^9.7.3": - version: 9.7.3 - resolution: "@react-spring/web@npm:9.7.3" + version: 9.7.5 + resolution: "@react-spring/web@npm:9.7.5" dependencies: - "@react-spring/animated": ~9.7.3 - "@react-spring/core": ~9.7.3 - "@react-spring/shared": ~9.7.3 - "@react-spring/types": ~9.7.3 + "@react-spring/animated": ~9.7.5 + "@react-spring/core": ~9.7.5 + "@react-spring/shared": ~9.7.5 + "@react-spring/types": ~9.7.5 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 7f5cd05b2314b7f2f715e1926abcf9aa0a539399b222ab34e989144f48350adfcd2edab65d41425570f72c57f602fc6994d6730fbeed902171ac527b630a8a9b + checksum: 4da57c7d2bf4cf76cedd1c57986ba85e839aaec45e247f75b7d12d777f6054fe77446e95a18080db5e714b0a5386a07e617c36592506554abfd2c301c50e66cc languageName: node linkType: hard @@ -16428,11 +16815,11 @@ __metadata: linkType: hard "@red-hat-developer-hub/backstage-plugin-bulk-import-common@npm:^1.4.1": - version: 1.4.1 - resolution: "@red-hat-developer-hub/backstage-plugin-bulk-import-common@npm:1.4.1" + version: 1.4.2 + resolution: "@red-hat-developer-hub/backstage-plugin-bulk-import-common@npm:1.4.2" peerDependencies: "@backstage/plugin-permission-common": ^0.8.1 - checksum: 8bdb460ff037424aa9949784de36d9e1da95054b8aeceb64671f8ffdedc1b32b8db31334aacf2a9d64ab2224f815fc7192c352e3e5a824bc1967914ed59fa86f + checksum: 653d1ff00decc90bdddb69b1e90b8de5cba67017b753ea865c31c9654ce5383d86eed9859b85e2ad48bcf56c230c5d820169b7d6dd8b26154d39b08a41ba229b languageName: node linkType: hard @@ -16505,6 +16892,62 @@ __metadata: languageName: node linkType: hard +"@redis/bloom@npm:1.2.0": + version: 1.2.0 + resolution: "@redis/bloom@npm:1.2.0" + peerDependencies: + "@redis/client": ^1.0.0 + checksum: 8c214227287d6b278109098bca00afc601cf84f7da9c6c24f4fa7d3854b946170e5893aa86ed607ba017a4198231d570541c79931b98b6d50b262971022d1d6c + languageName: node + linkType: hard + +"@redis/client@npm:1.6.0": + version: 1.6.0 + resolution: "@redis/client@npm:1.6.0" + dependencies: + cluster-key-slot: 1.1.2 + generic-pool: 3.9.0 + yallist: 4.0.0 + checksum: c01c89a793541dc6908a97f375fec3ac28bed7f92b1c20351a3073ce75c0263998a30c3316cbb76e6a4403059d9982d40aec0bc8f1b3cab43615edaaf05980da + languageName: node + linkType: hard + +"@redis/graph@npm:1.1.1": + version: 1.1.1 + resolution: "@redis/graph@npm:1.1.1" + peerDependencies: + "@redis/client": ^1.0.0 + checksum: caf9b9a3ff82a08ae543c356a3fed548399ae79aba5ed08ce6cf1b522b955eb5cee4406b0ed0c6899345f8fbc06dfd6cd51304ae8422c3ebbc468f53294dc509 + languageName: node + linkType: hard + +"@redis/json@npm:1.0.7": + version: 1.0.7 + resolution: "@redis/json@npm:1.0.7" + peerDependencies: + "@redis/client": ^1.0.0 + checksum: a84d51c06a2af9a42eff5a6db795e7c0f7ada27d958f5d762b6f9778f413399dbe6a0c2ab00dd7ccc5fdab5f2940afbab4a56c2b1c284a2326d0f79965d5bba1 + languageName: node + linkType: hard + +"@redis/search@npm:1.2.0": + version: 1.2.0 + resolution: "@redis/search@npm:1.2.0" + peerDependencies: + "@redis/client": ^1.0.0 + checksum: 256ddf8b30f216b605e571c9085e0efd5e3b43229b57db8ba0eea3376540ada437b68509c3bb0354e3c784f5fa1b825593cc602ebbfc5cbfa9e46d5c7be67eb6 + languageName: node + linkType: hard + +"@redis/time-series@npm:1.1.0": + version: 1.1.0 + resolution: "@redis/time-series@npm:1.1.0" + peerDependencies: + "@redis/client": ^1.0.0 + checksum: 785f024e1c83866708beb254f765e561ccd6e6caad61b697223b3355ee92ca1e99a4d312c4ce03a3d6a29a223f38a2ec844c80b47990fa3bd9ddc56a30c1376f + languageName: node + linkType: hard + "@remix-run/router@npm:1.19.2": version: 1.19.2 resolution: "@remix-run/router@npm:1.19.2" @@ -16512,10 +16955,10 @@ __metadata: languageName: node linkType: hard -"@repeaterjs/repeater@npm:^3.0.4": - version: 3.0.5 - resolution: "@repeaterjs/repeater@npm:3.0.5" - checksum: 4f66020679a2e7a93fbd43d40a7ae6a187d6d7d148b019cca025791dade452599848bd20cd225861a65629571806c551a18cd40190426eb74b050710ac3ae865 +"@repeaterjs/repeater@npm:^3.0.4, @repeaterjs/repeater@npm:^3.0.6": + version: 3.0.6 + resolution: "@repeaterjs/repeater@npm:3.0.6" + checksum: aae878b953162bec77c94b45f2236ddfc01a65308267c7cb30220fa2f8511654a302c0d32aad228c58241d685607d7bb35b6d528b2879355e6636ff08fddb266 languageName: node linkType: hard @@ -16535,9 +16978,41 @@ __metadata: languageName: node linkType: hard +"@rjsf/core@npm:5.23.1": + version: 5.23.1 + resolution: "@rjsf/core@npm:5.23.1" + dependencies: + lodash: ^4.17.21 + lodash-es: ^4.17.21 + markdown-to-jsx: ^7.4.1 + nanoid: ^3.3.7 + prop-types: ^15.8.1 + peerDependencies: + "@rjsf/utils": ^5.23.x + react: ^16.14.0 || >=17 + checksum: acb5b1541b7e6f9911dce33455c297402fc1b2278b0c688073decdea977efae7d4227962eaadeb48fd14c2a8e4bba73a80df975b1c49aa2e2b933c2646ab4904 + languageName: node + linkType: hard + +"@rjsf/core@npm:5.23.2": + version: 5.23.2 + resolution: "@rjsf/core@npm:5.23.2" + dependencies: + lodash: ^4.17.21 + lodash-es: ^4.17.21 + markdown-to-jsx: ^7.4.1 + nanoid: ^3.3.7 + prop-types: ^15.8.1 + peerDependencies: + "@rjsf/utils": ^5.23.x + react: ^16.14.0 || >=17 + checksum: 36b2505afd5402368a31a06a4b9d2264f63cab9766f2060cd3c3ecf8b4c08fc7fc8b1b82dd00788f357a2ca649d76c5b6e324152572dbf333bd2b93a0bcc99fd + languageName: node + linkType: hard + "@rjsf/core@npm:^5.14.3, @rjsf/core@npm:^5.21.2": - version: 5.22.2 - resolution: "@rjsf/core@npm:5.22.2" + version: 5.24.1 + resolution: "@rjsf/core@npm:5.24.1" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 @@ -16545,9 +17020,9 @@ __metadata: nanoid: ^3.3.7 prop-types: ^15.8.1 peerDependencies: - "@rjsf/utils": ^5.22.x + "@rjsf/utils": ^5.24.x react: ^16.14.0 || >=17 - checksum: 349981c7cdd079d641459d24a59b89b64a711254b4993836bf97974735aa1001cec37b1fa857372667c2de61c26cdb666ece6fc88f82d0fe2a34aa048b689022 + checksum: 5c62bafa7d2609e2e9439cea604cde8dee1ded1b0b5b720bae0b986c8a6b290dc6bc8f7bae7836e99d5714abf43a8654a48b2b8793034180ba5853e6c04f5db9 languageName: node linkType: hard @@ -16564,18 +17039,44 @@ __metadata: languageName: node linkType: hard +"@rjsf/material-ui@npm:5.23.1": + version: 5.23.1 + resolution: "@rjsf/material-ui@npm:5.23.1" + peerDependencies: + "@material-ui/core": ^4.12.3 + "@material-ui/icons": ^4.11.2 + "@rjsf/core": ^5.23.x + "@rjsf/utils": ^5.23.x + react: ^16.14.0 || >=17 + checksum: ae0d401edd407c534406cce60fda2725fc246286cbedd8a8e4031097d4d318761fd8a4f35339d0f3f857a3dc863b88a75002d6900176052913bb629d0ebde4f9 + languageName: node + linkType: hard + +"@rjsf/material-ui@npm:5.23.2": + version: 5.23.2 + resolution: "@rjsf/material-ui@npm:5.23.2" + peerDependencies: + "@material-ui/core": ^4.12.3 + "@material-ui/icons": ^4.11.2 + "@rjsf/core": ^5.23.x + "@rjsf/utils": ^5.23.x + react: ^16.14.0 || >=17 + checksum: 3c41a4d3133bfb1ddf2a9f96fdf6b44de7d16688133a5a69833b8a99044b499f1466d361e6e92e04b88d281ca9b1819905bafd01fee6f4e0329d111de0eb5c0a + languageName: node + linkType: hard + "@rjsf/mui@npm:^5.21.2": - version: 5.22.2 - resolution: "@rjsf/mui@npm:5.22.2" + version: 5.24.1 + resolution: "@rjsf/mui@npm:5.24.1" peerDependencies: "@emotion/react": ^11.7.0 "@emotion/styled": ^11.6.0 "@mui/icons-material": ^5.2.0 || ^6.0.0 "@mui/material": ^5.2.2 || ^6.0.0 - "@rjsf/core": ^5.22.x - "@rjsf/utils": ^5.22.x + "@rjsf/core": ^5.24.x + "@rjsf/utils": ^5.24.x react: ">=17" - checksum: 2015cdb7f04b1915332979b9ed2848e595cc1c8076949c8985f85508228865dfcabad08c50ecc943136fa1ef2decede5ab592352721a8216e24e9d104e83f530 + checksum: dde3ea702908791a88a6dd56c533d50aeceea89975cce0e3d7d0e4d0df2cd644167d0d4963188d08640f84b3443d28543db6e783e49c8782693471e4e46d7a8e languageName: node linkType: hard @@ -16594,9 +17095,39 @@ __metadata: languageName: node linkType: hard +"@rjsf/utils@npm:5.23.1": + version: 5.23.1 + resolution: "@rjsf/utils@npm:5.23.1" + dependencies: + json-schema-merge-allof: ^0.8.1 + jsonpointer: ^5.0.1 + lodash: ^4.17.21 + lodash-es: ^4.17.21 + react-is: ^18.2.0 + peerDependencies: + react: ^16.14.0 || >=17 + checksum: 7580419cf07416fe1e608ed171c30b25b3a78cfebba7d97e3120fe2e40f702fd0e61494e6c823281091522b053a39a83ab31ceb97c078cfb39ac636dc2d997c1 + languageName: node + linkType: hard + +"@rjsf/utils@npm:5.23.2": + version: 5.23.2 + resolution: "@rjsf/utils@npm:5.23.2" + dependencies: + json-schema-merge-allof: ^0.8.1 + jsonpointer: ^5.0.1 + lodash: ^4.17.21 + lodash-es: ^4.17.21 + react-is: ^18.2.0 + peerDependencies: + react: ^16.14.0 || >=17 + checksum: 16980013258bab7accaff961c533e4bb8e3326c37a84670a7667b2a10c1ca395451eb51a6cf819ccbafb1aa8838df325ff1f314b410bb186fef98856135e1a06 + languageName: node + linkType: hard + "@rjsf/utils@npm:^5.21.2": - version: 5.22.2 - resolution: "@rjsf/utils@npm:5.22.2" + version: 5.24.1 + resolution: "@rjsf/utils@npm:5.24.1" dependencies: json-schema-merge-allof: ^0.8.1 jsonpointer: ^5.0.1 @@ -16605,7 +17136,7 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 9e1e14f03313cf075c5f4d6ecffd095fc77db85e561474286686bff02121da4bee256facd9a08c422862798c2b709cea990b197b6e03db2360a684cc05847bdd + checksum: 6b6fb0c0d790a2548a42851229097c8cf91c5f684c51c42077e8bc1fbb1c74ec161e3be4dfdacc1dff47aa53d8ac06d9d5e7103adc7be37d787d480f92e683b0 languageName: node linkType: hard @@ -16623,21 +17154,49 @@ __metadata: languageName: node linkType: hard +"@rjsf/validator-ajv8@npm:5.23.1": + version: 5.23.1 + resolution: "@rjsf/validator-ajv8@npm:5.23.1" + dependencies: + ajv: ^8.12.0 + ajv-formats: ^2.1.1 + lodash: ^4.17.21 + lodash-es: ^4.17.21 + peerDependencies: + "@rjsf/utils": ^5.23.x + checksum: 3eca428bd682ea8226558e0c719f263912ad8d6fde2c3ee817c5c106070fd3142f614dc35e15819000f8f00f9c00aa654c2dab5fd3a7318164ad6420d53068f5 + languageName: node + linkType: hard + +"@rjsf/validator-ajv8@npm:5.23.2": + version: 5.23.2 + resolution: "@rjsf/validator-ajv8@npm:5.23.2" + dependencies: + ajv: ^8.12.0 + ajv-formats: ^2.1.1 + lodash: ^4.17.21 + lodash-es: ^4.17.21 + peerDependencies: + "@rjsf/utils": ^5.23.x + checksum: da6328ac6ddc448141dd183fa6447a0ff5b0bcc7c77c8fa4d9d0a35b59727095da72fb15b16ded6c1d3769ca19cadb781da6ebc23c7cb79f87c83bca5d58a0fb + languageName: node + linkType: hard + "@rjsf/validator-ajv8@npm:^5.21.2": - version: 5.22.2 - resolution: "@rjsf/validator-ajv8@npm:5.22.2" + version: 5.24.1 + resolution: "@rjsf/validator-ajv8@npm:5.24.1" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 lodash: ^4.17.21 lodash-es: ^4.17.21 peerDependencies: - "@rjsf/utils": ^5.22.x - checksum: 4499ae87581dda81df26aadf298c0dce2aa3cd8f7bf2f044077b6450c2b69def60c23ece8b52dfeb74673e97e2452fcc049f89dbb3029ac941e11803e2d5dd81 + "@rjsf/utils": ^5.24.x + checksum: 6c5976179444c2a532606c0e2bbf4a92f2726a7dab4e5281673f1098dadb6fc86f30ea58c4495076c1fea7fe893a1933734e9087ce53a257fcb70de035bc0990 languageName: node linkType: hard -"@roadiehq/backstage-plugin-argo-cd-backend@npm:3.2.3, @roadiehq/backstage-plugin-argo-cd-backend@npm:^3.2.2": +"@roadiehq/backstage-plugin-argo-cd-backend@npm:3.2.3": version: 3.2.3 resolution: "@roadiehq/backstage-plugin-argo-cd-backend@npm:3.2.3" dependencies: @@ -16655,6 +17214,24 @@ __metadata: languageName: node linkType: hard +"@roadiehq/backstage-plugin-argo-cd-backend@npm:^3.2.2": + version: 3.3.1 + resolution: "@roadiehq/backstage-plugin-argo-cd-backend@npm:3.3.1" + dependencies: + "@backstage/backend-common": ^0.25.0 + "@backstage/backend-plugin-api": ^1.0.2 + "@backstage/catalog-client": ^1.8.0 + "@backstage/config": ^1.3.0 + "@types/express": ^4.17.6 + cross-fetch: ^3.1.4 + express: ^4.17.1 + express-promise-router: ^4.1.0 + winston: ^3.2.1 + yn: ^4.0.0 + checksum: f02ebf779b0994f1e1e01843a1190d8cc11bdd062e1578406b777a469721ff0958037cb0a6e259c0be750687cc153ea45f5390d6b42994bdd5c20f69c2a3fc27 + languageName: node + linkType: hard + "@roadiehq/backstage-plugin-argo-cd@npm:2.8.4": version: 2.8.4 resolution: "@roadiehq/backstage-plugin-argo-cd@npm:2.8.4" @@ -16941,13 +17518,12 @@ __metadata: linkType: hard "@rollup/plugin-node-resolve@npm:^15.0.0, @rollup/plugin-node-resolve@npm:^15.2.1": - version: 15.2.3 - resolution: "@rollup/plugin-node-resolve@npm:15.2.3" + version: 15.3.1 + resolution: "@rollup/plugin-node-resolve@npm:15.3.1" dependencies: "@rollup/pluginutils": ^5.0.1 "@types/resolve": 1.20.2 deepmerge: ^4.2.2 - is-builtin-module: ^3.2.1 is-module: ^1.0.0 resolve: ^1.22.1 peerDependencies: @@ -16955,7 +17531,7 @@ __metadata: peerDependenciesMeta: rollup: optional: true - checksum: 730f32c2f8fdddff07cf0fca86a5dac7c475605fb96930197a868c066e62eb6388c557545e4f7d99b7a283411754c9fbf98944ab086b6074e04fc1292e234aa8 + checksum: 2973db4da0e7ed97c35a8dd8878ed6b6781bcb03d72039f064d878f711b0290446348c5268aa1359d064787adc0d5cc35f662d35ea5a4fa9b0b3f9f17c678f41 languageName: node linkType: hard @@ -16986,133 +17562,161 @@ __metadata: linkType: hard "@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.0.2, @rollup/pluginutils@npm:^5.0.5, @rollup/pluginutils@npm:^5.1.0": - version: 5.1.0 - resolution: "@rollup/pluginutils@npm:5.1.0" + version: 5.1.4 + resolution: "@rollup/pluginutils@npm:5.1.4" dependencies: "@types/estree": ^1.0.0 estree-walker: ^2.0.2 - picomatch: ^2.3.1 + picomatch: ^4.0.2 peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true - checksum: 3cc5a6d91452a6eabbfd1ae79b4dd1f1e809d2eecda6e175deb784e75b0911f47e9ecce73f8dd315d6a8b3f362582c91d3c0f66908b6ced69345b3cbe28f8ce8 + checksum: dc0294580effbf68965ed7939c9e469b8c8847b59842e4691fd10d0a8d0b178600bd912694c409ae33600c9059efce72e96f25917cff983afd57f092a7aeb8d2 languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.14.3" +"@rollup/rollup-android-arm-eabi@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.30.1" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-android-arm64@npm:4.14.3" +"@rollup/rollup-android-arm64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-android-arm64@npm:4.30.1" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-darwin-arm64@npm:4.14.3" +"@rollup/rollup-darwin-arm64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.30.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-darwin-x64@npm:4.14.3" +"@rollup/rollup-darwin-x64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.30.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.14.3" - conditions: os=linux & cpu=arm +"@rollup/rollup-freebsd-arm64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.30.1" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.14.3" - conditions: os=linux & cpu=arm +"@rollup/rollup-freebsd-x64@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-freebsd-x64@npm:4.30.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.30.1" + conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.14.3" +"@rollup/rollup-linux-arm-musleabihf@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.30.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.30.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.14.3" +"@rollup/rollup-linux-arm64-musl@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.30.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.14.3" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.30.1" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.30.1" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.14.3" +"@rollup/rollup-linux-riscv64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.30.1" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.14.3" +"@rollup/rollup-linux-s390x-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.30.1" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.14.3" +"@rollup/rollup-linux-x64-gnu@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.30.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.14.3" +"@rollup/rollup-linux-x64-musl@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.30.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.14.3" +"@rollup/rollup-win32-arm64-msvc@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.30.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.14.3" +"@rollup/rollup-win32-ia32-msvc@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.30.1" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.14.3": - version: 4.14.3 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.14.3" +"@rollup/rollup-win32-x64-msvc@npm:4.30.1": + version: 4.30.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.30.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard +"@rtsao/scc@npm:^1.1.0": + version: 1.1.0 + resolution: "@rtsao/scc@npm:1.1.0" + checksum: 17d04adf404e04c1e61391ed97bca5117d4c2767a76ae3e879390d6dec7b317fcae68afbf9e98badee075d0b64fa60f287729c4942021b4d19cd01db77385c01 + languageName: node + linkType: hard + "@sagold/json-pointer@npm:^5.1.2": version: 5.1.2 resolution: "@sagold/json-pointer@npm:5.1.2" @@ -17167,15 +17771,22 @@ __metadata: languageName: node linkType: hard -"@segment/analytics-core@npm:1.8.0": - version: 1.8.0 - resolution: "@segment/analytics-core@npm:1.8.0" +"@scarf/scarf@npm:=1.4.0": + version: 1.4.0 + resolution: "@scarf/scarf@npm:1.4.0" + checksum: def62aa403f7e63165ccb219efd2c420fc0b7357b0ba43397f635e4aa813ace1cdf3855a93fc559b4619bcc0469ae4767b8cb72af30ea5c0522bf4a2ecb18198 + languageName: node + linkType: hard + +"@segment/analytics-core@npm:1.8.1": + version: 1.8.1 + resolution: "@segment/analytics-core@npm:1.8.1" dependencies: "@lukeed/uuid": ^2.0.0 "@segment/analytics-generic-utils": 1.2.0 dset: ^3.1.4 tslib: ^2.4.1 - checksum: c8e2a98670658d6400d8e517e141aff6eff581a12a4015ce8ff906185d148cf9dad79cc5bfb5376195794cc0c964a9c9ca79d36f3d4b49affeb7344251dcde1f + checksum: 59c20fa6d4aa59e0c7ff4341fe1bd080841e0cee36b5d793a4979cd3dd171ee8376adc6df2a9028a3a8d6b91ba7944c17c060102fa92a9564fcb344a57427a1c languageName: node linkType: hard @@ -17189,11 +17800,11 @@ __metadata: linkType: hard "@segment/analytics-next@npm:^1.58.0": - version: 1.76.0 - resolution: "@segment/analytics-next@npm:1.76.0" + version: 1.76.1 + resolution: "@segment/analytics-next@npm:1.76.1" dependencies: "@lukeed/uuid": ^2.0.0 - "@segment/analytics-core": 1.8.0 + "@segment/analytics-core": 1.8.1 "@segment/analytics-generic-utils": 1.2.0 "@segment/analytics.js-video-plugins": ^0.2.1 "@segment/facade": ^3.4.9 @@ -17202,7 +17813,7 @@ __metadata: node-fetch: ^2.6.7 tslib: ^2.4.1 unfetch: ^4.1.0 - checksum: 0819212b39499b4ba5a02dd9c58ed0716bbb236237f458f641842b72f3766620142d57bbb583fb5fe8be13d6d3871ff970f0c76002ebcf691411e92b32089cc7 + checksum: 67a9aa214c3a8c8bed0b05f02f433efb16d6edd33677a4d799d54f98a32b0d6ddaead7010618d9a18dab98ce660bea21e9bdd81245e3b1efeca5d2b5532d95df languageName: node linkType: hard @@ -17250,13 +17861,6 @@ __metadata: languageName: node linkType: hard -"@sindresorhus/is@npm:^4.0.0": - version: 4.6.0 - resolution: "@sindresorhus/is@npm:4.6.0" - checksum: 83839f13da2c29d55c97abc3bc2c55b250d33a0447554997a85c539e058e57b8da092da396e252b11ec24a0279a0bed1f537fa26302209327060643e327f81d2 - languageName: node - linkType: hard - "@sinonjs/commons@npm:^3.0.0": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" @@ -17275,460 +17879,444 @@ __metadata: languageName: node linkType: hard -"@smithy/abort-controller@npm:^1.0.1": - version: 1.1.0 - resolution: "@smithy/abort-controller@npm:1.1.0" +"@smithy/abort-controller@npm:^3.1.9": + version: 3.1.9 + resolution: "@smithy/abort-controller@npm:3.1.9" dependencies: - "@smithy/types": ^1.2.0 - tslib: ^2.5.0 - checksum: 4299368f0b7dbeb8ffba00632b191ec39113fa9b9d29c3ff33c54d5a8663d42d769aa5d79ecd656fe8d09ccb23a7351095305524c27c5650ec7f96a312e5e522 + "@smithy/types": ^3.7.2 + tslib: ^2.6.2 + checksum: 0d15ce236a14cc5193b76e6990a224957926404dd683c23000b9370a230d9331b36a4cb805521b0d713aec80b2ea78b22e0c44b03d52aa77c8d998915aafd2ac languageName: node linkType: hard -"@smithy/abort-controller@npm:^3.1.1, @smithy/abort-controller@npm:^3.1.6": - version: 3.1.6 - resolution: "@smithy/abort-controller@npm:3.1.6" +"@smithy/abort-controller@npm:^4.0.0, @smithy/abort-controller@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/abort-controller@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: abba34cc47b6f7951402da1f94465616b84dedf55e0b0467b53f7848b9cb3e82b94869fa637278aa2f65809613e872582791053fd23299e026edada4a5ec1c1c + checksum: 9f6ac65639ae5823e7ea83fcd05282fca105adecda8a40bd4280cacb87ef2af935cf18e649897369db53c1b82c81fcdea75240260ca0ce9795ee22d6afa4f067 languageName: node linkType: hard -"@smithy/chunked-blob-reader-native@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/chunked-blob-reader-native@npm:3.0.0" +"@smithy/chunked-blob-reader-native@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/chunked-blob-reader-native@npm:4.0.0" dependencies: - "@smithy/util-base64": ^3.0.0 + "@smithy/util-base64": ^4.0.0 tslib: ^2.6.2 - checksum: f97c0c0ce5e9bd2350883df3c232311aa82eb87eb387125f685900326f86fc3aca208e9004291f742f6978abf91a0c1112cc9a803cd0caf0dffbcfa9b6d0239e + checksum: 66151ee380feac66687885f7ae0053dcc4dce85bcdf4c16fc44524c0fc038af3370fca007f0a0075610d1f49b07180bf845a3185fe36b15584be04fa9a635e98 languageName: node linkType: hard -"@smithy/chunked-blob-reader@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/chunked-blob-reader@npm:3.0.0" +"@smithy/chunked-blob-reader@npm:^5.0.0": + version: 5.0.0 + resolution: "@smithy/chunked-blob-reader@npm:5.0.0" dependencies: tslib: ^2.6.2 - checksum: 6f520884ade14f1073adb640db2f03eb22a9920f342f37958df3e98327890b741cd909b16cbbc6f70c6c8dd250d6b3a8d76841b685d4871b0403f309267def4f + checksum: ee4c1a33a422f684391d5d4cb290f46e2f8e024f31dbba5e31e3def71fd1fa79a357c83ee2ccaea555face2024b0f43ed27569608489bfa9ecfdd4681705b7ae languageName: node linkType: hard -"@smithy/config-resolver@npm:^3.0.10, @smithy/config-resolver@npm:^3.0.5": - version: 3.0.10 - resolution: "@smithy/config-resolver@npm:3.0.10" +"@smithy/config-resolver@npm:^4.0.0, @smithy/config-resolver@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/config-resolver@npm:4.0.1" dependencies: - "@smithy/node-config-provider": ^3.1.9 - "@smithy/types": ^3.6.0 - "@smithy/util-config-provider": ^3.0.0 - "@smithy/util-middleware": ^3.0.8 + "@smithy/node-config-provider": ^4.0.1 + "@smithy/types": ^4.1.0 + "@smithy/util-config-provider": ^4.0.0 + "@smithy/util-middleware": ^4.0.1 tslib: ^2.6.2 - checksum: 55c2355db7eabfd70f0bf288d58cb0238f43b754d91f46febf7fd04617e6107d26e2899ede2b37fbd977980bb12fdbdb688fc5f53654202e946fe3c258cef5d1 + checksum: 24035ea6766693668f0776f8eed3d0a81aecbabf925e48c20ef759e6a95b39cd3e1b04efd819860d46727fe094382803fe3f625a0fbfcd652196753b44b7864f languageName: node linkType: hard -"@smithy/core@npm:^2.3.1, @smithy/core@npm:^2.5.1": - version: 2.5.1 - resolution: "@smithy/core@npm:2.5.1" - dependencies: - "@smithy/middleware-serde": ^3.0.8 - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 - "@smithy/util-body-length-browser": ^3.0.0 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-stream": ^3.2.1 - "@smithy/util-utf8": ^3.0.0 +"@smithy/core@npm:^3.0.0, @smithy/core@npm:^3.1.1": + version: 3.1.1 + resolution: "@smithy/core@npm:3.1.1" + dependencies: + "@smithy/middleware-serde": ^4.0.1 + "@smithy/protocol-http": ^5.0.1 + "@smithy/types": ^4.1.0 + "@smithy/util-body-length-browser": ^4.0.0 + "@smithy/util-middleware": ^4.0.1 + "@smithy/util-stream": ^4.0.2 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 9175f48eca64f6b304335e32e09c6276aadf7d26cb9180da0a120a2b07c12d8dbe51de2ccce78e98c60729ce4eefe28e7ca95c169432a8049560564d780d1a81 + checksum: ad7df20121798e6e95f70a00eced7a555321fe0390f7f0e08847d1a72bcf90700e740f3eb9c0ca62c4cb1956e87a4fa2a10152078db42bae227d0b22e660bb81 languageName: node linkType: hard -"@smithy/credential-provider-imds@npm:^3.2.0, @smithy/credential-provider-imds@npm:^3.2.4, @smithy/credential-provider-imds@npm:^3.2.5": - version: 3.2.5 - resolution: "@smithy/credential-provider-imds@npm:3.2.5" +"@smithy/credential-provider-imds@npm:^4.0.0, @smithy/credential-provider-imds@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/credential-provider-imds@npm:4.0.1" dependencies: - "@smithy/node-config-provider": ^3.1.9 - "@smithy/property-provider": ^3.1.8 - "@smithy/types": ^3.6.0 - "@smithy/url-parser": ^3.0.8 + "@smithy/node-config-provider": ^4.0.1 + "@smithy/property-provider": ^4.0.1 + "@smithy/types": ^4.1.0 + "@smithy/url-parser": ^4.0.1 tslib: ^2.6.2 - checksum: 4c8941e3c3806f605930c31e461b0b0fd6384f782c7df92b35e30581eca02d7c4c6d6f2b1c5cdb08fcf4823d98f0ceadc8481def968f1266f761df5dac672d8f + checksum: ec03248abf9b2e89f5a49539d2a069c3d034af35dc49a09d260dd58662ac0b639c6463d1eaa7d80253b8168c67ecb00de8c79376ed65433fc20f8e934a9017d9 languageName: node linkType: hard -"@smithy/eventstream-codec@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/eventstream-codec@npm:1.1.0" - dependencies: - "@aws-crypto/crc32": 3.0.0 - "@smithy/types": ^1.2.0 - "@smithy/util-hex-encoding": ^1.1.0 - tslib: ^2.5.0 - checksum: 88e414d9a758b88f28ddb669f1dc26f8d3e3a36d398adace3919a699ff289dbf0e0c59bed69dc85741a2bcf9cbe66ce803986ede548328a7117a711534e51c6b - languageName: node - linkType: hard - -"@smithy/eventstream-codec@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/eventstream-codec@npm:3.1.2" +"@smithy/eventstream-codec@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/eventstream-codec@npm:4.0.1" dependencies: "@aws-crypto/crc32": 5.2.0 - "@smithy/types": ^3.3.0 - "@smithy/util-hex-encoding": ^3.0.0 + "@smithy/types": ^4.1.0 + "@smithy/util-hex-encoding": ^4.0.0 tslib: ^2.6.2 - checksum: b0c836acbf59b57a7e2ef948a54bd441d11b75d70f1c334723c27fce1ab0ff93ea9f936976b754272b5e90413b5a169c60b1df7ecfd7d061ebaae8d5cc067d94 + checksum: a99733e446b7f4054ba62e0f06a6d88fc0b70324518e2d21f128c1a2c4b3c3a2bf18398ca7e4b2a59e54a62d7bedf451d65e8c9945ba4aa3db10c5df18c00fed languageName: node linkType: hard -"@smithy/eventstream-serde-browser@npm:^3.0.5": - version: 3.0.5 - resolution: "@smithy/eventstream-serde-browser@npm:3.0.5" +"@smithy/eventstream-serde-browser@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/eventstream-serde-browser@npm:4.0.1" dependencies: - "@smithy/eventstream-serde-universal": ^3.0.4 - "@smithy/types": ^3.3.0 + "@smithy/eventstream-serde-universal": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 14e8a2027745e7a1ad261068e792e4a660043ce53fefc5f564b38b841ba02d40992b38fbd2357e762f0a1ecb658df3bbf23cf5ef33c3ec2488d316be95b61b9e + checksum: cfa141c76002be5e3fc0ff80826b793f052b5dac4e5806e8548f29d18b77523d37cf597724f070a53227337f77e7da9cde505ba7f44297561d681b96e4ab762b languageName: node linkType: hard -"@smithy/eventstream-serde-config-resolver@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.3" +"@smithy/eventstream-serde-config-resolver@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/eventstream-serde-config-resolver@npm:4.0.1" dependencies: - "@smithy/types": ^3.3.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: c61780aa0ad8c479618d0b3fcb2b42f1f9a74dcf814dba08305107ed1f088f56aa1c346db9c72439ff18617f31b9c59c6895060e4c9765c81d759150a22674af + checksum: 37c49d5ffa6b9c2f1f5b83b9c7f1de431ecef92a710e3dc4d91af5b978c662153d86ed558504424363c0c53682137ffa077ada9103f72eadc5d40ef4613f0241 languageName: node linkType: hard -"@smithy/eventstream-serde-node@npm:^3.0.4": - version: 3.0.4 - resolution: "@smithy/eventstream-serde-node@npm:3.0.4" +"@smithy/eventstream-serde-node@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/eventstream-serde-node@npm:4.0.1" dependencies: - "@smithy/eventstream-serde-universal": ^3.0.4 - "@smithy/types": ^3.3.0 + "@smithy/eventstream-serde-universal": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 0a75b184d95ab8c08efd93bf32c5fd9d735b5879df556599bd2ab78f23e3f77452e597bbdd42586c9bbedcc2b0b7683de4c816db739c19a2ebd62a34096ca86d + checksum: c24de78ac6bd3f4609a7e652301ff44fa0e5a499e2c10505068f17a8fa7387a5b6717601053c9c3804b94760df1da4799e5cd68900f97bab60160c075d93506a languageName: node linkType: hard -"@smithy/eventstream-serde-universal@npm:^3.0.4": - version: 3.0.4 - resolution: "@smithy/eventstream-serde-universal@npm:3.0.4" +"@smithy/eventstream-serde-universal@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/eventstream-serde-universal@npm:4.0.1" dependencies: - "@smithy/eventstream-codec": ^3.1.2 - "@smithy/types": ^3.3.0 + "@smithy/eventstream-codec": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 8463403ca4caf4ad48dba89b126f394439a289c9095ce6361c1f186c6021c1cd8ea402d1ce06b7284069c3415091ae4d802f66ded1b89e9da9d4c255b8402668 + checksum: 1fc609a5d341a43c427f233a64afa722b458f9b1dc7db9bab898f62d6805edcbe4fba866620a8b83001240e90254d9057636a6cf4eca80ada58f9dd2e0ca864b languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^3.2.4": - version: 3.2.4 - resolution: "@smithy/fetch-http-handler@npm:3.2.4" +"@smithy/fetch-http-handler@npm:^5.0.0, @smithy/fetch-http-handler@npm:^5.0.1": + version: 5.0.1 + resolution: "@smithy/fetch-http-handler@npm:5.0.1" dependencies: - "@smithy/protocol-http": ^4.1.0 - "@smithy/querystring-builder": ^3.0.3 - "@smithy/types": ^3.3.0 - "@smithy/util-base64": ^3.0.0 + "@smithy/protocol-http": ^5.0.1 + "@smithy/querystring-builder": ^4.0.1 + "@smithy/types": ^4.1.0 + "@smithy/util-base64": ^4.0.0 tslib: ^2.6.2 - checksum: 73df885c637c14353f449678a4e109aeb19945c5370a615793ca2a54a29746a78e725e324b01cfd86fc71f4afd6386da2758fccc49d247a623ecbe70f607cb74 + checksum: d8e160e4a57e1fb7b7805fcafda81fb7d7511904b48d2e25229d18bd15598c64cdd12bd39c0dee9fc9cc31a76952fae1d400c6a80e9015cfd6e22c2f930a6212 languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^4.0.0": - version: 4.0.0 - resolution: "@smithy/fetch-http-handler@npm:4.0.0" +"@smithy/hash-blob-browser@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/hash-blob-browser@npm:4.0.1" dependencies: - "@smithy/protocol-http": ^4.1.5 - "@smithy/querystring-builder": ^3.0.8 - "@smithy/types": ^3.6.0 - "@smithy/util-base64": ^3.0.0 + "@smithy/chunked-blob-reader": ^5.0.0 + "@smithy/chunked-blob-reader-native": ^4.0.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 43fc88515227e0d66b6b6a56a8e7a7f9c9690b32c51265859d40c1f4ace3a8a9ebba78e095715fe85a508d32c4f237c09f722e1e0c86d15a3fc81edc961a5051 + checksum: e4fa37d16818aaed955747b19de702ad3844e4beb0034ce56f236d7a3147ccefd15cc5b8236c99866c534a46bf716b8bdeaa13996c92409588bffb4e3e94b891 languageName: node linkType: hard -"@smithy/hash-blob-browser@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/hash-blob-browser@npm:3.1.2" +"@smithy/hash-node@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/hash-node@npm:4.0.1" dependencies: - "@smithy/chunked-blob-reader": ^3.0.0 - "@smithy/chunked-blob-reader-native": ^3.0.0 - "@smithy/types": ^3.3.0 + "@smithy/types": ^4.1.0 + "@smithy/util-buffer-from": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 959ec975cd4b3d86e3d0288e24b460343795bc305ef38fc43f8485cd1440da4068d375c5d1dab73ae875f02e861f194512a7adf5afcd7395bbeb97897d8a809b + checksum: c68d222d4c39e97e90965cc669b6d30628b07ae136f49981ff551bccd5c104161fd2a322ebea85514c925e1d3525e413c05513e303a76e7af6c3e0cdb55960d0 languageName: node linkType: hard -"@smithy/hash-node@npm:^3.0.3, @smithy/hash-node@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/hash-node@npm:3.0.8" +"@smithy/hash-stream-node@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/hash-stream-node@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 - "@smithy/util-buffer-from": ^3.0.0 - "@smithy/util-utf8": ^3.0.0 + "@smithy/types": ^4.1.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 9a2e2e8ea044008345e64406a5ecbc23a507b00eae42e71455f0b05c638a21da57a68e43d73254236203187d7943b864c750fc62f95825cc5340dd95767530c3 + checksum: 0c43cb8720e99001e7d5d6916e8827d9b98edb39861a95b58dcc5f5684c0327aee1ab743f5236abe7b69785cd1958912292600b62d2ca9725bda8db9877e03d2 languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/hash-stream-node@npm:3.1.2" +"@smithy/invalid-dependency@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/invalid-dependency@npm:4.0.1" dependencies: - "@smithy/types": ^3.3.0 - "@smithy/util-utf8": ^3.0.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: e5284ef06548e301aa50bd06fe06bf3e2ed11ecd57f73d2d85c98cf26119c2cc0084b5b8be49d4127cb798c6011651d5361958eb6546c19b45fd6c94ea11ef47 + checksum: 541e89a18cb5ce8db063ea74ea8831a11bdf42ac58412ae6aad350d4a128b6e9d3b0b5b31cac2597e5e52a0da4a2a3cf202946bb6649d398a84876a89c332bd1 languageName: node linkType: hard -"@smithy/invalid-dependency@npm:^3.0.3, @smithy/invalid-dependency@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/invalid-dependency@npm:3.0.8" +"@smithy/is-array-buffer@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/is-array-buffer@npm:2.2.0" dependencies: - "@smithy/types": ^3.6.0 tslib: ^2.6.2 - checksum: ad55921e703ea3396a7d03b4515c2c0100d3c494865594a8a73b160e2913cac442d61a2545bcb248fedf00bb150cce2c33827d1d12527e34070e7fd8e114d2d6 + checksum: cd12c2e27884fec89ca8966d33c9dc34d3234efe89b33a9b309c61ebcde463e6f15f6a02d31d4fddbfd6e5904743524ca5b95021b517b98fe10957c2da0cd5fc languageName: node linkType: hard -"@smithy/is-array-buffer@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/is-array-buffer@npm:1.1.0" +"@smithy/is-array-buffer@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/is-array-buffer@npm:4.0.0" dependencies: - tslib: ^2.5.0 - checksum: 39b2a177b5d98f1adb2e44c363be2f4f335b698e9803f5ffb4c6d32e5d51543f29daf90b9ee99d8833446561dfe1b8dc3464852970b90bb6c00655a425fc3ac2 + tslib: ^2.6.2 + checksum: 8226fc1eca7aacd7f887f3a5ec2f15a3cafa72aa1c42d3fc759c66600481381d18ec7285a8195f24b9c4fe0ce9a565c133b2021d86a8077aebce3f86b3716802 languageName: node linkType: hard -"@smithy/is-array-buffer@npm:^2.1.1": - version: 2.1.1 - resolution: "@smithy/is-array-buffer@npm:2.1.1" +"@smithy/md5-js@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/md5-js@npm:4.0.1" dependencies: - tslib: ^2.5.0 - checksum: 5dbf9ed59715c871321d0624e3842340c1d662d2e8b78313d1658d39eb793b3ac5c379d573eba0a2ca3add9b313848d4d93fd04bb8565c75fbab749928b239a6 + "@smithy/types": ^4.1.0 + "@smithy/util-utf8": ^4.0.0 + tslib: ^2.6.2 + checksum: 97b756c0fad862dda8d8e1aa7939a0b5896f2773c418168cd47ca51585a3e49f71a5122487d28d407359c44938bb97ec75a07decd51a8363dfb941788e396fbc languageName: node linkType: hard -"@smithy/is-array-buffer@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/is-array-buffer@npm:3.0.0" +"@smithy/middleware-content-length@npm:^4.0.0": + version: 4.0.1 + resolution: "@smithy/middleware-content-length@npm:4.0.1" dependencies: + "@smithy/protocol-http": ^5.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: ce7440fcb1ce3c46722cff11c33e2f62a9df86d74fa2054a8e6b540302a91211cf6e4e3b1b7aac7030c6c8909158c1b6867c394201fa8afc6b631979956610e5 + checksum: 61109cfee368b8b20d39efcc050c0a30c4a4355dc4fb1c8521b1ec258c35c454bda9a6489571b01eb14c48e030642fd674d28e6c8083e6e4272b2b24cee0e61e languageName: node linkType: hard -"@smithy/md5-js@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/md5-js@npm:3.0.3" - dependencies: - "@smithy/types": ^3.3.0 - "@smithy/util-utf8": ^3.0.0 +"@smithy/middleware-endpoint@npm:^4.0.0, @smithy/middleware-endpoint@npm:^4.0.2": + version: 4.0.2 + resolution: "@smithy/middleware-endpoint@npm:4.0.2" + dependencies: + "@smithy/core": ^3.1.1 + "@smithy/middleware-serde": ^4.0.1 + "@smithy/node-config-provider": ^4.0.1 + "@smithy/shared-ini-file-loader": ^4.0.1 + "@smithy/types": ^4.1.0 + "@smithy/url-parser": ^4.0.1 + "@smithy/util-middleware": ^4.0.1 tslib: ^2.6.2 - checksum: 52ef56439be4187cc65391f4252173ffad0ce5a2ce5f636d78e9cdfb517844889340156ddbdbbe86f63e7f7e0fc924fe6905749a1c833910784015133a467406 + checksum: e6c4cdc71c36597a4646297aeea7d567a55278c36d35cbbead78849c05d07389f67b021e85a90fcd653bca65b79f321660511e7fd6f54416accf496ca8e7b3b0 languageName: node linkType: hard -"@smithy/middleware-content-length@npm:^3.0.10, @smithy/middleware-content-length@npm:^3.0.5": - version: 3.0.10 - resolution: "@smithy/middleware-content-length@npm:3.0.10" - dependencies: - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 +"@smithy/middleware-retry@npm:^4.0.0": + version: 4.0.3 + resolution: "@smithy/middleware-retry@npm:4.0.3" + dependencies: + "@smithy/node-config-provider": ^4.0.1 + "@smithy/protocol-http": ^5.0.1 + "@smithy/service-error-classification": ^4.0.1 + "@smithy/smithy-client": ^4.1.2 + "@smithy/types": ^4.1.0 + "@smithy/util-middleware": ^4.0.1 + "@smithy/util-retry": ^4.0.1 tslib: ^2.6.2 - checksum: 776fd9014240109328b6823be8649322390bde7aa468750920be3e6ed268a4e380f5b3fcfbe15b2b8af1b6e4b4fedda9a446b76cc247ca252b95380646ac80b5 + uuid: ^9.0.1 + checksum: f69229b74c5fa28190f049691e042617a04fbe85d2e4dcb3c660505ecc4e4b4bb436f4a37f66277cf61301f6d944dab5009afe6036c08bffa496674604798f94 languageName: node linkType: hard -"@smithy/middleware-endpoint@npm:^3.1.0, @smithy/middleware-endpoint@npm:^3.2.1": - version: 3.2.1 - resolution: "@smithy/middleware-endpoint@npm:3.2.1" - dependencies: - "@smithy/core": ^2.5.1 - "@smithy/middleware-serde": ^3.0.8 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/shared-ini-file-loader": ^3.1.9 - "@smithy/types": ^3.6.0 - "@smithy/url-parser": ^3.0.8 - "@smithy/util-middleware": ^3.0.8 +"@smithy/middleware-serde@npm:^4.0.0, @smithy/middleware-serde@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/middleware-serde@npm:4.0.1" + dependencies: + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: acc41e1b665b6a0c3cf2952a44b4cd1ce980866b44fe4b0ed9208a6067c3aa15ebe646623b14375be6c04ab73fa74fb95eeeca6905fc27092ce93495c77d8b9b + checksum: fc462b4555272759ccaff21460d2373d3783e211d8d7eca9ed4b0a6dde214b00de21a16ffa38e384b58acc1b2b9c97bf3ed7261f9c06cd87ad6006460dd03135 languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.13, @smithy/middleware-retry@npm:^3.0.25": - version: 3.0.25 - resolution: "@smithy/middleware-retry@npm:3.0.25" +"@smithy/middleware-stack@npm:^4.0.0, @smithy/middleware-stack@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/middleware-stack@npm:4.0.1" dependencies: - "@smithy/node-config-provider": ^3.1.9 - "@smithy/protocol-http": ^4.1.5 - "@smithy/service-error-classification": ^3.0.8 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-retry": ^3.0.8 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - uuid: ^9.0.1 - checksum: d10264cbff951b3b9585b54cc0e67de6099ed67461a34d83266e197fc48bea45fc7207ed7329c567390be6f08aeb84a6e7fef5f4fd770da9cad0028fc6f61d65 + checksum: 21f61adf5071c6c32356c9f6b2423fffc0ba0cfdedae37b5162659e156bec122e03f67a5dac5fbd224f9bbb15a6793fd332cf1a02ea17eda0c4fb7e4ca22ce95 languageName: node linkType: hard -"@smithy/middleware-serde@npm:^3.0.3, @smithy/middleware-serde@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/middleware-serde@npm:3.0.8" +"@smithy/node-config-provider@npm:^4.0.0, @smithy/node-config-provider@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/node-config-provider@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/property-provider": ^4.0.1 + "@smithy/shared-ini-file-loader": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 3d1ba269680bcf0cea6ea1c0e6d20eaf9de3597a687533607cc1ec49dad8669424e41bf3498dcdd21613f7791b0406db1846c2cdd6571682e4be8cb8055a85da + checksum: e997b3732a686e1dd9c5544a97fb18519acb45d522700045301391eee4a7b305a31ed68dd3a407fe754bebdfd4b759d8128a4bc80cdcd490113934ef8c3aaaa7 languageName: node linkType: hard -"@smithy/middleware-stack@npm:^3.0.3, @smithy/middleware-stack@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/middleware-stack@npm:3.0.8" +"@smithy/node-http-handler@npm:^3.0.0": + version: 3.3.3 + resolution: "@smithy/node-http-handler@npm:3.3.3" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/abort-controller": ^3.1.9 + "@smithy/protocol-http": ^4.1.8 + "@smithy/querystring-builder": ^3.0.11 + "@smithy/types": ^3.7.2 tslib: ^2.6.2 - checksum: c4a24dcdb1db8f347d266ee97676daf1f5bb495aa6c1e59992378bebe39265be14be5c3f7cf9ae35a8ffe68476cfcfe9000a87e9b00062538359c4507f4060ea + checksum: a1d13594d622a2cf7bbecabbc02f5ad2cb824a2363a02b08b89f1815f25b0516c408897def26834c9b85190eb2eb8ac6de8a20e4d19cca7e7a0eef1d29b568ee languageName: node linkType: hard -"@smithy/node-config-provider@npm:^3.1.4, @smithy/node-config-provider@npm:^3.1.9": - version: 3.1.9 - resolution: "@smithy/node-config-provider@npm:3.1.9" +"@smithy/node-http-handler@npm:^4.0.0, @smithy/node-http-handler@npm:^4.0.2": + version: 4.0.2 + resolution: "@smithy/node-http-handler@npm:4.0.2" dependencies: - "@smithy/property-provider": ^3.1.8 - "@smithy/shared-ini-file-loader": ^3.1.9 - "@smithy/types": ^3.6.0 + "@smithy/abort-controller": ^4.0.1 + "@smithy/protocol-http": ^5.0.1 + "@smithy/querystring-builder": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: fc0d27ff620475f406cb0f3e8527e8dcf56449ec3faad96b9738d26ec825d1b75a55b2f28750efbde383d163c5e25bb32ad09ba59d7d40e491898b9cc6a2eb2a + checksum: a1b9b724c61a5272d8eb6d8bafad7cc4d0bafcffb14c738e1fbff469bfea84a374b9724df2bf7c6161720671fa5521319a196fb9731b5c139e9df12a38ff25c7 languageName: node linkType: hard -"@smithy/node-http-handler@npm:^3.0.0, @smithy/node-http-handler@npm:^3.1.4, @smithy/node-http-handler@npm:^3.2.5": - version: 3.2.5 - resolution: "@smithy/node-http-handler@npm:3.2.5" +"@smithy/property-provider@npm:^4.0.0, @smithy/property-provider@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/property-provider@npm:4.0.1" dependencies: - "@smithy/abort-controller": ^3.1.6 - "@smithy/protocol-http": ^4.1.5 - "@smithy/querystring-builder": ^3.0.8 - "@smithy/types": ^3.6.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: ea8d4148dd760f031f9eeb2aec2480685bb1a40d7ac9c482eb3170df0316cae58433a6c803d85b046c132a19b8b4874741fae054355b5584facbd46c18889c83 + checksum: c03bd23a9e707af6201e49d1d7c67d370b630eb39ab60eaebd628bda725105d3ed67392078d6ae73a22be35f7dcec9771fafd2a88c48b532ca717b68fc3c9a33 languageName: node linkType: hard -"@smithy/property-provider@npm:^3.1.3, @smithy/property-provider@npm:^3.1.7, @smithy/property-provider@npm:^3.1.8": - version: 3.1.8 - resolution: "@smithy/property-provider@npm:3.1.8" +"@smithy/protocol-http@npm:^4.1.8": + version: 4.1.8 + resolution: "@smithy/protocol-http@npm:4.1.8" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/types": ^3.7.2 tslib: ^2.6.2 - checksum: acf8a3cc0cad53503870580e164b41d79e34f1129c5b6fcf99d8dc09a0a89055889430f9552bead9bafc82775fed5f5f4c8eb3f7e53d91f759bb164a3a68cea5 + checksum: 43cdc163137f09dc5f2419ab75c9f31ca7c1da9210023c027be5fa29455543bdc10ab886449dc1399d7ea21ab4b83ba828714f31d06c1638999fa17d5bba0626 languageName: node linkType: hard -"@smithy/protocol-http@npm:^4.1.0, @smithy/protocol-http@npm:^4.1.5": - version: 4.1.5 - resolution: "@smithy/protocol-http@npm:4.1.5" +"@smithy/protocol-http@npm:^5.0.0, @smithy/protocol-http@npm:^5.0.1": + version: 5.0.1 + resolution: "@smithy/protocol-http@npm:5.0.1" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 2e581594d03ff367ebc0a1ab0443e8b148f39a3ea810333861f4aed639239e5a261bedbb49f6555cfdb9682b88cd881715764c2dfe7e18a7a003385a0b6200d5 + checksum: 3978f544aa4bf36bcf2484126f5208f7035b210ca0088f2721edd11dbe7bbddeacb6b9e7ca493437dc7b5fdd0d9d85992f2c6e31846744690f205f852a981a3b languageName: node linkType: hard -"@smithy/querystring-builder@npm:^3.0.3, @smithy/querystring-builder@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/querystring-builder@npm:3.0.8" +"@smithy/querystring-builder@npm:^3.0.11": + version: 3.0.11 + resolution: "@smithy/querystring-builder@npm:3.0.11" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/types": ^3.7.2 "@smithy/util-uri-escape": ^3.0.0 tslib: ^2.6.2 - checksum: b07a766fb1e94e06116aef6534a31bbd4bb1bb94844d61c67615316d19aac82f94781fab779655bc03a46d70dda9caf3ad991a3e41548fbbba92783103f4f43e + checksum: 168f3104b2db0b704f211e18a318dffdbaaa9675b62ca44c892267c7825295e10041c1c82086cdcd1a7a05f1db95c0a1c74540d8b6d9c9504b13bb89387186fd languageName: node linkType: hard -"@smithy/querystring-parser@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/querystring-parser@npm:3.0.8" +"@smithy/querystring-builder@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/querystring-builder@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/types": ^4.1.0 + "@smithy/util-uri-escape": ^4.0.0 tslib: ^2.6.2 - checksum: 4ad9edfd96f084432157abd4953840f051ca4678963193bdc0ec7b210c79a649ddc023e327c39bd835ef7f56447dfaf2e47210738799ba9d044befacbe316a25 + checksum: 8c8486a1c5a8f7cb05db4fdbe213bd02a9b323121da885ff234763d63730aa269ce779adc4dea74715fbf53a7ff4f487d9d51dda33ddb14533ad42166f10b0cb languageName: node linkType: hard -"@smithy/service-error-classification@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/service-error-classification@npm:3.0.8" +"@smithy/querystring-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/querystring-parser@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 - checksum: cba6d33eb0e7482e557c303638416ea8678f80fa5782c97dd67e5b72741f22e2446370dc0ef9b16802d73cdfb7a5e4e5587c1d4abb5aa5ca9c33525137b4cf2b + "@smithy/types": ^4.1.0 + tslib: ^2.6.2 + checksum: 0ce6963937aa44882aeaf44b6aff68ca08faa927bd93da7adf354dd83b48beaef4246672504d8fc10d91be07e2f78c2b670bb82a46638da573183a69fa393278 languageName: node linkType: hard -"@smithy/shared-ini-file-loader@npm:^3.1.4, @smithy/shared-ini-file-loader@npm:^3.1.8, @smithy/shared-ini-file-loader@npm:^3.1.9": - version: 3.1.9 - resolution: "@smithy/shared-ini-file-loader@npm:3.1.9" +"@smithy/service-error-classification@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/service-error-classification@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 - tslib: ^2.6.2 - checksum: 571cc785659551d875fb76c53d116bf6f3978d1b698be096e9218dbbe1dd42efbfb174e151528103888faf7c9854e66f3e5ca395b9c359e37f876c20b22a4f97 + "@smithy/types": ^4.1.0 + checksum: 331c06d7a07cd2f9303cc396e1f9b1d44c785ccb27f4f8f02177b9f496667ffa4df40ae38d2ed1b557cd9c75b5cacb9b00106462dc62094253f8619a7d370343 languageName: node linkType: hard -"@smithy/signature-v4@npm:^1.0.1": - version: 1.1.0 - resolution: "@smithy/signature-v4@npm:1.1.0" - dependencies: - "@smithy/eventstream-codec": ^1.1.0 - "@smithy/is-array-buffer": ^1.1.0 - "@smithy/types": ^1.2.0 - "@smithy/util-hex-encoding": ^1.1.0 - "@smithy/util-middleware": ^1.1.0 - "@smithy/util-uri-escape": ^1.1.0 - "@smithy/util-utf8": ^1.1.0 - tslib: ^2.5.0 - checksum: c9bcbf1eedb9d266643a091ba39410ce625e790d63e26785d11fec0b3e1e98b8e86fda1e4baaa1c79a52c17f4dfac15d6648a5c47243cffb04c9b0d465e8751a +"@smithy/shared-ini-file-loader@npm:^4.0.0, @smithy/shared-ini-file-loader@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/shared-ini-file-loader@npm:4.0.1" + dependencies: + "@smithy/types": ^4.1.0 + tslib: ^2.6.2 + checksum: 54a399800dc32368ad99c5da4fd5eae62de4f9ddd249144b6516493bc42625e83c21ccd7c61d667c88d6000a3f5b42db452c10b870740cc9bec9e6c776607a9e languageName: node linkType: hard -"@smithy/signature-v4@npm:^4.1.0, @smithy/signature-v4@npm:^4.2.0": - version: 4.2.1 - resolution: "@smithy/signature-v4@npm:4.2.1" - dependencies: - "@smithy/is-array-buffer": ^3.0.0 - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 - "@smithy/util-hex-encoding": ^3.0.0 - "@smithy/util-middleware": ^3.0.8 - "@smithy/util-uri-escape": ^3.0.0 - "@smithy/util-utf8": ^3.0.0 +"@smithy/signature-v4@npm:^5.0.0": + version: 5.0.1 + resolution: "@smithy/signature-v4@npm:5.0.1" + dependencies: + "@smithy/is-array-buffer": ^4.0.0 + "@smithy/protocol-http": ^5.0.1 + "@smithy/types": ^4.1.0 + "@smithy/util-hex-encoding": ^4.0.0 + "@smithy/util-middleware": ^4.0.1 + "@smithy/util-uri-escape": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 783d8c0a780fbb94084819ea624e75a72daf84c480fa3215b0edd7689041925dbbab3e2785acdfef564c5623631d09aae4915f27cfd1357d2bd0f26349041e56 + checksum: fb6613ce08e2008e3da447eeaafdfdcbd8a428c9d4aaf3220eab77cb33832596885f77966acbee3f753e113ce728f440ca31747908d81d0ecbcf1822c5c7bd28 languageName: node linkType: hard -"@smithy/smithy-client@npm:^3.1.11, @smithy/smithy-client@npm:^3.4.2": - version: 3.4.2 - resolution: "@smithy/smithy-client@npm:3.4.2" - dependencies: - "@smithy/core": ^2.5.1 - "@smithy/middleware-endpoint": ^3.2.1 - "@smithy/middleware-stack": ^3.0.8 - "@smithy/protocol-http": ^4.1.5 - "@smithy/types": ^3.6.0 - "@smithy/util-stream": ^3.2.1 +"@smithy/smithy-client@npm:^4.0.0, @smithy/smithy-client@npm:^4.1.2": + version: 4.1.2 + resolution: "@smithy/smithy-client@npm:4.1.2" + dependencies: + "@smithy/core": ^3.1.1 + "@smithy/middleware-endpoint": ^4.0.2 + "@smithy/middleware-stack": ^4.0.1 + "@smithy/protocol-http": ^5.0.1 + "@smithy/types": ^4.1.0 + "@smithy/util-stream": ^4.0.2 tslib: ^2.6.2 - checksum: 4b53e695e18bf0ed4805dd66839e272129be5384f6de5356a2adc03311f5c372766b490a3c001086aec8728f6c9bb90ca625a09e9b4c3fe875c1ee7567118f34 + checksum: f79b672cd2d7221f0843b662f79c9f20204ff753a12965056d4f976e15b8f8d87c911e4d298ec0a761ba1513fc81db9472756338139adcdddebf05d48040ddb8 languageName: node linkType: hard -"@smithy/types@npm:^1.2.0": +"@smithy/types@npm:^1.1.0": version: 1.2.0 resolution: "@smithy/types@npm:1.2.0" dependencies: @@ -17737,203 +18325,175 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^3.3.0, @smithy/types@npm:^3.6.0": - version: 3.6.0 - resolution: "@smithy/types@npm:3.6.0" +"@smithy/types@npm:^3.7.2": + version: 3.7.2 + resolution: "@smithy/types@npm:3.7.2" dependencies: tslib: ^2.6.2 - checksum: 4f581dc1c3e2dee8e1134fafb47de2c301330ea668214eb1a81d26b85acdb48a7e52008da0d15a402e998a79bed285a74b88949a5a4a3fe0aef38c28620ab795 + checksum: f3ae277d2f81eeb67c12e651b2e999225cda115dff8fab257a77fbe3739d32c515dbd19218590dd2c33d203259b00c80c9fc6027f8484c50725390a8fc0f1e3e languageName: node linkType: hard -"@smithy/url-parser@npm:^3.0.3, @smithy/url-parser@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/url-parser@npm:3.0.8" +"@smithy/types@npm:^4.0.0, @smithy/types@npm:^4.1.0": + version: 4.1.0 + resolution: "@smithy/types@npm:4.1.0" dependencies: - "@smithy/querystring-parser": ^3.0.8 - "@smithy/types": ^3.6.0 tslib: ^2.6.2 - checksum: 1bf2143b298a4afdf6a8fa40f7b018ad59eb79b717e2bafcd8634c20893485c456c12fe73659d342a3d3a51cdbb10afea61fac285e7ce5fa0f66d7695ad7d10b + checksum: ff7dcb7a72a2f5e984df95342ec7276cc3249e57de76d5013bf69314a4dbd081e193c5f849e8e5c3f54be222d861272a90ab15b437678e31958eb2c76f55c689 languageName: node linkType: hard -"@smithy/util-base64@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-base64@npm:3.0.0" +"@smithy/url-parser@npm:^4.0.0, @smithy/url-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/url-parser@npm:4.0.1" dependencies: - "@smithy/util-buffer-from": ^3.0.0 - "@smithy/util-utf8": ^3.0.0 + "@smithy/querystring-parser": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 413f26046a7e98b2661a078f218a8d040c820fc5a02f5e364aff58c3957e28fde1ac4048c2ebbad5d87b9da4b9aa98a8d4a7fb0d2ce97def33738bd7d8d79aa0 + checksum: 3ec0ebf024a333d20cfe463c246196a188abcd3460014cf535979540e873c5b9f7a13214e221aed31b50dd1f28b24b5eafbb6ef5ae1998987f81622c4ccd156b languageName: node linkType: hard -"@smithy/util-body-length-browser@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-body-length-browser@npm:3.0.0" +"@smithy/util-base64@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-base64@npm:4.0.0" dependencies: + "@smithy/util-buffer-from": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: b01d8258b9a25b262734fc49cefefe48583ba193c3eefd49a6f7fd5922c3015d23dda88b52f3dd9a16827cad16b5b9425eef01e91bd0c71bb5abc469d2952c07 + checksum: 7fb3430d6e1cbb4bcc61458587bb0746458f0ec8e8cd008224ca984ff65c3c3307b3a528d040cef4c1fc7d1bd4111f6de8f4f1595845422f14ac7d100b3871b1 languageName: node linkType: hard -"@smithy/util-body-length-node@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-body-length-node@npm:3.0.0" +"@smithy/util-body-length-browser@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-body-length-browser@npm:4.0.0" dependencies: tslib: ^2.6.2 - checksum: da1baf4790609d3dc28c88385c7274fdf9b91a641fe3c5af22b78e18156df17bd470181348f43b2c739680936b1dafb1526158dfd817c3d9ecb71e653b4cbe3f + checksum: 72381e12de7cccbb722c60e3f3ae0f8bce7fc9a9e8064c7968ac733698a5a30bea098a3c365095c519491fe64e2e949c22f74d4f1e0d910090d6389b41c416eb languageName: node linkType: hard -"@smithy/util-buffer-from@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/util-buffer-from@npm:1.1.0" +"@smithy/util-body-length-node@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-body-length-node@npm:4.0.0" dependencies: - "@smithy/is-array-buffer": ^1.1.0 - tslib: ^2.5.0 - checksum: 73b145d6a11754cb95d9fc21264dd7623855cb768b42db4465232b878c148d8b6c968c8d77bd836f28d0ce4c855f30814848e8533764ee587c6c7c0176e7582b + tslib: ^2.6.2 + checksum: 12d8de9c526647f51f56804044f5847f0c7c7afee30fa368d2b7bd4b4de8fe2438a925aab51965fe8a4b2f08f68e8630cc3c54a449beae6646d99cae900ed106 languageName: node linkType: hard -"@smithy/util-buffer-from@npm:^2.1.1": - version: 2.1.1 - resolution: "@smithy/util-buffer-from@npm:2.1.1" +"@smithy/util-buffer-from@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-buffer-from@npm:2.2.0" dependencies: - "@smithy/is-array-buffer": ^2.1.1 - tslib: ^2.5.0 - checksum: 8dc7f9afaa356696f14a80cd983a750cbad8eba7c46498ed74fb8ec0cb307f14df64fb10ceb30b2d4792395bb8b216c89155a93dee0f2b3e5cab94fef459a195 + "@smithy/is-array-buffer": ^2.2.0 + tslib: ^2.6.2 + checksum: 424c5b7368ae5880a8f2732e298d17879a19ca925f24ca45e1c6c005f717bb15b76eb28174d308d81631ad457ea0088aab0fd3255dd42f45a535c81944ad64d3 languageName: node linkType: hard -"@smithy/util-buffer-from@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-buffer-from@npm:3.0.0" +"@smithy/util-buffer-from@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-buffer-from@npm:4.0.0" dependencies: - "@smithy/is-array-buffer": ^3.0.0 + "@smithy/is-array-buffer": ^4.0.0 tslib: ^2.6.2 - checksum: 1bfc4ab093fe98132bbc1ccd36a0b9ad75a31ed26bac4b7e9350205513a2481eb190ae44679ab4fecc5e10d367b5e6592bbfbf792671579d17d17bd7f7f233f5 + checksum: 8124e28d3e34b5335c08398a9081cc56a232d23e08172d488669f91a167d0871d36aba9dd3e4b70175a52f1bd70e2bf708d4c989a19512a4374d2cf67650a15e languageName: node linkType: hard -"@smithy/util-config-provider@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-config-provider@npm:3.0.0" +"@smithy/util-config-provider@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-config-provider@npm:4.0.0" dependencies: tslib: ^2.6.2 - checksum: fc0f5f57d30261cf3a6693d8e338b9d269332c478ee18d905309a769844188190caf0564855d7e84f6c61e56aa556195dda89f65e8c30791951cf4999e4a70e7 + checksum: 91bd9e0bec4c4a37c3fc286e72f3387be9272b090111edaee992d9e9619370f3f2ad88ce771ef42dbfe40a44500163b633914486e662526591f5f737d5e4ff5a languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^3.0.13, @smithy/util-defaults-mode-browser@npm:^3.0.25": - version: 3.0.25 - resolution: "@smithy/util-defaults-mode-browser@npm:3.0.25" +"@smithy/util-defaults-mode-browser@npm:^4.0.0": + version: 4.0.3 + resolution: "@smithy/util-defaults-mode-browser@npm:4.0.3" dependencies: - "@smithy/property-provider": ^3.1.8 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 + "@smithy/property-provider": ^4.0.1 + "@smithy/smithy-client": ^4.1.2 + "@smithy/types": ^4.1.0 bowser: ^2.11.0 tslib: ^2.6.2 - checksum: 87c4b346d753712f7fe501920c6bb9712d7ec56670e49aa5d6db40ebe0f0cfa58d9e1d27e96e40c6be1721cf81bd0b2f29c077efc3b8dece074e3a6d175fa1a4 + checksum: 57ae2a5546902305f3759284f57a9b8f23c5270709deec3180a91c618bc4fe49548dd79dd4d7ddaa15ecc74360ca2cfe1a5be655f4fcd987bfadcf3e235fcdab languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^3.0.13, @smithy/util-defaults-mode-node@npm:^3.0.25": - version: 3.0.25 - resolution: "@smithy/util-defaults-mode-node@npm:3.0.25" - dependencies: - "@smithy/config-resolver": ^3.0.10 - "@smithy/credential-provider-imds": ^3.2.5 - "@smithy/node-config-provider": ^3.1.9 - "@smithy/property-provider": ^3.1.8 - "@smithy/smithy-client": ^3.4.2 - "@smithy/types": ^3.6.0 +"@smithy/util-defaults-mode-node@npm:^4.0.0": + version: 4.0.3 + resolution: "@smithy/util-defaults-mode-node@npm:4.0.3" + dependencies: + "@smithy/config-resolver": ^4.0.1 + "@smithy/credential-provider-imds": ^4.0.1 + "@smithy/node-config-provider": ^4.0.1 + "@smithy/property-provider": ^4.0.1 + "@smithy/smithy-client": ^4.1.2 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: e34c44bb5cbc8036765aa4f52e648a753b477b6653834291f7a2e0d82b7b58c1e741eac9a9a95d39b6f751c05013909c36ac0818e0015c24201af9d2e2fb0f5a + checksum: 632f68bdc7bb37ca2971ccf9acea964732fd0461c9e86940ffc06db1288d1e23823228dd34c0a90d9be3cd7fe0055396539ee33ae96d69d47edd7b897a7e5d5d languageName: node linkType: hard -"@smithy/util-endpoints@npm:^2.0.5, @smithy/util-endpoints@npm:^2.1.4": - version: 2.1.4 - resolution: "@smithy/util-endpoints@npm:2.1.4" +"@smithy/util-endpoints@npm:^3.0.0": + version: 3.0.1 + resolution: "@smithy/util-endpoints@npm:3.0.1" dependencies: - "@smithy/node-config-provider": ^3.1.9 - "@smithy/types": ^3.6.0 + "@smithy/node-config-provider": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 523df0a35807f3493cccaf1b76f88e14dedd3d9f29fe26a6f8c73cdfe09e57c67a1d3029cc585995b0f7fe20e07afa8b4dfa5f1d631a0c4c06c9f68075b61bad + checksum: 2d351e297353fb624ba564b46ecf324376bc8fe34529ab4551e1d640c3b0317613a620c28977819db2c2d240791ff354d1d996fda119c0c4885a11507fb86af6 languageName: node linkType: hard -"@smithy/util-hex-encoding@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/util-hex-encoding@npm:1.1.0" - dependencies: - tslib: ^2.5.0 - checksum: e2647adbcd01660930d585ab34caca36c6d260127d63375a424de9bd36270b22fadfe7ac111155b9318cadbd43ce51034607f3f1c421deb56beb88839e629bf5 - languageName: node - linkType: hard - -"@smithy/util-hex-encoding@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-hex-encoding@npm:3.0.0" +"@smithy/util-hex-encoding@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-hex-encoding@npm:4.0.0" dependencies: tslib: ^2.6.2 - checksum: dd32fd71e915825987a18bf7c0f8f0c4956d0b17a0ee71592b5563bb20e04f24dbf81d36161aac07caab3bb5e535cc609fce20aa4a38f66b457c4c6f5c7748d9 - languageName: node - linkType: hard - -"@smithy/util-middleware@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/util-middleware@npm:1.1.0" - dependencies: - tslib: ^2.5.0 - checksum: 4c30f83355a2c455ec2d6ee8a1907c673a16955a33e8f220a2bb774f55310db1b1f9eea8c2760238916e04191ccb85583e91930e5710ba79e0be4dd4986940e8 + checksum: b932fa0e5cd2ba2598ad55ce46722bbbd15109809badaa3e4402fe4dd6f31f62b9fb49d2616e38d660363dc92a5898391f9c8f3b18507c36109e908400785e2a languageName: node linkType: hard -"@smithy/util-middleware@npm:^3.0.3, @smithy/util-middleware@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/util-middleware@npm:3.0.8" +"@smithy/util-middleware@npm:^4.0.0, @smithy/util-middleware@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/util-middleware@npm:4.0.1" dependencies: - "@smithy/types": ^3.6.0 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 6933c012f47c8b547b4986133a9dc2b264e9d71def155c4a9bce1bd1afbd73cb8e936c50ebc80190fc1d5bb26aee73ba012c567766dcd8a13c3d06bef841ab3c + checksum: 1402e0abd9bfeb0d8b0033ad1b572984df1469dccf9f562353ec0133691826cdd85aa180616267819f80d8bb56c57f5a3a2ae92033f52cd8249230a6e670343b languageName: node linkType: hard -"@smithy/util-retry@npm:^3.0.3, @smithy/util-retry@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/util-retry@npm:3.0.8" +"@smithy/util-retry@npm:^4.0.0, @smithy/util-retry@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/util-retry@npm:4.0.1" dependencies: - "@smithy/service-error-classification": ^3.0.8 - "@smithy/types": ^3.6.0 + "@smithy/service-error-classification": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 5c0c63beb867828e6fd54f5fd83de412180df02de42f678df0f5a4412d10bfb5a74c22aa83a6f364c8292b5c82be94fe7af35d1ebe4e50a2c05946520f2ea870 + checksum: 29f8afd444f4b692ebd8cb2d0f6045ac0d5ca3834c0b6bbfdf1f6c1faec17c7bdc9734413ba93c55a672d373900aaf08e3c9f2023b3ec9b60c057afb8bcb4966 languageName: node linkType: hard -"@smithy/util-stream@npm:^3.1.3, @smithy/util-stream@npm:^3.2.1": - version: 3.2.1 - resolution: "@smithy/util-stream@npm:3.2.1" - dependencies: - "@smithy/fetch-http-handler": ^4.0.0 - "@smithy/node-http-handler": ^3.2.5 - "@smithy/types": ^3.6.0 - "@smithy/util-base64": ^3.0.0 - "@smithy/util-buffer-from": ^3.0.0 - "@smithy/util-hex-encoding": ^3.0.0 - "@smithy/util-utf8": ^3.0.0 +"@smithy/util-stream@npm:^4.0.0, @smithy/util-stream@npm:^4.0.2": + version: 4.0.2 + resolution: "@smithy/util-stream@npm:4.0.2" + dependencies: + "@smithy/fetch-http-handler": ^5.0.1 + "@smithy/node-http-handler": ^4.0.2 + "@smithy/types": ^4.1.0 + "@smithy/util-base64": ^4.0.0 + "@smithy/util-buffer-from": ^4.0.0 + "@smithy/util-hex-encoding": ^4.0.0 + "@smithy/util-utf8": ^4.0.0 tslib: ^2.6.2 - checksum: 3dc2b005d48a2e5ccb0761e7a7869f8af24d34a93eaa34f0586ba42fe79f13d48efb676e4aacbf02a54f1a225eb851d2c706c016f5f9d0b4fc127d8be69f5d90 - languageName: node - linkType: hard - -"@smithy/util-uri-escape@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/util-uri-escape@npm:1.1.0" - dependencies: - tslib: ^2.5.0 - checksum: 17f02106e1d9875d4ab3b56e1fd7fffceec94a4632f265d3f6cc1d812d0ee208d9db3c3e0fd14025ea5993b503e84c0e3fda291ec4fb87719473e5e5116fb899 + checksum: c608b23732526f862d5c09d7bcb4033d8f90f057ec6f2fcae4e2e66d7ff59d508fba5f9bd42a51946ee49dc29e12366a2d4e36939a324e5de05504aa8cac23c4 languageName: node linkType: hard @@ -17946,44 +18506,43 @@ __metadata: languageName: node linkType: hard -"@smithy/util-utf8@npm:^1.1.0": - version: 1.1.0 - resolution: "@smithy/util-utf8@npm:1.1.0" +"@smithy/util-uri-escape@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-uri-escape@npm:4.0.0" dependencies: - "@smithy/util-buffer-from": ^1.1.0 - tslib: ^2.5.0 - checksum: 24216c8ce41cbb9455a4b33564c9a1b5c49dab77d7a0aa6f1daa71ada90ca82198ed48f9dda0d4a2c583e36e5259a4fb3b7584b3cf2983a1bfec440a7b303527 + tslib: ^2.6.2 + checksum: 7ea350545971f8a009d56e085c34c949c9045862cfab233ee7adc16e111a076a814bb5d9279b2b85ee382e0ed204a1c673ac32e3e28f1073b62a2c53a5dd6d19 languageName: node linkType: hard "@smithy/util-utf8@npm:^2.0.0": - version: 2.1.1 - resolution: "@smithy/util-utf8@npm:2.1.1" + version: 2.3.0 + resolution: "@smithy/util-utf8@npm:2.3.0" dependencies: - "@smithy/util-buffer-from": ^2.1.1 - tslib: ^2.5.0 - checksum: 286ce5cba3f45a8abd3d6c28e40b3204dd64300340818d77e42c1cbb0c2f6ad0c42f0e47ffaf38d74d0895b0dfd1750c5b55222ab4d205a3b39da4325971d303 + "@smithy/util-buffer-from": ^2.2.0 + tslib: ^2.6.2 + checksum: 00e55d4b4e37d48be0eef3599082402b933c52a1407fed7e8e8ad76d94d81a0b30b8bfaf2047c59d9c3af31e5f20e7a8c959cb7ae270f894255e05a2229964f0 languageName: node linkType: hard -"@smithy/util-utf8@npm:^3.0.0": - version: 3.0.0 - resolution: "@smithy/util-utf8@npm:3.0.0" +"@smithy/util-utf8@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-utf8@npm:4.0.0" dependencies: - "@smithy/util-buffer-from": ^3.0.0 + "@smithy/util-buffer-from": ^4.0.0 tslib: ^2.6.2 - checksum: d97be1748963263a1161ba80417d82318b977b38542f3fdf0379b0162461188be680e5bfb66a89d65652f0fad6ecf2ab23a43205979216e50602488f73434da3 + checksum: 08811c5a18c341782b3b65acc4640a9f559aeba61c889dbdc56e5153a3b7f395e613bfb1ade25cf15311d6237f291e1fce8af197c6313065e0cb084fd2148c64 languageName: node linkType: hard -"@smithy/util-waiter@npm:^3.1.2, @smithy/util-waiter@npm:^3.1.7": - version: 3.1.7 - resolution: "@smithy/util-waiter@npm:3.1.7" +"@smithy/util-waiter@npm:^4.0.0": + version: 4.0.2 + resolution: "@smithy/util-waiter@npm:4.0.2" dependencies: - "@smithy/abort-controller": ^3.1.6 - "@smithy/types": ^3.6.0 + "@smithy/abort-controller": ^4.0.1 + "@smithy/types": ^4.1.0 tslib: ^2.6.2 - checksum: 190d992898d0c7d776c806657703c1ebd0ba2c24f4042ed0251dc8653799aefe12848a0445ee16cdbb05b76b5c81fc803b271957954aa614aaccb99dd3338caa + checksum: 8e5cbf0ea3d93e3bc834b2db8e158c2a84a1c36f5163d4b9b925f6444c5be60c23803b6afb323de2d32f16f08f3e03e8e423bc7e8b531bbf9ff6e23f42554fe9 languageName: node linkType: hard @@ -18019,15 +18578,6 @@ __metadata: languageName: node linkType: hard -"@spotify/prettier-config@npm:15.0.0": - version: 15.0.0 - resolution: "@spotify/prettier-config@npm:15.0.0" - peerDependencies: - prettier: 2.x - checksum: aa5ec5739427f9acdb9d62ae6c04f04a344898567239f7ee45c75c6205ebdffbc61747ea8de6e83baf0bc3785359967de4b7097a8723c4b4063ff57dc5cb6c44 - languageName: node - linkType: hard - "@sqltools/formatter@npm:^1.2.5": version: 1.2.5 resolution: "@sqltools/formatter@npm:1.2.5" @@ -18075,7 +18625,7 @@ __metadata: languageName: node linkType: hard -"@stoplight/json@npm:^3.17.0, @stoplight/json@npm:^3.17.1, @stoplight/json@npm:^3.20.2, @stoplight/json@npm:^3.21.0, @stoplight/json@npm:~3.21.0": +"@stoplight/json@npm:3.21.0": version: 3.21.0 resolution: "@stoplight/json@npm:3.21.0" dependencies: @@ -18089,7 +18639,21 @@ __metadata: languageName: node linkType: hard -"@stoplight/ordered-object-literal@npm:^1.0.1, @stoplight/ordered-object-literal@npm:^1.0.3": +"@stoplight/json@npm:^3.17.0, @stoplight/json@npm:^3.17.1, @stoplight/json@npm:^3.20.1, @stoplight/json@npm:^3.21.0, @stoplight/json@npm:~3.21.0": + version: 3.21.7 + resolution: "@stoplight/json@npm:3.21.7" + dependencies: + "@stoplight/ordered-object-literal": ^1.0.3 + "@stoplight/path": ^1.3.2 + "@stoplight/types": ^13.6.0 + jsonc-parser: ~2.2.1 + lodash: ^4.17.21 + safe-stable-stringify: ^1.1 + checksum: 5b0cd67e91e8f4cfac7ff0fe37c07e203611f429e8af7fce51cacb82f9c97150a3fa3aeda41daa9e65bc42d217b630bf01a8bf1f6db12b047079b0da9d7cd9af + languageName: node + linkType: hard + +"@stoplight/ordered-object-literal@npm:^1.0.3, @stoplight/ordered-object-literal@npm:^1.0.5": version: 1.0.5 resolution: "@stoplight/ordered-object-literal@npm:1.0.5" checksum: 84fe385ed742c5298fd5bee3f95366bfe17a2b99ed52f9b323180756d3495078dfb3bf7e5f49f3c8dee7b79f2e8358b38fe4977b7b6475f0094765160d716bb5 @@ -18103,123 +18667,123 @@ __metadata: languageName: node linkType: hard -"@stoplight/spectral-core@npm:^1.16.1, @stoplight/spectral-core@npm:^1.7.0, @stoplight/spectral-core@npm:^1.8.0": - version: 1.18.3 - resolution: "@stoplight/spectral-core@npm:1.18.3" +"@stoplight/spectral-core@npm:^1.18.3, @stoplight/spectral-core@npm:^1.19.2, @stoplight/spectral-core@npm:^1.19.4": + version: 1.19.4 + resolution: "@stoplight/spectral-core@npm:1.19.4" dependencies: "@stoplight/better-ajv-errors": 1.0.3 "@stoplight/json": ~3.21.0 "@stoplight/path": 1.3.2 "@stoplight/spectral-parsers": ^1.0.0 - "@stoplight/spectral-ref-resolver": ^1.0.0 - "@stoplight/spectral-runtime": ^1.0.0 + "@stoplight/spectral-ref-resolver": ^1.0.4 + "@stoplight/spectral-runtime": ^1.1.2 "@stoplight/types": ~13.6.0 "@types/es-aggregate-error": ^1.0.2 "@types/json-schema": ^7.0.11 - ajv: ^8.6.0 + ajv: ^8.17.1 ajv-errors: ~3.0.0 ajv-formats: ~2.1.0 es-aggregate-error: ^1.0.7 - jsonpath-plus: 7.1.0 + jsonpath-plus: 10.2.0 lodash: ~4.17.21 lodash.topath: ^4.5.2 minimatch: 3.1.2 - nimma: 0.2.2 - pony-cause: ^1.0.0 - simple-eval: 1.0.0 - tslib: ^2.3.0 - checksum: 321d868a6c1e3d5f009d87d02651b423b5b6f5ef75a2ad1937b52b8ddc6e83dc3fe9618b00d7d92407e2eb3380b8409dc6ce98a8628d50ebd60d15dc8c15a7b8 + nimma: 0.2.3 + pony-cause: ^1.1.1 + simple-eval: 1.0.1 + tslib: ^2.8.1 + checksum: c9efb0892a80f66f58309e297e7cb27580847403a5625f95b0332dbba4e3fe360f04aa60339d61824a025e3ee6296c2f73e1ca7119b783f9349f21d971b73dd8 languageName: node linkType: hard -"@stoplight/spectral-formats@npm:^1.0.0": - version: 1.6.0 - resolution: "@stoplight/spectral-formats@npm:1.6.0" +"@stoplight/spectral-formats@npm:^1.8.1": + version: 1.8.2 + resolution: "@stoplight/spectral-formats@npm:1.8.2" dependencies: "@stoplight/json": ^3.17.0 - "@stoplight/spectral-core": ^1.8.0 + "@stoplight/spectral-core": ^1.19.2 "@types/json-schema": ^7.0.7 - tslib: ^2.3.1 - checksum: ad3c27241046ad673362ae50276db25ed14d395c23ddd5e12e4468fd7508cf2e4643f821b069c87ff8bd682ccb48b194ace99066337126b45afc50d14aca2259 + tslib: ^2.8.1 + checksum: 1724aeaf933446cda79cc62aef4326ff9df4dad2cfa64e3e1286b001957e628235be679610cf61e4f01d53703ede11853ff389f0d038e6af367e7861219a5c2d languageName: node linkType: hard "@stoplight/spectral-functions@npm:^1.7.2": - version: 1.7.2 - resolution: "@stoplight/spectral-functions@npm:1.7.2" + version: 1.9.3 + resolution: "@stoplight/spectral-functions@npm:1.9.3" dependencies: "@stoplight/better-ajv-errors": 1.0.3 "@stoplight/json": ^3.17.1 - "@stoplight/spectral-core": ^1.7.0 - "@stoplight/spectral-formats": ^1.0.0 - "@stoplight/spectral-runtime": ^1.1.0 - ajv: ^8.6.3 + "@stoplight/spectral-core": ^1.19.4 + "@stoplight/spectral-formats": ^1.8.1 + "@stoplight/spectral-runtime": ^1.1.2 + ajv: ^8.17.1 ajv-draft-04: ~1.0.0 ajv-errors: ~3.0.0 ajv-formats: ~2.1.0 lodash: ~4.17.21 - tslib: ^2.3.0 - checksum: f89d966d33dd484e5ea63a7971478d176c94215b4ffd2ef24eb8e507a2b60ed3bcfa391b9137793e939f3a10443914db6da62d081055fb8ba49d2d397f0d5907 + tslib: ^2.8.1 + checksum: bdb1c95b12b4ebef4f429621dd9f1b30134b07c23086573ad1e937cfc7b15d60c52cb2810939e030a8f8edb59100d198a40ee1278b832869ca71b058a0e857b1 languageName: node linkType: hard "@stoplight/spectral-parsers@npm:^1.0.0, @stoplight/spectral-parsers@npm:^1.0.2": - version: 1.0.3 - resolution: "@stoplight/spectral-parsers@npm:1.0.3" + version: 1.0.5 + resolution: "@stoplight/spectral-parsers@npm:1.0.5" dependencies: "@stoplight/json": ~3.21.0 - "@stoplight/types": ^13.6.0 - "@stoplight/yaml": ~4.2.3 - tslib: ^2.3.1 - checksum: e1120e9ffc3db7f50573db08768c1206f5adc5fc503e77d3696e86e0765ce247c3c513ed12e53318b6aef0de33fc730aa78ccd542142d17d6bae01e23cba5879 + "@stoplight/types": ^14.1.1 + "@stoplight/yaml": ~4.3.0 + tslib: ^2.8.1 + checksum: 633921b78c67201a32ee99c35ecaf4425f488b9ad65e13551b16a7042704846d3d12ee8b87aa39a2525527e78b55840d40bd6b6396c22b3a4aa2aa5ce05c565b languageName: node linkType: hard -"@stoplight/spectral-ref-resolver@npm:^1.0.0, @stoplight/spectral-ref-resolver@npm:^1.0.3": - version: 1.0.4 - resolution: "@stoplight/spectral-ref-resolver@npm:1.0.4" +"@stoplight/spectral-ref-resolver@npm:^1.0.3, @stoplight/spectral-ref-resolver@npm:^1.0.4": + version: 1.0.5 + resolution: "@stoplight/spectral-ref-resolver@npm:1.0.5" dependencies: "@stoplight/json-ref-readers": 1.2.2 "@stoplight/json-ref-resolver": ~3.1.6 "@stoplight/spectral-runtime": ^1.1.2 dependency-graph: 0.11.0 - tslib: ^2.3.1 - checksum: 1e9b2e211d2724e0bab7d817a5128f7b6cab9f0f5281d07223ace1d541a51a0eb3901b9f7b02d4b0484df1cb2a3f7239ec33a974321438d3d08ce7996fd6fcc4 + tslib: ^2.8.1 + checksum: 054ab74e9ed9b12b7b6d6826c8b89e7a3d46632855eca1bd454930a1e09e0d4423fda219931a021eb50098d13f22823178b0b2fae90eac08cd6b600f447e1cf2 languageName: node linkType: hard -"@stoplight/spectral-runtime@npm:^1.0.0, @stoplight/spectral-runtime@npm:^1.1.0, @stoplight/spectral-runtime@npm:^1.1.2": - version: 1.1.2 - resolution: "@stoplight/spectral-runtime@npm:1.1.2" +"@stoplight/spectral-runtime@npm:^1.1.2": + version: 1.1.3 + resolution: "@stoplight/spectral-runtime@npm:1.1.3" dependencies: - "@stoplight/json": ^3.17.0 + "@stoplight/json": ^3.20.1 "@stoplight/path": ^1.3.2 - "@stoplight/types": ^12.3.0 + "@stoplight/types": ^13.6.0 abort-controller: ^3.0.0 lodash: ^4.17.21 node-fetch: ^2.6.7 - tslib: ^2.3.1 - checksum: 35964a38f82384e6e0158988173a50ab7f473a2ed6e942073de023bd28fb696b5b913336a84d016b046346294be9cfa3a88c6a908c2622c0ceb36f16ca76e084 + tslib: ^2.8.1 + checksum: 33af5713fd98de76e8007c9969d41440ef2abbff34e92db9a4b00b37a58dc7e7d4f0a0612c45183fb1aa9cd1a42dfe5ebfa59abf3b784e22d5f4b54c9f9d3d4c languageName: node linkType: hard -"@stoplight/types@npm:^12.3.0": - version: 12.5.0 - resolution: "@stoplight/types@npm:12.5.0" +"@stoplight/types@npm:^12.3.0 || ^13.0.0, @stoplight/types@npm:^13.12.0, @stoplight/types@npm:^13.6.0": + version: 13.20.0 + resolution: "@stoplight/types@npm:13.20.0" dependencies: "@types/json-schema": ^7.0.4 utility-types: ^3.10.0 - checksum: fe4a09df6e1c2f0cdb53f474b180cc7b8184e814e1ac4427d199642f10958335f597060530a908c0e5800ba2569d077afe124a51deaee466255ce942e1e03941 + checksum: b4c7ee22a8d4377aa9b2f901887c17b4a27d1009b2b9348962b2c6a72100ca954d11293a6dd2de01920e8fdc589e31b20ad84421eb0bf5edd9aeef5b5810f04b languageName: node linkType: hard -"@stoplight/types@npm:^12.3.0 || ^13.0.0, @stoplight/types@npm:^13.0.0, @stoplight/types@npm:^13.12.0, @stoplight/types@npm:^13.6.0": - version: 13.20.0 - resolution: "@stoplight/types@npm:13.20.0" +"@stoplight/types@npm:^14.1.1": + version: 14.1.1 + resolution: "@stoplight/types@npm:14.1.1" dependencies: "@types/json-schema": ^7.0.4 utility-types: ^3.10.0 - checksum: b4c7ee22a8d4377aa9b2f901887c17b4a27d1009b2b9348962b2c6a72100ca954d11293a6dd2de01920e8fdc589e31b20ad84421eb0bf5edd9aeef5b5810f04b + checksum: 1da2e683e88afe2f72c3b3af341537bc9bac153d224f65744ca60d44eade93609ce91172064ae27093e1ebfa7bcbf05fb232a1910d83b2aee5b1eed4bb726200 languageName: node linkType: hard @@ -18233,22 +18797,22 @@ __metadata: languageName: node linkType: hard -"@stoplight/yaml-ast-parser@npm:0.0.48": - version: 0.0.48 - resolution: "@stoplight/yaml-ast-parser@npm:0.0.48" - checksum: 4e252a874636d4015ff78a638075c438ccf7b8b4b38e3df12f7b8381da2da0411dfff7a6de38354b8093a36a8911a9dd656264fb0d34453cb7bcf78a3627dfa0 +"@stoplight/yaml-ast-parser@npm:0.0.50": + version: 0.0.50 + resolution: "@stoplight/yaml-ast-parser@npm:0.0.50" + checksum: dd46f2e39cef4e3a56276202872282bc435c5f92ea7cf344abd6722fbdab62547ec7d2b84983c6c05aaa2776ac29efd53affe6d9753cce10ef37b4e15ce6ccdc languageName: node linkType: hard -"@stoplight/yaml@npm:~4.2.3": - version: 4.2.3 - resolution: "@stoplight/yaml@npm:4.2.3" +"@stoplight/yaml@npm:~4.3.0": + version: 4.3.0 + resolution: "@stoplight/yaml@npm:4.3.0" dependencies: - "@stoplight/ordered-object-literal": ^1.0.1 - "@stoplight/types": ^13.0.0 - "@stoplight/yaml-ast-parser": 0.0.48 + "@stoplight/ordered-object-literal": ^1.0.5 + "@stoplight/types": ^14.1.1 + "@stoplight/yaml-ast-parser": 0.0.50 tslib: ^2.2.0 - checksum: 8e61c4499c0849dafecf487e51e10d4d3e99192834dd87eba4b27c20c42d3fe1b5b022f9c3eb63b96249b46d7277ffb4ce37447d84d01d4768b88d142e3d0e15 + checksum: f113f600a62b75c76c96c27ce3713ba2c48be205fca73097699b66b6f861411c6917dcc5afa4dd08c17fe63f5181b49fa2be9c6500140ea5d05a107ffcb48a4f languageName: node linkType: hard @@ -18575,449 +19139,449 @@ __metadata: languageName: node linkType: hard -"@swagger-api/apidom-ast@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ast@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ast@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ast@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 + "@swagger-api/apidom-error": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 unraw: ^3.0.0 - checksum: c3a6efab1419ea3130074c4d4b57e12806158856b988e6aeef7916d25d3e005f0e1cfb6e0e87c621d84ad2fc4cdbb39dbc55efd0cde602198e41eca4a0e67abe + checksum: 434a945e826e48167bde0100d003759bb42231f5cacf782030859694b8825aae34e02a2c2aabc461a9cf1a2685630cf0f6862eddc2fd66f1acba76a20454a3c3 languageName: node linkType: hard -"@swagger-api/apidom-core@npm:>=1.0.0-alpha.9 <1.0.0-beta.0, @swagger-api/apidom-core@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-core@npm:1.0.0-alpha.9" +"@swagger-api/apidom-core@npm:>=1.0.0-beta.6 <1.0.0-rc.0, @swagger-api/apidom-core@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-core@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 + "@swagger-api/apidom-ast": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 minim: ~0.23.8 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 short-unique-id: ^5.0.2 ts-mixer: ^6.0.3 - checksum: 20b159c5f8a9d8b6d22415d96d6cc0590f8afcecfcd683b6edd7448426af9f98225411e8e586b4e1d1f76226bd2ab6bc8aca98ee04b39ca47051854a9909f969 + checksum: e9f2f4b9f2ac71e59250f9aa97c9e434ae2bb783bbc556f854d7dc1a3013f88d8f8e7967130511b251b94a84d3a28d1840f048fc83bd49fba4fda6f148d0f361 languageName: node linkType: hard -"@swagger-api/apidom-error@npm:>=1.0.0-alpha.9 <1.0.0-beta.0, @swagger-api/apidom-error@npm:^1.0.0-alpha.1, @swagger-api/apidom-error@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-error@npm:1.0.0-alpha.9" +"@swagger-api/apidom-error@npm:>=1.0.0-beta.6 <1.0.0-rc.0, @swagger-api/apidom-error@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-error@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-error@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - checksum: 8bec3120c5b52e7ba11128f3ebd999037105dc0849e5784fe0363260c98c52719d26ad3b69b8de9848bdd3e3abae2452270764d8aef30e890e4870dcccdeea9a + checksum: 14e66c3063c5113df95d30735821a9c4a02be7d816ada5715a2ccb91fcc9a63f2c66626fe8c1d49cc7240dd136540b07f340ca0cdff94659cf28c09eff230457 languageName: node linkType: hard -"@swagger-api/apidom-json-pointer@npm:>=1.0.0-alpha.9 <1.0.0-beta.0, @swagger-api/apidom-json-pointer@npm:^1.0.0-alpha.1, @swagger-api/apidom-json-pointer@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-json-pointer@npm:1.0.0-alpha.9" +"@swagger-api/apidom-json-pointer@npm:>=1.0.0-beta.6 <1.0.0-rc.0, @swagger-api/apidom-json-pointer@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-json-pointer@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-json-pointer@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: 053f9b4fb64728e8eea0200771e9809875a3480cdd82cf5b7bcb0de3cf674d3e4d1ec1e609dc5adffc232e0db6fb142e7189f47d5c3013a594afa8bacc475c5c + checksum: 6ab24ca1079daa6fa85dcdf69ff62878546df0a6b4a293596a8d1a63b4ce5e6fb5abbbcdbc3fc0686a9ac7185ba5693bc51644766bac59011e87ed1e6f8169bd languageName: node linkType: hard -"@swagger-api/apidom-ns-api-design-systems@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-api-design-systems@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-api-design-systems@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-api-design-systems@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.3 - checksum: f8be1d0a21b0da66bd89def6fc8e7b7c2403913ac2514a4dd73ce287eccf6b93a6f6eaf4b114fa648ef682ab9eeddb394ef37e994cf921f21bfaac1503f5bddb + checksum: 1d8a4f3ac9affd837317124b3b5fde15d7b97cea6beae17039a39ea6440a3865b39632c79187bbfd06f15eacf3bd34b1b2f9122fe721ae56440441f97c0ba0d8 languageName: node linkType: hard -"@swagger-api/apidom-ns-asyncapi-2@npm:^1.0.0-alpha.1, @swagger-api/apidom-ns-asyncapi-2@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-asyncapi-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-asyncapi-2@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-ns-asyncapi-2@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-asyncapi-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-json-schema-draft-7": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-json-schema-draft-7": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.3 - checksum: c313c353ef0df6908c257b7df441242d25bd95bf6d89a331163f0a0de257f7173c44d78260d8969c6e29debf98008e000e4c75f01d8dd933583dc8116cc841a8 + checksum: 1fb3619909c410d6ed0297a751a3e516867f91e461574c6fbef3f81d7b539288573296e05e642a878309c8ecbc5f1de4a96f34bda0b6f50755b18be414b44bbf languageName: node linkType: hard -"@swagger-api/apidom-ns-json-schema-draft-4@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-json-schema-draft-4@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-json-schema-draft-4@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-json-schema-draft-4@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^1.0.0-alpha.9 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 + "@swagger-api/apidom-ast": ^1.0.0-beta.6 + "@swagger-api/apidom-core": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.4 - checksum: 502b2f7fde36d628d21cb0303bba3e08f620bf3cfbbed74ed89e869928a50bb730d48c5edcb1797149be5c35428af3edb6fffbd0150a307bfe7cb393ea7c1a83 + checksum: 26f712c39926258c593b82d285b982aec154bca0bc8e06070cb34c1b5f9ad4f34cc72618c98df4526fb21edf373e03e62ab73ba79174c3ff75f69b2f2fd27aa9 languageName: node linkType: hard -"@swagger-api/apidom-ns-json-schema-draft-6@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-json-schema-draft-6@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-json-schema-draft-6@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-json-schema-draft-6@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-json-schema-draft-4": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-json-schema-draft-4": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.4 - checksum: 8a9b1f265d5ebd95866e15f7bd516f9f214d2a75c57f34c36eb4442cd5b8ddb747e6d6c3d14c77915f5408baec9d58352cd0276e20cea3b8857d627916a0906f + checksum: 4f97a37e88614ea669880591112720b2c9940138449d96bec55d95e1fd40eb8b061fa655d33e1a1d484332064ace37aa46b2145dbd37f36705a1b2a8ab49bb70 languageName: node linkType: hard -"@swagger-api/apidom-ns-json-schema-draft-7@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-json-schema-draft-7@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-json-schema-draft-7@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-json-schema-draft-7@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-json-schema-draft-6": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-json-schema-draft-6": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.4 - checksum: 03b281bd2d8376cc76e59ad960cfcf114a83699761f0f024da0759dbf88d920e52180fd07f1fef4ed122472408ee7b64888b4ef8cd09b3e051db400596906fc9 + checksum: f2a8e9d6706a7e2f7972089987ddf2da54761f994af25234ea90712dc99e90f7ff02791befc4a65d55e475f19b246a57420efa06a8d1aaccf615ed93dbbf44b7 languageName: node linkType: hard -"@swagger-api/apidom-ns-openapi-2@npm:^1.0.0-alpha.1, @swagger-api/apidom-ns-openapi-2@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-openapi-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-openapi-2@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-ns-openapi-2@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-openapi-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-json-schema-draft-4": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-json-schema-draft-4": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.3 - checksum: 5b71a8cc3c60807e020d7795b66c6d309e8548e1d16bbf2d860cce6877ab79fd35efb4750bb1f92c89d8d25391a4b22c6c2bd2fdf2d97e6befd3bfaf536be9da + checksum: d5ee396d768d9246b4a13039b9595eef3108da6ea10111e0642e86550dff471604c068bae20d5508661bcfa00e2966c60d855cab0c5ac753e6b464e3e87c65f4 languageName: node linkType: hard -"@swagger-api/apidom-ns-openapi-3-0@npm:^1.0.0-alpha.1, @swagger-api/apidom-ns-openapi-3-0@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-openapi-3-0@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-openapi-3-0@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-ns-openapi-3-0@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-openapi-3-0@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-json-schema-draft-4": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-json-schema-draft-4": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.3 - checksum: c5ff6891df51e16ac4e5bd354607c5c4824b12f28cb7e7d48385cc96e9e9431646ed0c18fc856282e4805dec1f123ea2be6b3b4f1025692f47e0d8b55b36baa5 + checksum: 5a30b77cae1440cc2d24909c9c4b7b3291de6cb79c3b765f1559104869fd9cb88eff74bfc30a943c1c0cc57aab268488a00f177f136960f1c8cbf4e404b2de98 languageName: node linkType: hard -"@swagger-api/apidom-ns-openapi-3-1@npm:>=1.0.0-alpha.9 <1.0.0-beta.0, @swagger-api/apidom-ns-openapi-3-1@npm:^1.0.0-alpha.1, @swagger-api/apidom-ns-openapi-3-1@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-openapi-3-1@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-openapi-3-1@npm:>=1.0.0-beta.6 <1.0.0-rc.0, @swagger-api/apidom-ns-openapi-3-1@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-ns-openapi-3-1@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-openapi-3-1@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^1.0.0-alpha.9 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-json-pointer": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-alpha.9 + "@swagger-api/apidom-ast": ^1.0.0-beta.6 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-json-pointer": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.3 - checksum: d92819332525beead1ce85e83976dd3b2a5375005893b92251b2fa288f3b410ceb6dd6ace99d3eefd134e4c26a5cd7e3d8faec9f684e5c366ccb3283f4aa05b3 + checksum: 628eb16454b959392f767e873d65c073a12f26973e6eae5af34217cc514cdbc0814d1ffb2ea78cea218c0ec271b924b039f79bcd7749bfcc1847582af208e661 languageName: node linkType: hard -"@swagger-api/apidom-ns-workflows-1@npm:^1.0.0-alpha.1, @swagger-api/apidom-ns-workflows-1@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-ns-workflows-1@npm:1.0.0-alpha.9" +"@swagger-api/apidom-ns-workflows-1@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-ns-workflows-1@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-ns-workflows-1@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 ts-mixer: ^6.0.3 - checksum: e0573385e383270ef770c1a166d9041284841944674f33896293cb5e903a05064a46c27970e1adf59129f7a849d9b23471417d71a3f4df00a934da26fec46361 + checksum: 4ac94319d3f901e720e7fbae2e112e07cc3d43ab09cef09e048cae3afd6205bbee5607ac70a1a79c9e6da5fed81ea6c7d4d30e9d80ccfdb9b5824f3462e4beeb languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-api-design-systems": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-api-design-systems": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: c17d417c3a39635dfc5c3e2e7cb6d42c304e0b2c7666f303ca8ac53b7d3b5590e59d96d05c4c85637d81828763587b5398c1ba0779f860860111275ab4e34e96 + checksum: 4615a9576b16328f3adc43504654161e2ddd9077b2b6b706df9fd1986515364647c3be80b08118400cd85f2d73664239b80529815ff568fa3638fed27321ed92 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-api-design-systems": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-api-design-systems": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: 3fb5f66282fcb561cc727c209be05c3b086f5413dcca41357f09bc979dd5fdadb442d0cc0974cfdc95df991f6af083504dbecfa869755eec867a769c7d5652bc + checksum: af7b6907fd7d140606cc14dc5a7a1e419b3ea045f5fc5db92e8944d306568c6937d45773eba508e13952bc640eb2c58ee79a35f5aa3f6c0fd8ef073684d2330a languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-asyncapi-2": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-asyncapi-2": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: bac3b6bf79fbd7f95a0a35935ff4b7a7f305e03257f32ac57ad00c9e942d5141946af943b74878ff5de64b12fca2824abcf3575507bad8379482b15dc812befb + checksum: 73c0891584c773a73519940efa748fec0541b31ed36d68b313ef1eb341e572716f942cf26f6097790f09505ffd9957dc9b0d1e56d28a58421aefe024d78b3670 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-asyncapi-2": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-asyncapi-2": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: a17d4fac6818bcae8af5834494c3664ba294f127496583809034fe0ae129a7fed7bc0bd6416d90daa69677677abf6f363fc82a774851c809d0b989c03ca68eaf + checksum: c7ce7bf216bf7c1296922436395b513509a0e815cbb41be6af611bd787cbb54a3263e98e5b9b1ecc7e8a2bf473aac0be2ed5fbf55859004bab7d919565885089 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-json@npm:^1.0.0-alpha.1, @swagger-api/apidom-parser-adapter-json@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-json@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-json@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-parser-adapter-json@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-json@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^1.0.0-alpha.9 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 + "@swagger-api/apidom-ast": ^1.0.0-beta.6 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 node-gyp: latest ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - tree-sitter: =0.20.4 - tree-sitter-json: =0.20.2 - web-tree-sitter: =0.20.3 - checksum: 77c1a7c7dcf12ad4b05aea200a0864c5545235e4aadc5936b51bf8062749f5bdc02479e7ee175b476960e9303556960798e95a566c0e4e3b2fa2d59ac5327173 + tree-sitter: =0.22.1 + tree-sitter-json: =0.24.8 + web-tree-sitter: =0.24.5 + checksum: c627587b6c9d217d1c11080f37af4fde0723e42c9a367715e7ece09e96fbc5b83737321b6662a2fe534530bd97397833a10942b6c11b68896419601da54c61a3 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-json-2@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-openapi-json-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-openapi-json-2@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-openapi-json-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-2": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-2": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: 38a3c06508dd646921c3b5fa642990ec1b19778f32f949bad2dca0a1d6297b66ab34691a32abf42c7f04d383dd4f09cde17ecff250c2c14d33d3aae66914ce8f + checksum: 2fc6ee3d9f0335e6d78a280a47fbaadc6f5a8a1aedcbcd1755b880e4a62c6b7ade5d9095d484d1160ced594e571d41460a68eaaf29f6bd9b1ec4788d0019b0e8 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: ae4874da48842e1804310d23a3b90fd11696f97e363e3b489c14458bcdc8dbaec6429e4beff31ff02562e198722844d9499e6aea111899043f8e01ebac5fff02 + checksum: 1f25e6e0e8e8d2aeba203535cab5aeed2574a080c2499b6dc25258c294011f6ee406a6afb23807c652f750b32b6b844a3cdf058a69c2a1d3e6035e162e6dbf0f languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: f3dba0060420ce97a297522c702567fbc822ededd7579ee91290bf7d8792bb145ea38c5f04970f88f71001b9fdc7dcbc83d063098bc0346ce6a65bcfc726bde4 + checksum: 0afbc2eff518e3c9e5c49c0f0ff45b3294d2cce0d3a24e50c70fa07ba255a811c69ba50d3fdfb5ff8f7071a0ae4982910f7947f24daea3899f16767d9a230dd0 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-yaml-2@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-openapi-yaml-2@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-2": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-2": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: e302b93d5ac5508bf34983ee57f4f4f85ae47068920067711e607e1225726f58f5afa58708109f641dcb26b6e8182bd7cb7c189d158aec243b78be8b0b781edb + checksum: a18ff9a12db20d5d14b76c9bd85d09f597421544ee168c6eadc5d23bfe3194f4d45c62fc83d56331f44d11cb8ac3a75173b4809ad8b6371d30c02acb8aa474c4 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: aaeb57369370e426c9f5dc26c0ad95e493e2cfca1e552cfb3d6239868e50f5ab9d7d6607f5b34cd4a4ed6c22e8cc0b2b10bf26b98f497fa521170979153ac0cb + checksum: d2022b06ad6ec2d50944884535b7c51dd5396ad626ad58e1fe4b2a34bf258709f3e1c7b92980dfa6797b058e54531d099d325b847700b6c67c53b7aa30216de0 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: e25d4d40fa3db206dceba4a1fb4d29c9ced90ec87d5df35c9ec6806ff72a514cea4e0ac2e5c7198f6048b9160e009475b87a465758bc233cd40f88c84dfde39c + checksum: 611bc0fd0e04fc6424a1326ebfe9c555419bf1a5e390fcb29bf7874dc5ca573ff8b94797dbf2e8e2c19b239ec50c35c99ac9dd26003ed8959a6fd5a840817af7 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-workflows-json-1@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-workflows-json-1@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-workflows-json-1@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-workflows-json-1@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-workflows-1": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-workflows-1": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: b16d831652946fd4a53cb2d0c549d6e2d9c7227ce617bd4f28f50d072e370369e6067d1e534ff8e88508d20ed61d9e8466e49fcc853e250bc75d1833b2da7efd + checksum: 8a1b7a52d22caa067ae5ef688a4705c22356915f5cec3fb8cff328e1f84bff026f1b88f1bbc9194ab18125b02dfe7cdf836d351d3cb3991f2a6f3e48d0840116 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-workflows-yaml-1@npm:^1.0.0-alpha.1": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-workflows-yaml-1@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-workflows-yaml-1@npm:^1.0.0-beta.3 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-workflows-yaml-1@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-ns-workflows-1": ^1.0.0-alpha.9 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.9 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-ns-workflows-1": ^1.0.0-beta.6 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.6 "@types/ramda": ~0.30.0 ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - checksum: f7d88d3932b7058f7124cb0c465214ea6154a64729d3af200f825922f5ffd99287f5ee5a5173eaa6d4b14b10c820c3e59d715f3883944308b6d5e024112596e6 + checksum: e70c7943a91b9f76b2aa2cb165ce9b5dba8a8c25df52f1440736fac5d8eec0d21bce64638b31fb8099a02568892cbdedc57a887b7211ab2fd078561e762084f3 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-yaml-1-2@npm:^1.0.0-alpha.1, @swagger-api/apidom-parser-adapter-yaml-1-2@npm:^1.0.0-alpha.9": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-parser-adapter-yaml-1-2@npm:1.0.0-alpha.9" +"@swagger-api/apidom-parser-adapter-yaml-1-2@npm:^1.0.0-beta.3 <1.0.0-rc.0, @swagger-api/apidom-parser-adapter-yaml-1-2@npm:^1.0.0-beta.6": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-parser-adapter-yaml-1-2@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^1.0.0-alpha.9 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.9 + "@swagger-api/apidom-ast": ^1.0.0-beta.6 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.6 + "@tree-sitter-grammars/tree-sitter-yaml": =0.7.0 "@types/ramda": ~0.30.0 node-gyp: latest ramda: ~0.30.0 ramda-adjunct: ^5.0.0 - tree-sitter: =0.20.4 - tree-sitter-yaml: =0.5.0 - web-tree-sitter: =0.20.3 - checksum: 1485597a7ab952f434fe1056ffdc3ce6ed861f0c087fb342c3fec094fe4bf63ea65cb13d9545d630cd4964ffdbdb914f6c415d7b6a0e577d410d53f96c7c3690 + tree-sitter: =0.22.1 + web-tree-sitter: =0.24.5 + checksum: 0d696e490007589c1a7b4caae3415392c5a723769c922abad9e17238cea4757e689408c71164b4ab114bd4b1bdf3200aefada43bb729e46d99f2fbba018d3f20 languageName: node linkType: hard -"@swagger-api/apidom-reference@npm:>=1.0.0-alpha.9 <1.0.0-beta.0": - version: 1.0.0-alpha.9 - resolution: "@swagger-api/apidom-reference@npm:1.0.0-alpha.9" +"@swagger-api/apidom-reference@npm:>=1.0.0-beta.6 <1.0.0-rc.0": + version: 1.0.0-beta.6 + resolution: "@swagger-api/apidom-reference@npm:1.0.0-beta.6" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^1.0.0-alpha.9 - "@swagger-api/apidom-error": ^1.0.0-alpha.1 - "@swagger-api/apidom-json-pointer": ^1.0.0-alpha.1 - "@swagger-api/apidom-ns-asyncapi-2": ^1.0.0-alpha.1 - "@swagger-api/apidom-ns-openapi-2": ^1.0.0-alpha.1 - "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-alpha.1 - "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-alpha.1 - "@swagger-api/apidom-ns-workflows-1": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-api-design-systems-json": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-json": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-openapi-json-2": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-openapi-yaml-2": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-workflows-json-1": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-workflows-yaml-1": ^1.0.0-alpha.1 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-alpha.1 + "@swagger-api/apidom-core": ^1.0.0-beta.6 + "@swagger-api/apidom-error": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-json-pointer": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-ns-asyncapi-2": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-ns-openapi-2": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-ns-openapi-3-0": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-ns-openapi-3-1": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-ns-workflows-1": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-api-design-systems-json": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-json": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-openapi-json-2": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-workflows-json-1": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-workflows-yaml-1": ^1.0.0-beta.3 <1.0.0-rc.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^1.0.0-beta.3 <1.0.0-rc.0 "@types/ramda": ~0.30.0 - axios: ^1.4.0 + axios: ^1.7.4 minimatch: ^7.4.3 process: ^0.11.10 ramda: ~0.30.0 @@ -19065,98 +19629,107 @@ __metadata: optional: true "@swagger-api/apidom-parser-adapter-yaml-1-2": optional: true - checksum: 28c329359a92b34471a3f796b89a88405c8e998622e786193402668a5f4cdb3da5273b86ef9e209f3d0ab750d221fd9046d481751dff3bbcc2e32e0b748ec34c + checksum: 9ad83c30a45ed0d893db7ea84aca0a827dab1f44b451532786fdcd6663ae23ef55371d9f2369469c1a5db2981b3718f26b3d6d115798b46eb480f079d4fb417c languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-darwin-arm64@npm:1.4.2" +"@swaggerexpert/cookie@npm:^1.4.1": + version: 1.4.1 + resolution: "@swaggerexpert/cookie@npm:1.4.1" + dependencies: + apg-lite: ^1.0.3 + checksum: bf65dfe95cd4943e6740c2d9744460e81d137509ea95d2ab0a9e4e41b5533ed2ddaba96ffbd49d09088a8b39c4f4c71775b2d607243525209ba90b00d800d0bd + languageName: node + linkType: hard + +"@swc/core-darwin-arm64@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-darwin-arm64@npm:1.10.7" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-darwin-x64@npm:1.4.2" +"@swc/core-darwin-x64@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-darwin-x64@npm:1.10.7" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.4.2" +"@swc/core-linux-arm-gnueabihf@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.10.7" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-linux-arm64-gnu@npm:1.4.2" +"@swc/core-linux-arm64-gnu@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-linux-arm64-gnu@npm:1.10.7" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-linux-arm64-musl@npm:1.4.2" +"@swc/core-linux-arm64-musl@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-linux-arm64-musl@npm:1.10.7" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-linux-x64-gnu@npm:1.4.2" +"@swc/core-linux-x64-gnu@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-linux-x64-gnu@npm:1.10.7" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-linux-x64-musl@npm:1.4.2" +"@swc/core-linux-x64-musl@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-linux-x64-musl@npm:1.10.7" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-win32-arm64-msvc@npm:1.4.2" +"@swc/core-win32-arm64-msvc@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-win32-arm64-msvc@npm:1.10.7" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-win32-ia32-msvc@npm:1.4.2" +"@swc/core-win32-ia32-msvc@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-win32-ia32-msvc@npm:1.10.7" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.4.2": - version: 1.4.2 - resolution: "@swc/core-win32-x64-msvc@npm:1.4.2" +"@swc/core-win32-x64-msvc@npm:1.10.7": + version: 1.10.7 + resolution: "@swc/core-win32-x64-msvc@npm:1.10.7" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.46": - version: 1.4.2 - resolution: "@swc/core@npm:1.4.2" - dependencies: - "@swc/core-darwin-arm64": 1.4.2 - "@swc/core-darwin-x64": 1.4.2 - "@swc/core-linux-arm-gnueabihf": 1.4.2 - "@swc/core-linux-arm64-gnu": 1.4.2 - "@swc/core-linux-arm64-musl": 1.4.2 - "@swc/core-linux-x64-gnu": 1.4.2 - "@swc/core-linux-x64-musl": 1.4.2 - "@swc/core-win32-arm64-msvc": 1.4.2 - "@swc/core-win32-ia32-msvc": 1.4.2 - "@swc/core-win32-x64-msvc": 1.4.2 - "@swc/counter": ^0.1.2 - "@swc/types": ^0.1.5 + version: 1.10.7 + resolution: "@swc/core@npm:1.10.7" + dependencies: + "@swc/core-darwin-arm64": 1.10.7 + "@swc/core-darwin-x64": 1.10.7 + "@swc/core-linux-arm-gnueabihf": 1.10.7 + "@swc/core-linux-arm64-gnu": 1.10.7 + "@swc/core-linux-arm64-musl": 1.10.7 + "@swc/core-linux-x64-gnu": 1.10.7 + "@swc/core-linux-x64-musl": 1.10.7 + "@swc/core-win32-arm64-msvc": 1.10.7 + "@swc/core-win32-ia32-msvc": 1.10.7 + "@swc/core-win32-x64-msvc": 1.10.7 + "@swc/counter": ^0.1.3 + "@swc/types": ^0.1.17 peerDependencies: - "@swc/helpers": ^0.5.0 + "@swc/helpers": "*" dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -19181,11 +19754,11 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: b17afda692b2627d3a82e589f1b29cef31bdee626a2dd997d78312dcbfc6eb701850fbab22e85f02b1261da39f0b0afb6a236c6065f6d0d7478cff939ca5a888 + checksum: c9b9418167e4c21e3299b3f97f7a72ac265125e365828c9533da4800d71e10c65848913d3569db5f26dca8aa38224f8ecdfe54d2e505207f2b4bc2a1745374e0 languageName: node linkType: hard -"@swc/counter@npm:^0.1.2, @swc/counter@npm:^0.1.3": +"@swc/counter@npm:^0.1.3": version: 0.1.3 resolution: "@swc/counter@npm:0.1.3" checksum: df8f9cfba9904d3d60f511664c70d23bb323b3a0803ec9890f60133954173047ba9bdeabce28cd70ba89ccd3fd6c71c7b0bd58be85f611e1ffbe5d5c18616598 @@ -19193,49 +19766,42 @@ __metadata: linkType: hard "@swc/helpers@npm:^0.5.0, @swc/helpers@npm:^0.5.8": - version: 0.5.13 - resolution: "@swc/helpers@npm:0.5.13" + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" dependencies: - tslib: ^2.4.0 - checksum: d50c2c10da6ef940af423c6b03ad9c3c94cf9de59314b1e921a7d1bcc081a6074481c9d67b655fc8fe66a73288f98b25950743792a63882bfb5793b362494fc0 + tslib: ^2.8.0 + checksum: 1a9e0dbb792b2d1e0c914d69c201dbc96af3a0e6e6e8cf5a7f7d6a5d7b0e8b762915cd4447acb6b040e2ecc1ed49822875a7239f99a2d63c96c3c3407fb6fccf languageName: node linkType: hard "@swc/jest@npm:^0.2.22": - version: 0.2.36 - resolution: "@swc/jest@npm:0.2.36" + version: 0.2.37 + resolution: "@swc/jest@npm:0.2.37" dependencies: "@jest/create-cache-key-function": ^29.7.0 "@swc/counter": ^0.1.3 jsonc-parser: ^3.2.0 peerDependencies: "@swc/core": "*" - checksum: 14f2e696ac093e23dae1e2e57d894bbcde4de6fe80341a26c8d0d8cbae5aae31832f8fa32dc698529f128d19a76aeedf2227f59480de6dab5eb3f30bfdf9b71a + checksum: 8d9a16404068c7f7d0548bc62f9d1465592178affbc7fe105dd59d463975d82cdcab2e0582c2a542250e6d240c76828bdbc404c77c85dd4d81061eb720351c4a languageName: node linkType: hard -"@swc/types@npm:^0.1.5": - version: 0.1.5 - resolution: "@swc/types@npm:0.1.5" - checksum: 6aee11f62d3d805a64848e0bd5f0e0e615f958e327a9e1260056c368d7d28764d89e38bd8005a536c9bf18afbcd303edd84099d60df34a2975d62540f61df13b - languageName: node - linkType: hard - -"@szmarczak/http-timer@npm:^4.0.5": - version: 4.0.6 - resolution: "@szmarczak/http-timer@npm:4.0.6" +"@swc/types@npm:^0.1.17": + version: 0.1.17 + resolution: "@swc/types@npm:0.1.17" dependencies: - defer-to-connect: ^2.0.0 - checksum: c29df3bcec6fc3bdec2b17981d89d9c9fc9bd7d0c9bcfe92821dc533f4440bc890ccde79971838b4ceed1921d456973c4180d7175ee1d0023ad0562240a58d95 + "@swc/counter": ^0.1.3 + checksum: 6cc87b8ddfb540096abdf40bc29742df0b7d068f97c1ce6c32cd1b7073cde263ed7bc3bae1fba7bf0e1a0f5d63336e9fa092e05a54f6d9b3570df956d2acaff6 languageName: node linkType: hard -"@tanstack/match-sorter-utils@npm:8.15.1": - version: 8.15.1 - resolution: "@tanstack/match-sorter-utils@npm:8.15.1" +"@tanstack/match-sorter-utils@npm:8.19.4": + version: 8.19.4 + resolution: "@tanstack/match-sorter-utils@npm:8.19.4" dependencies: remove-accents: 0.5.0 - checksum: e1a230415adf92d74eefb4fc67f7a7be9182bb8bfc5ab9aba538f20a6a472791715665bab9c76e3a33eba66bad6a06e64c259c5a4e505b1fe500703dd641f814 + checksum: 7ec302d75be1f65a3e91dd30b567e47e56c13577937276ef3a3ac7c8560a0b9f6dcaca44dd877189375ce9e7401d250895265adb0741ec867eda4e47d0f07dc0 languageName: node linkType: hard @@ -19246,10 +19812,10 @@ __metadata: languageName: node linkType: hard -"@tanstack/query-core@npm:5.51.15": - version: 5.51.15 - resolution: "@tanstack/query-core@npm:5.51.15" - checksum: 701ff98cf88de872b0bf7271904f66ed41e3f268189bb2f016a83f770b263c7cd3d5067b681fde0b08006fb2a327aacd143cb49a4bc567b679a3ecfb069d13b3 +"@tanstack/query-core@npm:5.64.1": + version: 5.64.1 + resolution: "@tanstack/query-core@npm:5.64.1" + checksum: cdead4a1589600c21a6a61d8cec8f54b2e806635d8c573972d4b2e448c66bc5c4b553eba366326d9346fe8e806f67f79e7973534904194b479a98dfa8231a453 languageName: node linkType: hard @@ -19273,51 +19839,70 @@ __metadata: linkType: hard "@tanstack/react-query@npm:^5.40.1": - version: 5.51.15 - resolution: "@tanstack/react-query@npm:5.51.15" + version: 5.64.1 + resolution: "@tanstack/react-query@npm:5.64.1" dependencies: - "@tanstack/query-core": 5.51.15 + "@tanstack/query-core": 5.64.1 peerDependencies: - react: ^18.0.0 - checksum: 44c9c083fc8e5c05a92a6cd5afabd9ce5745484c398f9d231fdd885356e33903cf47521c5c0f760e66fcc57ae4448fb1979ef0cd0873b54ea76470bdcba65021 + react: ^18 || ^19 + checksum: 4272c7319c2805aadbe201ace10989c717828b1b7ed5d478edd28e28d0d3692afe0f712f5f0c8584c667c0d25fc8395d585d0056d315e57101acb7ab7062c862 languageName: node linkType: hard -"@tanstack/react-table@npm:8.16.0": - version: 8.16.0 - resolution: "@tanstack/react-table@npm:8.16.0" +"@tanstack/react-table@npm:8.20.5": + version: 8.20.5 + resolution: "@tanstack/react-table@npm:8.20.5" dependencies: - "@tanstack/table-core": 8.16.0 + "@tanstack/table-core": 8.20.5 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 9a80668ba7531b49425d3c08fe34fbd4bbcdf936fbca120114d2d090013242c3ea1b573c1381719289600bc866f2ded9e3e13c7c4923285d2cf4eee1c1d489e7 + checksum: 4c08ff56011f640da2dc2680aa141f642f394ed6dd849f681c50d429c27f8f387222fb05436ce4f9fb66715e52587633e859e5cf13f9ee7e4dd80656b1f9ca00 languageName: node linkType: hard -"@tanstack/react-virtual@npm:3.3.0, @tanstack/react-virtual@npm:^3.0.0-beta.60": - version: 3.3.0 - resolution: "@tanstack/react-virtual@npm:3.3.0" +"@tanstack/react-virtual@npm:3.10.6": + version: 3.10.6 + resolution: "@tanstack/react-virtual@npm:3.10.6" dependencies: - "@tanstack/virtual-core": 3.3.0 + "@tanstack/virtual-core": 3.10.6 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: fe230208c3a7b251e4744fd32e3d58c098f7c5ad8727155d52863a800bc12fca54f00d18fce5b3ffed43b12e2139242fd1eb11e6fa55ec0908d081943ccae3e0 + checksum: 50624357867ce8eca4084bfe132b73fe7a2e0f9bcb2a7241b16425d58c0f7602c6f889f28d29a9416f7c3ab12d89239da48d0d84ca470ace94f77cf982d6246e languageName: node linkType: hard -"@tanstack/table-core@npm:8.16.0": - version: 8.16.0 - resolution: "@tanstack/table-core@npm:8.16.0" - checksum: c2c33c542c60788eb90806feb8f1f0340aa565ef9bb031bc5562d43598394a4089d61007f55ed6ab1fa16bbe93228cb2673b564ecf90b416bf463f42a56f3d85 +"@tanstack/react-virtual@npm:^3.0.0-beta.60": + version: 3.11.2 + resolution: "@tanstack/react-virtual@npm:3.11.2" + dependencies: + "@tanstack/virtual-core": 3.11.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: a1136da0ec4c2ecbd4f996d8b84f228f0b8d851b15806e01049a160ad1d9b2eef0e0a491035fe017c6f84a0e125334f69ea23b32c180df23614ea4a8eeb7490c languageName: node linkType: hard -"@tanstack/virtual-core@npm:3.3.0": - version: 3.3.0 - resolution: "@tanstack/virtual-core@npm:3.3.0" - checksum: 35c398b822b4a575197a324533d19e248fc0692f23fd6e492dd592960f921b3fda05ddf1578466d6114f4924f6eb304aa8f2b8f03f9d22fce2d307c85ca41d1c +"@tanstack/table-core@npm:8.20.5": + version: 8.20.5 + resolution: "@tanstack/table-core@npm:8.20.5" + checksum: f8b175f11eb9ee1e029bb5e91c1038527714382de4bd14750377f43c25e69b687b21bfb181ee07131637d3432618964a4b7a898608fc8411ca50da1e7e8ed4c5 + languageName: node + linkType: hard + +"@tanstack/virtual-core@npm:3.10.6": + version: 3.10.6 + resolution: "@tanstack/virtual-core@npm:3.10.6" + checksum: c7eeda2a2ad49b0b5065127094225877656b718301bcd972b80e55b19a7f2f063867a8d598544e824cc230d080124c9c34abeb8517c0ed3f5759c16c1f86acd8 + languageName: node + linkType: hard + +"@tanstack/virtual-core@npm:3.11.2": + version: 3.11.2 + resolution: "@tanstack/virtual-core@npm:3.11.2" + checksum: b5c91662461e3edd1cba0efbaa89e1d061c8bb605bb78d1e87e2a687335c740a731c96a81798b05491df4882ff2fbd27b312f5e7440e4f9d553a81fb2283156a languageName: node linkType: hard @@ -19388,6 +19973,26 @@ __metadata: languageName: node linkType: hard +"@testing-library/react@npm:^16.0.0": + version: 16.2.0 + resolution: "@testing-library/react@npm:16.2.0" + dependencies: + "@babel/runtime": ^7.12.5 + peerDependencies: + "@testing-library/dom": ^10.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + "@types/react-dom": + optional: true + checksum: 4a687200e4d5dc7c7bd83c01f847a26e2c78f08acf54e5dbde8132969221401c6c595f624f5bd47e758346edc5f516d0bb07bffaae8a2e149910343eed4ae39f + languageName: node + linkType: hard + "@testing-library/user-event@npm:14.6.0": version: 14.6.0 resolution: "@testing-library/user-event@npm:14.6.0" @@ -19404,13 +20009,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 - languageName: node - linkType: hard - "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -19425,6 +20023,22 @@ __metadata: languageName: node linkType: hard +"@tree-sitter-grammars/tree-sitter-yaml@npm:=0.7.0": + version: 0.7.0 + resolution: "@tree-sitter-grammars/tree-sitter-yaml@npm:0.7.0" + dependencies: + node-addon-api: ^8.3.0 + node-gyp: latest + node-gyp-build: ^4.8.4 + peerDependencies: + tree-sitter: ^0.22.1 + peerDependenciesMeta: + tree-sitter: + optional: true + checksum: e1483d30b3f7604b111a86f854522a5dc880f2d7fb552150628f5186063fb537631d696fc1713da040a6d4bbac8fbf8b4a7eb5cb1d72d1cfb72af1f849899961 + languageName: node + linkType: hard + "@trendyol-js/openstack-swift-sdk@npm:^0.0.7": version: 0.0.7 resolution: "@trendyol-js/openstack-swift-sdk@npm:0.0.7" @@ -19444,22 +20058,21 @@ __metadata: languageName: node linkType: hard -"@ts-morph/common@npm:~0.24.0": - version: 0.24.0 - resolution: "@ts-morph/common@npm:0.24.0" +"@ts-morph/common@npm:~0.25.0": + version: 0.25.0 + resolution: "@ts-morph/common@npm:0.25.0" dependencies: - fast-glob: ^3.3.2 minimatch: ^9.0.4 - mkdirp: ^3.0.1 path-browserify: ^1.0.1 - checksum: 793bc8a47c93ab55c6c036f94480d3b0e948661aef4bb7dbc29279b1dda2fc4fce809a88e221537867a313541842e12d1ecbd32b4769688abe1303807ec09db6 + tinyglobby: ^0.2.9 + checksum: b8177f7969b058a8da6c79e28dc71c326acc4431e1138b04d2311be98cf46d9506053064eb3304f49970a58daf1f4ea0c0760c0d3b50636179424a5d71b9c74f languageName: node linkType: hard "@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: a33ae4dc2a621c0678ac8ac4bceb8e512ae75dac65417a2ad9b022d9b5411e863c4c198b6ba9ef659e14b9fb609bbec680841a2e84c1172df7a5ffcf076539df + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 51fe47d55fe1b80ec35e6e5ed30a13665fd3a531945350aa74a14a1e82875fb60b350c2f2a5e72a64831b1b6bc02acb6760c30b3738b54954ec2dea82db7a267 languageName: node linkType: hard @@ -19491,13 +20104,20 @@ __metadata: languageName: node linkType: hard -"@types/aws-lambda@npm:8.10.143, @types/aws-lambda@npm:^8.10.83": +"@types/aws-lambda@npm:8.10.143": version: 8.10.143 resolution: "@types/aws-lambda@npm:8.10.143" checksum: b2ec1db79c57916651a47c173f14ef90564273542a455d79cc07d3eeabef11a39a3d63c3d26061335fbc557210ec4c8d4daf90bc8b51a38ef43a3299223dc3bf languageName: node linkType: hard +"@types/aws-lambda@npm:^8.10.83": + version: 8.10.147 + resolution: "@types/aws-lambda@npm:8.10.147" + checksum: 697348cb9040563f072d2a77eec8aad3d9705f3e0f43c75ce8ae338c522e0bce8caffcfa0e11e51b674030d3221f776b07c257f98377375af08fe08df6e4de84 + languageName: node + linkType: hard + "@types/babel__core@npm:^7.1.14": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -19531,11 +20151,11 @@ __metadata: linkType: hard "@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.5 - resolution: "@types/babel__traverse@npm:7.20.5" + version: 7.20.6 + resolution: "@types/babel__traverse@npm:7.20.6" dependencies: "@babel/types": ^7.20.7 - checksum: 608e0ab4fc31cd47011d98942e6241b34d461608c0c0e153377c5fd822c436c475f1ded76a56bfa76a1adf8d9266b727bbf9bfac90c4cb152c97f30dadc5b7e8 + checksum: 2bdc65eb62232c2d5c1086adeb0c31e7980e6fd7e50a3483b4a724a1a1029c84d9cb59749cf8de612f9afa2bc14c85b8f50e64e21f8a4398fa77eb9059a4283c languageName: node linkType: hard @@ -19574,18 +20194,6 @@ __metadata: languageName: node linkType: hard -"@types/cacheable-request@npm:^6.0.1": - version: 6.0.3 - resolution: "@types/cacheable-request@npm:6.0.3" - dependencies: - "@types/http-cache-semantics": "*" - "@types/keyv": ^3.1.4 - "@types/node": "*" - "@types/responselike": ^1.0.0 - checksum: d9b26403fe65ce6b0cb3720b7030104c352bcb37e4fac2a7089a25a97de59c355fa08940658751f2f347a8512aa9d18fdb66ab3ade835975b2f454f2d5befbd9 - languageName: node - linkType: hard - "@types/caseless@npm:*": version: 0.12.5 resolution: "@types/caseless@npm:0.12.5" @@ -19832,9 +20440,9 @@ __metadata: linkType: hard "@types/d3-scale-chromatic@npm:*": - version: 3.0.3 - resolution: "@types/d3-scale-chromatic@npm:3.0.3" - checksum: a465d126a00a71d3824957283580b4b404fe6f6bb52eb2b7303047fffed2bec6e31aeb34bfb30313e72ee1d75243c50ec5a45824eaf547f9c0849a1379527662 + version: 3.1.0 + resolution: "@types/d3-scale-chromatic@npm:3.1.0" + checksum: cb7b86deac077c7c217a52a3f658cdfb812cff8708404fbfe54918c03ead545e1df87df377e9c4eab21c9d6c1aeee6471320e02a5b6b27e2e3f786a12a82ab02 languageName: node linkType: hard @@ -19855,11 +20463,11 @@ __metadata: linkType: hard "@types/d3-shape@npm:*, @types/d3-shape@npm:^3.1.0": - version: 3.1.6 - resolution: "@types/d3-shape@npm:3.1.6" + version: 3.1.7 + resolution: "@types/d3-shape@npm:3.1.7" dependencies: "@types/d3-path": "*" - checksum: bd765be021019c43c8dca066a798a1de28a051d1213db6ca25f76c9e577da7ec40a592e3bda7628383ab48cb87164fe60b95eb5ec23761b2012bd0adb30c549a + checksum: 776b982e2c4fc04763782af5100993c02bca338632ff2c76d2423ace398300ba7c48cd745f95b5f51edefabbfd026c45829a146c411f8facde09ef92580b20ce languageName: node linkType: hard @@ -19871,9 +20479,9 @@ __metadata: linkType: hard "@types/d3-time@npm:*, @types/d3-time@npm:^3.0.0": - version: 3.0.3 - resolution: "@types/d3-time@npm:3.0.3" - checksum: a071826c80efdb1999e6406fef2db516d45f3906da3a9a4da8517fa863bae53c4c1056ca5347a20921660607d21ec874fd2febe0e961adb7be6954255587d08f + version: 3.0.4 + resolution: "@types/d3-time@npm:3.0.4" + checksum: 0c296884571ce70c4bbd4ea9cd1c93c0c8aee602c6c806b056187dd4ee49daf70c2f41da94b25ba0d796edf8ca83cbb87fe6d1cdda7ca669ab800170ece1c12b languageName: node linkType: hard @@ -19960,14 +20568,14 @@ __metadata: languageName: node linkType: hard -"@types/dockerode@npm:^3.3.0, @types/dockerode@npm:^3.3.24": - version: 3.3.28 - resolution: "@types/dockerode@npm:3.3.28" +"@types/dockerode@npm:^3.3.0, @types/dockerode@npm:^3.3.29": + version: 3.3.34 + resolution: "@types/dockerode@npm:3.3.34" dependencies: "@types/docker-modem": "*" "@types/node": "*" "@types/ssh2": "*" - checksum: d354d790a970b20f7e6b65554eaf851a931adb6fdce831408797b660ff58bf46e87c625ae56c8f7eb902437515cc2286a7cb171ca4e54fbc1262f2d08ab93b78 + checksum: 0cb35276fc76ee8ae9d6db7054198e23370f753894d06aa56efbf232032009c6f63a3bfce9d71e6272f3240040d9da2d2a56671d24f34e598ff2000df946ecbd languageName: node linkType: hard @@ -19985,15 +20593,6 @@ __metadata: languageName: node linkType: hard -"@types/dompurify@npm:^2.1.0": - version: 2.4.0 - resolution: "@types/dompurify@npm:2.4.0" - dependencies: - "@types/trusted-types": "*" - checksum: b48cd81e997794ebc390c7c5bef1a67ec14a6f2f0521973e07e06af186c7583abe114d94d24868c0632b9573f5bd77131a4b76f3fffdf089ba99a4e53dd46c39 - languageName: node - linkType: hard - "@types/domutils@npm:*": version: 1.7.8 resolution: "@types/domutils@npm:1.7.8" @@ -20012,13 +20611,33 @@ __metadata: languageName: node linkType: hard -"@types/eslint@npm:^7.29.0 || ^8.4.1, @types/eslint@npm:^8.37.0": - version: 8.56.10 - resolution: "@types/eslint@npm:8.56.10" +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "*" + "@types/estree": "*" + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" + dependencies: + "@types/estree": "*" + "@types/json-schema": "*" + checksum: c286e79707ab604b577cf8ce51d9bbb9780e3d6a68b38a83febe13fa05b8012c92de17c28532fac2b03d3c460123f5055d603a579685325246ca1c86828223e0 + languageName: node + linkType: hard + +"@types/eslint@npm:^7.29.0 || ^8.4.1, @types/eslint@npm:^8.56.10": + version: 8.56.12 + resolution: "@types/eslint@npm:8.56.12" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: fb7137dd263ce1130b42d14452bdd0266ef81f52cb55ba1a5e9750e65da1f0596dc598c88bffc7e415458b6cb611a876dcc132bcf40ea48701c6d05b40c57be5 + checksum: 0f7710ee02a256c499514251f527f84de964bb29487db840408e4cde79283124a38935597636d2265756c34dd1d902e1b00ae78930d4a0b55111909cb7b80d84 languageName: node linkType: hard @@ -20031,26 +20650,50 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a +"@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 8825d6e729e16445d9a1dd2fb1db2edc5ed400799064cd4d028150701031af012ba30d6d03fe9df40f4d7a437d0de6d2b256020152b7b09bde9f2e420afdffd9 languageName: node linkType: hard -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33, @types/express-serve-static-core@npm:^4.17.5": - version: 4.17.43 - resolution: "@types/express-serve-static-core@npm:4.17.43" +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": + version: 5.0.5 + resolution: "@types/express-serve-static-core@npm:5.0.5" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" "@types/send": "*" - checksum: 08e940cae52eb1388a7b5f61d65f028e783add77d1854243ae920a6a2dfb5febb6acaafbcf38be9d678b0411253b9bc325893c463a93302405f24135664ab1e4 + checksum: d66e603674fafabab94430fb5665c9bda5a867373b8e29f30631a43a29dd246057fe584a61395b3472b45cdb23caeeef4931b781b1030fa5ebb2b38ccad27108 languageName: node linkType: hard -"@types/express@npm:*, @types/express@npm:4.17.21, @types/express@npm:^4.17.13, @types/express@npm:^4.17.17, @types/express@npm:^4.17.21, @types/express@npm:^4.17.6": +"@types/express-serve-static-core@npm:^4.17.33, @types/express-serve-static-core@npm:^4.17.5": + version: 4.19.6 + resolution: "@types/express-serve-static-core@npm:4.19.6" + dependencies: + "@types/node": "*" + "@types/qs": "*" + "@types/range-parser": "*" + "@types/send": "*" + checksum: b0576eddc2d25ccdf10e68ba09598b87a4d7b2ad04a81dc847cb39fe56beb0b6a5cc017b1e00aa0060cb3b38e700384ce96d291a116a0f1e54895564a104aae9 + languageName: node + linkType: hard + +"@types/express@npm:*": + version: 5.0.0 + resolution: "@types/express@npm:5.0.0" + dependencies: + "@types/body-parser": "*" + "@types/express-serve-static-core": ^5.0.0 + "@types/qs": "*" + "@types/serve-static": "*" + checksum: ef68d8e2b7593c930093b1e79bf4df15413773508c9acd6a1a933ed7017f2a4892a8d128b2222d7eab9a3fa43181067a378c2600d9258bd7ae917f170e962df4 + languageName: node + linkType: hard + +"@types/express@npm:4.17.21, @types/express@npm:^4.17.13, @types/express@npm:^4.17.21, @types/express@npm:^4.17.6": version: 4.17.21 resolution: "@types/express@npm:4.17.21" dependencies: @@ -20063,9 +20706,9 @@ __metadata: linkType: hard "@types/geojson@npm:*": - version: 7946.0.14 - resolution: "@types/geojson@npm:7946.0.14" - checksum: ae511bee6488ae3bd5a3a3347aedb0371e997b14225b8983679284e22fa4ebd88627c6e3ff8b08bf4cc35068cb29310c89427311ffc9322c255615821a922e71 + version: 7946.0.15 + resolution: "@types/geojson@npm:7946.0.15" + checksum: 226d7ab59540632b19f7889c76c4c586a5104c18c43a81f32974aa035eafe557f86bd5a79ca5568bb63cbe5bfa9014c8e9a29cb0bb3d2f0bd71b0cc13ad8ccb3 languageName: node linkType: hard @@ -20104,12 +20747,12 @@ __metadata: linkType: hard "@types/hoist-non-react-statics@npm:^3.3.0, @types/hoist-non-react-statics@npm:^3.3.1": - version: 3.3.5 - resolution: "@types/hoist-non-react-statics@npm:3.3.5" + version: 3.3.6 + resolution: "@types/hoist-non-react-statics@npm:3.3.6" dependencies: "@types/react": "*" hoist-non-react-statics: ^3.3.0 - checksum: b645b062a20cce6ab1245ada8274051d8e2e0b2ee5c6bd58215281d0ec6dae2f26631af4e2e7c8abe238cdcee73fcaededc429eef569e70908f82d0cc0ea31d7 + checksum: f03e43bd081876c49584ffa0eb690d69991f258203efca44dcc30efdda49a50653ff06402917d1edc9cb7e2adebbe9e2d1d0e739bc99c1b5372103b1cc534e47 languageName: node linkType: hard @@ -20131,13 +20774,6 @@ __metadata: languageName: node linkType: hard -"@types/http-cache-semantics@npm:*": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 7f4dd832e618bc1e271be49717d7b4066d77c2d4eed5b81198eb987e532bb3e1c7e02f45d77918185bad936f884b700c10cebe06305f50400f382ab75055f9e8 - languageName: node - linkType: hard - "@types/http-errors@npm:*": version: 2.0.4 resolution: "@types/http-errors@npm:2.0.4" @@ -20189,12 +20825,12 @@ __metadata: linkType: hard "@types/jest@npm:^29.5.11": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" + version: 29.5.14 + resolution: "@types/jest@npm:29.5.14" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: 19b1efdeed9d9a60a81edc8226cdeae5af7479e493eaed273e01243891c9651f7b8b4c08fc633a7d0d1d379b091c4179bbaa0807af62542325fd72f2dd17ce1c + checksum: 18dba4623f26661641d757c63da2db45e9524c9be96a29ef713c703a9a53792df9ecee9f7365a0858ddbd6440d98fe6b65ca67895ca5884b73cbc7ffc11f3838 languageName: node linkType: hard @@ -20245,20 +20881,11 @@ __metadata: linkType: hard "@types/jsonwebtoken@npm:^9.0.0": - version: 9.0.6 - resolution: "@types/jsonwebtoken@npm:9.0.6" - dependencies: - "@types/node": "*" - checksum: a568e7cb1c703bcb015eff8bf5996e276e748d2b39ddc47edf5ddccd1378f5792179c43302a1c803e47a54b0220f9ecaae445ec444d28bf81b88856f899e85b9 - languageName: node - linkType: hard - -"@types/keyv@npm:^3.1.4": - version: 3.1.4 - resolution: "@types/keyv@npm:3.1.4" + version: 9.0.7 + resolution: "@types/jsonwebtoken@npm:9.0.7" dependencies: "@types/node": "*" - checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d + checksum: 872b62e2a50ec399d695402ccddfeb5cd66a6c3d28511f27453b932b6b67eb82c2d0ecaa864939848b88b3a8276c2492647bf5707bc82a6ac7e420d3412b9047 languageName: node linkType: hard @@ -20281,9 +20908,9 @@ __metadata: linkType: hard "@types/lodash@npm:^4.14.175": - version: 4.14.202 - resolution: "@types/lodash@npm:4.14.202" - checksum: a91acf3564a568c6f199912f3eb2c76c99c5a0d7e219394294213b3f2d54f672619f0fde4da22b29dc5d4c31457cd799acc2e5cb6bd90f9af04a1578483b6ff7 + version: 4.17.14 + resolution: "@types/lodash@npm:4.17.14" + checksum: 2dbeaff92b31cb523f6bc4bb99a3d8c88fbb001d54f2367a888add85784fb213744a9b1600e1e98b6790ab191fdb6ec839eb0e3d63fcf6fb6cf1ebe4c3d21149 languageName: node linkType: hard @@ -20301,20 +20928,13 @@ __metadata: languageName: node linkType: hard -"@types/luxon@npm:^3.0.0": +"@types/luxon@npm:^3.0.0, @types/luxon@npm:~3.4.0": version: 3.4.2 resolution: "@types/luxon@npm:3.4.2" checksum: 6f92d5bd02e89f310395753506bcd9cef3a56f5940f7a50db2a2b9822bce753553ac767d143cb5b4f9ed5ddd4a84e64f89ff538082ceb4d18739af7781b56925 languageName: node linkType: hard -"@types/luxon@npm:~3.3.0": - version: 3.3.8 - resolution: "@types/luxon@npm:3.3.8" - checksum: 026711b4aefc01c6e233e359c693b6d4c0873acc3f52a08661ea3751b2cf3e34d1ce1d5b0b99b0e40a059a2a3755acc20498d37db5f9a5a4f0f330cdf72db3db - languageName: node - linkType: hard - "@types/mdast@npm:^3.0.0": version: 3.0.15 resolution: "@types/mdast@npm:3.0.15" @@ -20366,9 +20986,9 @@ __metadata: linkType: hard "@types/ms@npm:*": - version: 0.7.34 - resolution: "@types/ms@npm:0.7.34" - checksum: f38d36e7b6edecd9badc9cf50474159e9da5fa6965a75186cceaf883278611b9df6669dc3a3cc122b7938d317b68a9e3d573d316fcb35d1be47ec9e468c6bd8a + version: 2.1.0 + resolution: "@types/ms@npm:2.1.0" + checksum: 532d2ebb91937ccc4a89389715e5b47d4c66e708d15942fe6cc25add6dc37b2be058230a327dd50f43f89b8b6d5d52b74685a9e8f70516edfc9bdd6be910eff4 languageName: node linkType: hard @@ -20390,13 +21010,13 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.5.0, @types/node-fetch@npm:^2.5.12, @types/node-fetch@npm:^2.5.7": - version: 2.6.11 - resolution: "@types/node-fetch@npm:2.6.11" +"@types/node-fetch@npm:^2.5.7, @types/node-fetch@npm:^2.6.9": + version: 2.6.12 + resolution: "@types/node-fetch@npm:2.6.12" dependencies: "@types/node": "*" form-data: ^4.0.0 - checksum: 180e4d44c432839bdf8a25251ef8c47d51e37355ddd78c64695225de8bc5dc2b50b7bb855956d471c026bb84bd7295688a0960085e7158cbbba803053492568b + checksum: 9647e68f9a125a090220c38d77b3c8e669c488658ae7506f1b4f9568214beba087624b1705bba1dc76649a65281ce3fd5b400e15266cbef8088027fb88777557 languageName: node linkType: hard @@ -20410,15 +21030,15 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:>=13.7.0, @types/node@npm:^22.0.0": - version: 22.7.9 - resolution: "@types/node@npm:22.7.9" + version: 22.10.7 + resolution: "@types/node@npm:22.10.7" dependencies: - undici-types: ~6.19.2 - checksum: 02671449e61f3f7c9898da44e18af272056fee0afbbc98b11dcff7cd7c4ed6c8a45353cfdde413208d9f597e247ee68d908c83a72cae4cbdd763b0e3a45ac0cd + undici-types: ~6.20.0 + checksum: 2dce6c75c607c6269744f1ea2b5296e8685cd71d0dd5c599c3029626f9d2dc8b037912495cf68b30d6f39f44d3fa8b025e179662ef16dc363e0658425bedfde8 languageName: node linkType: hard -"@types/node@npm:20.17.14": +"@types/node@npm:20.17.14, @types/node@npm:^20.1.1": version: 20.17.14 resolution: "@types/node@npm:20.17.14" dependencies: @@ -20435,36 +21055,27 @@ __metadata: linkType: hard "@types/node@npm:^16.9.2": - version: 16.18.83 - resolution: "@types/node@npm:16.18.83" - checksum: 1874fc702ee1bfdd07f9b1d448283cac5aa6ff620fdd5b578145594f5bc841aabc75eb50fb1490f82accbd570718831814ec5249447881fed5c6da3c5439d864 + version: 16.18.124 + resolution: "@types/node@npm:16.18.124" + checksum: 7ef4838a6c3b7217406b85716bc1e27a6d3dfe2bbbbcc2d5317a0e55e04a7e1853deb19d32ecf642b7973000f3190f0b5e83d00fb44b87105ce4cd342a91cf62 languageName: node linkType: hard "@types/node@npm:^18.11.18, @types/node@npm:^18.11.9": - version: 18.19.59 - resolution: "@types/node@npm:18.19.59" + version: 18.19.71 + resolution: "@types/node@npm:18.19.71" dependencies: undici-types: ~5.26.4 - checksum: 8e45a05aa91437d3d11a346775ac16589353070c504f91a62cd91945a384231ccbbe92009a8e1ae653f954f9de5bf8ff106cc8e26721ecab98914dc019217aef - languageName: node - linkType: hard - -"@types/node@npm:^20.1.1": - version: 20.17.9 - resolution: "@types/node@npm:20.17.9" - dependencies: - undici-types: ~6.19.2 - checksum: 2fc67ba937d2c4e7a52f0ccf71b8b4c616dcfa1ad6cd5a726582fd3cbf4f409c2eb44595592580f782c2ade05f8130df072dd04ac064fe150cfcd7849e643500 + checksum: 4539d57234550df9b919ab9592ce9231e86c60d7703b4a56f12dd7dfcf28dfe44ab5cb7a6c3900a93a3850de126ae25758a94dd27eaaccc4e8acf7158cfa3a59 languageName: node linkType: hard "@types/oauth@npm:*": - version: 0.9.4 - resolution: "@types/oauth@npm:0.9.4" + version: 0.9.6 + resolution: "@types/oauth@npm:0.9.6" dependencies: "@types/node": "*" - checksum: eb82393214ddc4e5bff2177cecb80237a7e2562ee94872234dcf822118a6b8bff11efa37e26f98a836b675bc211689272cdecb7d9221a9990dbc5a4b363fc033 + checksum: a35f3ce103a60b7f24d1233411f8b5e2db4c55476527c04da532989870ffd3af81247b3187741a87c2ee8da6dd2bea3438190bf3611be30d4557e323529abe63 languageName: node linkType: hard @@ -20476,13 +21087,13 @@ __metadata: linkType: hard "@types/passport-oauth2@npm:^1.4.11": - version: 1.4.15 - resolution: "@types/passport-oauth2@npm:1.4.15" + version: 1.4.17 + resolution: "@types/passport-oauth2@npm:1.4.17" dependencies: "@types/express": "*" "@types/oauth": "*" "@types/passport": "*" - checksum: 352c4e2d09a86f8fc0dcf2c917c221f302a35a14e7467e2fa3a1653c0a9a1f842c910a4e52f799856536522e6359c20d1afc319579d9edf4b2ac7ea11b183b52 + checksum: 4c5d2d6f717bb0b3d049669e47ca27cb166cbbef2073dccd302b10e62936c9e392074acabe6cb593f7eeb37a6a3cf81b9d3a4f35a46018a6645ac37d0f1706cb languageName: node linkType: hard @@ -20497,11 +21108,11 @@ __metadata: linkType: hard "@types/passport@npm:*, @types/passport@npm:^1.0.16, @types/passport@npm:^1.0.3": - version: 1.0.16 - resolution: "@types/passport@npm:1.0.16" + version: 1.0.17 + resolution: "@types/passport@npm:1.0.17" dependencies: "@types/express": "*" - checksum: e4a02fa338536eb82694ea548689a7214b1ca98df6a896080daa2b6a8859db02a1e6244eeefaf6f3cc9c268239bb4a7912049a9ed86192144a65c10e55219f80 + checksum: b131d5963576e759f972f038bb7461dcaaa1dc484a488eb093eac6a9f8d4f51c9b7adcd432ae84e3ecb68839dfba16f6d569f36664330b6af59d36ff3c4c64e2 languageName: node linkType: hard @@ -20536,14 +21147,14 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.0.0, @types/prop-types@npm:^15.7.12, @types/prop-types@npm:^15.7.13, @types/prop-types@npm:^15.7.3": - version: 15.7.13 - resolution: "@types/prop-types@npm:15.7.13" - checksum: 8935cad87c683c665d09a055919d617fe951cb3b2d5c00544e3a913f861a2bd8d2145b51c9aa6d2457d19f3107ab40784c40205e757232f6a80cc8b1c815513c +"@types/prop-types@npm:*, @types/prop-types@npm:^15.0.0, @types/prop-types@npm:^15.7.12, @types/prop-types@npm:^15.7.14, @types/prop-types@npm:^15.7.3": + version: 15.7.14 + resolution: "@types/prop-types@npm:15.7.14" + checksum: d0c5407b9ccc3dd5fae0ccf9b1007e7622ba5e6f1c18399b4f24dff33619d469da4b9fa918a374f19dc0d9fe6a013362aab0b844b606cfc10676efba3f5f736d languageName: node linkType: hard -"@types/protocol-buffers-schema@npm:^3.4.1": +"@types/protocol-buffers-schema@npm:^3.4.3": version: 3.4.3 resolution: "@types/protocol-buffers-schema@npm:3.4.3" dependencies: @@ -20553,9 +21164,9 @@ __metadata: linkType: hard "@types/qs@npm:*, @types/qs@npm:^6.9.11, @types/qs@npm:^6.9.6": - version: 6.9.16 - resolution: "@types/qs@npm:6.9.16" - checksum: 2e8918150c12735630f7ee16b770c72949274938c30306025f68aaf977227f41fe0c698ed93db1099e04916d582ac5a1faf7e3c7061c8d885d9169f59a184b6c + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 152fab96efd819cc82ae67c39f089df415da6deddb48f1680edaaaa4e86a2a597de7b2ff0ad391df66d11a07006a08d52c9405e86b8cb8f3d5ba15881fe56cc7 languageName: node linkType: hard @@ -20594,14 +21205,14 @@ __metadata: linkType: hard "@types/react-redux@npm:^7.1.20": - version: 7.1.33 - resolution: "@types/react-redux@npm:7.1.33" + version: 7.1.34 + resolution: "@types/react-redux@npm:7.1.34" dependencies: "@types/hoist-non-react-statics": ^3.3.0 "@types/react": "*" hoist-non-react-statics: ^3.3.0 redux: ^4.0.0 - checksum: 063e98c0d8cdc7cc2da1663716260ffb8d504b2f8be2d92cabb630cae31eb05aa0e389175265caa9a160bb7c4b66646d4a4171d4aa2dc292722088dcf593cdc3 + checksum: ba0cc5f54b91bff162cc97cf5d82d0077944e2d744c276c3c8eb896a293aba00923b513f5cd6ad717a46bf0c128a099ad697c98672202acb25143602042c8e6c languageName: node linkType: hard @@ -20614,12 +21225,12 @@ __metadata: languageName: node linkType: hard -"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.10": - version: 4.4.10 - resolution: "@types/react-transition-group@npm:4.4.10" - dependencies: +"@types/react-transition-group@npm:^4.2.0, @types/react-transition-group@npm:^4.4.10, @types/react-transition-group@npm:^4.4.11": + version: 4.4.12 + resolution: "@types/react-transition-group@npm:4.4.12" + peerDependencies: "@types/react": "*" - checksum: fe2ea11f70251e9f79f368e198c18fd469b1d4f1e1d44e4365845b44e15974b0ec925100036f449b023b0ca3480a82725c5f0a73040e282ad32ec7b0def9b57c + checksum: 13d36396cae4d3c316b03d4a0ba299f0d039c59368ba65e04b0c3dc06fd0a16f59d2c669c3e32d6d525a95423f156b84e550d26bff0bdd8df285f305f8f3a0ed languageName: node linkType: hard @@ -20652,15 +21263,6 @@ __metadata: languageName: node linkType: hard -"@types/responselike@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/responselike@npm:1.0.3" - dependencies: - "@types/node": "*" - checksum: 6ac4b35723429b11b117e813c7acc42c3af8b5554caaf1fc750404c1ae59f9b7376bc69b9e9e194a5a97357a597c2228b7173d317320f0360d617b6425212f58 - languageName: node - linkType: hard - "@types/retry@npm:0.12.0": version: 0.12.0 resolution: "@types/retry@npm:0.12.0" @@ -20713,11 +21315,11 @@ __metadata: linkType: hard "@types/set-cookie-parser@npm:^2.4.0": - version: 2.4.7 - resolution: "@types/set-cookie-parser@npm:2.4.7" + version: 2.4.10 + resolution: "@types/set-cookie-parser@npm:2.4.10" dependencies: "@types/node": "*" - checksum: 01ef803e24b8cd33e49fe7463f32a562da45ce3f960381b90cccf67ea71b1830d2273df044255b040069c0a92ea25b4bf21c39ac2f85b50c01818ded5e918554 + checksum: 105cc90c7d7deeb344858f720b58bd137356586545ac00d1a448e050bfcc0f385553ff26bc9c674bd8c2e953a458149eadb1945ee3d1eee81e6c0656236ebc0a languageName: node linkType: hard @@ -20747,11 +21349,11 @@ __metadata: linkType: hard "@types/ssh2@npm:*": - version: 1.11.19 - resolution: "@types/ssh2@npm:1.11.19" + version: 1.15.4 + resolution: "@types/ssh2@npm:1.15.4" dependencies: "@types/node": ^18.11.18 - checksum: ee9348aaf43e905b3ffdceb1106d24880934b360f9786e6d6753f1dce702377ca7d3e5933e48ddb287725130dbdf7826bf59760e5a89da5a1145f6042bab8048 + checksum: 1b748e1a5fdaf06557d183b8d19df4449b5b25cc18930aff426402e82be816717a099f7a43e104b177144b20c2e22da2bba3ba716d64c53cd54be33187cf85a1 languageName: node linkType: hard @@ -20772,6 +21374,15 @@ __metadata: languageName: node linkType: hard +"@types/stream-buffers@npm:^3.0.3": + version: 3.0.7 + resolution: "@types/stream-buffers@npm:3.0.7" + dependencies: + "@types/node": "*" + checksum: b5cf12f69ba866035207e2313bd795166c30ca18329b8c07a96ec5e30d702a0c23b12fa789c7ebc3a08091ea01eca8db84203c93b6823e7477df016a49540f84 + languageName: node + linkType: hard + "@types/styled-jsx@npm:^2.2.8": version: 2.2.9 resolution: "@types/styled-jsx@npm:2.2.9" @@ -20782,14 +21393,14 @@ __metadata: linkType: hard "@types/superagent@npm:^8.1.0": - version: 8.1.8 - resolution: "@types/superagent@npm:8.1.8" + version: 8.1.9 + resolution: "@types/superagent@npm:8.1.9" dependencies: "@types/cookiejar": ^2.1.5 "@types/methods": ^1.1.4 "@types/node": "*" form-data: ^4.0.0 - checksum: 19e9573a66c0aebeafae8243dc8fb613f1ba3376d448faa648c097b889ca51e52c470e64d850dcc1d4d30c13cfa5721b564e062a6b67ccc4892330c9ec7aaa14 + checksum: 530d8c2e87706315c82c8c9696500c40621de3353bc54ea9b104947f3530243abf54d0a49a6ae219d4947606a102ceb94bedfc43b9cc49f74069a18cbb3be8e2 languageName: node linkType: hard @@ -20803,10 +21414,13 @@ __metadata: languageName: node linkType: hard -"@types/svg-path-parser@npm:^1.1.3": - version: 1.1.6 - resolution: "@types/svg-path-parser@npm:1.1.6" - checksum: a1f8f12122d17979b888e37fa0bf2f8ddf04713828e59a2ced0f7fcb14fe888e3b1f314b92a62a36b76ba80b4e5a21b94f50579febe33d3d87c29e794f02d84f +"@types/tar@npm:^6.1.1": + version: 6.1.13 + resolution: "@types/tar@npm:6.1.13" + dependencies: + "@types/node": "*" + minipass: ^4.0.0 + checksum: bb3910936a6b37f093e38b73a52b0544fd73079685f5ea72e5c049fddc3770e58d80cf6d714425853f0746290221852c1a7ca89ffdb9614f3b2a858a3bf5436a languageName: node linkType: hard @@ -20842,22 +21456,13 @@ __metadata: languageName: node linkType: hard -"@types/trusted-types@npm:*": +"@types/trusted-types@npm:^2.0.7": version: 2.0.7 resolution: "@types/trusted-types@npm:2.0.7" checksum: 8e4202766a65877efcf5d5a41b7dd458480b36195e580a3b1085ad21e948bc417d55d6f8af1fd2a7ad008015d4117d5fdfe432731157da3c68678487174e4ba3 languageName: node linkType: hard -"@types/tunnel@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/tunnel@npm:0.0.3" - dependencies: - "@types/node": "*" - checksum: 53e23a1f9fb14a491c00425b2a4fc443817564d77be5e1b95fcbeb6d009551b62ea82ffc3e5ca0c6b9f6b186824ca6ec46e7450c1bcd6674a46d1325f0116e24 - languageName: node - linkType: hard - "@types/ungap__structured-clone@npm:^1.0.0": version: 1.2.0 resolution: "@types/ungap__structured-clone@npm:1.2.0" @@ -20866,16 +21471,16 @@ __metadata: linkType: hard "@types/unist@npm:*, @types/unist@npm:^3.0.0": - version: 3.0.2 - resolution: "@types/unist@npm:3.0.2" - checksum: 3d04d0be69316e5f14599a0d993a208606c12818cf631fd399243d1dc7a9bd8a3917d6066baa6abc290814afbd744621484756803c80cba892c39cd4b4a85616 + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 96e6453da9e075aaef1dc22482463898198acdc1eeb99b465e65e34303e2ec1e3b1ed4469a9118275ec284dc98019f63c3f5d49422f0e4ac707e5ab90fb3b71a languageName: node linkType: hard "@types/unist@npm:^2, @types/unist@npm:^2.0.0": - version: 2.0.10 - resolution: "@types/unist@npm:2.0.10" - checksum: e2924e18dedf45f68a5c6ccd6015cd62f1643b1b43baac1854efa21ae9e70505db94290434a23da1137d9e31eb58e54ca175982005698ac37300a1c889f6c4aa + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 6d436e832bc35c6dde9f056ac515ebf2b3384a1d7f63679d12358766f9b313368077402e9c1126a14d827f10370a5485e628bf61aa91117cf4fc882423191a4e languageName: node linkType: hard @@ -20886,26 +21491,33 @@ __metadata: languageName: node linkType: hard -"@types/use-sync-external-store@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/use-sync-external-store@npm:0.0.3" - checksum: 161ddb8eec5dbe7279ac971531217e9af6b99f7783213566d2b502e2e2378ea19cf5e5ea4595039d730aa79d3d35c6567d48599f69773a02ffcff1776ec2a44e +"@types/use-sync-external-store@npm:^0.0.6": + version: 0.0.6 + resolution: "@types/use-sync-external-store@npm:0.0.6" + checksum: a95ce330668501ad9b1c5b7f2b14872ad201e552a0e567787b8f1588b22c7040c7c3d80f142cbb9f92d13c4ea41c46af57a20f2af4edf27f224d352abcfe4049 + languageName: node + linkType: hard + +"@types/uuid@npm:^9.0.1": + version: 9.0.8 + resolution: "@types/uuid@npm:9.0.8" + checksum: b8c60b7ba8250356b5088302583d1704a4e1a13558d143c549c408bf8920535602ffc12394ede77f8a8083511b023704bc66d1345792714002bfa261b17c5275 languageName: node linkType: hard "@types/webpack-env@npm:^1.15.2": - version: 1.18.4 - resolution: "@types/webpack-env@npm:1.18.4" - checksum: f195b3ae974ac3b631477b57737dad7b6c44ecca86770cf3c29f284e02961c9f2dfc619e3e253d8c23966864cb052b1e8437e9834ede32ac97972e6e2235bb51 + version: 1.18.5 + resolution: "@types/webpack-env@npm:1.18.5" + checksum: 4ca8eb4c44e1e1807c3e245442fce7aaf2816a163056de9436bbac44cc47c8bc5b1c9a330dc05748d6616431b1fb5bd5379733fb1da0b78d03c59f4ec824c184 languageName: node linkType: hard -"@types/ws@npm:*, @types/ws@npm:^8.0.0, @types/ws@npm:^8.5.10, @types/ws@npm:^8.5.3, @types/ws@npm:^8.5.5": - version: 8.5.12 - resolution: "@types/ws@npm:8.5.12" +"@types/ws@npm:*, @types/ws@npm:^8.0.0, @types/ws@npm:^8.5.10, @types/ws@npm:^8.5.3, @types/ws@npm:^8.5.4, @types/ws@npm:^8.5.5": + version: 8.5.13 + resolution: "@types/ws@npm:8.5.13" dependencies: "@types/node": "*" - checksum: ddefb6ad1671f70ce73b38a5f47f471d4d493864fca7c51f002a86e5993d031294201c5dced6d5018fb8905ad46888d65c7f20dd54fc165910b69f42fba9a6d0 + checksum: f17023ce7b89c6124249c90211803a4aaa02886e12bc2d0d2cd47fa665eeb058db4d871ce4397d8e423f6beea97dd56835dd3fdbb921030fe4d887601e37d609 languageName: node linkType: hard @@ -20935,11 +21547,11 @@ __metadata: linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" + version: 17.0.33 + resolution: "@types/yargs@npm:17.0.33" dependencies: "@types/yargs-parser": "*" - checksum: 4505bdebe8716ff383640c6e928f855b5d337cb3c68c81f7249fc6b983d0aa48de3eee26062b84f37e0d75a5797bc745e0c6e76f42f81771252a758c638f36ba + checksum: ee013f257472ab643cb0584cf3e1ff9b0c44bca1c9ba662395300a7f1a6c55fa9d41bd40ddff42d99f5d95febb3907c9ff600fbcb92dadbec22c6a76de7e1236 languageName: node linkType: hard @@ -21006,13 +21618,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.11.0": - version: 8.11.0 - resolution: "@typescript-eslint/scope-manager@npm:8.11.0" +"@typescript-eslint/scope-manager@npm:8.20.0": + version: 8.20.0 + resolution: "@typescript-eslint/scope-manager@npm:8.20.0" dependencies: - "@typescript-eslint/types": 8.11.0 - "@typescript-eslint/visitor-keys": 8.11.0 - checksum: f36212ac1df6a2ed0953beda6bf66e57fd56fcc1c4b4d21149f3451ae621f63aa7ccb92aa1281615250264fdd22e56a163a5d11c5c772c857741ac0e25533325 + "@typescript-eslint/types": 8.20.0 + "@typescript-eslint/visitor-keys": 8.20.0 + checksum: d90d89f3dc8394e44652526b88c81a977b251702a9dc5be89ac0bf7412d79d18879e03c2d6018980a09bc7c50d28dbf91ba06e056e081e6000783d69bd280761 languageName: node linkType: hard @@ -21047,10 +21659,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.11.0": - version: 8.11.0 - resolution: "@typescript-eslint/types@npm:8.11.0" - checksum: 2958f3b5b30d3a876aad79df15662e6c23fe3d0c7750c473f27adc725b2a20f303e914db785c64200bc4092c3489648407792e2bd89eccf3f7aaa4495be81681 +"@typescript-eslint/types@npm:8.20.0": + version: 8.20.0 + resolution: "@typescript-eslint/types@npm:8.20.0" + checksum: 4cb0af48411f282db33e7110e2f97de874c637e7b90ded91b77304e96f49663ca4b7308afc569bdd93766fe5f2c194686e32078d5513b5ba4e7d56191998190c languageName: node linkType: hard @@ -21091,22 +21703,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.11.0": - version: 8.11.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.11.0" +"@typescript-eslint/typescript-estree@npm:8.20.0": + version: 8.20.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.20.0" dependencies: - "@typescript-eslint/types": 8.11.0 - "@typescript-eslint/visitor-keys": 8.11.0 + "@typescript-eslint/types": 8.20.0 + "@typescript-eslint/visitor-keys": 8.20.0 debug: ^4.3.4 fast-glob: ^3.3.2 is-glob: ^4.0.3 minimatch: ^9.0.4 semver: ^7.6.0 - ts-api-utils: ^1.3.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 03ae4740d4ff19ebc3ea68ac3be1a0265b4abe6348fdc48123e20d6f9206baaa70209e65c9fa4a91930da7d3952c55099a307014284c9b596b12f72bce741817 + ts-api-utils: ^2.0.0 + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: 9690df2d4ec90966b8d5752ad0f1658a951fe76ea3cae8e6935e698715a25c1eb0b118fa8e044065f04ea9f6bef41d991de5298590ef2a4aa98d435bf1df6e15 languageName: node linkType: hard @@ -21146,16 +21757,17 @@ __metadata: linkType: hard "@typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.11.0 - resolution: "@typescript-eslint/utils@npm:8.11.0" + version: 8.20.0 + resolution: "@typescript-eslint/utils@npm:8.20.0" dependencies: "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 8.11.0 - "@typescript-eslint/types": 8.11.0 - "@typescript-eslint/typescript-estree": 8.11.0 + "@typescript-eslint/scope-manager": 8.20.0 + "@typescript-eslint/types": 8.20.0 + "@typescript-eslint/typescript-estree": 8.20.0 peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 0a6286fb6c6aaf497bcd5657e4f8167f29c32bb913e4feab3822c504f537ac30975d626dff442cc691e040384ad197313b5685d79296fc8a42ed6c827dcb52fc + typescript: ">=4.8.4 <5.8.0" + checksum: 5c9d72eb0d4014e41de1faa4597371f19362ce47a491359be408bfba899277f8d5660f014651f7bd41435158ae4655ade205e92f175e2355ca51a07af35a53ed languageName: node linkType: hard @@ -21179,19 +21791,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.11.0": - version: 8.11.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.11.0" +"@typescript-eslint/visitor-keys@npm:8.20.0": + version: 8.20.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.20.0" dependencies: - "@typescript-eslint/types": 8.11.0 - eslint-visitor-keys: ^3.4.3 - checksum: 29057642bf63994646bd8c5b4baa704ae8b1ff094daa6254a6a92e9fbd252086e219b2b7e8050a131da58cd16cc4dee20bb9fc142bc0d3f22f92af2b59b5444e + "@typescript-eslint/types": 8.20.0 + eslint-visitor-keys: ^4.2.0 + checksum: d0bf89e431a686197c517fbb7d63ce4c8ef31e6629a545fd08198c67810ddd68c047c01fcfed8ffc3fe438654a2647b3dedf28f04beac23a65614b2e788d929a languageName: node linkType: hard -"@uiw/codemirror-extensions-basic-setup@npm:4.21.24": - version: 4.21.24 - resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.21.24" +"@uiw/codemirror-extensions-basic-setup@npm:4.23.7": + version: 4.23.7 + resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.23.7" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/commands": ^6.0.0 @@ -21208,19 +21820,19 @@ __metadata: "@codemirror/search": ">=6.0.0" "@codemirror/state": ">=6.0.0" "@codemirror/view": ">=6.0.0" - checksum: db42a1651d7d482e1811cd629a3a8a53c3ac09bfabf376dd35c0cbbaf5780f80c873d6da55294245850f7d8e13da92ec5885eea4938c85c957c38c23394e11f9 + checksum: 656c5f78db4c6216a9a7eeb65455f52b002b7a5426bb1b05f11b896d5dba9887c7b9ee5aee9fe369d6c7b3c69128ee842cb5c8fe029cd07c2e48ec9358039a30 languageName: node linkType: hard "@uiw/react-codemirror@npm:^4.9.3": - version: 4.21.24 - resolution: "@uiw/react-codemirror@npm:4.21.24" + version: 4.23.7 + resolution: "@uiw/react-codemirror@npm:4.23.7" dependencies: "@babel/runtime": ^7.18.6 "@codemirror/commands": ^6.1.0 "@codemirror/state": ^6.1.1 "@codemirror/theme-one-dark": ^6.0.0 - "@uiw/codemirror-extensions-basic-setup": 4.21.24 + "@uiw/codemirror-extensions-basic-setup": 4.23.7 codemirror: ^6.0.0 peerDependencies: "@babel/runtime": ">=7.11.0" @@ -21230,195 +21842,195 @@ __metadata: codemirror: ">=6.0.0" react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 6adbee6608f3ec0806ff4b2d2e759fd314d3727c805cf58a6b1d524fe4e12b261b38d31374307eeb51aa34f68e113b298efdc13de807e93ca50a357e5b0f3eff + checksum: 5f6318b290f479c4718129578bdccbbdf64e3b588fdd79e3d80224779219eae7e249d40e4f88c864ed6ae40ea93036042313e983a022349563698593a2bf2e6c languageName: node linkType: hard "@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 + version: 1.2.1 + resolution: "@ungap/structured-clone@npm:1.2.1" + checksum: 1e3b9fef293118861f0b2159b3695fc7f3793c0707095888ebb3ac7183f78c390e68f04cd4b4cf9ac979ae0da454505e08b3aae887cdd639609a3fe529e19e59 languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/ast@npm:1.12.1" +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: - "@webassemblyjs/helper-numbers": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - checksum: 31bcc64147236bd7b1b6d29d1f419c1f5845c785e1e42dc9e3f8ca2e05a029e9393a271b84f3a5bff2a32d35f51ff59e2181a6e5f953fe88576acd6750506202 + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + checksum: f9154ad9ea14f6f2374ebe918c221fd69a4d4514126a1acc6fa4966e8d27ab28cb550a5e6880032cf620e19640578658a7e5a55bd2aad1e3db4e9d598b8f2099 languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: e866ec8433f4a70baa511df5e8f2ebcd6c24f4e2cc6274c7c5aabe2bcce3459ea4680e0f35d450e1f3602acf3913b6b8e4f15069c8cfd34ae8609fb9a7d01795 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 48b5df7fd3095bb252f59a139fe2cbd999a62ac9b488123e9a0da3906ad8a2f2da7b2eb21d328c01a90da987380928706395c2897d1f3ed9e2125b6d75a920d0 languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" - checksum: c3ffb723024130308db608e86e2bdccd4868bbb62dffb0a9a1530606496f79c87f8565bd8e02805ce64912b71f1a70ee5fb00307258b0c082c3abf961d097eca +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: b611e981dfd6a797c3d8fc3a772de29a6e55033737c2c09c31bb66c613bdbb2d25f915df1dee62a602c6acc057ca71128432fa8c3e22a893e1219dc454f14ede languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.11.6 - "@webassemblyjs/helper-api-error": 1.11.6 + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 "@xtuc/long": 4.2.2 - checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424 + checksum: 49e2c9bf9b66997e480f6b44d80f895b3cde4de52ac135921d28e144565edca6903a519f627f4089b5509de1d7f9e5023f0e1a94ff78a36c9e2eb30e7c18ffd2 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 8e059e1c1f0294f4fc3df8e4eaff3c5ef6e2e1358f34ebc118eaf5070ed59e56ed7fc92b28be734ebde17c8d662d5d27e06ade686c282445135da083ae11c128 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-buffer": 1.12.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/wasm-gen": 1.12.1 - checksum: c19810cdd2c90ff574139b6d8c0dda254d42d168a9e5b3d353d1bc085f1d7164ccd1b3c05592a45a939c47f7e403dc8d03572bb686642f06a3d02932f6f0bc8f + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 + checksum: 0a08d454a63192cd66abf91b6f060ac4b466cef341262246e9dcc828dd4c8536195dea9b46a1244b1eac65b59b8b502164a771a190052a92ff0a0a2ded0f8f53 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" dependencies: "@xtuc/ieee754": ^1.2.0 - checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de + checksum: d7e3520baa37a7309fa7db4d73d69fb869878853b1ebd4b168821bd03fcc4c0e1669c06231315b0039035d9a7a462e53de3ad982da4a426a4b0743b5888e8673 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" dependencies: "@xtuc/long": 4.2.2 - checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0 + checksum: 64083507f7cff477a6d71a9e325d95665cea78ec8df99ca7c050e1cfbe300fbcf0842ca3dcf3b4fa55028350135588a4f879398d3dd2b6a8de9913ce7faf5333 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713 +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 95ec6052f30eefa8d50c9b2a3394d08b17d53a4aa52821451d41d774c126fa8f39b988fbf5bff56da86852a87c16d676e576775a4071e5e5ccf020cc85a4b281 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" +"@webassemblyjs/wasm-edit@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-buffer": 1.12.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/helper-wasm-section": 1.12.1 - "@webassemblyjs/wasm-gen": 1.12.1 - "@webassemblyjs/wasm-opt": 1.12.1 - "@webassemblyjs/wasm-parser": 1.12.1 - "@webassemblyjs/wast-printer": 1.12.1 - checksum: ae23642303f030af888d30c4ef37b08dfec7eab6851a9575a616e65d1219f880d9223913a39056dd654e49049d76e97555b285d1f7e56935047abf578cce0692 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 + checksum: 9341c3146bb1b7863f03d6050c2a66990f20384ca137388047bbe1feffacb599e94fca7b7c18287d17e2449ffb4005fdc7f41f674a6975af9ad8522756f8ffff languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: 5787626bb7f0b033044471ddd00ce0c9fe1ee4584e8b73e232051e3a4c99ba1a102700d75337151c8b6055bae77eefa4548960c610a5e4a504e356bd872138ff + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 401b12bec7431c4fc29d9414bbe40d3c6dc5be04d25a116657c42329f5481f0129f3b5834c293f26f0e42681ceac9157bf078ce9bdb6a7f78037c650373f98b2 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-buffer": 1.12.1 - "@webassemblyjs/wasm-gen": 1.12.1 - "@webassemblyjs/wasm-parser": 1.12.1 - checksum: 0e8fa8a0645304a1e18ff40d3db5a2e9233ebaa169b19fcc651d6fc9fe2cac0ce092ddee927318015ae735d9cd9c5d97c0cafb6a51dcd2932ac73587b62df991 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + checksum: 60c697a9e9129d8d23573856df0791ba33cea4a3bc2339044cae73128c0983802e5e50a42157b990eeafe1237eb8e7653db6de5f02b54a0ae7b81b02dcdf2ae9 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-api-error": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: 176015de3551ac068cd4505d837414f258d9ade7442bd71efb1232fa26c9f6d7d4e11a5c816caeed389943f409af7ebff6899289a992d7a70343cb47009d21a8 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 93f1fe2676da465b4e824419d9812a3d7218de4c3addd4e916c04bc86055fa134416c1b67e4b7cbde8d728c0dce2721d06cc0bfe7a7db7c093a0898009937405 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wast-printer@npm:1.12.1" +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/ast": 1.14.1 "@xtuc/long": 4.2.2 - checksum: 2974b5dda8d769145ba0efd886ea94a601e61fb37114c14f9a9a7606afc23456799af652ac3052f284909bd42edc3665a76bc9b50f95f0794c053a8a1757b713 + checksum: 517881a0554debe6945de719d100b2d8883a2d24ddf47552cdeda866341e2bb153cd824a864bc7e2a61190a4b66b18f9899907e0074e9e820d2912ac0789ea60 languageName: node linkType: hard -"@whatwg-node/events@npm:^0.1.0": - version: 0.1.1 - resolution: "@whatwg-node/events@npm:0.1.1" - checksum: 3a356ca23522190201e27446cfd7ebf1cf96815ddb9d1ba5da0a00bbe6c1d28b4094862104411101fbedd47c758b25fe3683033f6a3e80933029efd664c33567 +"@whatwg-node/disposablestack@npm:^0.0.5": + version: 0.0.5 + resolution: "@whatwg-node/disposablestack@npm:0.0.5" + dependencies: + tslib: ^2.6.3 + checksum: d2df8ba46c567c3cc07767821fcedc8f4c9247f1f5488c7dadc42f86ca6429bace4451e48506ac2de15afe8e5baa1cd0951a7aa6419f091d48c671844e399931 languageName: node linkType: hard -"@whatwg-node/fetch@npm:^0.9.0": - version: 0.9.16 - resolution: "@whatwg-node/fetch@npm:0.9.16" +"@whatwg-node/fetch@npm:^0.10.0, @whatwg-node/fetch@npm:^0.10.1": + version: 0.10.3 + resolution: "@whatwg-node/fetch@npm:0.10.3" dependencies: - "@whatwg-node/node-fetch": ^0.5.5 + "@whatwg-node/node-fetch": ^0.7.7 urlpattern-polyfill: ^10.0.0 - checksum: 0ebd2c3c0cf599f0b9f0072ef77c4897f0dfdc87fff86bbf59b0b65304087650735c774d0d64ace8b7e8720ad8fbe7e4815c574597faa81a64872d8bf1729e45 + checksum: 9fb7072cb048d1b747dfb6cf9b9a4e5240071bd290095b0b5552644b68626fa7116c76817462c74461dc0e0c57eb6bd2ba73e2dafa5f1d8d178e0366bea75bbb languageName: node linkType: hard -"@whatwg-node/node-fetch@npm:^0.5.5": - version: 0.5.6 - resolution: "@whatwg-node/node-fetch@npm:0.5.6" +"@whatwg-node/node-fetch@npm:^0.7.7": + version: 0.7.7 + resolution: "@whatwg-node/node-fetch@npm:0.7.7" dependencies: - "@kamilkisiela/fast-url-parser": ^1.1.4 - "@whatwg-node/events": ^0.1.0 + "@whatwg-node/disposablestack": ^0.0.5 busboy: ^1.6.0 - fast-querystring: ^1.1.1 - tslib: ^2.3.1 - checksum: 7814b4221b6644d1ab318a8630f3e8a622b62868ff6f6b8a17e16e7ab8b6fcda629551b486fe7e788383b6a7095b00938d865ee14d72c8af25ffd13ed312c8b7 + tslib: ^2.6.3 + checksum: 6481e30af24437f6bb196200408fc63670b77ac85b3f551fa0ac7485649724fcef1282ceb1ccd923100e06048356ec64d9941a0223ba78f93ff911199d45a754 languageName: node linkType: hard @@ -21488,7 +22100,7 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3, abab@npm:^2.0.5, abab@npm:^2.0.6": +"abab@npm:^2.0.6": version: 2.0.6 resolution: "abab@npm:2.0.6" checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e @@ -21518,7 +22130,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.5, accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": +"accepts@npm:^1.3.5, accepts@npm:~1.3.4, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -21528,16 +22140,6 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 - languageName: node - linkType: hard - "acorn-globals@npm:^7.0.0": version: 7.0.1 resolution: "acorn-globals@npm:7.0.1" @@ -21566,35 +22168,21 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f - languageName: node - linkType: hard - "acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": - version: 8.3.2 - resolution: "acorn-walk@npm:8.3.2" - checksum: 3626b9d26a37b1b427796feaa5261faf712307a8920392c8dce9a5739fb31077667f4ad2ec71c7ac6aaf9f61f04a9d3d67ff56f459587206fc04aa31c27ef392 - languageName: node - linkType: hard - -"acorn@npm:^7.1.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: ^8.11.0 + checksum: 4ff03f42323e7cf90f1683e08606b0f460e1e6ac263d2730e3df91c7665b6f64e696db6ea27ee4bed18c2599569be61f28a8399fa170c611161a348c402ca19c languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" +"acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 76d8e7d559512566b43ab4aadc374f11f563f0a9e21626dd59cb2888444e9445923ae9f3699972767f18af61df89cd89f5eaaf772d1327b055b45cb829b4a88c + checksum: 8755074ba55fff94e84e81c72f1013c2d9c78e973c31231c8ae505a5f966859baf654bddd75046bffd73ce816b149298977fff5077a3033dedba0ae2aad152d4 languageName: node linkType: hard @@ -21606,9 +22194,9 @@ __metadata: linkType: hard "adm-zip@npm:^0.5.10, adm-zip@npm:^0.5.9": - version: 0.5.15 - resolution: "adm-zip@npm:0.5.15" - checksum: 23fc108ba0ead637cf8f89431bd152017d3d2eccbbac5e77bcfa3d0209029a53921d9735c5110c06b51cf223184f4cf2fdade975f20266a64183e94717a535f4 + version: 0.5.16 + resolution: "adm-zip@npm:0.5.16" + checksum: 1f4104f3462b99e1b34d78ccfbdcf47e533a9cc7f894cedec6cd67b06cc6ad0b3a45241d66df5471050c7abbdd67e5707e3959fc76d75176ed6101a5b2a580d5 languageName: node linkType: hard @@ -21621,21 +22209,19 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: ^4.3.4 - checksum: 51c158769c5c051482f9ca2e6e1ec085ac72b5a418a9b31b4e82fe6c0a6699adb94c1c42d246699a587b3335215037091c79e0de512c516f73b6ea844202f037 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 87bb7ee54f5ecf0ccbfcba0b07473885c43ecd76cb29a8db17d6137a19d9f9cd443a2a7c5fd8a3f24d58ad8145f9eb49116344a66b107e1aeab82cf2383f4753 languageName: node linkType: hard "agentkeepalive@npm:^4.1.4": - version: 4.5.0 - resolution: "agentkeepalive@npm:4.5.0" + version: 4.6.0 + resolution: "agentkeepalive@npm:4.6.0" dependencies: humanize-ms: ^1.2.1 - checksum: 13278cd5b125e51eddd5079f04d6fe0914ac1b8b91c1f3db2c1822f99ac1a7457869068997784342fe455d59daaff22e14fb7b8c3da4e741896e7e31faf92481 + checksum: b3cdd10efca04876defda3c7671163523fcbce20e8ef7a8f9f30919a242e32b846791c0f1a8a0269718a585805a2cdcd031779ff7b9927a1a8dd8586f8c2e8c5 languageName: node linkType: hard @@ -21753,7 +22339,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.1.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.12.0, ajv@npm:^8.16.0, ajv@npm:^8.17.1, ajv@npm:^8.6.0, ajv@npm:^8.6.2, ajv@npm:^8.6.3, ajv@npm:^8.9.0": +"ajv@npm:^8.0.0, ajv@npm:^8.1.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.12.0, ajv@npm:^8.16.0, ajv@npm:^8.17.1, ajv@npm:^8.6.2, ajv@npm:^8.9.0": version: 8.17.1 resolution: "ajv@npm:8.17.1" dependencies: @@ -21799,6 +22385,15 @@ __metadata: languageName: node linkType: hard +"ansi-html@npm:^0.0.9": + version: 0.0.9 + resolution: "ansi-html@npm:0.0.9" + bin: + ansi-html: bin/ansi-html + checksum: a03754d6f66bae33938ed8bb3dd98174b7f4895ebe45226185036ed4a1388a7aaf2f2b9581608f0626432ba7add92cfc590aa6475a78bbb90d9d1e1d1af8cbe6 + languageName: node + linkType: hard + "ansi-regex@npm:^4.1.0": version: 4.1.1 resolution: "ansi-regex@npm:4.1.1" @@ -21814,9 +22409,9 @@ __metadata: linkType: hard "ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 495834a53b0856c02acd40446f7130cb0f8284f4a39afdab20d5dc42b2e198b1196119fe887beed8f9055c4ff2055e3b2f6d4641d0be018cdfb64fedf6fc1aac languageName: node linkType: hard @@ -21869,7 +22464,7 @@ __metadata: languageName: node linkType: hard -"apg-lite@npm:^1.0.3": +"apg-lite@npm:^1.0.3, apg-lite@npm:^1.0.4": version: 1.0.4 resolution: "apg-lite@npm:1.0.4" checksum: 30a27eecb71350a6dd47f8944520e56c08063115197e8de15699b792e32101b452ff339cf9d5469db7a992b0f2f8659c16f72f24ab7465683fb7e6cf0dc4afcd @@ -21887,33 +22482,33 @@ __metadata: version: 0.0.0-use.local resolution: "app@workspace:packages/app" dependencies: - "@backstage/app-defaults": 1.5.12 - "@backstage/catalog-model": 1.7.0 - "@backstage/cli": 0.28.2 - "@backstage/config": 1.2.0 - "@backstage/core-app-api": 1.15.1 - "@backstage/core-components": 0.15.1 - "@backstage/core-plugin-api": 1.10.0 - "@backstage/integration-react": 1.2.0 - "@backstage/plugin-api-docs": 0.11.11 - "@backstage/plugin-catalog": 1.24.0 - "@backstage/plugin-catalog-common": 1.1.0 - "@backstage/plugin-catalog-graph": 0.4.11 - "@backstage/plugin-catalog-import": 0.12.5 - "@backstage/plugin-org": 0.6.31 - "@backstage/plugin-permission-react": 0.4.27 - "@backstage/plugin-scaffolder": 1.26.2 - "@backstage/plugin-scaffolder-react": 1.13.2 - "@backstage/plugin-search": 1.4.18 - "@backstage/plugin-search-react": 1.8.1 - "@backstage/plugin-user-settings": 0.8.14 - "@backstage/test-utils": 1.7.0 - "@backstage/theme": 0.6.0 + "@backstage/app-defaults": 1.5.15 + "@backstage/catalog-model": 1.7.2 + "@backstage/cli": 0.29.4 + "@backstage/config": 1.3.1 + "@backstage/core-app-api": 1.15.3 + "@backstage/core-components": 0.16.2 + "@backstage/core-plugin-api": 1.10.2 + "@backstage/integration-react": 1.2.2 + "@backstage/plugin-api-docs": 0.12.2 + "@backstage/plugin-catalog": 1.26.0 + "@backstage/plugin-catalog-common": 1.1.2 + "@backstage/plugin-catalog-graph": 0.4.14 + "@backstage/plugin-catalog-import": 0.12.8 + "@backstage/plugin-org": 0.6.34 + "@backstage/plugin-permission-react": 0.4.29 + "@backstage/plugin-scaffolder": 1.27.3 + "@backstage/plugin-scaffolder-react": 1.14.2 + "@backstage/plugin-search": 1.4.21 + "@backstage/plugin-search-react": 1.8.4 + "@backstage/plugin-user-settings": 0.8.17 + "@backstage/test-utils": 1.7.3 + "@backstage/theme": 0.6.3 "@emotion/react": 11.14.0 "@emotion/styled": 11.14.0 "@internal/plugin-dynamic-plugins-info": "*" "@janus-idp/backstage-plugin-rbac-common": 1.12.0 - "@janus-idp/cli": 1.18.5 + "@janus-idp/cli": 3.0.0 "@mui/icons-material": 5.16.14 "@mui/material": 5.16.14 "@mui/styled-engine": 5.16.14 @@ -21946,42 +22541,6 @@ __metadata: languageName: node linkType: hard -"archiver-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "archiver-utils@npm:2.1.0" - dependencies: - glob: ^7.1.4 - graceful-fs: ^4.2.0 - lazystream: ^1.0.0 - lodash.defaults: ^4.2.0 - lodash.difference: ^4.5.0 - lodash.flatten: ^4.4.0 - lodash.isplainobject: ^4.0.6 - lodash.union: ^4.6.0 - normalize-path: ^3.0.0 - readable-stream: ^2.0.0 - checksum: 5665f40bde87ee82cb638177bdccca8cc6e55edea1b94338f7e6b56a1d9367b0d9a39e42b47866eaf84b8c67669a7d250900a226207ecc30fa163b52aae859a5 - languageName: node - linkType: hard - -"archiver-utils@npm:^3.0.4": - version: 3.0.4 - resolution: "archiver-utils@npm:3.0.4" - dependencies: - glob: ^7.2.3 - graceful-fs: ^4.2.0 - lazystream: ^1.0.0 - lodash.defaults: ^4.2.0 - lodash.difference: ^4.5.0 - lodash.flatten: ^4.4.0 - lodash.isplainobject: ^4.0.6 - lodash.union: ^4.6.0 - normalize-path: ^3.0.0 - readable-stream: ^3.6.0 - checksum: 5c6568f1185fb6c4b85282ad3281a5a024761bf27e525de1ec54255d15ca98e19532e7b5403930273911a5c8c961aa0c1e9148d6c2810784fa6bd8a97c0021a7 - languageName: node - linkType: hard - "archiver-utils@npm:^4.0.1": version: 4.0.1 resolution: "archiver-utils@npm:4.0.1" @@ -22011,24 +22570,9 @@ __metadata: languageName: node linkType: hard -"archiver@npm:^5.3.2": - version: 5.3.2 - resolution: "archiver@npm:5.3.2" - dependencies: - archiver-utils: ^2.1.0 - async: ^3.2.4 - buffer-crc32: ^0.2.1 - readable-stream: ^3.6.0 - readdir-glob: ^1.1.2 - tar-stream: ^2.2.0 - zip-stream: ^4.1.0 - checksum: 7d3b9b9b51cf54d88c89fbca9b0847c120bfcf9776c7025c52dd0b62f6603dc63dc0f3f1a09582f936f67e3906b46d58954cc762a255be45e8d3e14e3cb0b0b1 - languageName: node - linkType: hard - "archiver@npm:^6.0.0": - version: 6.0.1 - resolution: "archiver@npm:6.0.1" + version: 6.0.2 + resolution: "archiver@npm:6.0.2" dependencies: archiver-utils: ^4.0.1 async: ^3.2.4 @@ -22037,11 +22581,11 @@ __metadata: readdir-glob: ^1.1.2 tar-stream: ^3.0.0 zip-stream: ^5.0.1 - checksum: 20549eef7366173440a86873387412226568744a410626f826998b0dda85fe84e739c542d9db9aca3923b772436eb795eafdff29c2983e683355fdd9faaa0fdb + checksum: 17a20a1291d9bf41e25c96f029373bec5306d6e381063b3ab06ea805d234afaf55a7829c3577dd003558c188c6631769a80c51f245175fdb8310631df36ceb4b languageName: node linkType: hard -"archiver@npm:^7.0.0": +"archiver@npm:^7.0.0, archiver@npm:^7.0.1": version: 7.0.1 resolution: "archiver@npm:7.0.1" dependencies: @@ -22092,11 +22636,11 @@ __metadata: linkType: hard "aria-hidden@npm:^1.1.1": - version: 1.2.3 - resolution: "aria-hidden@npm:1.2.3" + version: 1.2.4 + resolution: "aria-hidden@npm:1.2.4" dependencies: tslib: ^2.0.0 - checksum: 7d7d211629eef315e94ed3b064c6823d13617e609d3f9afab1c2ed86399bb8e90405f9bdd358a85506802766f3ecb468af985c67c846045a34b973bcc0289db9 + checksum: 2ac90b70d29c6349d86d90e022cf01f4885f9be193932d943a14127cf28560dd0baf068a6625f084163437a4be0578f513cf7892f4cc63bfe91aa41dce27c6b2 languageName: node linkType: hard @@ -22109,22 +22653,20 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:^5.0.0, aria-query@npm:^5.3.0": - version: 5.3.0 - resolution: "aria-query@npm:5.3.0" - dependencies: - dequal: ^2.0.3 - checksum: 305bd73c76756117b59aba121d08f413c7ff5e80fa1b98e217a3443fcddb9a232ee790e24e432b59ae7625aebcf4c47cb01c2cac872994f0b426f5bdfcd96ba9 +"aria-query@npm:^5.0.0, aria-query@npm:^5.3.2": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: d971175c85c10df0f6d14adfe6f1292409196114ab3c62f238e208b53103686f46cc70695a4f775b73bc65f6a09b6a092fd963c4f3a5a7d690c8fc5094925717 languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" +"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - call-bind: ^1.0.5 - is-array-buffer: ^3.0.4 - checksum: 53524e08f40867f6a9f35318fafe467c32e45e9c682ba67b11943e167344d2febc0f6977a17e699b05699e805c3e8f073d876f8bbf1b559ed494ad2cd0fae09e + call-bound: ^1.0.3 + is-array-buffer: ^3.0.5 + checksum: 0ae3786195c3211b423e5be8dd93357870e6fb66357d81da968c2c39ef43583ef6eece1f9cb1caccdae4806739c65dea832b44b8593414313cd76a89795fca63 languageName: node linkType: hard @@ -22135,16 +22677,17 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": - version: 3.1.7 - resolution: "array-includes@npm:3.1.7" +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.4 is-string: ^1.0.7 - checksum: 06f9e4598fac12a919f7c59a3f04f010ea07f0b7f0585465ed12ef528a60e45f374e79d1bddbb34cdd4338357d00023ddbd0ac18b0be36964f5e726e8965d7fc + checksum: eb39ba5530f64e4d8acab39297c11c1c5be2a4ea188ab2b34aba5fb7224d918f77717a9d57a3e2900caaa8440e59431bdaf5c974d5212ef65d97f132e38e2d91 languageName: node linkType: hard @@ -22155,82 +22698,83 @@ __metadata: languageName: node linkType: hard -"array.prototype.filter@npm:^1.0.3": - version: 1.0.3 - resolution: "array.prototype.filter@npm:1.0.3" +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-array-method-boxes-properly: ^1.0.0 - is-string: ^1.0.7 - checksum: 5443cde6ad64596649e5751252b1b2f5242b41052980c2fb2506ba485e3ffd7607e8f6f2f1aefa0cb1cfb9b8623b2b2be103579cb367a161a3426400619b6e73 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + es-shim-unscopables: ^1.0.2 + checksum: 83ce4ad95bae07f136d316f5a7c3a5b911ac3296c3476abe60225bc4a17938bf37541972fcc37dd5adbc99cbb9c928c70bbbfc1c1ce549d41a415144030bb446 languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.4 - resolution: "array.prototype.findlastindex@npm:1.2.4" +"array.prototype.findlastindex@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlastindex@npm:1.2.5" dependencies: - call-bind: ^1.0.5 + call-bind: ^1.0.7 define-properties: ^1.2.1 - es-abstract: ^1.22.3 + es-abstract: ^1.23.2 es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 es-shim-unscopables: ^1.0.2 - checksum: cc8dce27a06dddf6d9c40a15d4c573f96ac5ca3583f89f8d8cd7d7ffdb96a71d819890a5bdb211f221bda8fafa0d97d1d8cbb5460a5cbec1fff57ae80b8abc31 + checksum: 2c81cff2a75deb95bf1ed89b6f5f2bfbfb882211e3b7cc59c3d6b87df774cd9d6b36949a8ae39ac476e092c1d4a4905f5ee11a86a456abb10f35f8211ae4e710 languageName: node linkType: hard "array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - checksum: 5d6b4bf102065fb3f43764bfff6feb3295d372ce89591e6005df3d0ce388527a9f03c909af6f2a973969a4d178ab232ffc9236654149173e0e187ec3a1a6b87b + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-shim-unscopables: ^1.0.2 + checksum: 5d5a7829ab2bb271a8d30a1c91e6271cef0ec534593c0fe6d2fb9ebf8bb62c1e5326e2fddcbbcbbe5872ca04f5e6b54a1ecf092e0af704fb538da9b2bfd95b40 languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" +"array.prototype.flatmap@npm:^1.3.2, array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - es-shim-unscopables: ^1.0.0 - checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 + call-bind: ^1.0.8 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-shim-unscopables: ^1.0.2 + checksum: 11b4de09b1cf008be6031bb507d997ad6f1892e57dc9153583de6ebca0f74ea403fffe0f203461d359de05048d609f3f480d9b46fed4099652d8b62cc972f284 languageName: node linkType: hard -"array.prototype.tosorted@npm:^1.1.1": - version: 1.1.3 - resolution: "array.prototype.tosorted@npm:1.1.3" +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" dependencies: - call-bind: ^1.0.5 + call-bind: ^1.0.7 define-properties: ^1.2.1 - es-abstract: ^1.22.3 - es-errors: ^1.1.0 + es-abstract: ^1.23.3 + es-errors: ^1.3.0 es-shim-unscopables: ^1.0.2 - checksum: 555e8808086bbde9e634c5dc5a8c0a2f1773075447b43b2fa76ab4f94f4e90f416d2a4f881024e1ce1a2931614caf76cd6b408af901c9d7cd13061d0d268f5af + checksum: e4142d6f556bcbb4f393c02e7dbaea9af8f620c040450c2be137c9cbbd1a17f216b9c688c5f2c08fbb038ab83f55993fa6efdd9a05881d84693c7bcb5422127a languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: array-buffer-byte-length: ^1.0.1 - call-bind: ^1.0.5 + call-bind: ^1.0.8 define-properties: ^1.2.1 - es-abstract: ^1.22.3 - es-errors: ^1.2.1 - get-intrinsic: ^1.2.3 + es-abstract: ^1.23.5 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.6 is-array-buffer: ^3.0.4 - is-shared-array-buffer: ^1.0.2 - checksum: 352259cba534dcdd969c92ab002efd2ba5025b2e3b9bead3973150edbdf0696c629d7f4b3f061c5931511e8207bdc2306da614703c820b45dabce39e3daf7e3e + checksum: b1d1fd20be4e972a3779b1569226f6740170dca10f07aa4421d42cefeec61391e79c557cda8e771f5baefe47d878178cd4438f60916ce831813c08132bced765 languageName: node linkType: hard @@ -22248,15 +22792,14 @@ __metadata: languageName: node linkType: hard -"asn1.js@npm:^5.2.0": - version: 5.4.1 - resolution: "asn1.js@npm:5.4.1" +"asn1.js@npm:^4.10.1": + version: 4.10.1 + resolution: "asn1.js@npm:4.10.1" dependencies: bn.js: ^4.0.0 inherits: ^2.0.1 minimalistic-assert: ^1.0.0 - safer-buffer: ^2.1.0 - checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a + checksum: 9289a1a55401238755e3142511d7b8f6fc32f08c86ff68bd7100da8b6c186179dd6b14234fba2f7f6099afcd6758a816708485efe44bc5b2a6ec87d9ceeddbb5 languageName: node linkType: hard @@ -22303,15 +22846,15 @@ __metadata: linkType: hard "astring@npm:^1.8.1": - version: 1.8.6 - resolution: "astring@npm:1.8.6" + version: 1.9.0 + resolution: "astring@npm:1.9.0" bin: astring: bin/astring - checksum: 6f034d2acef1dac8bb231e7cc26c573d3c14e1975ea6e04f20312b43d4f462f963209bc64187d25d477a182dc3c33277959a0156ab7a3617aa79b1eac4d88e1f + checksum: 69ffde3643f5280c6846231a995af878a94d3eab41d1a19a86b8c15f456453f63a7982cf5dd72d270b9f50dd26763a3e1e48377c961b7df16f550132b6dba805 languageName: node linkType: hard -"async-lock@npm:^1.1.0, async-lock@npm:^1.4.1": +"async-lock@npm:^1.4.1": version: 1.4.1 resolution: "async-lock@npm:1.4.1" checksum: 29e70cd892932b7c202437786cedc39ff62123cb6941014739bd3cabd6106326416e9e7c21285a5d1dc042cad239a0f7ec9c44658491ee4a615fd36a21c1d10a @@ -22352,15 +22895,6 @@ __metadata: languageName: node linkType: hard -"asynciterator.prototype@npm:^1.0.0": - version: 1.0.0 - resolution: "asynciterator.prototype@npm:1.0.0" - dependencies: - has-symbols: ^1.0.3 - checksum: e8ebfd9493ac651cf9b4165e9d64030b3da1d17181bb1963627b59e240cdaf021d9b59d44b827dc1dde4e22387ec04c2d0f8720cf58a1c282e34e40cc12721b3 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -22376,12 +22910,12 @@ __metadata: linkType: hard "atlassian-openapi@npm:^1.0.19, atlassian-openapi@npm:^1.0.8": - version: 1.0.19 - resolution: "atlassian-openapi@npm:1.0.19" + version: 1.0.20 + resolution: "atlassian-openapi@npm:1.0.20" dependencies: jsonpointer: ^5.0.0 urijs: ^1.19.10 - checksum: a2db8e176b5d05497881409171082b8c5caac652b7808f6d0ea219559d8b5410da4e46ecebe214c624f5a178eaf2acd89229ffbea699670195d95e0e1d4581f2 + checksum: 9d154fb3de6256f30ce677266995a983852c05e58fb820110dbb05f785bae19ab4c1d539e2bced6c29db29255c8933cb4bc6345a3b3d6b9ad47794ff058d8de0 languageName: node linkType: hard @@ -22392,13 +22926,6 @@ __metadata: languageName: node linkType: hard -"attr-accept@npm:^2.2.2": - version: 2.2.2 - resolution: "attr-accept@npm:2.2.2" - checksum: 496f7249354ab53e522510c1dc8f67a1887382187adde4dc205507d2f014836a247073b05e9d9ea51e2e9c7f71b0d2aa21730af80efa9af2d68303e5f0565c4d - languageName: node - linkType: hard - "attr-accept@npm:^2.2.4": version: 2.2.5 resolution: "attr-accept@npm:2.2.5" @@ -22424,7 +22951,7 @@ __metadata: languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.6, available-typed-arrays@npm:^1.0.7": +"available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" dependencies: @@ -22462,16 +22989,16 @@ __metadata: linkType: hard "aws4@npm:^1.8.0": - version: 1.12.0 - resolution: "aws4@npm:1.12.0" - checksum: 68f79708ac7c335992730bf638286a3ee0a645cf12575d557860100767c500c08b30e24726b9f03265d74116417f628af78509e1333575e9f8d52a80edfe8cbc + version: 1.13.2 + resolution: "aws4@npm:1.13.2" + checksum: 9ac924e4a91c088b4928ea86b68d8c4558b0e6289ccabaae0e3e96a611bd75277c2eab6e3965821028768700516f612b929a5ce822f33a8771f74ba2a8cedb9c languageName: node linkType: hard -"axe-core@npm:=4.7.0": - version: 4.7.0 - resolution: "axe-core@npm:4.7.0" - checksum: f086bcab42be1761ba2b0b127dec350087f4c3a853bba8dd58f69d898cefaac31a1561da23146f6f3c07954c76171d1f2ce460e555e052d2b02cd79af628fa4a +"axe-core@npm:^4.10.0": + version: 4.10.2 + resolution: "axe-core@npm:4.10.2" + checksum: 2b9b1c93ea73ea9f206604e4e17bd771d2d835f077bde54517d73028b8865c69b209460e73d5b109968cbdb39ab3d28943efa5695189bd79e16421ce1706719e languageName: node linkType: hard @@ -22489,23 +23016,21 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.0.0, axios@npm:^1.4.0, axios@npm:^1.6.0, axios@npm:^1.6.7, axios@npm:^1.7.4": - version: 1.7.7 - resolution: "axios@npm:1.7.7" +"axios@npm:^1.0.0, axios@npm:^1.6.0, axios@npm:^1.6.7, axios@npm:^1.7.4": + version: 1.7.9 + resolution: "axios@npm:1.7.9" dependencies: follow-redirects: ^1.15.6 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 882d4fe0ec694a07c7f5c1f68205eb6dc5a62aecdb632cc7a4a3d0985188ce3030e0b277e1a8260ac3f194d314ae342117660a151fabffdc5081ca0b5a8b47fe + checksum: cb8ce291818effda09240cb60f114d5625909b345e10f389a945320e06acf0bc949d0f8422d25720f5dd421362abee302c99f5e97edec4c156c8939814b23d19 languageName: node linkType: hard -"axobject-query@npm:^3.2.1": - version: 3.2.1 - resolution: "axobject-query@npm:3.2.1" - dependencies: - dequal: ^2.0.3 - checksum: a94047e702b57c91680e6a952ec4a1aaa2cfd0d80ead76bc8c954202980d8c51968a6ea18b4d8010e8e2cf95676533d8022a8ebba9abc1dfe25686721df26fd2 +"axobject-query@npm:^4.1.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 7d1e87bf0aa7ae7a76cd39ab627b7c48fda3dc40181303d9adce4ba1d5b5ce73b5e5403ee6626ec8e91090448c887294d6144e24b6741a976f5be9347e3ae1df languageName: node linkType: hard @@ -22530,9 +23055,9 @@ __metadata: linkType: hard "b4a@npm:^1.6.4": - version: 1.6.6 - resolution: "b4a@npm:1.6.6" - checksum: c46a27e3ac9c84426ae728f0fc46a6ae7703a7bc03e771fa0bef4827fd7cf3bb976d1a3d5afff54606248372ab8fdf595bd0114406690edf37f14d120630cf7f + version: 1.6.7 + resolution: "b4a@npm:1.6.7" + checksum: afe4e239b49c0ef62236fe0d788ac9bd9d7eac7e9855b0d1835593cd0efcc7be394f9cc28a747a2ed2cdcb0a48c3528a551a196f472eb625457c711169c9efa2 languageName: node linkType: hard @@ -22590,38 +23115,38 @@ __metadata: linkType: hard "babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.11 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" + version: 0.4.12 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.12" dependencies: "@babel/compat-data": ^7.22.6 - "@babel/helper-define-polyfill-provider": ^0.6.2 + "@babel/helper-define-polyfill-provider": ^0.6.3 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: f098353ce7c7dde1a1d2710858e01b471e85689110c9e37813e009072347eb8c55d5f84d20d3bf1cab31755f20078ba90f8855fdc4686a9daa826a95ff280bd7 + checksum: 6e6e6a8b85fec80a310ded2f5c151385e4ac59118909dd6a952e1025e4a478eb79dda45a5a6322cc2e598fd696eb07d4e2fa52418b4101f3dc370bdf8c8939ba languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.4": - version: 0.10.4 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" +"babel-plugin-polyfill-corejs3@npm:^0.10.6": + version: 0.10.6 + resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.1 - core-js-compat: ^3.36.1 + "@babel/helper-define-polyfill-provider": ^0.6.2 + core-js-compat: ^3.38.0 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: b96a54495f7cc8b3797251c8c15f5ed015edddc3110fc122f6b32c94bec33af1e8bc56fa99091808f500bde0cccaaa266889cdc5935d9e6e9cf09898214f02dd + checksum: f762f29f7acca576897c63149c850f0a72babd3fb9ea436a2e36f0c339161c4b912a77828541d8188ce8a91e50965c6687120cf36071eabb1b7aa92f279e2164 languageName: node linkType: hard "babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.2 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" + version: 0.6.3 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.3" dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.2 + "@babel/helper-define-polyfill-provider": ^0.6.3 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 150233571072b6b3dfe946242da39cba8587b7f908d1c006f7545fc88b0e3c3018d445739beb61e7a75835f0c2751dbe884a94ff9b245ec42369d9267e0e1b3f + checksum: d12696e6b3f280eb78fac551619ca4389262db62c7352cd54bf679d830df8b35596eef2de77cf00db6648eada1c99d49c4f40636dbc9c335a1e5420cfef96750 languageName: node linkType: hard @@ -22637,24 +23162,27 @@ __metadata: linkType: hard "babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" + version: 1.1.0 + resolution: "babel-preset-current-node-syntax@npm:1.1.0" dependencies: "@babel/plugin-syntax-async-generators": ^7.8.4 "@babel/plugin-syntax-bigint": ^7.8.3 - "@babel/plugin-syntax-class-properties": ^7.8.3 - "@babel/plugin-syntax-import-meta": ^7.8.3 + "@babel/plugin-syntax-class-properties": ^7.12.13 + "@babel/plugin-syntax-class-static-block": ^7.14.5 + "@babel/plugin-syntax-import-attributes": ^7.24.7 + "@babel/plugin-syntax-import-meta": ^7.10.4 "@babel/plugin-syntax-json-strings": ^7.8.3 - "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.10.4 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-numeric-separator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.10.4 "@babel/plugin-syntax-object-rest-spread": ^7.8.3 "@babel/plugin-syntax-optional-catch-binding": ^7.8.3 "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-syntax-top-level-await": ^7.8.3 + "@babel/plugin-syntax-private-property-in-object": ^7.14.5 + "@babel/plugin-syntax-top-level-await": ^7.14.5 peerDependencies: "@babel/core": ^7.0.0 - checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + checksum: 9f93fac975eaba296c436feeca1031ca0539143c4066eaf5d1ba23525a31850f03b651a1049caea7287df837a409588c8252c15627ad3903f17864c8e25ed64b languageName: node linkType: hard @@ -22687,31 +23215,31 @@ __metadata: "@backstage-community/plugin-rbac-backend": 5.2.6 "@backstage-community/plugin-rbac-node": 1.8.2 "@backstage-community/plugin-scaffolder-backend-module-annotator": 2.2.2 - "@backstage/backend-app-api": 1.0.1 - "@backstage/backend-defaults": 0.5.2 - "@backstage/backend-dynamic-feature-service": 0.4.4 - "@backstage/backend-plugin-api": 1.0.1 - "@backstage/catalog-model": 1.7.0 - "@backstage/cli": 0.28.2 - "@backstage/cli-node": 0.2.9 - "@backstage/config": 1.2.0 - "@backstage/config-loader": 1.9.1 - "@backstage/plugin-app-backend": 0.3.76 - "@backstage/plugin-auth-backend": 0.23.1 - "@backstage/plugin-auth-backend-module-guest-provider": 0.2.1 - "@backstage/plugin-auth-backend-module-oidc-provider": 0.3.1 - "@backstage/plugin-auth-node": 0.5.3 - "@backstage/plugin-catalog-backend": 1.27.1 - "@backstage/plugin-catalog-backend-module-logs": 0.1.3 - "@backstage/plugin-catalog-backend-module-openapi": 0.2.3 - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": 0.2.1 - "@backstage/plugin-events-backend": 0.3.15 - "@backstage/plugin-events-node": 0.4.4 - "@backstage/plugin-proxy-backend": 0.5.7 - "@backstage/plugin-scaffolder-backend": 1.26.3 - "@backstage/plugin-search-backend": 1.6.1 - "@backstage/plugin-search-backend-module-catalog": 0.2.4 - "@backstage/plugin-search-backend-module-pg": 0.5.37 + "@backstage/backend-app-api": 1.1.0 + "@backstage/backend-defaults": 0.6.2 + "@backstage/backend-dynamic-feature-service": 0.5.2 + "@backstage/backend-plugin-api": 1.1.0 + "@backstage/catalog-model": 1.7.2 + "@backstage/cli": 0.29.4 + "@backstage/cli-node": 0.2.11 + "@backstage/config": 1.3.1 + "@backstage/config-loader": 1.9.4 + "@backstage/plugin-app-backend": 0.4.3 + "@backstage/plugin-auth-backend": 0.24.1 + "@backstage/plugin-auth-backend-module-guest-provider": 0.2.3 + "@backstage/plugin-auth-backend-module-oidc-provider": 0.3.3 + "@backstage/plugin-auth-node": 0.5.5 + "@backstage/plugin-catalog-backend": 1.29.0 + "@backstage/plugin-catalog-backend-module-logs": 0.1.5 + "@backstage/plugin-catalog-backend-module-openapi": 0.2.5 + "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": 0.2.3 + "@backstage/plugin-events-backend": 0.4.0 + "@backstage/plugin-events-node": 0.4.6 + "@backstage/plugin-proxy-backend": 0.5.9 + "@backstage/plugin-scaffolder-backend": 1.28.0 + "@backstage/plugin-search-backend": 1.8.0 + "@backstage/plugin-search-backend-module-catalog": 0.2.6 + "@backstage/plugin-search-backend-module-pg": 0.5.39 "@internal/plugin-dynamic-plugins-info-backend": "*" "@internal/plugin-licensed-users-info-backend": "*" "@internal/plugin-scalprum-backend": "*" @@ -22754,8 +23282,8 @@ __metadata: resolution: "backstage-community-plugin-3scale-backend@workspace:dynamic-plugins/wrappers/backstage-community-plugin-3scale-backend-dynamic" dependencies: "@backstage-community/plugin-3scale-backend": 3.0.3 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22765,9 +23293,9 @@ __metadata: resolution: "backstage-community-plugin-acr@workspace:dynamic-plugins/wrappers/backstage-community-plugin-acr" dependencies: "@backstage-community/plugin-acr": 1.8.5 - "@backstage/cli": 0.28.2 - "@backstage/core-plugin-api": 1.10.0 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/core-plugin-api": 1.10.2 + "@janus-idp/cli": 3.0.0 "@mui/icons-material": 5.16.14 "@mui/material": 5.16.14 typescript: 5.7.3 @@ -22779,8 +23307,8 @@ __metadata: resolution: "backstage-community-plugin-analytics-provider-segment@workspace:dynamic-plugins/wrappers/backstage-community-plugin-analytics-provider-segment" dependencies: "@backstage-community/plugin-analytics-provider-segment": 1.10.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22790,8 +23318,8 @@ __metadata: resolution: "backstage-community-plugin-azure-devops-backend@workspace:dynamic-plugins/wrappers/backstage-community-plugin-azure-devops-backend-dynamic" dependencies: "@backstage-community/plugin-azure-devops-backend": 0.8.0 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22801,8 +23329,8 @@ __metadata: resolution: "backstage-community-plugin-azure-devops@workspace:dynamic-plugins/wrappers/backstage-community-plugin-azure-devops" dependencies: "@backstage-community/plugin-azure-devops": 0.6.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22812,8 +23340,8 @@ __metadata: resolution: "backstage-community-plugin-catalog-backend-module-keycloak@workspace:dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-keycloak-dynamic" dependencies: "@backstage-community/plugin-catalog-backend-module-keycloak": 3.2.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22823,8 +23351,8 @@ __metadata: resolution: "backstage-community-plugin-catalog-backend-module-pingidentity@workspace:dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-pingidentity-dynamic" dependencies: "@backstage-community/plugin-catalog-backend-module-pingidentity": 0.1.5 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22834,8 +23362,8 @@ __metadata: resolution: "backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor@workspace:dynamic-plugins/wrappers/backstage-community-plugin-catalog-backend-module-scaffolder-relation-processor-dynamic" dependencies: "@backstage-community/plugin-catalog-backend-module-scaffolder-relation-processor": 2.0.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22845,8 +23373,8 @@ __metadata: resolution: "backstage-community-plugin-dynatrace@workspace:dynamic-plugins/wrappers/backstage-community-plugin-dynatrace" dependencies: "@backstage-community/plugin-dynatrace": 10.0.8 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22856,8 +23384,8 @@ __metadata: resolution: "backstage-community-plugin-github-actions@workspace:dynamic-plugins/wrappers/backstage-community-plugin-github-actions" dependencies: "@backstage-community/plugin-github-actions": 0.6.24 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22867,8 +23395,8 @@ __metadata: resolution: "backstage-community-plugin-github-issues@workspace:dynamic-plugins/wrappers/backstage-community-plugin-github-issues" dependencies: "@backstage-community/plugin-github-issues": 0.4.8 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22878,8 +23406,8 @@ __metadata: resolution: "backstage-community-plugin-jenkins-backend@workspace:dynamic-plugins/wrappers/backstage-community-plugin-jenkins-backend-dynamic" dependencies: "@backstage-community/plugin-jenkins-backend": 0.6.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22889,8 +23417,8 @@ __metadata: resolution: "backstage-community-plugin-jenkins@workspace:dynamic-plugins/wrappers/backstage-community-plugin-jenkins" dependencies: "@backstage-community/plugin-jenkins": 0.12.0 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22900,8 +23428,8 @@ __metadata: resolution: "backstage-community-plugin-jfrog-artifactory@workspace:dynamic-plugins/wrappers/backstage-community-plugin-jfrog-artifactory" dependencies: "@backstage-community/plugin-jfrog-artifactory": 1.10.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22912,8 +23440,8 @@ __metadata: resolution: "backstage-community-plugin-lighthouse@workspace:dynamic-plugins/wrappers/backstage-community-plugin-lighthouse" dependencies: "@backstage-community/plugin-lighthouse": 0.4.24 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/icons-material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22924,8 +23452,8 @@ __metadata: resolution: "backstage-community-plugin-nexus-repository-manager@workspace:dynamic-plugins/wrappers/backstage-community-plugin-nexus-repository-manager" dependencies: "@backstage-community/plugin-nexus-repository-manager": 1.10.6 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22936,8 +23464,8 @@ __metadata: resolution: "backstage-community-plugin-ocm-backend@workspace:dynamic-plugins/wrappers/backstage-community-plugin-ocm-backend-dynamic" dependencies: "@backstage-community/plugin-ocm-backend": 5.2.3 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -22947,8 +23475,8 @@ __metadata: resolution: "backstage-community-plugin-ocm@workspace:dynamic-plugins/wrappers/backstage-community-plugin-ocm" dependencies: "@backstage-community/plugin-ocm": 5.2.4 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22959,8 +23487,8 @@ __metadata: resolution: "backstage-community-plugin-quay@workspace:dynamic-plugins/wrappers/backstage-community-plugin-quay" dependencies: "@backstage-community/plugin-quay": 1.14.4 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22971,8 +23499,8 @@ __metadata: resolution: "backstage-community-plugin-rbac@workspace:dynamic-plugins/wrappers/backstage-community-plugin-rbac" dependencies: "@backstage-community/plugin-rbac": 1.33.4 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22983,8 +23511,8 @@ __metadata: resolution: "backstage-community-plugin-redhat-argocd@workspace:dynamic-plugins/wrappers/backstage-community-plugin-redhat-argocd" dependencies: "@backstage-community/plugin-redhat-argocd": 1.11.0 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -22995,8 +23523,8 @@ __metadata: resolution: "backstage-community-plugin-scaffolder-backend-module-kubernetes@workspace:dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-kubernetes-dynamic" dependencies: "@backstage-community/plugin-scaffolder-backend-module-kubernetes": 2.2.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23006,8 +23534,8 @@ __metadata: resolution: "backstage-community-plugin-scaffolder-backend-module-quay@workspace:dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-quay-dynamic" dependencies: "@backstage-community/plugin-scaffolder-backend-module-quay": 2.2.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23017,8 +23545,8 @@ __metadata: resolution: "backstage-community-plugin-scaffolder-backend-module-regex@workspace:dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-regex-dynamic" dependencies: "@backstage-community/plugin-scaffolder-backend-module-regex": 2.2.3 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23028,8 +23556,8 @@ __metadata: resolution: "backstage-community-plugin-scaffolder-backend-module-servicenow@workspace:dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-servicenow-dynamic" dependencies: "@backstage-community/plugin-scaffolder-backend-module-servicenow": 2.2.3 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23039,8 +23567,8 @@ __metadata: resolution: "backstage-community-plugin-scaffolder-backend-module-sonarqube@workspace:dynamic-plugins/wrappers/backstage-community-plugin-scaffolder-backend-module-sonarqube-dynamic" dependencies: "@backstage-community/plugin-scaffolder-backend-module-sonarqube": 2.2.2 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23050,8 +23578,8 @@ __metadata: resolution: "backstage-community-plugin-sonarqube-backend@workspace:dynamic-plugins/wrappers/backstage-community-plugin-sonarqube-backend-dynamic" dependencies: "@backstage-community/plugin-sonarqube-backend": 0.3.0 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23061,8 +23589,8 @@ __metadata: resolution: "backstage-community-plugin-sonarqube@workspace:dynamic-plugins/wrappers/backstage-community-plugin-sonarqube" dependencies: "@backstage-community/plugin-sonarqube": 0.8.7 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23072,8 +23600,8 @@ __metadata: resolution: "backstage-community-plugin-tech-radar-backend@workspace:dynamic-plugins/wrappers/backstage-community-plugin-tech-radar-backend-dynamic" dependencies: "@backstage-community/plugin-tech-radar-backend": 1.0.0 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23084,9 +23612,9 @@ __metadata: dependencies: "@backstage-community/plugin-tech-radar": 1.0.0 "@backstage-community/plugin-tech-radar-common": 1.0.0 - "@backstage/cli": 0.28.2 - "@backstage/core-plugin-api": 1.10.0 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/core-plugin-api": 1.10.2 + "@janus-idp/cli": 3.0.0 "@mui/icons-material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -23097,8 +23625,8 @@ __metadata: resolution: "backstage-community-plugin-tekton@workspace:dynamic-plugins/wrappers/backstage-community-plugin-tekton" dependencies: "@backstage-community/plugin-tekton": 3.17.0 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -23109,8 +23637,8 @@ __metadata: resolution: "backstage-community-plugin-topology@workspace:dynamic-plugins/wrappers/backstage-community-plugin-topology" dependencies: "@backstage-community/plugin-topology": 1.29.7 - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -23120,9 +23648,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-bitbucket-cloud@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-cloud-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-bitbucket-cloud": 0.4.1 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-bitbucket-cloud": 0.4.3 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23131,9 +23659,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-bitbucket-server@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-bitbucket-server-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-bitbucket-server": 0.2.3 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-bitbucket-server": 0.3.0 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23142,9 +23670,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-github-org@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-org-dynamic" dependencies: - "@backstage/plugin-catalog-backend-module-github": 0.7.6 - "@backstage/plugin-catalog-backend-module-github-org": 0.3.3 - "@janus-idp/cli": 1.18.5 + "@backstage/plugin-catalog-backend-module-github": 0.7.8 + "@backstage/plugin-catalog-backend-module-github-org": 0.3.5 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23153,9 +23681,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-github@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-github-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-github": 0.7.6 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-github": 0.7.8 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23164,10 +23692,10 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-gitlab-org@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-org-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-gitlab": 0.4.4 - "@backstage/plugin-catalog-backend-module-gitlab-org": 0.2.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-gitlab": 0.6.1 + "@backstage/plugin-catalog-backend-module-gitlab-org": 0.2.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23176,9 +23704,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-gitlab@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-gitlab-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-gitlab": 0.4.4 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-gitlab": 0.6.1 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23187,9 +23715,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-ldap@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-ldap-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-ldap": 0.9.1 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-ldap": 0.11.0 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23198,9 +23726,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-catalog-backend-module-msgraph@workspace:dynamic-plugins/wrappers/backstage-plugin-catalog-backend-module-msgraph-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-catalog-backend-module-msgraph": 0.6.3 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-catalog-backend-module-msgraph": 0.6.5 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23209,9 +23737,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-kubernetes-backend@workspace:dynamic-plugins/wrappers/backstage-plugin-kubernetes-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-kubernetes-backend": 0.18.7 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-kubernetes-backend": 0.19.1 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23220,10 +23748,10 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-kubernetes@workspace:dynamic-plugins/wrappers/backstage-plugin-kubernetes" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/core-plugin-api": 1.10.0 - "@backstage/plugin-kubernetes": 0.11.16 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/core-plugin-api": 1.10.2 + "@backstage/plugin-kubernetes": 0.12.2 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23232,9 +23760,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-notifications-backend-module-email@workspace:dynamic-plugins/wrappers/backstage-plugin-notifications-backend-module-email-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-notifications-backend-module-email": 0.3.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-notifications-backend-module-email": 0.3.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23243,10 +23771,10 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-notifications-backend@workspace:dynamic-plugins/wrappers/backstage-plugin-notifications-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-notifications-backend": 0.4.2 - "@backstage/plugin-signals-node": 0.1.13 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-notifications-backend": 0.5.0 + "@backstage/plugin-signals-node": 0.1.15 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23255,9 +23783,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-notifications@workspace:dynamic-plugins/wrappers/backstage-plugin-notifications" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-notifications": 0.3.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-notifications": 0.5.0 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -23267,9 +23795,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-scaffolder-backend-module-azure@workspace:dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-azure-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-scaffolder-backend-module-azure": 0.2.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-scaffolder-backend-module-azure": 0.2.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23278,9 +23806,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-scaffolder-backend-module-bitbucket-cloud@workspace:dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-cloud-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": 0.2.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": 0.2.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23289,9 +23817,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-scaffolder-backend-module-bitbucket-server@workspace:dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-bitbucket-server-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-scaffolder-backend-module-bitbucket-server": 0.2.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-scaffolder-backend-module-bitbucket-server": 0.2.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23300,9 +23828,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-scaffolder-backend-module-gerrit@workspace:dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gerrit-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-scaffolder-backend-module-gerrit": 0.2.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-scaffolder-backend-module-gerrit": 0.2.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23311,9 +23839,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-scaffolder-backend-module-github@workspace:dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-github-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-scaffolder-backend-module-github": 0.5.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-scaffolder-backend-module-github": 0.5.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23322,9 +23850,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-scaffolder-backend-module-gitlab@workspace:dynamic-plugins/wrappers/backstage-plugin-scaffolder-backend-module-gitlab-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-scaffolder-backend-module-gitlab": 0.6.1 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-scaffolder-backend-module-gitlab": 0.7.0 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23333,9 +23861,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-signals-backend@workspace:dynamic-plugins/wrappers/backstage-plugin-signals-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-signals-backend": 0.2.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-signals-backend": 0.2.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23344,9 +23872,9 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-signals@workspace:dynamic-plugins/wrappers/backstage-plugin-signals" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/plugin-signals": 0.0.11 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/plugin-signals": 0.0.14 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 typescript: 5.7.3 languageName: unknown @@ -23356,11 +23884,11 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-techdocs-backend@workspace:dynamic-plugins/wrappers/backstage-plugin-techdocs-backend-dynamic" dependencies: - "@backstage/backend-plugin-api": 1.0.1 - "@backstage/cli": 0.28.2 - "@backstage/plugin-search-backend-module-techdocs": 0.3.1 - "@backstage/plugin-techdocs-backend": 1.11.1 - "@janus-idp/cli": 1.18.5 + "@backstage/backend-plugin-api": 1.1.0 + "@backstage/cli": 0.29.4 + "@backstage/plugin-search-backend-module-techdocs": 0.3.4 + "@backstage/plugin-techdocs-backend": 1.11.4 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -23369,14 +23897,14 @@ __metadata: version: 0.0.0-use.local resolution: "backstage-plugin-techdocs@workspace:dynamic-plugins/wrappers/backstage-plugin-techdocs" dependencies: - "@backstage/cli": 0.28.2 - "@backstage/core-plugin-api": 1.10.0 - "@backstage/plugin-catalog-react": 1.14.0 - "@backstage/plugin-search-react": 1.8.1 - "@backstage/plugin-techdocs": 1.11.0 - "@backstage/plugin-techdocs-module-addons-contrib": 1.1.16 - "@backstage/plugin-techdocs-react": 1.2.9 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@backstage/core-plugin-api": 1.10.2 + "@backstage/plugin-catalog-react": 1.15.0 + "@backstage/plugin-search-react": 1.8.4 + "@backstage/plugin-techdocs": 1.12.0 + "@backstage/plugin-techdocs-module-addons-contrib": 1.1.19 + "@backstage/plugin-techdocs-react": 1.2.12 + "@janus-idp/cli": 3.0.0 "@material-ui/core": 4.12.4 jss: 10.10.0 react: 18.3.1 @@ -23401,36 +23929,53 @@ __metadata: linkType: hard "bare-events@npm:^2.0.0, bare-events@npm:^2.2.0": - version: 2.2.2 - resolution: "bare-events@npm:2.2.2" - checksum: 154d3fc044cc171d3b85a89b768e626417b60c050123ac2ac10fc002152b4bdeb359ed1453ad54c0f1d05a7786f780d3b976af68e55c09fe4579d8466d3ff256 + version: 2.5.4 + resolution: "bare-events@npm:2.5.4" + checksum: 522a5401caaede9d8c857c2fd346c993bf43995e958e8ebfa79d32b1e086032800e0639f3559d7ad85788fae54f6d9605685de507eec54298ea2aa2c8c9cb2c3 languageName: node linkType: hard -"bare-fs@npm:^2.1.1": - version: 2.2.3 - resolution: "bare-fs@npm:2.2.3" +"bare-fs@npm:^4.0.1": + version: 4.0.1 + resolution: "bare-fs@npm:4.0.1" dependencies: bare-events: ^2.0.0 - bare-path: ^2.0.0 - streamx: ^2.13.0 - checksum: 598f1998f08b19c7f1eea76291e5c93664c82b60b997e56aa0e6dea05193d74d3865cfe1172d05684893253ef700ce3abb4e76c55da799fed2ee7a82597a5c44 + bare-path: ^3.0.0 + bare-stream: ^2.0.0 + checksum: 80ae7ed1304182633252ce20f69d53bffd39e1a4f1387b309c2f2cf2a48732e8a5440405eb4a7250a3d8d1d2fb923a50bbb8aa67f85729c8a82e08dd09637a17 languageName: node linkType: hard -"bare-os@npm:^2.1.0": - version: 2.2.1 - resolution: "bare-os@npm:2.2.1" - checksum: 7d870d8955531809253dfbceeda5b68e8396ef640166f8ff6c4c5e344f18a6bc9253f6d5e7d9ae2841426b66e9b7b1a39b2a102e6b23e1ddff26ad8a8981af81 +"bare-os@npm:^3.0.1": + version: 3.4.0 + resolution: "bare-os@npm:3.4.0" + checksum: a473da6219f901b2101fac176ff271b28b9aee7e2d01b13b96320a56656c2f83a7d8275db89238ff46ed348638d86338761b6682684fbd0c4bb6b09201446047 languageName: node linkType: hard -"bare-path@npm:^2.0.0, bare-path@npm:^2.1.0": - version: 2.1.1 - resolution: "bare-path@npm:2.1.1" +"bare-path@npm:^3.0.0": + version: 3.0.0 + resolution: "bare-path@npm:3.0.0" + dependencies: + bare-os: ^3.0.1 + checksum: 51d559515f332f62cf9c37c38f2640c1b84b5e8c9de454b70baf029f806058cf94c51d6a0dfec0025cc7760f2069dc3e16c82f0d24f4a9ddb18c829bf9c0206d + languageName: node + linkType: hard + +"bare-stream@npm:^2.0.0": + version: 2.6.4 + resolution: "bare-stream@npm:2.6.4" dependencies: - bare-os: ^2.1.0 - checksum: f25710be4ee4106f15b405b85ceea5c8da799f803b237008dc4a3533c0db01acd2500742f2204a37909c6871949725fb1907cf95434d80710bf832716d0da8df + streamx: ^2.21.0 + peerDependencies: + bare-buffer: "*" + bare-events: "*" + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + checksum: 2f4ea23d7c3d603441b5942180ce997fb80b567713e4792ebd198b1fb3e8cd58ce947398c3d1e3f293cb6d191e7fb6550713842221edfe54d49175bad25f79e8 languageName: node linkType: hard @@ -23516,13 +24061,13 @@ __metadata: linkType: hard "better-sqlite3@npm:^11.0.0": - version: 11.1.2 - resolution: "better-sqlite3@npm:11.1.2" + version: 11.8.0 + resolution: "better-sqlite3@npm:11.8.0" dependencies: bindings: ^1.5.0 node-gyp: latest prebuild-install: ^7.1.1 - checksum: fec9e5ea8236206ef2b334ae1d779217cbcd327f4d1822e745148c810fea3412c54483fff0cef5b3133b9a7fd1311ae7c7498b54b274074c6c04bd8e5c9dc54c + checksum: ab8fb463968d73e05fad4c5e8b6a2343a93f4ee0c2e41d7096f212109c8377aaecbececcdcc8dc1647ec42ba3e60e056c91597d91c7763f98084ceb59325980e languageName: node linkType: hard @@ -23554,9 +24099,9 @@ __metadata: linkType: hard "binary-extensions@npm:^2.0.0": - version: 2.2.0 - resolution: "binary-extensions@npm:2.2.0" - checksum: ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: bcad01494e8a9283abf18c1b967af65ee79b0c6a9e6fcfafebfe91dbe6e0fc7272bafb73389e198b310516ae04f7ad17d79aacf6cb4c0d5d5202a7e2e52c7d98 languageName: node linkType: hard @@ -23595,13 +24140,13 @@ __metadata: linkType: hard "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: f7f84a909bd07bdcc6777cccbf280b629540792e6965fb1dd1aeafba96e944f197ca10cbec2692f51e0a906ff31da1eb4317f3d1cd659d6f68b8bcd211f7ecbc languageName: node linkType: hard -"bn.js@npm:^5.0.0, bn.js@npm:^5.2.1": +"bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 @@ -23629,12 +24174,12 @@ __metadata: linkType: hard "bonjour-service@npm:^1.0.11, bonjour-service@npm:^1.2.1": - version: 1.2.1 - resolution: "bonjour-service@npm:1.2.1" + version: 1.3.0 + resolution: "bonjour-service@npm:1.3.0" dependencies: fast-deep-equal: ^3.1.3 multicast-dns: ^7.2.5 - checksum: b65b3e6e3a07e97f2da5806afb76f3946d5a6426b72e849a0236dc3c9d3612fb8c5359ebade4be7eb63f74a37670c53a53be2ff17f4f709811fda77f600eb25b + checksum: 737bd40d0b609b18afdfcaf3c416a60d7dc94aedc4cb9d6e7af459a7f3bdffadc199370a48c46739d92689741cad4ec8a6987a3e4d869dd301b521227b92e082 languageName: node linkType: hard @@ -23708,14 +24253,7 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - -"browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4": +"browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": version: 1.2.0 resolution: "browserify-aes@npm:1.2.0" dependencies: @@ -23729,7 +24267,7 @@ __metadata: languageName: node linkType: hard -"browserify-cipher@npm:^1.0.0": +"browserify-cipher@npm:^1.0.1": version: 1.0.1 resolution: "browserify-cipher@npm:1.0.1" dependencies: @@ -23753,29 +24291,31 @@ __metadata: linkType: hard "browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.1.0": - version: 4.1.0 - resolution: "browserify-rsa@npm:4.1.0" + version: 4.1.1 + resolution: "browserify-rsa@npm:4.1.1" dependencies: - bn.js: ^5.0.0 - randombytes: ^2.0.1 - checksum: 155f0c135873efc85620571a33d884aa8810e40176125ad424ec9d85016ff105a07f6231650914a760cca66f29af0494087947b7be34880dd4599a0cd3c38e54 + bn.js: ^5.2.1 + randombytes: ^2.1.0 + safe-buffer: ^5.2.1 + checksum: 2628508646331791c29312bbf274c076a237437a17178ea9bdc75c577fb4164a0da0b137deaadf6ade623701332377c5c2ceb0ff6f991c744a576e790ec95852 languageName: node linkType: hard -"browserify-sign@npm:^4.0.0": - version: 4.2.2 - resolution: "browserify-sign@npm:4.2.2" +"browserify-sign@npm:^4.2.3": + version: 4.2.3 + resolution: "browserify-sign@npm:4.2.3" dependencies: bn.js: ^5.2.1 browserify-rsa: ^4.1.0 create-hash: ^1.2.0 create-hmac: ^1.1.7 - elliptic: ^6.5.4 + elliptic: ^6.5.5 + hash-base: ~3.0 inherits: ^2.0.4 - parse-asn1: ^5.1.6 - readable-stream: ^3.6.2 + parse-asn1: ^5.1.7 + readable-stream: ^2.3.8 safe-buffer: ^5.2.1 - checksum: b622730c0fc183328c3a1c9fdaaaa5118821ed6822b266fa6b0375db7e20061ebec87301d61931d79b9da9a96ada1cab317fce3c68f233e5e93ed02dbb35544c + checksum: 403a8061d229ae31266670345b4a7c00051266761d2c9bbeb68b1a9bcb05f68143b16110cf23a171a5d6716396a1f41296282b3e73eeec0a1871c77f0ff4ee6b languageName: node linkType: hard @@ -23788,17 +24328,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.23.0, browserslist@npm:^4.24.0": - version: 4.24.2 - resolution: "browserslist@npm:4.24.2" +"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.21.4, browserslist@npm:^4.24.0, browserslist@npm:^4.24.3": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" dependencies: - caniuse-lite: ^1.0.30001669 - electron-to-chromium: ^1.5.41 - node-releases: ^2.0.18 + caniuse-lite: ^1.0.30001688 + electron-to-chromium: ^1.5.73 + node-releases: ^2.0.19 update-browserslist-db: ^1.1.1 bin: browserslist: cli.js - checksum: cf64085f12132d38638f38937a255edb82c7551b164a98577b055dd79719187a816112f7b97b9739e400c4954cd66479c0d7a843cb816e346f4795dc24fd5d97 + checksum: 64074bf6cf0a9ae3094d753270e3eae9cf925149db45d646f0bc67bacc2e46d7ded64a4e835b95f5fdcf0350f63a83c3755b32f80831f643a47f0886deb8a065 languageName: node linkType: hard @@ -23827,7 +24367,7 @@ __metadata: languageName: node linkType: hard -"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:^0.2.13, buffer-crc32@npm:~0.2.3": +"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:~0.2.3": version: 0.2.13 resolution: "buffer-crc32@npm:0.2.13" checksum: 06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c @@ -23855,13 +24395,6 @@ __metadata: languageName: node linkType: hard -"buffer-writer@npm:2.0.0": - version: 2.0.0 - resolution: "buffer-writer@npm:2.0.0" - checksum: 11736b48bb75106c52ca8ec9f025e7c1b3b25ce31875f469d7210eabd5c576c329e34f6b805d4a8d605ff3f0db1e16342328802c4c963e9c826b0e43a4e631c2 - languageName: node - linkType: hard - "buffer-xor@npm:^1.0.3": version: 1.0.3 resolution: "buffer-xor@npm:1.0.3" @@ -23917,13 +24450,6 @@ __metadata: languageName: node linkType: hard -"builtin-modules@npm:^3.3.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d - languageName: node - linkType: hard - "builtin-status-codes@npm:^3.0.0": version: 3.0.0 resolution: "builtin-status-codes@npm:3.0.0" @@ -23956,13 +24482,6 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: a2b386dd8188849a5325f58eef69c3b73c51801c08ffc6963eddc9be244089ba32d19347caf6d145c86f315ae1b1fc7061a32b0c1aa6379e6a719090287ed101 - languageName: node - linkType: hard - "bytes@npm:3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" @@ -23990,6 +24509,26 @@ __metadata: languageName: node linkType: hard +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": ^4.0.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^10.0.1 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^7.0.2 + ssri: ^12.0.0 + tar: ^7.4.3 + unique-filename: ^4.0.0 + checksum: e95684717de6881b4cdaa949fa7574e3171946421cd8291769dd3d2417dbf7abf4aa557d1f968cca83dcbc95bed2a281072b09abfc977c942413146ef7ed4525 + languageName: node + linkType: hard + "cache-content-type@npm:^1.0.0": version: 1.0.1 resolution: "cache-content-type@npm:1.0.1" @@ -24000,13 +24539,6 @@ __metadata: languageName: node linkType: hard -"cacheable-lookup@npm:^5.0.3": - version: 5.0.4 - resolution: "cacheable-lookup@npm:5.0.4" - checksum: 763e02cf9196bc9afccacd8c418d942fc2677f22261969a4c2c2e760fa44a2351a81557bd908291c3921fe9beb10b976ba8fa50c5ca837c5a0dd945f16468f2d - languageName: node - linkType: hard - "cacheable-lookup@npm:^6.0.0": version: 6.1.0 resolution: "cacheable-lookup@npm:6.1.0" @@ -24014,35 +24546,39 @@ __metadata: languageName: node linkType: hard -"cacheable-request@npm:^7.0.2": - version: 7.0.4 - resolution: "cacheable-request@npm:7.0.4" +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1": + version: 1.0.1 + resolution: "call-bind-apply-helpers@npm:1.0.1" dependencies: - clone-response: ^1.0.2 - get-stream: ^5.1.0 - http-cache-semantics: ^4.0.0 - keyv: ^4.0.0 - lowercase-keys: ^2.0.0 - normalize-url: ^6.0.1 - responselike: ^2.0.0 - checksum: 0de9df773fd4e7dd9bd118959878f8f2163867e2e1ab3575ffbecbe6e75e80513dd0c68ba30005e5e5a7b377cc6162bbc00ab1db019bb4e9cb3c2f3f7a6f1ee4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + checksum: 3c55343261bb387c58a4762d15ad9d42053659a62681ec5eb50690c6b52a4a666302a01d557133ce6533e8bd04530ee3b209f23dd06c9577a1925556f8fcccdf languageName: node linkType: hard -"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" dependencies: + call-bind-apply-helpers: ^1.0.0 es-define-property: ^1.0.0 - es-errors: ^1.3.0 - function-bind: ^1.1.2 get-intrinsic: ^1.2.4 - set-function-length: ^1.2.1 - checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 + set-function-length: ^1.2.2 + checksum: aa2899bce917a5392fd73bd32e71799c37c0b7ab454e0ed13af7f6727549091182aade8bbb7b55f304a5bc436d543241c14090fb8a3137e9875e23f444f4f5a9 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": + version: 1.0.3 + resolution: "call-bound@npm:1.0.3" + dependencies: + call-bind-apply-helpers: ^1.0.1 + get-intrinsic: ^1.2.6 + checksum: a93bbe0f2d0a2d6c144a4349ccd0593d5d0d5d9309b69101710644af8964286420062f2cc3114dca120b9bc8cc07507952d4b1b3ea7672e0d7f6f1675efedb32 languageName: node linkType: hard -"call-me-maybe@npm:^1.0.1": +"call-me-maybe@npm:^1.0.1, call-me-maybe@npm:^1.0.2": version: 1.0.2 resolution: "call-me-maybe@npm:1.0.2" checksum: 42ff2d0bed5b207e3f0122589162eaaa47ba618f79ad2382fe0ba14d9e49fbf901099a6227440acc5946f86a4953e8aa2d242b330b0a5de4d090bb18f8935cae @@ -24106,23 +24642,23 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001669 - resolution: "caniuse-lite@npm:1.0.30001669" - checksum: 8ed0c69d0c6aa3b1cbc5ba4e5f5330943e7b7165e257f6955b8b73f043d07ad922265261f2b54d9bbaf02886bbdba5e6f5b16662310a13f91f17035af3212de1 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001688": + version: 1.0.30001692 + resolution: "caniuse-lite@npm:1.0.30001692" + checksum: 484113e3fabbe223fff0380c25c861da265a34c3f75bb5af1f254423b43e713a3c7f0c313167df52fb203f42ea68bd0df8a9e73642becfe1e9fa5734b5fc55a5 languageName: node linkType: hard "casbin@npm:^5.27.0, casbin@npm:^5.27.1": - version: 5.28.0 - resolution: "casbin@npm:5.28.0" + version: 5.37.0 + resolution: "casbin@npm:5.37.0" dependencies: + "@casbin/expression-eval": ^5.3.0 await-lock: ^2.0.1 buffer: ^6.0.3 - csv-parse: ^5.3.5 - expression-eval: ^5.0.0 + csv-parse: ^5.5.6 minimatch: ^7.4.2 - checksum: 84b06be09065c31be9ed430b0ce3bbfcc552b5a70cf8b3d307a522f8c6068e9e797c29e2bb27df655a714c04dafe13e19d9315a0108b7bce45cbb7d205cb3daf + checksum: 45330317f2704b534a78efcb42cfd62ac3f0bebbc87ae3996aede918d5a257712db499e0e151a0924d56f7b30b27b31509cb596f60f0fd7160b1e9a8c2520a1c languageName: node linkType: hard @@ -24289,9 +24825,9 @@ __metadata: linkType: hard "chrome-trace-event@npm:^1.0.2": - version: 1.0.3 - resolution: "chrome-trace-event@npm:1.0.3" - checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 + version: 1.0.4 + resolution: "chrome-trace-event@npm:1.0.4" + checksum: fcbbd9dd0cd5b48444319007cc0c15870fd8612cc0df320908aa9d5e8a244084d48571eb28bf3c58c19327d2c5838f354c2d89fac3956d8e992273437401ac19 languageName: node linkType: hard @@ -24312,12 +24848,12 @@ __metadata: linkType: hard "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.4 - resolution: "cipher-base@npm:1.0.4" + version: 1.0.6 + resolution: "cipher-base@npm:1.0.6" dependencies: - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e + inherits: ^2.0.4 + safe-buffer: ^5.2.1 + checksum: 64a1738a8583163cf096bc85321a69ef3075bb0873f34cf89dc705e62b9eee058dd6b2e5c672f774ede0b6bdbe56fe7b710e0d38c4f08a2f355d8ab828f05c6f languageName: node linkType: hard @@ -24445,15 +24981,6 @@ __metadata: languageName: node linkType: hard -"clone-response@npm:^1.0.2": - version: 1.0.3 - resolution: "clone-response@npm:1.0.3" - dependencies: - mimic-response: ^1.0.0 - checksum: 4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e - languageName: node - linkType: hard - "clone@npm:2.x": version: 2.1.2 resolution: "clone@npm:2.1.2" @@ -24482,7 +25009,7 @@ __metadata: languageName: node linkType: hard -"cluster-key-slot@npm:^1.1.0": +"cluster-key-slot@npm:1.1.2, cluster-key-slot@npm:^1.1.0, cluster-key-slot@npm:^1.1.2": version: 1.1.2 resolution: "cluster-key-slot@npm:1.1.2" checksum: be0ad2d262502adc998597e83f9ded1b80f827f0452127c5a37b22dfca36bab8edf393f7b25bb626006fb9fb2436106939ede6d2d6ecf4229b96a47f27edd681 @@ -24496,7 +25023,7 @@ __metadata: languageName: node linkType: hard -"code-block-writer@npm:^13.0.1": +"code-block-writer@npm:^13.0.3": version: 13.0.3 resolution: "code-block-writer@npm:13.0.3" checksum: 8e234f0ec2db9625d5efb9f05bdae79da6559bb4d9df94a6aa79a89a7b5ae25093b70d309fc5122840c9c07995cb14b4dd3f98a30f8878e3a3372e177df79454 @@ -24504,23 +25031,23 @@ __metadata: linkType: hard "codemirror-graphql@npm:^2.0.11, codemirror-graphql@npm:^2.0.13": - version: 2.1.1 - resolution: "codemirror-graphql@npm:2.1.1" + version: 2.2.0 + resolution: "codemirror-graphql@npm:2.2.0" dependencies: "@types/codemirror": ^0.0.90 graphql-language-service: 5.3.0 peerDependencies: "@codemirror/language": 6.0.0 codemirror: ^5.65.3 - graphql: ^15.5.0 || ^16.0.0 || ^17.0.0-alpha.2 - checksum: e839875d89d121ed0b1a5229492fc25401877f213431506ca3a242cc991e32bc28d4ed885de0ffd0af9c4738ea9770c529bbdbd59b84f757a4b1454e9e68d829 + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + checksum: 74640931a744e50f3e8432e9f794da28f09911e80ed8db69ba261c283814639008b4ef97261e7c285d91b913124e3aca4e9c20ae613b48dc002559478884ca46 languageName: node linkType: hard "codemirror@npm:^5.65.3": - version: 5.65.16 - resolution: "codemirror@npm:5.65.16" - checksum: 1c5036bfffcce19b1ff91d8b158dcb45faba27047c4093f55ea7ad1165975179eb47c9ef604baa9c4f4ea6bf9817886c767f33e72fa9c62710404029be3c4744 + version: 5.65.18 + resolution: "codemirror@npm:5.65.18" + checksum: 950015d587e0790cceae157423bbc70bf1da8256050c8f6739fe967045b050e22c63b332de6388ed6d9526d253a834806ace76c875006fc8078e2c15c9f275a7 languageName: node linkType: hard @@ -24756,13 +25283,6 @@ __metadata: languageName: node linkType: hard -"common-path-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "common-path-prefix@npm:3.0.0" - checksum: fdb3c4f54e51e70d417ccd950c07f757582de800c0678ca388aedefefc84982039f346f9fd9a1252d08d2da9e9ef4019f580a1d1d3a10da031e4bb3c924c5818 - languageName: node - linkType: hard - "common-tags@npm:^1.8.0": version: 1.8.2 resolution: "common-tags@npm:1.8.2" @@ -24778,9 +25298,9 @@ __metadata: linkType: hard "complex.js@npm:^2.1.1": - version: 2.1.1 - resolution: "complex.js@npm:2.1.1" - checksum: a0802cc3f0eb7703088edfc3fe209ae7be5ce93c0e710a0f288be2e29ee31b3530a8c0d3330d7c2a668410dfe4293a4038554d66c7f1f1165997941bdc1092aa + version: 2.4.2 + resolution: "complex.js@npm:2.4.2" + checksum: 989332b1ca2ac4c71cb42e79501b535f5c95e2356570a027a47cd03e515ff1ddfe4ea497dc26edf249610e097fe730092f498995306f02ad0443f9a5a7b6e5f3 languageName: node linkType: hard @@ -24791,27 +25311,15 @@ __metadata: languageName: node linkType: hard -"compress-commons@npm:^4.1.2": - version: 4.1.2 - resolution: "compress-commons@npm:4.1.2" - dependencies: - buffer-crc32: ^0.2.13 - crc32-stream: ^4.0.2 - normalize-path: ^3.0.0 - readable-stream: ^3.6.0 - checksum: b50c4b5d6b8917ea164eef81d414b1824f27e02427f9266926c80aad55f9e15f81f74c274770773c2b732c22d1081b81dedce4f133271a466151f7f36b8e9dc9 - languageName: node - linkType: hard - "compress-commons@npm:^5.0.1": - version: 5.0.1 - resolution: "compress-commons@npm:5.0.1" + version: 5.0.3 + resolution: "compress-commons@npm:5.0.3" dependencies: crc-32: ^1.2.0 crc32-stream: ^5.0.0 normalize-path: ^3.0.0 readable-stream: ^3.6.0 - checksum: 65a68e56211a8d1dbe9dab0d35f1bd60a4df27aa01e6c3f0883080263e228c460758bab4f083637a380d4a96d2326722972a42ea1951360cc69728a3915f209f + checksum: a88c58bbde4859036396209d36928003ea3494c713e9476af51c2f720d299b96c46ed966a86707aa5dc07672c850291ed1a6802ce37dd2b532f9733b600f00b7 languageName: node linkType: hard @@ -24828,7 +25336,7 @@ __metadata: languageName: node linkType: hard -"compressible@npm:^2.0.12, compressible@npm:~2.0.16": +"compressible@npm:~2.0.18": version: 2.0.18 resolution: "compressible@npm:2.0.18" dependencies: @@ -24838,17 +25346,17 @@ __metadata: linkType: hard "compression@npm:^1.7.4": - version: 1.7.4 - resolution: "compression@npm:1.7.4" + version: 1.7.5 + resolution: "compression@npm:1.7.5" dependencies: - accepts: ~1.3.5 - bytes: 3.0.0 - compressible: ~2.0.16 + bytes: 3.1.2 + compressible: ~2.0.18 debug: 2.6.9 + negotiator: ~0.6.4 on-headers: ~1.0.2 - safe-buffer: 5.1.2 + safe-buffer: 5.2.1 vary: ~1.1.2 - checksum: 35c0f2eb1f28418978615dc1bc02075b34b1568f7f56c62d60f4214d4b7cc00d0f6d282b5f8a954f59872396bd770b6b15ffd8aa94c67d4bce9b8887b906999b + checksum: d624b5562492518eee82c4f1381ea36f69f1f10b4283bfc2dcafd7d4d7eeed17c3f0e8f2951798594b7064db7ac5a6198df34816bde2d56bb7c75ce1570880e9 languageName: node linkType: hard @@ -24933,12 +25441,12 @@ __metadata: linkType: hard "connect-session-knex@npm:^4.0.0": - version: 4.0.0 - resolution: "connect-session-knex@npm:4.0.0" + version: 4.0.2 + resolution: "connect-session-knex@npm:4.0.2" dependencies: bluebird: ^3.7.2 knex: 3 - checksum: 88454b9b0b78e89cf27fe95a443f8051e43603b68c1c671acfa5a91e1a0abac1e8afd6888e1f3ea53b4b862305e47f6be46c8c4cd238f2f469cba676a25c776e + checksum: da4e097aee7737a2c087ec8f8a5e43962132d7968b009fbf2e65bf10a4aa07efa1305f6e5e2025256d5b872d7118b7d53e970beec07f4901e6216942132062f8 languageName: node linkType: hard @@ -24999,12 +25507,12 @@ __metadata: linkType: hard "cookie-parser@npm:^1.4.5": - version: 1.4.6 - resolution: "cookie-parser@npm:1.4.6" + version: 1.4.7 + resolution: "cookie-parser@npm:1.4.7" dependencies: - cookie: 0.4.1 + cookie: 0.7.2 cookie-signature: 1.0.6 - checksum: 1e5a63aa82e8eb4e02d2977c6902983dee87b02e87ec5ec43ac3cb1e72da354003716570cd5190c0ad9e8a454c9d3237f4ad6e2f16d0902205a96a1c72b77ba5 + checksum: 243fa13f217e793d20a57675e6552beea08c5989fcc68495d543997a31646875335e0e82d687b42dcfd466df57891d22bae7f5ba6ab33b7705ed2dd6eb989105 languageName: node linkType: hard @@ -25022,20 +25530,6 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.4.1": - version: 0.4.1 - resolution: "cookie@npm:0.4.1" - checksum: bd7c47f5d94ab70ccdfe8210cde7d725880d2fcda06d8e375afbdd82de0c8d3b73541996e9ce57d35f67f672c4ee6d60208adec06b3c5fc94cebb85196084cf8 - languageName: node - linkType: hard - -"cookie@npm:0.6.0, cookie@npm:^0.6.0, cookie@npm:~0.6.0": - version: 0.6.0 - resolution: "cookie@npm:0.6.0" - checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 - languageName: node - linkType: hard - "cookie@npm:0.7.1": version: 0.7.1 resolution: "cookie@npm:0.7.1" @@ -25043,6 +25537,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:0.7.2, cookie@npm:^0.7.0": + version: 0.7.2 + resolution: "cookie@npm:0.7.2" + checksum: 9bf8555e33530affd571ea37b615ccad9b9a34febbf2c950c86787088eb00a8973690833b0f8ebd6b69b753c62669ea60cec89178c1fb007bf0749abed74f93e + languageName: node + linkType: hard + "cookie@npm:^0.4.2": version: 0.4.2 resolution: "cookie@npm:0.4.2" @@ -25050,17 +25551,17 @@ __metadata: languageName: node linkType: hard -"cookie@npm:^0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 +"cookie@npm:^0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: f56a7d32a07db5458e79c726b77e3c2eff655c36792f2b6c58d351fb5f61531e5b1ab7f46987150136e366c65213cbe31729e02a3eaed630c3bf7334635fb410 languageName: node linkType: hard -"cookie@npm:^0.7.0": - version: 0.7.2 - resolution: "cookie@npm:0.7.2" - checksum: 9bf8555e33530affd571ea37b615ccad9b9a34febbf2c950c86787088eb00a8973690833b0f8ebd6b69b753c62669ea60cec89178c1fb007bf0749abed74f93e +"cookie@npm:^1.0.1": + version: 1.0.2 + resolution: "cookie@npm:1.0.2" + checksum: 2c5a6214147ffa7135ce41860c781de17e93128689b0d080d3116468274b3593b607bcd462ac210d3a61f081db3d3b09ae106e18d60b1f529580e95cf2db8a55 languageName: node linkType: hard @@ -25100,19 +25601,19 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": - version: 3.37.1 - resolution: "core-js-compat@npm:3.37.1" +"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": + version: 3.40.0 + resolution: "core-js-compat@npm:3.40.0" dependencies: - browserslist: ^4.23.0 - checksum: 5e7430329358bced08c30950512d2081aea0a5652b4c5892cbb3c4a6db05b0d3893a191a955162a07fdb5f4fe74e61b6429fdb503f54e062336d76e43c9555d9 + browserslist: ^4.24.3 + checksum: 7ad00607c481ab2ded13d72be9ca5db5bbf42e221a175e905fb425e1ef520864aea28736c7283f57e9552d570eb6204bed87fbc8b9eab0fcfd9a7830dacccd43 languageName: node linkType: hard "core-js-pure@npm:^3.23.3, core-js-pure@npm:^3.30.2": - version: 3.36.0 - resolution: "core-js-pure@npm:3.36.0" - checksum: 12a0588981efdc710426c688f6d5f6abaee76858ff32d21c6d7b81bc81c39b7cebb2733f8e822862b2a7f329f8fe37065a33ff6c4fd9253b3a1ad3cf636e483e + version: 3.40.0 + resolution: "core-js-pure@npm:3.40.0" + checksum: 14e7bd3ef1d39bbeb079b820b0f15f699a0f1589c640818c17679e00ae8c2baf1e0fe8e2734e04562d89b648626d4bc52660e5c44b216107160dbf2fe7e36c5a languageName: node linkType: hard @@ -25124,9 +25625,9 @@ __metadata: linkType: hard "core-js@npm:^3.6.5": - version: 3.36.0 - resolution: "core-js@npm:3.36.0" - checksum: 48c807d5055ad0424f52d13583e96ddca2efcdc4e3cd9c479d60f269c8fe225191cd4e26a4593f43f7ef6dba08d161091147ecf8ae0300c15bc648a4f555217b + version: 3.40.0 + resolution: "core-js@npm:3.40.0" + checksum: fc962b93470fd4a129555c765b630c1741fc38706bca68779879f0feaef3b6eec11a33904e3111b2b0e8ba206e8cfbc2a70193271227cfa2f2d13a986f78e557 languageName: node linkType: hard @@ -25204,14 +25705,14 @@ __metadata: languageName: node linkType: hard -"cpu-features@npm:~0.0.9": - version: 0.0.9 - resolution: "cpu-features@npm:0.0.9" +"cpu-features@npm:~0.0.10": + version: 0.0.10 + resolution: "cpu-features@npm:0.0.10" dependencies: buildcheck: ~0.0.6 - nan: ^2.17.0 + nan: ^2.19.0 node-gyp: latest - checksum: 1ff6045a16d32d9667d5dd69c7d485944494d3378ac9381c52bca772bd0c948812eaeda55a76ef09212b0c0e0c575e5d53221899ce51692b1196089452c5aef1 + checksum: ab17e25cea0b642bdcfd163d3d872be4cc7d821e854d41048557799e990d672ee1cc7bd1d4e7c4de0309b1683d4c001d36ba8569b5035d1e7e2ff2d681f681d7 languageName: node linkType: hard @@ -25224,23 +25725,13 @@ __metadata: languageName: node linkType: hard -"crc32-stream@npm:^4.0.2": - version: 4.0.3 - resolution: "crc32-stream@npm:4.0.3" - dependencies: - crc-32: ^1.2.0 - readable-stream: ^3.4.0 - checksum: d44d0ec6f04d8a1bed899ac3e4fbb82111ed567ea6d506be39147362af45c747887fce1032f4beca1646b4824e5a9614cd3332bfa94bbc5577ca5445e7f75ddd - languageName: node - linkType: hard - "crc32-stream@npm:^5.0.0": - version: 5.0.0 - resolution: "crc32-stream@npm:5.0.0" + version: 5.0.1 + resolution: "crc32-stream@npm:5.0.1" dependencies: crc-32: ^1.2.0 readable-stream: ^3.4.0 - checksum: 8e5dd04f22f3fbecc623492395107fbed2114f225bd606e39e8ed338f2fc1c454ac02a05741243620ab526473cb867fa86411a44a7ffcd88457cc1c2af82d0bc + checksum: 5bd40b58488d9a4387ad799fb04d0896e7e2ca63afeedd56df9a115af3437cf83976ae07fd2402692f88efcbd2f738134a1f25366ca47e217601b6baa5388f89 languageName: node linkType: hard @@ -25254,7 +25745,7 @@ __metadata: languageName: node linkType: hard -"create-ecdh@npm:^4.0.0": +"create-ecdh@npm:^4.0.4": version: 4.0.4 resolution: "create-ecdh@npm:4.0.4" dependencies: @@ -25277,7 +25768,7 @@ __metadata: languageName: node linkType: hard -"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": +"create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": version: 1.1.7 resolution: "create-hmac@npm:1.1.7" dependencies: @@ -25332,48 +25823,48 @@ __metadata: linkType: hard "cron@npm:^3.0.0": - version: 3.1.6 - resolution: "cron@npm:3.1.6" + version: 3.5.0 + resolution: "cron@npm:3.5.0" dependencies: - "@types/luxon": ~3.3.0 - luxon: ~3.4.0 - checksum: e97bb6f85acf3195577c609f28bbac2e22812d8632802752a13591882deceeeeefd2c91c1293fb5102ef442f96ae17ca687854fd0b005149aae9a25834363e1d + "@types/luxon": ~3.4.0 + luxon: ~3.5.0 + checksum: 4fa321201ea7d9ee64411f12e18c1fe6d3fd7c83b33a97ccdcb81f6f2db8c0d3f3b2e23d2b4f70ee85ad30a915e86e05c31ee8ee8f2c385be26b877fce1abc5d languageName: node linkType: hard "cronstrue@npm:^2.2.0, cronstrue@npm:^2.32.0": - version: 2.48.0 - resolution: "cronstrue@npm:2.48.0" + version: 2.53.0 + resolution: "cronstrue@npm:2.53.0" bin: cronstrue: bin/cli.js - checksum: d767d0f2cc1e286256bf6a92f555aacd1da103e97efd3dfc057a6f836f449b34302ace9fc00fdd28732fa5f8be1a1e940cef1a222b23dff90a419f33b3ff45aa + checksum: 46205c660dcaedabd885c777d7856e514d860b295de5876c094c608f6bbd31d2131e8af9f0f398580159b398fcd62806e42db2b00de5d52e834524228cfdbd7c languageName: node linkType: hard "cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": - version: 3.1.8 - resolution: "cross-fetch@npm:3.1.8" + version: 3.2.0 + resolution: "cross-fetch@npm:3.2.0" dependencies: - node-fetch: ^2.6.12 - checksum: 78f993fa099eaaa041122ab037fe9503ecbbcb9daef234d1d2e0b9230a983f64d645d088c464e21a247b825a08dc444a6e7064adfa93536d3a9454b4745b3632 + node-fetch: ^2.7.0 + checksum: 8ded5ea35f705e81e569e7db244a3f96e05e95996ff51877c89b0c1ec1163c76bb5dad77d0f8fba6bb35a0abacb36403d7271dc586d8b1f636110ee7a8d959fd languageName: node linkType: hard "cross-fetch@npm:^4.0.0": - version: 4.0.0 - resolution: "cross-fetch@npm:4.0.0" + version: 4.1.0 + resolution: "cross-fetch@npm:4.1.0" dependencies: - node-fetch: ^2.6.12 - checksum: ecca4f37ffa0e8283e7a8a590926b66713a7ef7892757aa36c2d20ffa27b0ac5c60dcf453119c809abe5923fc0bae3702a4d896bfb406ef1077b0d0018213e24 + node-fetch: ^2.7.0 + checksum: c02fa85d59f83e50dbd769ee472c9cc984060c403ee5ec8654659f61a525c1a655eef1c7a35e365c1a107b4e72d76e786718b673d1cb3c97f61d4644cb0a9f9d languageName: node linkType: hard -"cross-inspect@npm:1.0.0": - version: 1.0.0 - resolution: "cross-inspect@npm:1.0.0" +"cross-inspect@npm:1.0.1": + version: 1.0.1 + resolution: "cross-inspect@npm:1.0.1" dependencies: tslib: ^2.4.0 - checksum: 975c81799549627027254eb70f1c349cefb14435d580bea6f351f510c839dcb1a9288983407bac2ad317e6eff29cf1e99299606da21f404562bfa64cec502239 + checksum: 7c1e02e0a9670b62416a3ea1df7ae880fdad3aa0a857de8932c4e5f8acd71298c7e3db9da8e9da603f5692cd1879938f5e72e34a9f5d1345987bef656d117fc1 languageName: node linkType: hard @@ -25389,21 +25880,22 @@ __metadata: linkType: hard "crypto-browserify@npm:^3.11.0": - version: 3.12.0 - resolution: "crypto-browserify@npm:3.12.0" + version: 3.12.1 + resolution: "crypto-browserify@npm:3.12.1" dependencies: - browserify-cipher: ^1.0.0 - browserify-sign: ^4.0.0 - create-ecdh: ^4.0.0 - create-hash: ^1.1.0 - create-hmac: ^1.1.0 - diffie-hellman: ^5.0.0 - inherits: ^2.0.1 - pbkdf2: ^3.0.3 - public-encrypt: ^4.0.0 - randombytes: ^2.0.0 - randomfill: ^1.0.3 - checksum: c1609af82605474262f3eaa07daa0b2140026bd264ab316d4bf1170272570dbe02f0c49e29407fe0d3634f96c507c27a19a6765fb856fed854a625f9d15618e2 + browserify-cipher: ^1.0.1 + browserify-sign: ^4.2.3 + create-ecdh: ^4.0.4 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + diffie-hellman: ^5.0.3 + hash-base: ~3.0.4 + inherits: ^2.0.4 + pbkdf2: ^3.1.2 + public-encrypt: ^4.0.3 + randombytes: ^2.1.0 + randomfill: ^1.0.4 + checksum: 4e643dd5acfff80fbe2cc567feb75a22d726cc4df34772c988f326976c3c1ee1f8a611a33498dab11568cff3e134f0bd44a0e1f4c216585e5877ab5327cdb6fc languageName: node linkType: hard @@ -25435,14 +25927,14 @@ __metadata: linkType: hard "css-loader@npm:^6.5.1": - version: 6.10.0 - resolution: "css-loader@npm:6.10.0" + version: 6.11.0 + resolution: "css-loader@npm:6.11.0" dependencies: icss-utils: ^5.1.0 postcss: ^8.4.33 - postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.4 - postcss-modules-scope: ^3.1.1 + postcss-modules-extract-imports: ^3.1.0 + postcss-modules-local-by-default: ^4.0.5 + postcss-modules-scope: ^3.2.0 postcss-modules-values: ^4.0.0 postcss-value-parser: ^4.2.0 semver: ^7.5.4 @@ -25454,7 +25946,7 @@ __metadata: optional: true webpack: optional: true - checksum: ee3d62b5f7e4eb24281a22506431e920d07a45bd6ea627731ce583f3c6a846ab8b8b703bace599b9b35256b9e762f9f326d969abb72b69c7e6055eacf39074fd + checksum: 5c8d35975a7121334905394e88e28f05df72f037dbed2fb8fec4be5f0b313ae73a13894ba791867d4a4190c35896da84a7fd0c54fb426db55d85ba5e714edbe3 languageName: node linkType: hard @@ -25626,13 +26118,6 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.4.4": - version: 0.4.4 - resolution: "cssom@npm:0.4.4" - checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f - languageName: node - linkType: hard - "cssom@npm:^0.5.0": version: 0.5.0 resolution: "cssom@npm:0.5.0" @@ -25656,6 +26141,16 @@ __metadata: languageName: node linkType: hard +"cssstyle@npm:^4.2.1": + version: 4.2.1 + resolution: "cssstyle@npm:4.2.1" + dependencies: + "@asamuzakjp/css-color": ^2.8.2 + rrweb-cssom: ^0.8.0 + checksum: 415a501e94e15244f906dfd5913a5775997406709115a39a5b11ca9e79df0de4c8c3efe39e893a2cbf96f8bf21b996ba1d7bc54f6d139293477ecf29e15dcf50 + languageName: node + linkType: hard + "csstype@npm:^2.5.2": version: 2.6.21 resolution: "csstype@npm:2.6.21" @@ -25670,17 +26165,17 @@ __metadata: languageName: node linkType: hard -"csv-parse@npm:^5.3.5, csv-parse@npm:^5.5.5": - version: 5.5.6 - resolution: "csv-parse@npm:5.5.6" - checksum: ee06f97f674487dc1d001b360de8ea510a41b9d971abf43bcf9c3be22c83a3634df0d3ebfbe52fd49d145077066be7ff9f25de3fc6b71aefb973099b04147a25 +"csv-parse@npm:^5.5.5, csv-parse@npm:^5.5.6": + version: 5.6.0 + resolution: "csv-parse@npm:5.6.0" + checksum: 173e176bdaf212bab37d0f6d39a06d039d24a1c0ee40b9f1023ebf8b36095934807deeb493c0fb58592b39b0682ccd0be5c9e8d2b137c08807e7031595ea7a51 languageName: node linkType: hard "ctrlc-windows@npm:^2.1.0": - version: 2.1.0 - resolution: "ctrlc-windows@npm:2.1.0" - checksum: 0f0582ba9516290d3e90ea7b91710f8b9b110e1ed29b7c84ebd44c16368b2553722b86a17226120ca3ea0ef679ac3596f48104cc113cfb7c3d07260f6c92e38b + version: 2.2.0 + resolution: "ctrlc-windows@npm:2.2.0" + checksum: 4f69ce1b19c6533396c1ac05669f1e7fa96f676a6dd0c70320281974630b50716b454f8cee51f3207719498cf9029b052f21a38fda01ad402ad87ac4b76a829f languageName: node linkType: hard @@ -26075,6 +26570,13 @@ __metadata: languageName: node linkType: hard +"data-uri-to-buffer@npm:^4.0.0": + version: 4.0.1 + resolution: "data-uri-to-buffer@npm:4.0.1" + checksum: 0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c + languageName: node + linkType: hard + "data-uri-to-buffer@npm:^6.0.2": version: 6.0.2 resolution: "data-uri-to-buffer@npm:6.0.2" @@ -26082,17 +26584,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^2.0.0": - version: 2.0.0 - resolution: "data-urls@npm:2.0.0" - dependencies: - abab: ^2.0.3 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.0.0 - checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 - languageName: node - linkType: hard - "data-urls@npm:^3.0.2": version: 3.0.2 resolution: "data-urls@npm:3.0.2" @@ -26104,10 +26595,53 @@ __metadata: languageName: node linkType: hard -"dataloader@npm:^2.0.0, dataloader@npm:^2.2.2": - version: 2.2.2 - resolution: "dataloader@npm:2.2.2" - checksum: 4dabd247089c29f194e94d5434d504f99156c5c214a03463c20f3f17f40398d7e179edee69a27c16e315519ac8739042a810090087ae26449a0e685156a02c65 +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" + dependencies: + whatwg-mimetype: ^4.0.0 + whatwg-url: ^14.0.0 + checksum: 5c40568c31b02641a70204ff233bc4e42d33717485d074244a98661e5f2a1e80e38fe05a5755dfaf2ee549f2ab509d6a3af2a85f4b2ad2c984e5d176695eaf46 + languageName: node + linkType: hard + +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" + dependencies: + call-bound: ^1.0.3 + es-errors: ^1.3.0 + is-data-view: ^1.0.2 + checksum: 1e1cd509c3037ac0f8ba320da3d1f8bf1a9f09b0be09394b5e40781b8cc15ff9834967ba7c9f843a425b34f9fe14ce44cf055af6662c44263424c1eb8d65659b + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" + dependencies: + call-bound: ^1.0.3 + es-errors: ^1.3.0 + is-data-view: ^1.0.2 + checksum: 3600c91ced1cfa935f19ef2abae11029e01738de8d229354d3b2a172bf0d7e4ed08ff8f53294b715569fdf72dfeaa96aa7652f479c0f60570878d88e7e8bddf6 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: 8dd492cd51d19970876626b5b5169fbb67ca31ec1d1d3238ee6a71820ca8b80cafb141c485999db1ee1ef02f2cc3b99424c5eda8d59e852d9ebb79ab290eb5ee + languageName: node + linkType: hard + +"dataloader@npm:^2.0.0, dataloader@npm:^2.2.3": + version: 2.2.3 + resolution: "dataloader@npm:2.2.3" + checksum: cc272181f6cad0ea20511c0a0d270cbc1df960a3526ab24941bbeb2cb7120499a598fe2cd41b4818527367acf7bc1be0723b6e5034637db4759a396c904b78a6 languageName: node linkType: hard @@ -26135,9 +26669,9 @@ __metadata: linkType: hard "dayjs@npm:^1.11.10, dayjs@npm:^1.11.9": - version: 1.11.10 - resolution: "dayjs@npm:1.11.10" - checksum: a6b5a3813b8884f5cd557e2e6b7fa569f4c5d0c97aca9558e38534af4f2d60daafd3ff8c2000fed3435cfcec9e805bcebd99f90130c6d1c5ef524084ced588c4 + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: f388db88a6aa93956c1f6121644e783391c7b738b73dbc54485578736565c8931bdfba4bb94e9b1535c6e509c97d5deb918bbe1ae6b34358d994de735055cca9 languageName: node linkType: hard @@ -26164,15 +26698,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6": - version: 4.3.7 - resolution: "debug@npm:4.3.7" +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:~4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" dependencies: ms: ^2.1.3 peerDependenciesMeta: supports-color: optional: true - checksum: 822d74e209cd910ef0802d261b150314bbcf36c582ccdbb3e70f0894823c17e49a50d3e66d96b633524263975ca16b6a833f3e3b7e030c157169a5fabac63160 + checksum: fb42df878dd0e22816fc56e1fdca9da73caa85212fbe40c868b1295a6878f9101ae684f4eeef516c13acfc700f5ea07f1136954f43d4cd2d477a811144136479 languageName: node linkType: hard @@ -26206,19 +26740,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:~4.4.0": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: ^2.1.3 - peerDependenciesMeta: - supports-color: - optional: true - checksum: fb42df878dd0e22816fc56e1fdca9da73caa85212fbe40c868b1295a6878f9101ae684f4eeef516c13acfc700f5ea07f1136954f43d4cd2d477a811144136479 - languageName: node - linkType: hard - -"decimal.js@npm:^10.2.1, decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3": +"decimal.js@npm:^10.4.2, decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae @@ -26234,13 +26756,6 @@ __metadata: languageName: node linkType: hard -"decode-uri-component@npm:^0.2.2": - version: 0.2.2 - resolution: "decode-uri-component@npm:0.2.2" - checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139 - languageName: node - linkType: hard - "decompress-response@npm:^6.0.0": version: 6.0.0 resolution: "decompress-response@npm:6.0.0" @@ -26251,14 +26766,14 @@ __metadata: linkType: hard "dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" + version: 1.5.3 + resolution: "dedent@npm:1.5.3" peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: babel-plugin-macros: optional: true - checksum: c3c300a14edf1bdf5a873f9e4b22e839d62490bc5c8d6169c1f15858a1a76733d06a9a56930e963d677a2ceeca4b6b0894cc5ea2f501aa382ca5b92af3413c2a + checksum: 045b595557b2a8ea2eb9b0b4623d764e9a87326486fe2b61191b4342ed93dc01245644d8a09f3108a50c0ee7965f1eedd92e4a3a503ed89ea8e810566ea27f9a languageName: node linkType: hard @@ -26379,14 +26894,7 @@ __metadata: languageName: node linkType: hard -"defer-to-connect@npm:^2.0.0": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b - languageName: node - linkType: hard - -"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1, define-data-property@npm:^1.1.2, define-data-property@npm:^1.1.4": +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" dependencies: @@ -26411,7 +26919,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -26458,13 +26966,6 @@ __metadata: languageName: node linkType: hard -"delay@npm:^5.0.0": - version: 5.0.0 - resolution: "delay@npm:5.0.0" - checksum: 62f151151ecfde0d9afbb8a6be37a6d103c4cb24f35a20ef3fe56f920b0d0d0bb02bc9c0a3084d0179ef669ca332b91155f2ee4d9854622cd2cdba5fc95285f9 - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -26562,9 +27063,9 @@ __metadata: linkType: hard "detect-libc@npm:^2.0.0": - version: 2.0.2 - resolution: "detect-libc@npm:2.0.2" - checksum: 2b2cd3649b83d576f4be7cc37eb3b1815c79969c8b1a03a40a4d55d83bc74d010753485753448eacb98784abf22f7dbd3911fd3b60e29fda28fed2d1a997944d + version: 2.0.3 + resolution: "detect-libc@npm:2.0.3" + checksum: 2ba6a939ae55f189aea996ac67afceb650413c7a34726ee92c40fb0deb2400d57ef94631a8a3f052055eea7efb0f99a9b5e6ce923415daa3e68221f963cfc27d languageName: node linkType: hard @@ -26649,7 +27150,7 @@ __metadata: languageName: node linkType: hard -"diffie-hellman@npm:^5.0.0": +"diffie-hellman@npm:^5.0.3": version: 5.0.3 resolution: "diffie-hellman@npm:5.0.3" dependencies: @@ -26703,7 +27204,7 @@ __metadata: languageName: node linkType: hard -"docker-compose@npm:^0.24.6": +"docker-compose@npm:^0.24.8": version: 0.24.8 resolution: "docker-compose@npm:0.24.8" dependencies: @@ -26724,15 +27225,15 @@ __metadata: languageName: node linkType: hard -"docker-modem@npm:^5.0.3": - version: 5.0.3 - resolution: "docker-modem@npm:5.0.3" +"docker-modem@npm:^5.0.5": + version: 5.0.6 + resolution: "docker-modem@npm:5.0.6" dependencies: debug: ^4.1.1 readable-stream: ^3.5.0 split-ca: ^1.0.1 ssh2: ^1.15.0 - checksum: 68f4948591622860ca95c10a01cae7f53ff2b2e8435b73b901698083b24ceb24208da12c1db2c47f073d48bc2f64a274cbf30e3c73979734f6fb3fbdf5bdb72e + checksum: 111b69a99b5eff10cc2a67b08c0de08bbd3ad7e351419a0b9716a72c23febca50f5cff03a93347f8c0386d7687af097b0a5bb9c33fbeab76e90b70068d1d5c49 languageName: node linkType: hard @@ -26748,13 +27249,17 @@ __metadata: linkType: hard "dockerode@npm:^4.0.0": - version: 4.0.2 - resolution: "dockerode@npm:4.0.2" + version: 4.0.3 + resolution: "dockerode@npm:4.0.3" dependencies: "@balena/dockerignore": ^1.0.2 - docker-modem: ^5.0.3 + "@grpc/grpc-js": ^1.11.1 + "@grpc/proto-loader": ^0.7.13 + docker-modem: ^5.0.5 + protobufjs: ^7.3.2 tar-fs: ~2.0.1 - checksum: 4d36633d04ac5f662b0322d2fa4fe51fb1dd5a45f00b07379196ee5ff5dae13688a9ec1adf1edeaefab5eb22f3ae2219f62026241555a8bcf7edb396bbb5a92f + uuid: ^10.0.0 + checksum: 22f58174865607136a3b2b1c9c9e5ff6c8528d659d39022101ea29658b3c2bec3504e79578960f3976b7c82f65ee046abeab7ec11af2e936005d8036e04b72ea languageName: node linkType: hard @@ -26862,15 +27367,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^2.0.1": - version: 2.0.1 - resolution: "domexception@npm:2.0.1" - dependencies: - webidl-conversions: ^5.0.0 - checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 - languageName: node - linkType: hard - "domexception@npm:^4.0.0": version: 4.0.0 resolution: "domexception@npm:4.0.0" @@ -26907,27 +27403,25 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:=3.1.4": - version: 3.1.4 - resolution: "dompurify@npm:3.1.4" - checksum: 7b8d55d6e091c69cccfef73d066bd1bc82de32c81bc050b2c396b502afda0c853152760553aeb4d7ef86e7cf46bf49720fcb0c42a49ce939125cf40d7720ebb8 - languageName: node - linkType: hard - -"dompurify@npm:^2.2.7": - version: 2.5.6 - resolution: "dompurify@npm:2.5.6" - checksum: 1d329fe79928aa86c61539b758bdbc53df58dd90bdc5b74032a2a3a22a436e84178d8f6ad8b022c8f6fac46b26d6e7e553c0cd131a37ed5105bbed6bf87be226 - languageName: node - linkType: hard - -"dompurify@npm:^3.0.0": +"dompurify@npm:=3.1.6": version: 3.1.6 resolution: "dompurify@npm:3.1.6" checksum: cc4fc4ccd9261fbceb2a1627a985c70af231274a26ddd3f643fd0616a0a44099bd9e4480940ce3655612063be4a1fe9f5e9309967526f8c0a99f931602323866 languageName: node linkType: hard +"dompurify@npm:^3.0.0, dompurify@npm:^3.2.3": + version: 3.2.3 + resolution: "dompurify@npm:3.2.3" + dependencies: + "@types/trusted-types": ^2.0.7 + dependenciesMeta: + "@types/trusted-types": + optional: true + checksum: cd66ae8b22e1cfe5bc207b95fc119ce62f9a56eb313a9a1af6262d789d84e7bd27e29f26ed80110d108670dacb9527cb96ddf48a1da89126a37ec8b48702279a + languageName: node + linkType: hard + "domutils@npm:^1.5.1": version: 1.7.0 resolution: "domutils@npm:1.7.0" @@ -26950,13 +27444,13 @@ __metadata: linkType: hard "domutils@npm:^3.0.1": - version: 3.1.0 - resolution: "domutils@npm:3.1.0" + version: 3.2.2 + resolution: "domutils@npm:3.2.2" dependencies: dom-serializer: ^2.0.0 domelementtype: ^2.3.0 domhandler: ^5.0.3 - checksum: e5757456ddd173caa411cfc02c2bb64133c65546d2c4081381a3bafc8a57411a41eed70494551aa58030be9e58574fcc489828bebd673863d39924fb4878f416 + checksum: ae941d56f03d857077d55dde9297e960a625229fc2b933187cc4123084d7c2d2517f58283a7336567127029f1e008449bac8ac8506d44341e29e3bb18e02f906 languageName: node linkType: hard @@ -26971,9 +27465,9 @@ __metadata: linkType: hard "dotenv@npm:^16.0.3": - version: 16.4.5 - resolution: "dotenv@npm:16.4.5" - checksum: 301a12c3d44fd49888b74eb9ccf9f07a1f5df43f489e7fcb89647a2edcd84c42d6bc349dc8df099cd18f07c35c7b04685c1a4f3e6a6a9e6b30f8d48c15b7f49c + version: 16.4.7 + resolution: "dotenv@npm:16.4.7" + checksum: c27419b5875a44addcc56cc69b7dc5b0e6587826ca85d5b355da9303c6fc317fc9989f1f18366a16378c9fdd9532d14117a1abe6029cc719cdbbef6eaef2cea4 languageName: node linkType: hard @@ -26991,6 +27485,17 @@ __metadata: languageName: node linkType: hard +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: ^1.0.1 + es-errors: ^1.3.0 + gopd: ^1.2.0 + checksum: 149207e36f07bd4941921b0ca929e3a28f1da7bd6b6ff8ff7f4e2f2e460675af4576eeba359c635723dc189b64cdd4787e0255897d5b135ccc5d15cb8685fc90 + languageName: node + linkType: hard + "duplexer@npm:^0.1.2": version: 0.1.2 resolution: "duplexer@npm:0.1.2" @@ -27010,15 +27515,15 @@ __metadata: languageName: node linkType: hard -"duplexify@npm:^4.0.0": - version: 4.1.2 - resolution: "duplexify@npm:4.1.2" +"duplexify@npm:^4.0.0, duplexify@npm:^4.1.3": + version: 4.1.3 + resolution: "duplexify@npm:4.1.3" dependencies: end-of-stream: ^1.4.1 inherits: ^2.0.3 readable-stream: ^3.1.1 - stream-shift: ^1.0.0 - checksum: 964376c61c0e92f6ed0694b3ba97c84f199413dc40ab8dfdaef80b7a7f4982fcabf796214e28ed614a5bc1ec45488a29b81e7d46fa3f5ddf65bcb118c20145ad + stream-shift: ^1.0.2 + checksum: 9636a027345de3dd3c801594d01a7c73d9ce260019538beb1ee650bba7544e72f40a4d4902b52e1ab283dc32a06f210d42748773af02ff15e3064a9659deab7f languageName: node linkType: hard @@ -27026,7 +27531,7 @@ __metadata: version: 0.0.0-use.local resolution: "dynamic-plugins-utils@workspace:dynamic-plugins/_utils" dependencies: - "@backstage/cli": 0.28.2 + "@backstage/cli": 0.29.4 glob: 11.0.1 yaml: 2.7.0 languageName: unknown @@ -27100,16 +27605,16 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.41": - version: 1.5.42 - resolution: "electron-to-chromium@npm:1.5.42" - checksum: 8527f6e050b7f869d0135869587b3273fefa1cc2cbb9799bff552e10586b61860139758ee9824c803cdce632e24d4897bb7f67dcecf1c2bef279977fdfa9afa1 +"electron-to-chromium@npm:^1.5.73": + version: 1.5.83 + resolution: "electron-to-chromium@npm:1.5.83" + checksum: 729fb2eb63bee7a6ae68c19288412ff6a3cdc0a8f566e18ee37e92f3b4ce4f6cb84818d039646f323ab11d6571d4e2a1ae36724b5666280a0b82888769a8330f languageName: node linkType: hard -"elliptic@npm:^6.5.3, elliptic@npm:^6.5.4": - version: 6.5.7 - resolution: "elliptic@npm:6.5.7" +"elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" dependencies: bn.js: ^4.11.9 brorand: ^1.1.0 @@ -27118,7 +27623,7 @@ __metadata: inherits: ^2.0.4 minimalistic-assert: ^1.0.1 minimalistic-crypto-utils: ^1.0.1 - checksum: af0ffddffdbc2fea4eeec74388cd73e62ed5a0eac6711568fb28071566319785df529c968b0bf1250ba4bc628e074b2d64c54a633e034aa6f0c6b152ceb49ab8 + checksum: 27b14a52f68bbbc0720da259f712cb73e953f6d2047958cd02fb0d0ade2e83849dc39fb4af630889c67df8817e24237428cf59c4f4c07700f755b401149a7375 languageName: node linkType: hard @@ -27130,9 +27635,9 @@ __metadata: linkType: hard "emoji-regex@npm:^10.3.0": - version: 10.3.0 - resolution: "emoji-regex@npm:10.3.0" - checksum: 5da48edfeb9462fb1ae5495cff2d79129974c696853fb0ce952cbf560f29a2756825433bf51cfd5157ec7b9f93f46f31d712e896d63e3d8ac9c3832bdb45ab73 + version: 10.4.0 + resolution: "emoji-regex@npm:10.4.0" + checksum: a6d9a0e454829a52e664e049847776ee1fff5646617b06cd87de7c03ce1dfcce4102a3b154d5e9c8e90f8125bc120fc1fe114d523dddf60a8a161f26c72658d2 languageName: node linkType: hard @@ -27197,19 +27702,12 @@ __metadata: linkType: hard "enhanced-resolve@npm:^5.17.1": - version: 5.17.1 - resolution: "enhanced-resolve@npm:5.17.1" + version: 5.18.0 + resolution: "enhanced-resolve@npm:5.18.0" dependencies: graceful-fs: ^4.2.4 tapable: ^2.2.0 - checksum: 4bc38cf1cea96456f97503db7280394177d1bc46f8f87c267297d04f795ac5efa81e48115a2f5b6273c781027b5b6bfc5f62b54df629e4d25fa7001a86624f59 - languageName: node - linkType: hard - -"ent@npm:^2.2.0": - version: 2.2.0 - resolution: "ent@npm:2.2.0" - checksum: f588b5707d6fef36011ea10d530645912a69530a1eb0831f8708c498ac028363a7009f45cfadd28ceb4dafd9ac17ec15213f88d09ce239cd033cfe1328dd7d7d + checksum: 77c6b11f0d19f21f52214e5a2c0dfb7070decb4045572f44be4cacf92b4be5e2c1d9a4c044a226d1003ca9daf9b71d498d256e7520ff5060f23d0284f814d392 languageName: node linkType: hard @@ -27227,7 +27725,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 853f8ebd5b425d350bffa97dd6958143179a5938352ccae092c62d1267c4e392a039be1bae7d51b6e4ffad25f51f9617531fedf5237f15df302ccfb452cbf2d7 @@ -27287,88 +27785,89 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.22.4": - version: 1.22.4 - resolution: "es-abstract@npm:1.22.4" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": + version: 1.23.9 + resolution: "es-abstract@npm:1.23.9" dependencies: - array-buffer-byte-length: ^1.0.1 - arraybuffer.prototype.slice: ^1.0.3 - available-typed-arrays: ^1.0.6 - call-bind: ^1.0.7 - es-define-property: ^1.0.0 + array-buffer-byte-length: ^1.0.2 + arraybuffer.prototype.slice: ^1.0.4 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + data-view-buffer: ^1.0.2 + data-view-byte-length: ^1.0.2 + data-view-byte-offset: ^1.0.1 + es-define-property: ^1.0.1 es-errors: ^1.3.0 - es-set-tostringtag: ^2.0.2 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.6 - get-intrinsic: ^1.2.4 - get-symbol-description: ^1.0.2 - globalthis: ^1.0.3 - gopd: ^1.0.1 + es-object-atoms: ^1.0.0 + es-set-tostringtag: ^2.1.0 + es-to-primitive: ^1.3.0 + function.prototype.name: ^1.1.8 + get-intrinsic: ^1.2.7 + get-proto: ^1.0.0 + get-symbol-description: ^1.1.0 + globalthis: ^1.0.4 + gopd: ^1.2.0 has-property-descriptors: ^1.0.2 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - hasown: ^2.0.1 - internal-slot: ^1.0.7 - is-array-buffer: ^3.0.4 + has-proto: ^1.2.0 + has-symbols: ^1.1.0 + hasown: ^2.0.2 + internal-slot: ^1.1.0 + is-array-buffer: ^3.0.5 is-callable: ^1.2.7 - is-negative-zero: ^2.0.2 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - is-string: ^1.0.7 - is-typed-array: ^1.1.13 - is-weakref: ^1.0.2 - object-inspect: ^1.13.1 + is-data-view: ^1.0.2 + is-regex: ^1.2.1 + is-shared-array-buffer: ^1.0.4 + is-string: ^1.1.1 + is-typed-array: ^1.1.15 + is-weakref: ^1.1.0 + math-intrinsics: ^1.1.0 + object-inspect: ^1.13.3 object-keys: ^1.1.1 - object.assign: ^4.1.5 - regexp.prototype.flags: ^1.5.2 - safe-array-concat: ^1.1.0 - safe-regex-test: ^1.0.3 - string.prototype.trim: ^1.2.8 - string.prototype.trimend: ^1.0.7 - string.prototype.trimstart: ^1.0.7 - typed-array-buffer: ^1.0.1 - typed-array-byte-length: ^1.0.0 - typed-array-byte-offset: ^1.0.0 - typed-array-length: ^1.0.4 - unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.14 - checksum: c254102395bd59315b713d72a1ce07980c0f71c9edcac6b036868740789ab5344020e940d6321fc1b31aecf6b27941fdd9655b602696e08f170986dd4d75ddc6 + object.assign: ^4.1.7 + own-keys: ^1.0.1 + regexp.prototype.flags: ^1.5.3 + safe-array-concat: ^1.1.3 + safe-push-apply: ^1.0.0 + safe-regex-test: ^1.1.0 + set-proto: ^1.0.0 + string.prototype.trim: ^1.2.10 + string.prototype.trimend: ^1.0.9 + string.prototype.trimstart: ^1.0.8 + typed-array-buffer: ^1.0.3 + typed-array-byte-length: ^1.0.3 + typed-array-byte-offset: ^1.0.4 + typed-array-length: ^1.0.7 + unbox-primitive: ^1.1.0 + which-typed-array: ^1.1.18 + checksum: f3ee2614159ca197f97414ab36e3f406ee748ce2f97ffbf09e420726db5a442ce13f1e574601468bff6e6eb81588e6c9ce1ac6c03868a37c7cd48ac679f8485a languageName: node linkType: hard "es-aggregate-error@npm:^1.0.7": - version: 1.0.12 - resolution: "es-aggregate-error@npm:1.0.12" + version: 1.0.13 + resolution: "es-aggregate-error@npm:1.0.13" dependencies: - define-data-property: ^1.1.1 + define-data-property: ^1.1.4 define-properties: ^1.2.1 - es-abstract: ^1.22.3 - es-errors: ^1.1.0 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 function-bind: ^1.1.2 globalthis: ^1.0.3 - has-property-descriptors: ^1.0.1 - set-function-name: ^2.0.1 - checksum: 5902ded8b05fdac3b9a81a1dcc2dba18f26b0e493652c7495459cb857e43b8f1df37a25a75d9b97c90ccbb92551aeb9618780b0855f531a99cb160ae1b4d6a99 - languageName: node - linkType: hard - -"es-array-method-boxes-properly@npm:^1.0.0": - version: 1.0.0 - resolution: "es-array-method-boxes-properly@npm:1.0.0" - checksum: 2537fcd1cecf187083890bc6f5236d3a26bf39237433587e5bf63392e88faae929dbba78ff0120681a3f6f81c23fe3816122982c160d63b38c95c830b633b826 + has-property-descriptors: ^1.0.2 + set-function-name: ^2.0.2 + checksum: f29596a9267220850fd77cc32abec369ffdea8ccc05de3ca387e55cf1711db2d1f6cdd1384f5bb968dbfb3ae8371919e82a61edb7219123caa41b924f31f1821 languageName: node linkType: hard -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: ^1.2.4 - checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a languageName: node linkType: hard -"es-errors@npm:^1.0.0, es-errors@npm:^1.1.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 @@ -27392,26 +27891,27 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.12, es-iterator-helpers@npm:^1.0.15": - version: 1.0.17 - resolution: "es-iterator-helpers@npm:1.0.17" +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" dependencies: - asynciterator.prototype: ^1.0.0 - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 - es-abstract: ^1.22.4 + es-abstract: ^1.23.6 es-errors: ^1.3.0 - es-set-tostringtag: ^2.0.2 + es-set-tostringtag: ^2.0.3 function-bind: ^1.1.2 - get-intrinsic: ^1.2.4 - globalthis: ^1.0.3 + get-intrinsic: ^1.2.6 + globalthis: ^1.0.4 + gopd: ^1.2.0 has-property-descriptors: ^1.0.2 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.7 - iterator.prototype: ^1.1.2 - safe-array-concat: ^1.1.0 - checksum: f0962abbf120c37516c9008716fcaffeacf7bc6147a07e63cda3c3ac8be94b88e4ef8d71234c4b8873d1fc209f65c6d9e11a7faac78f59b5d3bcfa399affed7b + has-proto: ^1.2.0 + has-symbols: ^1.1.0 + internal-slot: ^1.1.0 + iterator.prototype: ^1.1.4 + safe-array-concat: ^1.1.3 + checksum: 952808dd1df3643d67ec7adf20c30b36e5eecadfbf36354e6f39ed3266c8e0acf3446ce9bc465e38723d613cb1d915c1c07c140df65bdce85da012a6e7bda62b languageName: node linkType: hard @@ -27423,24 +27923,34 @@ __metadata: linkType: hard "es-module-lexer@npm:^1.2.1, es-module-lexer@npm:^1.3.1": - version: 1.5.0 - resolution: "es-module-lexer@npm:1.5.0" - checksum: adbe0772701e226b4b853f758fd89c0bbfe8357ab93babde7b1cdb4f88c3a31460c908cbe578817e241d116cc4fcf569f7c6f29c4fbfa0aadb0def90f1ad4dd2 + version: 1.6.0 + resolution: "es-module-lexer@npm:1.6.0" + checksum: 4413a9aed9bf581de62b98174f3eea3f23ce2994fb6832df64bdd6504f6977da1a3b5ebd3c10f75e3c2f214dcf1a1d8b54be5e62c71b7110e6ccedbf975d2b7d languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.2": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" +"es-object-atoms@npm:^1.0.0": + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: - get-intrinsic: ^1.2.4 + es-errors: ^1.3.0 + checksum: 214d3767287b12f36d3d7267ef342bbbe1e89f899cfd67040309fc65032372a8e60201410a99a1645f2f90c1912c8c49c8668066f6bdd954bcd614dda2e3da97 + languageName: node + linkType: hard + +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" + dependencies: + es-errors: ^1.3.0 + get-intrinsic: ^1.2.6 has-tostringtag: ^1.0.2 - hasown: ^2.0.1 - checksum: 7227fa48a41c0ce83e0377b11130d324ac797390688135b8da5c28994c0165be8b252e15cd1de41e1325e5a5412511586960213e88f9ab4a5e7d028895db5129 + hasown: ^2.0.2 + checksum: 789f35de4be3dc8d11fdcb91bc26af4ae3e6d602caa93299a8c45cf05d36cc5081454ae2a6d3afa09cceca214b76c046e4f8151e092e6fc7feeb5efb9e794fc6 languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": +"es-shim-unscopables@npm:^1.0.2": version: 1.0.2 resolution: "es-shim-unscopables@npm:1.0.2" dependencies: @@ -27449,14 +27959,14 @@ __metadata: languageName: node linkType: hard -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" dependencies: - is-callable: ^1.1.4 - is-date-object: ^1.0.1 - is-symbol: ^1.0.2 - checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + is-callable: ^1.2.7 + is-date-object: ^1.0.5 + is-symbol: ^1.0.4 + checksum: 966965880356486cd4d1fe9a523deda2084c81b3702d951212c098f5f2ee93605d1b7c1840062efb48a07d892641c7ed1bc194db563645c0dd2b919cb6d65b93 languageName: node linkType: hard @@ -27491,16 +28001,16 @@ __metadata: linkType: hard "esbuild-loader@npm:^4.0.0": - version: 4.0.3 - resolution: "esbuild-loader@npm:4.0.3" + version: 4.2.2 + resolution: "esbuild-loader@npm:4.2.2" dependencies: - esbuild: ^0.19.0 + esbuild: ^0.21.0 get-tsconfig: ^4.7.0 loader-utils: ^2.0.4 webpack-sources: ^1.4.3 peerDependencies: webpack: ^4.40.0 || ^5.0.0 - checksum: 8303a106ec9e74fb4ad2c10f5e23fb082d742cfa7bc42b1476886a9f49ef1bff99cb39c1a569827195865d2d179a09a54bedfd34fae82841ce1f02beebfd9127 + checksum: 793d2482693c1c66298f63d7fdb62f2f3e314b006ade1dc3c46b46ade39777c5fba5930c2fa2752636c511997faa08d4a0f5d5b8a734b9046b3626aa6d5ab8e3 languageName: node linkType: hard @@ -27581,86 +28091,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.19.0": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 2936e29107b43e65a775b78b7bc66ddd7d76febd73840ac7e825fb22b65029422ff51038a08d19b05154f543584bd3afe7d1ef1c63900429475b17fbe61cb61f - languageName: node - linkType: hard - "esbuild@npm:^0.21.0": version: 0.21.5 resolution: "esbuild@npm:0.21.5" @@ -27742,33 +28172,33 @@ __metadata: linkType: hard "esbuild@npm:^0.23.0": - version: 0.23.0 - resolution: "esbuild@npm:0.23.0" - dependencies: - "@esbuild/aix-ppc64": 0.23.0 - "@esbuild/android-arm": 0.23.0 - "@esbuild/android-arm64": 0.23.0 - "@esbuild/android-x64": 0.23.0 - "@esbuild/darwin-arm64": 0.23.0 - "@esbuild/darwin-x64": 0.23.0 - "@esbuild/freebsd-arm64": 0.23.0 - "@esbuild/freebsd-x64": 0.23.0 - "@esbuild/linux-arm": 0.23.0 - "@esbuild/linux-arm64": 0.23.0 - "@esbuild/linux-ia32": 0.23.0 - "@esbuild/linux-loong64": 0.23.0 - "@esbuild/linux-mips64el": 0.23.0 - "@esbuild/linux-ppc64": 0.23.0 - "@esbuild/linux-riscv64": 0.23.0 - "@esbuild/linux-s390x": 0.23.0 - "@esbuild/linux-x64": 0.23.0 - "@esbuild/netbsd-x64": 0.23.0 - "@esbuild/openbsd-arm64": 0.23.0 - "@esbuild/openbsd-x64": 0.23.0 - "@esbuild/sunos-x64": 0.23.0 - "@esbuild/win32-arm64": 0.23.0 - "@esbuild/win32-ia32": 0.23.0 - "@esbuild/win32-x64": 0.23.0 + version: 0.23.1 + resolution: "esbuild@npm:0.23.1" + dependencies: + "@esbuild/aix-ppc64": 0.23.1 + "@esbuild/android-arm": 0.23.1 + "@esbuild/android-arm64": 0.23.1 + "@esbuild/android-x64": 0.23.1 + "@esbuild/darwin-arm64": 0.23.1 + "@esbuild/darwin-x64": 0.23.1 + "@esbuild/freebsd-arm64": 0.23.1 + "@esbuild/freebsd-x64": 0.23.1 + "@esbuild/linux-arm": 0.23.1 + "@esbuild/linux-arm64": 0.23.1 + "@esbuild/linux-ia32": 0.23.1 + "@esbuild/linux-loong64": 0.23.1 + "@esbuild/linux-mips64el": 0.23.1 + "@esbuild/linux-ppc64": 0.23.1 + "@esbuild/linux-riscv64": 0.23.1 + "@esbuild/linux-s390x": 0.23.1 + "@esbuild/linux-x64": 0.23.1 + "@esbuild/netbsd-x64": 0.23.1 + "@esbuild/openbsd-arm64": 0.23.1 + "@esbuild/openbsd-x64": 0.23.1 + "@esbuild/sunos-x64": 0.23.1 + "@esbuild/win32-arm64": 0.23.1 + "@esbuild/win32-ia32": 0.23.1 + "@esbuild/win32-x64": 0.23.1 dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -27820,38 +28250,39 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 22138538225d5ce79f84fc0d3d3e31b57a91ef50ef00f2d6a9c8a4be4ed28d4b1d0ed14239e54341d1b9a7079f25e69761d0266f3c255da94e647b079b790421 + checksum: 0413c3b9257327fb598427688b7186ea335bf1693746fe5713cc93c95854d6388b8ed4ad643fddf5b5ace093f7dcd9038dd58e087bf2da1f04dfb4c5571660af languageName: node linkType: hard "esbuild@npm:^0.24.0": - version: 0.24.0 - resolution: "esbuild@npm:0.24.0" - dependencies: - "@esbuild/aix-ppc64": 0.24.0 - "@esbuild/android-arm": 0.24.0 - "@esbuild/android-arm64": 0.24.0 - "@esbuild/android-x64": 0.24.0 - "@esbuild/darwin-arm64": 0.24.0 - "@esbuild/darwin-x64": 0.24.0 - "@esbuild/freebsd-arm64": 0.24.0 - "@esbuild/freebsd-x64": 0.24.0 - "@esbuild/linux-arm": 0.24.0 - "@esbuild/linux-arm64": 0.24.0 - "@esbuild/linux-ia32": 0.24.0 - "@esbuild/linux-loong64": 0.24.0 - "@esbuild/linux-mips64el": 0.24.0 - "@esbuild/linux-ppc64": 0.24.0 - "@esbuild/linux-riscv64": 0.24.0 - "@esbuild/linux-s390x": 0.24.0 - "@esbuild/linux-x64": 0.24.0 - "@esbuild/netbsd-x64": 0.24.0 - "@esbuild/openbsd-arm64": 0.24.0 - "@esbuild/openbsd-x64": 0.24.0 - "@esbuild/sunos-x64": 0.24.0 - "@esbuild/win32-arm64": 0.24.0 - "@esbuild/win32-ia32": 0.24.0 - "@esbuild/win32-x64": 0.24.0 + version: 0.24.2 + resolution: "esbuild@npm:0.24.2" + dependencies: + "@esbuild/aix-ppc64": 0.24.2 + "@esbuild/android-arm": 0.24.2 + "@esbuild/android-arm64": 0.24.2 + "@esbuild/android-x64": 0.24.2 + "@esbuild/darwin-arm64": 0.24.2 + "@esbuild/darwin-x64": 0.24.2 + "@esbuild/freebsd-arm64": 0.24.2 + "@esbuild/freebsd-x64": 0.24.2 + "@esbuild/linux-arm": 0.24.2 + "@esbuild/linux-arm64": 0.24.2 + "@esbuild/linux-ia32": 0.24.2 + "@esbuild/linux-loong64": 0.24.2 + "@esbuild/linux-mips64el": 0.24.2 + "@esbuild/linux-ppc64": 0.24.2 + "@esbuild/linux-riscv64": 0.24.2 + "@esbuild/linux-s390x": 0.24.2 + "@esbuild/linux-x64": 0.24.2 + "@esbuild/netbsd-arm64": 0.24.2 + "@esbuild/netbsd-x64": 0.24.2 + "@esbuild/openbsd-arm64": 0.24.2 + "@esbuild/openbsd-x64": 0.24.2 + "@esbuild/sunos-x64": 0.24.2 + "@esbuild/win32-arm64": 0.24.2 + "@esbuild/win32-ia32": 0.24.2 + "@esbuild/win32-x64": 0.24.2 dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -27887,6 +28318,8 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true "@esbuild/openbsd-arm64": @@ -27903,7 +28336,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: dd386d92a05c7eb03078480522cdd8b40c434777b5f08487c27971d30933ecaae3f08bd221958dd8f9c66214915cdc85f844283ca9bdbf8ee703d889ae526edd + checksum: e2303f8331887e31330b5a972fb9640ad93dfc5af76cb2156faa9eaa32bac5c403244096cbdafc45622829913e63664dfd88410987e3468df4354492f908a094 languageName: node linkType: hard @@ -28039,15 +28472,15 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.8.0": - version: 2.8.1 - resolution: "eslint-module-utils@npm:2.8.1" +"eslint-module-utils@npm:^2.12.0": + version: 2.12.0 + resolution: "eslint-module-utils@npm:2.12.0" dependencies: debug: ^3.2.7 peerDependenciesMeta: eslint: optional: true - checksum: 3cecd99b6baf45ffc269167da0f95dcb75e5aa67b93d73a3bab63e2a7eedd9cdd6f188eed048e2f57c1b77db82c9cbf2adac20b512fa70e597d863dd3720170d + checksum: be3ac52e0971c6f46daeb1a7e760e45c7c45f820c8cc211799f85f10f04ccbf7afc17039165d56cb2da7f7ca9cec2b3a777013cddf0b976784b37eb9efa24180 languageName: node linkType: hard @@ -28080,29 +28513,31 @@ __metadata: linkType: hard "eslint-plugin-import@npm:^2.25.4": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" + version: 2.31.0 + resolution: "eslint-plugin-import@npm:2.31.0" dependencies: - array-includes: ^3.1.7 - array.prototype.findlastindex: ^1.2.3 + "@rtsao/scc": ^1.1.0 + array-includes: ^3.1.8 + array.prototype.findlastindex: ^1.2.5 array.prototype.flat: ^1.3.2 array.prototype.flatmap: ^1.3.2 debug: ^3.2.7 doctrine: ^2.1.0 eslint-import-resolver-node: ^0.3.9 - eslint-module-utils: ^2.8.0 - hasown: ^2.0.0 - is-core-module: ^2.13.1 + eslint-module-utils: ^2.12.0 + hasown: ^2.0.2 + is-core-module: ^2.15.1 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.fromentries: ^2.0.7 - object.groupby: ^1.0.1 - object.values: ^1.1.7 + object.fromentries: ^2.0.8 + object.groupby: ^1.0.3 + object.values: ^1.2.0 semver: ^6.3.1 + string.prototype.trimend: ^1.0.8 tsconfig-paths: ^3.15.0 peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: e65159aef808136d26d029b71c8c6e4cb5c628e65e5de77f1eb4c13a379315ae55c9c3afa847f43f4ff9df7e54515c77ffc6489c6a6f81f7dd7359267577468c + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 + checksum: b1d2ac268b3582ff1af2a72a2c476eae4d250c100f2e335b6e102036e4a35efa530b80ec578dfc36761fabb34a635b9bf5ab071abe9d4404a4bb054fdf22d415 languageName: node linkType: hard @@ -28125,8 +28560,8 @@ __metadata: linkType: hard "eslint-plugin-jest@npm:^28.0.0": - version: 28.8.3 - resolution: "eslint-plugin-jest@npm:28.8.3" + version: 28.11.0 + resolution: "eslint-plugin-jest@npm:28.11.0" dependencies: "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependencies: @@ -28138,74 +28573,75 @@ __metadata: optional: true jest: optional: true - checksum: e371fcbe2127a403824b6c23b66f6b2e2cc54074c3c70a9965d48bdcdfb461670965a7d7cdddab68f09e703d3a09a281d05591b1cb4315f5246d27fd8baa84ac + checksum: 809ec7f0d49dce288c21de484ca5ec2003f7ef355435dcdba591e96ccdcc6b30bf11f55b21f93cd260a56a82138a2c7835a0404ff20d34552f30729751c51dfa languageName: node linkType: hard "eslint-plugin-jsx-a11y@npm:^6.5.1": - version: 6.8.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" + version: 6.10.2 + resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" dependencies: - "@babel/runtime": ^7.23.2 - aria-query: ^5.3.0 - array-includes: ^3.1.7 + aria-query: ^5.3.2 + array-includes: ^3.1.8 array.prototype.flatmap: ^1.3.2 ast-types-flow: ^0.0.8 - axe-core: =4.7.0 - axobject-query: ^3.2.1 + axe-core: ^4.10.0 + axobject-query: ^4.1.0 damerau-levenshtein: ^1.0.8 emoji-regex: ^9.2.2 - es-iterator-helpers: ^1.0.15 - hasown: ^2.0.0 + hasown: ^2.0.2 jsx-ast-utils: ^3.3.5 language-tags: ^1.0.9 minimatch: ^3.1.2 - object.entries: ^1.1.7 - object.fromentries: ^2.0.7 + object.fromentries: ^2.0.8 + safe-regex-test: ^1.0.3 + string.prototype.includes: ^2.0.1 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: 3dec00e2a3089c4c61ac062e4196a70985fb7eda1fd67fe035363d92578debde92fdb8ed2e472321fc0d71e75f4a1e8888c6a3218c14dd93c8e8d19eb6f51554 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 + checksum: 0cc861398fa26ada61ed5703eef5b335495fcb96253263dcd5e399488ff019a2636372021baacc040e3560d1a34bfcd5d5ad9f1754f44cd0509c956f7df94050 languageName: node linkType: hard "eslint-plugin-react-hooks@npm:^4.3.0": - version: 4.6.0 - resolution: "eslint-plugin-react-hooks@npm:4.6.0" + version: 4.6.2 + resolution: "eslint-plugin-react-hooks@npm:4.6.2" peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 23001801f14c1d16bf0a837ca7970d9dd94e7b560384b41db378b49b6e32dc43d6e2790de1bd737a652a86f81a08d6a91f402525061b47719328f586a57e86c3 + checksum: 395c433610f59577cfcf3f2e42bcb130436c8a0b3777ac64f441d88c5275f4fcfc89094cedab270f2822daf29af1079151a7a6579a8e9ea8cee66540ba0384c4 languageName: node linkType: hard "eslint-plugin-react@npm:^7.28.0": - version: 7.33.2 - resolution: "eslint-plugin-react@npm:7.33.2" + version: 7.37.4 + resolution: "eslint-plugin-react@npm:7.37.4" dependencies: - array-includes: ^3.1.6 - array.prototype.flatmap: ^1.3.1 - array.prototype.tosorted: ^1.1.1 + array-includes: ^3.1.8 + array.prototype.findlast: ^1.2.5 + array.prototype.flatmap: ^1.3.3 + array.prototype.tosorted: ^1.1.4 doctrine: ^2.1.0 - es-iterator-helpers: ^1.0.12 + es-iterator-helpers: ^1.2.1 estraverse: ^5.3.0 + hasown: ^2.0.2 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.6 - object.fromentries: ^2.0.6 - object.hasown: ^1.1.2 - object.values: ^1.1.6 + object.entries: ^1.1.8 + object.fromentries: ^2.0.8 + object.values: ^1.2.1 prop-types: ^15.8.1 - resolve: ^2.0.0-next.4 + resolve: ^2.0.0-next.5 semver: ^6.3.1 - string.prototype.matchall: ^4.0.8 + string.prototype.matchall: ^4.0.12 + string.prototype.repeat: ^1.0.0 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: b4c3d76390b0ae6b6f9fed78170604cc2c04b48e6778a637db339e8e3911ec9ef22510b0ae77c429698151d0f1b245f282177f384105b6830e7b29b9c9b26610 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 8a37bdc9b347bf3a1273fef73dfbc39279cc3e58441940a5e13b3ba4e82b34132d1d1172db9d6746f153ee981280bd6bd06a9065fb453388c68f4bebe0d9f839 languageName: node linkType: hard "eslint-plugin-unused-imports@npm:^3.0.0": - version: 3.1.0 - resolution: "eslint-plugin-unused-imports@npm:3.1.0" + version: 3.2.0 + resolution: "eslint-plugin-unused-imports@npm:3.2.0" dependencies: eslint-rule-composer: ^0.3.0 peerDependencies: @@ -28214,7 +28650,7 @@ __metadata: peerDependenciesMeta: "@typescript-eslint/eslint-plugin": optional: true - checksum: c41da339ea8faf40b8b4081f0d52a4c75d24f121c5b95b19b777d12abfbc23505e4aab2422918b2517dd239a749a38912fb3405b42a9aa6b50c32cf5f3d6ecf0 + checksum: e85ae4f3af489294ef5e0969ab904fa87f9fa7c959ca0804f30845438db4aeb0428ddad7ab06a70608e93121626799977241b442fdf126a4d0667be57390c3d6 languageName: node linkType: hard @@ -28252,6 +28688,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 779c604672b570bb4da84cef32f6abb085ac78379779c1122d7879eade8bb38ae715645324597cf23232d03cef06032c9844d25c73625bc282a5bfd30247e5b5 + languageName: node + linkType: hard + "eslint-webpack-plugin@npm:^3.2.0": version: 3.2.0 resolution: "eslint-webpack-plugin@npm:3.2.0" @@ -28269,18 +28712,18 @@ __metadata: linkType: hard "eslint-webpack-plugin@npm:^4.0.0": - version: 4.0.1 - resolution: "eslint-webpack-plugin@npm:4.0.1" + version: 4.2.0 + resolution: "eslint-webpack-plugin@npm:4.2.0" dependencies: - "@types/eslint": ^8.37.0 - jest-worker: ^29.5.0 + "@types/eslint": ^8.56.10 + jest-worker: ^29.7.0 micromatch: ^4.0.5 normalize-path: ^3.0.0 - schema-utils: ^4.0.0 + schema-utils: ^4.2.0 peerDependencies: - eslint: ^8.0.0 + eslint: ^8.0.0 || ^9.0.0 webpack: ^5.0.0 - checksum: 94fe0817fc580729dc6edc4a31c9f7dbeb97ad134c6c4192feab66aae711ed5afe35c5bc8d5e99b39626b469300196df72e631f5e53c55723adbf850765924e5 + checksum: 51538d60d0d0f3dd5774a4291af4620884a45a40270e2878c2f7c8dbff3584ef8588ffded8de696a4bbcee45bee219eba442eb503f5eddcc79aefeb4845985ae languageName: node linkType: hard @@ -28371,11 +28814,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: ^5.1.0 - checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 + checksum: 08ec4fe446d9ab27186da274d979558557fbdbbd10968fa9758552482720c54152a5640e08b9009e5a30706b66aba510692054d4129d32d0e12e05bbc0b96fb2 languageName: node linkType: hard @@ -28570,10 +29013,10 @@ __metadata: linkType: hard "express-openapi-validator@npm:^5.0.4": - version: 5.3.9 - resolution: "express-openapi-validator@npm:5.3.9" + version: 5.4.2 + resolution: "express-openapi-validator@npm:5.4.2" dependencies: - "@apidevtools/json-schema-ref-parser": ^11.7.0 + "@apidevtools/json-schema-ref-parser": ^11.7.2 "@types/multer": ^1.4.12 ajv: ^8.17.1 ajv-draft-04: ^1.0.0 @@ -28585,10 +29028,10 @@ __metadata: media-typer: ^1.1.0 multer: ^1.4.5-lts.1 ono: ^7.1.3 - path-to-regexp: ^8.1.0 + path-to-regexp: ^8.2.0 peerDependencies: express: "*" - checksum: 0469b383b769f070dfad9c9148b18857c5aaa9aa14c596e1ada155dac63e1c355e455d42f3c81af62c4aefd3db4ad8b892d34a432e170e4eb7af73d7dbd2f644 + checksum: a846e7844eed606905b29581f6ba3177fadee6640af2565a7f2243b813aa4f75aabd9d7a26af0b2d2193d78877325a9d98f6e9101e4421e763349a6ecf1c5c0e languageName: node linkType: hard @@ -28610,10 +29053,10 @@ __metadata: linkType: hard "express-session@npm:^1.17.1": - version: 1.18.0 - resolution: "express-session@npm:1.18.0" + version: 1.18.1 + resolution: "express-session@npm:1.18.1" dependencies: - cookie: 0.6.0 + cookie: 0.7.2 cookie-signature: 1.0.7 debug: 2.6.9 depd: ~2.0.0 @@ -28621,11 +29064,11 @@ __metadata: parseurl: ~1.3.3 safe-buffer: 5.2.1 uid-safe: ~2.1.5 - checksum: 56e52e4f5e09f77b201069f5f977e8c301d1feb324ac545f043e251745bb17ab0b05c6d7b3653f20ae548179afd76eeda9f44c9872ac9ce82d7c2a917a88d885 + checksum: e712cb3399300d9e300b51769ee3e81da6a4a54acc39137945134bf61a452f27ee9afde337f3c0f300457a88b3a12d0b5c711625684d7c8d998e9d2bd34d9e18 languageName: node linkType: hard -"express@npm:4.21.2, express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.1, express@npm:^4.18.2, express@npm:^4.19.2": +"express@npm:4.21.2, express@npm:^4.14.0, express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.1, express@npm:^4.18.2, express@npm:^4.19.2, express@npm:^4.21.2": version: 4.21.2 resolution: "express@npm:4.21.2" dependencies: @@ -28664,15 +29107,6 @@ __metadata: languageName: node linkType: hard -"expression-eval@npm:^5.0.0": - version: 5.0.1 - resolution: "expression-eval@npm:5.0.1" - dependencies: - jsep: ^0.3.0 - checksum: 1318726337fa5ef980a565cd02800aadb3e0b09a01378dd5a33d6525a6a726667d931a5851de9c792a6043857409d06d6ce48d62dbf61636ba9eba46fc8f6dde - languageName: node - linkType: hard - "extend@npm:3.0.2, extend@npm:^3.0.0, extend@npm:^3.0.2, extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -28712,6 +29146,13 @@ __metadata: languageName: node linkType: hard +"fast-content-type-parse@npm:^2.0.0": + version: 2.0.1 + resolution: "fast-content-type-parse@npm:2.0.1" + checksum: 0ea4c7dce77c579d19805ea874d128832f535086465c57994a49a28a4784538ea4eeaa49261a5c675a4764c634e12a74bae26e09d64e886cb826c0b97e4c621d + languageName: node + linkType: hard + "fast-copy@npm:^3.0.2": version: 3.0.2 resolution: "fast-copy@npm:3.0.2" @@ -28719,13 +29160,6 @@ __metadata: languageName: node linkType: hard -"fast-decode-uri-component@npm:^1.0.1": - version: 1.0.1 - resolution: "fast-decode-uri-component@npm:1.0.1" - checksum: 427a48fe0907e76f0e9a2c228e253b4d8a8ab21d130ee9e4bb8339c5ba4086235cf9576831f7b20955a752eae4b525a177ff9d5825dd8d416e7726939194fbee - languageName: node - linkType: hard - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -28740,7 +29174,7 @@ __metadata: languageName: node linkType: hard -"fast-fifo@npm:^1.1.0, fast-fifo@npm:^1.2.0": +"fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": version: 1.3.2 resolution: "fast-fifo@npm:1.3.2" checksum: 6bfcba3e4df5af7be3332703b69a7898a8ed7020837ec4395bb341bd96cc3a6d86c3f6071dd98da289618cf2234c70d84b2a6f09a33dd6f988b1ff60d8e54275 @@ -28748,15 +29182,15 @@ __metadata: linkType: hard "fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 - micromatch: ^4.0.4 - checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 + micromatch: ^4.0.8 + checksum: 0704d7b85c0305fd2cef37777337dfa26230fdd072dce9fb5c82a4b03156f3ffb8ed3e636033e65d45d2a5805a4e475825369a27404c0307f2db0c8eb3366fbd languageName: node linkType: hard @@ -28795,15 +29229,6 @@ __metadata: languageName: node linkType: hard -"fast-querystring@npm:^1.1.1": - version: 1.1.2 - resolution: "fast-querystring@npm:1.1.2" - dependencies: - fast-decode-uri-component: ^1.0.1 - checksum: 7149f82ee9ac39a9c08c7ffe435b9f6deade76ae5e3675fe1835720513e8c4bc541e666b4b7b1c0c07e08f369dcf4828d00f2bee39889a90a168e1439cf27b0b - languageName: node - linkType: hard - "fast-redact@npm:^2.0.0": version: 2.1.0 resolution: "fast-redact@npm:2.1.0" @@ -28826,13 +29251,13 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.0.3 - resolution: "fast-uri@npm:3.0.3" - checksum: c52e6c86465f5c240e84a4485fb001088cc743d261a4b54b0050ce4758b1648bdbe53da1328ef9620149dca1435e3de64184f226d7c0a3656cb5837b3491e149 + version: 3.0.5 + resolution: "fast-uri@npm:3.0.5" + checksum: b56cda8e7355bad9adcc3c2eacd94cb592eaa9536497a4779a9527784f4f95a3755f30525c63583bd85807c493b396ac89926c970f19a60905ed875121ca78fd languageName: node linkType: hard -"fast-xml-parser@npm:4.4.1, fast-xml-parser@npm:^4.3.0": +"fast-xml-parser@npm:4.4.1": version: 4.4.1 resolution: "fast-xml-parser@npm:4.4.1" dependencies: @@ -28843,6 +29268,17 @@ __metadata: languageName: node linkType: hard +"fast-xml-parser@npm:^4.4.1, fast-xml-parser@npm:^4.5.0": + version: 4.5.1 + resolution: "fast-xml-parser@npm:4.5.1" + dependencies: + strnum: ^1.0.5 + bin: + fxparser: src/cli/cli.js + checksum: aab32d7f08a95b20f9ecdc2d769531a9dc454faf12740873972f8169c04ab9335ac5df1029ebfe829a01ddbb0ec60572cb7769d6be2409e95a9be8fc6a86e92c + languageName: node + linkType: hard + "fastest-stable-stringify@npm:^2.0.2": version: 2.0.2 resolution: "fastest-stable-stringify@npm:2.0.2" @@ -28851,11 +29287,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.18.0 + resolution: "fastq@npm:1.18.0" dependencies: reusify: ^1.0.4 - checksum: a8c5b26788d5a1763f88bae56a8ddeee579f935a831c5fe7a8268cea5b0a91fbfe705f612209e02d639b881d7b48e461a50da4a10cfaa40da5ca7cc9da098d88 + checksum: fb8d94318c2e5545a1913c1647b35e8b7825caaba888a98ef9887085e57f5a82104aefbb05f26c81d4e220f02b2ea6f2c999132186d8c77e6c681d91870191ba languageName: node linkType: hard @@ -28886,6 +29322,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.2": + version: 6.4.3 + resolution: "fdir@npm:6.4.3" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: fa53e13c63e8c14add5b70fd47e28267dd5481ebbba4b47720ec25aae7d10a800ef0f2e33de350faaf63c10b3d7b64138925718832220d593f75e724846c736d + languageName: node + linkType: hard + "fecha@npm:^4.2.0": version: 4.2.3 resolution: "fecha@npm:4.2.3" @@ -28893,6 +29341,16 @@ __metadata: languageName: node linkType: hard +"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": + version: 3.2.0 + resolution: "fetch-blob@npm:3.2.0" + dependencies: + node-domexception: ^1.0.0 + web-streams-polyfill: ^3.0.3 + checksum: f19bc28a2a0b9626e69fd7cf3a05798706db7f6c7548da657cbf5026a570945f5eeaedff52007ea35c8bcd3d237c58a20bf1543bc568ab2422411d762dd3d5bf + languageName: node + linkType: hard + "figures@npm:^3.0.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -28918,15 +29376,6 @@ __metadata: languageName: node linkType: hard -"file-selector@npm:^0.6.0": - version: 0.6.0 - resolution: "file-selector@npm:0.6.0" - dependencies: - tslib: ^2.4.0 - checksum: 7d051b6e5d793f3c6e2ab287ba5e7c2c6a0971bccc9d56e044c8047ba483e18f60fc0b5771c951dc707c0d15f4f36ccb4f1f1aaf385d21ec8f7700dadf8325ba - languageName: node - linkType: hard - "file-selector@npm:^2.1.0": version: 2.1.2 resolution: "file-selector@npm:2.1.2" @@ -28970,13 +29419,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^1.1.0": - version: 1.1.0 - resolution: "filter-obj@npm:1.1.0" - checksum: cf2104a7c45ff48e7f505b78a3991c8f7f30f28bd8106ef582721f321f1c6277f7751aacd5d83026cb079d9d5091082f588d14a72e7c5d720ece79118fa61e10 - languageName: node - linkType: hard - "finalhandler@npm:1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" @@ -29088,10 +29530,10 @@ __metadata: languageName: node linkType: hard -"flatted@npm:3.3.1, flatted@npm:^3.2.7, flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 85ae7181650bb728c221e7644cbc9f4bf28bc556f2fc89bb21266962bdf0ce1029cc7acc44bb646cd469d9baac7c317f64e841c4c4c00516afa97320cdac7f94 +"flatted@npm:3.3.2, flatted@npm:^3.2.7, flatted@npm:^3.2.9": + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: ac3c159742e01d0e860a861164bcfd35bb567ccbebb8a0dd041e61cf3c64a435b917dd1e7ed1c380c2ebca85735fb16644485ec33665bc6aafc3b316aa1eed44 languageName: node linkType: hard @@ -29102,15 +29544,6 @@ __metadata: languageName: node linkType: hard -"focus-trap@npm:7.6.0": - version: 7.6.0 - resolution: "focus-trap@npm:7.6.0" - dependencies: - tabbable: ^6.2.0 - checksum: 4cb89de0bf60b687787cdeedc4a44c37f2eba57a76f522915cf0550170acd937836fc8d00d31161a3bb58df14d871ead481f1f14d2600dcdd618ac027a220246 - languageName: node - linkType: hard - "focus-trap@npm:7.6.2": version: 7.6.2 resolution: "focus-trap@npm:7.6.2" @@ -29147,12 +29580,12 @@ __metadata: linkType: hard "foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" dependencies: cross-spawn: ^7.0.0 signal-exit: ^4.0.1 - checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 + checksum: 1989698488f725b05b26bc9afc8a08f08ec41807cd7b92ad85d96004ddf8243fd3e79486b8348c64a3011ae5cc2c9f0936af989e1f28339805d8bc178a75b451 languageName: node linkType: hard @@ -29245,35 +29678,25 @@ __metadata: linkType: hard "form-data@npm:^2.3.2, form-data@npm:^2.5.0": - version: 2.5.1 - resolution: "form-data@npm:2.5.1" + version: 2.5.2 + resolution: "form-data@npm:2.5.2" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.6 mime-types: ^2.1.12 - checksum: 5134ada56cc246b293a1ac7678dba6830000603a3979cf83ff7b2f21f2e3725202237cfb89e32bcb38a1d35727efbd3c3a22e65b42321e8ade8eec01ce755d08 - languageName: node - linkType: hard - -"form-data@npm:^3.0.0": - version: 3.0.1 - resolution: "form-data@npm:3.0.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d + safe-buffer: ^5.2.1 + checksum: 89ed3d96238d6fa874d75435e20f1aad28a1c22a88ab4e726ac4f6b0d29bef33d7e5aca51248c1070eccbbf4df94020a53842e800b2f1fb63073881a268113b4 languageName: node linkType: hard -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" +"form-data@npm:^4.0.0, form-data@npm:^4.0.1": + version: 4.0.1 + resolution: "form-data@npm:4.0.1" dependencies: asynckit: ^0.4.0 combined-stream: ^1.0.8 mime-types: ^2.1.12 - checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c + checksum: ccee458cd5baf234d6b57f349fe9cc5f9a2ea8fd1af5ecda501a18fd1572a6dd3bf08a49f00568afd995b6a65af34cb8dec083cf9d582c4e621836499498dd84 languageName: node linkType: hard @@ -29295,6 +29718,15 @@ __metadata: languageName: node linkType: hard +"formdata-polyfill@npm:^4.0.10": + version: 4.0.10 + resolution: "formdata-polyfill@npm:4.0.10" + dependencies: + fetch-blob: ^3.1.2 + checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db + languageName: node + linkType: hard + "formidable@npm:^2.1.2": version: 2.1.2 resolution: "formidable@npm:2.1.2" @@ -29333,9 +29765,9 @@ __metadata: linkType: hard "fp-ts@npm:^2.10.0": - version: 2.16.2 - resolution: "fp-ts@npm:2.16.2" - checksum: 5c2e3f096ba4be5646bda38a43e3e8ca3bd7693fefb26e6c4d4c451efbc9a227f7f7cad562b087cb134d4e41f4ae615602f0b17890e9e40a9e83f2f8822da666 + version: 2.16.9 + resolution: "fp-ts@npm:2.16.9" + checksum: 910a443dbd2a1a3f76527e8b9c1ccaae103cffd797b812cb2fdd7143fca5c010a05df35dca18bb7b2083249ceaec59fa0436c0c3f4b5b60bf5c62934c1a23ce5 languageName: node linkType: hard @@ -29421,13 +29853,13 @@ __metadata: linkType: hard "fs-extra@npm:^11.0.0, fs-extra@npm:^11.2.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" + version: 11.3.0 + resolution: "fs-extra@npm:11.3.0" dependencies: graceful-fs: ^4.2.0 jsonfile: ^6.0.1 universalify: ^2.0.0 - checksum: b12e42fa40ba47104202f57b8480dd098aa931c2724565e5e70779ab87605665594e76ee5fb00545f772ab9ace167fe06d2ab009c416dc8c842c5ae6df7aa7e8 + checksum: f983c706e0c22b0c0747a8e9c76aed6f391ba2d76734cf2757cd84da13417b402ed68fe25bace65228856c61d36d3b41da198f1ffbf33d0b34283a2f7a62c6e9 languageName: node linkType: hard @@ -29461,9 +29893,9 @@ __metadata: linkType: hard "fs-monkey@npm:^1.0.4": - version: 1.0.5 - resolution: "fs-monkey@npm:1.0.5" - checksum: 424b67f65b37fe66117ae2bb061f790fe6d4b609e1d160487c74b3d69fbf42f262c665ccfba32e8b5f113f96f92e9a58fcdebe42d5f6649bdfc72918093a3119 + version: 1.0.6 + resolution: "fs-monkey@npm:1.0.6" + checksum: 4e9986acf197581b10b79d3e63e74252681ca215ef82d4afbd98dcfe86b3f09189ac1d7e8064bc433e4e53cdb5c14fdb38773277d41bba18b1ff8bbdcab01a3a languageName: node linkType: hard @@ -29519,15 +29951,17 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 functions-have-names: ^1.2.3 - checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 + hasown: ^2.0.2 + is-callable: ^1.2.7 + checksum: 3a366535dc08b25f40a322efefa83b2da3cd0f6da41db7775f2339679120ef63b6c7e967266182609e655b8f0a8f65596ed21c7fd72ad8bd5621c2340edd4010 languageName: node linkType: hard @@ -29546,14 +29980,15 @@ __metadata: linkType: hard "gaxios@npm:^6.0.0, gaxios@npm:^6.0.2, gaxios@npm:^6.1.1": - version: 6.3.0 - resolution: "gaxios@npm:6.3.0" + version: 6.7.1 + resolution: "gaxios@npm:6.7.1" dependencies: extend: ^3.0.2 https-proxy-agent: ^7.0.1 is-stream: ^2.0.0 node-fetch: ^2.6.9 - checksum: 4d4a8db32d833f8012435e2016cb0c919cac288e821bf81f877504e4284ef12b444cd903448e738c4031cd5219adf1e8d68e7df2b3dba774db9fde27f71109d4 + uuid: ^9.0.1 + checksum: ed5952655339918e0868c6f4e079d6e9e55b20a242ddb1be25076cdfb0dd1ca5a2cb233da7352baa972c19f898a78fa6ba67e7d848717c9ca9877c269b5b02f7 languageName: node linkType: hard @@ -29592,6 +30027,13 @@ __metadata: languageName: node linkType: hard +"generic-pool@npm:3.9.0": + version: 3.9.0 + resolution: "generic-pool@npm:3.9.0" + checksum: 3d89e9b2018d2e3bbf44fec78c76b2b7d56d6a484237aa9daf6ff6eedb14b0899dadd703b5d810219baab2eb28e5128fb18b29e91e602deb2eccac14492d8ca8 + languageName: node + linkType: hard + "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -29607,22 +30049,27 @@ __metadata: linkType: hard "get-east-asian-width@npm:^1.0.0": - version: 1.2.0 - resolution: "get-east-asian-width@npm:1.2.0" - checksum: ea55f4d4a42c4b00d3d9be3111bc17eb0161f60ed23fc257c1390323bb780a592d7a8bdd550260fd4627dabee9a118cdfa3475ae54edca35ebcd3bdae04179e3 + version: 1.3.0 + resolution: "get-east-asian-width@npm:1.3.0" + checksum: 757a34c7a46ff385e2775f96f9d3e553f6b6666a8898fb89040d36a1010fba692332772945606a7d4b0f0c6afb84cd394e75d5477c56e1f00f1eb79603b0aecc languageName: node linkType: hard -"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7": + version: 1.2.7 + resolution: "get-intrinsic@npm:1.2.7" dependencies: + call-bind-apply-helpers: ^1.0.1 + es-define-property: ^1.0.1 es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 function-bind: ^1.1.2 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - hasown: ^2.0.0 - checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 + get-proto: ^1.0.0 + gopd: ^1.2.0 + has-symbols: ^1.1.0 + hasown: ^2.0.2 + math-intrinsics: ^1.1.0 + checksum: a1597b3b432074f805b6a0ba1182130dd6517c0ea0c4eecc4b8834c803913e1ea62dfc412865be795b3dacb1555a21775b70cf9af7a18b1454ff3414e5442d4a languageName: node linkType: hard @@ -29654,12 +30101,13 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^5.1.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" dependencies: - pump: ^3.0.0 - checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + dunder-proto: ^1.0.1 + es-object-atoms: ^1.0.0 + checksum: 4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b languageName: node linkType: hard @@ -29677,35 +30125,34 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - call-bind: ^1.0.5 + call-bound: ^1.0.3 es-errors: ^1.3.0 - get-intrinsic: ^1.2.4 - checksum: e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 + get-intrinsic: ^1.2.6 + checksum: 655ed04db48ee65ef2ddbe096540d4405e79ba0a7f54225775fef43a7e2afcb93a77d141c5f05fdef0afce2eb93bcbfb3597142189d562ac167ff183582683cd languageName: node linkType: hard "get-tsconfig@npm:^4.7.0, get-tsconfig@npm:^4.7.2": - version: 4.7.2 - resolution: "get-tsconfig@npm:4.7.2" + version: 4.8.1 + resolution: "get-tsconfig@npm:4.8.1" dependencies: resolve-pkg-maps: ^1.0.0 - checksum: 172358903250eff0103943f816e8a4e51d29b8e5449058bdf7266714a908a48239f6884308bd3a6ff28b09f692b9533dbebfd183ab63e4e14f073cda91f1bca9 + checksum: 12df01672e691d2ff6db8cf7fed1ddfef90ed94a5f3d822c63c147a26742026d582acd86afcd6f65db67d809625d17dd7f9d34f4d3f38f69bc2f48e19b2bdd5b languageName: node linkType: hard "get-uri@npm:^6.0.1": - version: 6.0.3 - resolution: "get-uri@npm:6.0.3" + version: 6.0.4 + resolution: "get-uri@npm:6.0.4" dependencies: basic-ftp: ^5.0.2 data-uri-to-buffer: ^6.0.2 debug: ^4.3.4 - fs-extra: ^11.2.0 - checksum: 3eda448a59fa1ba82ad4f252e58490fec586b644f2dc9c98ba3ab20e801ecc8a1bc1784829c474c9d188edb633d4dfd81c33894ca6117a33a16e8e013b41b40f + checksum: 7eae81655e0c8cee250d29c189e09030f37a2d37987298325709affb9408de448bf2dc43ee9a59acd21c1f100c3ca711d0446b4e689e9590c25774ecc59f0442 languageName: node linkType: hard @@ -29745,11 +30192,11 @@ __metadata: linkType: hard "git-url-parse@npm:^14.0.0": - version: 14.0.0 - resolution: "git-url-parse@npm:14.0.0" + version: 14.1.0 + resolution: "git-url-parse@npm:14.1.0" dependencies: git-up: ^7.0.0 - checksum: b011c5de652e60e5f19de9815d1b78b2f725deb07e73d1b9ff8ca6657406d0a6c691fbe4460017822676a80635f93099345cadbd06361b76f53c4556265d3e48 + checksum: 16bbf5ca423352ab1b0d704dc40b46123e0bfcc0ae2959ef6a93d43c509146151cd6a1d99690f3555324d2261b36443b7978abc379dc1a7bf8f564e52d676dee languageName: node linkType: hard @@ -29842,7 +30289,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7, glob@npm:^7.2.3": +"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -29943,12 +30390,13 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.1, globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" +"globalthis@npm:^1.0.1, globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - define-properties: ^1.1.3 - checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 + define-properties: ^1.2.1 + gopd: ^1.0.1 + checksum: 39ad667ad9f01476474633a1834a70842041f70a55571e8dcef5fb957980a92da5022db5430fca8aecc5d47704ae30618c0bc877a579c70710c904e9ef06108a languageName: node linkType: hard @@ -29975,9 +30423,9 @@ __metadata: languageName: node linkType: hard -"google-auth-library@npm:^9.0.0, google-auth-library@npm:^9.3.0": - version: 9.6.3 - resolution: "google-auth-library@npm:9.6.3" +"google-auth-library@npm:^9.0.0, google-auth-library@npm:^9.3.0, google-auth-library@npm:^9.6.3": + version: 9.15.0 + resolution: "google-auth-library@npm:9.15.0" dependencies: base64-js: ^1.3.0 ecdsa-sig-formatter: ^1.0.11 @@ -29985,55 +30433,34 @@ __metadata: gcp-metadata: ^6.1.0 gtoken: ^7.0.0 jws: ^4.0.0 - checksum: 46174191de15ec56110ac0394ae9d1c56fb6aa293809d45170b2ff570130d7e3f3e82fa78d413908862a2d0da3fa946b72f1074000f4d52579eb17367e49e44d + checksum: 7ff63ff755ce43601a1780cfbe6d8b523792bfd2b653a27180e41735b9f0ba5689668eb8b079c915300041e412ec00b7635b5c26e0f2139fecacb346b6f9f12f languageName: node linkType: hard -"google-gax@npm:^4.0.3, google-gax@npm:^4.0.4": - version: 4.3.1 - resolution: "google-gax@npm:4.3.1" +"google-gax@npm:^4.0.3, google-gax@npm:^4.3.3": + version: 4.4.1 + resolution: "google-gax@npm:4.4.1" dependencies: - "@grpc/grpc-js": ~1.10.0 - "@grpc/proto-loader": ^0.7.0 + "@grpc/grpc-js": ^1.10.9 + "@grpc/proto-loader": ^0.7.13 "@types/long": ^4.0.0 abort-controller: ^3.0.0 duplexify: ^4.0.0 google-auth-library: ^9.3.0 - node-fetch: ^2.6.1 + node-fetch: ^2.7.0 object-hash: ^3.0.0 - proto3-json-serializer: ^2.0.0 - protobufjs: 7.2.6 + proto3-json-serializer: ^2.0.2 + protobufjs: ^7.3.2 retry-request: ^7.0.0 uuid: ^9.0.1 - checksum: bc7e0da01f0494ae4b9fb2c5dd3a81089e7e18228ad26e6d985da7bb9e8df9f77c4c5cf794bd48bdd7b5930700ba17771f37e7ffdc5e0a749702f8f69697e825 + checksum: 945dc57fa80a9e95621460585f99319ef123c3eb904f0c5f4d10197bfa7981294d7f600c77e481a0cb071f8c08d692d394d81cd06f7f3dd3c34c581c65100f6a languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: ^1.1.3 - checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 - languageName: node - linkType: hard - -"got@npm:^11.8.3": - version: 11.8.6 - resolution: "got@npm:11.8.6" - dependencies: - "@sindresorhus/is": ^4.0.0 - "@szmarczak/http-timer": ^4.0.5 - "@types/cacheable-request": ^6.0.1 - "@types/responselike": ^1.0.0 - cacheable-lookup: ^5.0.3 - cacheable-request: ^7.0.2 - decompress-response: ^6.0.0 - http2-wrapper: ^1.0.0-beta.5.2 - lowercase-keys: ^2.0.0 - p-cancelable: ^2.0.0 - responselike: ^2.0.0 - checksum: bbc783578a8d5030c8164ef7f57ce41b5ad7db2ed13371e1944bef157eeca5a7475530e07c0aaa71610d7085474d0d96222c9f4268d41db333a17e39b463f45d +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: cc6d8e655e360955bdccaca51a12a474268f95bb793fc3e1f2bdadb075f28bfd1fd988dab872daf77a61d78cbaf13744bc8727a17cfb1d150d76047d805375f3 languageName: node linkType: hard @@ -30084,8 +30511,8 @@ __metadata: linkType: hard "graphql-config@npm:^5.0.2": - version: 5.0.3 - resolution: "graphql-config@npm:5.0.3" + version: 5.1.3 + resolution: "graphql-config@npm:5.1.3" dependencies: "@graphql-tools/graphql-file-loader": ^8.0.0 "@graphql-tools/json-file-loader": ^8.0.0 @@ -30094,8 +30521,8 @@ __metadata: "@graphql-tools/url-loader": ^8.0.0 "@graphql-tools/utils": ^10.0.0 cosmiconfig: ^8.1.0 - jiti: ^1.18.2 - minimatch: ^4.2.3 + jiti: ^2.0.0 + minimatch: ^9.0.5 string-env-interpolation: ^1.0.1 tslib: ^2.4.0 peerDependencies: @@ -30104,16 +30531,16 @@ __metadata: peerDependenciesMeta: cosmiconfig-toml-loader: optional: true - checksum: 3d079d48ccc624d16bee58d15802267d65e856f4d1ba278ededb3ac66a565d4f205cd60ac1f19ed8159bfa2d944c453ae58512c6513a8004754bea9964924485 + checksum: fde8aee849def42a5eaf02fbe3e404c91be94a53782c22ff58b29bfcfed7e9be2fba114fa94b4a97e12ea1e5970267ebaa119ba6915b2d4d9bb8f5ae9c5485c2 languageName: node linkType: hard "graphql-http@npm:^1.22.0": - version: 1.22.1 - resolution: "graphql-http@npm:1.22.1" + version: 1.22.4 + resolution: "graphql-http@npm:1.22.4" peerDependencies: graphql: ">=0.11 <=16" - checksum: b514ed17837c7622834ab306d886586296cc504abb1055223cb50ec145804ba4769a9d0b523504d79e955cc3e9469cf29f8153353d8715a94ee0c98fa5c54a3b + checksum: 664c37de3a507e4461bfdc47dca35302ee6418d332bc3757251ef32cd297401d17878072692425ccbf04a81639e733d3fa0c4f6e9aba4c8e15b1fdd3b10a9f0b languageName: node linkType: hard @@ -30155,25 +30582,25 @@ __metadata: linkType: hard "graphql-ws@npm:^5.14.0, graphql-ws@npm:^5.4.1": - version: 5.15.0 - resolution: "graphql-ws@npm:5.15.0" + version: 5.16.2 + resolution: "graphql-ws@npm:5.16.2" peerDependencies: graphql: ">=0.11 <=16" - checksum: 699b3a74af772f974948947b2124917610dfcc89cbde1e3ed36080d17455712c9e24f6d8a3f102baaa662fc7a0777880492a507294dbaa3f6f669afae27510c3 + checksum: ecbfee032fed2fad80a7da192ad46c0ff53c13125def6c5bd83f6ad491c9e77c212f343c7f87b4e36825b0a92178ea5038081bb0f27b96af91e9bdd44dba24e6 languageName: node linkType: hard "graphql@npm:^14.0.2 || ^15.5": - version: 15.9.0 - resolution: "graphql@npm:15.9.0" - checksum: fecf48b878baf8bd1d943b79860554f9e0bdf8d23a8f014356209fedcc1f1353729388538842d8a4a79078ea75b3f24d504d074223c815acf9b6059837c5c934 + version: 15.10.1 + resolution: "graphql@npm:15.10.1" + checksum: 03e67181eaf803a6248806259a24d221333a05360e8952d155dba57c63691eec5e23969c52deea1d7314e7cdfe8bfef8857d9427e321ed615fc1400a8504ff59 languageName: node linkType: hard "graphql@npm:^16.0.0, graphql@npm:^16.8.1": - version: 16.8.1 - resolution: "graphql@npm:16.8.1" - checksum: 8d304b7b6f708c8c5cc164b06e92467dfe36aff6d4f2cf31dd19c4c2905a0e7b89edac4b7e225871131fd24e21460836b369de0c06532644d15b461d55b1ccc0 + version: 16.10.0 + resolution: "graphql@npm:16.10.0" + checksum: 969c2d1061d69ad6fe08a7fe642428212b0b8485a2f9b5d8650203eb6c3221479e81ec6a757708f849d84b85afcb3ebc5a8ff2f71778bb66c5e4850f051c170e languageName: node linkType: hard @@ -30245,10 +30672,10 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 79730518ae02c77e4af6a1d1a0b6a2c3e1509785532771f9baf0241e83e36329542c3d7a0e723df8cbc85f74eff4f177828a2265a01ba576adbdc2d40d86538b languageName: node linkType: hard @@ -30266,7 +30693,7 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.1, has-property-descriptors@npm:^1.0.2": +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": version: 1.0.2 resolution: "has-property-descriptors@npm:1.0.2" dependencies: @@ -30275,21 +30702,23 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: fe7c3d50b33f50f3933a04413ed1f69441d21d2d2944f81036276d30635cad9279f6b43bc8f32036c31ebdfcf6e731150f46c1907ad90c669ffe9b066c3ba5c4 +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: ^1.0.0 + checksum: f55010cb94caa56308041d77967c72a02ffd71386b23f9afa8447e58bc92d49d15c19bf75173713468e92fe3fb1680b03b115da39c21c32c74886d1d50d3e7ff languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -30309,6 +30738,16 @@ __metadata: languageName: node linkType: hard +"hash-base@npm:~3.0, hash-base@npm:~3.0.4": + version: 3.0.5 + resolution: "hash-base@npm:3.0.5" + dependencies: + inherits: ^2.0.4 + safe-buffer: ^5.2.1 + checksum: 6a82675a5de2ea9347501bbe655a2334950c7ec972fd9810ae9529e06aeab8f7e8ef68fc2112e5e6f0745561a7e05326efca42ad59bb5fd116537f5f8b0a216d + languageName: node + linkType: hard + "hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": version: 1.1.7 resolution: "hash.js@npm:1.1.7" @@ -30319,12 +30758,12 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1": - version: 2.0.1 - resolution: "hasown@npm:2.0.1" +"hasown@npm:^2.0.0, hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" dependencies: function-bind: ^1.1.2 - checksum: 9081c382a4fe8a62639a8da5c7d3322b203c319147e48783763dd741863d9f2dcaa743574fe2a1283871c445d8ba99ea45d5fff384e5ad27ca9dd7a367d79de0 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db languageName: node linkType: hard @@ -30336,8 +30775,8 @@ __metadata: linkType: hard "hast-util-to-jsx-runtime@npm:^2.0.0": - version: 2.3.0 - resolution: "hast-util-to-jsx-runtime@npm:2.3.0" + version: 2.3.2 + resolution: "hast-util-to-jsx-runtime@npm:2.3.2" dependencies: "@types/estree": ^1.0.0 "@types/hast": ^3.0.0 @@ -30354,7 +30793,7 @@ __metadata: style-to-object: ^1.0.0 unist-util-position: ^5.0.0 vfile-message: ^4.0.0 - checksum: 599a97c6ec61c1430776813d7fb42e6f96032bf4a04dfcbb8eceef3bc8d1845ecf242387a4426b9d3f52320dbbfa26450643b81124b3d6a0b9bbb0fff4d0ba83 + checksum: 223cc3e2ea622d14529e2aa070bd88f6ca7255084bd5e6e28015dad435cda22b1ddd98064bba6a4753d546d882dcd3f8067af1ea27c253986f6f303869544075 languageName: node linkType: hard @@ -30438,6 +30877,13 @@ __metadata: languageName: node linkType: hard +"highlightjs-vue@npm:^1.0.0": + version: 1.0.0 + resolution: "highlightjs-vue@npm:1.0.0" + checksum: 895f2dd22c93a441aca7df8d21f18c00697537675af18832e50810a071715f79e45eda677e6244855f325234c6a06f7bd76f8f20bd602040fc350c80ac7725e4 + languageName: node + linkType: hard + "history@npm:^5.0.0": version: 5.3.0 resolution: "history@npm:5.3.0" @@ -30520,15 +30966,6 @@ __metadata: languageName: node linkType: hard -"html-encoding-sniffer@npm:^2.0.1": - version: 2.0.1 - resolution: "html-encoding-sniffer@npm:2.0.1" - dependencies: - whatwg-encoding: ^1.0.5 - checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba - languageName: node - linkType: hard - "html-encoding-sniffer@npm:^3.0.0": version: 3.0.0 resolution: "html-encoding-sniffer@npm:3.0.0" @@ -30538,7 +30975,16 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2, html-entities@npm:^2.4.0": +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" + dependencies: + whatwg-encoding: ^3.1.1 + checksum: 3339b71dab2723f3159a56acf541ae90a408ce2d11169f00fe7e0c4663d31d6398c8a4408b504b4eec157444e47b084df09b3cb039c816660f0dd04846b8957d + languageName: node + linkType: hard + +"html-entities@npm:^2.1.0, html-entities@npm:^2.3.2, html-entities@npm:^2.5.2": version: 2.5.2 resolution: "html-entities@npm:2.5.2" checksum: b23f4a07d33d49ade1994069af4e13d31650e3fb62621e92ae10ecdf01d1a98065c78fd20fdc92b4c7881612210b37c275f2c9fba9777650ab0d6f2ceb3b99b6 @@ -30584,15 +31030,15 @@ __metadata: linkType: hard "html-url-attributes@npm:^3.0.0": - version: 3.0.0 - resolution: "html-url-attributes@npm:3.0.0" - checksum: 9f499d33e6ddff6c2d2766fd73d2f22f3c370b4e485a92b0b2938303665b306dc7f36b2724c9466764e8f702351c01f342f5ec933be41a31c1fa40b72087b91d + version: 3.0.1 + resolution: "html-url-attributes@npm:3.0.1" + checksum: 1ecbf9cae0c438d2802386710177b7bbf7e30cc61327e9f125eb32fca7302cd1e3ab45c441859cb1e7646109be322fc1163592ad4dfde9b14d09416d101a6573 languageName: node linkType: hard -"html-webpack-plugin@npm:^5.3.1": - version: 5.6.0 - resolution: "html-webpack-plugin@npm:5.6.0" +"html-webpack-plugin@npm:^5.3.1, html-webpack-plugin@npm:^5.6.3": + version: 5.6.3 + resolution: "html-webpack-plugin@npm:5.6.3" dependencies: "@types/html-minifier-terser": ^6.0.0 html-minifier-terser: ^6.0.2 @@ -30607,7 +31053,7 @@ __metadata: optional: true webpack: optional: true - checksum: 32a6e41da538e798fd0be476637d7611a5e8a98a3508f031996e9eb27804dcdc282cb01f847cf5d066f21b49cfb8e21627fcf977ffd0c9bea81cf80e5a65070d + checksum: 59e7d971b0cfd9ba34c7acaa3c161e43c62596474dd8cd35d7b690498ff5891f21296de0aa1d2e7810348caa657e938461267155dda47913b5eeca7124406270 languageName: node linkType: hard @@ -30659,7 +31105,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": +"http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 @@ -30723,20 +31169,9 @@ __metadata: linkType: hard "http-parser-js@npm:>=0.5.1": - version: 0.5.8 - resolution: "http-parser-js@npm:0.5.8" - checksum: 6bbdf2429858e8cf13c62375b0bfb6dc3955ca0f32e58237488bc86cd2378f31d31785fd3ac4ce93f1c74e0189cf8823c91f5cb061696214fd368d2452dc871d - languageName: node - linkType: hard - -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": 1 - agent-base: 6 - debug: 4 - checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 + version: 0.5.9 + resolution: "http-parser-js@npm:0.5.9" + checksum: 5696ba51e87f423333454cdf316484b64a89d6fc4916821e8a773f9a80c050627dad240f7fde3a4da8b634b465c7d844de2b1602e808b68b392a3dd324886745 languageName: node linkType: hard @@ -30751,7 +31186,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -30775,7 +31210,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6": +"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6, http-proxy-middleware@npm:^2.0.7": version: 2.0.7 resolution: "http-proxy-middleware@npm:2.0.7" dependencies: @@ -30822,16 +31257,6 @@ __metadata: languageName: node linkType: hard -"http2-wrapper@npm:^1.0.0-beta.5.2": - version: 1.0.3 - resolution: "http2-wrapper@npm:1.0.3" - dependencies: - quick-lru: ^5.1.1 - resolve-alpn: ^1.0.0 - checksum: 74160b862ec699e3f859739101ff592d52ce1cb207b7950295bf7962e4aa1597ef709b4292c673bece9c9b300efad0559fc86c71b1409c7a1e02b7229456003e - languageName: node - linkType: hard - "http2-wrapper@npm:^2.2.1": version: 2.2.1 resolution: "http2-wrapper@npm:2.2.1" @@ -30859,13 +31284,13 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": - version: 7.0.5 - resolution: "https-proxy-agent@npm:7.0.5" +"https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" dependencies: - agent-base: ^7.0.2 + agent-base: ^7.1.2 debug: 4 - checksum: 2e1a28960f13b041a50702ee74f240add8e75146a5c37fc98f1960f0496710f6918b3a9fe1e5aba41e50f58e6df48d107edd9c405c5f0d73ac260dabf2210857 + checksum: b882377a120aa0544846172e5db021fa8afbf83fea2a897d397bd2ddd8095ab268c24bc462f40a15f2a8c600bf4aa05ce52927f70038d4014e68aefecfa94e8d languageName: node linkType: hard @@ -30884,9 +31309,9 @@ __metadata: linkType: hard "humanize-duration@npm:^3.25.1, humanize-duration@npm:^3.27.0": - version: 3.31.0 - resolution: "humanize-duration@npm:3.31.0" - checksum: a21b1c80d43580c28fef07213846f74703c467270d41b774faeb4df6041b1da65effc554346fe6f0a70c4096b011d75f2ba6c2fd254b5a3c93231d85910533fe + version: 3.32.1 + resolution: "humanize-duration@npm:3.32.1" + checksum: 17f6f2ec09a931eb0bf7de1fc8ac01f90174f366f60390289bd0797c6e4545255bd5d770dd18909c9b21685d76cc190b3a8ec880d2ecc088a1ad032e0d2f57cb languageName: node linkType: hard @@ -30916,9 +31341,9 @@ __metadata: linkType: hard "hyphenate-style-name@npm:^1.0.3": - version: 1.0.4 - resolution: "hyphenate-style-name@npm:1.0.4" - checksum: 4f5bf4b055089754924babebaa23c17845937bcca6aee95d5d015f8fa1e6814279002bd6a9e541e3fac2cd02519fc76305396727066c57c8e21a7e73e7a12137 + version: 1.1.0 + resolution: "hyphenate-style-name@npm:1.1.0" + checksum: b9ed74e29181d96bd58a2d0e62fc4a19879db591dba268275829ff0ae595fcdf11faafaeaa63330a45c3004664d7db1f0fc7cdb372af8ee4615ed8260302c207 languageName: node linkType: hard @@ -30965,10 +31390,12 @@ __metadata: languageName: node linkType: hard -"idb-keyval@npm:5.0.2": - version: 5.0.2 - resolution: "idb-keyval@npm:5.0.2" - checksum: 64ce4049fcfa9ffc8ddd23897a59278bd60420bcaff88ca653c63b725f8d6228a956bd7f474cea21befedd5abdb1bc8058ca1db5a12c4145605291dadadedbf1 +"idb-keyval@npm:5.1.5": + version: 5.1.5 + resolution: "idb-keyval@npm:5.1.5" + dependencies: + safari-14-idb-fix: ^1.0.6 + checksum: 6d71d975c5392ddce934a3617b169c25d3b3204f5203d2ffa182c253515922c787292d61eb738aa25ab80fa390e541a416376a6d62a0a2fe7cf112a758f2d8d9 languageName: node linkType: hard @@ -31005,9 +31432,9 @@ __metadata: linkType: hard "ignore@npm:^5.1.4, ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.1 - resolution: "ignore@npm:5.3.1" - checksum: 71d7bb4c1dbe020f915fd881108cbe85a0db3d636a0ea3ba911393c53946711d13a9b1143c7e70db06d571a5822c0a324a6bcde5c9904e7ca5047f01f1bf8cd3 + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be languageName: node linkType: hard @@ -31036,10 +31463,10 @@ __metadata: version: 0.0.0-use.local resolution: "immobiliarelabs-backstage-plugin-gitlab-backend@workspace:dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab-backend-dynamic" dependencies: - "@backstage/backend-plugin-api": 1.0.1 - "@backstage/cli": 0.28.2 + "@backstage/backend-plugin-api": 1.1.0 + "@backstage/cli": 0.29.4 "@immobiliarelabs/backstage-plugin-gitlab-backend": 6.7.0 - "@janus-idp/cli": 1.18.5 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -31048,9 +31475,9 @@ __metadata: version: 0.0.0-use.local resolution: "immobiliarelabs-backstage-plugin-gitlab@workspace:dynamic-plugins/wrappers/immobiliarelabs-backstage-plugin-gitlab" dependencies: - "@backstage/cli": 0.28.2 + "@backstage/cli": 0.29.4 "@immobiliarelabs/backstage-plugin-gitlab": 6.6.1 - "@janus-idp/cli": 1.18.5 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -31091,26 +31518,26 @@ __metadata: linkType: hard "import-in-the-middle@npm:^1.8.1": - version: 1.11.2 - resolution: "import-in-the-middle@npm:1.11.2" + version: 1.12.0 + resolution: "import-in-the-middle@npm:1.12.0" dependencies: acorn: ^8.8.2 acorn-import-attributes: ^1.9.5 cjs-module-lexer: ^1.2.2 module-details-from-path: ^1.0.3 - checksum: 06fb73100a918e00778779713119236cc8d3d4656aae9076a18159cfcd28eb0cc26e0a5040d11da309c5f8f8915c143b8d74e73c0734d3f5549b1813d1008bb9 + checksum: 68ac204fceba98e318977623391ef1ee9925f123e2f381266206859f91f9337da5bd4b421857c88ca1b406643f93ef68cdce8d02ef6202077124bc2f4841eae4 languageName: node linkType: hard "import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" + version: 3.2.0 + resolution: "import-local@npm:3.2.0" dependencies: pkg-dir: ^4.2.0 resolve-cwd: ^3.0.0 bin: import-local-fixture: fixtures/cli.js - checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd + checksum: 0b0b0b412b2521739fbb85eeed834a3c34de9bc67e670b3d0b86248fc460d990a7b116ad056c084b87a693ef73d1f17268d6a5be626bb43c998a8b1c8a230004 languageName: node linkType: hard @@ -31175,10 +31602,10 @@ __metadata: languageName: node linkType: hard -"inline-style-parser@npm:0.2.3": - version: 0.2.3 - resolution: "inline-style-parser@npm:0.2.3" - checksum: ed6454de80759e7faef511f51b5716b33c40a6b05b8a8f5383dc01e8a087c6fd5df877446d05e8e3961ae0751e028e25e180f5cffc192a5ce7822edef6810ade +"inline-style-parser@npm:0.2.4": + version: 0.2.4 + resolution: "inline-style-parser@npm:0.2.4" + checksum: 5df20a21dd8d67104faaae29774bb50dc9690c75bc5c45dac107559670a5530104ead72c4cf54f390026e617e7014c65b3d68fb0bb573a37c4d1f94e9c36e1ca languageName: node linkType: hard @@ -31214,14 +31641,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5, internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" dependencies: es-errors: ^1.3.0 - hasown: ^2.0.0 - side-channel: ^1.0.4 - checksum: cadc5eea5d7d9bc2342e93aae9f31f04c196afebb11bde97448327049f492cd7081e18623ae71388aac9cd237b692ca3a105be9c68ac39c1dec679d7409e33eb + hasown: ^2.0.2 + side-channel: ^1.1.0 + checksum: 8e0991c2d048cc08dab0a91f573c99f6a4215075887517ea4fa32203ce8aea60fa03f95b177977fa27eb502e5168366d0f3e02c762b799691411d49900611861 languageName: node linkType: hard @@ -31239,7 +31666,7 @@ __metadata: languageName: node linkType: hard -"invariant@npm:^2.2.2, invariant@npm:^2.2.4": +"invariant@npm:^2.2.2": version: 2.2.4 resolution: "invariant@npm:2.2.4" dependencies: @@ -31271,15 +31698,15 @@ __metadata: linkType: hard "io-ts@npm:^2.2.16": - version: 2.2.21 - resolution: "io-ts@npm:2.2.21" + version: 2.2.22 + resolution: "io-ts@npm:2.2.22" peerDependencies: fp-ts: ^2.5.0 - checksum: c6ae5237e313f7428c874fa5667b3656adaa5ec29f7f34194ad8ea8894b525c89322a5b74ca560e7cd66f8334b0b48cae6c4dc517c662de72da86110140646d4 + checksum: d1b6a5f9d3e0ce1f4304955c0c40e3f1c31d9d5a42df83fc0d42eb356aa8b2c29c1342615aa51704f0309a75d1ba2924e87de87484a89e9326de62a869bad118 languageName: node linkType: hard -"ioredis@npm:5.4.2": +"ioredis@npm:5.4.2, ioredis@npm:^5.4.1": version: 5.4.2 resolution: "ioredis@npm:5.4.2" dependencies: @@ -31296,23 +31723,6 @@ __metadata: languageName: node linkType: hard -"ioredis@npm:^5.3.2": - version: 5.4.1 - resolution: "ioredis@npm:5.4.1" - dependencies: - "@ioredis/commands": ^1.1.1 - cluster-key-slot: ^1.1.0 - debug: ^4.3.4 - denque: ^2.1.0 - lodash.defaults: ^4.2.0 - lodash.isarguments: ^3.1.0 - redis-errors: ^1.2.0 - redis-parser: ^3.0.0 - standard-as-callback: ^2.1.0 - checksum: 92210294f75800febe7544c27b07e4892480172363b11971aa575be5b68f023bfed4bc858abc9792230c153aa80409047a358f174062c14d17536aa4499fe10b - languageName: node - linkType: hard - "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -31379,22 +31789,23 @@ __metadata: linkType: hard "is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" + version: 1.2.0 + resolution: "is-arguments@npm:1.2.0" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + call-bound: ^1.0.2 + has-tostringtag: ^1.0.2 + checksum: aae9307fedfe2e5be14aebd0f48a9eeedf6b8c8f5a0b66257b965146d1e94abdc3f08e3dce3b1d908e1fa23c70039a88810ee1d753905758b9b6eebbab0bafeb languageName: node linkType: hard -"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" +"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - checksum: e4e3e6ef0ff2239e75371d221f74bc3c26a03564a22efb39f6bb02609b598917ddeecef4e8c877df2a25888f247a98198959842a5e73236bc7f22cabdf6351a7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + get-intrinsic: ^1.2.6 + checksum: f137a2a6e77af682cdbffef1e633c140cf596f72321baf8bba0f4ef22685eb4339dde23dfe9e9ca430b5f961dee4d46577dcf12b792b68518c8449b134fb9156 languageName: node linkType: hard @@ -31413,20 +31824,23 @@ __metadata: linkType: hard "is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" + version: 2.1.0 + resolution: "is-async-function@npm:2.1.0" dependencies: - has-tostringtag: ^1.0.0 - checksum: e3471d95e6c014bf37cad8a93f2f4b6aac962178e0a5041e8903147166964fdc1c5c1d2ef87e86d77322c370ca18f2ea004fa7420581fa747bcaf7c223069dbd + call-bound: ^1.0.3 + get-proto: ^1.0.1 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: e8dfa81561eb7cd845d626bf49675c735a177013943eb6919185e1f358fe8b16fd11fa477397df8ddddd31ade47092de8243997530931a4ec17cb2b9d15479c9 languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" dependencies: - has-bigints: ^1.0.1 - checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 + has-bigints: ^1.0.2 + checksum: ee1544f0e664f253306786ed1dce494b8cf242ef415d6375d8545b4d8816b0f054bd9f948a8988ae2c6325d1c28260dd02978236b2f7b8fb70dfc4838a6c9fa7 languageName: node linkType: hard @@ -31439,13 +31853,13 @@ __metadata: languageName: node linkType: hard -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-boolean-object@npm:^1.2.1": + version: 1.2.1 + resolution: "is-boolean-object@npm:1.2.1" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 + call-bound: ^1.0.2 + has-tostringtag: ^1.0.2 + checksum: 2672609f0f2536172873810a38ec006a415e43ddc6a240f7638a1659cb20dfa91cc75c8a1bed36247bb046aa8f0eab945f20d1203bc69606418bd129c745f861 languageName: node linkType: hard @@ -31456,16 +31870,7 @@ __metadata: languageName: node linkType: hard -"is-builtin-module@npm:^3.2.1": - version: 3.2.1 - resolution: "is-builtin-module@npm:3.2.1" - dependencies: - builtin-modules: ^3.3.0 - checksum: e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 - languageName: node - linkType: hard - -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac @@ -31481,21 +31886,33 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: ^2.0.2 + checksum: 6ec5b3c42d9cbf1ac23f164b16b8a140c3cec338bf8f884c076ca89950c7cc04c33e78f02b8cae7ff4751f3247e3174b2330f1fe4de194c7210deb8b1ea316a7 + languageName: node + linkType: hard + +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" dependencies: - hasown: ^2.0.0 - checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c + call-bound: ^1.0.2 + get-intrinsic: ^1.2.6 + is-typed-array: ^1.1.13 + checksum: 31600dd19932eae7fd304567e465709ffbfa17fa236427c9c864148e1b54eb2146357fcf3aed9b686dee13c217e1bb5a649cb3b9c479e1004c0648e9febde1b2 languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" dependencies: - has-tostringtag: ^1.0.0 - checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + call-bound: ^1.0.2 + has-tostringtag: ^1.0.2 + checksum: d6c36ab9d20971d65f3fc64cef940d57a4900a2ac85fb488a46d164c2072a33da1cb51eefcc039e3e5c208acbce343d3480b84ab5ff0983f617512da2742562a languageName: node linkType: hard @@ -31545,12 +31962,12 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" dependencies: - call-bind: ^1.0.2 - checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + call-bound: ^1.0.3 + checksum: 38c646c506e64ead41a36c182d91639833311970b6b6c6268634f109eef0a1a9d2f1f2e499ef4cb43c744a13443c4cdd2f0812d5afdcee5e9b65b72b28c48557 languageName: node linkType: hard @@ -31585,11 +32002,14 @@ __metadata: linkType: hard "is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" dependencies: - has-tostringtag: ^1.0.0 - checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + call-bound: ^1.0.3 + get-proto: ^1.0.0 + has-tostringtag: ^1.0.2 + safe-regex-test: ^1.1.0 + checksum: f7f7276131bdf7e28169b86ac55a5b080012a597f9d85a0cbef6fe202a7133fa450a3b453e394870e3cb3685c5a764c64a9f12f614684b46969b1e6f297bed6b languageName: node linkType: hard @@ -31648,7 +32068,7 @@ __metadata: languageName: node linkType: hard -"is-map@npm:^2.0.1, is-map@npm:^2.0.2": +"is-map@npm:^2.0.2, is-map@npm:^2.0.3": version: 2.0.3 resolution: "is-map@npm:2.0.3" checksum: e6ce5f6380f32b141b3153e6ba9074892bbbbd655e92e7ba5ff195239777e767a976dcd4e22f864accaf30e53ebf961ab1995424aef91af68788f0591b7396cc @@ -31671,13 +32091,6 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: c1e6b23d2070c0539d7b36022d5a94407132411d01aba39ec549af824231f3804b1aea90b5e4e58e807a65d23ceb538ed6e355ce76b267bdd86edb757ffcbdcd - languageName: node - linkType: hard - "is-network-error@npm:^1.0.0": version: 1.1.0 resolution: "is-network-error@npm:1.1.0" @@ -31692,12 +32105,13 @@ __metadata: languageName: node linkType: hard -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 6517f0a0e8c4b197a21afb45cd3053dc711e79d45d8878aa3565de38d0102b130ca8732485122c7b336e98c27dacd5236854e3e6526e0eb30cae64956535662f languageName: node linkType: hard @@ -31782,13 +32196,15 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" +"is-regex@npm:^1.1.4, is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + call-bound: ^1.0.2 + gopd: ^1.2.0 + has-tostringtag: ^1.0.2 + hasown: ^2.0.2 + checksum: 99ee0b6d30ef1bb61fa4b22fae7056c6c9b3c693803c0c284ff7a8570f83075a7d38cda53b06b7996d441215c27895ea5d1af62124562e13d91b3dbec41a5e13 languageName: node linkType: hard @@ -31799,19 +32215,19 @@ __metadata: languageName: node linkType: hard -"is-set@npm:^2.0.1, is-set@npm:^2.0.2": +"is-set@npm:^2.0.2, is-set@npm:^2.0.3": version: 2.0.3 resolution: "is-set@npm:2.0.3" checksum: 36e3f8c44bdbe9496c9689762cc4110f6a6a12b767c5d74c0398176aa2678d4467e3bf07595556f2dba897751bde1422480212b97d973c7b08a343100b0c0dfe languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" +"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - call-bind: ^1.0.7 - checksum: a4fff602c309e64ccaa83b859255a43bb011145a42d3f56f67d9268b55bc7e6d98a5981a1d834186ad3105d6739d21547083fe7259c76c0468483fc538e716d8 + call-bound: ^1.0.3 + checksum: 1611fedc175796eebb88f4dfc393dd969a4a8e6c69cadaff424ee9d4464f9f026399a5f84a90f7c62d6d7ee04e3626a912149726de102b0bd6c1ee6a9868fa5a languageName: node linkType: hard @@ -31838,30 +32254,33 @@ __metadata: languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" +"is-string@npm:^1.0.7, is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + call-bound: ^1.0.3 + has-tostringtag: ^1.0.2 + checksum: 2eeaaff605250f5e836ea3500d33d1a5d3aa98d008641d9d42fb941e929ffd25972326c2ef912987e54c95b6f10416281aaf1b35cdf81992cfb7524c5de8e193 languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" dependencies: - has-symbols: ^1.0.2 - checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + call-bound: ^1.0.2 + has-symbols: ^1.1.0 + safe-regex-test: ^1.1.0 + checksum: bfafacf037af6f3c9d68820b74be4ae8a736a658a3344072df9642a090016e281797ba8edbeb1c83425879aae55d1cb1f30b38bf132d703692b2570367358032 languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" dependencies: - which-typed-array: ^1.1.14 - checksum: 150f9ada183a61554c91e1c4290086d2c100b0dff45f60b028519be72a8db964da403c48760723bf5253979b8dffe7b544246e0e5351dcd05c5fdb1dcc1dc0f0 + which-typed-array: ^1.1.16 + checksum: ea7cfc46c282f805d19a9ab2084fd4542fed99219ee9dbfbc26284728bd713a51eac66daa74eca00ae0a43b61322920ba334793607dc39907465913e921e0892 languageName: node linkType: hard @@ -31879,29 +32298,29 @@ __metadata: languageName: node linkType: hard -"is-weakmap@npm:^2.0.1": - version: 2.0.1 - resolution: "is-weakmap@npm:2.0.1" - checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 +"is-weakmap@npm:^2.0.2": + version: 2.0.2 + resolution: "is-weakmap@npm:2.0.2" + checksum: f36aef758b46990e0d3c37269619c0a08c5b29428c0bb11ecba7f75203442d6c7801239c2f31314bc79199217ef08263787f3837d9e22610ad1da62970d6616d languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": + version: 1.1.0 + resolution: "is-weakref@npm:1.1.0" dependencies: - call-bind: ^1.0.2 - checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + call-bound: ^1.0.2 + checksum: 2a2f3a1746ee1baecf9ac6483d903cd3f8ef3cca88e2baa42f2e85ea064bd246d218eed5f6d479fc1c76dae2231e71133b6b86160e821d176932be9fae3da4da languageName: node linkType: hard -"is-weakset@npm:^2.0.1": - version: 2.0.2 - resolution: "is-weakset@npm:2.0.2" +"is-weakset@npm:^2.0.3": + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 + call-bound: ^1.0.3 + get-intrinsic: ^1.2.6 + checksum: 5c6c8415a06065d78bdd5e3a771483aa1cd928df19138aa73c4c51333226f203f22117b4325df55cc8b3085a6716870a320c2d757efee92d7a7091a039082041 languageName: node linkType: hard @@ -31945,9 +32364,9 @@ __metadata: linkType: hard "isbinaryfile@npm:^5.0.0": - version: 5.0.2 - resolution: "isbinaryfile@npm:5.0.2" - checksum: 5e3e9d31b016eefb7e93bd0ab7d088489882eeb9018bf71303f2ce5d9ad02dbb127663d065ce2519913c3c9135a99002e989d6b1786a0fcc0b3c3d2defb1f7d0 + version: 5.0.4 + resolution: "isbinaryfile@npm:5.0.4" + checksum: d88982a889369d83a5937b4b4d2288ed3b3dbbcee8fc74db40058f3c089a2c7beb9e5305b7177e82d87ff38fb62be8d60960f7a2d669ca08240ef31c1435b884 languageName: node linkType: hard @@ -31972,34 +32391,23 @@ __metadata: languageName: node linkType: hard -"isolated-vm@npm:^4.5.0": - version: 4.7.2 - resolution: "isolated-vm@npm:4.7.2" - dependencies: - node-gyp: latest - prebuild-install: ^7.1.1 - checksum: 16f43f6413623dc7009a8bb9fa567fb30ffc151e21e9a7ae616f25626e750ba823527fb24e2e17408943c6bbbcc7235db89f41262d43a8d8155ad99e888b0760 - languageName: node - linkType: hard - "isolated-vm@npm:^5.0.1": - version: 5.0.1 - resolution: "isolated-vm@npm:5.0.1" + version: 5.0.3 + resolution: "isolated-vm@npm:5.0.3" dependencies: node-gyp: latest - prebuild-install: ^7.1.1 - checksum: 33ca559797d8c20571015733309b313f55df667cbaf17f7c6445b707fcdfd8bef6896264a30e48eaaa5635ab1d33e826b4aa95a1ba0bf8d26b045a1226956956 + prebuild-install: ^7.1.2 + checksum: 71ec0c45fe00ed5e48b598281682e46bea7b478177d303326a0ba0602a3186059164d89935820b6648d3ea68aa73d23cd47378752189a7a6877bdfcec140985a languageName: node linkType: hard -"isomorphic-dompurify@npm:^0.13.0": - version: 0.13.0 - resolution: "isomorphic-dompurify@npm:0.13.0" +"isomorphic-dompurify@npm:^2.14.0": + version: 2.20.0 + resolution: "isomorphic-dompurify@npm:2.20.0" dependencies: - "@types/dompurify": ^2.1.0 - dompurify: ^2.2.7 - jsdom: ^16.5.2 - checksum: 144069c00c5ec2c8a9b5bca0abc8d1f5f091bb791564d5e8495cb7d45a4b23899fb7fda4fb91cbb80e3651f300df29a7b3225c0ae22071a56ac6e5362e8afbe3 + dompurify: ^3.2.3 + jsdom: ^26.0.0 + checksum: af4b59f538874dff7886062ea090e6708fd30ddcf3437fb35d58cbc1ead3b62f62b31581b2527393434876bbdfcb688e51e0803db100b56986e30d5a1c3cf129 languageName: node linkType: hard @@ -32023,23 +32431,31 @@ __metadata: linkType: hard "isomorphic-git@npm:^1.23.0": - version: 1.25.6 - resolution: "isomorphic-git@npm:1.25.6" + version: 1.29.0 + resolution: "isomorphic-git@npm:1.29.0" dependencies: - async-lock: ^1.1.0 + async-lock: ^1.4.1 clean-git-ref: ^2.0.1 crc-32: ^1.2.0 diff3: 0.0.3 ignore: ^5.1.4 minimisted: ^2.0.0 pako: ^1.0.10 + path-browserify: ^1.0.1 pify: ^4.0.1 readable-stream: ^3.4.0 sha.js: ^2.4.9 simple-get: ^4.0.1 bin: isogit: cli.cjs - checksum: d1fa30ede586f6bb36a526924dafa92d67a55b331ca1c2e95fe96bbd4b614302a87c1c016a1f7ca76c44cfa80b6c0e83c9df114417a6caabe82a8472d86346c3 + checksum: aa4d43b7352550ed749f42cc05d23bebd2a95d09b8cdef9541b96bfaa68080bdfaf03cd54a69130d5be1e243fb22f7e14ab7085d294737d0c8d25de86c231c7e + languageName: node + linkType: hard + +"isomorphic-rslog@npm:0.0.7": + version: 0.0.7 + resolution: "isomorphic-rslog@npm:0.0.7" + checksum: 2215fc494a5ec0e26044c4ce315e11effb00c16874cb7b24f3dfcd258257cb53584bb9cd1f8fc2c23b8dcc5c0f2ab85be8c12a87a2af773fce9187bc0ec9d756 languageName: node linkType: hard @@ -32089,15 +32505,15 @@ __metadata: linkType: hard "istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.2 - resolution: "istanbul-lib-instrument@npm:6.0.2" + version: 6.0.3 + resolution: "istanbul-lib-instrument@npm:6.0.3" dependencies: "@babel/core": ^7.23.9 "@babel/parser": ^7.23.9 "@istanbuljs/schema": ^0.1.3 istanbul-lib-coverage: ^3.2.0 semver: ^7.5.4 - checksum: c10aa1e93a022f9767d7f41e6c07d244cc0a5c090fbb5522d70a5f21fcb98c52b7038850276c6fd1a7a17d1868c14a9d4eb8a24efe58a0ebb9a06f3da68131fe + checksum: 74104c60c65c4fa0e97cc76f039226c356123893929f067bfad5f86fe839e08f5d680354a68fead3bc9c1e2f3fa6f3f53cded70778e821d911e851d349f3545a languageName: node linkType: hard @@ -32140,16 +32556,17 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - define-properties: ^1.2.1 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 - reflect.getprototypeof: ^1.0.4 - set-function-name: ^2.0.1 - checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 + define-data-property: ^1.1.4 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.6 + get-proto: ^1.0.0 + has-symbols: ^1.1.0 + set-function-name: ^2.0.2 + checksum: 7db23c42629ba4790e6e15f78b555f41dbd08818c85af306988364bd19d86716a1187cb333444f3a0036bfc078a0e9cb7ec67fef3a61662736d16410d7f77869 languageName: node linkType: hard @@ -32179,9 +32596,9 @@ __metadata: version: 0.0.0-use.local resolution: "janus-idp-backstage-plugin-aap-backend@workspace:dynamic-plugins/wrappers/janus-idp-backstage-plugin-aap-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 + "@backstage/cli": 0.29.4 "@janus-idp/backstage-plugin-aap-backend": 2.2.0 - "@janus-idp/cli": 1.18.5 + "@janus-idp/cli": 3.0.0 typescript: 5.7.3 languageName: unknown linkType: soft @@ -32662,7 +33079,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.5.0, jest-worker@npm:^29.7.0": +"jest-worker@npm:^29.7.0": version: 29.7.0 resolution: "jest-worker@npm:29.7.0" dependencies: @@ -32693,12 +33110,12 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^1.18.2": - version: 1.21.0 - resolution: "jiti@npm:1.21.0" +"jiti@npm:^2.0.0": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" bin: - jiti: bin/jiti.js - checksum: a7bd5d63921c170eaec91eecd686388181c7828e1fa0657ab374b9372bfc1f383cf4b039e6b272383d5cb25607509880af814a39abdff967322459cca41f2961 + jiti: lib/jiti-cli.mjs + checksum: c6c30c7b6b293e9f26addfb332b63d964a9f143cdd2cf5e946dbe5143db89f7c1b50ad9223b77fb1f6ddb0b9c5ecef995fea024ecf7d2861d285d779cde66e1e languageName: node linkType: hard @@ -32716,17 +33133,17 @@ __metadata: languageName: node linkType: hard -"jose@npm:^4.15.5": +"jose@npm:^4.15.9": version: 4.15.9 resolution: "jose@npm:4.15.9" checksum: 41abe1c99baa3cf8a78ebbf93da8f8e50e417b7a26754c4afa21865d87527b8ac2baf66de2c5f6accc3f7d7158658dae7364043677236ea1d07895b040097f15 languageName: node linkType: hard -"jose@npm:^5.0.0": - version: 5.9.3 - resolution: "jose@npm:5.9.3" - checksum: d128f2b90daf76f14eb22a81528e4f1cd99aa73613ae9d7edad69479c0ae9c29d571108e21d6ac33c3892de7bea24c4a4b99b4eb63354ebe566683c719ee334e +"jose@npm:^5.0.0, jose@npm:^5.9.6": + version: 5.9.6 + resolution: "jose@npm:5.9.6" + checksum: 4b536da0201858ed4c4582e8bb479081f11e0c63dd0f5e473adde16fc539785e1f2f0409bc1fc7cbbb5b68026776c960b4952da3a06f6fdfff0b9764c9127ae0 languageName: node linkType: hard @@ -32823,46 +33240,6 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^16.5.2": - version: 16.7.0 - resolution: "jsdom@npm:16.7.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.2.4 - acorn-globals: ^6.0.0 - cssom: ^0.4.4 - cssstyle: ^2.3.0 - data-urls: ^2.0.0 - decimal.js: ^10.2.1 - domexception: ^2.0.1 - escodegen: ^2.0.0 - form-data: ^3.0.0 - html-encoding-sniffer: ^2.0.1 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 - symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^2.0.0 - webidl-conversions: ^6.1.0 - whatwg-encoding: ^1.0.5 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.5.0 - ws: ^7.4.6 - xml-name-validator: ^3.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 - languageName: node - linkType: hard - "jsdom@npm:^20.0.0": version: 20.0.3 resolution: "jsdom@npm:20.0.3" @@ -32902,6 +33279,40 @@ __metadata: languageName: node linkType: hard +"jsdom@npm:^26.0.0": + version: 26.0.0 + resolution: "jsdom@npm:26.0.0" + dependencies: + cssstyle: ^4.2.1 + data-urls: ^5.0.0 + decimal.js: ^10.4.3 + form-data: ^4.0.1 + html-encoding-sniffer: ^4.0.0 + http-proxy-agent: ^7.0.2 + https-proxy-agent: ^7.0.6 + is-potential-custom-element-name: ^1.0.1 + nwsapi: ^2.2.16 + parse5: ^7.2.1 + rrweb-cssom: ^0.8.0 + saxes: ^6.0.0 + symbol-tree: ^3.2.4 + tough-cookie: ^5.0.0 + w3c-xmlserializer: ^5.0.0 + webidl-conversions: ^7.0.0 + whatwg-encoding: ^3.1.1 + whatwg-mimetype: ^4.0.0 + whatwg-url: ^14.1.0 + ws: ^8.18.0 + xml-name-validator: ^5.0.0 + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 566993558f36450fab2839dca5a5bf7353a0558dbf8e04fccd8d97cd62b58b7cd027ebe6214a4210a27dd8df602d0a79d28976d54e7af55eb42f2c8f5a5d5fc2 + languageName: node + linkType: hard + "jsep@npm:^0.3.0": version: 0.3.5 resolution: "jsep@npm:0.3.5" @@ -32909,7 +33320,7 @@ __metadata: languageName: node linkType: hard -"jsep@npm:^1.1.2, jsep@npm:^1.2.0, jsep@npm:^1.4.0": +"jsep@npm:^1.2.0, jsep@npm:^1.3.6, jsep@npm:^1.4.0": version: 1.4.0 resolution: "jsep@npm:1.4.0" checksum: 8e7af5ecb91483b227092b87a3e85b5df3e848dbe6f201b19efcb18047567530d21dfeecb0978e09d1f66554fcfaed84176819eeacdfc86f61dc05c40c18f824 @@ -32917,20 +33328,20 @@ __metadata: linkType: hard "jsesc@npm:^3.0.2": - version: 3.0.2 - resolution: "jsesc@npm:3.0.2" + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: a36d3ca40574a974d9c2063bf68c2b6141c20da8f2a36bd3279fc802563f35f0527a6c828801295bdfb2803952cf2cf387786c2c90ed564f88d5782475abfe3c + checksum: 19c94095ea026725540c0d29da33ab03144f6bcf2d4159e4833d534976e99e0c09c38cefa9a575279a51fc36b31166f8d6d05c9fe2645d5f15851d690b41f17f languageName: node linkType: hard -"jsesc@npm:~0.5.0": - version: 0.5.0 - resolution: "jsesc@npm:0.5.0" +"jsesc@npm:~3.0.2": + version: 3.0.2 + resolution: "jsesc@npm:3.0.2" bin: jsesc: bin/jsesc - checksum: b8b44cbfc92f198ad972fba706ee6a1dfa7485321ee8c0b25f5cedd538dcb20cde3197de16a7265430fce8277a12db066219369e3d51055038946039f6e20e17 + checksum: a36d3ca40574a974d9c2063bf68c2b6141c20da8f2a36bd3279fc802563f35f0527a6c828801295bdfb2803952cf2cf387786c2c90ed564f88d5782475abfe3c languageName: node linkType: hard @@ -32986,8 +33397,8 @@ __metadata: linkType: hard "json-schema-library@npm:^9.0.0": - version: 9.3.4 - resolution: "json-schema-library@npm:9.3.4" + version: 9.3.5 + resolution: "json-schema-library@npm:9.3.5" dependencies: "@sagold/json-pointer": ^5.1.2 "@sagold/json-query": ^6.1.3 @@ -32996,7 +33407,7 @@ __metadata: fast-deep-equal: ^3.1.3 smtp-address-parser: 1.0.10 valid-url: ^1.0.9 - checksum: 6e3accc45bdf0fe4831c8b2a560d8feaa9402bd6c5833a0c7e11ee78c316b17a389a3368a7ee2c989d4aac36018742d7dcc83c66b11170c54800b0e56418638f + checksum: 8c8a8c993f998a3485d5675781a0330f4e5abc43781f1fa03b709dd5a5157fb2a524c704966f8c4fc31873c5816d4a07058214873b78b1d54f8b4a0cf6737bcf languageName: node linkType: hard @@ -33012,12 +33423,12 @@ __metadata: linkType: hard "json-schema-to-ts@npm:^3.0.0": - version: 3.0.1 - resolution: "json-schema-to-ts@npm:3.0.1" + version: 3.1.1 + resolution: "json-schema-to-ts@npm:3.1.1" dependencies: "@babel/runtime": ^7.18.3 - ts-algebra: ^1.2.2 - checksum: 32013ac5cc28b55d056d3241e50360f69fe86d7a6efeeed097e3b6c30c17d30e655b2565ff27d2e7cc232dcbcf9180f77556c154482b30a8d32bc428a0692c62 + ts-algebra: ^2.0.0 + checksum: b616f1c2d7492502e11eec4f8e4539ee1e897543a679d929494afdc164d9557275cead8372747b73f239b1e68056ffbf551b03ae82d0047bba0dfe2bbd6b64f4 languageName: node linkType: hard @@ -33077,16 +33488,16 @@ __metadata: linkType: hard "jsonata@npm:^2.0.4": - version: 2.0.5 - resolution: "jsonata@npm:2.0.5" - checksum: 92e38b88e3819add06ceda25fe21738abc927ccc3f37908ad9deaa37da2278b019c14742dc6443a93d7bd121a597fb37cb7c331f80cf25ff518c02897f845746 + version: 2.0.6 + resolution: "jsonata@npm:2.0.6" + checksum: fe88f6ada9e07f923ea7d66111a9b2d42b95c65c14ecd86fbb75cdfb2874cbdeaf63f0f415bddd1d968668107afed185de9c98c27e38b97cd965d526b5b55933 languageName: node linkType: hard "jsonc-parser@npm:^3.0.0, jsonc-parser@npm:^3.2.0": - version: 3.3.0 - resolution: "jsonc-parser@npm:3.3.0" - checksum: 05ba4f956bcbe3ae159fbd1103a0df45c365a391f53be7b782a4782b853889b3eb1f80851efa998780fa4686ef2860421ca3d3a1bb77a5a654107299c953f643 + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 81ef19d98d9c6bd6e4a37a95e2753c51c21705cbeffd895e177f4b542cca9cda5fda12fb942a71a2e824a9132cf119dc2e642e9286386055e1365b5478f49a47 languageName: node linkType: hard @@ -33122,14 +33533,7 @@ __metadata: languageName: node linkType: hard -"jsonpath-plus@npm:7.1.0": - version: 7.1.0 - resolution: "jsonpath-plus@npm:7.1.0" - checksum: a4005dc860c6b7e339229842537ceb6eb839d87a3447f989792b9c64f2564bbbd40663515f9481fb5a1b6cb0f988afba5b0b150e0285c463b794a45ed1aaf555 - languageName: node - linkType: hard - -"jsonpath-plus@npm:^10.0.0": +"jsonpath-plus@npm:10.2.0, jsonpath-plus@npm:^10.0.0, jsonpath-plus@npm:^10.2.0, jsonpath-plus@npm:^6.0.1 || ^10.1.0": version: 10.2.0 resolution: "jsonpath-plus@npm:10.2.0" dependencies: @@ -33143,13 +33547,6 @@ __metadata: languageName: node linkType: hard -"jsonpath-plus@npm:^6.0.1": - version: 6.0.1 - resolution: "jsonpath-plus@npm:6.0.1" - checksum: bddec34b742249c5b38077dfcd8eb479fab4e077943253017326503ce4f527ef66938288c728712fd923907493d6eaba69a43015dc3dd9fdf48d89028ae7f466 - languageName: node - linkType: hard - "jsonpath-plus@npm:^7.2.0": version: 7.2.0 resolution: "jsonpath-plus@npm:7.2.0" @@ -33186,9 +33583,9 @@ __metadata: linkType: hard "jsonschema@npm:^1.2.6": - version: 1.4.1 - resolution: "jsonschema@npm:1.4.1" - checksum: 1ef02a6cd9bc32241ec86bbf1300bdbc3b5f2d8df6eb795517cf7d1cd9909e7beba1e54fdf73990fd66be98a182bda9add9607296b0cb00b1348212988e424b2 + version: 1.5.0 + resolution: "jsonschema@npm:1.5.0" + checksum: 170b9c375967bc135f4d029fedc31f5686f2c3bb07e7472cebddbb907b5369bf75a1a50287d6af9c31f61c76fe0b7786e78044c188aaddd329b77d856475e6db languageName: node linkType: hard @@ -33383,7 +33780,16 @@ __metadata: languageName: node linkType: hard -"keyv@npm:*, keyv@npm:^4.0.0, keyv@npm:^4.5.2, keyv@npm:^4.5.3": +"keyv@npm:*, keyv@npm:^5.2.1, keyv@npm:^5.2.2": + version: 5.2.3 + resolution: "keyv@npm:5.2.3" + dependencies: + "@keyv/serialize": ^1.0.2 + checksum: b317a71550431ba6238bc8c71ce9ab263560df2227ca7933f7a3f18f0fa1a931312b02951cbcce9d316689709f67c5e4a4095e8e6b9aa13d19ce82c5dd7293e2 + languageName: node + linkType: hard + +"keyv@npm:^4.5.2, keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -33552,14 +33958,14 @@ __metadata: linkType: hard "kubernetes-models@npm:^4.1.0, kubernetes-models@npm:^4.3.1": - version: 4.3.1 - resolution: "kubernetes-models@npm:4.3.1" + version: 4.4.2 + resolution: "kubernetes-models@npm:4.4.2" dependencies: - "@kubernetes-models/apimachinery": ^1.2.1 - "@kubernetes-models/base": ^4.0.3 - "@kubernetes-models/validate": ^3.1.1 - tslib: ^2.4.0 - checksum: cf0b8ac25b1583f237b08e5554893b38e9f67d25e5acb095cb1d9001dd3c1102e746fb69165b04627499af125ca2e2376e8ae14a69d1de0ab8ac32ab8f9f83e2 + "@kubernetes-models/apimachinery": ^2.0.2 + "@kubernetes-models/base": ^5.0.1 + "@kubernetes-models/validate": ^4.0.0 + "@swc/helpers": ^0.5.8 + checksum: 7c449f69cdda44b177e02185305489dbf492a264c8d71debac0d051831bef76936ed1ec6669fa2090ceb5a20ab9a82b4698d72cac6447c636fdeb6c1960bba9c languageName: node linkType: hard @@ -33571,16 +33977,16 @@ __metadata: linkType: hard "ky@npm:^1.2.0": - version: 1.7.2 - resolution: "ky@npm:1.7.2" - checksum: 70bd8f09d8e3d4796602f03dd29b1991ba9f3f92187dad9384356c1f37938eb3ad5417063365ef1cb5a2b2d83b95ccd70d4fb84edae337c24d0a4ad560f47b08 + version: 1.7.4 + resolution: "ky@npm:1.7.4" + checksum: 1776e402f531650e2da24128000cd211839894d9f49f1f1a763df8bd27c99f8bd9b109cc8df65e8b37ef2ec358151676ec745ee1e63463080a41ac0ac13a267d languageName: node linkType: hard "language-subtag-registry@npm:^0.3.20": - version: 0.3.22 - resolution: "language-subtag-registry@npm:0.3.22" - checksum: 8ab70a7e0e055fe977ac16ea4c261faec7205ac43db5e806f72e5b59606939a3b972c4bd1e10e323b35d6ffa97c3e1c4c99f6553069dad2dfdd22020fa3eb56a + version: 0.3.23 + resolution: "language-subtag-registry@npm:0.3.23" + checksum: 0b64c1a6c5431c8df648a6d25594ff280613c886f4a1a542d9b864e5472fb93e5c7856b9c41595c38fac31370328fc79fcc521712e89ea6d6866cbb8e0995d81 languageName: node linkType: hard @@ -33594,12 +34000,12 @@ __metadata: linkType: hard "launch-editor@npm:^2.6.0, launch-editor@npm:^2.6.1": - version: 2.8.0 - resolution: "launch-editor@npm:2.8.0" + version: 2.9.1 + resolution: "launch-editor@npm:2.9.1" dependencies: picocolors: ^1.0.0 shell-quote: ^1.8.1 - checksum: 495009163fd4879fbc576323d1da3b821379ec66e9c20ed3297ea65b3eceb720fe9409cbd2819d6ff5dd0115325e6b6716d473dd729d5aa8ddd67810e3545477 + checksum: bed887085a9729cc2ad050329d92a99f4c69bacccf96d1ed8c84670608a3a128a828ba8e9a8a41101c5aea5aea6f79984658e2fd11f6ba85e32e6e1ed16dbb1c languageName: node linkType: hard @@ -33671,26 +34077,19 @@ __metadata: languageName: node linkType: hard -"li@npm:^1.3.0": - version: 1.3.0 - resolution: "li@npm:1.3.0" - checksum: 44056b8278771cc11c93a9622860554e34181a7c3789b6bf57b2f9a5ccb02fadc169d211c3f360615a790f3bd54bfc5618c5615ffce3a8e68e515b5bea4bede4 - languageName: node - linkType: hard - "libsodium-wrappers@npm:^0.7.11": - version: 0.7.13 - resolution: "libsodium-wrappers@npm:0.7.13" + version: 0.7.15 + resolution: "libsodium-wrappers@npm:0.7.15" dependencies: - libsodium: ^0.7.13 - checksum: d184395f7c33023414b191ef9ea2171eb1a5cb061503e886ea877590cb7adc3a4feaf794b9b08731a20515518fa23dbf1c1bfcd376e5ab01728e95cf1cb7525a + libsodium: ^0.7.15 + checksum: 35bd4d4a4ced47ed69b0e1f1772651507a7224285d6487c4c0d9a5ab80e0daf2c225e069474d0cd640fcd4152608b51005fff8f107e12e04545a92e8db45e422 languageName: node linkType: hard -"libsodium@npm:^0.7.13": - version: 0.7.13 - resolution: "libsodium@npm:0.7.13" - checksum: 75a5f70e84c197d54d9b67dcbd852abbd41cca8facd510767c7c8400a52a23da293e83eebf1693831b2c0c0498f266bd9350a8c27ec66f46a055890dff758d38 +"libsodium@npm:^0.7.15": + version: 0.7.15 + resolution: "libsodium@npm:0.7.15" + checksum: c641fee43415c8c516c531303439ab89cd1e72de56e3f9fd9e07f695a2cf0fe8f3095f6015db5e351ae4693a1ba50ac18cb19b3e0d241be0546b82319166abe0 languageName: node linkType: hard @@ -33823,9 +34222,9 @@ __metadata: linkType: hard "loader-utils@npm:^3.2.0": - version: 3.2.1 - resolution: "loader-utils@npm:3.2.1" - checksum: 4e3ea054cdc8be1ab1f1238f49f42fdf0483039eff920fb1d442039f3f0ad4ebd11fb8e584ccdf2cb7e3c56b3d40c1832416e6408a55651b843da288960cc792 + version: 3.3.1 + resolution: "loader-utils@npm:3.3.1" + checksum: d35808e081635e5bc50228a52ed79f83e2c82bd8f7578818c12b1b4cf0b7f409d72d9b93a683ec36b9eaa93346693d3f3c8380183ba2ff81599b0829d685de39 languageName: node linkType: hard @@ -33909,20 +34308,6 @@ __metadata: languageName: node linkType: hard -"lodash.difference@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.difference@npm:4.5.0" - checksum: ecee276aa578f300e79350805a14a51be8d1f12b3c1389a19996d8ab516f814211a5f65c68331571ecdad96522b863ccc484b55504ce8c9947212a29f8857d5a - languageName: node - linkType: hard - -"lodash.flatten@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flatten@npm:4.4.0" - checksum: 0ac34a393d4b795d4b7421153d27c13ae67e08786c9cbb60ff5b732210d46f833598eee3fb3844bb10070e8488efe390ea53bb567377e0cb47e9e630bf0811cb - languageName: node - linkType: hard - "lodash.flattendeep@npm:^4.0.0": version: 4.4.0 resolution: "lodash.flattendeep@npm:4.4.0" @@ -34056,13 +34441,6 @@ __metadata: languageName: node linkType: hard -"lodash.union@npm:^4.6.0": - version: 4.6.0 - resolution: "lodash.union@npm:4.6.0" - checksum: 1514dc6508b2614ec071a6470f36eb7a70f69bf1abb6d55bdfdc21069635a4517783654b28504c0f025059a7598d37529766888e6d5902b8ab28b712228f7b2a - languageName: node - linkType: hard - "lodash.uniq@npm:^4.5.0": version: 4.5.0 resolution: "lodash.uniq@npm:4.5.0" @@ -34077,7 +34455,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4.17.21, lodash@npm:^4.15.0, lodash@npm:^4.16.4, lodash@npm:^4.17.0, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:^4.7.0, lodash@npm:~4.17.21": +"lodash@npm:4.17.21, lodash@npm:^4.15.0, lodash@npm:^4.16.4, lodash@npm:^4.17.0, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4, lodash@npm:~4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -34120,9 +34498,9 @@ __metadata: languageName: node linkType: hard -"logform@npm:^2.3.2, logform@npm:^2.6.0": - version: 2.6.1 - resolution: "logform@npm:2.6.1" +"logform@npm:^2.3.2, logform@npm:^2.6.0, logform@npm:^2.7.0": + version: 2.7.0 + resolution: "logform@npm:2.7.0" dependencies: "@colors/colors": 1.6.0 "@types/triple-beam": ^1.3.2 @@ -34130,7 +34508,7 @@ __metadata: ms: ^2.1.1 safe-stable-stringify: ^2.3.1 triple-beam: ^1.3.0 - checksum: 0c6b95fa8350ccc33c7c33d77de2a9920205399706fc1b125151c857b61eb90873f4670d9e0e58e58c165b68a363206ae670d6da8b714527c838da3c84449605 + checksum: a202d10897254735ead75a640f889998f9b91a0c36be9cac3f5471fa740d36bc2fbbcf9d113dcdadec4ddf09e257393ff800e6aab80019bdc7456363d6ea21f6 languageName: node linkType: hard @@ -34142,9 +34520,9 @@ __metadata: linkType: hard "long@npm:^5.0.0, long@npm:^5.2.1": - version: 5.2.3 - resolution: "long@npm:5.2.3" - checksum: 885ede7c3de4facccbd2cacc6168bae3a02c3e836159ea4252c87b6e34d40af819824b2d4edce330bfb5c4d6e8ce3ec5864bdcf9473fa1f53a4f8225860e5897 + version: 5.2.4 + resolution: "long@npm:5.2.4" + checksum: abffed049d2192a94415dc5d19e471a26d6753ba8b021dcef98b5424eec93cf6f293489524303f025dcdabae83bc07fc38acca34c060356f38449cd246f2646c languageName: node linkType: hard @@ -34175,13 +34553,6 @@ __metadata: languageName: node linkType: hard -"lowercase-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "lowercase-keys@npm:2.0.0" - checksum: 24d7ebd56ccdf15ff529ca9e08863f3c54b0b9d1edb97a3ae1af34940ae666c01a1e6d200707bce730a8ef76cb57cc10e65f245ecaaf7e6bc8639f2fb460ac23 - languageName: node - linkType: hard - "lowlight@npm:^1.17.0": version: 1.20.0 resolution: "lowlight@npm:1.20.0" @@ -34192,7 +34563,14 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": +"lru-cache@npm:@wolfy1339/lru-cache@^11.0.2-patch.1": + version: 11.0.2-patch.1 + resolution: "@wolfy1339/lru-cache@npm:11.0.2-patch.1" + checksum: 60cc2839abbae0fa50152fde143da5ac1141773cefb3505602956074dfa358ec87e107987cad7fd2292768663855497160a2c1e449d7f4e8b4684fb08f89dc25 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 6476138d2125387a6d20f100608c2583d415a4f64a0fecf30c9e2dda976614f09cad4baa0842447bd37dd459a7bd27f57d9d8f8ce558805abd487c583f3d774a @@ -34252,20 +34630,13 @@ __metadata: languageName: node linkType: hard -"luxon@npm:3.5.0, luxon@npm:^3.0.0, luxon@npm:^3.2.1, luxon@npm:^3.4.1, luxon@npm:^3.4.3, luxon@npm:^3.4.4": +"luxon@npm:3.5.0, luxon@npm:^3.0.0, luxon@npm:^3.2.1, luxon@npm:^3.4.1, luxon@npm:^3.4.3, luxon@npm:^3.4.4, luxon@npm:~3.5.0": version: 3.5.0 resolution: "luxon@npm:3.5.0" checksum: f290fe5788c8e51e748744f05092160d4be12150dca70f9fadc0d233e53d60ce86acd82e7d909a114730a136a77e56f0d3ebac6141bbb82fd310969a4704825b languageName: node linkType: hard -"luxon@npm:~3.4.0": - version: 3.4.4 - resolution: "luxon@npm:3.4.4" - checksum: 36c1f99c4796ee4bfddf7dc94fa87815add43ebc44c8934c924946260a58512f0fd2743a629302885df7f35ccbd2d13f178c15df046d0e3b6eb71db178f1c60c - languageName: node - linkType: hard - "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -34284,12 +34655,12 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.3, magic-string@npm:^0.30.4": - version: 0.30.9 - resolution: "magic-string@npm:0.30.9" +"magic-string@npm:^0.30.10, magic-string@npm:^0.30.3": + version: 0.30.17 + resolution: "magic-string@npm:0.30.17" dependencies: - "@jridgewell/sourcemap-codec": ^1.4.15 - checksum: a97b9a706b39e9569781dcb662b15ab085ca3af8b916cd69d8485e8565108917c17e4eb03b6b1013389387d827bb3025711ebeafe237f742bc95a90708416147 + "@jridgewell/sourcemap-codec": ^1.5.0 + checksum: f4b4ed17c5ada64f77fc98491847302ebad64894a905c417c943840c0384662118c9b37f9f68bb86add159fa4749ff6f118c4627d69a470121b46731f8debc6d languageName: node linkType: hard @@ -34329,6 +34700,25 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" + dependencies: + "@npmcli/agent": ^3.0.0 + cacache: ^19.0.1 + http-cache-semantics: ^4.1.1 + minipass: ^7.0.2 + minipass-fetch: ^4.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^1.0.0 + proc-log: ^5.0.0 + promise-retry: ^2.0.1 + ssri: ^12.0.0 + checksum: 6fb2fee6da3d98f1953b03d315826b5c5a4ea1f908481afc113782d8027e19f080c85ae998454de4e5f27a681d3ec58d57278f0868d4e0b736f51d396b661691 + languageName: node + linkType: hard + "makeerror@npm:1.0.12": version: 1.0.12 resolution: "makeerror@npm:1.0.12" @@ -34379,18 +34769,18 @@ __metadata: linkType: hard "markdown-table@npm:^3.0.0": - version: 3.0.3 - resolution: "markdown-table@npm:3.0.3" - checksum: 8fcd3d9018311120fbb97115987f8b1665a603f3134c93fbecc5d1463380c8036f789e2a62c19432058829e594fff8db9ff81c88f83690b2f8ed6c074f8d9e10 + version: 3.0.4 + resolution: "markdown-table@npm:3.0.4" + checksum: bc24b177cbb3ef170cb38c9f191476aa63f7236ebc8980317c5e91b5bf98c8fb471cf46d8920478c5e770d7f4337326f6b5b3efbf0687c2044fd332d7a64dfcb languageName: node linkType: hard "markdown-to-jsx@npm:^7.4.1": - version: 7.4.1 - resolution: "markdown-to-jsx@npm:7.4.1" + version: 7.7.3 + resolution: "markdown-to-jsx@npm:7.7.3" peerDependencies: react: ">= 0.14.0" - checksum: 2888cb2389cb810ab35454a59d0623474a60a78e28f281ae0081f87053f6c59b033232a2cd269cc383a5edcaa1eab8ca4b3cf639fe4e1aa3fb418648d14bcc7d + checksum: 3eef59b3447c52eb2ee6691b879d3a283f48bc69d3c787a4eb8d0484fa4220bbe84135081458d205f152b33c128cf838d6431a24629c47e5e737d7a17edafccd languageName: node linkType: hard @@ -34413,12 +34803,12 @@ __metadata: linkType: hard "material-react-table@npm:^2.13.0": - version: 2.13.0 - resolution: "material-react-table@npm:2.13.0" + version: 2.13.3 + resolution: "material-react-table@npm:2.13.3" dependencies: - "@tanstack/match-sorter-utils": 8.15.1 - "@tanstack/react-table": 8.16.0 - "@tanstack/react-virtual": 3.3.0 + "@tanstack/match-sorter-utils": 8.19.4 + "@tanstack/react-table": 8.20.5 + "@tanstack/react-virtual": 3.10.6 highlight-words: 1.2.2 peerDependencies: "@emotion/react": ">=11.11" @@ -34428,18 +34818,18 @@ __metadata: "@mui/x-date-pickers": ">=6.15.0" react: ">=17.0" react-dom: ">=17.0" - checksum: a4c6ccf768209748be244e9f1f4d262328d4d9989eec6e34c87e3cb75855e8f8406b0a2a4faad758e89f2d70e6300adb4a09cf363c00a9399fa767844234786d + checksum: d235de978e4a1110cd6c22709a45c8f2949c74d861bb8bc631a105046baa0f459d00992c0f025f6848864ce1571dd8705e99196d5794ad3751a347133cc6d7e0 languageName: node linkType: hard "material-ui-confirm@npm:^3.0.12": - version: 3.0.16 - resolution: "material-ui-confirm@npm:3.0.16" + version: 3.0.18 + resolution: "material-ui-confirm@npm:3.0.18" peerDependencies: "@mui/material": ">= 5.0.0" - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10114de3ac1dfd25cd46d151fa011bf7fa07376199a9cd62c8fbc619d0f711204c7a6bcf124e1ef6752f39377b04c09eb63e470e53d08a52aae5a46ee7a35a79 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: b6cde66a86d6f2566e4b0065e197aa3de62d40dcad989bfd07e861838af54ac8e4b6727b55024d89a130464eac3cb16d46bcf4e6785b17d4ebb4ad105d528e2d languageName: node linkType: hard @@ -34458,6 +34848,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 0e513b29d120f478c85a70f49da0b8b19bc638975eca466f2eeae0071f3ad00454c621bf66e16dd435896c208e719fc91ad79bbfba4e400fe0b372e7c1c9c9a2 + languageName: node + linkType: hard + "mathjs@npm:^11.11.2": version: 11.12.0 resolution: "mathjs@npm:11.12.0" @@ -34512,14 +34909,14 @@ __metadata: linkType: hard "mdast-util-find-and-replace@npm:^3.0.0": - version: 3.0.1 - resolution: "mdast-util-find-and-replace@npm:3.0.1" + version: 3.0.2 + resolution: "mdast-util-find-and-replace@npm:3.0.2" dependencies: "@types/mdast": ^4.0.0 escape-string-regexp: ^5.0.0 unist-util-is: ^6.0.0 unist-util-visit-parents: ^6.0.0 - checksum: 05d5c4ff02e31db2f8a685a13bcb6c3f44e040bd9dfa54c19a232af8de5268334c8755d79cb456ed4cced1300c4fb83e88444c7ae8ee9ff16869a580f29d08cd + checksum: 00dde8aaf87d065034b911bdae20d17c107f5103c6ba5a3d117598c847ce005c6b03114b5603e0d07cc61fefcbb05bdb9f66100efeaa0278dbd80eda1087595f languageName: node linkType: hard @@ -34544,8 +34941,8 @@ __metadata: linkType: hard "mdast-util-from-markdown@npm:^2.0.0": - version: 2.0.1 - resolution: "mdast-util-from-markdown@npm:2.0.1" + version: 2.0.2 + resolution: "mdast-util-from-markdown@npm:2.0.2" dependencies: "@types/mdast": ^4.0.0 "@types/unist": ^3.0.0 @@ -34559,7 +34956,7 @@ __metadata: micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 unist-util-stringify-position: ^4.0.0 - checksum: 2e50be71272a1503558c599cd5766cf2743935a021f82e32bc2ae5da44f6c7dcabb9da3a6eee76ede0ec8ad2b122d1192f4fe89890aac90c76463f049f8a835d + checksum: 1ad19f48b30ac6e0cb756070c210c78ad93c26876edfb3f75127783bc6df8b9402016d8f3e9964f3d1d5430503138ec65c145e869438727e1aa7f3cebf228fba languageName: node linkType: hard @@ -34576,15 +34973,15 @@ __metadata: linkType: hard "mdast-util-gfm-autolink-literal@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-gfm-autolink-literal@npm:2.0.0" + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" dependencies: "@types/mdast": ^4.0.0 ccount: ^2.0.0 devlop: ^1.0.0 mdast-util-find-and-replace: ^3.0.0 micromark-util-character: ^2.0.0 - checksum: 10322662e5302964bed7c9829c5fd3b0c9899d4f03e63fb8620ab141cf4f3de9e61fcb4b44d46aacc8a23f82bcd5d900980a211825dfe026b1dab5fdbc3e8742 + checksum: 5630b12e072d7004cb132231c94f667fb5813486779cb0dfb0a196d7ae0e048897a43b0b37e080017adda618ddfcbea1d7bf23c0fa31c87bfc683e0898ea1cfe languageName: node linkType: hard @@ -34711,8 +35108,8 @@ __metadata: linkType: hard "mdast-util-mdx-expression@npm:^2.0.0": - version: 2.0.0 - resolution: "mdast-util-mdx-expression@npm:2.0.0" + version: 2.0.1 + resolution: "mdast-util-mdx-expression@npm:2.0.1" dependencies: "@types/estree-jsx": ^1.0.0 "@types/hast": ^3.0.0 @@ -34720,13 +35117,13 @@ __metadata: devlop: ^1.0.0 mdast-util-from-markdown: ^2.0.0 mdast-util-to-markdown: ^2.0.0 - checksum: 4e1183000e183e07a7264e192889b4fd57372806103031c71b9318967f85fd50a5dd0f92ef14f42c331e77410808f5de3341d7bc8ad4ee91b7fa8f0a30043a8a + checksum: 6af56b06bde3ab971129db9855dcf0d31806c70b3b052d7a90a5499a366b57ffd0c2efca67d281c448c557298ba7e3e61bd07133733b735440840dd339b28e19 languageName: node linkType: hard "mdast-util-mdx-jsx@npm:^3.0.0": - version: 3.1.2 - resolution: "mdast-util-mdx-jsx@npm:3.1.2" + version: 3.2.0 + resolution: "mdast-util-mdx-jsx@npm:3.2.0" dependencies: "@types/estree-jsx": ^1.0.0 "@types/hast": ^3.0.0 @@ -34738,10 +35135,9 @@ __metadata: mdast-util-to-markdown: ^2.0.0 parse-entities: ^4.0.0 stringify-entities: ^4.0.0 - unist-util-remove-position: ^5.0.0 unist-util-stringify-position: ^4.0.0 vfile-message: ^4.0.0 - checksum: 33cb8a657702d5bb8d3f658d158f448c45147664cdb2475501a1c467e3a167d75842546296a06f758f07cce4d2a6ba1add405dbdb6caa145a6980c9782e411e2 + checksum: 224f5f6ad247f0f2622ee36c82ac7a4c6a60c31850de4056bf95f531bd2f7ec8943ef34dfe8a8375851f65c07e4913c4f33045d703df4ff4d11b2de5a088f7f9 languageName: node linkType: hard @@ -34829,18 +35225,19 @@ __metadata: linkType: hard "mdast-util-to-markdown@npm:^2.0.0": - version: 2.1.0 - resolution: "mdast-util-to-markdown@npm:2.1.0" + version: 2.1.2 + resolution: "mdast-util-to-markdown@npm:2.1.2" dependencies: "@types/mdast": ^4.0.0 "@types/unist": ^3.0.0 longest-streak: ^3.0.0 mdast-util-phrasing: ^4.0.0 mdast-util-to-string: ^4.0.0 + micromark-util-classify-character: ^2.0.0 micromark-util-decode-string: ^2.0.0 unist-util-visit: ^5.0.0 zwitch: ^2.0.0 - checksum: 3a2cf3957e23b34e2e092e6e76ae72ee0b8745955bd811baba6814cf3a3d916c3fd52264b4b58f3bb3d512a428f84a1e998b6fc7e28434e388a9ae8fb6a9c173 + checksum: 288d152bd50c00632e6e01c610bb904a220d1e226c8086c40627877959746f83ab0b872f4150cb7d910198953b1bf756e384ac3fee3e7b0ddb4517f9084c5803 languageName: node linkType: hard @@ -34927,23 +35324,23 @@ __metadata: linkType: hard "memfs@npm:^3.1.2, memfs@npm:^3.4.1, memfs@npm:^3.4.3": - version: 3.6.0 - resolution: "memfs@npm:3.6.0" + version: 3.5.3 + resolution: "memfs@npm:3.5.3" dependencies: fs-monkey: ^1.0.4 - checksum: 934e79f32aabb10869056815bf369ed63aacb61d13183a3a3826847bbb359d7023fd5b365984ddd73faed463bbb5370ed5cd1e87ecf50ac010c5cac81929ed78 + checksum: 18dfdeacad7c8047b976a6ccd58bc98ba76e122ad3ca0e50a21837fe2075fc0d9aafc58ab9cf2576c2b6889da1dd2503083f2364191b695273f40969db2ecc44 languageName: node linkType: hard "memfs@npm:^4.6.0": - version: 4.9.2 - resolution: "memfs@npm:4.9.2" + version: 4.17.0 + resolution: "memfs@npm:4.17.0" dependencies: "@jsonjoy.com/json-pack": ^1.0.3 - "@jsonjoy.com/util": ^1.1.2 - sonic-forest: ^1.0.0 + "@jsonjoy.com/util": ^1.3.0 + tree-dump: ^1.0.1 tslib: ^2.0.0 - checksum: 72850691d37b4e67fb78fceced7294e381caf7a614b22b81fa643c03ac6c13270d52e2ac96d8ed95edab715fd0fba2db1bf604a815cbd6d53ecb3f56c038a583 + checksum: 58d7917e252f30f13e59967a4895c5fc60448df0d58c6844c95255f2ee9db5dcf145190558e84b30fd364db041755d2a1b81668c8c29a31ca8f1bf4f463ddcc1 languageName: node linkType: hard @@ -35026,8 +35423,8 @@ __metadata: linkType: hard "micromark-core-commonmark@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-core-commonmark@npm:2.0.1" + version: 2.0.2 + resolution: "micromark-core-commonmark@npm:2.0.2" dependencies: decode-named-character-reference: ^1.0.0 devlop: ^1.0.0 @@ -35045,7 +35442,7 @@ __metadata: micromark-util-subtokenize: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 6a9891cc883a531e090dc8dab6669945f3df9448e84216a8f2a91f9258281e6abea5ae3940fde2bd77a57dc3e0d67f2add6762aed63a378f37b09eaf7e7426c4 + checksum: e49d78429baf72533a02d06ae83e5a24d4d547bc832173547ffbae93c0960a7dbf0d8896058301498fa4297f280070a5a66891e0e6160040d6c5ef9bc5d9cd51 languageName: node linkType: hard @@ -35247,13 +35644,13 @@ __metadata: linkType: hard "micromark-factory-destination@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-destination@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-destination@npm:2.0.1" dependencies: micromark-util-character: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: d36e65ed1c072ff4148b016783148ba7c68a078991154625723e24bda3945160268fb91079fb28618e1613c2b6e70390a8ddc544c45410288aa27b413593071a + checksum: 9c4baa9ca2ed43c061bbf40ddd3d85154c2a0f1f485de9dea41d7dd2ad994ebb02034a003b2c1dbe228ba83a0576d591f0e90e0bf978713f84ee7d7f3aa98320 languageName: node linkType: hard @@ -35270,14 +35667,14 @@ __metadata: linkType: hard "micromark-factory-label@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-label@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-label@npm:2.0.1" dependencies: devlop: ^1.0.0 micromark-util-character: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: c021dbd0ed367610d35f2bae21209bc804d1a6d1286ffce458fd6a717f4d7fe581a7cba7d5c2d7a63757c44eb927c80d6a571d6ea7969fae1b48ab6461d109c4 + checksum: bd03f5a75f27cdbf03b894ddc5c4480fc0763061fecf9eb927d6429233c930394f223969a99472df142d570c831236134de3dc23245d23d9f046f9d0b623b5c2 languageName: node linkType: hard @@ -35292,12 +35689,12 @@ __metadata: linkType: hard "micromark-factory-space@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-space@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-space@npm:2.0.1" dependencies: micromark-util-character: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 4ffdcdc2f759887bbb356500cb460b3915ecddcb5d85c3618d7df68ad05d13ed02b1153ee1845677b7d8126df8f388288b84fcf0d943bd9c92bcc71cd7222e37 + checksum: 1bd68a017c1a66f4787506660c1e1c5019169aac3b1cb075d49ac5e360e0b2065e984d4e1d6e9e52a9d44000f2fa1c98e66a743d7aae78b4b05616bf3242ed71 languageName: node linkType: hard @@ -35314,14 +35711,14 @@ __metadata: linkType: hard "micromark-factory-title@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-title@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-title@npm:2.0.1" dependencies: micromark-factory-space: ^2.0.0 micromark-util-character: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 39e1ac23af3554e6e652e56065579bc7faf21ade7b8704b29c175871b4152b7109b790bb3cae0f7e088381139c6bac9553b8400772c3d322e4fa635f813a3578 + checksum: b4d2e4850a8ba0dff25ce54e55a3eb0d43dda88a16293f53953153288f9d84bcdfa8ca4606b2cfbb4f132ea79587bbb478a73092a349f893f5264fbcdbce2ee1 languageName: node linkType: hard @@ -35338,14 +35735,14 @@ __metadata: linkType: hard "micromark-factory-whitespace@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-factory-whitespace@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-factory-whitespace@npm:2.0.1" dependencies: micromark-factory-space: ^2.0.0 micromark-util-character: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 9587c2546d1a58b4d5472b42adf05463f6212d0449455285662d63cd8eaed89c6b159ac82713fcee5f9dd88628c24307d9533cccd8971a2f3f4d48702f8f850a + checksum: 67b3944d012a42fee9e10e99178254a04d48af762b54c10a50fcab988688799993efb038daf9f5dbc04001a97b9c1b673fc6f00e6a56997877ab25449f0c8650 languageName: node linkType: hard @@ -35360,12 +35757,12 @@ __metadata: linkType: hard "micromark-util-character@npm:^2.0.0": - version: 2.1.0 - resolution: "micromark-util-character@npm:2.1.0" + version: 2.1.1 + resolution: "micromark-util-character@npm:2.1.1" dependencies: micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 36ee910f84077cf16626fa618cfe46ac25956b3242e3166b8e8e98c5a8c524af7e5bf3d70822264b1fd2d297a36104a7eb7e3462c19c28353eaca7b0d8717594 + checksum: e9e409efe4f2596acd44587e8591b722bfc041c1577e8fe0d9c007a4776fb800f9b3637a22862ad2ba9489f4bdf72bb547fce5767dbbfe0a5e6760e2a21c6495 languageName: node linkType: hard @@ -35379,11 +35776,11 @@ __metadata: linkType: hard "micromark-util-chunked@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-chunked@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-chunked@npm:2.0.1" dependencies: micromark-util-symbol: ^2.0.0 - checksum: 324f95cccdae061332a8241936eaba6ef0782a1e355bac5c607ad2564fd3744929be7dc81651315a2921535747a33243e6a5606bcb64b7a56d49b6d74ea1a3d4 + checksum: f8cb2a67bcefe4bd2846d838c97b777101f0043b9f1de4f69baf3e26bb1f9885948444e3c3aec66db7595cad8173bd4567a000eb933576c233d54631f6323fe4 languageName: node linkType: hard @@ -35399,13 +35796,13 @@ __metadata: linkType: hard "micromark-util-classify-character@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-classify-character@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-classify-character@npm:2.0.1" dependencies: micromark-util-character: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 086e52904deffebb793fb1c08c94aabb8901f76958142dfc3a6282890ebaa983b285e69bd602b9d507f1b758ed38e75a994d2ad9fbbefa7de2584f67a16af405 + checksum: 4d8bbe3a6dbf69ac0fc43516866b5bab019fe3f4568edc525d4feaaaf78423fa54e6b6732b5bccbeed924455279a3758ffc9556954aafb903982598a95a02704 languageName: node linkType: hard @@ -35420,12 +35817,12 @@ __metadata: linkType: hard "micromark-util-combine-extensions@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-combine-extensions@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-combine-extensions@npm:2.0.1" dependencies: micromark-util-chunked: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 107c47700343f365b4ed81551e18bc3458b573c500e56ac052b2490bd548adc475216e41d2271633a8867fac66fc22ba3e0a2d74a31ed79b9870ca947eb4e3ba + checksum: 5d22fb9ee37e8143adfe128a72b50fa09568c2cc553b3c76160486c96dbbb298c5802a177a10a215144a604b381796071b5d35be1f2c2b2ee17995eda92f0c8e languageName: node linkType: hard @@ -35439,11 +35836,11 @@ __metadata: linkType: hard "micromark-util-decode-numeric-character-reference@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" + version: 2.0.2 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.2" dependencies: micromark-util-symbol: ^2.0.0 - checksum: 9512507722efd2033a9f08715eeef787fbfe27e23edf55db21423d46d82ab46f76c89b4f960be3f5e50a2d388d89658afc0647989cf256d051e9ea01277a1adb + checksum: ee11c8bde51e250e302050474c4a2adca094bca05c69f6cdd241af12df285c48c88d19ee6e022b9728281c280be16328904adca994605680c43af56019f4b0b6 languageName: node linkType: hard @@ -35460,14 +35857,14 @@ __metadata: linkType: hard "micromark-util-decode-string@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-decode-string@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-decode-string@npm:2.0.1" dependencies: decode-named-character-reference: ^1.0.0 micromark-util-character: ^2.0.0 micromark-util-decode-numeric-character-reference: ^2.0.0 micromark-util-symbol: ^2.0.0 - checksum: a75daf32a4a6b549e9f19b4d833ebfeb09a32a9a1f9ce50f35dec6b6a3e4f9f121f49024ba7f9c91c55ebe792f7c7a332fc9604795181b6a612637df0df5b959 + checksum: e9546ae53f9b5a4f9aa6aaf3e750087100d3429485ca80dbacec99ff2bb15a406fa7d93784a0fc2fe05ad7296b9295e75160ef71faec9e90110b7be2ae66241a languageName: node linkType: hard @@ -35479,9 +35876,9 @@ __metadata: linkType: hard "micromark-util-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-encode@npm:2.0.0" - checksum: 853a3f33fce72aaf4ffa60b7f2b6fcfca40b270b3466e1b96561b02185d2bd8c01dd7948bc31a24ac014f4cc854e545ca9a8e9cf7ea46262f9d24c9e88551c66 + version: 2.0.1 + resolution: "micromark-util-encode@npm:2.0.1" + checksum: be890b98e78dd0cdd953a313f4148c4692cc2fb05533e56fef5f421287d3c08feee38ca679f318e740530791fc251bfe8c80efa926fcceb4419b269c9343d226 languageName: node linkType: hard @@ -35493,9 +35890,9 @@ __metadata: linkType: hard "micromark-util-html-tag-name@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-html-tag-name@npm:2.0.0" - checksum: d786d4486f93eb0ac5b628779809ca97c5dc60f3c9fc03eb565809831db181cf8cb7f05f9ac76852f3eb35461af0f89fa407b46f3a03f4f97a96754d8dc540d8 + version: 2.0.1 + resolution: "micromark-util-html-tag-name@npm:2.0.1" + checksum: dea365f5ad28ad74ff29fcb581f7b74fc1f80271c5141b3b2bc91c454cbb6dfca753f28ae03730d657874fcbd89d0494d0e3965dfdca06d9855f467c576afa9d languageName: node linkType: hard @@ -35509,11 +35906,11 @@ __metadata: linkType: hard "micromark-util-normalize-identifier@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-normalize-identifier@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-normalize-identifier@npm:2.0.1" dependencies: micromark-util-symbol: ^2.0.0 - checksum: b36da2d3fd102053dadd953ce5c558328df12a63a8ac0e5aad13d4dda8e43b6a5d4a661baafe0a1cd8a260bead4b4a8e6e0e74193dd651e8484225bd4f4e68aa + checksum: 1eb9a289d7da067323df9fdc78bfa90ca3207ad8fd893ca02f3133e973adcb3743b233393d23d95c84ccaf5d220ae7f5a28402a644f135dcd4b8cfa60a7b5f84 languageName: node linkType: hard @@ -35527,11 +35924,11 @@ __metadata: linkType: hard "micromark-util-resolve-all@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-resolve-all@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-resolve-all@npm:2.0.1" dependencies: micromark-util-types: ^2.0.0 - checksum: 31fe703b85572cb3f598ebe32750e59516925c7ff1f66cfe6afaebe0771a395a9eaa770787f2523d3c46082ea80e6c14f83643303740b3d650af7c96ebd30ccc + checksum: 9275f3ddb6c26f254dd2158e66215d050454b279707a7d9ce5a3cd0eba23201021cedcb78ae1a746c1b23227dcc418ee40dd074ade195359506797a5493550cc languageName: node linkType: hard @@ -35547,13 +35944,13 @@ __metadata: linkType: hard "micromark-util-sanitize-uri@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-sanitize-uri@npm:2.0.0" + version: 2.0.1 + resolution: "micromark-util-sanitize-uri@npm:2.0.1" dependencies: micromark-util-character: ^2.0.0 micromark-util-encode: ^2.0.0 micromark-util-symbol: ^2.0.0 - checksum: ea4c28bbffcf2430e9aff2d18554296789a8b0a1f54ac24020d1dde76624a7f93e8f2a83e88cd5a846b6d2c4287b71b1142d1b89fa7f1b0363a9b33711a141fe + checksum: d01517840c17de67aaa0b0f03bfe05fac8a41d99723cd8ce16c62f6810e99cd3695364a34c335485018e5e2c00e69031744630a1b85c6868aa2f2ca1b36daa2f languageName: node linkType: hard @@ -35570,14 +35967,14 @@ __metadata: linkType: hard "micromark-util-subtokenize@npm:^2.0.0": - version: 2.0.1 - resolution: "micromark-util-subtokenize@npm:2.0.1" + version: 2.0.3 + resolution: "micromark-util-subtokenize@npm:2.0.3" dependencies: devlop: ^1.0.0 micromark-util-chunked: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: 5d338883ad8889c63f9b262b9cae0c02a42088201981d820ae7af7aa6d38fab6585b89fd4cf2206a46a7c4002e41ee6c70e1a3e0ceb3ad8b7adcffaf166b1511 + checksum: 3e95112b3ae640348e611dd69dc73e03f96a62e6d510d7c801685bd701041a61b5835e119ec84044972f2873b60ba21dbc58082a345d7745f4c19465b6d1b644 languageName: node linkType: hard @@ -35589,9 +35986,9 @@ __metadata: linkType: hard "micromark-util-symbol@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-symbol@npm:2.0.0" - checksum: fa4a05bff575d9fbf0ad96a1013003e3bb6087ed6b34b609a141b6c0d2137b57df594aca409a95f4c5fda199f227b56a7d8b1f82cea0768df161d8a3a3660764 + version: 2.0.1 + resolution: "micromark-util-symbol@npm:2.0.1" + checksum: fb7346950550bc85a55793dda94a8b3cb3abc068dbd7570d1162db7aee803411d06c0a5de4ae59cd945f46143bdeadd4bba02a02248fa0d18cc577babaa00044 languageName: node linkType: hard @@ -35603,9 +36000,9 @@ __metadata: linkType: hard "micromark-util-types@npm:^2.0.0": - version: 2.0.0 - resolution: "micromark-util-types@npm:2.0.0" - checksum: 819fef3ab5770c37893d2a60381fb2694396c8d22803b6e103c830c3a1bc1490363c2b0470bb2acaaddad776dfbc2fc1fcfde39cb63c4f54d95121611672e3d0 + version: 2.0.1 + resolution: "micromark-util-types@npm:2.0.1" + checksum: 630aac466628a360962f478f69421599c53ff8b3080765201b7be3b3a4be7f4c5b73632b9a6dd426b9e06035353c18acccee637d6c43d9b0bf1c31111bbb88a7 languageName: node linkType: hard @@ -35635,8 +36032,8 @@ __metadata: linkType: hard "micromark@npm:^4.0.0": - version: 4.0.0 - resolution: "micromark@npm:4.0.0" + version: 4.0.1 + resolution: "micromark@npm:4.0.1" dependencies: "@types/debug": ^4.0.0 debug: ^4.0.0 @@ -35655,7 +36052,7 @@ __metadata: micromark-util-subtokenize: ^2.0.0 micromark-util-symbol: ^2.0.0 micromark-util-types: ^2.0.0 - checksum: b84ab5ab1a0b28c063c52e9c2c9d7d44b954507235c10c9492d66e0b38f7de24bf298f914a1fbdf109f2a57a88cf0412de217c84cfac5fd60e3e42a74dbac085 + checksum: 83ea084e8bf84442cc70c1207e916df11f0fde0ebd9daf978c895a1466c47a1dd4ed42b21b6e65bcc0d268fcbec24b4b1b28bc59c548940fe690929b8e0e7732 languageName: node linkType: hard @@ -35681,14 +36078,21 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2": +"mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f languageName: node linkType: hard -"mime-types@npm:^2.0.8, mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-db@npm:>= 1.43.0 < 2": + version: 1.53.0 + resolution: "mime-db@npm:1.53.0" + checksum: 3fd9380bdc0b085d0b56b580e4f89ca4fc3b823722310d795c248f0806b9a80afd5d8f4347f015ad943b9ecfa7cc0b71dffa0db96fa776d01a13474821a2c7fb + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -35745,13 +36149,6 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^1.0.0": - version: 1.0.1 - resolution: "mimic-response@npm:1.0.1" - checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 - languageName: node - linkType: hard - "mimic-response@npm:^3.1.0": version: 3.1.0 resolution: "mimic-response@npm:3.1.0" @@ -35767,14 +36164,14 @@ __metadata: linkType: hard "mini-css-extract-plugin@npm:^2.4.2": - version: 2.8.0 - resolution: "mini-css-extract-plugin@npm:2.8.0" + version: 2.9.2 + resolution: "mini-css-extract-plugin@npm:2.9.2" dependencies: schema-utils: ^4.0.0 tapable: ^2.2.1 peerDependencies: webpack: ^5.0.0 - checksum: c1edc3ee0e1b3514c3323fa72ad38e993f357964e76737f1d7bb6cf50a0af1ac071080ec16b4e1a94688d23f78533944badad50cd0f00d2ae176f9c58c1f2029 + checksum: 67a1f75359371a7776108999d472ae0942ccd904401e364e3a2c710d4b6fec61c4f53288594fcac35891f009e6df8825a00dfd3bfe4bcec0f862081d1f7cad50 languageName: node linkType: hard @@ -35828,15 +36225,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^4.2.3": - version: 4.2.3 - resolution: "minimatch@npm:4.2.3" - dependencies: - brace-expansion: ^1.1.7 - checksum: 3392388e3ef7de7ae9a3a48d48a27a323934452f4af81b925dfbe85ce2dc07da855e3dbcc69229888be4e5118f6c0b79847d30f3e7c0e0017b25e423c11c0409 - languageName: node - linkType: hard - "minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": version: 5.1.6 resolution: "minimatch@npm:5.1.6" @@ -35855,7 +36243,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -35904,6 +36292,21 @@ __metadata: languageName: node linkType: hard +"minipass-fetch@npm:^4.0.0": + version: 4.0.0 + resolution: "minipass-fetch@npm:4.0.0" + dependencies: + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^3.0.1 + dependenciesMeta: + encoding: + optional: true + checksum: 7d59a31011ab9e4d1af6562dd4c4440e425b2baf4c5edbdd2e22fb25a88629e1cdceca39953ff209da504a46021df520f18fd9a519f36efae4750ff724ddadea + languageName: node + linkType: hard + "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -35940,6 +36343,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^4.0.0": + version: 4.2.8 + resolution: "minipass@npm:4.2.8" + checksum: 7f4914d5295a9a30807cae5227a37a926e6d910c03f315930fde52332cf0575dfbc20295318f91f0baf0e6bb11a6f668e30cde8027dea7a11b9d159867a3c830 + languageName: node + linkType: hard + "minipass@npm:^5.0.0": version: 5.0.0 resolution: "minipass@npm:5.0.0" @@ -36075,8 +36485,8 @@ __metadata: linkType: hard "mockttp@npm:^3.13.0": - version: 3.15.3 - resolution: "mockttp@npm:3.15.3" + version: 3.15.5 + resolution: "mockttp@npm:3.15.5" dependencies: "@graphql-tools/schema": ^8.5.0 "@graphql-tools/utils": ^8.8.0 @@ -36122,7 +36532,7 @@ __metadata: ws: ^8.8.0 bin: mockttp: dist/admin/admin-bin.js - checksum: cce4001d771d7baccf966467e2b71fcd0505b0cc9c2c0f2492d58b298cfe47f558eb138dbaa9daad3e4c2d7f7f8fda208920a867e2b494d333644867df6842d8 + checksum: 410d8b39cddb7975aeb2289a1735d8d65b28bf032e8b0e8990ce78ddbaa4c7c96108c54714a36a745b4784cf2bf129ddafa93a5458deacce2ca56a4adfd524e9 languageName: node linkType: hard @@ -36195,7 +36605,7 @@ __metadata: languageName: node linkType: hard -"msw@npm:1.3.5": +"msw@npm:1.3.5, msw@npm:^1.0.0, msw@npm:^1.0.1": version: 1.3.5 resolution: "msw@npm:1.3.5" dependencies: @@ -36229,40 +36639,6 @@ __metadata: languageName: node linkType: hard -"msw@npm:^1.0.0, msw@npm:^1.0.1": - version: 1.3.4 - resolution: "msw@npm:1.3.4" - dependencies: - "@mswjs/cookies": ^0.2.2 - "@mswjs/interceptors": ^0.17.10 - "@open-draft/until": ^1.0.3 - "@types/cookie": ^0.4.1 - "@types/js-levenshtein": ^1.1.1 - chalk: ^4.1.1 - chokidar: ^3.4.2 - cookie: ^0.4.2 - graphql: ^16.8.1 - headers-polyfill: 3.2.5 - inquirer: ^8.2.0 - is-node-process: ^1.2.0 - js-levenshtein: ^1.1.6 - node-fetch: ^2.6.7 - outvariant: ^1.4.0 - path-to-regexp: ^6.2.0 - strict-event-emitter: ^0.4.3 - type-fest: ^2.19.0 - yargs: ^17.3.1 - peerDependencies: - typescript: ">= 4.4.x" - peerDependenciesMeta: - typescript: - optional: true - bin: - msw: cli/index.js - checksum: 57646ecb831e98f00387e60bad4d535e426d406ae2645340e59500c219059be225f1f02a5ff21aee9daeb7a8bdde922a00fb82930781d27e3f3fdaf6b292c25f - languageName: node - linkType: hard - "multer@npm:^1.4.5-lts.1": version: 1.4.5-lts.1 resolution: "multer@npm:1.4.5-lts.1" @@ -36298,8 +36674,8 @@ __metadata: linkType: hard "mysql2@npm:^3.0.0": - version: 3.11.4 - resolution: "mysql2@npm:3.11.4" + version: 3.12.0 + resolution: "mysql2@npm:3.12.0" dependencies: aws-ssl-profiles: ^1.1.1 denque: ^2.1.0 @@ -36310,7 +36686,7 @@ __metadata: named-placeholders: ^1.1.3 seq-queue: ^0.0.5 sqlstring: ^2.3.2 - checksum: b4415028fad374b5bd5303968c28fc95feee60c1c946ef47f3581e0303c0e5978a306f44d6f665e3fdada5d6a0dd6c55515427a195700b90943d188f6db2f7ed + checksum: b9c608f7f139929f61fd727773a2a9ff73808172420788be9fa9a60e9a80aa867f81efadd99c010b3015e26271905a83a63a8d919a6fd72b842a19bac3ce4f95 languageName: node linkType: hard @@ -36334,12 +36710,12 @@ __metadata: languageName: node linkType: hard -"nan@npm:^2.14.0, nan@npm:^2.17.0, nan@npm:^2.18.0": - version: 2.18.0 - resolution: "nan@npm:2.18.0" +"nan@npm:^2.19.0, nan@npm:^2.20.0": + version: 2.22.0 + resolution: "nan@npm:2.22.0" dependencies: node-gyp: latest - checksum: 4fe42f58456504eab3105c04a5cffb72066b5f22bd45decf33523cb17e7d6abc33cca2a19829407b9000539c5cb25f410312d4dc5b30220167a3594896ea6a0a + checksum: 222e3a090e326c72f6782d948f44ee9b81cfb2161d5fe53216f04426a273fd094deee9dcc6813096dd2397689a2b10c1a92d3885d2e73fd2488a51547beb2929 languageName: node linkType: hard @@ -36369,12 +36745,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" +"nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": + version: 3.3.8 + resolution: "nanoid@npm:3.3.8" bin: nanoid: bin/nanoid.cjs - checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 + checksum: dfe0adbc0c77e9655b550c333075f51bb28cfc7568afbf3237249904f9c86c9aaaed1f113f0fddddba75673ee31c758c30c43d4414f014a52a7a626efc5958c9 languageName: node linkType: hard @@ -36431,13 +36807,27 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": +"negotiator@npm:0.6.3": version: 0.6.3 resolution: "negotiator@npm:0.6.3" checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 languageName: node linkType: hard +"negotiator@npm:^0.6.3, negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 7ded10aa02a0707d1d12a9973fdb5954f98547ca7beb60e31cb3a403cc6e8f11138db7a3b0128425cf836fc85d145ec4ce983b2bdf83dca436af879c2d683510 + languageName: node + linkType: hard + +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 20ebfe79b2d2e7cf9cbc8239a72662b584f71164096e6e8896c8325055497c96f6b80cd22c258e8a2f2aa382a787795ec3ee8b37b422a302c7d4381b0d5ecfbb + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -36468,22 +36858,22 @@ __metadata: languageName: node linkType: hard -"nimma@npm:0.2.2": - version: 0.2.2 - resolution: "nimma@npm:0.2.2" +"nimma@npm:0.2.3": + version: 0.2.3 + resolution: "nimma@npm:0.2.3" dependencies: "@jsep-plugin/regex": ^1.0.1 "@jsep-plugin/ternary": ^1.0.2 astring: ^1.8.1 jsep: ^1.2.0 - jsonpath-plus: ^6.0.1 + jsonpath-plus: ^6.0.1 || ^10.1.0 lodash.topath: ^4.5.2 dependenciesMeta: jsonpath-plus: optional: true lodash.topath: optional: true - checksum: 09369253a962e6cdddd37c4994d414a5fa00abc955c4d91946140b45b57465749a9f05663a64812ad5ac70caacb7ca22a8fc7c8db002032d0768c83dbba7b3ad + checksum: cafa172f78fca7c0f8e7126659dd47f39bbe09d69b7ef60a7363b65d990934dd57e769afe1fac6a89affc30d47e25a725290025b13e452d3d23e7d3cdab972fb languageName: node linkType: hard @@ -36498,11 +36888,11 @@ __metadata: linkType: hard "node-abi@npm:^3.3.0": - version: 3.56.0 - resolution: "node-abi@npm:3.56.0" + version: 3.73.0 + resolution: "node-abi@npm:3.73.0" dependencies: semver: ^7.3.5 - checksum: 76a9f705f88b217fe8b23c0003333256d695c0417bee745392524b9444df6e843a3c5cfad90e06a1e00f26cdf91db8d6efa11b1468929ffb6d2e8ac2aa364008 + checksum: d89bfe7b539de4c77b48eec5d75591941154392775e8b222b768cb902f1f62b0c77051b364826a506012a9885318e990d3f4435cd6b5aeebe9ec2da1b7afd0f5 languageName: node linkType: hard @@ -36513,6 +36903,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^8.2.1, node-addon-api@npm:^8.2.2, node-addon-api@npm:^8.3.0": + version: 8.3.0 + resolution: "node-addon-api@npm:8.3.0" + dependencies: + node-gyp: latest + checksum: 87fd087f0887e91c5608ac3c99e3f374403074c9cff2c335b061b0c68a183e4cd561fb9a8b0a583f0145c9b7753180b2be0c232ef01bb97796ccf4486c87958a + languageName: node + linkType: hard + "node-cache@npm:^5.1.2": version: 5.1.2 resolution: "node-cache@npm:5.1.2" @@ -36562,7 +36961,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:2.7.0, node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": +"node-fetch@npm:2.7.0, node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -36576,6 +36975,17 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^3.3.2": + version: 3.3.2 + resolution: "node-fetch@npm:3.3.2" + dependencies: + data-uri-to-buffer: ^4.0.0 + fetch-blob: ^3.1.4 + formdata-polyfill: ^4.0.10 + checksum: 06a04095a2ddf05b0830a0d5302699704d59bda3102894ea64c7b9d4c865ecdff2d90fd042df7f5bc40337266961cb6183dcc808ea4f3000d024f422b462da92 + languageName: node + linkType: hard + "node-forge@npm:^1, node-forge@npm:^1.2.1, node-forge@npm:^1.3.1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -36583,6 +36993,17 @@ __metadata: languageName: node linkType: hard +"node-gyp-build@npm:^4.8.2, node-gyp-build@npm:^4.8.4": + version: 4.8.4 + resolution: "node-gyp-build@npm:4.8.4" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 8b81ca8ffd5fa257ad8d067896d07908a36918bc84fb04647af09d92f58310def2d2b8614d8606d129d9cd9b48890a5d2bec18abe7fcff54818f72bedd3a7d74 + languageName: node + linkType: hard + "node-gyp@npm:10.3.1": version: 10.3.1 resolution: "node-gyp@npm:10.3.1" @@ -36604,22 +37025,22 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.2.0 - resolution: "node-gyp@npm:10.2.0" + version: 11.0.0 + resolution: "node-gyp@npm:11.0.0" dependencies: env-paths: ^2.2.0 exponential-backoff: ^3.1.1 glob: ^10.3.10 graceful-fs: ^4.2.6 - make-fetch-happen: ^13.0.0 - nopt: ^7.0.0 - proc-log: ^4.1.0 + make-fetch-happen: ^14.0.3 + nopt: ^8.0.0 + proc-log: ^5.0.0 semver: ^7.3.5 - tar: ^6.2.1 - which: ^4.0.0 + tar: ^7.4.3 + which: ^5.0.0 bin: node-gyp: bin/node-gyp.js - checksum: 0233759d8c19765f7fdc259a35eb046ad86c3d09e22f7384613ae2b89647dd27fcf833fdf5293d9335041e91f9b1c539494225959cdb312a5c8080b7534b926f + checksum: d7d5055ccc88177f721c7cd4f8f9440c29a0eb40e7b79dba89ef882ec957975dfc1dcb8225e79ab32481a02016eb13bbc051a913ea88d482d3cbdf2131156af4 languageName: node linkType: hard @@ -36670,10 +37091,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: ef55a3d853e1269a6d6279b7692cd6ff3e40bc74947945101138745bfdc9a5edabfe72cb19a31a8e45752e1910c4c65c77d931866af6357f242b172b7283f5b3 +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 917dbced519f48c6289a44830a0ca6dc944c3ee9243c468ebd8515a41c97c8b2c256edb7f3f750416bc37952cc9608684e6483c7b6c6f39f6bd8d86c52cfe658 languageName: node linkType: hard @@ -36706,6 +37127,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^8.0.0": + version: 8.0.0 + resolution: "nopt@npm:8.0.0" + dependencies: + abbrev: ^2.0.0 + bin: + nopt: bin/nopt.js + checksum: 2cfc65e7ee38af2e04aea98f054753b0230011c0eeca4ecf131bd7d25984cbbf6f214586e0ae5dfcc2e830bc0bffa5a7fb28ea8d0b306ffd4ae8ea2d814c1ab3 + languageName: node + linkType: hard + "normalize-path@npm:^2.1.1": version: 2.1.1 resolution: "normalize-path@npm:2.1.1" @@ -36824,10 +37256,10 @@ __metadata: languageName: node linkType: hard -"nwsapi@npm:^2.2.0, nwsapi@npm:^2.2.2": - version: 2.2.7 - resolution: "nwsapi@npm:2.2.7" - checksum: cab25f7983acec7e23490fec3ef7be608041b460504229770e3bfcf9977c41d6fe58f518994d3bd9aa3a101f501089a3d4a63536f4ff8ae4b8c4ca23bdbfda4e +"nwsapi@npm:^2.2.16, nwsapi@npm:^2.2.2": + version: 2.2.16 + resolution: "nwsapi@npm:2.2.16" + checksum: 467b36a74b7b8647d53fd61d05ca7d6c73a4a5d1b94ea84f770c03150b00ef46d38076cf8e708936246ae450c42a1f21e28e153023719784dc4d1a19b1737d47 languageName: node linkType: hard @@ -36896,6 +37328,13 @@ __metadata: languageName: node linkType: hard +"oauth4webapi@npm:^3.1.4": + version: 3.1.4 + resolution: "oauth4webapi@npm:3.1.4" + checksum: d4b81096020ae3edb4170ee229368848ed0bb49a1bca02f5c39778951246d6519c8afbcbaeaffb2c36862af8493c121a439964f0ca9e4c7da9cafb18cb019474 + languageName: node + linkType: hard + "oauth@npm:0.10.x": version: 0.10.0 resolution: "oauth@npm:0.10.0" @@ -36938,20 +37377,20 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f +"object-inspect@npm:^1.13.3": + version: 1.13.3 + resolution: "object-inspect@npm:1.13.3" + checksum: 8c962102117241e18ea403b84d2521f78291b774b03a29ee80a9863621d88265ffd11d0d7e435c4c2cea0dc2a2fbf8bbc92255737a05536590f2df2e8756f297 languageName: node linkType: hard "object-is@npm:^1.1.5": - version: 1.1.5 - resolution: "object-is@npm:1.1.5" + version: 1.1.6 + resolution: "object-is@npm:1.1.6" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + call-bind: ^1.0.7 + define-properties: ^1.2.1 + checksum: 3ea22759967e6f2380a2cbbd0f737b42dc9ddb2dfefdb159a1b927fea57335e1b058b564bfa94417db8ad58cddab33621a035de6f5e5ad56d89f2dd03e66c6a1 languageName: node linkType: hard @@ -36962,71 +37401,63 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: ^1.0.5 + call-bind: ^1.0.8 + call-bound: ^1.0.3 define-properties: ^1.2.1 - has-symbols: ^1.0.3 + es-object-atoms: ^1.0.0 + has-symbols: ^1.1.0 object-keys: ^1.1.1 - checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 - languageName: node - linkType: hard - -"object.entries@npm:^1.1.6, object.entries@npm:^1.1.7": - version: 1.1.7 - resolution: "object.entries@npm:1.1.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: da287d434e7e32989586cd734382364ba826a2527f2bc82e6acbf9f9bfafa35d51018b66ec02543ffdfa2a5ba4af2b6f1ca6e588c65030cb4fd9c67d6ced594c + checksum: 60e07d2651cf4f5528c485f1aa4dbded9b384c47d80e8187cefd11320abb1aebebf78df5483451dfa549059f8281c21f7b4bf7d19e9e5e97d8d617df0df298de languageName: node linkType: hard -"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": - version: 2.0.7 - resolution: "object.fromentries@npm:2.0.7" +"object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 7341ce246e248b39a431b87a9ddd331ff52a454deb79afebc95609f94b1f8238966cf21f52188f2a353f0fdf83294f32f1ebf1f7826aae915ebad21fd0678065 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: 5314877cb637ef3437a30bba61d9bacdb3ce74bf73ac101518be0633c37840c8cc67407edb341f766e8093b3d7516d5c3358f25adfee4a2c697c0ec4c8491907 languageName: node linkType: hard -"object.groupby@npm:^1.0.1": - version: 1.0.2 - resolution: "object.groupby@npm:1.0.2" +"object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" dependencies: - array.prototype.filter: ^1.0.3 - call-bind: ^1.0.5 + call-bind: ^1.0.7 define-properties: ^1.2.1 - es-abstract: ^1.22.3 - es-errors: ^1.0.0 - checksum: 5f95c2a3a5f60a1a8c05fdd71455110bd3d5e6af0350a20b133d8cd70f9c3385d5c7fceb6a17b940c3c61752d9c202d10d5e2eb5ce73b89002656a87e7bf767a + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: 29b2207a2db2782d7ced83f93b3ff5d425f901945f3665ffda1821e30a7253cd1fd6b891a64279976098137ddfa883d748787a6fea53ecdb51f8df8b8cec0ae1 languageName: node linkType: hard -"object.hasown@npm:^1.1.2": - version: 1.1.3 - resolution: "object.hasown@npm:1.1.3" +"object.groupby@npm:^1.0.3": + version: 1.0.3 + resolution: "object.groupby@npm:1.0.3" dependencies: - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 76bc17356f6124542fb47e5d0e78d531eafa4bba3fc2d6fc4b1a8ce8b6878912366c0d99f37ce5c84ada8fd79df7aa6ea1214fddf721f43e093ad2df51f27da1 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + checksum: 0d30693ca3ace29720bffd20b3130451dca7a56c612e1926c0a1a15e4306061d84410bdb1456be2656c5aca53c81b7a3661eceaa362db1bba6669c2c9b6d1982 languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.1.7": - version: 1.1.7 - resolution: "object.values@npm:1.1.7" +"object.values@npm:^1.1.6, object.values@npm:^1.2.0, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: f3e4ae4f21eb1cc7cebb6ce036d4c67b36e1c750428d7b7623c56a0db90edced63d08af8a316d81dfb7c41a3a5fa81b05b7cc9426e98d7da986b1682460f0777 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: f9b9a2a125ccf8ded29414d7c056ae0d187b833ee74919821fc60d7e216626db220d9cb3cf33f965c84aaaa96133626ca13b80f3c158b673976dc8cfcfcd26bb languageName: node linkType: hard @@ -37065,20 +37496,20 @@ __metadata: linkType: hard "octokit@npm:^3.0.0": - version: 3.1.2 - resolution: "octokit@npm:3.1.2" + version: 3.2.1 + resolution: "octokit@npm:3.2.1" dependencies: "@octokit/app": ^14.0.2 "@octokit/core": ^5.0.0 "@octokit/oauth-app": ^6.0.0 "@octokit/plugin-paginate-graphql": ^4.0.0 - "@octokit/plugin-paginate-rest": ^9.0.0 - "@octokit/plugin-rest-endpoint-methods": ^10.0.0 + "@octokit/plugin-paginate-rest": 11.3.1 + "@octokit/plugin-rest-endpoint-methods": 13.2.2 "@octokit/plugin-retry": ^6.0.0 "@octokit/plugin-throttling": ^8.0.0 "@octokit/request-error": ^5.0.0 - "@octokit/types": ^12.0.0 - checksum: 8ef0d57a0e0129da5a3fddf2b2150c3214fd19b5cbefdd2fe7fa4604f45aae90587080ce1498fadef6714d385835ee00b7c86c526f31d67c93fcd545e041568c + "@octokit/types": ^13.0.0 + checksum: e5608f848fb11808d0c977d946c24bffa622179daf8566c4941f6050551d368aa750b362a95aea14647facd0919e4af392c67b2409f8642dc9f27c7b6c0f964e languageName: node linkType: hard @@ -37199,20 +37630,20 @@ __metadata: linkType: hard "openapi-backend@npm:^5.10.6": - version: 5.11.0 - resolution: "openapi-backend@npm:5.11.0" + version: 5.11.1 + resolution: "openapi-backend@npm:5.11.1" dependencies: "@apidevtools/json-schema-ref-parser": ^11.1.0 ajv: ^8.6.2 bath-es5: ^3.0.3 - cookie: ^0.5.0 + cookie: ^1.0.1 dereference-json-schema: ^0.2.1 lodash: ^4.17.15 mock-json-schema: ^1.0.7 openapi-schema-validator: ^12.0.0 openapi-types: ^12.0.2 qs: ^6.9.3 - checksum: 8efcd315b542adb1912088e24fe2fbd1197e529623f392aa50c72bb431cbdf0e1e806c36fbbaf8d42bb3575e6e19a76042596b493616abeddc754c058f1cb4eb + checksum: cd51379e21a6fc89e8497e11dcacff398ccab54366b70e7e91740367411ce295de170957ca172c5063094786b0af854f88db85de9928d6edf89444134be667ff languageName: node linkType: hard @@ -37227,22 +37658,23 @@ __metadata: languageName: node linkType: hard -"openapi-path-templating@npm:^1.5.1": - version: 1.6.0 - resolution: "openapi-path-templating@npm:1.6.0" +"openapi-path-templating@npm:^2.0.1": + version: 2.1.0 + resolution: "openapi-path-templating@npm:2.1.0" dependencies: - apg-lite: ^1.0.3 - checksum: ebfa0df0b203b90779f88718dae82a2a9889d98452228fd4c7c442c96661fc8dd1013a8a3aed7f39b9c8c6e17936fff85902bb5f1b378318436b5c762e3fdc50 + apg-lite: ^1.0.4 + checksum: 4ee5364a47e5b8f8709936d67a7a079ec79f9be06e0e24ce49d8a329959442389ca211224d719ac5b6c710d12f968d42e92bb71611b0a040d878ad3df0b53782 languageName: node linkType: hard "openapi-sampler@npm:^1.2.1": - version: 1.4.0 - resolution: "openapi-sampler@npm:1.4.0" + version: 1.6.1 + resolution: "openapi-sampler@npm:1.6.1" dependencies: "@types/json-schema": ^7.0.7 + fast-xml-parser: ^4.5.0 json-pointer: 0.6.2 - checksum: d38b432e92190847eeb6533ed77b24dc912bd97f610f4b52db0d7cbbe88c8ee2d5fe498a97c23e6209385a13114b6f01b0c2c49e98c079f0b639f0133a1d657c + checksum: 142b7ede3eefaaf0c43905dddd12494f107c078169e578c48742882d4ab2e732908d9be4a0ac9fa856d2aa7ed054c25b6bf1a69bc0ae4777e5e0dc3f729f0334 languageName: node linkType: hard @@ -37258,12 +37690,12 @@ __metadata: languageName: node linkType: hard -"openapi-server-url-templating@npm:^1.0.0": - version: 1.1.0 - resolution: "openapi-server-url-templating@npm:1.1.0" +"openapi-server-url-templating@npm:^1.2.0": + version: 1.3.0 + resolution: "openapi-server-url-templating@npm:1.3.0" dependencies: - apg-lite: ^1.0.3 - checksum: 0379b778445a972712edf504063d15445f351e13c228181ae9c887dc1f8d2f378689b32e7387de9595693f404572278fe1e8f1aa63a68edd0471518761aa58b0 + apg-lite: ^1.0.4 + checksum: 9c508f6e9fea365d293157cfa7f28c8519b08fe90f27e694f54ff92638808967861e5e83ec3081bba2be32b12d82286a577f1f003650e8989d4db7e7a8147bee languageName: node linkType: hard @@ -37283,15 +37715,25 @@ __metadata: languageName: node linkType: hard -"openid-client@npm:^5.2.1, openid-client@npm:^5.3.0, openid-client@npm:^5.5.0": - version: 5.6.5 - resolution: "openid-client@npm:5.6.5" +"openid-client@npm:^5.2.1, openid-client@npm:^5.3.0, openid-client@npm:^5.5.0, openid-client@npm:^5.6.5": + version: 5.7.1 + resolution: "openid-client@npm:5.7.1" dependencies: - jose: ^4.15.5 + jose: ^4.15.9 lru-cache: ^6.0.0 object-hash: ^2.2.0 oidc-token-hash: ^5.0.3 - checksum: 2240079f761173b10635ce5fefbac04b6820f54e00d588ab2afdddb6c0f0ab6568e663cf1ab6a4a2297fbdbb73e42d78b8190f91dba7e1b80d287b2127fcbc7c + checksum: 497aad2c8a022cef112ade19ed88fba6c8ca0e79607ebe5efdcf75c4095d7924ca479085c1c94f689f6dbc9442c61aab3c2443eb347bcbc6ef51df68827c7c47 + languageName: node + linkType: hard + +"openid-client@npm:^6.1.3": + version: 6.1.7 + resolution: "openid-client@npm:6.1.7" + dependencies: + jose: ^5.9.6 + oauth4webapi: ^3.1.4 + checksum: 156f99f3b8af13916bb6e70e89e02ad53c287064538cf45c5ca4e1ae939334bd28e36ff28eac53cf9c747ec70e9fb088c83c76f291252b1546662933786e7fcd languageName: node linkType: hard @@ -37310,16 +37752,16 @@ __metadata: linkType: hard "optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" + version: 0.9.4 + resolution: "optionator@npm:0.9.4" dependencies: - "@aashutoshrathi/word-wrap": ^1.2.3 deep-is: ^0.1.3 fast-levenshtein: ^2.0.6 levn: ^0.4.1 prelude-ls: ^1.2.1 type-check: ^0.4.0 - checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a + word-wrap: ^1.2.5 + checksum: ecbd010e3dc73e05d239976422d9ef54a82a13f37c11ca5911dff41c98a6c7f0f163b27f922c37e7f8340af9d36febd3b6e9cef508f3339d4c393d7276d716bb languageName: node linkType: hard @@ -37372,10 +37814,14 @@ __metadata: languageName: node linkType: hard -"p-cancelable@npm:^2.0.0": - version: 2.1.1 - resolution: "p-cancelable@npm:2.1.1" - checksum: 3dba12b4fb4a1e3e34524535c7858fc82381bbbd0f247cc32dedc4018592a3950ce66b106d0880b4ec4c2d8d6576f98ca885dc1d7d0f274d1370be20e9523ddf +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.6 + object-keys: ^1.1.1 + safe-push-apply: ^1.0.0 + checksum: cc9dd7d85c4ccfbe8109fce307d581ac7ede7b26de892b537873fbce2dc6a206d89aea0630dbb98e47ce0873517cefeaa7be15fcf94aaf4764a3b34b474a5b61 languageName: node linkType: hard @@ -37465,6 +37911,13 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 8c92d533acf82f0d12f7e196edccff773f384098bbb048acdd55a08778ce4fc8889d8f1bde72969487bd96f9c63212698d79744c20bedfce36c5b00b46d369f8 + languageName: node + linkType: hard + "p-queue@npm:^6.6.2": version: 6.6.2 resolution: "p-queue@npm:6.6.2" @@ -37486,13 +37939,13 @@ __metadata: linkType: hard "p-retry@npm:^6.2.0": - version: 6.2.0 - resolution: "p-retry@npm:6.2.0" + version: 6.2.1 + resolution: "p-retry@npm:6.2.1" dependencies: "@types/retry": 0.12.2 is-network-error: ^1.0.0 retry: ^0.13.1 - checksum: 6003573c559ee812329c9c3ede7ba12a783fdc8dd70602116646e850c920b4597dc502fe001c3f9526fca4e93275045db7a27341c458e51db179c1374a01ac44 + checksum: 73acd269544b1359b7f2aa5f907f6f8cd4947c596bc43cc25fecce2678e2f190095179407eb874f0e09fc5956ae7952c39ebb08c3d9334f59d41ae0b2d73ee6b languageName: node linkType: hard @@ -37527,18 +37980,18 @@ __metadata: linkType: hard "pac-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "pac-proxy-agent@npm:7.0.2" + version: 7.1.0 + resolution: "pac-proxy-agent@npm:7.1.0" dependencies: "@tootallnate/quickjs-emscripten": ^0.23.0 - agent-base: ^7.0.2 + agent-base: ^7.1.2 debug: ^4.3.4 get-uri: ^6.0.1 http-proxy-agent: ^7.0.0 - https-proxy-agent: ^7.0.5 + https-proxy-agent: ^7.0.6 pac-resolver: ^7.0.1 - socks-proxy-agent: ^8.0.4 - checksum: 82772aaa489a4ad6f598b75d56daf609e7ba294a05a91cfe3101b004e2df494f0a269c98452cb47aaa4a513428e248308a156e26fee67eb78a76a58e9346921e + socks-proxy-agent: ^8.0.5 + checksum: 0ed8ebca239b5c78f7c5039ec0e33aaf6ce8de2fb53d00996b5b7b362e655af9793721008ddf56c4b1d30fb5202b2cb5baee97e374ed1285c0cfb5be7c4574a5 languageName: node linkType: hard @@ -37571,19 +38024,12 @@ __metadata: languageName: node linkType: hard -"packet-reader@npm:1.0.0": - version: 1.0.0 - resolution: "packet-reader@npm:1.0.0" - checksum: 0b7516f0cbf3e322aad591bed29ba544220088c53943145c0d9121a6f59182ad811f7fd6785a8979a34356aca69d97653689029964c5998dc02645633d88ffd7 - languageName: node - linkType: hard - "pagerduty-backstage-plugin-backend@workspace:dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic": version: 0.0.0-use.local resolution: "pagerduty-backstage-plugin-backend@workspace:dynamic-plugins/wrappers/pagerduty-backstage-plugin-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@pagerduty/backstage-plugin-backend": 0.9.2 typescript: 5.7.3 languageName: unknown @@ -37593,8 +38039,8 @@ __metadata: version: 0.0.0-use.local resolution: "pagerduty-backstage-plugin@workspace:dynamic-plugins/wrappers/pagerduty-backstage-plugin" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@pagerduty/backstage-plugin": 0.15.2 typescript: 5.7.3 languageName: unknown @@ -37646,23 +38092,24 @@ __metadata: version: 0.0.0-use.local resolution: "parfuemerie-douglas-scaffolder-backend-module-azure-repositories@workspace:dynamic-plugins/wrappers/parfuemerie-douglas-scaffolder-backend-module-azure-repositories-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@parfuemerie-douglas/scaffolder-backend-module-azure-repositories": 0.3.0 typescript: 5.7.3 languageName: unknown linkType: soft -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.6": - version: 5.1.6 - resolution: "parse-asn1@npm:5.1.6" +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.7": + version: 5.1.7 + resolution: "parse-asn1@npm:5.1.7" dependencies: - asn1.js: ^5.2.0 - browserify-aes: ^1.0.0 - evp_bytestokey: ^1.0.0 - pbkdf2: ^3.0.3 - safe-buffer: ^5.1.1 - checksum: 9243311d1f88089bc9f2158972aa38d1abd5452f7b7cabf84954ed766048fe574d434d82c6f5a39b988683e96fb84cd933071dda38927e03469dc8c8d14463c7 + asn1.js: ^4.10.1 + browserify-aes: ^1.2.0 + evp_bytestokey: ^1.0.3 + hash-base: ~3.0 + pbkdf2: ^3.1.2 + safe-buffer: ^5.2.1 + checksum: 93c7194c1ed63a13e0b212d854b5213ad1aca0ace41c66b311e97cca0519cf9240f79435a0306a3b412c257f0ea3f1953fd0d9549419a0952c9e995ab361fd6c languageName: node linkType: hard @@ -37681,18 +38128,17 @@ __metadata: linkType: hard "parse-entities@npm:^4.0.0": - version: 4.0.1 - resolution: "parse-entities@npm:4.0.1" + version: 4.0.2 + resolution: "parse-entities@npm:4.0.2" dependencies: "@types/unist": ^2.0.0 - character-entities: ^2.0.0 character-entities-legacy: ^3.0.0 character-reference-invalid: ^2.0.0 decode-named-character-reference: ^1.0.0 is-alphanumerical: ^2.0.0 is-decimal: ^2.0.0 is-hexadecimal: ^2.0.0 - checksum: 32a6ff5b9acb9d2c4d71537308521fd265e685b9215691df73feedd9edfe041bb6da9f89bd0c35c4a2bc7d58e3e76e399bb6078c2fd7d2a343ff1dd46edbf1bd + checksum: db22b46da1a62af00409c929ac49fbd306b5ebf0dbacf4646d2ae2b58616ef90a40eedc282568a3cf740fac2a7928bc97146973a628f6977ca274dedc2ad6edc languageName: node linkType: hard @@ -37765,13 +38211,6 @@ __metadata: languageName: node linkType: hard -"parse5@npm:6.0.1, parse5@npm:^6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd - languageName: node - linkType: hard - "parse5@npm:^5.1.1": version: 5.1.1 resolution: "parse5@npm:5.1.1" @@ -37779,12 +38218,19 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0, parse5@npm:^7.1.1": - version: 7.1.2 - resolution: "parse5@npm:7.1.2" +"parse5@npm:^6.0.1": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.1.1, parse5@npm:^7.2.1": + version: 7.2.1 + resolution: "parse5@npm:7.2.1" dependencies: - entities: ^4.4.0 - checksum: 59465dd05eb4c5ec87b76173d1c596e152a10e290b7abcda1aecf0f33be49646ea74840c69af975d7887543ea45564801736356c568d6b5e71792fd0f4055713 + entities: ^4.5.0 + checksum: 11253cf8aa2e7fc41c004c64cba6f2c255f809663365db65bd7ad0e8cf7b89e436a563c20059346371cc543a6c1b567032088883ca6a2cbc88276c666b68236d languageName: node linkType: hard @@ -37863,12 +38309,11 @@ __metadata: linkType: hard "passport-microsoft@npm:^1.0.0": - version: 1.0.0 - resolution: "passport-microsoft@npm:1.0.0" + version: 1.1.0 + resolution: "passport-microsoft@npm:1.1.0" dependencies: - passport-oauth2: 1.6.1 - pkginfo: 0.4.x - checksum: 9f66b857364a1653a2becc255be098f895bdfd53425ad3ba95eb0a99820c5f38a0f03935d70122fad2608a6506d9de49fc9696e60df3d60fa7619585ab5dbd5d + passport-oauth2: 1.8.0 + checksum: 97cb68f3adba8914a9375ebf1b0a05f33d8ca53ddad50948a254219e01672e726fc8eb7152d4e31de86041ab603dea950cec4f3dee5c6ade3bcc3de23aa44408 languageName: node linkType: hard @@ -37883,20 +38328,7 @@ __metadata: languageName: node linkType: hard -"passport-oauth2@npm:1.6.1": - version: 1.6.1 - resolution: "passport-oauth2@npm:1.6.1" - dependencies: - base64url: 3.x.x - oauth: 0.9.x - passport-strategy: 1.x.x - uid2: 0.0.x - utils-merge: 1.x.x - checksum: 2a5b01a884ebade01770543d3b84fbdbc45c75ca13b320b88ae59e33388bb485a27c323c2d3904058dca57065bf0e2a78c645cbb62600ced2dcdd43094259f0e - languageName: node - linkType: hard - -"passport-oauth2@npm:1.x.x, passport-oauth2@npm:^1.1.2, passport-oauth2@npm:^1.4.0, passport-oauth2@npm:^1.6.0, passport-oauth2@npm:^1.6.1, passport-oauth2@npm:^1.7.0": +"passport-oauth2@npm:1.8.0, passport-oauth2@npm:1.x.x, passport-oauth2@npm:^1.1.2, passport-oauth2@npm:^1.4.0, passport-oauth2@npm:^1.6.0, passport-oauth2@npm:^1.6.1, passport-oauth2@npm:^1.7.0": version: 1.8.0 resolution: "passport-oauth2@npm:1.8.0" dependencies: @@ -38038,14 +38470,14 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^6.2.0, path-to-regexp@npm:^6.2.1, path-to-regexp@npm:^6.3.0": +"path-to-regexp@npm:^6.2.1, path-to-regexp@npm:^6.3.0": version: 6.3.0 resolution: "path-to-regexp@npm:6.3.0" checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250 languageName: node linkType: hard -"path-to-regexp@npm:^8.0.0, path-to-regexp@npm:^8.1.0": +"path-to-regexp@npm:^8.0.0, path-to-regexp@npm:^8.2.0": version: 8.2.0 resolution: "path-to-regexp@npm:8.2.0" checksum: 56e13e45962e776e9e7cd72e87a441cfe41f33fd539d097237ceb16adc922281136ca12f5a742962e33d8dda9569f630ba594de56d8b7b6e49adf31803c5e771 @@ -38066,7 +38498,7 @@ __metadata: languageName: node linkType: hard -"pbkdf2@npm:^3.0.3": +"pbkdf2@npm:^3.1.2": version: 3.1.2 resolution: "pbkdf2@npm:3.1.2" dependencies: @@ -38080,9 +38512,9 @@ __metadata: linkType: hard "pct-encode@npm:~1.0.0": - version: 1.0.2 - resolution: "pct-encode@npm:1.0.2" - checksum: 11edce15c8a9012cf5fdee006a05f10e3668a755a15aa25b6afbb8cc20d67f600702eb83e5eaca7a98ee78f9b362fb7d9ada9745428dceb6cdc44e0143851509 + version: 1.0.3 + resolution: "pct-encode@npm:1.0.3" + checksum: 04344233107a40590dd2d6fff3463040288d68ec66b6026cbb90a6ab1b29afdb5f196ff35b6ab5f86d4799a0dfea6117ab19fe836e0d5ffb49695c6ba60d05d8 languageName: node linkType: hard @@ -38121,10 +38553,10 @@ __metadata: languageName: node linkType: hard -"pg-connection-string@npm:^2.3.0, pg-connection-string@npm:^2.6.2": - version: 2.6.4 - resolution: "pg-connection-string@npm:2.6.4" - checksum: 2c1d2ac1add1f93076f1594d217a0980f79add05dc48de6363e1c550827c78a6ee3e3b5420da9c54858f6b678cdb348aed49732ee68158b6cdb70f1d1c748cf9 +"pg-connection-string@npm:^2.3.0, pg-connection-string@npm:^2.7.0": + version: 2.7.0 + resolution: "pg-connection-string@npm:2.7.0" + checksum: 68015a8874b7ca5dad456445e4114af3d2602bac2fdb8069315ecad0ff9660ec93259b9af7186606529ac4f6f72a06831e6f20897a689b16cc7fda7ca0e247fd languageName: node linkType: hard @@ -38149,16 +38581,16 @@ __metadata: languageName: node linkType: hard -"pg-pool@npm:^3.6.1": - version: 3.6.1 - resolution: "pg-pool@npm:3.6.1" +"pg-pool@npm:^3.7.0": + version: 3.7.0 + resolution: "pg-pool@npm:3.7.0" peerDependencies: pg: ">=8.0" - checksum: 8a6513e6f74a794708c9dd16d2ccda0debadc56435ec2582de2b2e35b01315550c5dab8a0a9a2a16f4adce45523228f5739940fb7687ec7e9c300f284eb08fd1 + checksum: 66fc1a5ad0e17b72671b9a2cd4c7a856fb08d3cb82da7af0b322590ada23127ac591111e855740405fde4f06c9de888abe9f3aa685ed6038c3232578e1fce8cf languageName: node linkType: hard -"pg-protocol@npm:*, pg-protocol@npm:^1.6.0": +"pg-protocol@npm:*, pg-protocol@npm:^1.7.0": version: 1.7.0 resolution: "pg-protocol@npm:1.7.0" checksum: 2dba740f6fc4b7f9761682c4c42d183b444292cdc7638b373f5247ec995c8199c369953343479281da3c41611fe34130a80c8668348d49a399c164f802f76be2 @@ -38194,15 +38626,13 @@ __metadata: linkType: hard "pg@npm:^8.11.3": - version: 8.11.3 - resolution: "pg@npm:8.11.3" + version: 8.13.1 + resolution: "pg@npm:8.13.1" dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 pg-cloudflare: ^1.1.1 - pg-connection-string: ^2.6.2 - pg-pool: ^3.6.1 - pg-protocol: ^1.6.0 + pg-connection-string: ^2.7.0 + pg-pool: ^3.7.0 + pg-protocol: ^1.7.0 pg-types: ^2.1.0 pgpass: 1.x peerDependencies: @@ -38213,7 +38643,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: 8af9468b8969fa0d73a6b349216c8cbc953d938fcae5594f2d24043060e9226a072c8085fc4230172b5576fcab4c39c8563c655f271dc2a9209b6ad5370cafe5 + checksum: 22cb97fcbee3348d5ee0b195071cc572f9c88eb40cbb61fe6726af68d55d5962121b2d630509bb907703e1c8bdc33de775462029c5399e2a841fa9e6c9da0242 languageName: node linkType: hard @@ -38227,13 +38657,13 @@ __metadata: linkType: hard "photoswipe@npm:^5.3.7": - version: 5.4.3 - resolution: "photoswipe@npm:5.4.3" - checksum: 92df48454b72e45f944a661a986b34fcf8a87b3328f731dc638bf33cc54c03d8e27193b9d6b8f5f72461a5f711f6d60bedcb5851dddcfaef22ef49dbc1762417 + version: 5.4.4 + resolution: "photoswipe@npm:5.4.4" + checksum: 9e1ee1278d1472e390c486f6ef5d5e13a3e55f660fde15360ce266bd31dcdce8feb08d406f8ccc9c35277ddf67b6d5ca8f028977d02033261647c0a54e7a17ea languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045 @@ -38254,6 +38684,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: a7a5188c954f82c6585720e9143297ccd0e35ad8072231608086ca950bee672d51b0ef676254af0788205e59bd4e4deb4e7708769226bed725bf13370a7d1464 + languageName: node + linkType: hard + "pidtree@npm:~0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -38351,7 +38788,7 @@ __metadata: languageName: node linkType: hard -"pkginfo@npm:0.4.x, pkginfo@npm:^0.4.1": +"pkginfo@npm:^0.4.1": version: 0.4.1 resolution: "pkginfo@npm:0.4.1" checksum: 0f13694f3682345647b7cb887fb6fe258df51b635f252324cd75eeb8181b4381cb8b9d91dc2d869849e857192b403bea65038d2f7c05b524eeae69ece5048209 @@ -38396,7 +38833,7 @@ __metadata: languageName: node linkType: hard -"pony-cause@npm:^1.0.0": +"pony-cause@npm:^1.1.1": version: 1.1.1 resolution: "pony-cause@npm:1.1.1" checksum: 5ff8878b808be48db801d52246a99d7e4789e52d20575ba504ede30c818fd85d38a033915e02c15fa9b6dce72448836dc1a47094acf8f1c21c4f04a4603b0cfb @@ -38613,36 +39050,36 @@ __metadata: languageName: node linkType: hard -"postcss-modules-extract-imports@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-extract-imports@npm:3.0.0" +"postcss-modules-extract-imports@npm:^3.0.0, postcss-modules-extract-imports@npm:^3.1.0": + version: 3.1.0 + resolution: "postcss-modules-extract-imports@npm:3.1.0" peerDependencies: postcss: ^8.1.0 - checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 + checksum: b9192e0f4fb3d19431558be6f8af7ca45fc92baaad9b2778d1732a5880cd25c3df2074ce5484ae491e224f0d21345ffc2d419bd51c25b019af76d7a7af88c17f languageName: node linkType: hard -"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.4": - version: 4.0.4 - resolution: "postcss-modules-local-by-default@npm:4.0.4" +"postcss-modules-local-by-default@npm:^4.0.0, postcss-modules-local-by-default@npm:^4.0.5": + version: 4.2.0 + resolution: "postcss-modules-local-by-default@npm:4.2.0" dependencies: icss-utils: ^5.0.0 - postcss-selector-parser: ^6.0.2 + postcss-selector-parser: ^7.0.0 postcss-value-parser: ^4.1.0 peerDependencies: postcss: ^8.1.0 - checksum: 578b955b0773147890caa88c30b10dfc849c5b1412a47ad51751890dba16fca9528c3ab00a19b186a8c2c150c2d08e2ce64d3d907800afee1f37c6d38252e365 + checksum: 720d145453f82ad5f1c1d0ff7386d64722f0812808e4132e573c1a49909745e109fcce3792a0b0cb18770dbeb3d9741867e81c698dc8353a18bc664b7d6d9533 languageName: node linkType: hard -"postcss-modules-scope@npm:^3.0.0, postcss-modules-scope@npm:^3.1.1": - version: 3.1.1 - resolution: "postcss-modules-scope@npm:3.1.1" +"postcss-modules-scope@npm:^3.0.0, postcss-modules-scope@npm:^3.2.0": + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" dependencies: - postcss-selector-parser: ^6.0.4 + postcss-selector-parser: ^7.0.0 peerDependencies: postcss: ^8.1.0 - checksum: 9e9d23abb0babc7fa243be65704d72a5a9ceb2bded4dbaef96a88210d468b03c8c3158c197f4e22300c851f08c6fdddd6ebe65f44e4c34448b45b8a2e063a16d + checksum: 085f65863bb7d8bf08209a979ceb22b2b07bb466574e0e698d34aaad832d614957bb05f2418348a14e4035f65e23b2be2951369d26ea429dd5762c6a020f0f7c languageName: node linkType: hard @@ -38809,13 +39246,23 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": - version: 6.0.15 - resolution: "postcss-selector-parser@npm:6.0.15" +"postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": + version: 6.1.2 + resolution: "postcss-selector-parser@npm:6.1.2" dependencies: cssesc: ^3.0.0 util-deprecate: ^1.0.2 - checksum: 57decb94152111004f15e27b9c61131eb50ee10a3288e7fcf424cebbb4aba82c2817517ae718f8b5d704ee9e02a638d4a2acff8f47685c295a33ecee4fd31055 + checksum: ce9440fc42a5419d103f4c7c1847cb75488f3ac9cbe81093b408ee9701193a509f664b4d10a2b4d82c694ee7495e022f8f482d254f92b7ffd9ed9dea696c6f84 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: ^3.0.0 + util-deprecate: ^1.0.2 + checksum: f906b7449fcbe9fa6ae739b6fc324ee3c6201aaf5224f26da27de64ccba68d878d734dd182a467881e463f7ede08972d0129b0cc4d6b671d78c6492cddcef154 languageName: node linkType: hard @@ -38850,13 +39297,13 @@ __metadata: linkType: hard "postcss@npm:^8.1.0, postcss@npm:^8.2.13, postcss@npm:^8.3.11, postcss@npm:^8.4.33": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" + version: 8.5.1 + resolution: "postcss@npm:8.5.1" dependencies: - nanoid: ^3.3.7 - picocolors: ^1.0.0 - source-map-js: ^1.2.0 - checksum: 649f9e60a763ca4b5a7bbec446a069edf07f057f6d780a5a0070576b841538d1ecf7dd888f2fbfd1f76200e26c969e405aeeae66332e6927dbdc8bdcb90b9451 + nanoid: ^3.3.8 + picocolors: ^1.1.1 + source-map-js: ^1.2.1 + checksum: cfdcfcd019fca78160341080ba8986cf80cd6e9ca327ba61b86c03e95043e9bce56ad2e018851858039fd7264781797360bfba718dd216b17b3cd803a5134f2f languageName: node linkType: hard @@ -38927,9 +39374,9 @@ __metadata: languageName: node linkType: hard -"prebuild-install@npm:^7.1.1": - version: 7.1.1 - resolution: "prebuild-install@npm:7.1.1" +"prebuild-install@npm:^7.1.1, prebuild-install@npm:^7.1.2": + version: 7.1.2 + resolution: "prebuild-install@npm:7.1.2" dependencies: detect-libc: ^2.0.0 expand-template: ^2.0.3 @@ -38945,7 +39392,7 @@ __metadata: tunnel-agent: ^0.6.0 bin: prebuild-install: bin.js - checksum: dbf96d0146b6b5827fc8f67f72074d2e19c69628b9a7a0a17d0fad1bf37e9f06922896972e074197fc00a52eae912993e6ef5a0d471652f561df5cb516f3f467 + checksum: 543dadf8c60e004ae9529e6013ca0cbeac8ef38b5f5ba5518cb0b622fe7f8758b34e4b5cb1a791db3cdc9d2281766302df6088bd1a225f206925d6fee17d6c5c languageName: node linkType: hard @@ -39032,6 +39479,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: c78b26ecef6d5cce4a7489a1e9923d7b4b1679028c8654aef0463b27f4a90b0946cd598f55799da602895c52feb085ec76381d007ab8dcceebd40b89c2f9dfe0 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -39131,9 +39585,9 @@ __metadata: linkType: hard "property-information@npm:^6.0.0": - version: 6.4.1 - resolution: "property-information@npm:6.4.1" - checksum: d9eece5f14b6fea9e6a1fa65fba88554956a58825eb9a5c8327bffee06bcc265117eaeae901871e8e8a5caec8d5e05ce39ab6872d5cef3b49a6f07815b6ef285 + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 6e55664e2f64083b715011e5bafaa1e694faf36986c235b0907e95d09259cc37c38382e3cc94a4c3f56366e05336443db12c8a0f0968a8c0a1b1416eebfc8f53 languageName: node linkType: hard @@ -39144,36 +39598,16 @@ __metadata: languageName: node linkType: hard -"proto3-json-serializer@npm:^2.0.0": - version: 2.0.1 - resolution: "proto3-json-serializer@npm:2.0.1" +"proto3-json-serializer@npm:^2.0.2": + version: 2.0.2 + resolution: "proto3-json-serializer@npm:2.0.2" dependencies: protobufjs: ^7.2.5 - checksum: dfdb30f1453af356224c60c7106f9211167f142c1310696a24beb7d69c498ad15e6e0cc64e5a9585d1a24787a0be59a0662b6e673727a715f36622dc3a31abf5 + checksum: 21b8aa65be6dac2bb24920e5bdabef48b249bdf65b1498ae7e69ac4e70722275b083cd60a21d2b4be3ead9d768de2f6f5fb6b188bd177d51c824a539b5ba55cc languageName: node linkType: hard -"protobufjs@npm:7.2.6": - version: 7.2.6 - resolution: "protobufjs@npm:7.2.6" - dependencies: - "@protobufjs/aspromise": ^1.1.2 - "@protobufjs/base64": ^1.1.2 - "@protobufjs/codegen": ^2.0.4 - "@protobufjs/eventemitter": ^1.1.0 - "@protobufjs/fetch": ^1.1.0 - "@protobufjs/float": ^1.0.2 - "@protobufjs/inquire": ^1.1.0 - "@protobufjs/path": ^1.1.2 - "@protobufjs/pool": ^1.1.0 - "@protobufjs/utf8": ^1.1.0 - "@types/node": ">=13.7.0" - long: ^5.0.0 - checksum: 3c62e48f7d50017ac3b0dcd2a58e617cf858f9fba56a488bd48b9aa3482893a75540052dbcb3c12dfbaab42b1d04964611175faf06bdadcd33a4ebac982a511e - languageName: node - linkType: hard - -"protobufjs@npm:^7.2.5, protobufjs@npm:^7.2.6, protobufjs@npm:^7.3.0": +"protobufjs@npm:^7.2.5, protobufjs@npm:^7.2.6, protobufjs@npm:^7.3.0, protobufjs@npm:^7.3.2, protobufjs@npm:^7.4.0": version: 7.4.0 resolution: "protobufjs@npm:7.4.0" dependencies: @@ -39218,13 +39652,15 @@ __metadata: linkType: hard "psl@npm:^1.1.28, psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d + version: 1.15.0 + resolution: "psl@npm:1.15.0" + dependencies: + punycode: ^2.3.1 + checksum: 6f777d82eecfe1c2406dadbc15e77467b186fec13202ec887a45d0209a2c6fca530af94a462a477c3c4a767ad892ec9ede7c482d98f61f653dd838b50e89dc15 languageName: node linkType: hard -"public-encrypt@npm:^4.0.0": +"public-encrypt@npm:^4.0.3": version: 4.0.3 resolution: "public-encrypt@npm:4.0.3" dependencies: @@ -39239,12 +39675,12 @@ __metadata: linkType: hard "pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" + version: 3.0.2 + resolution: "pump@npm:3.0.2" dependencies: end-of-stream: ^1.1.0 once: ^1.3.1 - checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + checksum: e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f languageName: node linkType: hard @@ -39262,7 +39698,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 @@ -39270,13 +39706,13 @@ __metadata: linkType: hard "pure-rand@npm:^6.0.0": - version: 6.0.4 - resolution: "pure-rand@npm:6.0.4" - checksum: e1c4e69f8bf7303e5252756d67c3c7551385cd34d94a1f511fe099727ccbab74c898c03a06d4c4a24a89b51858781057b83ebbfe740d984240cdc04fead36068 + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 8d53bc02bed99eca0b65b505090152ee7e9bd67dd74f8ff32ba1c883b87234067c5bf68d2614759fb217d82594d7a92919e6df80f97885e7b12b42af4bd3316a languageName: node linkType: hard -"qs@npm:6.13.0, qs@npm:^6.10.1, qs@npm:^6.10.3, qs@npm:^6.11.0, qs@npm:^6.11.2, qs@npm:^6.9.1, qs@npm:^6.9.3, qs@npm:^6.9.4": +"qs@npm:6.13.0": version: 6.13.0 resolution: "qs@npm:6.13.0" dependencies: @@ -39285,6 +39721,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:^6.10.1, qs@npm:^6.10.3, qs@npm:^6.11.0, qs@npm:^6.12.2, qs@npm:^6.12.3, qs@npm:^6.9.1, qs@npm:^6.9.3, qs@npm:^6.9.4": + version: 6.14.0 + resolution: "qs@npm:6.14.0" + dependencies: + side-channel: ^1.1.0 + checksum: 189b52ad4e9a0da1a16aff4c58b2a554a8dad9bd7e287c7da7446059b49ca2e33a49e570480e8be406b87fccebf134f51c373cbce36c8c83859efa0c9b71d635 + languageName: node + linkType: hard + "qs@npm:~6.5.2": version: 6.5.3 resolution: "qs@npm:6.5.3" @@ -39292,18 +39737,6 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^7.0.0": - version: 7.1.3 - resolution: "query-string@npm:7.1.3" - dependencies: - decode-uri-component: ^0.2.2 - filter-obj: ^1.1.0 - split-on-first: ^1.0.0 - strict-uri-encode: ^2.0.0 - checksum: 91af02dcd9cc9227a052841d5c2eecb80a0d6489d05625df506a097ef1c59037cfb5e907f39b84643cbfd535c955abec3e553d0130a7b510120c37d06e0f4346 - languageName: node - linkType: hard - "querystring-es3@npm:^0.2.0": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" @@ -39361,9 +39794,9 @@ __metadata: linkType: hard "rambda@npm:^9.1.0": - version: 9.2.1 - resolution: "rambda@npm:9.2.1" - checksum: d877b61f2c1e8a1878ca1e40a181702b360f6c3978bf0e55e62315a1aa215863b7ecb8f00077e2bc0f1ca0d455387fafd7a84b5c8dd004eb3cf071b15827cff7 + version: 9.4.2 + resolution: "rambda@npm:9.4.2" + checksum: 62356e54716f514eb6cc655bda19a6d799436d5418687deec5fedfa60f1b545e257d95c7c0c21f08f1583bfac5275f0547454f32c50341499f3f70393d9ba376 languageName: node linkType: hard @@ -39419,7 +39852,7 @@ __metadata: languageName: node linkType: hard -"randomfill@npm:^1.0.3": +"randomfill@npm:^1.0.4": version: 1.0.4 resolution: "randomfill@npm:1.0.4" dependencies: @@ -39436,7 +39869,7 @@ __metadata: languageName: node linkType: hard -"rate-limiter-flexible@npm:^4.0.0": +"rate-limiter-flexible@npm:^4.0.1": version: 4.0.1 resolution: "rate-limiter-flexible@npm:4.0.1" checksum: 88cb4ae4c6a94646eb4987f08ae203896fc340d84038e145958607ab711d9c703e47e55f177a4bf9bab4c637c73ee2254fffe2ec4e289d41389c8502194ca868 @@ -39496,15 +39929,15 @@ __metadata: linkType: hard "rc-util@npm:^5.16.1": - version: 5.38.2 - resolution: "rc-util@npm:5.38.2" + version: 5.44.3 + resolution: "rc-util@npm:5.44.3" dependencies: "@babel/runtime": ^7.18.3 react-is: ^18.2.0 peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 104a76bb013e0ebe456e6ad6a0af0abe2e10a782f9e8a7802709f254ff5181142cc5c4c877cc05e4faccf2a30b94cc053d211dda88d8a29b118baceacc128c5a + checksum: e4cc88e5e36559fb47f26b5d6147915f9d17fea72db6c9a0b99b65e2b7f56ab906cd1696f37d82c0ea7e437665dfdaf082d8b4a8a2c2d9663e4fcb948c583728 languageName: node linkType: hard @@ -39523,12 +39956,12 @@ __metadata: linkType: hard "re-resizable@npm:^6.9.0": - version: 6.9.11 - resolution: "re-resizable@npm:6.9.11" + version: 6.10.3 + resolution: "re-resizable@npm:6.10.3" peerDependencies: - react: ^16.13.1 || ^17.0.0 || ^18.0.0 - react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 - checksum: 04be62e2985caff8ff082664b9b66d7c49df383a9560e691f32f583cba75ce51077be8b718c5cda5a1fa07e701337102cbd9ff5b03a58541d9092f25753f47f7 + react: ^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: b0334713d66de1271716e3023f021a7fc288edf6588291ead1254cc738dc137bb33bae83da6e7703893030c3f1d9f9e11bc2ef5b661451ff1d2c69d232f48593 languageName: node linkType: hard @@ -39681,20 +40114,7 @@ __metadata: languageName: node linkType: hard -"react-dropzone@npm:^14.2.3": - version: 14.2.3 - resolution: "react-dropzone@npm:14.2.3" - dependencies: - attr-accept: ^2.2.2 - file-selector: ^0.6.0 - prop-types: ^15.8.1 - peerDependencies: - react: ">= 16.8 || 18.0.0" - checksum: 174b744d5ca898cf3d84ec1aeb6cef5211c446697e45dc8ece8287a03d291f8d07253206d5a1247ef156fd385d65e7de666d4d5c2986020b8543b8f2434e8b40 - languageName: node - linkType: hard - -"react-dropzone@npm:^14.3.5": +"react-dropzone@npm:^14.2.3, react-dropzone@npm:^14.3.5": version: 14.3.5 resolution: "react-dropzone@npm:14.3.5" dependencies: @@ -39718,6 +40138,17 @@ __metadata: languageName: node linkType: hard +"react-error-boundary@npm:^4.1.2": + version: 4.1.2 + resolution: "react-error-boundary@npm:4.1.2" + dependencies: + "@babel/runtime": ^7.12.5 + peerDependencies: + react: ">=16.13.1" + checksum: afe692f1bbbfb5998b49e1001d7682a3cbfdc623dca1318b408e738606f3450d925c28fbbfa5dc84d2cf285d17c2e7f079d59386a27da354dea9c902a935149b + languageName: node + linkType: hard + "react-error-overlay@npm:^6.0.11": version: 6.0.11 resolution: "react-error-overlay@npm:6.0.11" @@ -39787,11 +40218,11 @@ __metadata: linkType: hard "react-hook-form@npm:^7.12.2": - version: 7.50.1 - resolution: "react-hook-form@npm:7.50.1" + version: 7.54.2 + resolution: "react-hook-form@npm:7.54.2" peerDependencies: - react: ^16.8.0 || ^17 || ^18 - checksum: 40dcb64d2ff631f6da76db2c5788957da3429f07649a6f3aed76545c616fae8eee557a6b06d0d0842be1f80ac8244f44d87f4d8d83fddabec76d7ab9921f8781 + react: ^16.8.0 || ^17 || ^18 || ^19 + checksum: 49a867ece9894dca82f6552e5eefd012b7db962c56a7543f9275ae0b6ec202d549973c3694e7f97436afc2396549cb8fc8777241dd660b71793547aa9c8e5686 languageName: node linkType: hard @@ -39891,8 +40322,8 @@ __metadata: linkType: hard "react-markdown@npm:^9.0.1": - version: 9.0.1 - resolution: "react-markdown@npm:9.0.1" + version: 9.0.3 + resolution: "react-markdown@npm:9.0.3" dependencies: "@types/hast": ^3.0.0 devlop: ^1.0.0 @@ -39907,7 +40338,7 @@ __metadata: peerDependencies: "@types/react": ">=18" react: ">=18" - checksum: ca1daa650d48b84a5a9771683cdb3f3d2d418247ce0faf73ede3207c65f2a21cdebb9df37afda67f6fc8f0f0a7b9ce00eb239781954a4d6c7ad88ea4df068add + checksum: 7ebb01b295f7c9acddcd305308a8531c58c582c24fb8d6a4897f16b21ba0bd7e9e20ddae4a9024767e910310d22db0003489b61478cdb491a3d802343cf3a931 languageName: node linkType: hard @@ -39927,14 +40358,12 @@ __metadata: linkType: hard "react-minimal-pie-chart@npm:^8.2.0": - version: 8.4.0 - resolution: "react-minimal-pie-chart@npm:8.4.0" - dependencies: - "@types/svg-path-parser": ^1.1.3 + version: 8.4.1 + resolution: "react-minimal-pie-chart@npm:8.4.1" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18 react-dom: ^16.8.0 || ^17.0.0 || ^18 - checksum: 46c52805a3c27c2804873ad74eee5dcacf8b30ebbacbb83f1fffcf935e868dc6b2aa0dbb2451ce6ddf7b122fc75f33860bc53d6486b76c270087ecd6aedbc835 + checksum: 6680386878efe8aa4316723994f9c6eaaf651a4205bd953f5c199020c570ff16d10b49d13f1e795de4b94297e8a1e3355bf45a299686964fa1f59957ffb31267 languageName: node linkType: hard @@ -39967,28 +40396,28 @@ __metadata: linkType: hard "react-redux@npm:^9.1.2": - version: 9.1.2 - resolution: "react-redux@npm:9.1.2" + version: 9.2.0 + resolution: "react-redux@npm:9.2.0" dependencies: - "@types/use-sync-external-store": ^0.0.3 - use-sync-external-store: ^1.0.0 + "@types/use-sync-external-store": ^0.0.6 + use-sync-external-store: ^1.4.0 peerDependencies: - "@types/react": ^18.2.25 - react: ^18.0 + "@types/react": ^18.2.25 || ^19 + react: ^18.0 || ^19 redux: ^5.0.0 peerDependenciesMeta: "@types/react": optional: true redux: optional: true - checksum: 1ee9cf41f29f68267320b4fc3bcf6a76a3825c82441612582678ddd827a2b60834f687d2a8b755c905885dfce476a1eb41af42b36f4dd71f8ee9991296a1e515 + checksum: 96dfe2929561d7c98d4443722738e4595f08758bde27b7bc20cd98ba9b0dfe9b81b9fa17b6888be94a0c1d2d1305397ae493a8219698536d011a941589eb82bd languageName: node linkType: hard "react-refresh@npm:^0.14.0": - version: 0.14.0 - resolution: "react-refresh@npm:0.14.0" - checksum: dc69fa8c993df512f42dd0f1b604978ae89bd747c0ed5ec595c0cc50d535fb2696619ccd98ae28775cc01d0a7c146a532f0f7fb81dc22e1977c242a4912312f4 + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: d80db4bd40a36dab79010dc8aa317a5b931f960c0d83c4f3b81f0552cbcf7f29e115b84bb7908ec6a1eb67720fff7023084eff73ece8a7ddc694882478464382 languageName: node linkType: hard @@ -40001,38 +40430,38 @@ __metadata: languageName: node linkType: hard -"react-remove-scroll-bar@npm:^2.3.3": - version: 2.3.5 - resolution: "react-remove-scroll-bar@npm:2.3.5" +"react-remove-scroll-bar@npm:^2.3.7": + version: 2.3.8 + resolution: "react-remove-scroll-bar@npm:2.3.8" dependencies: - react-style-singleton: ^2.2.1 + react-style-singleton: ^2.2.2 tslib: ^2.0.0 peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 0b6eee6d338085f0c766dc6d780100041a39377bc1a2a1b99a13444832b91885fc632b7521636a29d26710cf8bb0f9f4177123abe088a358597ac0f0e8e42f45 + checksum: c4663247f689dbe51c370836edf735487f6d8796acb7f15b09e8a1c14e84c7997360e8e3d54de2bc9c0e782fed2b2c4127d15b4053e4d2cf26839e809e57605f languageName: node linkType: hard -"react-remove-scroll@npm:2.5.5": - version: 2.5.5 - resolution: "react-remove-scroll@npm:2.5.5" +"react-remove-scroll@npm:^2.6.1": + version: 2.6.2 + resolution: "react-remove-scroll@npm:2.6.2" dependencies: - react-remove-scroll-bar: ^2.3.3 + react-remove-scroll-bar: ^2.3.7 react-style-singleton: ^2.2.1 tslib: ^2.1.0 - use-callback-ref: ^1.3.0 + use-callback-ref: ^1.3.3 use-sidecar: ^1.1.2 peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 2c7fe9cbd766f5e54beb4bec2e2efb2de3583037b23fef8fa511ab426ed7f1ae992382db5acd8ab5bfb030a4b93a06a2ebca41377d6eeaf0e6791bb0a59616a4 + checksum: 310e6e6d2f28226a1751dc5084a2dce49167f0b69e3d78d6510f329f423ee313d4f6477f5e1adccb68baef40a7af75541e980a8c398cb82ea0d3573e514e8124 languageName: node linkType: hard @@ -40093,35 +40522,35 @@ __metadata: languageName: node linkType: hard -"react-style-singleton@npm:^2.2.1": - version: 2.2.1 - resolution: "react-style-singleton@npm:2.2.1" +"react-style-singleton@npm:^2.2.1, react-style-singleton@npm:^2.2.2": + version: 2.2.3 + resolution: "react-style-singleton@npm:2.2.3" dependencies: get-nonce: ^1.0.0 - invariant: ^2.2.4 tslib: ^2.0.0 peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 7ee8ef3aab74c7ae1d70ff34a27643d11ba1a8d62d072c767827d9ff9a520905223e567002e0bf6c772929d8ea1c781a3ba0cc4a563e92b1e3dc2eaa817ecbe8 + checksum: a7b0bf493c9231065ebafa84c4237aed997c746c561196121b7de82fe155a5355b372db5070a3ac9fe980cf7f60dc0f1e8cf6402a2aa5b2957392932ccf76e76 languageName: node linkType: hard "react-syntax-highlighter@npm:^15.4.5, react-syntax-highlighter@npm:^15.5.0": - version: 15.5.0 - resolution: "react-syntax-highlighter@npm:15.5.0" + version: 15.6.1 + resolution: "react-syntax-highlighter@npm:15.6.1" dependencies: "@babel/runtime": ^7.3.1 highlight.js: ^10.4.1 + highlightjs-vue: ^1.0.0 lowlight: ^1.17.0 prismjs: ^1.27.0 refractor: ^3.6.0 peerDependencies: react: ">= 0.14.0" - checksum: c082b48f30f8ba8d0c55ed1d761910630860077c7ff5793c4c912adcb5760df06436ed0ad62be0de28113aac9ad2af55eccd995f8eee98df53382e4ced2072fb + checksum: 417b6f1f2e0c1e00dcc12d34da457b94c7419345306a951d0a8d2d031a0c964179d6b700137870ad1397572cbc3a4454e94de7bbef914a81674edae2098f02dc languageName: node linkType: hard @@ -40150,7 +40579,7 @@ __metadata: languageName: node linkType: hard -"react-use@npm:17.5.1, react-use@npm:^17.2.4, react-use@npm:^17.3.2, react-use@npm:^17.4.0, react-use@npm:^17.5.0": +"react-use@npm:17.5.1": version: 17.5.1 resolution: "react-use@npm:17.5.1" dependencies: @@ -40175,26 +40604,51 @@ __metadata: languageName: node linkType: hard +"react-use@npm:^17.2.4, react-use@npm:^17.3.2, react-use@npm:^17.4.0, react-use@npm:^17.5.0": + version: 17.6.0 + resolution: "react-use@npm:17.6.0" + dependencies: + "@types/js-cookie": ^2.2.6 + "@xobotyi/scrollbar-width": ^1.9.5 + copy-to-clipboard: ^3.3.1 + fast-deep-equal: ^3.1.3 + fast-shallow-equal: ^1.0.0 + js-cookie: ^2.2.1 + nano-css: ^5.6.2 + react-universal-interface: ^0.6.2 + resize-observer-polyfill: ^1.5.1 + screenfull: ^5.1.0 + set-harmonic-interval: ^1.0.1 + throttle-debounce: ^3.0.1 + ts-easing: ^0.2.0 + tslib: ^2.1.0 + peerDependencies: + react: "*" + react-dom: "*" + checksum: c76de18b56b554bfbb28199e4ad4098f4e4ab15f0d3cefef661a7a5e6a4c167ae85390fc7bc648c34b80c17498abf1e8223d7078f3e51c09e4da70e11a41a54e + languageName: node + linkType: hard + "react-virtualized-auto-sizer@npm:^1.0.11": - version: 1.0.23 - resolution: "react-virtualized-auto-sizer@npm:1.0.23" + version: 1.0.25 + resolution: "react-virtualized-auto-sizer@npm:1.0.25" peerDependencies: - react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 - react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 - checksum: a5b37b2201f09f957d2398f1415fcec9b2aa0cbfb75ae193bd324a0bc5ef00dc30d3a40f60b31fe5a450d8ec66c0911213f9f3be0e8410ae1b180547030fd8e8 + react: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 1d325db5bf78fd4a6a8df90fccc9a50b29c648d899d2ce779159903c7eaba2a98254e6436ca6d366b89c44c8b2de7042425dd36d17874d2b51a2455557423c3a languageName: node linkType: hard "react-window@npm:^1.8.10, react-window@npm:^1.8.6": - version: 1.8.10 - resolution: "react-window@npm:1.8.10" + version: 1.8.11 + resolution: "react-window@npm:1.8.11" dependencies: "@babel/runtime": ^7.0.0 memoize-one: ">=3.1.1 <6" peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: e8830f32e3ad4bf91af9cdc5cead84148c7694ce6abd9fdb447fb609da6cd4bbd0bbc75ff985f78828f4bbbd3ba4cbc98235cc9c056b5e5787578518f7fafbb9 + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 04f0835869fbc1dc69637416e91bd7dfd462dcb9bf33ed2db4b4a515116c7a1c1ded3ca5e6df8d9a9ea3ec4f34e8e05f642d50f969bb495a9e11906d6a8cc418 languageName: node linkType: hard @@ -40239,7 +40693,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -40255,15 +40709,15 @@ __metadata: linkType: hard "readable-stream@npm:^4.0.0": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" + version: 4.7.0 + resolution: "readable-stream@npm:4.7.0" dependencies: abort-controller: ^3.0.0 buffer: ^6.0.3 events: ^3.3.0 process: ^0.11.10 string_decoder: ^1.3.0 - checksum: c4030ccff010b83e4f33289c535f7830190773e274b3fcb6e2541475070bdfd69c98001c3b0cb78763fc00c8b62f514d96c2b10a8bd35d5ce45203a25fa1d33a + checksum: 03ec762faed8e149dc6452798b60394a8650861a1bb4bf936fa07b94044826bc25abe73696f5f45372abc404eec01876c560f64b479eba108b56397312dbe2ae languageName: node linkType: hard @@ -40316,8 +40770,8 @@ __metadata: version: 0.0.0-use.local resolution: "red-hat-developer-hub-backstage-plugin-bulk-import-backend@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@red-hat-developer-hub/backstage-plugin-bulk-import-backend": 5.2.0 typescript: 5.7.3 languageName: unknown @@ -40327,8 +40781,8 @@ __metadata: version: 0.0.0-use.local resolution: "red-hat-developer-hub-backstage-plugin-bulk-import@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-bulk-import" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 "@red-hat-developer-hub/backstage-plugin-bulk-import": 1.10.3 typescript: 5.7.3 @@ -40339,8 +40793,8 @@ __metadata: version: 0.0.0-use.local resolution: "red-hat-developer-hub-backstage-plugin-dynamic-home-page@workspace:dynamic-plugins/wrappers/red-hat-developer-hub-backstage-plugin-dynamic-home-page" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@mui/material": 5.16.14 "@red-hat-developer-hub/backstage-plugin-dynamic-home-page": 1.0.1 typescript: 5.7.3 @@ -40373,6 +40827,20 @@ __metadata: languageName: node linkType: hard +"redis@npm:^4.7.0": + version: 4.7.0 + resolution: "redis@npm:4.7.0" + dependencies: + "@redis/bloom": 1.2.0 + "@redis/client": 1.6.0 + "@redis/graph": 1.1.1 + "@redis/json": 1.0.7 + "@redis/search": 1.2.0 + "@redis/time-series": 1.1.0 + checksum: 625172dd913118241288c33f351cda42630819bc82a1dc31f22e1d3e0a4267075ecb851aecfaf106a0c73ff287a434a3df3d2a8ce46713acf68d34d66efc39ec + languageName: node + linkType: hard + "redux-immutable@npm:^4.0.0": version: 4.0.0 resolution: "redux-immutable@npm:4.0.0" @@ -40406,24 +40874,25 @@ __metadata: linkType: hard "reflect-metadata@npm:^0.2.1": - version: 0.2.1 - resolution: "reflect-metadata@npm:0.2.1" - checksum: 772f552a544e04b999c1bf2c868225fef10032274e9d9e315bc3e7a687a504b8b115fa71966665b9619acfd323123a941f892b593250140da809330d41564181 + version: 0.2.2 + resolution: "reflect-metadata@npm:0.2.2" + checksum: a66c7b583e4efdd8f3c3124fbff33da2d0c86d8280617516308b32b2159af7a3698c961db3246387f56f6316b1d33a608f39bb2b49d813316dfc58f6d3bf3210 languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.5 - resolution: "reflect.getprototypeof@npm:1.0.5" +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" dependencies: - call-bind: ^1.0.5 + call-bind: ^1.0.8 define-properties: ^1.2.1 - es-abstract: ^1.22.3 - es-errors: ^1.0.0 - get-intrinsic: ^1.2.3 - globalthis: ^1.0.3 - which-builtin-type: ^1.1.3 - checksum: c7176be030b89b9e55882f4da3288de5ffd187c528d79870e27d2c8a713a82b3fa058ca2d0c9da25f6d61240e2685c42d7daa32cdf3d431d8207ee1b9ed30993 + es-abstract: ^1.23.9 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.7 + get-proto: ^1.0.1 + which-builtin-type: ^1.2.1 + checksum: ccc5debeb66125e276ae73909cecb27e47c35d9bb79d9cc8d8d055f008c58010ab8cb401299786e505e4aab733a64cba9daf5f312a58e96a43df66adad221870 languageName: node linkType: hard @@ -40445,12 +40914,12 @@ __metadata: languageName: node linkType: hard -"regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.1 - resolution: "regenerate-unicode-properties@npm:10.1.1" +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" dependencies: regenerate: ^1.4.2 - checksum: b80958ef40f125275824c2c47d5081dfaefebd80bff26c76761e9236767c748a4a95a69c053fe29d2df881177f2ca85df4a71fe70a82360388b31159ef19adcf + checksum: d5c5fc13f8b8d7e16e791637a4bfef741f8d70e267d51845ee7d5404a32fa14c75b181c4efba33e4bff8b0000a2f13e9773593713dfe5b66597df4259275ce63 languageName: node linkType: hard @@ -40491,38 +40960,40 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" +"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.3": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: - call-bind: ^1.0.6 + call-bind: ^1.0.8 define-properties: ^1.2.1 es-errors: ^1.3.0 - set-function-name: ^2.0.1 - checksum: d7f333667d5c564e2d7a97c56c3075d64c722c9bb51b2b4df6822b2e8096d623a5e63088fb4c83df919b6951ef8113841de8b47de7224872fa6838bc5d8a7d64 + get-proto: ^1.0.1 + gopd: ^1.2.0 + set-function-name: ^2.0.2 + checksum: 18cb667e56cb328d2dda569d7f04e3ea78f2683135b866d606538cf7b1d4271f7f749f09608c877527799e6cf350e531368f3c7a20ccd1bb41048a48926bdeeb languageName: node linkType: hard -"regexpu-core@npm:^5.3.1": - version: 5.3.2 - resolution: "regexpu-core@npm:5.3.2" +"regexpu-core@npm:^6.2.0": + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" dependencies: - "@babel/regjsgen": ^0.8.0 regenerate: ^1.4.2 - regenerate-unicode-properties: ^10.1.0 - regjsparser: ^0.9.1 + regenerate-unicode-properties: ^10.2.0 + regjsgen: ^0.8.0 + regjsparser: ^0.12.0 unicode-match-property-ecmascript: ^2.0.0 unicode-match-property-value-ecmascript: ^2.1.0 - checksum: 95bb97088419f5396e07769b7de96f995f58137ad75fac5811fb5fe53737766dfff35d66a0ee66babb1eb55386ef981feaef392f9df6d671f3c124812ba24da2 + checksum: 67d3c4a3f6c99bc80b5d690074a27e6f675be1c1739f8a9acf028fbc36f1a468472574ea65e331e217995198ba4404d7878f3cb3739a73552dd3c70d3fb7f8e6 languageName: node linkType: hard "registry-auth-token@npm:^5.0.2": - version: 5.0.2 - resolution: "registry-auth-token@npm:5.0.2" + version: 5.0.3 + resolution: "registry-auth-token@npm:5.0.3" dependencies: "@pnpm/npm-conf": ^2.1.0 - checksum: 0d7683b71ee418993e7872b389024b13645c4295eb7bb850d10728eaf46065db24ea4d47dc6cbb71a60d1aa4bef077b0d8b7363c9ac9d355fdba47bebdfb01dd + checksum: 5976f822d6a55267319b011dd4c64ef037ffee038c97529d09ea619835afe59cf89d545ec6b393098de4d7ba7a44664ce740bc1820215a2a90c7d66a1e676f9f languageName: node linkType: hard @@ -40535,14 +41006,21 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.9.1": - version: 0.9.1 - resolution: "regjsparser@npm:0.9.1" +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: a1d925ff14a4b2be774e45775ee6b33b256f89c42d480e6d85152d2133f18bd3d6af662161b226fa57466f7efec367eaf7ccd2a58c0ec2a1306667ba2ad07b0d + languageName: node + linkType: hard + +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" dependencies: - jsesc: ~0.5.0 + jsesc: ~3.0.2 bin: regjsparser: bin/parser - checksum: 5e1b76afe8f1d03c3beaf9e0d935dd467589c3625f6d65fb8ffa14f224d783a0fed4bf49c2c1b8211043ef92b6117313419edf055a098ed8342e340586741afc + checksum: 094b55b0ab3e1fd58f8ce5132a1d44dab08d91f7b0eea4132b0157b303ebb8ded20a9cbd893d25402d2aeddb23fac1f428ab4947b295d6fa51dd1c334a9e76f0 languageName: node linkType: hard @@ -40626,25 +41104,26 @@ __metadata: linkType: hard "remark-rehype@npm:^11.0.0": - version: 11.1.0 - resolution: "remark-rehype@npm:11.1.0" + version: 11.1.1 + resolution: "remark-rehype@npm:11.1.1" dependencies: "@types/hast": ^3.0.0 "@types/mdast": ^4.0.0 mdast-util-to-hast: ^13.0.0 unified: ^11.0.0 vfile: ^6.0.0 - checksum: f0c731f0ab92a122e7f9c9bcbd10d6a31fdb99f0ea3595d232ddd9f9d11a308c4ec0aff4d56e1d0d256042dfad7df23b9941e50b5038da29786959a5926814e1 + checksum: e199dff098ae6a560e13dd1778dec9c61440f979cc931c4ca4dcde0d58e51c0723243a901c1842379b189083cf4d74f224f57833738095ffa9535179d7cf3f01 languageName: node linkType: hard "remark-remove-comments@npm:^1.0.1": - version: 1.0.1 - resolution: "remark-remove-comments@npm:1.0.1" + version: 1.1.1 + resolution: "remark-remove-comments@npm:1.1.1" dependencies: html-comment-regex: ^1.1.2 - unist-util-visit: ^4.1.1 - checksum: 92170406f2db1b60dbf7a90f61bdcfabb03063d5e63202b22c3965441bf8ae7e352cba625c592c5b3e50a5c7c2ccd8b7a065ab1d85d98f2a1c52d1e247757425 + unist-util-visit: ^5.0.0 + vfile: ^6.0.3 + checksum: 2aa8a52551f103f5b7fae41c972f8cdacf9cacb2f5206927417176f0b075a00a06c092e784264a5328b0096e424f2873dbcb5303f3542020a0462e3a0249cc90 languageName: node linkType: hard @@ -40723,15 +41202,15 @@ __metadata: linkType: hard "replace-in-file@npm:^7.1.0": - version: 7.1.0 - resolution: "replace-in-file@npm:7.1.0" + version: 7.2.0 + resolution: "replace-in-file@npm:7.2.0" dependencies: chalk: ^4.1.2 glob: ^8.1.0 yargs: ^17.7.2 bin: replace-in-file: bin/cli.js - checksum: 2ed61bd0cf0752b18775b52342ad36f4ee6c806f7eca0b0d085c23bafe0cb4828e4ec8f59058bde6b67d2ed5ac51e1681284f586089b58b966e2489712830db0 + checksum: 773cfff187a404a293ed0f8ee433fa6c14230b96c506455bd3a880a217b3a3ec31791b8acb3e32a629286e6d8a7825b94255f443d0873c52cb7593b05cda52ba languageName: node linkType: hard @@ -40795,10 +41274,10 @@ __metadata: languageName: node linkType: hard -"reselect@npm:^5.1.0": - version: 5.1.0 - resolution: "reselect@npm:5.1.0" - checksum: 5bc9c5d03d7caea00d0c0e24330bf23d91801227346fec1cef6a60988ab8d3dd7cee76e6994ca0915bc1c20845bb2bd929b95753763e0a9db74c0f9dff5cb845 +"reselect@npm:^5.1.1": + version: 5.1.1 + resolution: "reselect@npm:5.1.1" + checksum: 5d32d48be29071ddda21a775945c2210cf4ca3fccde1c4a0e1582ac3bf99c431c6c2330ef7ca34eae4c06feea617e7cb2c275c4b33ccf9a930836dfc98b49b13 languageName: node linkType: hard @@ -40809,7 +41288,7 @@ __metadata: languageName: node linkType: hard -"resolve-alpn@npm:^1.0.0, resolve-alpn@npm:^1.2.0": +"resolve-alpn@npm:^1.2.0": version: 1.2.1 resolution: "resolve-alpn@npm:1.2.1" checksum: f558071fcb2c60b04054c99aebd572a2af97ef64128d59bef7ab73bd50d896a222a056de40ffc545b633d99b304c259ea9d0c06830d5c867c34f0bfa60b8eae0 @@ -40857,13 +41336,13 @@ __metadata: linkType: hard "resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 1c7778ca1b86a94f8ab4055d196c7d87d1874b96df4d7c3e67bbf793140f0717fd506dcafd62785b079cd6086b9264424ad634fb904409764c3509c3df1653f2 + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: abfb9f98278dcd0c19b8a49bb486abfafa23df4636d49128ea270dc982053c3ef230a530aecda1fae1322873fdfa6c97674fc539651ddfdb375ac58e0b8ef6df languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8": +"resolve@npm:1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -40876,7 +41355,20 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.4": +"resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.4, resolve@npm:^1.22.8": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: ^2.16.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: ab7a32ff4046fcd7c6fdd525b24a7527847d03c3650c733b909b01b757f92eb23510afa9cc3e9bf3f26a3e073b48c88c706dfd4c1d2fb4a16a96b73b6328ddcf + languageName: node + linkType: hard + +"resolve@npm:^2.0.0-next.5": version: 2.0.0-next.5 resolution: "resolve@npm:2.0.0-next.5" dependencies: @@ -40889,7 +41381,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@1.22.8#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.22.8#~builtin": +"resolve@patch:resolve@1.22.8#~builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -40902,25 +41394,29 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^2.0.0-next.4#~builtin": - version: 2.0.0-next.5 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" +"resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@^1.22.8#~builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#~builtin::version=1.22.10&hash=c3c19d" dependencies: - is-core-module: ^2.13.0 + is-core-module: ^2.16.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 064d09c1808d0c51b3d90b5d27e198e6d0c5dad0eb57065fd40803d6a20553e5398b07f76739d69cbabc12547058bec6b32106ea66622375fb0d7e8fca6a846c + checksum: 8aac1e4e4628bd00bf4b94b23de137dd3fe44097a8d528fd66db74484be929936e20c696e1a3edf4488f37e14180b73df6f600992baea3e089e8674291f16c9d languageName: node linkType: hard -"responselike@npm:^2.0.0": - version: 2.0.1 - resolution: "responselike@npm:2.0.1" +"resolve@patch:resolve@^2.0.0-next.5#~builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" dependencies: - lowercase-keys: ^2.0.0 - checksum: b122535466e9c97b55e69c7f18e2be0ce3823c5d47ee8de0d9c0b114aa55741c6db8bfbfce3766a94d1272e61bfb1ebf0a15e9310ac5629fbb7446a861b4fd3a + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 064d09c1808d0c51b3d90b5d27e198e6d0c5dad0eb57065fd40803d6a20553e5398b07f76739d69cbabc12547058bec6b32106ea66622375fb0d7e8fca6a846c languageName: node linkType: hard @@ -40991,9 +41487,9 @@ __metadata: linkType: hard "rfc4648@npm:^1.3.0": - version: 1.5.3 - resolution: "rfc4648@npm:1.5.3" - checksum: 19c81d502582e377125b00fbd7a5cdb0e351f9a1e40182fa9f608b48e1ab852d211b75facb2f4f3fa17f7c6ebc2ef4acca61ae7eb7fbcfa4768f11d2db678116 + version: 1.5.4 + resolution: "rfc4648@npm:1.5.4" + checksum: 4bfd555f16b8ed1bceb3cf4d79242cf3253a2600de51f45ac19549f366b4b8edc0d9b8feaae778059c137f1d10ebd87e125fc839636f6267a7b6badaa95a9f00 languageName: node linkType: hard @@ -41027,13 +41523,13 @@ __metadata: linkType: hard "rimraf@npm:^5.0.5": - version: 5.0.7 - resolution: "rimraf@npm:5.0.7" + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" dependencies: glob: ^10.3.7 bin: rimraf: dist/esm/bin.mjs - checksum: 884852abf8aefd4667448d87bdab04120a8641266c828cf382ac811713547eda18f81799d2146ffec3178f357d83d44ec01c10095949c82e23551660732bf14f + checksum: 50e27388dd2b3fa6677385fc1e2966e9157c89c86853b96d02e6915663a96b7ff4d590e14f6f70e90f9b554093aa5dbc05ac3012876be558c06a65437337bc05 languageName: node linkType: hard @@ -41051,8 +41547,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-argo-cd-backend@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd-backend-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-argo-cd-backend": 3.2.3 typescript: 5.7.3 languageName: unknown @@ -41062,8 +41558,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-argo-cd@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-argo-cd" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-argo-cd": 2.8.4 typescript: 5.7.3 languageName: unknown @@ -41073,8 +41569,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-datadog@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-datadog" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-datadog": 2.4.0 typescript: 5.7.3 languageName: unknown @@ -41084,8 +41580,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-github-insights@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-insights" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-github-insights": 2.5.1 typescript: 5.7.3 languageName: unknown @@ -41095,8 +41591,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-github-pull-requests@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-github-pull-requests" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-github-pull-requests": 2.6.0 typescript: 5.7.3 languageName: unknown @@ -41106,8 +41602,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-jira@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-jira" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-jira": 2.8.0 typescript: 5.7.3 languageName: unknown @@ -41117,8 +41613,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-backstage-plugin-security-insights@workspace:dynamic-plugins/wrappers/roadiehq-backstage-plugin-security-insights" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/backstage-plugin-security-insights": 2.4.0 typescript: 5.7.3 languageName: unknown @@ -41128,8 +41624,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-scaffolder-backend-argocd@workspace:dynamic-plugins/wrappers/roadiehq-scaffolder-backend-argocd-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/scaffolder-backend-argocd": 1.2.0 typescript: 5.7.3 languageName: unknown @@ -41139,8 +41635,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-scaffolder-backend-module-http-request@workspace:dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-http-request-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/scaffolder-backend-module-http-request": 5.0.0 typescript: 5.7.3 languageName: unknown @@ -41150,8 +41646,8 @@ __metadata: version: 0.0.0-use.local resolution: "roadiehq-scaffolder-backend-module-utils@workspace:dynamic-plugins/wrappers/roadiehq-scaffolder-backend-module-utils-dynamic" dependencies: - "@backstage/cli": 0.28.2 - "@janus-idp/cli": 1.18.5 + "@backstage/cli": 0.29.4 + "@janus-idp/cli": 3.0.0 "@roadiehq/scaffolder-backend-module-utils": 3.0.0 typescript: 5.7.3 languageName: unknown @@ -41195,18 +41691,18 @@ __metadata: linkType: hard "rollup-plugin-dts@npm:^6.1.0": - version: 6.1.0 - resolution: "rollup-plugin-dts@npm:6.1.0" + version: 6.1.1 + resolution: "rollup-plugin-dts@npm:6.1.1" dependencies: - "@babel/code-frame": ^7.22.13 - magic-string: ^0.30.4 + "@babel/code-frame": ^7.24.2 + magic-string: ^0.30.10 peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependenciesMeta: "@babel/code-frame": optional: true - checksum: a90f8e975e4515734c84fa17e0feaf8fdd9ed9368722c3908687875903a393cba4d07d9934bae9b91a0c1b6c63ac1ef0ccd7363d3e6e4dc10eabca3540be9f11 + checksum: e69da1a286570f5a8d990651a613b2063543a71ad3b3471a97e74ea328125ebee77a74b2c800031f8dcccdc92da0d086f833724d13a2c863a2cbdf7e8fc20329 languageName: node linkType: hard @@ -41274,8 +41770,8 @@ __metadata: linkType: hard "rollup@npm:^2.78.0": - version: 2.79.1 - resolution: "rollup@npm:2.79.1" + version: 2.79.2 + resolution: "rollup@npm:2.79.2" dependencies: fsevents: ~2.3.2 dependenciesMeta: @@ -41283,31 +41779,34 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 6a2bf167b3587d4df709b37d149ad0300692cc5deb510f89ac7bdc77c8738c9546ae3de9322b0968e1ed2b0e984571f5f55aae28fa7de4cfcb1bc5402a4e2be6 - languageName: node - linkType: hard - -"rollup@npm:^4.0.0": - version: 4.14.3 - resolution: "rollup@npm:4.14.3" - dependencies: - "@rollup/rollup-android-arm-eabi": 4.14.3 - "@rollup/rollup-android-arm64": 4.14.3 - "@rollup/rollup-darwin-arm64": 4.14.3 - "@rollup/rollup-darwin-x64": 4.14.3 - "@rollup/rollup-linux-arm-gnueabihf": 4.14.3 - "@rollup/rollup-linux-arm-musleabihf": 4.14.3 - "@rollup/rollup-linux-arm64-gnu": 4.14.3 - "@rollup/rollup-linux-arm64-musl": 4.14.3 - "@rollup/rollup-linux-powerpc64le-gnu": 4.14.3 - "@rollup/rollup-linux-riscv64-gnu": 4.14.3 - "@rollup/rollup-linux-s390x-gnu": 4.14.3 - "@rollup/rollup-linux-x64-gnu": 4.14.3 - "@rollup/rollup-linux-x64-musl": 4.14.3 - "@rollup/rollup-win32-arm64-msvc": 4.14.3 - "@rollup/rollup-win32-ia32-msvc": 4.14.3 - "@rollup/rollup-win32-x64-msvc": 4.14.3 - "@types/estree": 1.0.5 + checksum: df7aa4c8b95245dede157b06ab71e1921de6080757d30e9bf31f8fb142064d12dda865e2bafbab4349588f43425b2965a290c9a5da1c048246a70fc21734ebd7 + languageName: node + linkType: hard + +"rollup@npm:^4.0.0, rollup@npm:^4.27.3": + version: 4.30.1 + resolution: "rollup@npm:4.30.1" + dependencies: + "@rollup/rollup-android-arm-eabi": 4.30.1 + "@rollup/rollup-android-arm64": 4.30.1 + "@rollup/rollup-darwin-arm64": 4.30.1 + "@rollup/rollup-darwin-x64": 4.30.1 + "@rollup/rollup-freebsd-arm64": 4.30.1 + "@rollup/rollup-freebsd-x64": 4.30.1 + "@rollup/rollup-linux-arm-gnueabihf": 4.30.1 + "@rollup/rollup-linux-arm-musleabihf": 4.30.1 + "@rollup/rollup-linux-arm64-gnu": 4.30.1 + "@rollup/rollup-linux-arm64-musl": 4.30.1 + "@rollup/rollup-linux-loongarch64-gnu": 4.30.1 + "@rollup/rollup-linux-powerpc64le-gnu": 4.30.1 + "@rollup/rollup-linux-riscv64-gnu": 4.30.1 + "@rollup/rollup-linux-s390x-gnu": 4.30.1 + "@rollup/rollup-linux-x64-gnu": 4.30.1 + "@rollup/rollup-linux-x64-musl": 4.30.1 + "@rollup/rollup-win32-arm64-msvc": 4.30.1 + "@rollup/rollup-win32-ia32-msvc": 4.30.1 + "@rollup/rollup-win32-x64-msvc": 4.30.1 + "@types/estree": 1.0.6 fsevents: ~2.3.2 dependenciesMeta: "@rollup/rollup-android-arm-eabi": @@ -41318,6 +41817,10 @@ __metadata: optional: true "@rollup/rollup-darwin-x64": optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true "@rollup/rollup-linux-arm-musleabihf": @@ -41326,6 +41829,8 @@ __metadata: optional: true "@rollup/rollup-linux-arm64-musl": optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true "@rollup/rollup-linux-powerpc64le-gnu": optional: true "@rollup/rollup-linux-riscv64-gnu": @@ -41346,7 +41851,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: f5077037e8514e330db1451a92bf6d9d15b8634698b2e60f56d8d7f30df11cdacfcd1b350a1598ed6516383b5ed2bf3e5a0685e72f81bb2fdb4e630491d09b67 + checksum: 4a3df04dc639f36cb2d7746c829c4957a3df54b449171280a108c32c4f578677207f330e358c48637d7414ef30c1542964641c82bebc0643d5d5baee4044542e languageName: node linkType: hard @@ -41354,10 +41859,9 @@ __metadata: version: 0.0.0-use.local resolution: "root@workspace:." dependencies: - "@backstage/cli": 0.28.2 + "@backstage/cli": 0.29.4 "@ianvs/prettier-plugin-sort-imports": 4.4.1 "@manypkg/cli": 0.23.0 - "@spotify/prettier-config": 15.0.0 glob: 11.0.1 husky: 8.0.3 lint-staged: 15.4.1 @@ -41368,6 +41872,13 @@ __metadata: languageName: unknown linkType: soft +"rrweb-cssom@npm:^0.8.0": + version: 0.8.0 + resolution: "rrweb-cssom@npm:0.8.0" + checksum: b84912cd1fbab9c972bf3fd5ca27b492efb442cacb23b6fd5a5ef6508572a91e411d325692609bf758865bc38a01b876e343c552d0e2ae87d0ff9907d96ef622 + languageName: node + linkType: hard + "rtl-css-js@npm:^1.16.1": version: 1.16.1 resolution: "rtl-css-js@npm:1.16.1" @@ -41432,15 +41943,23 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.0": - version: 1.1.0 - resolution: "safe-array-concat@npm:1.1.0" +"safari-14-idb-fix@npm:^1.0.6": + version: 1.0.6 + resolution: "safari-14-idb-fix@npm:1.0.6" + checksum: 588cd632606ff0e47d64d0b71d88f9626f6187177a3187cb063a272ecb0412f7453f4e9321a9e731a1439b7830aa24f907e2338b402e1ef24e8d6a42f7ce8532 + languageName: node + linkType: hard + +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" dependencies: - call-bind: ^1.0.5 - get-intrinsic: ^1.2.2 - has-symbols: ^1.0.3 + call-bind: ^1.0.8 + call-bound: ^1.0.2 + get-intrinsic: ^1.2.6 + has-symbols: ^1.1.0 isarray: ^2.0.5 - checksum: 5c71eaa999168ee7474929f1cd3aae80f486353a651a094d9968936692cf90aa065224929a6486dcda66334a27dce4250a83612f9e0fef6dced1a925d3ac7296 + checksum: 00f6a68140e67e813f3ad5e73e6dedcf3e42a9fa01f04d44b0d3f7b1f4b257af876832a9bfc82ac76f307e8a6cc652e3cf95876048a26cbec451847cf6ae3707 languageName: node linkType: hard @@ -41465,14 +41984,24 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" dependencies: - call-bind: ^1.0.6 es-errors: ^1.3.0 - is-regex: ^1.1.4 - checksum: 6c7d392ff1ae7a3ae85273450ed02d1d131f1d2c76e177d6b03eb88e6df8fa062639070e7d311802c1615f351f18dc58f9454501c58e28d5ffd9b8f502ba6489 + isarray: ^2.0.5 + checksum: 8c11cbee6dc8ff5cc0f3d95eef7052e43494591384015902e4292aef4ae9e539908288520ed97179cee17d6ffb450fe5f05a46ce7a1749685f7524fd568ab5db + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.0.3, safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + is-regex: ^1.2.1 + checksum: 3c809abeb81977c9ed6c869c83aca6873ea0f3ab0f806b8edbba5582d51713f8a6e9757d24d2b4b088f563801475ea946c8e77e7713e8c65cdd02305b6caedab languageName: node linkType: hard @@ -41484,9 +42013,9 @@ __metadata: linkType: hard "safe-stable-stringify@npm:^2.2.0, safe-stable-stringify@npm:^2.3.1": - version: 2.4.3 - resolution: "safe-stable-stringify@npm:2.4.3" - checksum: 3aeb64449706ee1f5ad2459fc99648b131d48e7a1fbb608d7c628020177512dc9d94108a5cb61bbc953985d313d0afea6566d243237743e02870490afef04b43 + version: 2.5.0 + resolution: "safe-stable-stringify@npm:2.5.0" + checksum: d3ce103ed43c6c2f523e39607208bfb1c73aa48179fc5be53c3aa97c118390bffd4d55e012f5393b982b65eb3e0ee954dd57b547930d3f242b0053dcdb923d17 languageName: node linkType: hard @@ -41498,8 +42027,8 @@ __metadata: linkType: hard "sanitize-html@npm:^2.3.3": - version: 2.12.1 - resolution: "sanitize-html@npm:2.12.1" + version: 2.14.0 + resolution: "sanitize-html@npm:2.14.0" dependencies: deepmerge: ^4.2.2 escape-string-regexp: ^4.0.0 @@ -41507,23 +42036,14 @@ __metadata: is-plain-object: ^5.0.0 parse-srcset: ^1.0.2 postcss: ^8.3.11 - checksum: fb96ea7170d51b5af2607f5cfd84464c78fc6f47e339407f55783e781c6a0288a8d40bbf97ea6a8758924ba9b2d33dcc4846bb94caacacd90d7f2de10ed8541a + checksum: e8eb9ac1bd4d5d41cfbe647c506bdecaebb19932dc9acd044e6322a31ebdf2abc43213384d518f855d19b54782e136f1aa14b0e1ac79ffc9bdea9d47d2d5a812 languageName: node linkType: hard "sax@npm:>=0.6.0, sax@npm:^1.2.4": - version: 1.3.0 - resolution: "sax@npm:1.3.0" - checksum: 238ab3a9ba8c8f8aaf1c5ea9120386391f6ee0af52f1a6a40bbb6df78241dd05d782f2359d614ac6aae08c4c4125208b456548a6cf68625aa4fe178486e63ecd - languageName: node - linkType: hard - -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: ^2.2.0 - checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 + version: 1.4.1 + resolution: "sax@npm:1.4.1" + checksum: 3ad64df16b743f0f2eb7c38ced9692a6d924f1cd07bbe45c39576c2cf50de8290d9d04e7b2228f924c7d05fecc4ec5cf651423278e0c7b63d260c387ef3af84a languageName: node linkType: hard @@ -41567,15 +42087,15 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^4.0.0, schema-utils@npm:^4.2.0": - version: 4.2.0 - resolution: "schema-utils@npm:4.2.0" +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.2.0, schema-utils@npm:^4.3.0": + version: 4.3.0 + resolution: "schema-utils@npm:4.3.0" dependencies: "@types/json-schema": ^7.0.9 ajv: ^8.9.0 ajv-formats: ^2.1.1 ajv-keywords: ^5.1.0 - checksum: 26a0463d47683258106e6652e9aeb0823bf0b85843039e068b57da1892f7ae6b6b1094d48e9ed5ba5cbe9f7166469d880858b9d91abe8bd249421eb813850cde + checksum: 3dbd9056727c871818eaf3cabeeb5c9e173ae2b17bbf2a9c7a2e49c220fa1a580e44df651c876aea3b4926cecf080730a39e28202cb63f2b68d99872b49cd37a languageName: node linkType: hard @@ -41699,7 +42219,7 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^6.0.1": +"serialize-javascript@npm:^6.0.2": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" dependencies: @@ -41736,27 +42256,27 @@ __metadata: linkType: hard "set-cookie-parser@npm:^2.4.6": - version: 2.6.0 - resolution: "set-cookie-parser@npm:2.6.0" - checksum: bf11ebc594c53d84588f1b4c04f1b8ce14e0498b1c011b3d76b5c6d5aac481bbc3f7c5260ec4ce99bdc1d9aed19f9fc315e73166a36ca74d0f12349a73f6bdc9 + version: 2.7.1 + resolution: "set-cookie-parser@npm:2.7.1" + checksum: 2ef8b351094712f8f7df6d63ed4b10350b24a5b515772690e7dec227df85fcef5bc451c7765f484fd9f36694ece5438d1456407d017f237d0d3351d7dbbd3587 languageName: node linkType: hard -"set-function-length@npm:^1.2.1": - version: 1.2.1 - resolution: "set-function-length@npm:1.2.1" +"set-function-length@npm:^1.2.2": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" dependencies: - define-data-property: ^1.1.2 + define-data-property: ^1.1.4 es-errors: ^1.3.0 function-bind: ^1.1.2 - get-intrinsic: ^1.2.3 + get-intrinsic: ^1.2.4 gopd: ^1.0.1 - has-property-descriptors: ^1.0.1 - checksum: 23742476d695f2eae86348c069bd164d4f25fa7c26546a46a2b5f370f1f84b98ec64366d2cd17785d5b41bbf16b95855da4b7eb188e7056fe3b0248d61f6afda + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 languageName: node linkType: hard -"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": +"set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -41775,6 +42295,17 @@ __metadata: languageName: node linkType: hard +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: ^1.0.1 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + checksum: ec27cbbe334598547e99024403e96da32aca3e530583e4dba7f5db1c43cbc4affa9adfbd77c7b2c210b9b8b2e7b2e600bad2a6c44fd62e804d8233f96bbb62f4 + languageName: node + linkType: hard + "set-value@npm:^4.1.0": version: 4.1.0 resolution: "set-value@npm:4.1.0" @@ -41835,9 +42366,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.7.3, shell-quote@npm:^1.8.1": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b + version: 1.8.2 + resolution: "shell-quote@npm:1.8.2" + checksum: 1e97b62ced1c4c5135015978ebf273bed1f425a68cf84163e83fbb0f34b3ff9471e656720dab2b7cbb4ae0f58998e686d17d166c28dfb3662acd009e8bd7faed languageName: node linkType: hard @@ -41920,12 +42451,12 @@ __metadata: linkType: hard "short-unique-id@npm:^5.0.2": - version: 5.0.3 - resolution: "short-unique-id@npm:5.0.3" + version: 5.2.0 + resolution: "short-unique-id@npm:5.2.0" bin: short-unique-id: bin/short-unique-id suid: bin/short-unique-id - checksum: 9e5e02276972b103d3f2808280b82ab9f90006dd0aea6a253158e71e3ed618c3ac8dfe509a267080b19826a5d4e20d7a3d1adb2f13e166109f56946da3fdff9b + checksum: 55bfa5766cc7a1c5905a44337d0a1f8b5000174dec6b6e3039b6f93cf8f62b81ed4e5a525572266cbe20303a233f298cb3988c0f373ec0543a2706fe1b7f6cfc languageName: node linkType: hard @@ -41985,15 +42516,51 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" dependencies: - call-bind: ^1.0.7 es-errors: ^1.3.0 - get-intrinsic: ^1.2.4 - object-inspect: ^1.13.1 - checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 + object-inspect: ^1.13.3 + checksum: 603b928997abd21c5a5f02ae6b9cc36b72e3176ad6827fab0417ead74580cc4fb4d5c7d0a8a2ff4ead34d0f9e35701ed7a41853dac8a6d1a664fcce1a044f86f + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.5 + object-inspect: ^1.13.3 + checksum: 42501371cdf71f4ccbbc9c9e2eb00aaaab80a4c1c429d5e8da713fd4d39ef3b8d4a4b37ed4f275798a65260a551a7131fd87fe67e922dba4ac18586d6aab8b06 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: ^1.0.2 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.5 + object-inspect: ^1.13.3 + side-channel-map: ^1.0.1 + checksum: a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: ^1.3.0 + object-inspect: ^1.13.3 + side-channel-list: ^1.0.0 + side-channel-map: ^1.0.1 + side-channel-weakmap: ^1.0.2 + checksum: bf73d6d6682034603eb8e99c63b50155017ed78a522d27c2acec0388a792c3ede3238b878b953a08157093b85d05797217d270b7666ba1f111345fbe933380ff languageName: node linkType: hard @@ -42018,12 +42585,12 @@ __metadata: languageName: node linkType: hard -"simple-eval@npm:1.0.0": - version: 1.0.0 - resolution: "simple-eval@npm:1.0.0" +"simple-eval@npm:1.0.1": + version: 1.0.1 + resolution: "simple-eval@npm:1.0.1" dependencies: - jsep: ^1.1.2 - checksum: 0f0719ae3a84d4b9c19366dc03065b1fe9638c982ed3e9d44ba541d25e3454e99419e3239034974fd6c5074b79c119419168b8f343fef4da6d7e35227cfd1f87 + jsep: ^1.3.6 + checksum: 280207cfe4538c500f6b41e4d88576cf250337b0042bec8f9f5cf025b3a70e07974e522edd01e69d378767dd73068765d4f46ad55db5c94943c8f3585bff95af languageName: node linkType: hard @@ -42088,7 +42655,7 @@ __metadata: languageName: node linkType: hard -"smtp-address-parser@npm:1.0.10, smtp-address-parser@npm:^1.0.3": +"smtp-address-parser@npm:1.0.10": version: 1.0.10 resolution: "smtp-address-parser@npm:1.0.10" dependencies: @@ -42097,6 +42664,15 @@ __metadata: languageName: node linkType: hard +"smtp-address-parser@npm:^1.0.3": + version: 1.1.0 + resolution: "smtp-address-parser@npm:1.1.0" + dependencies: + nearley: ^2.20.1 + checksum: 63314f22dfe6f2ab2845c4ffa68a48cbd1569507cf9ee429c45beff7c4b5957d6f63e84c31fe0d148f67e4b000c76cb1d8a9d1f0f6bd5a678fa9d6a80bac70e2 + languageName: node + linkType: hard + "snake-case@npm:^3.0.4": version: 3.0.4 resolution: "snake-case@npm:3.0.4" @@ -42129,14 +42705,14 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.4": - version: 8.0.4 - resolution: "socks-proxy-agent@npm:8.0.4" +"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - agent-base: ^7.1.1 + agent-base: ^7.1.2 debug: ^4.3.4 socks: ^2.8.3 - checksum: b2ec5051d85fe49072f9a250c427e0e9571fd09d5db133819192d078fd291276e1f0f50f6dbc04329b207738b1071314cee8bdbb4b12e27de42dbcf1d4233c67 + checksum: b4fbcdb7ad2d6eec445926e255a1fb95c975db0020543fbac8dfa6c47aecc6b3b619b7fb9c60a3f82c9b2969912a5e7e174a056ae4d98cb5322f3524d6036e1d languageName: node linkType: hard @@ -42160,17 +42736,6 @@ __metadata: languageName: node linkType: hard -"sonic-forest@npm:^1.0.0": - version: 1.0.3 - resolution: "sonic-forest@npm:1.0.3" - dependencies: - tree-dump: ^1.0.0 - peerDependencies: - tslib: 2 - checksum: d328735d527ad9e27b3ed9a1599abf33a1e2df139b3689c6515c3c1fa09f19d0a9ddccdc1a43759fa43462259a962308cb18214bed761c1b7ea75a7611e31b11 - languageName: node - linkType: hard - "sorted-array-functions@npm:^1.3.0": version: 1.3.0 resolution: "sorted-array-functions@npm:1.3.0" @@ -42185,10 +42750,10 @@ __metadata: languageName: node linkType: hard -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0": - version: 1.2.0 - resolution: "source-map-js@npm:1.2.0" - checksum: 791a43306d9223792e84293b00458bf102a8946e7188f3db0e4e22d8d530b5f80a4ce468eb5ec0bf585443ad55ebbd630bf379c98db0b1f317fd902500217f97 +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 4eb0cd997cdf228bc253bcaff9340afeb706176e64868ecd20efbe6efea931465f43955612346d6b7318789e5265bdc419bc7669c1cebe3db0eb255f57efa76b languageName: node linkType: hard @@ -42295,13 +42860,6 @@ __metadata: languageName: node linkType: hard -"split-on-first@npm:^1.0.0": - version: 1.1.0 - resolution: "split-on-first@npm:1.1.0" - checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 - languageName: node - linkType: hard - "split2@npm:^3.0.0": version: 3.2.2 resolution: "split2@npm:3.2.2" @@ -42350,19 +42908,19 @@ __metadata: linkType: hard "ssh2@npm:^1.11.0, ssh2@npm:^1.15.0, ssh2@npm:^1.4.0": - version: 1.15.0 - resolution: "ssh2@npm:1.15.0" + version: 1.16.0 + resolution: "ssh2@npm:1.16.0" dependencies: asn1: ^0.2.6 bcrypt-pbkdf: ^1.0.2 - cpu-features: ~0.0.9 - nan: ^2.18.0 + cpu-features: ~0.0.10 + nan: ^2.20.0 dependenciesMeta: cpu-features: optional: true nan: optional: true - checksum: 56baa07dc0dd8d97aefa05033b8a95d220a34b2f203aa9116173d7adc5e9fd46be22d7cfed99cdd9f5548862ae44abd1ec136e20ea856d5c470a0df0e5aea9d1 + checksum: c024c4a432aae2457852037f31c0d9bec323fb062ace3a31e4a6dd6c55842246c80e7d20ff93ffed22dde1e523250d8438bc2f7d4a1450cf4fa4887818176f0e languageName: node linkType: hard @@ -42396,6 +42954,15 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" + dependencies: + minipass: ^7.0.3 + checksum: ef4b6b0ae47b4a69896f5f1c4375f953b9435388c053c36d27998bc3d73e046969ccde61ab659e679142971a0b08e50478a1228f62edb994105b280f17900c98 + languageName: node + linkType: hard + "stable@npm:^0.1.8": version: 0.1.8 resolution: "stable@npm:0.1.8" @@ -42487,11 +43054,12 @@ __metadata: linkType: hard "stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" dependencies: - internal-slot: ^1.0.4 - checksum: d04173690b2efa40e24ab70e5e51a3ff31d56d699550cfad084104ab3381390daccb36652b25755e420245f3b0737de66c1879eaa2a8d4fc0a78f9bf892fcb42 + es-errors: ^1.3.0 + internal-slot: ^1.1.0 + checksum: be944489d8829fb3bdec1a1cc4a2142c6b6eb317305eeace1ece978d286d6997778afa1ae8cb3bd70e2b274b9aa8c69f93febb1e15b94b1359b11058f9d3c3a1 languageName: node linkType: hard @@ -42523,9 +43091,9 @@ __metadata: linkType: hard "stream-buffers@npm:^3.0.2": - version: 3.0.2 - resolution: "stream-buffers@npm:3.0.2" - checksum: b09fdeea606e3113ebd0e07010ed0cf038608fa396130add9e45deaff5cc3ba845dc25c31ad24f8341f85907846344cb7c85f75ea52c6572e2ac646e9b6072d0 + version: 3.0.3 + resolution: "stream-buffers@npm:3.0.3" + checksum: 3f0bdc4b1fd3ff370cef5a2103dd930b8981d42d97741eeb087a660771e27f0fc35fa8a351bb36e15bbbbce0eea00fefed60d6cdff4c6c3f527580529f183807 languageName: node linkType: hard @@ -42551,7 +43119,7 @@ __metadata: languageName: node linkType: hard -"stream-shift@npm:^1.0.0": +"stream-shift@npm:^1.0.0, stream-shift@npm:^1.0.2": version: 1.0.3 resolution: "stream-shift@npm:1.0.3" checksum: a24c0a3f66a8f9024bd1d579a533a53be283b4475d4e6b4b3211b964031447bdf6532dd1f3c2b0ad66752554391b7c62bd7ca4559193381f766534e723d50242 @@ -42576,17 +43144,18 @@ __metadata: languageName: node linkType: hard -"streamx@npm:^2.13.0, streamx@npm:^2.15.0": - version: 2.16.1 - resolution: "streamx@npm:2.16.1" +"streamx@npm:^2.15.0, streamx@npm:^2.21.0": + version: 2.21.1 + resolution: "streamx@npm:2.21.1" dependencies: bare-events: ^2.2.0 - fast-fifo: ^1.1.0 + fast-fifo: ^1.3.2 queue-tick: ^1.0.1 + text-decoder: ^1.1.0 dependenciesMeta: bare-events: optional: true - checksum: 6bbb4c38c0ab6ddbe0857d55e72f71288f308f2a9f4413b7b07391cdf9f94232ffc2bbe40a1212d2e09634ecdbd5052b444c73cc8d67ae1c97e2b7e553dad559 + checksum: 98abdd0a926b172be6f2b306cdda3d8689a4da51e478518aa187d321ceca31ebfcbfff222c55ef4140fdc2a5c14da5db9da19fdfd7a08bcdcb0c1c6e6df96f22 languageName: node linkType: hard @@ -42606,13 +43175,6 @@ __metadata: languageName: node linkType: hard -"strict-uri-encode@npm:^2.0.0": - version: 2.0.0 - resolution: "strict-uri-encode@npm:2.0.0" - checksum: eaac4cf978b6fbd480f1092cab8b233c9b949bcabfc9b598dd79a758f7243c28765ef7639c876fa72940dac687181b35486ea01ff7df3e65ce3848c64822c581 - languageName: node - linkType: hard - "string-argv@npm:~0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2" @@ -42667,63 +43229,93 @@ __metadata: linkType: hard "string-width@npm:^7.0.0": - version: 7.1.0 - resolution: "string-width@npm:7.1.0" + version: 7.2.0 + resolution: "string-width@npm:7.2.0" dependencies: emoji-regex: ^10.3.0 get-east-asian-width: ^1.0.0 strip-ansi: ^7.1.0 - checksum: a183573fe7209e0d294f661846d33f8caf72aa86d983e5b48a0ed45ab15bcccb02c6f0344b58b571988871105457137b8207855ea536827dbc4a376a0f31bf8f + checksum: 42f9e82f61314904a81393f6ef75b832c39f39761797250de68c041d8ba4df2ef80db49ab6cd3a292923a6f0f409b8c9980d120f7d32c820b4a8a84a2598a295 languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.8": - version: 4.0.10 - resolution: "string.prototype.matchall@npm:4.0.10" +"string.prototype.includes@npm:^2.0.1": + version: 2.0.1 + resolution: "string.prototype.includes@npm:2.0.1" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - regexp.prototype.flags: ^1.5.0 - set-function-name: ^2.0.0 - side-channel: ^1.0.4 - checksum: 3c78bdeff39360c8e435d7c4c6ea19f454aa7a63eda95fa6fadc3a5b984446a2f9f2c02d5c94171ce22268a573524263fbd0c8edbe3ce2e9890d7cc036cdc3ed + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.3 + checksum: ed4b7058b092f30d41c4df1e3e805eeea92479d2c7a886aa30f42ae32fde8924a10cc99cccc99c29b8e18c48216608a0fe6bf887f8b4aadf9559096a758f313a languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.8": - version: 1.2.8 - resolution: "string.prototype.trim@npm:1.2.8" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 + call-bind: ^1.0.8 + call-bound: ^1.0.3 + define-properties: ^1.2.1 + es-abstract: ^1.23.6 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.6 + gopd: ^1.2.0 + has-symbols: ^1.1.0 + internal-slot: ^1.1.0 + regexp.prototype.flags: ^1.5.3 + set-function-name: ^2.0.2 + side-channel: ^1.1.0 + checksum: 98a09d6af91bfc6ee25556f3d7cd6646d02f5f08bda55d45528ed273d266d55a71af7291fe3fc76854deffb9168cc1a917d0b07a7d5a178c7e9537c99e6d2b57 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimend@npm:1.0.7" +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 95dfc514ed7f328d80a066dabbfbbb1615c3e51490351085409db2eb7cbfed7ea29fdadaf277647fbf9f4a1e10e6dd9e95e78c0fd2c4e6bb6723ea6e59401004 languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimstart@npm:1.0.7" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 + call-bind: ^1.0.8 + call-bound: ^1.0.2 + define-data-property: ^1.1.4 + define-properties: ^1.2.1 + es-abstract: ^1.23.5 + es-object-atoms: ^1.0.0 + has-property-descriptors: ^1.0.2 + checksum: 87659cd8561237b6c69f5376328fda934693aedde17bb7a2c57008e9d9ff992d0c253a391c7d8d50114e0e49ff7daf86a362f7961cf92f7564cd01342ca2e385 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.8, string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" + dependencies: + call-bind: ^1.0.8 + call-bound: ^1.0.2 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: cb86f639f41d791a43627784be2175daa9ca3259c7cb83e7a207a729909b74f2ea0ec5d85de5761e6835e5f443e9420c6ff3f63a845378e4a61dd793177bc287 + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: df1007a7f580a49d692375d996521dc14fd103acda7f3034b3c558a60b82beeed3a64fa91e494e164581793a8ab0ae2f59578a49896a7af6583c1f20472bce96 languageName: node linkType: hard @@ -42874,9 +43466,9 @@ __metadata: linkType: hard "style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": - version: 4.1.0 - resolution: "style-mod@npm:4.1.0" - checksum: 8402b14ca11113a3640d46b3cf7ba49f05452df7846bc5185a3535d9b6a64a3019e7fb636b59ccbb7816aeb0725b24723e77a85b05612a9360e419958e13b4e6 + version: 4.1.2 + resolution: "style-mod@npm:4.1.2" + checksum: 7c5c3e82747f9bcf5f288d8d07f50848e4630fe5ff7bfe4d94cc87d6b6a2588227cbf21b4c792ac6406e5852293300a75e710714479a5c59a06af677f0825ef8 languageName: node linkType: hard @@ -42908,11 +43500,11 @@ __metadata: linkType: hard "style-to-object@npm:^1.0.0": - version: 1.0.6 - resolution: "style-to-object@npm:1.0.6" + version: 1.0.8 + resolution: "style-to-object@npm:1.0.8" dependencies: - inline-style-parser: 0.2.3 - checksum: 5b58295dcc2c21f1da1b9308de1e81b4a987b876a177e677453a76b2e3151a0e21afc630e99c1ea6c82dd8dbec0d01a8b1a51a829422aca055162b03e52572a9 + inline-style-parser: 0.2.4 + checksum: 80ca4773fc728d7919edc552eb46bab11aa8cdd0b426528ee8b817ba6872ea7b9d38fbb97b6443fd2d4895a4c4b02ec32765387466a302d0b4d1b91deab1e1a0 languageName: node linkType: hard @@ -42946,9 +43538,9 @@ __metadata: linkType: hard "stylis@npm:^4.3.0": - version: 4.3.1 - resolution: "stylis@npm:4.3.1" - checksum: d365f1b008677b2147e8391e9cf20094a4202a5f9789562e7d9d0a3bd6f0b3067d39e8fd17cce5323903a56f6c45388e3d839e9c0bb5a738c91726992b14966d + version: 4.3.5 + resolution: "stylis@npm:4.3.5" + checksum: ab7342ee0ebfbb37f7c40846fb0cb231eda849beaa766e19be6a54add9f43a616b306071755b1a655c8c91c6c77b175513efe7439807dcc47f9498c7ba3c2783 languageName: node linkType: hard @@ -43073,28 +43665,29 @@ __metadata: languageName: node linkType: hard -"swagger-client@npm:^3.28.1": - version: 3.29.3 - resolution: "swagger-client@npm:3.29.3" +"swagger-client@npm:^3.31.0": + version: 3.33.2 + resolution: "swagger-client@npm:3.33.2" dependencies: "@babel/runtime-corejs3": ^7.22.15 - "@swagger-api/apidom-core": ">=1.0.0-alpha.9 <1.0.0-beta.0" - "@swagger-api/apidom-error": ">=1.0.0-alpha.9 <1.0.0-beta.0" - "@swagger-api/apidom-json-pointer": ">=1.0.0-alpha.9 <1.0.0-beta.0" - "@swagger-api/apidom-ns-openapi-3-1": ">=1.0.0-alpha.9 <1.0.0-beta.0" - "@swagger-api/apidom-reference": ">=1.0.0-alpha.9 <1.0.0-beta.0" - cookie: ~0.6.0 + "@scarf/scarf": =1.4.0 + "@swagger-api/apidom-core": ">=1.0.0-beta.6 <1.0.0-rc.0" + "@swagger-api/apidom-error": ">=1.0.0-beta.6 <1.0.0-rc.0" + "@swagger-api/apidom-json-pointer": ">=1.0.0-beta.6 <1.0.0-rc.0" + "@swagger-api/apidom-ns-openapi-3-1": ">=1.0.0-beta.6 <1.0.0-rc.0" + "@swagger-api/apidom-reference": ">=1.0.0-beta.6 <1.0.0-rc.0" + "@swaggerexpert/cookie": ^1.4.1 deepmerge: ~4.3.0 fast-json-patch: ^3.0.0-1 js-yaml: ^4.1.0 neotraverse: =0.6.18 node-abort-controller: ^3.1.1 node-fetch-commonjs: ^3.3.2 - openapi-path-templating: ^1.5.1 - openapi-server-url-templating: ^1.0.0 + openapi-path-templating: ^2.0.1 + openapi-server-url-templating: ^1.2.0 ramda: ^0.30.1 ramda-adjunct: ^5.0.0 - checksum: 6551c33642c692b4a7adac9d0478511378c5e64f9eb3af71117c465f622dbac26ec1d31c9b53cef4f08ed5730d326d9037c9bd627d2297ab78e8eaf8755896a6 + checksum: 95a0474471e702fc0a2bc044b34796eeb708d5b4940fe1efa6d392dcd855a53a8eb2b56bb58b927bbf7dbef6fc484bb951b091447ba1b80ee67129c86aff6331 languageName: node linkType: hard @@ -43108,16 +43701,17 @@ __metadata: linkType: hard "swagger-ui-react@npm:^5.0.0": - version: 5.17.14 - resolution: "swagger-ui-react@npm:5.17.14" + version: 5.18.2 + resolution: "swagger-ui-react@npm:5.18.2" dependencies: - "@babel/runtime-corejs3": ^7.24.5 - "@braintree/sanitize-url": =7.0.2 + "@babel/runtime-corejs3": ^7.24.7 + "@braintree/sanitize-url": =7.0.4 + "@scarf/scarf": =1.4.0 base64-js: ^1.5.1 classnames: ^2.5.1 css.escape: 1.5.1 deep-extend: 0.6.0 - dompurify: =3.1.4 + dompurify: =3.1.6 ieee754: ^1.2.1 immutable: ^3.x.x js-file-download: ^0.4.12 @@ -43136,10 +43730,10 @@ __metadata: redux: ^5.0.1 redux-immutable: ^4.0.0 remarkable: ^2.0.1 - reselect: ^5.1.0 + reselect: ^5.1.1 serialize-error: ^8.1.0 sha.js: ^2.4.11 - swagger-client: ^3.28.1 + swagger-client: ^3.31.0 url-parse: ^1.5.10 xml: =1.0.1 xml-but-prettier: ^1.0.1 @@ -43147,7 +43741,7 @@ __metadata: peerDependencies: react: ">=16.8.0 <19" react-dom: ">=16.8.0 <19" - checksum: 1283b23feb91b475ab036f219342374853b6113090c47c49df4576fa9f187a6df05825e7df059d862b8fcf3be51c25691a8da380084f4ca84bc6b5d0ee0ef744 + checksum: 8ad40bda044c9ff5a940b4e76f88dd740dae183266dc2d48cd88b73877a0ad464f26ad41459de7d7562c5e1a0030ed5a15b99fe57d3f2919acc7ddb126c07447 languageName: node linkType: hard @@ -43187,14 +43781,14 @@ __metadata: linkType: hard "swr@npm:^2.0.0": - version: 2.2.5 - resolution: "swr@npm:2.2.5" + version: 2.3.0 + resolution: "swr@npm:2.3.0" dependencies: - client-only: ^0.0.1 - use-sync-external-store: ^1.2.0 + dequal: ^2.0.3 + use-sync-external-store: ^1.4.0 peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 - checksum: c6e6a5bd254951b22e5fd0930a95c7f79b5d0657f803c41ba1542cd6376623fb70b1895049d54ddde26da63b91951ae9d62a06772f82be28c1014d421e5b7aa9 + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: ea5503b9a34763e8af0681ee1570c5f8d301da6f46343512614799a07cadadf454cb2f832f8d49d2607da9147c9a8b8130994c4f4546c9da5d680bd9e90a8bcc languageName: node linkType: hard @@ -43212,6 +43806,17 @@ __metadata: languageName: node linkType: hard +"sync-fetch@npm:0.6.0-2": + version: 0.6.0-2 + resolution: "sync-fetch@npm:0.6.0-2" + dependencies: + node-fetch: ^3.3.2 + timeout-signal: ^2.0.0 + whatwg-mimetype: ^4.0.0 + checksum: 325988e32633affdc7c6dcababd5a6ed5a1e825f30eca55af4a44f877d4154ae5a9783351f82fd793de85d3105213a3f60a12411a4db25e7ae4be08581367252 + languageName: node + linkType: hard + "systeminformation@npm:5.23.8": version: 5.23.8 resolution: "systeminformation@npm:5.23.8" @@ -43244,23 +43849,23 @@ __metadata: linkType: hard "tar-fs@npm:^2.0.0": - version: 2.1.1 - resolution: "tar-fs@npm:2.1.1" + version: 2.1.2 + resolution: "tar-fs@npm:2.1.2" dependencies: chownr: ^1.1.1 mkdirp-classic: ^0.5.2 pump: ^3.0.0 tar-stream: ^2.1.4 - checksum: f5b9a70059f5b2969e65f037b4e4da2daf0fa762d3d232ffd96e819e3f94665dbbbe62f76f084f1acb4dbdcce16c6e4dac08d12ffc6d24b8d76720f4d9cf032d + checksum: 6b4fcd38a644b5cd3325f687b9f1f48cd19809b63cbc8376fe794f68361849a17120d036833b3a97de6acb1df588844476309b8c2d0bcaf53f19da2d56ac07de languageName: node linkType: hard -"tar-fs@npm:^3.0.5": - version: 3.0.5 - resolution: "tar-fs@npm:3.0.5" +"tar-fs@npm:^3.0.6": + version: 3.0.8 + resolution: "tar-fs@npm:3.0.8" dependencies: - bare-fs: ^2.1.1 - bare-path: ^2.1.0 + bare-fs: ^4.0.1 + bare-path: ^3.0.0 pump: ^3.0.0 tar-stream: ^3.1.5 dependenciesMeta: @@ -43268,7 +43873,7 @@ __metadata: optional: true bare-path: optional: true - checksum: e31c7e3e525fec0afecdec1cac58071809e396187725f2eba442f08a4c5649c8cd6b7ce25982f9a91bb0f055628df47c08177dd2ea4f5dafd3c22f42f8da8f00 + checksum: 5bebadd68e7a10cc3aa9c30b579c295e158cef7b1f42a73ee1bb1992925027aa8ef6cbcdb0d03e202e7f3850799391de30adf2585f7f240b606faa65df1a6b68 languageName: node linkType: hard @@ -43284,7 +43889,7 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:^2.0.0, tar-stream@npm:^2.1.4, tar-stream@npm:^2.2.0": +"tar-stream@npm:^2.0.0, tar-stream@npm:^2.1.4": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -43322,7 +43927,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:^7.0.0": +"tar@npm:^7.0.0, tar@npm:^7.4.3": version: 7.4.3 resolution: "tar@npm:7.4.3" dependencies: @@ -43366,14 +43971,14 @@ __metadata: linkType: hard "terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.3.10": - version: 5.3.10 - resolution: "terser-webpack-plugin@npm:5.3.10" + version: 5.3.11 + resolution: "terser-webpack-plugin@npm:5.3.11" dependencies: - "@jridgewell/trace-mapping": ^0.3.20 + "@jridgewell/trace-mapping": ^0.3.25 jest-worker: ^27.4.5 - schema-utils: ^3.1.1 - serialize-javascript: ^6.0.1 - terser: ^5.26.0 + schema-utils: ^4.3.0 + serialize-javascript: ^6.0.2 + terser: ^5.31.1 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -43383,13 +43988,13 @@ __metadata: optional: true uglify-js: optional: true - checksum: bd6e7596cf815f3353e2a53e79cbdec959a1b0276f5e5d4e63e9d7c3c5bb5306df567729da287d1c7b39d79093e56863c569c42c6c24cc34c76aa313bd2cbcea + checksum: c84c005d4041ad2e2eed0c9059b52a50ffd27f1e2afca7d34864a2b4b2bb1295405bc7578eeb25bae732e358339954d8cb6fbf6d83df52e8aa9333e8bf409ebe languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.26.0": - version: 5.28.1 - resolution: "terser@npm:5.28.1" +"terser@npm:^5.10.0, terser@npm:^5.31.1": + version: 5.37.0 + resolution: "terser@npm:5.37.0" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -43397,7 +44002,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 2668823cbdf8ae4c62d17a899614c849ddbfa932fce2309e600bd9ed6e6adb87b2c0aca30acb6cdf0d8e83a77ae3858af14cd357a2cb25b9f289fae98c7f7537 + checksum: 70c06a8ce1288ff4370a7e481beb6fc8b22fc4995371479f49df1552aa9cf8e794ace66e1da6e87057eda1745644311213f5043bda9a06cf55421eff68b3ac06 languageName: node linkType: hard @@ -43413,25 +44018,34 @@ __metadata: linkType: hard "testcontainers@npm:^10.0.0": - version: 10.8.1 - resolution: "testcontainers@npm:10.8.1" + version: 10.16.0 + resolution: "testcontainers@npm:10.16.0" dependencies: "@balena/dockerignore": ^1.0.2 - "@types/dockerode": ^3.3.24 - archiver: ^5.3.2 + "@types/dockerode": ^3.3.29 + archiver: ^7.0.1 async-lock: ^1.4.1 byline: ^5.0.0 - debug: ^4.3.4 - docker-compose: ^0.24.6 + debug: ^4.3.5 + docker-compose: ^0.24.8 dockerode: ^3.3.5 get-port: ^5.1.1 - node-fetch: ^2.7.0 proper-lockfile: ^4.1.2 properties-reader: ^2.3.0 ssh-remote-port-forward: ^1.0.4 - tar-fs: ^3.0.5 - tmp: ^0.2.1 - checksum: f3981feed5c7ce21840b8e973b96a66dc5df1cc42eefb20d1aa83bf9d80da848a044a284d8087d7d1c61149cea043300303e84772afce57f0c0a3422c6316277 + tar-fs: ^3.0.6 + tmp: ^0.2.3 + undici: ^5.28.4 + checksum: 69d56bc68daf9b3aa0fef524133d5ab85b6028210f4fd456c05fff5f48b9452c6ff44274be281dbf45690595df8b6914eaf5c3fade75191aeaaa3087abd4a23d + languageName: node + linkType: hard + +"text-decoder@npm:^1.1.0": + version: 1.2.3 + resolution: "text-decoder@npm:1.2.3" + dependencies: + b4a: ^1.6.4 + checksum: d7642a61f9d72330eac52ff6b6e8d34dea03ebbb1e82749a8734e7892e246cf262ed70730d20c4351c5dc5334297b9cc6c0b6a8725a204a63a197d7728bb35e5 languageName: node linkType: hard @@ -43527,6 +44141,13 @@ __metadata: languageName: node linkType: hard +"timeout-signal@npm:^2.0.0": + version: 2.0.0 + resolution: "timeout-signal@npm:2.0.0" + checksum: 0e3a6fb7ce4912e890475fe268888dd31068814ed096b264b3748d57f5a63a323fa1a5c4ba3d7da4529fb5031ed1a69bf8edfe5fb709bd3eec79d72f9ee51cc9 + languageName: node + linkType: hard + "timers-browserify@npm:^2.0.4": version: 2.0.12 resolution: "timers-browserify@npm:2.0.12" @@ -43565,9 +44186,46 @@ __metadata: linkType: hard "tinyexec@npm:^0.3.1": - version: 0.3.1 - resolution: "tinyexec@npm:0.3.1" - checksum: 691b531d464bdc09eeba934e43d8ac2a74c9d22a4bec9cd7f4991375c64e22712f7e5a95ba243a9369a478afd34d41171359012a2248ea49615cd2816ab12959 + version: 0.3.2 + resolution: "tinyexec@npm:0.3.2" + checksum: bd491923020610bdeadb0d8cf5d70e7cbad5a3201620fd01048c9bf3b31ffaa75c33254e1540e13b993ce4e8187852b0b5a93057bb598e7a57afa2ca2048a35c + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.9": + version: 0.2.10 + resolution: "tinyglobby@npm:0.2.10" + dependencies: + fdir: ^6.4.2 + picomatch: ^4.0.2 + checksum: 7e2ffe262ebc149036bdef37c56b32d02d52cf09efa7d43dbdab2ea3c12844a4da881058835ce4c74d1891190e5ad5ec5133560a11ec8314849b68ad0d99d3f4 + languageName: node + linkType: hard + +"tldts-core@npm:^6.1.72": + version: 6.1.72 + resolution: "tldts-core@npm:6.1.72" + checksum: 14a0e13e5adb325d8504b1d44da48ecc4cfca64c6f917e41f54904b8504826ed86eacc14670af5f365fe9e374fe46bda7546f573012cef6f10019a17f2f6fada + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.72 + resolution: "tldts@npm:6.1.72" + dependencies: + tldts-core: ^6.1.72 + bin: + tldts: bin/cli.js + checksum: 7a74196b3a6cfadc190bed4cba009561d14f61c10ae97493d16789786381fbc4596b213de4cfd6af9d574349f62375ad5cc1e1bdf423e9bc7758bc4036c984e7 + languageName: node + linkType: hard + +"tmp-promise@npm:^3.0.2": + version: 3.0.3 + resolution: "tmp-promise@npm:3.0.3" + dependencies: + tmp: ^0.2.0 + checksum: f854f5307dcee6455927ec3da9398f139897faf715c5c6dcee6d9471ae85136983ea06662eba2edf2533bdcb0fca66d16648e79e14381e30c7fb20be9c1aa62c languageName: node linkType: hard @@ -43580,7 +44238,7 @@ __metadata: languageName: node linkType: hard -"tmp@npm:^0.2.1": +"tmp@npm:^0.2.0, tmp@npm:^0.2.3": version: 0.2.3 resolution: "tmp@npm:0.2.3" checksum: 73b5c96b6e52da7e104d9d44afb5d106bb1e16d9fa7d00dbeb9e6522e61b571fbdb165c756c62164be9a3bbe192b9b268c236d370a2a0955c7689cd2ae377b95 @@ -43610,6 +44268,13 @@ __metadata: languageName: node linkType: hard +"toad-cache@npm:^3.7.0": + version: 3.7.0 + resolution: "toad-cache@npm:3.7.0" + checksum: d0f2092ab2c0f3355d3537c41b13888a12996f38080e6c39907e715eb382d997ccf61baab9e8eda3f202b6c07e304728106be3631c9fe3b6c001aaf15b7bdb8f + languageName: node + linkType: hard + "toggle-selection@npm:^1.0.6": version: 1.0.6 resolution: "toggle-selection@npm:1.0.6" @@ -43648,7 +44313,7 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.2": +"tough-cookie@npm:^4.1.2": version: 4.1.4 resolution: "tough-cookie@npm:4.1.4" dependencies: @@ -43660,6 +44325,15 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:^5.0.0": + version: 5.1.0 + resolution: "tough-cookie@npm:5.1.0" + dependencies: + tldts: ^6.1.32 + checksum: 6f985b41e910ea7cb2556fba8128a594c8f1e4c0cfd929ea274d637441a7f81c98e146a4a1e0bcb0bfb55166d2e7f6e4d49566aa0c6e0caa5aa4f79ebf1d0bfc + languageName: node + linkType: hard + "tough-cookie@npm:~2.5.0": version: 2.5.0 resolution: "tough-cookie@npm:2.5.0" @@ -43670,15 +44344,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:^2.1.0": - version: 2.1.0 - resolution: "tr46@npm:2.1.0" - dependencies: - punycode: ^2.1.1 - checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 - languageName: node - linkType: hard - "tr46@npm:^3.0.0": version: 3.0.0 resolution: "tr46@npm:3.0.0" @@ -43688,6 +44353,15 @@ __metadata: languageName: node linkType: hard +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: ^2.3.1 + checksum: 8d8b021f8e17675ebf9e672c224b6b6cfdb0d5b92141349e9665c14a2501c54a298d11264bbb0b17b447581e1e83d4fc3c038c929f3d210e3964d4be47460288 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -43695,43 +44369,39 @@ __metadata: languageName: node linkType: hard -"tree-dump@npm:^1.0.0": - version: 1.0.1 - resolution: "tree-dump@npm:1.0.1" +"tree-dump@npm:^1.0.1": + version: 1.0.2 + resolution: "tree-dump@npm:1.0.2" peerDependencies: tslib: 2 - checksum: 256f2e066ab8743672795822731410d9b9036ef449499f528df1a638ad99af45f345bfbddeaf1cc46b7b9279db3b5f83e1a4cb21bc086ef25ce6add975a3c490 + checksum: 3b0cae6cd74c208da77dac1c65e6a212f5678fe181f1dfffbe05752be188aa88e56d5d5c33f5701d1f603ffcf33403763f722c9e8e398085cde0c0994323cb8d languageName: node linkType: hard -"tree-sitter-json@npm:=0.20.2": - version: 0.20.2 - resolution: "tree-sitter-json@npm:0.20.2" - dependencies: - nan: ^2.18.0 - node-gyp: latest - checksum: 4f5eba7fc86855d15510647e3e5803ea05a8cd5ab2a2a25c8d173a103ca02a6cc25b4cc925b3d234e31e6180f7eed4a50351d39e2c5254b06d6dd0fabeb6c3d8 - languageName: node - linkType: hard - -"tree-sitter-yaml@npm:=0.5.0": - version: 0.5.0 - resolution: "tree-sitter-yaml@npm:0.5.0" +"tree-sitter-json@npm:=0.24.8": + version: 0.24.8 + resolution: "tree-sitter-json@npm:0.24.8" dependencies: - nan: ^2.14.0 + node-addon-api: ^8.2.2 node-gyp: latest - checksum: 7962aea3784dd67098daff4ae984145189eb49b8f981f5a9e72bac97b77859a75030580d199712d671cdced5326599192b3549a428e162e9858a3bbb4cb2fff6 + node-gyp-build: ^4.8.2 + peerDependencies: + tree-sitter: ^0.21.1 + peerDependenciesMeta: + tree-sitter: + optional: true + checksum: 740f3483a5b2dbd8b439f4b409994187029a0a26f2b8609dbad3b4405c9005f1134a813d461793d5628a593fbd7df04ecf366a917dfcd32790292e8526b5a4df languageName: node linkType: hard -"tree-sitter@npm:=0.20.4": - version: 0.20.4 - resolution: "tree-sitter@npm:0.20.4" +"tree-sitter@npm:=0.22.1": + version: 0.22.1 + resolution: "tree-sitter@npm:0.22.1" dependencies: - nan: ^2.17.0 + node-addon-api: ^8.2.1 node-gyp: latest - prebuild-install: ^7.1.1 - checksum: 724f9773759a6ece317fff08deef2d2c63a6ea3b4f6723d5d6d56a7a886d27f799641d189d616c121a580e8492992bc2ede8d2e5c4241f30ff4ee9036dc6bb92 + node-gyp-build: ^4.8.2 + checksum: b6bf557dd7b5f7ea477d6e8254fdb4cfba0c2db6850a2c39fbb1ae86012b9b4a09fbc2583a79793fbe31b248ac8912047b2cedc7504e17934369ecdf1bba67d4 languageName: node linkType: hard @@ -43772,19 +44442,28 @@ __metadata: languageName: node linkType: hard -"ts-algebra@npm:^1.2.2": - version: 1.2.2 - resolution: "ts-algebra@npm:1.2.2" - checksum: eea0c08fba10c4a758086079c575a32c4c050f50087e06fcc1ccd53b045bdf7bdb0ab9597a52a241a714f058ff047cedbddcb1539de5e66bb424aa5b33c677a1 +"ts-algebra@npm:^2.0.0": + version: 2.0.0 + resolution: "ts-algebra@npm:2.0.0" + checksum: 970b0e7db49cf8c1a8ff2a816eb047fac8add47511f5e4995e4998c56c6f7b226399284412de88f3e137ab55c857a4262c0d8f02f0765730e7d3a021de2ea7ef languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" +"ts-api-utils@npm:^1.0.1": + version: 1.4.3 + resolution: "ts-api-utils@npm:1.4.3" peerDependencies: typescript: ">=4.2.0" - checksum: c746ddabfdffbf16cb0b0db32bb287236a19e583057f8649ee7c49995bb776e1d3ef384685181c11a1a480369e022ca97512cb08c517b2d2bd82c83754c97012 + checksum: ea00dee382d19066b2a3d8929f1089888b05fec797e32e7a7004938eda1dccf2e77274ee2afcd4166f53fab9b8d7ee90ebb225a3183f9ba8817d636f688a148d + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "ts-api-utils@npm:2.0.0" + peerDependencies: + typescript: ">=4.8.4" + checksum: f16f3e4e3308e7ad7ccf0bec3e0cb2e06b46c2d6919c40b6439e37912409c72f14340d231343b2b1b8cc17c2b8b01c5f2418690ea788312db6ca4e72cf2df6d8 languageName: node linkType: hard @@ -43816,13 +44495,13 @@ __metadata: languageName: node linkType: hard -"ts-morph@npm:^23.0.0": - version: 23.0.0 - resolution: "ts-morph@npm:23.0.0" +"ts-morph@npm:^24.0.0": + version: 24.0.0 + resolution: "ts-morph@npm:24.0.0" dependencies: - "@ts-morph/common": ~0.24.0 - code-block-writer: ^13.0.1 - checksum: 3282eb0f8bd4577770874736c3259b97501da9a86137160b5d68f106b7848ea7b1fbccf9e198a3d930ec40c993e9951d4bfae31e2562dac8f3de0d7bb0e23615 + "@ts-morph/common": ~0.25.0 + code-block-writer: ^13.0.3 + checksum: 49eabeaa00f0922d2d6b955b85f17e6fd49e1270116ef37f1948c5515d2c84c1b6aa821bba436292c67568cd74e0b2734c37219b8f155b1d444150c8383580e0 languageName: node linkType: hard @@ -43890,14 +44569,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.7.0": - version: 2.8.0 - resolution: "tslib@npm:2.8.0" - checksum: de852ecd81adfdb4870927e250763345f07dc13fe7f395ce261424966bb122a0992ad844c3ec875c9e63e72afe2220a150712984e44dfd1a8a7e538a064e3d46 - languageName: node - linkType: hard - -"tslib@npm:^2.8.1": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.5.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.7.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a @@ -43959,7 +44631,7 @@ __metadata: languageName: node linkType: hard -"tunnel@npm:0.0.6, tunnel@npm:^0.0.6": +"tunnel@npm:0.0.6": version: 0.0.6 resolution: "tunnel@npm:0.0.6" checksum: c362948df9ad34b649b5585e54ce2838fa583aa3037091aaed66793c65b423a264e5229f0d7e9a95513a795ac2bd4cb72cda7e89a74313f182c1e9ae0b0994fa @@ -44107,55 +44779,56 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.1": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: ^1.0.7 + call-bound: ^1.0.3 es-errors: ^1.3.0 - is-typed-array: ^1.1.13 - checksum: 02ffc185d29c6df07968272b15d5319a1610817916ec8d4cd670ded5d1efe72901541ff2202fcc622730d8a549c76e198a2f74e312eabbfb712ed907d45cbb0b + is-typed-array: ^1.1.14 + checksum: 3fb91f0735fb413b2bbaaca9fabe7b8fc14a3fa5a5a7546bab8a57e755be0e3788d893195ad9c2b842620592de0e68d4c077d4c2c41f04ec25b8b5bb82fa9a80 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" dependencies: - call-bind: ^1.0.7 + call-bind: ^1.0.8 for-each: ^0.3.3 - gopd: ^1.0.1 - has-proto: ^1.0.3 - is-typed-array: ^1.1.13 - checksum: f65e5ecd1cf76b1a2d0d6f631f3ea3cdb5e08da106c6703ffe687d583e49954d570cc80434816d3746e18be889ffe53c58bf3e538081ea4077c26a41055b216d + gopd: ^1.2.0 + has-proto: ^1.2.0 + is-typed-array: ^1.1.14 + checksum: cda9352178ebeab073ad6499b03e938ebc30c4efaea63a26839d89c4b1da9d2640b0d937fc2bd1f049eb0a38def6fbe8a061b601292ae62fe079a410ce56e3a6 languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" dependencies: available-typed-arrays: ^1.0.7 - call-bind: ^1.0.7 + call-bind: ^1.0.8 for-each: ^0.3.3 - gopd: ^1.0.1 - has-proto: ^1.0.3 - is-typed-array: ^1.1.13 - checksum: c8645c8794a621a0adcc142e0e2c57b1823bbfa4d590ad2c76b266aa3823895cf7afb9a893bf6685e18454ab1b0241e1a8d885a2d1340948efa4b56add4b5f67 + gopd: ^1.2.0 + has-proto: ^1.2.0 + is-typed-array: ^1.1.15 + reflect.getprototypeof: ^1.0.9 + checksum: 670b7e6bb1d3c2cf6160f27f9f529e60c3f6f9611c67e47ca70ca5cfa24ad95415694c49d1dbfeda016d3372cab7dfc9e38c7b3e1bb8d692cae13a63d3c144d7 languageName: node linkType: hard -"typed-array-length@npm:^1.0.4": - version: 1.0.5 - resolution: "typed-array-length@npm:1.0.5" +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" dependencies: call-bind: ^1.0.7 for-each: ^0.3.3 gopd: ^1.0.1 - has-proto: ^1.0.3 is-typed-array: ^1.1.13 possible-typed-array-names: ^1.0.0 - checksum: 82f5b666155cff1b345a1f3ab018d3f7667990f525435e4c8448cc094ab0f8ea283bb7cbde4d7bc82ea0b9b1072523bf31e86620d72615951d7fa9ccb4f42dfa + reflect.getprototypeof: ^1.0.6 + checksum: deb1a4ffdb27cd930b02c7030cb3e8e0993084c643208e52696e18ea6dd3953dfc37b939df06ff78170423d353dc8b10d5bae5796f3711c1b3abe52872b3774c languageName: node linkType: hard @@ -44205,13 +44878,13 @@ __metadata: linkType: hard "typeorm-adapter@npm:^1.6.1": - version: 1.6.2 - resolution: "typeorm-adapter@npm:1.6.2" + version: 1.7.0 + resolution: "typeorm-adapter@npm:1.7.0" dependencies: casbin: ^5.27.0 reflect-metadata: ^0.1.13 typeorm: ^0.3.17 - checksum: 53b6e6f883b3ef1b2d308cc4ea9f9727e119d1a9d11dbe481a69006ee20029188ff528e17563ffa43b51e90bbac168dbeb847eab6f33b7eb61a7604f5a131005 + checksum: 9762691d3f8105a8333eee71eb809841810166f6fc385134fe4a27e3ea6d71fb773a9ec19e9bcb9c013d31d5b181c30e563d7d9848ae05a045f305f28b0de186 languageName: node linkType: hard @@ -44415,11 +45088,11 @@ __metadata: linkType: hard "uglify-js@npm:^3.1.4": - version: 3.17.4 - resolution: "uglify-js@npm:3.17.4" + version: 3.19.3 + resolution: "uglify-js@npm:3.19.3" bin: uglifyjs: bin/uglifyjs - checksum: 7b3897df38b6fc7d7d9f4dcd658599d81aa2b1fb0d074829dd4e5290f7318dbca1f4af2f45acb833b95b1fe0ed4698662ab61b87e94328eb4c0a0d3435baf924 + checksum: 7ed6272fba562eb6a3149cfd13cda662f115847865c03099e3995a0e7a910eba37b82d4fccf9e88271bb2bcbe505bb374967450f433c17fa27aa36d94a8d0553 languageName: node linkType: hard @@ -44453,15 +45126,15 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" dependencies: - call-bind: ^1.0.2 + call-bound: ^1.0.3 has-bigints: ^1.0.2 - has-symbols: ^1.0.3 - which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + has-symbols: ^1.1.0 + which-boxed-primitive: ^1.1.1 + checksum: 729f13b84a5bfa3fead1d8139cee5c38514e63a8d6a437819a473e241ba87eeb593646568621c7fc7f133db300ef18d65d1a5a60dc9c7beb9000364d93c581df languageName: node linkType: hard @@ -44473,9 +45146,9 @@ __metadata: linkType: hard "underscore@npm:^1.12.1": - version: 1.13.6 - resolution: "underscore@npm:1.13.6" - checksum: d5cedd14a9d0d91dd38c1ce6169e4455bb931f0aaf354108e47bd46d3f2da7464d49b2171a5cf786d61963204a42d01ea1332a903b7342ad428deaafaf70ec36 + version: 1.13.7 + resolution: "underscore@npm:1.13.7" + checksum: 174b011af29e4fbe2c70eb2baa8bfab0d0336cf2f5654f364484967bc6264a86224d0134b9176e4235c8cceae00d11839f0fd4824268de04b11c78aca1241684 languageName: node linkType: hard @@ -44493,6 +45166,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.20.0": + version: 6.20.0 + resolution: "undici-types@npm:6.20.0" + checksum: b7bc50f012dc6afbcce56c9fd62d7e86b20a62ff21f12b7b5cbf1973b9578d90f22a9c7fe50e638e96905d33893bf2f9f16d98929c4673c2480de05c6c96ea8b + languageName: node + linkType: hard + "undici@npm:6.19.8": version: 6.19.8 resolution: "undici@npm:6.19.8" @@ -44500,6 +45180,15 @@ __metadata: languageName: node linkType: hard +"undici@npm:^5.28.4": + version: 5.28.5 + resolution: "undici@npm:5.28.5" + dependencies: + "@fastify/busboy": ^2.0.0 + checksum: a402d699a602a8feee1c0f78267467c8ffcbd7682267fec7a1307fd11554a32976a2307bf1cc8bf6ef7a667654336592fbd66d675df20ce28357536fb55a3a7d + languageName: node + linkType: hard + "unfetch@npm:^3.1.1": version: 3.1.2 resolution: "unfetch@npm:3.1.2" @@ -44515,9 +45204,9 @@ __metadata: linkType: hard "unicode-canonical-property-names-ecmascript@npm:^2.0.0": - version: 2.0.0 - resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" - checksum: 39be078afd014c14dcd957a7a46a60061bc37c4508ba146517f85f60361acf4c7539552645ece25de840e17e293baa5556268d091ca6762747fdd0c705001a45 + version: 2.0.1 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.1" + checksum: 3c3dabdb1d22aef4904399f9e810d0b71c0b12b3815169d96fac97e56d5642840c6071cf709adcace2252bc6bb80242396c2ec74b37224eb015c5f7aca40bad7 languageName: node linkType: hard @@ -44532,9 +45221,9 @@ __metadata: linkType: hard "unicode-match-property-value-ecmascript@npm:^2.1.0": - version: 2.1.0 - resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" - checksum: 8d6f5f586b9ce1ed0e84a37df6b42fdba1317a05b5df0c249962bd5da89528771e2d149837cad11aa26bcb84c35355cb9f58a10c3d41fa3b899181ece6c85220 + version: 2.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.2.0" + checksum: 9e3151e1d0bc6be35c4cef105e317c04090364173e8462005b5cde08a1e7c858b6586486cfebac39dc2c6c8c9ee24afb245de6d527604866edfa454fe2a35fae languageName: node linkType: hard @@ -44584,6 +45273,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" + dependencies: + unique-slug: ^5.0.0 + checksum: 6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df + languageName: node + linkType: hard + "unique-slug@npm:^4.0.0": version: 4.0.0 resolution: "unique-slug@npm:4.0.0" @@ -44593,6 +45291,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 222d0322bc7bbf6e45c08967863212398313ef73423f4125e075f893a02405a5ffdbaaf150f7dd1e99f8861348a486dd079186d27c5f2c60e465b7dcbb1d3e5b + languageName: node + linkType: hard + "unist-util-generated@npm:^2.0.0": version: 2.0.1 resolution: "unist-util-generated@npm:2.0.1" @@ -44636,16 +45343,6 @@ __metadata: languageName: node linkType: hard -"unist-util-remove-position@npm:^5.0.0": - version: 5.0.0 - resolution: "unist-util-remove-position@npm:5.0.0" - dependencies: - "@types/unist": ^3.0.0 - unist-util-visit: ^5.0.0 - checksum: 8aabdb9d0e3e744141bc123d8f87b90835d521209ad3c6c4619d403b324537152f0b8f20dda839b40c3aa0abfbf1828b3635a7a8bb159c3ed469e743023510ee - languageName: node - linkType: hard - "unist-util-stringify-position@npm:^3.0.0": version: 3.0.3 resolution: "unist-util-stringify-position@npm:3.0.3" @@ -44684,7 +45381,7 @@ __metadata: languageName: node linkType: hard -"unist-util-visit@npm:^4.0.0, unist-util-visit@npm:^4.1.1": +"unist-util-visit@npm:^4.0.0": version: 4.1.2 resolution: "unist-util-visit@npm:4.1.2" dependencies: @@ -44707,12 +45404,12 @@ __metadata: linkType: hard "universal-github-app-jwt@npm:^1.1.1, universal-github-app-jwt@npm:^1.1.2": - version: 1.1.2 - resolution: "universal-github-app-jwt@npm:1.1.2" + version: 1.2.0 + resolution: "universal-github-app-jwt@npm:1.2.0" dependencies: "@types/jsonwebtoken": ^9.0.0 jsonwebtoken: ^9.0.2 - checksum: 1bc069c57d319607d4b52143ba89de18cdff2b6afb63107e6972dff9574c7fc453f1a6bb1714817c72898a55c37fa38783be965ebd1c61de661231ca061440d1 + checksum: e5d1f80ec3b0fa3eb28049d39e624ca51cd367aaeabebb5858cdf7d2a04d19b70446b6fcdaa01e26e550a93aba43754729372e44908e036d409e65a4b17acb2a languageName: node linkType: hard @@ -44789,16 +45486,16 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" + version: 1.1.2 + resolution: "update-browserslist-db@npm:1.1.2" dependencies: escalade: ^3.2.0 - picocolors: ^1.1.0 + picocolors: ^1.1.1 peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 2ea11bd2562122162c3e438d83a1f9125238c0844b6d16d366e3276d0c0acac6036822dc7df65fc5a89c699cdf9f174acf439c39bedf3f9a2f3983976e4b4c3e + checksum: 088d2bad8ddeaeccd82d87d3f6d736d5256d697b725ffaa2b601dfd0ec16ba5fad20db8dcdccf55396e1a36194236feb69e3f5cce772e5be15a5e4261ff2815d languageName: node linkType: hard @@ -44834,7 +45531,7 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.10, url-parse@npm:^1.5.3": +"url-parse@npm:^1.4.3, url-parse@npm:^1.5.10, url-parse@npm:^1.5.3": version: 1.5.10 resolution: "url-parse@npm:1.5.10" dependencies: @@ -44852,12 +45549,12 @@ __metadata: linkType: hard "url@npm:^0.11.0": - version: 0.11.3 - resolution: "url@npm:0.11.3" + version: 0.11.4 + resolution: "url@npm:0.11.4" dependencies: punycode: ^1.4.1 - qs: ^6.11.2 - checksum: f9e7886f46a16f96d2e42fbcc5d682c231c55ef5442c1ff66150c0f6556f6e3a97d094a84f51be15ec2432711d212eb60426659ce418f5fcadeaa3f601532c4e + qs: ^6.12.3 + checksum: c25e587723d343d5d4248892393bfa5039ded9c2c07095a9d005bc64b7cb8956d623c0d8da8d1a28f71986a7a8d80fc2e9f9cf84235e48fa435a5cb4451062c6 languageName: node linkType: hard @@ -44875,18 +45572,18 @@ __metadata: languageName: node linkType: hard -"use-callback-ref@npm:^1.3.0": - version: 1.3.1 - resolution: "use-callback-ref@npm:1.3.1" +"use-callback-ref@npm:^1.3.3": + version: 1.3.3 + resolution: "use-callback-ref@npm:1.3.3" dependencies: tslib: ^2.0.0 peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 6a6a3a8bfe88f466eab982b8a92e5da560a7127b3b38815e89bc4d195d4b33aa9a53dba50d93e8138e7502bcc7e39efe9f2735a07a673212630990c73483e8e9 + checksum: 4da1c82d7a2409cee6c882748a40f4a083decf238308bf12c3d0166f0e338f8d512f37b8d11987eb5a421f14b9b5b991edf3e11ed25c3bb7a6559081f8359b44 languageName: node linkType: hard @@ -44909,40 +45606,40 @@ __metadata: languageName: node linkType: hard -"use-resize-observer@npm:^8.0.0": - version: 8.0.0 - resolution: "use-resize-observer@npm:8.0.0" +"use-resize-observer@npm:^9.1.0": + version: 9.1.0 + resolution: "use-resize-observer@npm:9.1.0" dependencies: "@juggle/resize-observer": ^3.3.1 peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 944ce47811f6056b481ce2f1550c2881bd5c25838cae2e0fb0bc0ed4aad7b5f2e55dcc0fc52107998ecfb602446465f94b2e728d3f3259fe8e6d4a3031cfb24a + react: 16.8.0 - 18 + react-dom: 16.8.0 - 18 + checksum: 92be0ac34a3b3cf884cd55847c90792b5b44833dc258e96d650152815ad246afe45825aa223332203004d836535a927ab74f18dc0313229e2c7c69510eddf382 languageName: node linkType: hard "use-sidecar@npm:^1.1.2": - version: 1.1.2 - resolution: "use-sidecar@npm:1.1.2" + version: 1.1.3 + resolution: "use-sidecar@npm:1.1.3" dependencies: detect-node-es: ^1.1.0 tslib: ^2.0.0 peerDependencies: - "@types/react": ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + "@types/react": "*" + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: "@types/react": optional: true - checksum: 925d1922f9853e516eaad526b6fed1be38008073067274f0ecc3f56b17bb8ab63480140dd7c271f94150027c996cea4efe83d3e3525e8f3eda22055f6a39220b + checksum: 88664c6b2c5b6e53e4d5d987694c9053cea806da43130248c74ca058945c8caa6ccb7b1787205a9eb5b9d124633e42153848904002828acabccdc48cda026622 languageName: node linkType: hard -"use-sync-external-store@npm:^1.0.0, use-sync-external-store@npm:^1.2.0": - version: 1.2.0 - resolution: "use-sync-external-store@npm:1.2.0" +"use-sync-external-store@npm:^1.2.0, use-sync-external-store@npm:^1.4.0": + version: 1.4.0 + resolution: "use-sync-external-store@npm:1.4.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 5c639e0f8da3521d605f59ce5be9e094ca772bd44a4ce7322b055a6f58eeed8dda3c94cabd90c7a41fb6fa852210092008afe48f7038792fd47501f33299116a + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: dc3843a1b59ac8bd01417bd79498d4c688d5df8bf4801be50008ef4bfaacb349058c0b1605b5b43c828e0a2d62722d7e861573b3f31cea77a7f23e8b0fc2f7e3 languageName: node linkType: hard @@ -45023,12 +45720,12 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^11.0.0": - version: 11.0.3 - resolution: "uuid@npm:11.0.3" +"uuid@npm:^11.0.0, uuid@npm:^11.0.2": + version: 11.0.5 + resolution: "uuid@npm:11.0.5" bin: uuid: dist/esm/bin/uuid - checksum: 646181c77e8b8df9bd07254faa703943e1c4d5ccde7d080312edf12f443f6c5750801fd9b27bf2e628594182165e6b1b880c0382538f7eca00b26622203741dc + checksum: 8a8ed824c77ccc9387eed3049e75268a862379f0d41222716020743c438f31e9acfbe6495bd4cb1a7727c91fcf5ae20be40b306826a62c96f9ff42db48e8ed93 languageName: node linkType: hard @@ -45072,13 +45769,13 @@ __metadata: linkType: hard "v8-to-istanbul@npm:^9.0.1": - version: 9.2.0 - resolution: "v8-to-istanbul@npm:9.2.0" + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" dependencies: "@jridgewell/trace-mapping": ^0.3.12 "@types/istanbul-lib-coverage": ^2.0.1 convert-source-map: ^2.0.0 - checksum: 31ef98c6a31b1dab6be024cf914f235408cd4c0dc56a5c744a5eea1a9e019ba279e1b6f90d695b78c3186feed391ed492380ccf095009e2eb91f3d058f0b4491 + checksum: ded42cd535d92b7fd09a71c4c67fb067487ef5551cc227bfbf2a1f159a842e4e4acddaef20b955789b8d3b455b9779d036853f4a27ce15007f6364a4d30317ae languageName: node linkType: hard @@ -45227,270 +45924,269 @@ __metadata: languageName: node linkType: hard -"vfile@npm:^6.0.0": - version: 6.0.2 - resolution: "vfile@npm:6.0.2" +"vfile@npm:^6.0.0, vfile@npm:^6.0.3": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" dependencies: "@types/unist": ^3.0.0 - unist-util-stringify-position: ^4.0.0 vfile-message: ^4.0.0 - checksum: 2f3f405654aa549f1902dfe0cefa5f0d785f9f65cb90989b9ab543166afabf30f9c5c4bda734d78cf08e169dd7cba08af4cdcae5563f89782caf1d4719c57646 + checksum: 152b6729be1af70df723efb65c1a1170fd483d41086557da3651eea69a1dd1f0c22ea4344834d56d30734b9185bcab63e22edc81d3f0e9bed8aa4660d61080af languageName: node linkType: hard -"victory-area@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-area@npm:36.9.2" +"victory-area@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-area@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 - victory-vendor: ^36.9.2 + victory-core: 37.3.6 + victory-vendor: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: dba169e980c595d1ba0a99ed1d4c60c8bc41feab51c15ab4549dde4ec1d0d090a584902c550b1799d6665dc88125b99962b948f8b6a7db21434faa1b45d222a7 + checksum: cdbdafd6ac776664bc64242330b64b5a33a596a02e12827d8bf67e2946f4f9b519e11972b6ee2a5b2e9c994e0bb301067e607dfc331892118ee310bee8d9f6e5 languageName: node linkType: hard -"victory-axis@npm:^36.9.1, victory-axis@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-axis@npm:36.9.2" +"victory-axis@npm:37.3.6, victory-axis@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-axis@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 6603a29023a2c8946ef7ef8875f8907eac80526b97c9ebfc63425e5c8b725d0c0aa2de516cd83cd497fe0c8a312fe57995294ae3342789bc45a28764d69f7cb0 + checksum: 20b1aae0b63a6274c9eadf644f3128f2c488a0b67907b56898575942b4963c46b432b04be1ae3a4405d20610edae9353bbdb8ac4505674526d2884ad76af486a languageName: node linkType: hard -"victory-bar@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-bar@npm:36.9.2" +"victory-bar@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-bar@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 - victory-vendor: ^36.9.2 + victory-core: 37.3.6 + victory-vendor: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 346924e20912845840fa1db6f86c0cadc142adcf697635d70e34665fe0ff2297a58e13ef429ad5999912f4c5c9fcdaffa5a33f536747598697b3cc598c4a0418 + checksum: ed809266fcdfbbe5430b1f28d723be2859652a5612b7b315267163cbf1b8f680df69fe42d8c175235dc9d412fb9671cedcd416766e0f251a11883a6c9afceb22 languageName: node linkType: hard -"victory-box-plot@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-box-plot@npm:36.9.2" +"victory-box-plot@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-box-plot@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 - victory-vendor: ^36.9.2 + victory-core: 37.3.6 + victory-vendor: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: f0e6d7a99d9d4209ad6f9340b0082d761857c9792e3d93e964682b5f516da7e2a5ef1399df8fdee0fe5e1f16ee4a79db1c0f4da5dbf9210c73a3373f3cd34d17 + checksum: d968468c761e43e50c7317f32ac5624e5cb66748096d608b8026b7cd9b8af5204f437e3c903e735ec77aad0d5cc2a1450bf0b8511ba2c21bc2c3704d1b88ec11 languageName: node linkType: hard -"victory-brush-container@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-brush-container@npm:36.9.2" +"victory-brush-container@npm:37.3.6": + version: 37.3.6 + resolution: "victory-brush-container@npm:37.3.6" dependencies: lodash: ^4.17.19 react-fast-compare: ^3.2.0 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: f2f0b260ef208f5ece274f814ca1f788979333690f69485065d2fa74f75cc4e1a37732ff2e00f055fec50a3195871890f3476dadc9760ce8bdeadf296212fa96 + checksum: dca37f1951f2bea7b8bb0d925364aa279ceadb7f7afe39443e1a748e63b718e57a44b1afada1958e515f1b52e795c4f6f6ab0a44b042ac6334cd9199fa24e9be languageName: node linkType: hard -"victory-chart@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-chart@npm:36.9.2" +"victory-chart@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-chart@npm:37.3.6" dependencies: lodash: ^4.17.19 react-fast-compare: ^3.2.0 - victory-axis: ^36.9.2 - victory-core: ^36.9.2 - victory-polar-axis: ^36.9.2 - victory-shared-events: ^36.9.2 + victory-axis: 37.3.6 + victory-core: 37.3.6 + victory-polar-axis: 37.3.6 + victory-shared-events: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 2ab2edd55035087ec4a3b039fe0a9d8ecc53cb3a8d667068574122a709e7d1fd85c2cdbb2306c1d326afd44ae423cb194c4b79e0dce8f07c89b7fa2fee12978a + checksum: 1f9458752b58f7525e635c1e4652f328c0fd6a41a375f0660f785b01158327175bc69eafbf740c5f1609cfe8a792202b8d2dea53901d2caf5a45e40b1f5526b1 languageName: node linkType: hard -"victory-core@npm:^36.9.1, victory-core@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-core@npm:36.9.2" +"victory-core@npm:37.3.6, victory-core@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-core@npm:37.3.6" dependencies: lodash: ^4.17.21 react-fast-compare: ^3.2.0 - victory-vendor: ^36.9.2 + victory-vendor: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: da17211f4b40a38b6dcb5fe7a32221bfaa870f2813f3cc95fcd7eb60bb357d4246ac69127fd7c90d40e1efaab05dffaed656fa1c14e0b7a444da8a2a3d401d4e + checksum: 82a2184c2d406cf66bc2689fca8ab86080fc8b6c6fd1bdc1200f1b12a37a1f8afef7da40f9beb2d059c45211a6d6bb4703086ef70ef087d477c810047ab20ce6 languageName: node linkType: hard -"victory-create-container@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-create-container@npm:36.9.2" +"victory-create-container@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-create-container@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-brush-container: ^36.9.2 - victory-core: ^36.9.2 - victory-cursor-container: ^36.9.2 - victory-selection-container: ^36.9.2 - victory-voronoi-container: ^36.9.2 - victory-zoom-container: ^36.9.2 + victory-brush-container: 37.3.6 + victory-core: 37.3.6 + victory-cursor-container: 37.3.6 + victory-selection-container: 37.3.6 + victory-voronoi-container: 37.3.6 + victory-zoom-container: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 6bc4ac3eb2e85d715c56353beb4f8400fa39658e8af5e0fabed3f0f6015091c50598947b1b0909bab67d0592bb804394e7962f8732915160f55501341f37f224 + checksum: 706243405e09669c7c789ceeaa517000fdb73503015059f74ea0f43b39e41574a7a7cc9873eb4959be5863af465bdfdf0440a54904f26d9f16d807e728f70d1a languageName: node linkType: hard -"victory-cursor-container@npm:^36.9.1, victory-cursor-container@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-cursor-container@npm:36.9.2" +"victory-cursor-container@npm:37.3.6, victory-cursor-container@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-cursor-container@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: d93f8d7e09a02ce507d0bbccf1bd1ab0446ba8ff734e3242456cf97d69d12ce987945a273f26ba6e92c0e27b41e314b13805d25c3cdcfca66f38baba41d8f284 + checksum: 85d9c21698b36f0f2d4874fa185d24c47c7c54c0a5323de9ac75c80fc72f22fc45cbd5223cf5e5d0a92bd341e90c306567a41e3e9a1370a61151febcfdb405af languageName: node linkType: hard -"victory-group@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-group@npm:36.9.2" +"victory-group@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-group@npm:37.3.6" dependencies: lodash: ^4.17.19 react-fast-compare: ^3.2.0 - victory-core: ^36.9.2 - victory-shared-events: ^36.9.2 + victory-core: 37.3.6 + victory-shared-events: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 8d7397a58d33bb78f827a76dbe1e2aa1faf163d3efe94259b8cc162ed161c731622af3717543bbc24a0f57ce75faf0bdc5cbe08a78a42a004b69754c88e71dca + checksum: 9213ef78ff64435d2c23abe9f56279eb885bc4435e750df73efcd124792b1f4202df541da5ea7b9ef7d292c3fc87ab82cd9599451212f0ed4569bd75d6dc6a03 languageName: node linkType: hard -"victory-legend@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-legend@npm:36.9.2" +"victory-legend@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-legend@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 0ae0001ac030778af83b2a651fb54cb6ff4227892065251078a38dd84df289eabb1d0ae8c2ffc296bdc08066d45c99c7575794160dbc84b8f0712b20ccaeee2c + checksum: de336049a844c7f858a2764279939a1e9d51324610703a9eb86ef4acd7171ec86e0be81624da94fd098c060b50eea1de6d7ae8290aebad5081f11e46b6793c4e languageName: node linkType: hard -"victory-line@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-line@npm:36.9.2" +"victory-line@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-line@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 - victory-vendor: ^36.9.2 + victory-core: 37.3.6 + victory-vendor: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: cfe9352ef7deedc57a95dd3f721a0392efeb84079e4ced6a562fe5d29e54d3c148ad8a0ea8823c69f28243f9c8a21cb89e2abc1a2f6faec56c88e82eb7606c55 + checksum: 28e19fc266c561f9958615698e012e5fa31b9ab707ab58879aabe861095762ad42210fcc9885475baa37b22f106e685a9da27f942931686c05b454f1671274cd languageName: node linkType: hard -"victory-pie@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-pie@npm:36.9.2" +"victory-pie@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-pie@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 - victory-vendor: ^36.9.2 + victory-core: 37.3.6 + victory-vendor: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: d566c018ef8c6656f00e7b1e57ea3b85cdc1a823e10f9c6255d2677e0774a6828941e6771657bf3570ad59e0f4b06efc209f6bf4f49e3ca95e4ac85f6ef421f3 + checksum: 5c520f6aa570638236a5284875f5271cbd5dafd054594c48f7cf686fd3550ba58c1df5a91bf833232ab200e6110fe2cdaf043dc51a7426620f961e67a6ef5da0 languageName: node linkType: hard -"victory-polar-axis@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-polar-axis@npm:36.9.2" +"victory-polar-axis@npm:37.3.6": + version: 37.3.6 + resolution: "victory-polar-axis@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 4f75896f8769cf731f084c56f9eaa32cbd7d758d4a56efc8f1c17626c3a05dc626651b694310c50d9460169ad1ee491e6136f53b3316a6fd583836c6e8d41779 + checksum: 4fba178543a618ee225b2b2a618479cfcaa0b121cdb9db7baf038142d88e03a031d0784c141054ecceb5c652f3078615df669a77ae42ba83a2b3e6b0b8a23129 languageName: node linkType: hard -"victory-scatter@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-scatter@npm:36.9.2" +"victory-scatter@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-scatter@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 550be1b42b5b75ad273312999dc0d1b01580f4fadfb49cc699740d65ecff403564ac435667df705c7cb8924e380fa713a26e30c6b5a78876f2c3c47b6b08d78f + checksum: 936941a8ecb5d81362797c71bceeab58f7a74363da3e44b16874f6ba6bf8db5b0707ad1df5f17550c91e8016b1c534e23eb8394c11717d6df0574d59c0598759 languageName: node linkType: hard -"victory-selection-container@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-selection-container@npm:36.9.2" +"victory-selection-container@npm:37.3.6": + version: 37.3.6 + resolution: "victory-selection-container@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: d40b6839482d7c299417e6c85cca82b113196544ccee2a155e3e2e49feb4c06f8545f301bad2e01478fe810caa9cef3426c73adc1e9b6fe681548de9beeb814a + checksum: 23deaf022669ff7e1759808bd32b0f96def435dd85e6775c909bcf2c48d1bdb36382012f19cf31f67be42add2baed7d46c2f91f4709132ed336f553c6ca08539 languageName: node linkType: hard -"victory-shared-events@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-shared-events@npm:36.9.2" +"victory-shared-events@npm:37.3.6": + version: 37.3.6 + resolution: "victory-shared-events@npm:37.3.6" dependencies: json-stringify-safe: ^5.0.1 lodash: ^4.17.19 react-fast-compare: ^3.2.0 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 6f36bedc1644a657009ccc7c291152f89d3757623e99cee2714eb1262e79fb9fd85fa215709a52184080da0c0486926cc4493338608deef111e44f80704829ec + checksum: a784077ec685451b8a447fd28865bb45a94f771ce02569bfa2837282fa8e3c9ccb38a0430394abc8d5fd02788743a92a202fb1a40c6916c38ccb36c368c28721 languageName: node linkType: hard -"victory-stack@npm:^36.9.1": - version: 36.9.2 - resolution: "victory-stack@npm:36.9.2" +"victory-stack@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-stack@npm:37.3.6" dependencies: lodash: ^4.17.19 react-fast-compare: ^3.2.0 - victory-core: ^36.9.2 - victory-shared-events: ^36.9.2 + victory-core: 37.3.6 + victory-shared-events: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 6ecedec0d0a4c8a0e0697b530be190541772122a6ffb3de0dd13fa8d0985c0c11441ca302fc9b93495610b9f824207f9d318a450bf9d657c540c88bf5fc34c35 + checksum: c0c27fe303856d42babba94b1e70a37c40a652de6bb0b65b106ade3b70f0ab79a43b684ae2c1d8dd5039aa603aff60f6a40325a56e87fba5f86eefe469824d3d languageName: node linkType: hard -"victory-tooltip@npm:^36.9.1, victory-tooltip@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-tooltip@npm:36.9.2" +"victory-tooltip@npm:37.3.6, victory-tooltip@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-tooltip@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: 43499f0dad993755b96baafd09bf7578b88cf598d09cc8d926cba1debcd4ba8645e0bb2d0692d6b97275830261b7749d2189deb2873495929db2103b0c23e2a6 + checksum: 1e951d66de17ee863ff1a29bb8a7e9d2e39a8f0c10af80a0506daec3518d3c0d97320cd7d2d3dbc793521182e3d7c27bfe9e64045a3994d8dde1d071e815e40c languageName: node linkType: hard -"victory-vendor@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-vendor@npm:36.9.2" +"victory-vendor@npm:37.3.6": + version: 37.3.6 + resolution: "victory-vendor@npm:37.3.6" dependencies: "@types/d3-array": ^3.0.3 "@types/d3-ease": ^3.0.0 @@ -45506,34 +46202,34 @@ __metadata: d3-shape: ^3.1.0 d3-time: ^3.0.0 d3-timer: ^3.0.1 - checksum: a755110e287b700202d08ac81982093ab100edaa9d61beef1476d59e9705605bd8299a3aa41fa04b933a12bd66737f4c8f7d18448dd6488c69d4f72480023a2e + checksum: fc49f195823f59466ac66d10266e5af783777a1da2f84aad7d3023ce2db149fd1522f1ecbd6d3223849ec1f4c33ba2e8fd9a5eb0443f076698c5832ed574731a languageName: node linkType: hard -"victory-voronoi-container@npm:^36.9.1, victory-voronoi-container@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-voronoi-container@npm:36.9.2" +"victory-voronoi-container@npm:37.3.6, victory-voronoi-container@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-voronoi-container@npm:37.3.6" dependencies: delaunay-find: 0.0.6 lodash: ^4.17.19 react-fast-compare: ^3.2.0 - victory-core: ^36.9.2 - victory-tooltip: ^36.9.2 + victory-core: 37.3.6 + victory-tooltip: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: c59ba256f1479d69749c93b0c7aa25f1f99a705e40a5cc0cee474fb1f150012ddae8fb8e75bc79c14254efb5581fb946d24041b4af965d294a84106f843625f5 + checksum: ae5e181dc66d293c9999c99487a51a34480d30992949cbae8a26d9af99fa60f5ff677042cb59c0c89a01a21c056b142dcc497ecf8579fc3a8bc6f293da177887 languageName: node linkType: hard -"victory-zoom-container@npm:^36.9.1, victory-zoom-container@npm:^36.9.2": - version: 36.9.2 - resolution: "victory-zoom-container@npm:36.9.2" +"victory-zoom-container@npm:37.3.6, victory-zoom-container@npm:^37.3.4": + version: 37.3.6 + resolution: "victory-zoom-container@npm:37.3.6" dependencies: lodash: ^4.17.19 - victory-core: ^36.9.2 + victory-core: 37.3.6 peerDependencies: react: ">=16.6.0" - checksum: dae761dd860a08c9451dbf2d237dced2bb08599b5bedf269b3c2cc75b137b599bba0c7721fb0e062d95bbf22312c2d30f909ad220ea7c0923d3799df311df76d + checksum: b4752ef34e2e54f5b6dbf33ae5cb9f5b97377221a49730061ad0a152e88cbcd8324f64dd69dd48f400e7193f5d837e57b51d8fc9bb2649a875fc4dc69f857203 languageName: node linkType: hard @@ -45551,15 +46247,6 @@ __metadata: languageName: node linkType: hard -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 - languageName: node - linkType: hard - "w3c-keyname@npm:^2.2.4": version: 2.2.8 resolution: "w3c-keyname@npm:2.2.8" @@ -45567,15 +46254,6 @@ __metadata: languageName: node linkType: hard -"w3c-xmlserializer@npm:^2.0.0": - version: 2.0.0 - resolution: "w3c-xmlserializer@npm:2.0.0" - dependencies: - xml-name-validator: ^3.0.0 - checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b - languageName: node - linkType: hard - "w3c-xmlserializer@npm:^4.0.0": version: 4.0.0 resolution: "w3c-xmlserializer@npm:4.0.0" @@ -45585,6 +46263,15 @@ __metadata: languageName: node linkType: hard +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" + dependencies: + xml-name-validator: ^5.0.0 + checksum: 593acc1fdab3f3207ec39d851e6df0f3fa41a36b5809b0ace364c7a6d92e351938c53424a7618ce8e0fbaffee8be2e8e070a5734d05ee54666a8bdf1a376cc40 + languageName: node + linkType: hard + "walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -45595,12 +46282,12 @@ __metadata: linkType: hard "watchpack@npm:^2.4.1": - version: 2.4.1 - resolution: "watchpack@npm:2.4.1" + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" dependencies: glob-to-regexp: ^0.4.1 graceful-fs: ^4.1.2 - checksum: 5b0179348655dcdf19cac7cb4ff923fdc024d630650c0bf6bec8899cf47c60e19d4f810a88dba692ed0e7f684cf0fcffea86efdbf6c35d81f031e328043b7fab + checksum: 92d9d52ce3d16fd83ed6994d1dd66a4d146998882f4c362d37adfea9ab77748a5b4d1e0c65fa104797928b2d40f635efa8f9b925a6265428a69f1e1852ca3441 languageName: node linkType: hard @@ -45642,10 +46329,10 @@ __metadata: languageName: node linkType: hard -"web-tree-sitter@npm:=0.20.3": - version: 0.20.3 - resolution: "web-tree-sitter@npm:0.20.3" - checksum: 1187b48d69d6f6319c74ca8f413e8d7c1703869a351070053351ef169c045aad16e5c6b2a73779beaade2f0b6bb3433166363355c9d02e9b2dcf60a195dbffdb +"web-tree-sitter@npm:=0.24.5": + version: 0.24.5 + resolution: "web-tree-sitter@npm:0.24.5" + checksum: 4b380571801557a6cfb5e599b9be2da49439e5c30a1c3e3a204d9408afcbe476f25ce54e956959ce8753e1a9fff74634af2cf9b9365acc7b0ff97d73ecae0010 languageName: node linkType: hard @@ -45668,20 +46355,6 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 - languageName: node - linkType: hard - -"webidl-conversions@npm:^6.1.0": - version: 6.1.0 - resolution: "webidl-conversions@npm:6.1.0" - checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb - languageName: node - linkType: hard - "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -45704,9 +46377,9 @@ __metadata: languageName: node linkType: hard -"webpack-dev-middleware@npm:^7.1.0": - version: 7.2.1 - resolution: "webpack-dev-middleware@npm:7.2.1" +"webpack-dev-middleware@npm:^7.4.2": + version: 7.4.2 + resolution: "webpack-dev-middleware@npm:7.4.2" dependencies: colorette: ^2.0.10 memfs: ^4.6.0 @@ -45719,7 +46392,7 @@ __metadata: peerDependenciesMeta: webpack: optional: true - checksum: bb8c75f7ceabc13ee2c3bc9648190e05a0a8c6d40b940ef72b09ea858a63d16bcb434b49995f1025125a1c3a1c8d40274beb5d26ef2fb1458b19e7f6fe3a91fe + checksum: 39314ec5e4468d177dd61fb51af87ec097e920fe0f0dc101e1bf71796740a7e49fd4f7f939cf91e130232714d6d2fffd948d72dc65dec10f87ac30339929f018 languageName: node linkType: hard @@ -45771,8 +46444,8 @@ __metadata: linkType: hard "webpack-dev-server@npm:^5.0.0": - version: 5.0.4 - resolution: "webpack-dev-server@npm:5.0.4" + version: 5.2.0 + resolution: "webpack-dev-server@npm:5.2.0" dependencies: "@types/bonjour": ^3.5.13 "@types/connect-history-api-fallback": ^1.5.4 @@ -45787,23 +46460,20 @@ __metadata: colorette: ^2.0.10 compression: ^1.7.4 connect-history-api-fallback: ^2.0.0 - default-gateway: ^6.0.3 - express: ^4.17.3 + express: ^4.21.2 graceful-fs: ^4.2.6 - html-entities: ^2.4.0 - http-proxy-middleware: ^2.0.3 + http-proxy-middleware: ^2.0.7 ipaddr.js: ^2.1.0 launch-editor: ^2.6.1 open: ^10.0.3 p-retry: ^6.2.0 - rimraf: ^5.0.5 schema-utils: ^4.2.0 selfsigned: ^2.4.1 serve-index: ^1.9.1 sockjs: ^0.3.24 spdy: ^4.0.2 - webpack-dev-middleware: ^7.1.0 - ws: ^8.16.0 + webpack-dev-middleware: ^7.4.2 + ws: ^8.18.0 peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: @@ -45813,7 +46483,7 @@ __metadata: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: b3535d01e8d895f4ce6d74b5f76e29398b712476216cd6d459365e5cc2f2fb1e49240aef6c23b2b943b04dbf768d7d18301af3eb064038bde4e11d03c241202d + checksum: 87b7acc194cfa3e5c95cd797bf1f0c2ffc8718bbc02e8f47777b9a861a6b7691f27c5138162ba2a9ac2c337d122e14f220342789c290027a3f9db44b4af104c9 languageName: node linkType: hard @@ -45842,16 +46512,16 @@ __metadata: linkType: hard "webpack@npm:^5.70.0, webpack@npm:^5.89.0, webpack@npm:^5.94.0": - version: 5.95.0 - resolution: "webpack@npm:5.95.0" - dependencies: - "@types/estree": ^1.0.5 - "@webassemblyjs/ast": ^1.12.1 - "@webassemblyjs/wasm-edit": ^1.12.1 - "@webassemblyjs/wasm-parser": ^1.12.1 - acorn: ^8.7.1 - acorn-import-attributes: ^1.9.5 - browserslist: ^4.21.10 + version: 5.97.1 + resolution: "webpack@npm:5.97.1" + dependencies: + "@types/eslint-scope": ^3.7.7 + "@types/estree": ^1.0.6 + "@webassemblyjs/ast": ^1.14.1 + "@webassemblyjs/wasm-edit": ^1.14.1 + "@webassemblyjs/wasm-parser": ^1.14.1 + acorn: ^8.14.0 + browserslist: ^4.24.0 chrome-trace-event: ^1.0.2 enhanced-resolve: ^5.17.1 es-module-lexer: ^1.2.1 @@ -45873,7 +46543,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 0c3dfe288de4d62f8f3dc25478a618894883cab739121330763b7847e43304630ea2815ae2351a5f8ff6ab7c9642caf530d503d89bda261fe2cd220e524dd5d1 + checksum: 649065e2258b495ae41a4088be804b4be2ec07d280aa514ebef43da79caf96fa973d26a08826c3902b5676a098d9b37c589f16be7b4da17b68b08b6c76441196 languageName: node linkType: hard @@ -45895,15 +46565,6 @@ __metadata: languageName: node linkType: hard -"whatwg-encoding@npm:^1.0.5": - version: 1.0.5 - resolution: "whatwg-encoding@npm:1.0.5" - dependencies: - iconv-lite: 0.4.24 - checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 - languageName: node - linkType: hard - "whatwg-encoding@npm:^2.0.0": version: 2.0.0 resolution: "whatwg-encoding@npm:2.0.0" @@ -45913,6 +46574,15 @@ __metadata: languageName: node linkType: hard +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: 0.6.3 + checksum: f75a61422421d991e4aec775645705beaf99a16a88294d68404866f65e92441698a4f5b9fa11dd609017b132d7b286c3c1534e2de5b3e800333856325b549e3c + languageName: node + linkType: hard + "whatwg-fetch@npm:^3.4.1, whatwg-fetch@npm:^3.6.0": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" @@ -45920,13 +46590,6 @@ __metadata: languageName: node linkType: hard -"whatwg-mimetype@npm:^2.3.0": - version: 2.3.0 - resolution: "whatwg-mimetype@npm:2.3.0" - checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 - languageName: node - linkType: hard - "whatwg-mimetype@npm:^3.0.0": version: 3.0.0 resolution: "whatwg-mimetype@npm:3.0.0" @@ -45934,6 +46597,13 @@ __metadata: languageName: node linkType: hard +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: f97edd4b4ee7e46a379f3fb0e745de29fe8b839307cc774300fd49059fcdd560d38cb8fe21eae5575b8f39b022f23477cc66e40b0355c2851ce84760339cef30 + languageName: node + linkType: hard + "whatwg-url@npm:^11.0.0": version: 11.0.0 resolution: "whatwg-url@npm:11.0.0" @@ -45944,6 +46614,16 @@ __metadata: languageName: node linkType: hard +"whatwg-url@npm:^14.0.0, whatwg-url@npm:^14.1.0": + version: 14.1.0 + resolution: "whatwg-url@npm:14.1.0" + dependencies: + tr46: ^5.0.0 + webidl-conversions: ^7.0.0 + checksum: e429d1d2a5fc1b7886d9343f5b03d91201a9a32726b13e48a7fb943cf94c276771f6aa648337ae520484deb25b657ce6ad19a90dfca0d2d1c9596e21b438e3a0 + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -45954,72 +46634,63 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": - version: 8.7.0 - resolution: "whatwg-url@npm:8.7.0" - dependencies: - lodash: ^4.7.0 - tr46: ^2.1.0 - webidl-conversions: ^6.1.0 - checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e - languageName: node - linkType: hard - -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"which-boxed-primitive@npm:^1.0.2, which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" dependencies: - is-bigint: ^1.0.1 - is-boolean-object: ^1.1.0 - is-number-object: ^1.0.4 - is-string: ^1.0.5 - is-symbol: ^1.0.3 - checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + is-bigint: ^1.1.0 + is-boolean-object: ^1.2.1 + is-number-object: ^1.1.1 + is-string: ^1.1.1 + is-symbol: ^1.1.1 + checksum: ee41d0260e4fd39551ad77700c7047d3d281ec03d356f5e5c8393fe160ba0db53ef446ff547d05f76ffabfd8ad9df7c9a827e12d4cccdbc8fccf9239ff8ac21e languageName: node linkType: hard -"which-builtin-type@npm:^1.1.3": - version: 1.1.3 - resolution: "which-builtin-type@npm:1.1.3" +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" dependencies: - function.prototype.name: ^1.1.5 - has-tostringtag: ^1.0.0 + call-bound: ^1.0.2 + function.prototype.name: ^1.1.6 + has-tostringtag: ^1.0.2 is-async-function: ^2.0.0 - is-date-object: ^1.0.5 - is-finalizationregistry: ^1.0.2 + is-date-object: ^1.1.0 + is-finalizationregistry: ^1.1.0 is-generator-function: ^1.0.10 - is-regex: ^1.1.4 + is-regex: ^1.2.1 is-weakref: ^1.0.2 isarray: ^2.0.5 - which-boxed-primitive: ^1.0.2 - which-collection: ^1.0.1 - which-typed-array: ^1.1.9 - checksum: 43730f7d8660ff9e33d1d3f9f9451c4784265ee7bf222babc35e61674a11a08e1c2925019d6c03154fcaaca4541df43abe35d2720843b9b4cbcebdcc31408f36 + which-boxed-primitive: ^1.1.0 + which-collection: ^1.0.2 + which-typed-array: ^1.1.16 + checksum: 7a3617ba0e7cafb795f74db418df889867d12bce39a477f3ee29c6092aa64d396955bf2a64eae3726d8578440e26777695544057b373c45a8bcf5fbe920bf633 languageName: node linkType: hard -"which-collection@npm:^1.0.1": - version: 1.0.1 - resolution: "which-collection@npm:1.0.1" +"which-collection@npm:^1.0.1, which-collection@npm:^1.0.2": + version: 1.0.2 + resolution: "which-collection@npm:1.0.2" dependencies: - is-map: ^2.0.1 - is-set: ^2.0.1 - is-weakmap: ^2.0.1 - is-weakset: ^2.0.1 - checksum: c815bbd163107ef9cb84f135e6f34453eaf4cca994e7ba85ddb0d27cea724c623fae2a473ceccfd5549c53cc65a5d82692de418166df3f858e1e5dc60818581c + is-map: ^2.0.3 + is-set: ^2.0.3 + is-weakmap: ^2.0.2 + is-weakset: ^2.0.3 + checksum: c51821a331624c8197916598a738fc5aeb9a857f1e00d89f5e4c03dc7c60b4032822b8ec5696d28268bb83326456a8b8216344fb84270d18ff1d7628051879d9 languageName: node linkType: hard -"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" +"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2": + version: 1.1.18 + resolution: "which-typed-array@npm:1.1.18" dependencies: available-typed-arrays: ^1.0.7 - call-bind: ^1.0.7 + call-bind: ^1.0.8 + call-bound: ^1.0.3 for-each: ^0.3.3 - gopd: ^1.0.1 + gopd: ^1.2.0 has-tostringtag: ^1.0.2 - checksum: 65227dcbfadf5677aacc43ec84356d17b5500cb8b8753059bb4397de5cd0c2de681d24e1a7bd575633f976a95f88233abfd6549c2105ef4ebd58af8aa1807c75 + checksum: d2feea7f51af66b3a240397aa41c796585033e1069f18e5b6d4cd3878538a1e7780596fd3ea9bf347c43d9e98e13be09b37d9ea3887cef29b11bc291fd47bb52 languageName: node linkType: hard @@ -46056,14 +46727,25 @@ __metadata: languageName: node linkType: hard -"winston-transport@npm:^4.5.0, winston-transport@npm:^4.7.0": - version: 4.7.0 - resolution: "winston-transport@npm:4.7.0" +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" dependencies: - logform: ^2.3.2 - readable-stream: ^3.6.0 + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: 6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90 + languageName: node + linkType: hard + +"winston-transport@npm:^4.5.0, winston-transport@npm:^4.7.0, winston-transport@npm:^4.9.0": + version: 4.9.0 + resolution: "winston-transport@npm:4.9.0" + dependencies: + logform: ^2.7.0 + readable-stream: ^3.6.2 triple-beam: ^1.3.0 - checksum: ce074b5c76a99bee5236cf2b4d30fadfaf1e551d566f654f1eba303dc5b5f77169c21545ff5c5e4fdad9f8e815fc6d91b989f1db34161ecca6e860e62fd3a862 + checksum: f5fd06a27def7597229925ba2b8b9ffa61b5b8748f994c8325064744e4e36dfea19868a16c16b3806f9b98bb7da67c25f08ae6fba3bdc6db4a9555673474a972 languageName: node linkType: hard @@ -46087,25 +46769,25 @@ __metadata: linkType: hard "winston@npm:^3.2.1": - version: 3.15.0 - resolution: "winston@npm:3.15.0" + version: 3.17.0 + resolution: "winston@npm:3.17.0" dependencies: "@colors/colors": ^1.6.0 "@dabh/diagnostics": ^2.0.2 async: ^3.2.3 is-stream: ^2.0.0 - logform: ^2.6.0 + logform: ^2.7.0 one-time: ^1.0.0 readable-stream: ^3.4.0 safe-stable-stringify: ^2.3.1 stack-trace: 0.0.x triple-beam: ^1.3.0 - winston-transport: ^4.7.0 - checksum: 2ae6f3a3359fadd90f69a4db20d78aba6901e18114648e48c8538e925511e4820f8d488f19b1c026096ece614732338aa138f4a0fa2c5e29e8fbc53029f55473 + winston-transport: ^4.9.0 + checksum: ba772c25937007cea6cdeddc931de18a1ea336ae7b3aff2c15de762de5c559b2d310ca2e7a911c209711d325e47d653485e33271ddfb27cd73179e35c7d52267 languageName: node linkType: hard -"word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.2.5, word-wrap@npm:~1.2.3": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" checksum: f93ba3586fc181f94afdaff3a6fef27920b4b6d9eaefed0f428f8e07adea2a7f54a5f2830ce59406c8416f033f86902b91eb824072354645eea687dff3691ccb @@ -46180,7 +46862,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:*, ws@npm:8.18.0, ws@npm:^8.11.0, ws@npm:^8.12.0, ws@npm:^8.13.0, ws@npm:^8.15.0, ws@npm:^8.16.0, ws@npm:^8.18.0, ws@npm:^8.8.0": +"ws@npm:*, ws@npm:8.18.0, ws@npm:^8.11.0, ws@npm:^8.13.0, ws@npm:^8.17.1, ws@npm:^8.18.0, ws@npm:^8.8.0": version: 8.18.0 resolution: "ws@npm:8.18.0" peerDependencies: @@ -46196,8 +46878,8 @@ __metadata: linkType: hard "ws@npm:8.17.0": - version: 8.17.1 - resolution: "ws@npm:8.17.1" + version: 8.17.0 + resolution: "ws@npm:8.17.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -46206,22 +46888,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 442badcce1f1178ec87a0b5372ae2e9771e07c4929a3180321901f226127f252441e8689d765aa5cfba5f50ac60dd830954afc5aeae81609aefa11d3ddf5cecf - languageName: node - linkType: hard - -"ws@npm:^7.4.6": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: f9bb062abf54cc8f02d94ca86dcd349c3945d63851f5d07a3a61c2fcb755b15a88e943a63cf580cbdb5b74436d67ef6b67f745b8f7c0814e411379138e1863cb + checksum: 147ef9eab0251364e1d2c55338ad0efb15e6913923ccbfdf20f7a8a6cb8f88432bcd7f4d8f66977135bfad35575644f9983201c1a361019594a4e53977bf6d4e languageName: node linkType: hard @@ -46274,13 +46941,6 @@ __metadata: languageName: node linkType: hard -"xml-name-validator@npm:^3.0.0": - version: 3.0.0 - resolution: "xml-name-validator@npm:3.0.0" - checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 - languageName: node - linkType: hard - "xml-name-validator@npm:^4.0.0": version: 4.0.0 resolution: "xml-name-validator@npm:4.0.0" @@ -46288,13 +46948,10 @@ __metadata: languageName: node linkType: hard -"xml2js@npm:^0.5.0": - version: 0.5.0 - resolution: "xml2js@npm:0.5.0" - dependencies: - sax: ">=0.6.0" - xmlbuilder: ~11.0.0 - checksum: 1aa71d62e5bc2d89138e3929b9ea46459157727759cbc62ef99484b778641c0cd21fb637696c052d901a22f82d092a3e740a16b4ce218e81ac59b933535124ea +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 86effcc7026f437701252fcc308b877b4bc045989049cfc79b0cc112cb365cf7b009f4041fab9fb7cd1795498722c3e9fe9651afc66dfa794c16628a639a4c45 languageName: node linkType: hard @@ -46396,6 +47053,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:4.0.0, yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -46403,13 +47067,6 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 - languageName: node - linkType: hard - "yallist@npm:^5.0.0": version: 5.0.0 resolution: "yallist@npm:5.0.0" @@ -46424,7 +47081,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.7.0": +"yaml@npm:2.7.0, yaml@npm:^2.0.0, yaml@npm:^2.1.1, yaml@npm:^2.2.1, yaml@npm:^2.2.2, yaml@npm:^2.3.3, yaml@npm:^2.3.4, yaml@npm:^2.5.1, yaml@npm:^2.6.0": version: 2.7.0 resolution: "yaml@npm:2.7.0" bin: @@ -46440,7 +47097,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.0.0, yaml@npm:^2.1.1, yaml@npm:^2.2.1, yaml@npm:^2.2.2, yaml@npm:^2.3.3, yaml@npm:^2.3.4, yaml@npm:^2.5.1, yaml@npm:^2.6.0, yaml@npm:~2.6.1": +"yaml@npm:~2.6.1": version: 2.6.1 resolution: "yaml@npm:2.6.1" bin: @@ -46494,23 +47151,23 @@ __metadata: linkType: hard "yauzl@npm:^3.0.0": - version: 3.1.2 - resolution: "yauzl@npm:3.1.2" + version: 3.2.0 + resolution: "yauzl@npm:3.2.0" dependencies: buffer-crc32: ~0.2.3 pend: ~1.2.0 - checksum: 8ed80d4b2dfe749498b77120089bd216f50bbcd463a7a719e84cd92d1ba9ffc64eb90f3a8590f93521fccfc6dad5c757e4cef9aef3d78d94890aab2194450005 + checksum: d16440447bbc4973cf60c455290d6a394c47b82d449193098b10c69a6cc8f3eb003e361a512d1885ca67c96c95351aadb46bfcc47ee2c73a5134743d99275554 languageName: node linkType: hard "yawn-yaml@npm:^2.2.0": - version: 2.2.0 - resolution: "yawn-yaml@npm:2.2.0" + version: 2.3.0 + resolution: "yawn-yaml@npm:2.3.0" dependencies: js-yaml: ^4.1.0 lodash: ^4.17.21 yaml-js: ^0.3.1 - checksum: 8c59b0ff8b5c573258850cd73fddf97d2956b37aa83fdb680f3c6abda573cf3d53157b54470dc4759acd83b4c195c68a1981df7999077ccf6006dc8a02d9c74a + checksum: b2f97c8ab013364fbfd1b1777531796f44c5faa4f6b4f605fc3125d8ce4440a4c7209fb9951971a1493195c61fc3efc2b77414dc0df8a2bd9c442a511b3dc65a languageName: node linkType: hard @@ -46575,14 +47232,14 @@ __metadata: linkType: hard "yup@npm:^1.0.0, yup@npm:^1.3.2, yup@npm:^1.4.0": - version: 1.4.0 - resolution: "yup@npm:1.4.0" + version: 1.6.1 + resolution: "yup@npm:1.6.1" dependencies: property-expr: ^2.0.5 tiny-case: ^1.0.3 toposort: ^2.0.2 type-fest: ^2.19.0 - checksum: 20a2ee0c1e891979ca16b34805b3a3be9ab4bea6ea3d2f9005b998b4dc992d0e4d7b53e5f4d8d9423420046630fb44fdf0ecf7e83bc34dd83392bca046c5229d + checksum: 4ef0b15eb01d89a4f15c78c112b588468d553420be6f2f519d0e58a270c96a5bbbf1bff7bc8909851ba8b3df5e1fdb8b34d4a3bd4e9269006c592b3e8580568f languageName: node linkType: hard @@ -46600,25 +47257,14 @@ __metadata: languageName: node linkType: hard -"zip-stream@npm:^4.1.0": - version: 4.1.1 - resolution: "zip-stream@npm:4.1.1" - dependencies: - archiver-utils: ^3.0.4 - compress-commons: ^4.1.2 - readable-stream: ^3.6.0 - checksum: 33bd5ee7017656c2ad728b5d4ba510e15bd65ce1ec180c5bbdc7a5f063256353ec482e6a2bc74de7515219d8494147924b9aae16e63fdaaf37cdf7d1ee8df125 - languageName: node - linkType: hard - "zip-stream@npm:^5.0.1": - version: 5.0.1 - resolution: "zip-stream@npm:5.0.1" + version: 5.0.2 + resolution: "zip-stream@npm:5.0.2" dependencies: archiver-utils: ^4.0.1 compress-commons: ^5.0.1 readable-stream: ^3.6.0 - checksum: 116cee5a2c1ecce7aa440b665470653f58ef56670c6aafa1b5491c9f9335992352145502af5fa865ac82f46336905e37fb7cbc649c2be72e2152c6b91802995c + checksum: caf33dd9624d781ea2ded059c83e3e7adc963557ca399512d2da6ab6e219b35c2985f6ff1a334dd2ab241b4067db6819398c723f3fca89b51b078757df8e3c44 languageName: node linkType: hard @@ -46634,11 +47280,11 @@ __metadata: linkType: hard "zod-to-json-schema@npm:^3.20.4, zod-to-json-schema@npm:^3.21.4": - version: 3.22.4 - resolution: "zod-to-json-schema@npm:3.22.4" + version: 3.24.1 + resolution: "zod-to-json-schema@npm:3.24.1" peerDependencies: - zod: ^3.22.4 - checksum: 22f89d505cc3d93020de38e4471362fbecd73a8df58017553ad57fb14e69b6f2f88bcdfe9f84b291442ed0654f97344d517af291d23848e43e6e208ee23dac2b + zod: ^3.24.1 + checksum: 7195563f611bc21ea7f44129b8e32780125a9bd98b2e6b8709ac98bd2645729fecd87b8aeeaa8789617ee3f38e6585bab23dd613e2a35c31c6c157908f7a1681 languageName: node linkType: hard @@ -46652,9 +47298,9 @@ __metadata: linkType: hard "zod@npm:^3.20.0, zod@npm:^3.22.4": - version: 3.23.8 - resolution: "zod@npm:3.23.8" - checksum: 15949ff82118f59c893dacd9d3c766d02b6fa2e71cf474d5aa888570c469dbf5446ac5ad562bb035bf7ac9650da94f290655c194f4a6de3e766f43febd432c5c + version: 3.24.1 + resolution: "zod@npm:3.24.1" + checksum: dcd5334725b29555593c186fd6505878bb7ccb4f5954f728d2de24bf71f9397492d83bdb69d5b8a376eb500a02273ae0691b57deb1eb8718df3f64c77cc5534a languageName: node linkType: hard