diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7028b9df9c..ae9758c731 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -30,15 +30,15 @@ repos: - id: go-fmt - repo: local hooks: - - id: generate-zarf-schema - name: Check for outdated Zarf schema - entry: ./hack/verify-zarf-schema.sh + - id: check-docs-and-schema + name: Check for outdated docs and Zarf schema + entry: ./hack/check-zarf-docs-and-schema.sh files: "src/types/types.go" types: [go] language: script description: - "Runs `zarf internal config-schema > zarf.schema.json` to ensure - schema is up to date" + "Checks if there have been changes + made to the docs and schema" - repo: https://github.com/python-jsonschema/check-jsonschema rev: 0.14.0 hooks: diff --git a/examples/component-webhooks/.eslintrc.json b/examples/component-webhooks/.eslintrc.json index cf4c4bcd00..0a2ea6e8a7 100644 --- a/examples/component-webhooks/.eslintrc.json +++ b/examples/component-webhooks/.eslintrc.json @@ -17,7 +17,8 @@ "ignorePatterns": [ "node_modules", "dist", - "hack" + "hack", + "capabilities/zarf-types.ts" ], "root": true } diff --git a/examples/component-webhooks/capabilities/hook.ts b/examples/component-webhooks/capabilities/hook.ts index fb1dcea23d..03ea35856f 100644 --- a/examples/component-webhooks/capabilities/hook.ts +++ b/examples/component-webhooks/capabilities/hook.ts @@ -1,4 +1,5 @@ -import { Capability, a, Log, k8s } from "pepr"; +import { Capability, a, Log, K8s, kind } from "pepr"; +import { DeployedPackage } from "./zarf-types"; /** * The Webhook Capability is an example capability to demonstrate using webhooks to interact with Zarf package deployments. @@ -11,6 +12,8 @@ export const Webhook = new Capability({ namespaces: ["zarf"], }); +const webhookName = "test-webhook"; + const { When } = Webhook; When(a.Secret) @@ -19,7 +22,7 @@ When(a.Secret) .WithLabel("package-deploy-info") .Mutate(request => { const secret = request.Raw; - let secretData; + let secretData: DeployedPackage; let secretString: string; let manuallyDecoded = false; @@ -46,7 +49,7 @@ When(a.Secret) const componentWebhook = secretData.componentWebhooks?.[deployedComponent?.name]?.[ - "test-webhook" + webhookName ]; // Check if the component has a webhook running for the current package generation @@ -63,9 +66,9 @@ When(a.Secret) // Update the secret noting that the webhook is running for this component secretData.componentWebhooks[deployedComponent.name] = { "test-webhook": { - "name": "test-webhook", - "status": "Running", - "observedGeneration": secretData.generation, + name: webhookName, + status: "Running", + observedGeneration: secretData.generation, }, }; @@ -86,46 +89,58 @@ When(a.Secret) async function sleepAndChangeStatus(secretName: string, componentName: string) { await sleep(10); - // Configure the k8s api client - const kc = new k8s.KubeConfig(); - kc.loadFromDefault(); - const k8sCoreApi = kc.makeApiClient(k8s.CoreV1Api); + const ns = "zarf"; + + let secret: a.Secret; + // Fetch the package secret try { - const response = await k8sCoreApi.readNamespacedSecret(secretName, "zarf"); - const v1Secret = response.body; + secret = await K8s(kind.Secret).InNamespace(ns).Get(secretName); + } catch (err) { + Log.error( + `Error: Failed to get package secret '${secretName}' in namespace '${ns}': ${JSON.stringify( + err, + )}`, + ); + } - const secretString = atob(v1Secret.data.data); - const secretData = JSON.parse(secretString); + const secretString = atob(secret.data.data); + const secretData: DeployedPackage = JSON.parse(secretString); - // Update the webhook status if the observedGeneration matches - const componentWebhook = - secretData.componentWebhooks[componentName]?.["test-webhook"]; + // Update the webhook status if the observedGeneration matches + const componentWebhook = + secretData.componentWebhooks[componentName]?.[webhookName]; - if (componentWebhook?.observedGeneration === secretData.generation) { - componentWebhook.status = "Succeeded"; + if (componentWebhook?.observedGeneration === secretData.generation) { + componentWebhook.status = "Succeeded"; - secretData.componentWebhooks[componentName]["test-webhook"] = - componentWebhook; - } + secretData.componentWebhooks[componentName][webhookName] = componentWebhook; + } + + secret.data.data = btoa(JSON.stringify(secretData)); - v1Secret.data.data = btoa(JSON.stringify(secretData)); - - // Patch the secret back to the cluster - await k8sCoreApi.patchNamespacedSecret( - secretName, - "zarf", - v1Secret, - undefined, - undefined, - undefined, - undefined, - undefined, - { headers: { "Content-Type": "application/strategic-merge-patch+json" } }, + // Update the status in the package secret + // Use Server-Side force apply to forcefully take ownership of the package secret data.data field + // Doing a Server-Side apply without the force option will result in a FieldManagerConflict error due to Zarf owning the object. + try { + await K8s(kind.Secret).Apply( + { + metadata: { + name: secretName, + namespace: ns, + }, + data: { + data: secret.data.data, + }, + }, + { force: true }, ); } catch (err) { - Log.error(`Unable to update the package secret: ${JSON.stringify(err)}`); - return err; + Log.error( + `Error: Failed to update package secret '${secretName}' in namespace '${ns}': ${JSON.stringify( + err, + )}`, + ); } } diff --git a/examples/component-webhooks/capabilities/zarf-types.ts b/examples/component-webhooks/capabilities/zarf-types.ts new file mode 100644 index 0000000000..11e840d2d3 --- /dev/null +++ b/examples/component-webhooks/capabilities/zarf-types.ts @@ -0,0 +1,1459 @@ +// To parse this data: +// +// import { Convert, ZarfTypes } from "./file"; +// +// const zarfTypes = Convert.toZarfTypes(json); +// +// These functions will throw an error if the JSON doesn't +// match the expected interface, even if the JSON is valid. + +export interface ZarfTypes { + DeployedPackage: DeployedPackage; + ZarfPackage: ZarfPackage; + ZarfState: ZarfState; +} + +export interface DeployedPackage { + cliVersion: string; + componentWebhooks?: { [key: string]: { [key: string]: Webhook } }; + connectStrings?: { [key: string]: ConnectString }; + data: ZarfPackage; + deployedComponents: DeployedComponent[]; + generation: number; + name: string; +} + +export interface Webhook { + name: string; + observedGeneration: number; + status: string; + waitDurationSeconds?: number; +} + +export interface ConnectString { + /** + * Descriptive text that explains what the resource you would be connecting to is used for + */ + description: string; + /** + * URL path that gets appended to the k8s port-forward result + */ + url: string; +} + +export interface ZarfPackage { + /** + * Zarf-generated package build data + */ + build?: ZarfBuildData; + /** + * List of components to deploy in this package + */ + components: ZarfComponent[]; + /** + * Constant template values applied on deploy for K8s resources + */ + constants?: ZarfPackageConstant[]; + /** + * The kind of Zarf package + */ + kind: Kind; + /** + * Package metadata + */ + metadata?: ZarfMetadata; + /** + * Variable template values applied on deploy for K8s resources + */ + variables?: ZarfPackageVariable[]; +} + +/** + * Zarf-generated package build data + */ +export interface ZarfBuildData { + /** + * The architecture this package was created on + */ + architecture: string; + /** + * Whether this package was created with differential components + */ + differential?: boolean; + /** + * List of components that were not included in this package due to differential packaging + */ + differentialMissing?: string[]; + /** + * The minimum version of Zarf that does not have breaking package structure changes + */ + lastNonBreakingVersion?: string; + /** + * Any migrations that have been run on this package + */ + migrations?: string[]; + /** + * Any registry domains that were overridden on package create when pulling images + */ + registryOverrides?: { [key: string]: string }; + /** + * The machine name that created this package + */ + terminal: string; + /** + * The timestamp when this package was created + */ + timestamp: string; + /** + * The username who created this package + */ + user: string; + /** + * The version of Zarf used to build this package + */ + version: string; +} + +export interface ZarfComponent { + /** + * Custom commands to run at various stages of a package lifecycle + */ + actions?: ZarfComponentActions; + /** + * Helm charts to install during package deploy + */ + charts?: ZarfChart[]; + /** + * [Deprecated] Specify a path to a public key to validate signed online resources. This + * will be removed in Zarf v1.0.0. + */ + cosignKeyPath?: string; + /** + * Datasets to inject into a container in the target cluster + */ + dataInjections?: ZarfDataInjection[]; + /** + * Determines the default Y/N state for installing this component on package deploy + */ + default?: boolean; + /** + * Message to include during package deploy describing the purpose of this component + */ + description?: string; + /** + * Extend component functionality with additional features + */ + extensions?: ZarfComponentExtensions; + /** + * Files or folders to place on disk during package deployment + */ + files?: ZarfFile[]; + /** + * [Deprecated] Create a user selector field based on all components in the same group. This + * will be removed in Zarf v1.0.0. Consider using 'only.flavor' instead. + */ + group?: string; + /** + * List of OCI images to include in the package + */ + images?: string[]; + /** + * Import a component from another Zarf package + */ + import?: ZarfComponentImport; + /** + * Kubernetes manifests to be included in a generated Helm chart on package deploy + */ + manifests?: ZarfManifest[]; + /** + * The name of the component + */ + name: string; + /** + * Filter when this component is included in package creation or deployment + */ + only?: ZarfComponentOnlyTarget; + /** + * List of git repos to include in the package + */ + repos?: string[]; + /** + * Do not prompt user to install this component + */ + required?: boolean; + /** + * [Deprecated] (replaced by actions) Custom commands to run before or after package + * deployment. This will be removed in Zarf v1.0.0. + */ + scripts?: DeprecatedZarfComponentScripts; +} + +/** + * Custom commands to run at various stages of a package lifecycle + */ +export interface ZarfComponentActions { + /** + * Actions to run during package creation + */ + onCreate?: ZarfComponentActionSet; + /** + * Actions to run during package deployment + */ + onDeploy?: ZarfComponentActionSet; + /** + * Actions to run during package removal + */ + onRemove?: ZarfComponentActionSet; +} + +/** + * Actions to run during package creation + * + * Actions to run during package deployment + * + * Actions to run during package removal + */ +export interface ZarfComponentActionSet { + /** + * Actions to run at the end of an operation + */ + after?: ZarfComponentAction[]; + /** + * Actions to run at the start of an operation + */ + before?: ZarfComponentAction[]; + /** + * Default configuration for all actions in this set + */ + defaults?: ZarfComponentActionDefaults; + /** + * Actions to run if all operations fail + */ + onFailure?: ZarfComponentAction[]; + /** + * Actions to run if all operations succeed + */ + onSuccess?: ZarfComponentAction[]; +} + +export interface ZarfComponentAction { + /** + * The command to run. Must specify either cmd or wait for the action to do anything. + */ + cmd?: string; + /** + * Description of the action to be displayed during package execution instead of the command + */ + description?: string; + /** + * The working directory to run the command in (default is CWD) + */ + dir?: string; + /** + * Additional environment variables to set for the command + */ + env?: string[]; + /** + * Retry the command if it fails up to given number of times (default 0) + */ + maxRetries?: number; + /** + * Timeout in seconds for the command (default to 0 + */ + maxTotalSeconds?: number; + /** + * Hide the output of the command during package deployment (default false) + */ + mute?: boolean; + /** + * [Deprecated] (replaced by setVariables) (onDeploy/cmd only) The name of a variable to + * update with the output of the command. This variable will be available to all remaining + * actions and components in the package. This will be removed in Zarf v1.0.0 + */ + setVariable?: string; + /** + * (onDeploy/cmd only) An array of variables to update with the output of the command. These + * variables will be available to all remaining actions and components in the package. + */ + setVariables?: ZarfComponentActionSetVariable[]; + /** + * (cmd only) Indicates a preference for a shell for the provided cmd to be executed in on + * supported operating systems + */ + shell?: ZarfComponentActionShell; + /** + * Wait for a condition to be met before continuing. Must specify either cmd or wait for the + * action. See the 'zarf tools wait-for' command for more info. + */ + wait?: ZarfComponentActionWait; +} + +export interface ZarfComponentActionSetVariable { + /** + * Whether to automatically indent the variable's value (if multiline) when templating. + * Based on the number of chars before the start of ###ZARF_VAR_. + */ + autoIndent?: boolean; + /** + * The name to be used for the variable + */ + name: string; + /** + * An optional regex pattern that a variable value must match before a package deployment + * can continue. + */ + pattern?: string; + /** + * Whether to mark this variable as sensitive to not print it in the Zarf log + */ + sensitive?: boolean; + /** + * Changes the handling of a variable to load contents differently (i.e. from a file rather + * than as a raw variable - templated files should be kept below 1 MiB) + */ + type?: Type; +} + +/** + * Changes the handling of a variable to load contents differently (i.e. from a file rather + * than as a raw variable - templated files should be kept below 1 MiB) + */ +export enum Type { + File = "file", + Raw = "raw", +} + +/** + * (cmd only) Indicates a preference for a shell for the provided cmd to be executed in on + * supported operating systems + */ +export interface ZarfComponentActionShell { + /** + * (default 'sh') Indicates a preference for the shell to use on macOS systems + */ + darwin?: string; + /** + * (default 'sh') Indicates a preference for the shell to use on Linux systems + */ + linux?: string; + /** + * (default 'powershell') Indicates a preference for the shell to use on Windows systems + * (note that choosing 'cmd' will turn off migrations like touch -> New-Item) + */ + windows?: string; +} + +/** + * Wait for a condition to be met before continuing. Must specify either cmd or wait for the + * action. See the 'zarf tools wait-for' command for more info. + */ +export interface ZarfComponentActionWait { + /** + * Wait for a condition to be met in the cluster before continuing. Only one of cluster or + * network can be specified. + */ + cluster?: ZarfComponentActionWaitCluster; + /** + * Wait for a condition to be met on the network before continuing. Only one of cluster or + * network can be specified. + */ + network?: ZarfComponentActionWaitNetwork; +} + +/** + * Wait for a condition to be met in the cluster before continuing. Only one of cluster or + * network can be specified. + */ +export interface ZarfComponentActionWaitCluster { + /** + * The condition or jsonpath state to wait for; defaults to exist + */ + condition?: string; + /** + * The kind of resource to wait for + */ + kind: string; + /** + * The name of the resource or selector to wait for + */ + name: string; + /** + * The namespace of the resource to wait for + */ + namespace?: string; +} + +/** + * Wait for a condition to be met on the network before continuing. Only one of cluster or + * network can be specified. + */ +export interface ZarfComponentActionWaitNetwork { + /** + * The address to wait for + */ + address: string; + /** + * The HTTP status code to wait for if using http or https + */ + code?: number; + /** + * The protocol to wait for + */ + protocol: Protocol; +} + +/** + * The protocol to wait for + */ +export enum Protocol { + HTTP = "http", + HTTPS = "https", + TCP = "tcp", +} + +/** + * Default configuration for all actions in this set + */ +export interface ZarfComponentActionDefaults { + /** + * Working directory for commands (default CWD) + */ + dir?: string; + /** + * Additional environment variables for commands + */ + env?: string[]; + /** + * Retry commands given number of times if they fail (default 0) + */ + maxRetries?: number; + /** + * Default timeout in seconds for commands (default to 0 + */ + maxTotalSeconds?: number; + /** + * Hide the output of commands during execution (default false) + */ + mute?: boolean; + /** + * (cmd only) Indicates a preference for a shell for the provided cmd to be executed in on + * supported operating systems + */ + shell?: ZarfComponentActionShell; +} + +export interface ZarfChart { + /** + * The path to the chart in the repo if using a git repo instead of a helm repo + */ + gitPath?: string; + /** + * The path to the chart folder + */ + localPath?: string; + /** + * The name of the chart to deploy; this should be the name of the chart as it is installed + * in the helm repo + */ + name: string; + /** + * The namespace to deploy the chart to + */ + namespace: string; + /** + * Whether to not wait for chart resources to be ready before continuing + */ + noWait?: boolean; + /** + * The name of the release to create; defaults to the name of the chart + */ + releaseName?: string; + /** + * The URL of the OCI registry, chart repository, or git repo where the helm chart is stored + */ + url?: string; + /** + * List of local values file paths or remote URLs to include in the package; these will be + * merged together + */ + valuesFiles?: string[]; + /** + * The version of the chart to deploy; for git-based charts this is also the tag of the git + * repo + */ + version?: string; +} + +export interface ZarfDataInjection { + /** + * Compress the data before transmitting using gzip. Note: this requires support for + * tar/gzip locally and in the target image. + */ + compress?: boolean; + /** + * Either a path to a local folder/file or a remote URL of a file to inject into the given + * target pod + container + */ + source: string; + /** + * The target pod + container to inject the data into + */ + target: ZarfContainerTarget; +} + +/** + * The target pod + container to inject the data into + */ +export interface ZarfContainerTarget { + /** + * The container name to target for data injection + */ + container: string; + /** + * The namespace to target for data injection + */ + namespace: string; + /** + * The path within the container to copy the data into + */ + path: string; + /** + * The K8s selector to target for data injection + */ + selector: string; +} + +/** + * Extend component functionality with additional features + */ +export interface ZarfComponentExtensions { + /** + * Configurations for installing Big Bang and Flux in the cluster + */ + bigbang?: BigBang; +} + +/** + * Configurations for installing Big Bang and Flux in the cluster + */ +export interface BigBang { + /** + * Optional paths to Flux kustomize strategic merge patch files + */ + fluxPatchFiles?: string[]; + /** + * Override repo to pull Big Bang from instead of Repo One + */ + repo?: string; + /** + * Whether to skip deploying flux; Defaults to false + */ + skipFlux?: boolean; + /** + * The list of values files to pass to Big Bang; these will be merged together + */ + valuesFiles?: string[]; + /** + * The version of Big Bang to use + */ + version: string; +} + +export interface ZarfFile { + /** + * (files only) Determines if the file should be made executable during package deploy + */ + executable?: boolean; + /** + * Local folder or file to be extracted from a 'source' archive + */ + extractPath?: string; + /** + * (files only) Optional SHA256 checksum of the file + */ + shasum?: string; + /** + * Local folder or file path or remote URL to pull into the package + */ + source: string; + /** + * List of symlinks to create during package deploy + */ + symlinks?: string[]; + /** + * The absolute or relative path where the file or folder should be copied to during package + * deploy + */ + target: string; +} + +/** + * Import a component from another Zarf package + */ +export interface ZarfComponentImport { + /** + * The name of the component to import from the referenced zarf.yaml + */ + name?: string; + /** + * The relative path to a directory containing a zarf.yaml to import from + */ + path?: string; + /** + * [beta] The URL to a Zarf package to import via OCI + */ + url?: string; +} + +export interface ZarfManifest { + /** + * List of local K8s YAML files or remote URLs to deploy (in order) + */ + files?: string[]; + /** + * List of local kustomization paths or remote URLs to include in the package + */ + kustomizations?: string[]; + /** + * Allow traversing directory above the current directory if needed for kustomization + */ + kustomizeAllowAnyDirectory?: boolean; + /** + * A name to give this collection of manifests; this will become the name of the + * dynamically-created helm chart + */ + name: string; + /** + * The namespace to deploy the manifests to + */ + namespace?: string; + /** + * Whether to not wait for manifest resources to be ready before continuing + */ + noWait?: boolean; +} + +/** + * Filter when this component is included in package creation or deployment + */ +export interface ZarfComponentOnlyTarget { + /** + * Only deploy component to specified clusters + */ + cluster?: ZarfComponentOnlyCluster; + /** + * Only include this component when a matching '--flavor' is specified on 'zarf package + * create' + */ + flavor?: string; + /** + * Only deploy component to specified OS + */ + localOS?: LocalOS; +} + +/** + * Only deploy component to specified clusters + */ +export interface ZarfComponentOnlyCluster { + /** + * Only create and deploy to clusters of the given architecture + */ + architecture?: Architecture; + /** + * A list of kubernetes distros this package works with (Reserved for future use) + */ + distros?: string[]; +} + +/** + * Only create and deploy to clusters of the given architecture + */ +export enum Architecture { + Amd64 = "amd64", + Arm64 = "arm64", +} + +/** + * Only deploy component to specified OS + */ +export enum LocalOS { + Darwin = "darwin", + Linux = "linux", + Windows = "windows", +} + +/** + * [Deprecated] (replaced by actions) Custom commands to run before or after package + * deployment. This will be removed in Zarf v1.0.0. + */ +export interface DeprecatedZarfComponentScripts { + /** + * Scripts to run after the component successfully deploys + */ + after?: string[]; + /** + * Scripts to run before the component is deployed + */ + before?: string[]; + /** + * Scripts to run before the component is added during package create + */ + prepare?: string[]; + /** + * Retry the script if it fails + */ + retry?: boolean; + /** + * Show the output of the script during package deployment + */ + showOutput?: boolean; + /** + * Timeout in seconds for the script + */ + timeoutSeconds?: number; +} + +export interface ZarfPackageConstant { + /** + * Whether to automatically indent the variable's value (if multiline) when templating. + * Based on the number of chars before the start of ###ZARF_CONST_. + */ + autoIndent?: boolean; + /** + * A description of the constant to explain its purpose on package create or deploy + * confirmation prompts + */ + description?: string; + /** + * The name to be used for the constant + */ + name: string; + /** + * An optional regex pattern that a constant value must match before a package can be + * created. + */ + pattern?: string; + /** + * The value to set for the constant during deploy + */ + value: string; +} + +/** + * The kind of Zarf package + */ +export enum Kind { + ZarfInitConfig = "ZarfInitConfig", + ZarfPackageConfig = "ZarfPackageConfig", +} + +/** + * Package metadata + */ +export interface ZarfMetadata { + /** + * Checksum of a checksums.txt file that contains checksums all the layers within the + * package. + */ + aggregateChecksum?: string; + /** + * The target cluster architecture for this package + */ + architecture?: string; + /** + * Comma-separated list of package authors (including contact info) + */ + authors?: string; + /** + * Additional information about this package + */ + description?: string; + /** + * Link to package documentation when online + */ + documentation?: string; + /** + * An image URL to embed in this package (Reserved for future use in Zarf UI) + */ + image?: string; + /** + * Name to identify this Zarf package + */ + name: string; + /** + * Link to package source code when online + */ + source?: string; + /** + * Disable compression of this package + */ + uncompressed?: boolean; + /** + * Link to package information when online + */ + url?: string; + /** + * Name of the distributing entity, organization or individual. + */ + vendor?: string; + /** + * Generic string set by a package author to track the package version (Note: + * ZarfInitConfigs will always be versioned to the CLIVersion they were created with) + */ + version?: string; + /** + * Yaml OnLy Online (YOLO): True enables deploying a Zarf package without first running zarf + * init against the cluster. This is ideal for connected environments where you want to use + * existing VCS and container registries. + */ + yolo?: boolean; +} + +export interface ZarfPackageVariable { + /** + * Whether to automatically indent the variable's value (if multiline) when templating. + * Based on the number of chars before the start of ###ZARF_VAR_. + */ + autoIndent?: boolean; + /** + * The default value to use for the variable + */ + default?: string; + /** + * A description of the variable to be used when prompting the user a value + */ + description?: string; + /** + * The name to be used for the variable + */ + name: string; + /** + * An optional regex pattern that a variable value must match before a package can be + * deployed. + */ + pattern?: string; + /** + * Whether to prompt the user for input for this variable + */ + prompt?: boolean; + /** + * Whether to mark this variable as sensitive to not print it in the Zarf log + */ + sensitive?: boolean; + /** + * Changes the handling of a variable to load contents differently (i.e. from a file rather + * than as a raw variable - templated files should be kept below 1 MiB) + */ + type?: Type; +} + +export interface DeployedComponent { + installedCharts: InstalledChart[]; + name: string; + observedGeneration: number; + status: string; +} + +export interface InstalledChart { + chartName: string; + namespace: string; +} + +export interface ZarfState { + agentTLS: GeneratedPKI; + /** + * Machine architecture of the k8s node(s) + */ + architecture: string; + /** + * Information about the artifact registry Zarf is configured to use + */ + artifactServer: ArtifactServerInfo; + /** + * K8s distribution of the cluster Zarf was deployed to + */ + distro: string; + /** + * Information about the repository Zarf is configured to use + */ + gitServer: GitServerInfo; + /** + * Secret value that the internal Grafana server was seeded with + */ + loggingSecret: string; + /** + * Information about the container registry Zarf is configured to use + */ + registryInfo: RegistryInfo; + storageClass: string; + /** + * Indicates if Zarf was initialized while deploying its own k8s cluster + */ + zarfAppliance: boolean; +} + +export interface GeneratedPKI { + ca: string; + cert: string; + key: string; +} + +/** + * Information about the artifact registry Zarf is configured to use + */ +export interface ArtifactServerInfo { + /** + * URL address of the artifact registry + */ + address: string; + /** + * Indicates if we are using a artifact registry that Zarf is directly managing + */ + internalServer: boolean; + /** + * Password of a user with push access to the artifact registry + */ + pushPassword: string; + /** + * Username of a user with push access to the artifact registry + */ + pushUsername: string; +} + +/** + * Information about the repository Zarf is configured to use + */ +export interface GitServerInfo { + /** + * URL address of the git server + */ + address: string; + /** + * Indicates if we are using a git server that Zarf is directly managing + */ + internalServer: boolean; + /** + * Password of a user with pull-only access to the git repository. If not provided for an + * external repository then the push-user is used + */ + pullPassword: string; + /** + * Username of a user with pull-only access to the git repository. If not provided for an + * external repository then the push-user is used + */ + pullUsername: string; + /** + * Password of a user with push access to the git repository + */ + pushPassword: string; + /** + * Username of a user with push access to the git repository + */ + pushUsername: string; +} + +/** + * Information about the container registry Zarf is configured to use + */ +export interface RegistryInfo { + /** + * URL address of the registry + */ + address: string; + /** + * Indicates if we are using a registry that Zarf is directly managing + */ + internalRegistry: boolean; + /** + * Nodeport of the registry. Only needed if the registry is running inside the kubernetes + * cluster + */ + nodePort: number; + /** + * Password of a user with pull-only access to the registry. If not provided for an external + * registry than the push-user is used + */ + pullPassword: string; + /** + * Username of a user with pull-only access to the registry. If not provided for an external + * registry than the push-user is used + */ + pullUsername: string; + /** + * Password of a user with push access to the registry + */ + pushPassword: string; + /** + * Username of a user with push access to the registry + */ + pushUsername: string; + /** + * Secret value that the registry was seeded with + */ + secret: string; +} + +// Converts JSON strings to/from your types +// and asserts the results of JSON.parse at runtime +export class Convert { + public static toZarfTypes(json: string): ZarfTypes { + return cast(JSON.parse(json), r("ZarfTypes")); + } + + public static zarfTypesToJson(value: ZarfTypes): string { + return JSON.stringify(uncast(value, r("ZarfTypes")), null, 2); + } +} + +function invalidValue(typ: any, val: any, key: any, parent: any = ''): never { + const prettyTyp = prettyTypeName(typ); + const parentText = parent ? ` on ${parent}` : ''; + const keyText = key ? ` for key "${key}"` : ''; + throw Error(`Invalid value${keyText}${parentText}. Expected ${prettyTyp} but got ${JSON.stringify(val)}`); +} + +function prettyTypeName(typ: any): string { + if (Array.isArray(typ)) { + if (typ.length === 2 && typ[0] === undefined) { + return `an optional ${prettyTypeName(typ[1])}`; + } else { + return `one of [${typ.map(a => { return prettyTypeName(a); }).join(", ")}]`; + } + } else if (typeof typ === "object" && typ.literal !== undefined) { + return typ.literal; + } else { + return typeof typ; + } +} + +function jsonToJSProps(typ: any): any { + if (typ.jsonToJS === undefined) { + const map: any = {}; + typ.props.forEach((p: any) => map[p.json] = { key: p.js, typ: p.typ }); + typ.jsonToJS = map; + } + return typ.jsonToJS; +} + +function jsToJSONProps(typ: any): any { + if (typ.jsToJSON === undefined) { + const map: any = {}; + typ.props.forEach((p: any) => map[p.js] = { key: p.json, typ: p.typ }); + typ.jsToJSON = map; + } + return typ.jsToJSON; +} + +function transform(val: any, typ: any, getProps: any, key: any = '', parent: any = ''): any { + function transformPrimitive(typ: string, val: any): any { + if (typeof typ === typeof val) return val; + return invalidValue(typ, val, key, parent); + } + + function transformUnion(typs: any[], val: any): any { + // val must validate against one typ in typs + const l = typs.length; + for (let i = 0; i < l; i++) { + const typ = typs[i]; + try { + return transform(val, typ, getProps); + } catch (_) {} + } + return invalidValue(typs, val, key, parent); + } + + function transformEnum(cases: string[], val: any): any { + if (cases.indexOf(val) !== -1) return val; + return invalidValue(cases.map(a => { return l(a); }), val, key, parent); + } + + function transformArray(typ: any, val: any): any { + // val must be an array with no invalid elements + if (!Array.isArray(val)) return invalidValue(l("array"), val, key, parent); + return val.map(el => transform(el, typ, getProps)); + } + + function transformDate(val: any): any { + if (val === null) { + return null; + } + const d = new Date(val); + if (isNaN(d.valueOf())) { + return invalidValue(l("Date"), val, key, parent); + } + return d; + } + + function transformObject(props: { [k: string]: any }, additional: any, val: any): any { + if (val === null || typeof val !== "object" || Array.isArray(val)) { + return invalidValue(l(ref || "object"), val, key, parent); + } + const result: any = {}; + Object.getOwnPropertyNames(props).forEach(key => { + const prop = props[key]; + const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined; + result[prop.key] = transform(v, prop.typ, getProps, key, ref); + }); + Object.getOwnPropertyNames(val).forEach(key => { + if (!Object.prototype.hasOwnProperty.call(props, key)) { + result[key] = transform(val[key], additional, getProps, key, ref); + } + }); + return result; + } + + if (typ === "any") return val; + if (typ === null) { + if (val === null) return val; + return invalidValue(typ, val, key, parent); + } + if (typ === false) return invalidValue(typ, val, key, parent); + let ref: any = undefined; + while (typeof typ === "object" && typ.ref !== undefined) { + ref = typ.ref; + typ = typeMap[typ.ref]; + } + if (Array.isArray(typ)) return transformEnum(typ, val); + if (typeof typ === "object") { + return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) + : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) + : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) + : invalidValue(typ, val, key, parent); + } + // Numbers can be parsed by Date but shouldn't be. + if (typ === Date && typeof val !== "number") return transformDate(val); + return transformPrimitive(typ, val); +} + +function cast(val: any, typ: any): T { + return transform(val, typ, jsonToJSProps); +} + +function uncast(val: T, typ: any): any { + return transform(val, typ, jsToJSONProps); +} + +function l(typ: any) { + return { literal: typ }; +} + +function a(typ: any) { + return { arrayItems: typ }; +} + +function u(...typs: any[]) { + return { unionMembers: typs }; +} + +function o(props: any[], additional: any) { + return { props, additional }; +} + +function m(additional: any) { + return { props: [], additional }; +} + +function r(name: string) { + return { ref: name }; +} + +const typeMap: any = { + "ZarfTypes": o([ + { json: "DeployedPackage", js: "DeployedPackage", typ: r("DeployedPackage") }, + { json: "ZarfPackage", js: "ZarfPackage", typ: r("ZarfPackage") }, + { json: "ZarfState", js: "ZarfState", typ: r("ZarfState") }, + ], false), + "DeployedPackage": o([ + { json: "cliVersion", js: "cliVersion", typ: "" }, + { json: "componentWebhooks", js: "componentWebhooks", typ: u(undefined, m(m(r("Webhook")))) }, + { json: "connectStrings", js: "connectStrings", typ: u(undefined, m(r("ConnectString"))) }, + { json: "data", js: "data", typ: r("ZarfPackage") }, + { json: "deployedComponents", js: "deployedComponents", typ: a(r("DeployedComponent")) }, + { json: "generation", js: "generation", typ: 0 }, + { json: "name", js: "name", typ: "" }, + ], false), + "Webhook": o([ + { json: "name", js: "name", typ: "" }, + { json: "observedGeneration", js: "observedGeneration", typ: 0 }, + { json: "status", js: "status", typ: "" }, + { json: "waitDurationSeconds", js: "waitDurationSeconds", typ: u(undefined, 0) }, + ], false), + "ConnectString": o([ + { json: "description", js: "description", typ: "" }, + { json: "url", js: "url", typ: "" }, + ], false), + "ZarfPackage": o([ + { json: "build", js: "build", typ: u(undefined, r("ZarfBuildData")) }, + { json: "components", js: "components", typ: a(r("ZarfComponent")) }, + { json: "constants", js: "constants", typ: u(undefined, a(r("ZarfPackageConstant"))) }, + { json: "kind", js: "kind", typ: r("Kind") }, + { json: "metadata", js: "metadata", typ: u(undefined, r("ZarfMetadata")) }, + { json: "variables", js: "variables", typ: u(undefined, a(r("ZarfPackageVariable"))) }, + ], false), + "ZarfBuildData": o([ + { json: "architecture", js: "architecture", typ: "" }, + { json: "differential", js: "differential", typ: u(undefined, true) }, + { json: "differentialMissing", js: "differentialMissing", typ: u(undefined, a("")) }, + { json: "lastNonBreakingVersion", js: "lastNonBreakingVersion", typ: u(undefined, "") }, + { json: "migrations", js: "migrations", typ: u(undefined, a("")) }, + { json: "registryOverrides", js: "registryOverrides", typ: u(undefined, m("")) }, + { json: "terminal", js: "terminal", typ: "" }, + { json: "timestamp", js: "timestamp", typ: "" }, + { json: "user", js: "user", typ: "" }, + { json: "version", js: "version", typ: "" }, + ], false), + "ZarfComponent": o([ + { json: "actions", js: "actions", typ: u(undefined, r("ZarfComponentActions")) }, + { json: "charts", js: "charts", typ: u(undefined, a(r("ZarfChart"))) }, + { json: "cosignKeyPath", js: "cosignKeyPath", typ: u(undefined, "") }, + { json: "dataInjections", js: "dataInjections", typ: u(undefined, a(r("ZarfDataInjection"))) }, + { json: "default", js: "default", typ: u(undefined, true) }, + { json: "description", js: "description", typ: u(undefined, "") }, + { json: "extensions", js: "extensions", typ: u(undefined, r("ZarfComponentExtensions")) }, + { json: "files", js: "files", typ: u(undefined, a(r("ZarfFile"))) }, + { json: "group", js: "group", typ: u(undefined, "") }, + { json: "images", js: "images", typ: u(undefined, a("")) }, + { json: "import", js: "import", typ: u(undefined, r("ZarfComponentImport")) }, + { json: "manifests", js: "manifests", typ: u(undefined, a(r("ZarfManifest"))) }, + { json: "name", js: "name", typ: "" }, + { json: "only", js: "only", typ: u(undefined, r("ZarfComponentOnlyTarget")) }, + { json: "repos", js: "repos", typ: u(undefined, a("")) }, + { json: "required", js: "required", typ: u(undefined, true) }, + { json: "scripts", js: "scripts", typ: u(undefined, r("DeprecatedZarfComponentScripts")) }, + ], false), + "ZarfComponentActions": o([ + { json: "onCreate", js: "onCreate", typ: u(undefined, r("ZarfComponentActionSet")) }, + { json: "onDeploy", js: "onDeploy", typ: u(undefined, r("ZarfComponentActionSet")) }, + { json: "onRemove", js: "onRemove", typ: u(undefined, r("ZarfComponentActionSet")) }, + ], false), + "ZarfComponentActionSet": o([ + { json: "after", js: "after", typ: u(undefined, a(r("ZarfComponentAction"))) }, + { json: "before", js: "before", typ: u(undefined, a(r("ZarfComponentAction"))) }, + { json: "defaults", js: "defaults", typ: u(undefined, r("ZarfComponentActionDefaults")) }, + { json: "onFailure", js: "onFailure", typ: u(undefined, a(r("ZarfComponentAction"))) }, + { json: "onSuccess", js: "onSuccess", typ: u(undefined, a(r("ZarfComponentAction"))) }, + ], false), + "ZarfComponentAction": o([ + { json: "cmd", js: "cmd", typ: u(undefined, "") }, + { json: "description", js: "description", typ: u(undefined, "") }, + { json: "dir", js: "dir", typ: u(undefined, "") }, + { json: "env", js: "env", typ: u(undefined, a("")) }, + { json: "maxRetries", js: "maxRetries", typ: u(undefined, 0) }, + { json: "maxTotalSeconds", js: "maxTotalSeconds", typ: u(undefined, 0) }, + { json: "mute", js: "mute", typ: u(undefined, true) }, + { json: "setVariable", js: "setVariable", typ: u(undefined, "") }, + { json: "setVariables", js: "setVariables", typ: u(undefined, a(r("ZarfComponentActionSetVariable"))) }, + { json: "shell", js: "shell", typ: u(undefined, r("ZarfComponentActionShell")) }, + { json: "wait", js: "wait", typ: u(undefined, r("ZarfComponentActionWait")) }, + ], false), + "ZarfComponentActionSetVariable": o([ + { json: "autoIndent", js: "autoIndent", typ: u(undefined, true) }, + { json: "name", js: "name", typ: "" }, + { json: "pattern", js: "pattern", typ: u(undefined, "") }, + { json: "sensitive", js: "sensitive", typ: u(undefined, true) }, + { json: "type", js: "type", typ: u(undefined, r("Type")) }, + ], false), + "ZarfComponentActionShell": o([ + { json: "darwin", js: "darwin", typ: u(undefined, "") }, + { json: "linux", js: "linux", typ: u(undefined, "") }, + { json: "windows", js: "windows", typ: u(undefined, "") }, + ], false), + "ZarfComponentActionWait": o([ + { json: "cluster", js: "cluster", typ: u(undefined, r("ZarfComponentActionWaitCluster")) }, + { json: "network", js: "network", typ: u(undefined, r("ZarfComponentActionWaitNetwork")) }, + ], false), + "ZarfComponentActionWaitCluster": o([ + { json: "condition", js: "condition", typ: u(undefined, "") }, + { json: "kind", js: "kind", typ: "" }, + { json: "name", js: "name", typ: "" }, + { json: "namespace", js: "namespace", typ: u(undefined, "") }, + ], false), + "ZarfComponentActionWaitNetwork": o([ + { json: "address", js: "address", typ: "" }, + { json: "code", js: "code", typ: u(undefined, 0) }, + { json: "protocol", js: "protocol", typ: r("Protocol") }, + ], false), + "ZarfComponentActionDefaults": o([ + { json: "dir", js: "dir", typ: u(undefined, "") }, + { json: "env", js: "env", typ: u(undefined, a("")) }, + { json: "maxRetries", js: "maxRetries", typ: u(undefined, 0) }, + { json: "maxTotalSeconds", js: "maxTotalSeconds", typ: u(undefined, 0) }, + { json: "mute", js: "mute", typ: u(undefined, true) }, + { json: "shell", js: "shell", typ: u(undefined, r("ZarfComponentActionShell")) }, + ], false), + "ZarfChart": o([ + { json: "gitPath", js: "gitPath", typ: u(undefined, "") }, + { json: "localPath", js: "localPath", typ: u(undefined, "") }, + { json: "name", js: "name", typ: "" }, + { json: "namespace", js: "namespace", typ: "" }, + { json: "noWait", js: "noWait", typ: u(undefined, true) }, + { json: "releaseName", js: "releaseName", typ: u(undefined, "") }, + { json: "url", js: "url", typ: u(undefined, "") }, + { json: "valuesFiles", js: "valuesFiles", typ: u(undefined, a("")) }, + { json: "version", js: "version", typ: u(undefined, "") }, + ], false), + "ZarfDataInjection": o([ + { json: "compress", js: "compress", typ: u(undefined, true) }, + { json: "source", js: "source", typ: "" }, + { json: "target", js: "target", typ: r("ZarfContainerTarget") }, + ], false), + "ZarfContainerTarget": o([ + { json: "container", js: "container", typ: "" }, + { json: "namespace", js: "namespace", typ: "" }, + { json: "path", js: "path", typ: "" }, + { json: "selector", js: "selector", typ: "" }, + ], false), + "ZarfComponentExtensions": o([ + { json: "bigbang", js: "bigbang", typ: u(undefined, r("BigBang")) }, + ], false), + "BigBang": o([ + { json: "fluxPatchFiles", js: "fluxPatchFiles", typ: u(undefined, a("")) }, + { json: "repo", js: "repo", typ: u(undefined, "") }, + { json: "skipFlux", js: "skipFlux", typ: u(undefined, true) }, + { json: "valuesFiles", js: "valuesFiles", typ: u(undefined, a("")) }, + { json: "version", js: "version", typ: "" }, + ], false), + "ZarfFile": o([ + { json: "executable", js: "executable", typ: u(undefined, true) }, + { json: "extractPath", js: "extractPath", typ: u(undefined, "") }, + { json: "shasum", js: "shasum", typ: u(undefined, "") }, + { json: "source", js: "source", typ: "" }, + { json: "symlinks", js: "symlinks", typ: u(undefined, a("")) }, + { json: "target", js: "target", typ: "" }, + ], false), + "ZarfComponentImport": o([ + { json: "name", js: "name", typ: u(undefined, "") }, + { json: "path", js: "path", typ: u(undefined, "") }, + { json: "url", js: "url", typ: u(undefined, "") }, + ], false), + "ZarfManifest": o([ + { json: "files", js: "files", typ: u(undefined, a("")) }, + { json: "kustomizations", js: "kustomizations", typ: u(undefined, a("")) }, + { json: "kustomizeAllowAnyDirectory", js: "kustomizeAllowAnyDirectory", typ: u(undefined, true) }, + { json: "name", js: "name", typ: "" }, + { json: "namespace", js: "namespace", typ: u(undefined, "") }, + { json: "noWait", js: "noWait", typ: u(undefined, true) }, + ], false), + "ZarfComponentOnlyTarget": o([ + { json: "cluster", js: "cluster", typ: u(undefined, r("ZarfComponentOnlyCluster")) }, + { json: "flavor", js: "flavor", typ: u(undefined, "") }, + { json: "localOS", js: "localOS", typ: u(undefined, r("LocalOS")) }, + ], false), + "ZarfComponentOnlyCluster": o([ + { json: "architecture", js: "architecture", typ: u(undefined, r("Architecture")) }, + { json: "distros", js: "distros", typ: u(undefined, a("")) }, + ], false), + "DeprecatedZarfComponentScripts": o([ + { json: "after", js: "after", typ: u(undefined, a("")) }, + { json: "before", js: "before", typ: u(undefined, a("")) }, + { json: "prepare", js: "prepare", typ: u(undefined, a("")) }, + { json: "retry", js: "retry", typ: u(undefined, true) }, + { json: "showOutput", js: "showOutput", typ: u(undefined, true) }, + { json: "timeoutSeconds", js: "timeoutSeconds", typ: u(undefined, 0) }, + ], false), + "ZarfPackageConstant": o([ + { json: "autoIndent", js: "autoIndent", typ: u(undefined, true) }, + { json: "description", js: "description", typ: u(undefined, "") }, + { json: "name", js: "name", typ: "" }, + { json: "pattern", js: "pattern", typ: u(undefined, "") }, + { json: "value", js: "value", typ: "" }, + ], false), + "ZarfMetadata": o([ + { json: "aggregateChecksum", js: "aggregateChecksum", typ: u(undefined, "") }, + { json: "architecture", js: "architecture", typ: u(undefined, "") }, + { json: "authors", js: "authors", typ: u(undefined, "") }, + { json: "description", js: "description", typ: u(undefined, "") }, + { json: "documentation", js: "documentation", typ: u(undefined, "") }, + { json: "image", js: "image", typ: u(undefined, "") }, + { json: "name", js: "name", typ: "" }, + { json: "source", js: "source", typ: u(undefined, "") }, + { json: "uncompressed", js: "uncompressed", typ: u(undefined, true) }, + { json: "url", js: "url", typ: u(undefined, "") }, + { json: "vendor", js: "vendor", typ: u(undefined, "") }, + { json: "version", js: "version", typ: u(undefined, "") }, + { json: "yolo", js: "yolo", typ: u(undefined, true) }, + ], false), + "ZarfPackageVariable": o([ + { json: "autoIndent", js: "autoIndent", typ: u(undefined, true) }, + { json: "default", js: "default", typ: u(undefined, "") }, + { json: "description", js: "description", typ: u(undefined, "") }, + { json: "name", js: "name", typ: "" }, + { json: "pattern", js: "pattern", typ: u(undefined, "") }, + { json: "prompt", js: "prompt", typ: u(undefined, true) }, + { json: "sensitive", js: "sensitive", typ: u(undefined, true) }, + { json: "type", js: "type", typ: u(undefined, r("Type")) }, + ], false), + "DeployedComponent": o([ + { json: "installedCharts", js: "installedCharts", typ: a(r("InstalledChart")) }, + { json: "name", js: "name", typ: "" }, + { json: "observedGeneration", js: "observedGeneration", typ: 0 }, + { json: "status", js: "status", typ: "" }, + ], false), + "InstalledChart": o([ + { json: "chartName", js: "chartName", typ: "" }, + { json: "namespace", js: "namespace", typ: "" }, + ], false), + "ZarfState": o([ + { json: "agentTLS", js: "agentTLS", typ: r("GeneratedPKI") }, + { json: "architecture", js: "architecture", typ: "" }, + { json: "artifactServer", js: "artifactServer", typ: r("ArtifactServerInfo") }, + { json: "distro", js: "distro", typ: "" }, + { json: "gitServer", js: "gitServer", typ: r("GitServerInfo") }, + { json: "loggingSecret", js: "loggingSecret", typ: "" }, + { json: "registryInfo", js: "registryInfo", typ: r("RegistryInfo") }, + { json: "storageClass", js: "storageClass", typ: "" }, + { json: "zarfAppliance", js: "zarfAppliance", typ: true }, + ], false), + "GeneratedPKI": o([ + { json: "ca", js: "ca", typ: "" }, + { json: "cert", js: "cert", typ: "" }, + { json: "key", js: "key", typ: "" }, + ], false), + "ArtifactServerInfo": o([ + { json: "address", js: "address", typ: "" }, + { json: "internalServer", js: "internalServer", typ: true }, + { json: "pushPassword", js: "pushPassword", typ: "" }, + { json: "pushUsername", js: "pushUsername", typ: "" }, + ], false), + "GitServerInfo": o([ + { json: "address", js: "address", typ: "" }, + { json: "internalServer", js: "internalServer", typ: true }, + { json: "pullPassword", js: "pullPassword", typ: "" }, + { json: "pullUsername", js: "pullUsername", typ: "" }, + { json: "pushPassword", js: "pushPassword", typ: "" }, + { json: "pushUsername", js: "pushUsername", typ: "" }, + ], false), + "RegistryInfo": o([ + { json: "address", js: "address", typ: "" }, + { json: "internalRegistry", js: "internalRegistry", typ: true }, + { json: "nodePort", js: "nodePort", typ: 0 }, + { json: "pullPassword", js: "pullPassword", typ: "" }, + { json: "pullUsername", js: "pullUsername", typ: "" }, + { json: "pushPassword", js: "pushPassword", typ: "" }, + { json: "pushUsername", js: "pushUsername", typ: "" }, + { json: "secret", js: "secret", typ: "" }, + ], false), + "Type": [ + "file", + "raw", + ], + "Protocol": [ + "http", + "https", + "tcp", + ], + "Architecture": [ + "amd64", + "arm64", + ], + "LocalOS": [ + "darwin", + "linux", + "windows", + ], + "Kind": [ + "ZarfInitConfig", + "ZarfPackageConfig", + ], +}; diff --git a/examples/component-webhooks/package-lock.json b/examples/component-webhooks/package-lock.json index 47fe25ee5c..8e3a95afd3 100644 --- a/examples/component-webhooks/package-lock.json +++ b/examples/component-webhooks/package-lock.json @@ -1,14 +1,14 @@ { "name": "example-webhook", "version": "0.0.1", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "example-webhook", "version": "0.0.1", "dependencies": { - "pepr": "^0.14.0" + "pepr": "^0.15.0" }, "engines": { "node": ">=18.0.0" @@ -23,54 +23,6 @@ "node": ">=0.10.0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.4.tgz", - "integrity": "sha512-uBIbiYMeSsy2U0XQoOGVVcpIktjLMEKa7ryz2RLr7L/vTnANNEsPVAh4xOv7ondGz6ac1zVb0F8Jx20rQikffQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.4.tgz", - "integrity": "sha512-mRsi2vJsk4Bx/AFsNBqOH2fqedxn5L/moT58xgg51DjX1la64Z3Npicut2VbhvDFO26qjWtPMsVxCd80YTFVeg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.4.tgz", - "integrity": "sha512-4iPufZ1TMOD3oBlGFqHXBpa3KFT46aLl6Vy7gwed0ZSYgHaZ/mihbYb4t7Z9etjkC9Al3ZYIoOaHrU60gcMy7g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/darwin-arm64": { "version": "0.19.4", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.4.tgz", @@ -87,294 +39,6 @@ "node": ">=12" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.4.tgz", - "integrity": "sha512-YHbSFlLgDwglFn0lAO3Zsdrife9jcQXQhgRp77YiTDja23FrC2uwnhXMNkAucthsf+Psr7sTwYEryxz6FPAVqw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.4.tgz", - "integrity": "sha512-vz59ijyrTG22Hshaj620e5yhs2dU1WJy723ofc+KUgxVCM6zxQESmWdMuVmUzxtGqtj5heHyB44PjV/HKsEmuQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.4.tgz", - "integrity": "sha512-3sRbQ6W5kAiVQRBWREGJNd1YE7OgzS0AmOGjDmX/qZZecq8NFlQsQH0IfXjjmD0XtUYqr64e0EKNFjMUlPL3Cw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.4.tgz", - "integrity": "sha512-z/4ArqOo9EImzTi4b6Vq+pthLnepFzJ92BnofU1jgNlcVb+UqynVFdoXMCFreTK7FdhqAzH0vmdwW5373Hm9pg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.4.tgz", - "integrity": "sha512-ZWmWORaPbsPwmyu7eIEATFlaqm0QGt+joRE9sKcnVUG3oBbr/KYdNE2TnkzdQwX6EDRdg/x8Q4EZQTXoClUqqA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.4.tgz", - "integrity": "sha512-EGc4vYM7i1GRUIMqRZNCTzJh25MHePYsnQfKDexD8uPTCm9mK56NIL04LUfX2aaJ+C9vyEp2fJ7jbqFEYgO9lQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.4.tgz", - "integrity": "sha512-WVhIKO26kmm8lPmNrUikxSpXcgd6HDog0cx12BUfA2PkmURHSgx9G6vA19lrlQOMw+UjMZ+l3PpbtzffCxFDRg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.4.tgz", - "integrity": "sha512-keYY+Hlj5w86hNp5JJPuZNbvW4jql7c1eXdBUHIJGTeN/+0QFutU3GrS+c27L+NTmzi73yhtojHk+lr2+502Mw==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.4.tgz", - "integrity": "sha512-tQ92n0WMXyEsCH4m32S21fND8VxNiVazUbU4IUGVXQpWiaAxOBvtOtbEt3cXIV3GEBydYsY8pyeRMJx9kn3rvw==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.4.tgz", - "integrity": "sha512-tRRBey6fG9tqGH6V75xH3lFPpj9E8BH+N+zjSUCnFOX93kEzqS0WdyJHkta/mmJHn7MBaa++9P4ARiU4ykjhig==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.4.tgz", - "integrity": "sha512-152aLpQqKZYhThiJ+uAM4PcuLCAOxDsCekIbnGzPKVBRUDlgaaAfaUl5NYkB1hgY6WN4sPkejxKlANgVcGl9Qg==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.4.tgz", - "integrity": "sha512-Mi4aNA3rz1BNFtB7aGadMD0MavmzuuXNTaYL6/uiYIs08U7YMPETpgNn5oue3ICr+inKwItOwSsJDYkrE9ekVg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.4.tgz", - "integrity": "sha512-9+Wxx1i5N/CYo505CTT7T+ix4lVzEdz0uCoYGxM5JDVlP2YdDC1Bdz+Khv6IbqmisT0Si928eAxbmGkcbiuM/A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.4.tgz", - "integrity": "sha512-MFsHleM5/rWRW9EivFssop+OulYVUoVcqkyOkjiynKBCGBj9Lihl7kh9IzrreDyXa4sNkquei5/DTP4uCk25xw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.4.tgz", - "integrity": "sha512-6Xq8SpK46yLvrGxjp6HftkDwPP49puU4OF0hEL4dTxqCbfx09LyrbUj/D7tmIRMj5D5FCUPksBbxyQhp8tmHzw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.4.tgz", - "integrity": "sha512-PkIl7Jq4mP6ke7QKwyg4fD4Xvn8PXisagV/+HntWoDEdmerB2LTukRZg728Yd1Fj+LuEX75t/hKXE2Ppk8Hh1w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.4.tgz", - "integrity": "sha512-ga676Hnvw7/ycdKB53qPusvsKdwrWzEyJ+AtItHGoARszIqvjffTwaaW3b2L6l90i7MO9i+dlAW415INuRhSGg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.4.tgz", - "integrity": "sha512-HP0GDNla1T3ZL8Ko/SHAS2GgtjOg+VmWnnYLhuTksr++EnduYB0f3Y2LzHsUwb2iQ13JGoY6G3R8h6Du/WG6uA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -391,9 +55,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", - "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "peer": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -437,12 +101,12 @@ "integrity": "sha512-q9U8v/n9qbkd2zDYjuX3qtlbl+OIyI9zF+zQhZjfYOE9VMDH7tfcUSJ9p0lXoY3lxmGFne09yi4iiNeQUwV7AA==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.12.tgz", + "integrity": "sha512-NlGesA1usRNn6ctHCZ21M4/dKPgW9Nn1FypRdIKKgZOKzkVV4T1FlK5mBiLhHBCDmEbdQG0idrcXlbZfksJ+RA==", "peer": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.0", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -464,9 +128,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.0.tgz", + "integrity": "sha512-9S9QrXY2K0L4AGDcSgTi9vgiCcG8VcBv4Mp7/1hDPYoswIy6Z6KO5blYto82BT8M0MZNRWmCFLpCs3HlpYGGdw==", "peer": true }, "node_modules/@kubernetes/client-node": { @@ -542,78 +206,70 @@ } }, "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==" }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "peer": true }, "node_modules/@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", + "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "node_modules/@types/node-fetch": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz", - "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==", "dependencies": { "@types/node": "*", "form-data": "^4.0.0" } }, "node_modules/@types/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "peer": true }, "node_modules/@types/stream-buffers": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.5.tgz", - "integrity": "sha512-mEKCVRgR+0fM3FUcywARE6J50sz++u/KQL5sBMJKFzLTyX/WsKN2THr7vMic6fWoFfT454LXOnJYUMp8ANNBMw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.7.tgz", + "integrity": "sha512-azOCy05sXVXrO+qklf0c/B07H/oHaIuDDAiHPVwlk3A9Ek+ksHyTeMajLZl3r76FxpPpxem//4Te61G1iW3Giw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/tar": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.6.tgz", - "integrity": "sha512-HQ06kiiDXz9uqtmE9ksQUn1ovcPr1gGV9EgaCWo6FGYKD0onNBCetBzL0kfcS8Kbj1EFxJWY9jL2W4ZvvtGI8Q==", + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.9.tgz", + "integrity": "sha512-T3+O+OQd9cdGmOXuKQY9+B0ceZHRlGVPQ7M5QZqkaPyP/vWnxPXM2aCegq8GP/n1n9dBfq2EBUqCSKKjQAVOPA==", "dependencies": { "@types/node": "*", "minipass": "^4.0.0" } }, - "node_modules/@types/tar/node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/@types/underscore": { - "version": "1.11.11", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.11.tgz", - "integrity": "sha512-J/ZgSP9Yv0S+wfUfeRh9ynktcCvycfW4S9NbzkFdiHLBth+Ctdy5nYg3ZAqUKq7v3gcJce6rXo41zJV6IqsXsQ==" + "version": "1.11.14", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.14.tgz", + "integrity": "sha512-13RYuwqoXZgLO3Nu4zsISqYAexCILtKIMGx+7+vY6gEsGFjrcHU57iDxPmaA2E5d4v5NwebNweiXLbaZWHWI9A==" }, "node_modules/@types/urijs": { - "version": "1.19.20", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.20.tgz", - "integrity": "sha512-77Mq/2BeHU894J364dUv9tSwxxyCLtcX228Pc8TwZpP5bvOoMns+gZoftp3LYl3FBH8vChpWbuagKGiMki2c1A==" + "version": "1.19.23", + "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.23.tgz", + "integrity": "sha512-3Zbk6RzmIpvKTNEHO2RcPOGHM++BQEITMqBRR1Ju32WbruhV/pygYgxiP3xA0b1B88zjzs0Izzjxsbj768+IjA==" }, "node_modules/@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "version": "8.5.9", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.9.tgz", + "integrity": "sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==", "dependencies": { "@types/node": "*" } @@ -1750,12 +1406,12 @@ } }, "node_modules/flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "peer": true, "dependencies": { - "flatted": "^3.2.7", + "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, @@ -1764,9 +1420,9 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "peer": true }, "node_modules/form-data": { @@ -1853,19 +1509,18 @@ } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1883,10 +1538,29 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "peer": true, "dependencies": { "type-fest": "^0.20.2" @@ -1975,43 +1649,6 @@ "readable-stream": "^3.6.0" } }, - "node_modules/help-me/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/help-me/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/help-me/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/help-me/node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -2198,9 +1835,9 @@ } }, "node_modules/jose": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", - "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==", + "version": "4.15.4", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz", + "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==", "funding": { "url": "https://github.com/sponsors/panva" } @@ -2256,9 +1893,9 @@ } }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "peer": true, "dependencies": { "json-buffer": "3.0.1" @@ -2274,9 +1911,9 @@ } }, "node_modules/kubernetes-fluent-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/kubernetes-fluent-client/-/kubernetes-fluent-client-1.6.0.tgz", - "integrity": "sha512-/2NZjEAroRtha82ik4Ns2iaJCS3myA+zljmjuFB9bY8MbmlmLAvNqz2Y0bzSqvYSfOXsVPhgusBMCjYZODB/pg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kubernetes-fluent-client/-/kubernetes-fluent-client-1.8.0.tgz", + "integrity": "sha512-CMmIIjLiKQzYsjO4O5F7nK0Ep8SIq09oVs3QBu/4VrInlW+QulLvVYt1MLyv2RPNwKEv4AOuIX41KdJDpuLqhQ==", "dependencies": { "@kubernetes/client-node": "1.0.0-rc3", "byline": "5.0.0", @@ -2284,7 +1921,7 @@ "http-status-codes": "2.3.0", "node-fetch": "2.7.0", "quicktype-core": "23.0.76", - "type-fest": "4.4.0", + "type-fest": "4.5.0", "yargs": "17.7.2" }, "bin": { @@ -2295,9 +1932,9 @@ } }, "node_modules/kubernetes-fluent-client/node_modules/type-fest": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.4.0.tgz", - "integrity": "sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.5.0.tgz", + "integrity": "sha512-diLQivFzddJl4ylL3jxSkEc39Tpw7o1QeEHIPxVwryDK2lpB7Nqhzhuo6v5/Ls08Z0yPSAhsyAWlv1/H0ciNmw==", "engines": { "node": ">=16" }, @@ -2448,9 +2085,9 @@ } }, "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "engines": { "node": ">=8" } @@ -2562,9 +2199,12 @@ } }, "node_modules/on-exit-leak-free": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", - "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "engines": { + "node": ">=14.0.0" + } }, "node_modules/on-finished": { "version": "2.4.1", @@ -2586,11 +2226,11 @@ } }, "node_modules/openid-client": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.2.tgz", - "integrity": "sha512-lIhsdPvJ2RneBm3nGBBhQchpe3Uka//xf7WPHTIglery8gnckvW7Bd9IaQzekzXJvWthCMyi/xVEyGW0RFPytw==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.1.tgz", + "integrity": "sha512-PtrWsY+dXg6y8mtMPyL/namZSYVz8pjXz3yJiBNZsEdCnu9miHLB4ELVC85WvneMKo2Rg62Ay7NkuCpM0bgiLQ==", "dependencies": { - "jose": "^4.14.1", + "jose": "^4.15.1", "lru-cache": "^6.0.0", "object-hash": "^2.2.0", "oidc-token-hash": "^5.0.3" @@ -2712,14 +2352,14 @@ } }, "node_modules/pepr": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/pepr/-/pepr-0.14.1.tgz", - "integrity": "sha512-WKqpOZ1mOZhHzN6KgZU1K+fVJRFhRMll2vi9V0JctDJj8RBFEx0hHVtbol9F9pUQWHt3PsY/GMBhNEv1H0v0KA==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/pepr/-/pepr-0.15.0.tgz", + "integrity": "sha512-dM1rSWmamLphn6hTO0VOWBGK2LUDGik3Kv2lXr+HandXB492w5wEfjAp64hSNbm1N1P/CbMyahZGwF8kdXB4Fg==", "dependencies": { "express": "4.18.2", "fast-json-patch": "3.1.1", - "kubernetes-fluent-client": "1.6.0", - "pino": "8.16.0", + "kubernetes-fluent-client": "1.8.0", + "pino": "8.16.1", "pino-pretty": "10.2.3", "prom-client": "15.0.0", "ramda": "0.29.1" @@ -2756,9 +2396,9 @@ } }, "node_modules/pino": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.16.0.tgz", - "integrity": "sha512-UUmvQ/7KTZt/vHjhRrnyS7h+J7qPBQnpG80V56xmIC+o9IqYmQOw/UIny9S9zYDfRBR0ClouCr464EkBMIT7Fw==", + "version": "8.16.1", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.16.1.tgz", + "integrity": "sha512-3bKsVhBmgPjGV9pyn4fO/8RtoVDR8ssW1ev819FsRXlRNgW8gR/9Kx+gCK4UPWd4JjrRDLWpzd/pb1AyWm3MGA==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", @@ -2855,9 +2495,9 @@ } }, "node_modules/process-warning": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.2.0.tgz", - "integrity": "sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.0.tgz", + "integrity": "sha512-N6mp1+2jpQr3oCFMz6SeHRGbv6Slb20bRhj4v3xR99HqNToAcOe1MFOp4tytyzOfJn+QtN8Rf7U/h2KAn4kC6g==" }, "node_modules/prom-client": { "version": "15.0.0", @@ -3067,9 +2707,9 @@ } }, "node_modules/rfc4648": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.2.tgz", - "integrity": "sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==" + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.3.tgz", + "integrity": "sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==" }, "node_modules/rimraf": { "version": "3.0.2", @@ -3085,6 +2725,25 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -3357,9 +3016,9 @@ } }, "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -3372,6 +3031,14 @@ "node": ">=10" } }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/tdigest": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz", @@ -3387,9 +3054,9 @@ "peer": true }, "node_modules/thread-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.0.tgz", - "integrity": "sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", + "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", "dependencies": { "real-require": "^0.2.0" } @@ -3456,9 +3123,9 @@ } }, "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/type-check": { "version": "0.4.0", @@ -3515,9 +3182,9 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unicode-properties": { "version": "1.4.1", @@ -3663,9 +3330,9 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "engines": { "node": ">=10.0.0" }, @@ -3696,9 +3363,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "engines": { "node": ">= 14" } @@ -3740,2627 +3407,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "peer": true - }, - "@esbuild/android-arm": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.4.tgz", - "integrity": "sha512-uBIbiYMeSsy2U0XQoOGVVcpIktjLMEKa7ryz2RLr7L/vTnANNEsPVAh4xOv7ondGz6ac1zVb0F8Jx20rQikffQ==", - "optional": true, - "peer": true - }, - "@esbuild/android-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.4.tgz", - "integrity": "sha512-mRsi2vJsk4Bx/AFsNBqOH2fqedxn5L/moT58xgg51DjX1la64Z3Npicut2VbhvDFO26qjWtPMsVxCd80YTFVeg==", - "optional": true, - "peer": true - }, - "@esbuild/android-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.4.tgz", - "integrity": "sha512-4iPufZ1TMOD3oBlGFqHXBpa3KFT46aLl6Vy7gwed0ZSYgHaZ/mihbYb4t7Z9etjkC9Al3ZYIoOaHrU60gcMy7g==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.4.tgz", - "integrity": "sha512-Lviw8EzxsVQKpbS+rSt6/6zjn9ashUZ7Tbuvc2YENgRl0yZTktGlachZ9KMJUsVjZEGFVu336kl5lBgDN6PmpA==", - "optional": true, - "peer": true - }, - "@esbuild/darwin-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.4.tgz", - "integrity": "sha512-YHbSFlLgDwglFn0lAO3Zsdrife9jcQXQhgRp77YiTDja23FrC2uwnhXMNkAucthsf+Psr7sTwYEryxz6FPAVqw==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.4.tgz", - "integrity": "sha512-vz59ijyrTG22Hshaj620e5yhs2dU1WJy723ofc+KUgxVCM6zxQESmWdMuVmUzxtGqtj5heHyB44PjV/HKsEmuQ==", - "optional": true, - "peer": true - }, - "@esbuild/freebsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.4.tgz", - "integrity": "sha512-3sRbQ6W5kAiVQRBWREGJNd1YE7OgzS0AmOGjDmX/qZZecq8NFlQsQH0IfXjjmD0XtUYqr64e0EKNFjMUlPL3Cw==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.4.tgz", - "integrity": "sha512-z/4ArqOo9EImzTi4b6Vq+pthLnepFzJ92BnofU1jgNlcVb+UqynVFdoXMCFreTK7FdhqAzH0vmdwW5373Hm9pg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.4.tgz", - "integrity": "sha512-ZWmWORaPbsPwmyu7eIEATFlaqm0QGt+joRE9sKcnVUG3oBbr/KYdNE2TnkzdQwX6EDRdg/x8Q4EZQTXoClUqqA==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ia32": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.4.tgz", - "integrity": "sha512-EGc4vYM7i1GRUIMqRZNCTzJh25MHePYsnQfKDexD8uPTCm9mK56NIL04LUfX2aaJ+C9vyEp2fJ7jbqFEYgO9lQ==", - "optional": true, - "peer": true - }, - "@esbuild/linux-loong64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.4.tgz", - "integrity": "sha512-WVhIKO26kmm8lPmNrUikxSpXcgd6HDog0cx12BUfA2PkmURHSgx9G6vA19lrlQOMw+UjMZ+l3PpbtzffCxFDRg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-mips64el": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.4.tgz", - "integrity": "sha512-keYY+Hlj5w86hNp5JJPuZNbvW4jql7c1eXdBUHIJGTeN/+0QFutU3GrS+c27L+NTmzi73yhtojHk+lr2+502Mw==", - "optional": true, - "peer": true - }, - "@esbuild/linux-ppc64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.4.tgz", - "integrity": "sha512-tQ92n0WMXyEsCH4m32S21fND8VxNiVazUbU4IUGVXQpWiaAxOBvtOtbEt3cXIV3GEBydYsY8pyeRMJx9kn3rvw==", - "optional": true, - "peer": true - }, - "@esbuild/linux-riscv64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.4.tgz", - "integrity": "sha512-tRRBey6fG9tqGH6V75xH3lFPpj9E8BH+N+zjSUCnFOX93kEzqS0WdyJHkta/mmJHn7MBaa++9P4ARiU4ykjhig==", - "optional": true, - "peer": true - }, - "@esbuild/linux-s390x": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.4.tgz", - "integrity": "sha512-152aLpQqKZYhThiJ+uAM4PcuLCAOxDsCekIbnGzPKVBRUDlgaaAfaUl5NYkB1hgY6WN4sPkejxKlANgVcGl9Qg==", - "optional": true, - "peer": true - }, - "@esbuild/linux-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.4.tgz", - "integrity": "sha512-Mi4aNA3rz1BNFtB7aGadMD0MavmzuuXNTaYL6/uiYIs08U7YMPETpgNn5oue3ICr+inKwItOwSsJDYkrE9ekVg==", - "optional": true, - "peer": true - }, - "@esbuild/netbsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.4.tgz", - "integrity": "sha512-9+Wxx1i5N/CYo505CTT7T+ix4lVzEdz0uCoYGxM5JDVlP2YdDC1Bdz+Khv6IbqmisT0Si928eAxbmGkcbiuM/A==", - "optional": true, - "peer": true - }, - "@esbuild/openbsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.4.tgz", - "integrity": "sha512-MFsHleM5/rWRW9EivFssop+OulYVUoVcqkyOkjiynKBCGBj9Lihl7kh9IzrreDyXa4sNkquei5/DTP4uCk25xw==", - "optional": true, - "peer": true - }, - "@esbuild/sunos-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.4.tgz", - "integrity": "sha512-6Xq8SpK46yLvrGxjp6HftkDwPP49puU4OF0hEL4dTxqCbfx09LyrbUj/D7tmIRMj5D5FCUPksBbxyQhp8tmHzw==", - "optional": true, - "peer": true - }, - "@esbuild/win32-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.4.tgz", - "integrity": "sha512-PkIl7Jq4mP6ke7QKwyg4fD4Xvn8PXisagV/+HntWoDEdmerB2LTukRZg728Yd1Fj+LuEX75t/hKXE2Ppk8Hh1w==", - "optional": true, - "peer": true - }, - "@esbuild/win32-ia32": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.4.tgz", - "integrity": "sha512-ga676Hnvw7/ycdKB53qPusvsKdwrWzEyJ+AtItHGoARszIqvjffTwaaW3b2L6l90i7MO9i+dlAW415INuRhSGg==", - "optional": true, - "peer": true - }, - "@esbuild/win32-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.4.tgz", - "integrity": "sha512-HP0GDNla1T3ZL8Ko/SHAS2GgtjOg+VmWnnYLhuTksr++EnduYB0f3Y2LzHsUwb2iQ13JGoY6G3R8h6Du/WG6uA==", - "optional": true, - "peer": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "peer": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", - "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", - "peer": true - }, - "@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "peer": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", - "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", - "peer": true - }, - "@glideapps/ts-necessities": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@glideapps/ts-necessities/-/ts-necessities-2.1.3.tgz", - "integrity": "sha512-q9U8v/n9qbkd2zDYjuX3qtlbl+OIyI9zF+zQhZjfYOE9VMDH7tfcUSJ9p0lXoY3lxmGFne09yi4iiNeQUwV7AA==" - }, - "@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", - "peer": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "peer": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "peer": true - }, - "@kubernetes/client-node": { - "version": "1.0.0-rc3", - "resolved": "https://registry.npmjs.org/@kubernetes/client-node/-/client-node-1.0.0-rc3.tgz", - "integrity": "sha512-bTYMBZXVrjfi98N5EZbrmPtcT9NY+TddunSEc25DcsRF1c5c93e5jT+zFwId19hG8e/ue5deKe7YDQiRYFpMlQ==", - "requires": { - "@types/js-yaml": "^4.0.1", - "@types/node": "^20.3.1", - "@types/node-fetch": "^2.6.3", - "@types/stream-buffers": "^3.0.3", - "@types/tar": "^6.1.1", - "@types/underscore": "^1.8.9", - "@types/ws": "^8.5.4", - "byline": "^5.0.0", - "form-data": "^4.0.0", - "isomorphic-ws": "^5.0.0", - "js-yaml": "^4.1.0", - "jsonpath-plus": "^7.2.0", - "node-fetch": "^2.6.9", - "openid-client": "^5.4.2", - "rfc4648": "^1.3.0", - "stream-buffers": "^3.0.2", - "tar": "^6.1.11", - "tmp-promise": "^3.0.2", - "tslib": "^2.5.0", - "underscore": "^1.9.1", - "url-parse": "^1.4.3", - "ws": "^8.13.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "peer": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "peer": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "peer": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@opentelemetry/api": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.6.0.tgz", - "integrity": "sha512-OWlrQAnWn9577PhVgqjUvMr1pg57Bc4jv0iL4w0PRuOSRvq67rvHW9Ie/dZVMvCzhSCB+UxhcY/PmCmFj33Q+g==" - }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" - }, - "@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", - "peer": true - }, - "@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", - "requires": { - "undici-types": "~5.25.1" - } - }, - "@types/node-fetch": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz", - "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==", - "requires": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "@types/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", - "peer": true - }, - "@types/stream-buffers": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/stream-buffers/-/stream-buffers-3.0.5.tgz", - "integrity": "sha512-mEKCVRgR+0fM3FUcywARE6J50sz++u/KQL5sBMJKFzLTyX/WsKN2THr7vMic6fWoFfT454LXOnJYUMp8ANNBMw==", - "requires": { - "@types/node": "*" - } - }, - "@types/tar": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.6.tgz", - "integrity": "sha512-HQ06kiiDXz9uqtmE9ksQUn1ovcPr1gGV9EgaCWo6FGYKD0onNBCetBzL0kfcS8Kbj1EFxJWY9jL2W4ZvvtGI8Q==", - "requires": { - "@types/node": "*", - "minipass": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==" - } - } - }, - "@types/underscore": { - "version": "1.11.11", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.11.tgz", - "integrity": "sha512-J/ZgSP9Yv0S+wfUfeRh9ynktcCvycfW4S9NbzkFdiHLBth+Ctdy5nYg3ZAqUKq7v3gcJce6rXo41zJV6IqsXsQ==" - }, - "@types/urijs": { - "version": "1.19.20", - "resolved": "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.20.tgz", - "integrity": "sha512-77Mq/2BeHU894J364dUv9tSwxxyCLtcX228Pc8TwZpP5bvOoMns+gZoftp3LYl3FBH8vChpWbuagKGiMki2c1A==" - }, - "@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "requires": { - "@types/node": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.3.tgz", - "integrity": "sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==", - "peer": true, - "requires": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.3", - "@typescript-eslint/type-utils": "6.7.3", - "@typescript-eslint/utils": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/parser": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.3.tgz", - "integrity": "sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==", - "peer": true, - "requires": { - "@typescript-eslint/scope-manager": "6.7.3", - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/typescript-estree": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.3.tgz", - "integrity": "sha512-wOlo0QnEou9cHO2TdkJmzF7DFGvAKEnB82PuPNHpT8ZKKaZu6Bm63ugOTn9fXNJtvuDPanBc78lGUGGytJoVzQ==", - "peer": true, - "requires": { - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3" - } - }, - "@typescript-eslint/type-utils": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.3.tgz", - "integrity": "sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw==", - "peer": true, - "requires": { - "@typescript-eslint/typescript-estree": "6.7.3", - "@typescript-eslint/utils": "6.7.3", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/types": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.3.tgz", - "integrity": "sha512-4g+de6roB2NFcfkZb439tigpAMnvEIg3rIjWQ+EM7IBaYt/CdJt6em9BJ4h4UpdgaBWdmx2iWsafHTrqmgIPNw==", - "peer": true - }, - "@typescript-eslint/typescript-estree": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.3.tgz", - "integrity": "sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==", - "peer": true, - "requires": { - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/visitor-keys": "6.7.3", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/utils": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.3.tgz", - "integrity": "sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg==", - "peer": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.3", - "@typescript-eslint/types": "6.7.3", - "@typescript-eslint/typescript-estree": "6.7.3", - "semver": "^7.5.4" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.3.tgz", - "integrity": "sha512-HEVXkU9IB+nk9o63CeICMHxFWbHWr3E1mpilIQBe9+7L/lH97rleFLVtYsfnWB+JVMaiFnEaxvknvmIzX+CqVg==", - "peer": true, - "requires": { - "@typescript-eslint/types": "6.7.3", - "eslint-visitor-keys": "^3.4.1" - } - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "peer": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peer": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "peer": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bintrees": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", - "integrity": "sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "peer": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-or-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz", - "integrity": "sha512-8CVjaLJGuSKMVTxJ2DpBl5XnlNDiT4cQFeuCJJrvJmts9YrTZDizTX7PjC2s6W4x+MBGZeEY6dGMrF04/6Hgqg==" - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "byline": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", - "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==" - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "peer": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "collection-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collection-utils/-/collection-utils-1.0.1.tgz", - "integrity": "sha512-LA2YTIlR7biSpXkKYwwuzGjwL5rjWEZVOSnvdUc7gObvWe4WkjxOpfrdhoP7Hs09YWDVfg0Mal9BpAqLfVEzQg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", - "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", - "peer": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "requires": { - "node-fetch": "^2.6.12" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "peer": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "peer": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "peer": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "peer": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "esbuild": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.4.tgz", - "integrity": "sha512-x7jL0tbRRpv4QUyuDMjONtWFciygUxWaUM1kMX2zWxI0X2YWOt7MSA0g4UdeSiHM8fcYVzpQhKYOycZwxTdZkA==", - "peer": true, - "requires": { - "@esbuild/android-arm": "0.19.4", - "@esbuild/android-arm64": "0.19.4", - "@esbuild/android-x64": "0.19.4", - "@esbuild/darwin-arm64": "0.19.4", - "@esbuild/darwin-x64": "0.19.4", - "@esbuild/freebsd-arm64": "0.19.4", - "@esbuild/freebsd-x64": "0.19.4", - "@esbuild/linux-arm": "0.19.4", - "@esbuild/linux-arm64": "0.19.4", - "@esbuild/linux-ia32": "0.19.4", - "@esbuild/linux-loong64": "0.19.4", - "@esbuild/linux-mips64el": "0.19.4", - "@esbuild/linux-ppc64": "0.19.4", - "@esbuild/linux-riscv64": "0.19.4", - "@esbuild/linux-s390x": "0.19.4", - "@esbuild/linux-x64": "0.19.4", - "@esbuild/netbsd-x64": "0.19.4", - "@esbuild/openbsd-x64": "0.19.4", - "@esbuild/sunos-x64": "0.19.4", - "@esbuild/win32-arm64": "0.19.4", - "@esbuild/win32-ia32": "0.19.4", - "@esbuild/win32-x64": "0.19.4" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true - }, - "eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", - "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", - "peer": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.50.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - } - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "peer": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "peer": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "peer": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "peer": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "peer": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "peer": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "peer": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "fast-copy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", - "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "peer": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "peer": true, - "requires": { - "@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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-patch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz", - "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==" - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "peer": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "peer": true - }, - "fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==" - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "peer": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "peer": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "peer": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", - "peer": true, - "requires": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "peer": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "peer": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "peer": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "peer": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "peer": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "help-me": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-4.2.0.tgz", - "integrity": "sha512-TAOnTB8Tz5Dw8penUuzHVrKNKlCIbwwbHnXraNJxPwf8LRtE2HlM84RYuezMFcwOJmoYOCWVDyJ8TQGxn9PgxA==", - "requires": { - "glob": "^8.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-status-codes": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", - "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "peer": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "peer": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "peer": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "peer": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "peer": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "peer": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "peer": true - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "peer": true - }, - "isomorphic-ws": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", - "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", - "requires": {} - }, - "jose": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", - "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==" - }, - "joycon": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", - "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==" - }, - "js-base64": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.5.tgz", - "integrity": "sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "peer": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "peer": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "peer": true - }, - "jsonpath-plus": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.2.0.tgz", - "integrity": "sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==" - }, - "keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", - "peer": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "peer": true - }, - "kubernetes-fluent-client": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/kubernetes-fluent-client/-/kubernetes-fluent-client-1.6.0.tgz", - "integrity": "sha512-/2NZjEAroRtha82ik4Ns2iaJCS3myA+zljmjuFB9bY8MbmlmLAvNqz2Y0bzSqvYSfOXsVPhgusBMCjYZODB/pg==", - "requires": { - "@kubernetes/client-node": "1.0.0-rc3", - "byline": "5.0.0", - "fast-json-patch": "3.1.1", - "http-status-codes": "2.3.0", - "node-fetch": "2.7.0", - "quicktype-core": "23.0.76", - "type-fest": "4.4.0", - "yargs": "17.7.2" - }, - "dependencies": { - "type-fest": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.4.0.tgz", - "integrity": "sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==" - } - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "peer": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "peer": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "peer": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "peer": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "peer": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "peer": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "peer": true - }, - "object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "oidc-token-hash": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz", - "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==" - }, - "on-exit-leak-free": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz", - "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "openid-client": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.4.2.tgz", - "integrity": "sha512-lIhsdPvJ2RneBm3nGBBhQchpe3Uka//xf7WPHTIglery8gnckvW7Bd9IaQzekzXJvWthCMyi/xVEyGW0RFPytw==", - "requires": { - "jose": "^4.14.1", - "lru-cache": "^6.0.0", - "object-hash": "^2.2.0", - "oidc-token-hash": "^5.0.3" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "peer": true, - "requires": { - "@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" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "peer": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "peer": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "peer": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "peer": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "peer": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "peer": true - }, - "pepr": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/pepr/-/pepr-0.14.1.tgz", - "integrity": "sha512-WKqpOZ1mOZhHzN6KgZU1K+fVJRFhRMll2vi9V0JctDJj8RBFEx0hHVtbol9F9pUQWHt3PsY/GMBhNEv1H0v0KA==", - "requires": { - "express": "4.18.2", - "fast-json-patch": "3.1.1", - "kubernetes-fluent-client": "1.6.0", - "pino": "8.16.0", - "pino-pretty": "10.2.3", - "prom-client": "15.0.0", - "ramda": "0.29.1" - } - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "peer": true - }, - "pino": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.16.0.tgz", - "integrity": "sha512-UUmvQ/7KTZt/vHjhRrnyS7h+J7qPBQnpG80V56xmIC+o9IqYmQOw/UIny9S9zYDfRBR0ClouCr464EkBMIT7Fw==", - "requires": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.1.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^2.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.7.0", - "thread-stream": "^2.0.0" - } - }, - "pino-abstract-transport": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", - "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", - "requires": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "pino-pretty": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.2.3.tgz", - "integrity": "sha512-4jfIUc8TC1GPUfDyMSlW1STeORqkoxec71yhxIpLDQapUu8WOuoz2TTCoidrIssyz78LZC69whBMPIKCMbi3cw==", - "requires": { - "colorette": "^2.0.7", - "dateformat": "^4.6.3", - "fast-copy": "^3.0.0", - "fast-safe-stringify": "^2.1.1", - "help-me": "^4.0.1", - "joycon": "^3.1.1", - "minimist": "^1.2.6", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^1.0.0", - "pump": "^3.0.0", - "readable-stream": "^4.0.0", - "secure-json-parse": "^2.4.0", - "sonic-boom": "^3.0.0", - "strip-json-comments": "^3.1.1" - } - }, - "pino-std-serializers": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", - "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "peer": true - }, - "prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", - "peer": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "process-warning": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.2.0.tgz", - "integrity": "sha512-/1WZ8+VQjR6avWOgHeEPd7SDQmFQ1B5mC1eRXsCm5TarlNmx/wCsa5GEaxGm05BORRtyG/Ex/3xq3TuRvq57qg==" - }, - "prom-client": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-15.0.0.tgz", - "integrity": "sha512-UocpgIrKyA2TKLVZDSfm8rGkL13C19YrQBAiG3xo3aDFWcHedxRxI3z+cIcucoxpSO0h5lff5iv/SXoxyeopeA==", - "requires": { - "@opentelemetry/api": "^1.4.0", - "tdigest": "^0.1.1" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "peer": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "peer": true - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "peer": true - }, - "quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "quicktype-core": { - "version": "23.0.76", - "resolved": "https://registry.npmjs.org/quicktype-core/-/quicktype-core-23.0.76.tgz", - "integrity": "sha512-QinZRNovSTQcFuhRKxeHb22eFmyucbG96EPaQDSbz9qvIPxUhs1BZviNc8HAkHWYFqTSET/xZcEoHpm1DeDbRg==", - "requires": { - "@glideapps/ts-necessities": "2.1.3", - "@types/urijs": "^1.19.19", - "browser-or-node": "^2.1.1", - "collection-utils": "^1.0.1", - "cross-fetch": "^4.0.0", - "is-url": "^1.2.4", - "js-base64": "^3.7.5", - "lodash": "^4.17.21", - "pako": "^1.0.6", - "pluralize": "^8.0.0", - "readable-stream": "4.4.2", - "unicode-properties": "^1.4.1", - "urijs": "^1.19.1", - "wordwrap": "^1.0.0", - "yaml": "^2.3.1" - } - }, - "ramda": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.1.tgz", - "integrity": "sha512-OfxIeWzd4xdUNxlWhgFazxsA/nl3mS4/jGZI5n00uWOoSSFRhC1b6gl6xvmzUamgmqELraWp0J/qqVlXYPDPyA==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", - "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", - "requires": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - } - }, - "real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "peer": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "peer": true - }, - "rfc4648": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.2.tgz", - "integrity": "sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "peer": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "peer": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "peer": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "peer": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "peer": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "peer": true - }, - "sonic-boom": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.7.0.tgz", - "integrity": "sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==", - "requires": { - "atomic-sleep": "^1.0.0" - } - }, - "split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stream-buffers": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.2.tgz", - "integrity": "sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "tdigest": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz", - "integrity": "sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==", - "requires": { - "bintrees": "1.0.2" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "peer": true - }, - "thread-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.0.tgz", - "integrity": "sha512-xZYtOtmnA63zj04Q+F9bdEay5r47bvpo1CaNqsKi7TpoJHcotUez8Fkfo2RJWpW91lnnaApdpRbVwCWsy+ifcw==", - "requires": { - "real-require": "^0.2.0" - } - }, - "tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "requires": { - "rimraf": "^3.0.0" - } - }, - "tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "requires": { - "tmp": "^0.2.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "peer": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", - "peer": true, - "requires": {} - }, - "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "peer": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "peer": true - }, - "underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" - }, - "undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" - }, - "unicode-properties": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", - "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", - "requires": { - "base64-js": "^1.3.0", - "unicode-trie": "^2.0.0" - } - }, - "unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "requires": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - }, - "dependencies": { - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" - } - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "peer": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "peer": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==" - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "peer": true - } } } diff --git a/examples/component-webhooks/package.json b/examples/component-webhooks/package.json index c526813a7f..7c39357e4f 100644 --- a/examples/component-webhooks/package.json +++ b/examples/component-webhooks/package.json @@ -25,6 +25,6 @@ "k3d-setup": "k3d cluster delete pepr-dev && k3d cluster create pepr-dev --k3s-arg '--debug@server:0'" }, "dependencies": { - "pepr": "^0.14.0" + "pepr": "^0.15.0" } } diff --git a/examples/component-webhooks/pepr-module-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b.yaml b/examples/component-webhooks/pepr-module-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b.yaml index ad00608e01..a08428e469 100644 --- a/examples/component-webhooks/pepr-module-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b.yaml +++ b/examples/component-webhooks/pepr-module-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b.yaml @@ -48,7 +48,7 @@ metadata: type: Opaque data: value: >- - MzE3MDM1YjQ2YjkzNjU4MzQ0Y2M1NjA5MzEwOWUxMDRmMzJlYzAzYzQ0MmQ4NjRlYzgyMjk3ZjZhMDFlOWQxMg== + NTkwMzFlMGU3MzJmYTg0ZjE5OTlmZGMzMWExZjY0MWUwZDAyYWMzZjE0NzU2MTUyMmFmYTAzMmI1YzRjM2M2Yg== --- apiVersion: v1 kind: Secret @@ -58,9 +58,9 @@ metadata: type: kubernetes.io/tls data: tls.crt: >- - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlDd3pDQ0FhdWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBQU1CNFhEVEl6TURreU1ERTNOVE16DQpPRm9YRFRJME1Ea3lNREUzTlRNek9Gb3dBRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DDQpnZ0VCQU5iZjVlQkJTaWoyK2RXZFdxZlNUMG91dkhrQUY2TmhTRmhPdTJJbC9sVDN3aG4vSXBWVXlFall2dGV2DQprRnZGTkRaemRCYmNpU3NxTGdOcDBRaGZsU2xSdENmL1BJekVlUXZUOExKZGRobXhvME1CdWdKWnZuSTFlSzVYDQovR3pVSG8xaGRKTGdjMDI1MCttOTBiSGluVzdENEFqSEQ2Ny8zcTIxd3FySHRYTGxjZzE3LzE2ZEFMMXQ4dUpJDQp3SlQwQUtPTFZaYnBKeTFsZEc5Q1JGNWhOcWpTUyt0MFNOTFV2WHk0ZTA4Y1lhQ2k1dDB3S3ErZTNQaVJ3RUJQDQo5WTF6TTJwNkpjNzlTb0U0WkdPZzJDNHVUaVdsTGIwL2FlYnNvZHIwOG1zR243ckRzeXJhMlQwN29NQ3Ira1JvDQp5UmwwQzhONVpHVEdIbzZSTGp3UnlLTXhvbDhDQXdFQUFhTklNRVl3UkFZRFZSMFJCRDB3TzRJNWNHVndjaTFqDQpZalUyT1RObFppMWtNVE5qTFRWbVpURXRZalZoWkMxak9EY3dabVE1TVRGaU0ySXVjR1Z3Y2kxemVYTjBaVzB1DQpjM1pqTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBWjB5K1ZHRmpWeklyNkpLWVdnMk8xdzJMQUh6bFdkLytiDQpaMThPaG4wQ3VhNS8ycTU0MXIvZmEwTHk4YzNSWkk1YTJzRnNrQy9ZdWlkVHVBSDE2Y0g0KytRS2t4WXlmN1JxDQo1OWhuZDlYUVcwOWlzamtJc2hyZmVlNERFOU9XeDBObnRra2JPL1dqWWthSDN0Q2VwMWFuVmd2WHd5N093SCtWDQo0QU5mVUV3cmZxdml5ejJtS3RBYWhDVzE1S3FxcTZKeGFyM1N5bVBQeFJPSXZvRHk5bjlLV0pxVzVBT0VUMTRZDQpjTDVxSHpCUTZXVU1RVnhwU3V6WG8zYVhjaGR1YThQcG5YZVNuSmsvS2hLanYzbFlkSGF6ajJxa3lFSnUxcjZsDQpoeUtYNVNNN0o4VXlacDcvUjdVQndmdHN3RHBDV1hjMk0wNzFRcHFqYWY1TnN6OW00TlhiDQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo= + LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlDd3pDQ0FhdWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBQU1CNFhEVEl6TVRFeE16RTNOREEwDQpObG9YRFRJME1URXhNekUzTkRBME5sb3dBRENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DDQpnZ0VCQUtHbWEyVHZNUmdMc01kL2FneFJua0hEeGgxL1YvNFN0Z2VHUkJLK1ZkV01TZlNIdE5UTXFTT2NUeW5vDQo4Z2ZFbnJNQ1ZPWXFqek03YkdEMU9pcGorRktGSkxJcGpaak1HRnhnR2VBSTBwVThTak1HcWMyazRKZ1N5ZDNPDQo5dmZxUk1adjNqd2pJeGMvekxiYzFBZjNKS3NlQTlYc2FzN3R6VmhjSFc0RFVPQnhpNTNLVHBDQzhWbFJoZmI2DQo2THBPVUFueW9pRGU2ZGZ1KzRIeXUzNlZuLzJKNFlMeXdwTXF6RCtzWUxCWXdrcTRiaTZzVk9XeWlsWXFnd2V4DQpmVG9Lbk1xZlExbm4wTVZrb0FkLy9FUXBFKzE1NTVFcTlrUmt4cW5wYzllUlNjT2JOWGxjdng4eDdOaG1GR2xRDQpZQ0hYQVlJZ2xKT01LMzUrZXNnOHNPeEkvUXNDQXdFQUFhTklNRVl3UkFZRFZSMFJCRDB3TzRJNWNHVndjaTFqDQpZalUyT1RObFppMWtNVE5qTFRWbVpURXRZalZoWkMxak9EY3dabVE1TVRGaU0ySXVjR1Z3Y2kxemVYTjBaVzB1DQpjM1pqTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCVDZsYnRQalpnSU9vTHE1SnRMYkphODB6L293QTNoTFZLDQpSMFN4S2xxSjAvdElmb3FKMmZTNTdtT0NFZFJhR2dlK2l3am0zL2xWWnY4QzNRWnB0Yy9sV3FqdU1hTkxUWmQ4DQoveG1vckFiVE5RdElkVXMrRGpPeTlBbDRiU080eG0zUG9VUk0yK1JSdUF5eEZhME9hZjJoTlBMQ1RjOU1qWTBQDQp5VTZNdWFTZ1FpZGlRSExKYzRrT1N5T3Q4ODRxWlZYeHFCRWRidVN0dVRWeDZnY1NjWlNCNXlvaFY0K0JJaEtPDQpNc1E1alEzTlRpQjgrSU1FSHh4KzhZSWhaQjVzYnFPRnl6TTBuaFFMVWVnc01GLzFqYU5LaDNQMDY1OUMxK0Y1DQoyRjRDeVJRN1hlcmJPVEZPbElXY215aU1VUVdpcGNvS0hIYldkNWNNbUg0VWd4QjJqeGtWDQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tDQo= tls.key: >- - LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQ0KTUlJRW93SUJBQUtDQVFFQTF0L2w0RUZLS1BiNTFaMWFwOUpQU2k2OGVRQVhvMkZJV0U2N1lpWCtWUGZDR2Y4aQ0KbFZUSVNOaSsxNitRVzhVME5uTjBGdHlKS3lvdUEyblJDRitWS1ZHMEovODhqTVI1QzlQd3NsMTJHYkdqUXdHNg0KQWxtK2NqVjRybGY4Yk5RZWpXRjBrdUJ6VGJuVDZiM1JzZUtkYnNQZ0NNY1Bydi9lcmJYQ3FzZTFjdVZ5RFh2Lw0KWHAwQXZXM3k0a2pBbFBRQW80dFZsdWtuTFdWMGIwSkVYbUUycU5KTDYzUkkwdFM5ZkxoN1R4eGhvS0xtM1RBcQ0KcjU3YytKSEFRRS8xalhNemFub2x6djFLZ1Roa1k2RFlMaTVPSmFVdHZUOXA1dXloMnZUeWF3YWZ1c096S3RyWg0KUFR1Z3dLdjZSR2pKR1hRTHczbGtaTVllanBFdVBCSElvekdpWHdJREFRQUJBb0lCQUQvRDdPdHFaTEFZYnRhcQ0KSGlPTVlWUlIzME9ITi95WG00ajlRRlZsa2Y2MEVhbDJVZFIvOXZuTFBJTTBTZ0k1MlA5SnJzczBBZzdKc3lMMw0KTFgydkk4eEJ2MVZaUktZL2plNXBKRlpDTHhCNzYwZXd4UHI2bCs0N21RY2YvRHh0akcySFhMbFRtMVFYRCtDZg0KSUpJSi9vOUcySDZ5V0NDbU5QWlc2S0NXcUcyaVJzempJTll5ZW5lU2c4MnU1b1ZLMTF6NHhMbDhjcDlHRHJhWA0KdjRBa2dFVERtaDZsdVpmWlhCQ1hSM0ttTlNMZ0cxQUp1bTc5K1NpRTNMd1dHK3FNNnFjTFd2aDFuS2wrTVlHZg0KOGNkODdqWjNEZHh6SGVoU0lYMGFDNnQ0VEhDMXRSbmVVVk04YWNNUzRsc0NiT0JxN2NsUTZaTmVtNkNFTFp3WQ0KN1RhcFdqMENnWUVBMTN0amJrSmZVU0Ivdlo2aWVkUFM0dk9DVTNYZUtodlloZGd4MzVDVTRvTjgyRkhRUEwrUg0KbnRiVjlPQk8ranJ6ZkcxN3hHbnloeFlBT1cvMjV4bDliV21uQTRXM2dTZDZKWlJ2K3p2U2ZsNXN0aWpNNGZzLw0KZ0RVQkdzU0RpWnd5MThZd3NxWG80SlZ6anh1MmtlQVZwL0t1OE4zYlBwVVlnNjZIcHEwVGx6c0NnWUVBLzBkRg0Kb2tieHJrdkpvVHNjVTJiSDBxcnlLd0Rad2ZOa1RFNzI0ZmpWbjNlcHpTaGdJVEc2ZnUzZVhYaDVuOW9pZ3FKeQ0KaUVuNDNPNDh0dHBRZGdSaE9GZ0hnS3JLRkUveCtjKzdML2tZWnNQeU1UcjNQNXFsQVh6eFhUcGc4VjVIZlRZUA0KN2t5STRpWXlZTElnaEMxSDlSLzlZd1lGOVM5YlJZc1FnTE5oVnkwQ2dZQVdZTFFFd1ZQUXd3VkJGZlpkbklmcw0KRmNuVkRRcVRhT3psaVh3MGNYbGt4SzcwY0JxbUZHYjFEZTZPVGJVbCszVkoyTHpmdXZqNjJtZ1BqdmNmTE9CLw0KdWxjajRJRWNJcE5tejdHSmI3NytiS1B4anU4b0VNV1pkT2UyZGU0TEhuT1JRUDNScjdVdGpaZkFwdW9nNEJxZg0KcEc1U2lWZTVlaFpmcG9KajV0bC8vUUtCZ1FDelM0Mis4bkVnNkI0UDNnS0JHWGxUbjdsRE51KzY1NFlVaW9tZw0KSVRONU00VFJrWUFqRUZoYWVodHFMd25ObWxvT3dxWUt6MW01WXFMR0V3UGNRQ3RBZGFPZlhWVmRldUVMZ2ptSQ0KOGoyUFFDVEZLeE1wV3laMXF4bWpUek56azdKR1lVaERLUUlqUkl5eG1hcDQ2NHpVdjhrcVdicXBnTDlzVXNZZQ0KZnQ3cGFRS0JnR3YrUUVNL1RMY3pBRTRzUUNsNDNaeG04WCsyMjhoUnB5ajAwMkxhMnNlc3ZzR3ZKeEorelF6Yg0KQUN3S1RqOWtaSHRtNnVKYWNsUUVJeXJramYySDFFNWpUWGFRWjlCSHNnQVpqMWdPaDkwUnhPZEt4dTNHZVphOQ0KK3E4K0VlWnNSaXhyVTBtby8ySFIxSk1VZ1VaakE2azB2cVVpZ0U1RytZMUVwUHRkZUxpbg0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0NCg== + LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQ0KTUlJRXBBSUJBQUtDQVFFQW9hWnJaTzh4R0F1d3gzOXFERkdlUWNQR0hYOVgvaEsyQjRaRUVyNVYxWXhKOUllMA0KMU15cEk1eFBLZWp5QjhTZXN3SlU1aXFQTXp0c1lQVTZLbVA0VW9Va3NpbU5tTXdZWEdBWjRBalNsVHhLTXdhcA0KemFUZ21CTEozYzcyOStwRXhtL2VQQ01qRnovTXR0elVCL2NrcXg0RDFleHF6dTNOV0Z3ZGJnTlE0SEdMbmNwTw0Ka0lMeFdWR0Y5dnJvdWs1UUNmS2lJTjdwMSs3N2dmSzdmcFdmL1luaGd2TENreXJNUDZ4Z3NGakNTcmh1THF4VQ0KNWJLS1ZpcURCN0Y5T2dxY3lwOURXZWZReFdTZ0IzLzhSQ2tUN1hubmtTcjJSR1RHcWVsejE1Rkp3NXMxZVZ5Lw0KSHpIczJHWVVhVkJnSWRjQmdpQ1VrNHdyZm41NnlEeXc3RWo5Q3dJREFRQUJBb0lCQURLeDUxSkROVWxPT1VXSA0KYnZHb0V4S2EzQ0hhRXZWcVZzM3JUS1A0THlFR214Ym1ERThFVkRNSHpVZmVkekQ2ZDY2NkYzZ0xkdGRoVm03ZA0KMlR6OEZ4K0NBKzBmM1BsRFlJeHYwdzJRbHNJWW8waDNXWDlWcXQzbVhvcUNZcStETjhobnd2Rm5MNVVWL0JTSg0KRXJIZ3p3NGZIcUxUUHZmZ1doclE0S1hrd2xOd3FOQWRLS2grR29JK0h5NkZHNFhORWhoNXdLc052VGQ1YXVnVg0KUDVRbXptRUhIajdhQTU4WmE4cFdrZUU3VVBxTnRjYnBrR3dLOVJZdFlBSzd2bDEyTHdwT1M4Vm4zKzZHMGRKWA0KcXhhQ080QmZ0UEpHYTFsbENUa2RtSlJMcm5BZE8zZVhuRS94OEhpUlR3d25vMDlTNi9iL3krZXgrQ0twcC8vaA0KdGZ1cThCa0NnWUVBd1hxc29mOTlJUjhHL05ZS2lEWkNKWmMxSnJkQ011bzdNYUtINENUT09ReG1XZEo4dHM5OQ0Ka1VwZVE1NU5oWXJSRXZFNVpCcEkvR29YUmxWNFFHbjdlRWdJdUNmcGRsVXp0a2xkbWp2cGd1UXZ4RnhGSXlpUg0KRUpGb1IxbmVPWkd0YjNScFp3ekF2VXdQY05XdTlHN2ZvUUF0MG01VEhxcm02eDl4OTNFRW9aVUNnWUVBMWVLNA0KaG1UNFg2L2dhOHpZL0IveWFLNmFpdFhDVTczdFdvYWVsdFBUbWh5VDVxMFZHUjJINXZrY3I5L3JqREZ0ajdoZQ0KZS8yblM1SEtpem8zaDZmb2JLSm9icUEzdFFYWkpZUGZsQU9zVVBnMTJ4YkRXaXJJQ0dBamxoRG9zMDIvQzVrNA0KbVM3WnFIeGNVdEk4ZitjTmdjbzdLZnRNZ2dOdnhRekFjQm5RdkI4Q2dZRUFzcUhzbVhVbHRsckxQTXp4MUdraw0KRVVqV0RmVE03ZTFNMGJyWjhKeUt1aWswcG1Hc082eStwbElmVGhidVJBbXlsdWFZc2srQ2Eyb1lLeHZtZHJKag0KTnQ1ckRudnJGUkg5T0tQc0ErYWs1ZkNBR2ErSE5iclNsSlZyemRTdlZEK24vV3RobFg4MHhKRmhBRENKNDZ3cQ0KVkoreHJzT2xnbjhQeksydnIyRnRnVEVDZ1lFQWx2UXk0N2R6aktVbXNTNmNuaVUyQXlmb0xzQjdMSHRKZjdDdg0KVVNnam1nczlYM3NjL3VMV3ZlOW5qY0Z1RHozN1k0bnVOWGhxa0cxUEZFQjhYS1BtNkhVZlc2UjhiS2k1L3o0NQ0KbDgrWDJIVzJIUERONDE5NldsN3Yvc1BrV0ZndzA5REtIMkx2ZjNoMStJWWs2T2g3b2ZUSEdQUWhwVWtqbzJGQw0KbUZ1LzlHVUNnWUJIellZdXZRd011c1ArSndBbWJ1d3NXMWthbllmTTY4OVcvcUpOYXBEQTc2UEJPbWljQ05tdw0KSWdMMTh4bjZCcStWQkFETWQzb1ZzNFFuNWM2TXg2SkVERHAwT09pazVrNjhpQTZHK084L2pRaVR1STZLNWNUSw0KQzgxalhsSWo0QzgxWUlCRWxPS3d4LzUyeGxhM0lRbDJ5QWVKWlhUVWx4WUdxMjc0KzdCT1F3PT0NCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tDQo= --- apiVersion: apps/v1 kind: Deployment @@ -83,12 +83,12 @@ spec: serviceAccountName: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b containers: - name: server - image: ghcr.io/defenseunicorns/pepr/controller:v0.13.3 + image: ghcr.io/defenseunicorns/pepr/controller:v0.15.0 imagePullPolicy: IfNotPresent command: - node - /app/node_modules/pepr/dist/controller.js - - f8a0548747afb1817cef44ab024a6288215a918fd7cd3ee60c659b435e655e40 + - b947b4974c9919a3983673269d19f548e2d8a99db04d9401a53eb9f0bcc71ff0 readinessProbe: httpGet: path: /healthz @@ -101,9 +101,6 @@ spec: scheme: HTTPS ports: - containerPort: 3000 - env: - - name: PEPR_PRETTY_LOG - value: 'false' resources: requests: memory: 64Mi @@ -111,6 +108,11 @@ spec: limits: memory: 256Mi cpu: 500m + env: + - name: PEPR_PRETTY_LOG + value: 'false' + - name: LOG_LEVEL + value: debug volumeMounts: - name: tls-certs mountPath: /etc/certs @@ -145,14 +147,82 @@ spec: targetPort: 3000 --- apiVersion: v1 +kind: Service +metadata: + name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-watcher + namespace: pepr-system +spec: + selector: + app: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-watcher + ports: + - port: 443 + targetPort: 3000 +--- +apiVersion: v1 kind: Secret metadata: name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-module namespace: pepr-system type: Opaque data: - module-f8a0548747afb1817cef44ab024a6288215a918fd7cd3ee60c659b435e655e40.js.gz: >- - H4sIAAAAAAAAE41WbZPbNBD+3l+hCuZqg6wmkym0zviOTkqZQt+m19IZbsKcbG0SNY5kJPlCSP3fWclJSNsc8CGOLO1qd59nX3wjLKmLV+UHqDyXMFMaXlvTgPWb8Q2eySLRzKTFeY3/VIsVULa9EXULuWGV0TM1b60oa8jvDro0qiwKC3+0ykJCG2gs7XfLYhu0cwp/ilVTQ7aGcmHMkrIbsE4ZndMBH/AhZRJcZVXj4x5lS9isjZUuv+qvY3T50OGzMbWqNhnoOfoc3vEwWxnZ1uHNQdVa5Td0ynoJl2+1kWj/vBg+REMD2rGgkt/mVtsqmdOqfPDdoxHMMjkcVdmDGQyz8oGQWfXw+8FMPhoOy1FJmdE/WmtsTtVcG4v2Rb0WG/csvvUWXCMqdOJqympRQh1WXcf6SNE3uhzJzIFvG5qHNanq1nlAAqAGDyRGJ+GGnJ2R4+PKgjg+zrLlyGXCzsm9DDfKdv6DA4sQ54N7GLGEBrQEXakASIyf/o6oj/iIdl0kSpykryk0rIngE9GIUtWIbHIbcJ/w95g4FY7JToxUhwuIN8QtzJqE307bEeR6SdbKL8hvws4IorYUc0AYmtpsVqC945QdA0r/Qjk67VK2fb8Anbdd0YzbRHDBLwHh8Sl/5iYRJvnKvmtkWCS4qV/ub0n6O1L+Hu0+D/Rg7L3hrDecKT0zKPCi9aie6OJ8i7QQU2j+RqwZMMtccXc49naztYXwpkwMR0siPtJwOOgq4asFHh+ddEEBip8vX73kjbAOEpv2colPt35hEZoAfEyv5PqpUDXIAFwUJn4BxMUg/7kyJ19vfXeddjPUCE6imzMCF7yPBOTErBqjA5IXF1fT1HOHMbWuKAr6JIooPadnZ4jgczPnIfDk+i0aqvZ6wQAPFHREOYJ1ZnGz3uw4Qu3rlAE/iL/fUXvBr/xF1Jviknpw/pA0uGPKmKjyJ9BgRcge9Aj4/PB60TsUk/p2jxbCEVEj3XKDa0nEPrUwA7EnIPcEgSHKc/LS+N0m+kyENgin5ddpnpzw/uPHU7vFtjsZ61XvzrTYfhrnvtt8ssl6AnL6ptU6gM++xCI/RgIbxxLzawVeRNrDnay3mKbpOFB5d3BxlGZF6Y1IYpY5b9GEmm0SlM2PZb44xn4u3EZXZNbqKtglyzgMtmItlCfzZDhIxyHDYNccsDHzX9oSJnEujIHXRsin1qyewEy0tU96cYu0rsQSHjdqUitELelVJ9gsfx3ibhrrKOZukfTGLA+UHipW9qUdZlJfuikvjdywVV97/rj21HF5rVJWFeoEYeZEUo6rW9JSHZGBlVLtS4hetlUFIEFSdtrI5yaKKmX+P4hSacr2KDShN9wKA/PsxihJBv/6t10glDh0ceogUx4dzN5uGsDBI5oGh2oM6z7ax1Y3V1W2AouNMFr+9oMzGifFvkm5dIv2W6tJX5zQ96l3OnwShD7Vxn4bG9W+lfcNK7Spz+J0KbYt5rpOJkuc4DVA81jLyULoOVxGgHEYHXJxnuiD8ZB++NmyUsiwKc5xjr5VKzCtTwzT3wxhlKZ46Xx3Kd4SFBb8Nc63F/GLISnZVTNNx3fu3/+KONPaCl4gGOjYuzfPizhd/8+XAP/gMLObO38DI0EF91YJAAA= + module-b947b4974c9919a3983673269d19f548e2d8a99db04d9401a53eb9f0bcc71ff0.js.gz: >- + H4sIAAAAAAAAE61WXW/bNhR9769guSKRBkq1EWRLZShekW1Ft34haRFggYdQ4pXNWiY1kornqfrvu6TsxF2TrQ97sEyRl/fjnHNJ3XBDFvnb4iOULhVQSQXvjG7AuM3kBtdEHimm4/x0gf9U8RVQ1t3wuoVMs1KrSs5bw4sassejPg5bitzAH600ENEGGkOH2Trv/O6Mwp981dSQrKFYaL2k7AaMlVpldJSO0jFlAmxpZOPCHGVL2Ky1ETa7Gtwxujyx+Gx0LctNAmqOOft3XExWWrS1f7NQtka6DZ2xwcJmndIC45/m4xMMNKI981uyh9JqWykyWhbH3z07gioR46MyOa5gnBTHXCTlyfejSjwbj4ujgjKtfjJGm4zKudIG4/N6zTf2ZXgbItiGl5jE1YzVvIDaj/qeDZVibnR5JBILrm1o5sekrFvrAAmAGhyQUJ2AG3JwQPaXSwN8fzlJlkc24WZODhOcKNr5DxYMQpyNDrFiAQ0oAaqUHpBQP/0dUT/2ePSBKHcvfatcwZq49Iw3vJA1Ihs9BNxn/D0nVvplsjUj5a0D4jSxC70m/rfdbQlyvSRr6RbkN24qgqgt+RwQhqbWmxUoZ1PK9gGlf6EdnfUxa3LqwLq7TLrLBahs2eeryTJyKU8vAPFycfrSngXcxFvzoRF+EOGkerNzGw1O4/QSE3nl+UIwhkySIZNEqkqjwevW4fZI5acd8kR0rtJzvmbADLP54/HEmU1ncu50EekUI/HwiP3iqC+5Kxe4vLfS+w2Q/3Lx9k3acGMhMvFgF/G4cwuDWHkmgt6i65+5rEF4JIMxcQsgNhR55zIjTzreX8d9hTt8kpzoisA0HSoBcaZXjVYe2un0ahbz1GJNrc3znP4YTKSa04MDRPCVnqe+8Oj6PQYqd/t8gNRz0hNpCTaewcl6syUNd1/HDNJb88st19P0ik/DvhkOG3zoIohVvAAFhnsFYRKQzm9fp0MOQdgPJ7HglvAaGRYbHAsseCsJVCGeC0g3QSyIdCl5o912EtMkXGlE0KTXcRbdk/CnT/fN5l1/b3lXQzqzvPtcltsTp2EDzBk9b5XyELMvy8/2i8fzokIVrcDxQK53w4a/OI4nnrDHo+memPLCaR4FLVlnMISsNhHaZvs2XyzjMc7tRpWkalXp45Iq3AEdX3PpSBuNR/HE6wjyoU2Y2cncG0Qj5tJfT2yMellKJe6abq+/IE5fgIvUTtsStR2YhUHXw3FK7uQ9x3i7s2AQODl80qn+kEhFbo8DPwf9oVf8P8qSse8An7UdutHsdyPfbzgbszLn9/CpB5lOygeEyve4wnYpd31EL9qyBBAg8GK41y96zcuYmf+gjiPLHul/x/l509R4Ou9kspWbujs0M8CLIKyE515UVFiHnVEOt/nXctOGI/R/oKcXUYVXdw3QPFfibMHVHC4ChngL3aqxRdl0GKE1KhyF+L2yksibzk/xAn0vV6BbF2mmvh3DURyj03brFL34DUX6Di+21+FTIarZ1WoWTx49ffoNsbrF2l/zpsG0Ppy/ysO1+jWfAOlHm6548+hvWNCUW08JAAA= +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: peprstores.pepr.dev +spec: + group: pepr.dev + versions: + - name: v1 + served: true + storage: true + schema: + openAPIV3Schema: + type: object + properties: + data: + type: object + additionalProperties: + type: string + scope: Namespaced + names: + plural: peprstores + singular: peprstore + kind: PeprStore +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-store + namespace: pepr-system +rules: + - apiGroups: + - pepr.dev + resources: + - peprstores + resourceNames: + - '' + verbs: + - create + - get + - patch + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-store + namespace: pepr-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-store +subjects: + - kind: ServiceAccount + name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b-store + namespace: pepr-system --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration @@ -165,12 +235,12 @@ webhooks: - v1beta1 clientConfig: caBundle: >- - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlDdERDQ0FaeWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBY01Sb3dHQVlEVlFRREV4RlFaWEJ5DQpJRVZ3YUdWdFpYSmhiQ0JEUVRBZUZ3MHlNekE1TWpBeE56VXpNemRhRncweU5EQTVNakF4TnpVek16ZGFNQUF3DQpnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDY09PNmg2NjZrYWtGbUJaaDROSitSDQprQzFxUFJHR01PWVVsWVFmS0FJSGpSSFZleU9PQUNkcWVqVUd2VzRkTHE1dVQ4QVh3ZXFIekwzQ1M5ejZQNVlCDQplZG5oQU1RZDFsMVphRWdmU0ZnaFlxNlFweGlxc1o4alZtVFFBOExlNWRYcDdERGs4RVNrQ0xKOGU2SEM4SmxQDQo5SUdNMisvZjZrMjdTWGFCYUJzL0swLzZ4SFk0ZEFOODJnL1crTnBhWFdUYk5QWmpMVFdPM1BPc1BrRFNydFp5DQpVeFUyM3ZDRFp4elBIRU1IVE0vc1oyOXRnSldDUU5OaFhHWTEvaWdGVWFZeGhadzZDL2g3ZHlTbzF6bm51a2QwDQpvMHlUWlAvM0Jod2lvZDRSdnlSNDY0aGhpeFRSYVFsNFBrU0dWakVIbXA5WURZNm9YUzZpdERYU3JyZmNOY01UDQpBZ01CQUFHakhUQWJNQXdHQTFVZEV3UUZNQU1CQWY4d0N3WURWUjBQQkFRREFnTDBNQTBHQ1NxR1NJYjNEUUVCDQpDd1VBQTRJQkFRQ1lEV3RDaUZRNnA5UjV5UHM0YjRnNTJHb2Via3RyVDh5QzQ5VEZ5aVRMeVVvSUM4WXhscy9WDQpGWnlMdW5FZjd2czhIcVNqTUIrNzMxamFlYmZZclQ4ZzZxUitQNmFyU1l3eTBDNHdoek5zOG5IQTlGZXR2V1VuDQpVbWdvRTNQc2c5eDhPWFpsQ21DNHRFWElIRGovbkhxbUswYXE1SkdUZFRCM01yOG5PWVpLWGdSSkswY0ZHMkdoDQpITFB3ZCttZkFudTh5U3JxejRNeE1URVE5RVZTckpHVE1CRDA3NnFncTlTK090cUh6VFpmcGpkdytrMTJFQkFMDQpUZEVFTmdKeFZnQjFrMnArMm1KcU5WbEZITzZ0c3hCcG9TU1o4L0NFV1VrdkJBdTh2dkpSajRRMFFjSG45RjcvDQoreVl3Tzd1K0FNVWo5L2pCWWVvdVRUQllPNEkwVmU4bQ0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K + LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlDdERDQ0FaeWdBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBY01Sb3dHQVlEVlFRREV4RlFaWEJ5DQpJRVZ3YUdWdFpYSmhiQ0JEUVRBZUZ3MHlNekV4TVRNeE56UXdORFZhRncweU5ERXhNVE14TnpRd05EVmFNQUF3DQpnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEUWIvRkh4TzVlWmUxenZOYTVKUTM5DQp0ZXR2RENXS0duWXRpZlVwTElXR1RKUkhnUnlVY1ArMUdXa3BjK1kzUUhpaGZJOFJLK0w1OVhiTjdTUDR2bFBkDQp1d001M05nYi93b3RkTWd6bG04a243eFR1Y1pTTGs4dUtRZi8wMTUzSVE1OTNhVThRbW9LZ09oMWNNTFNHM29DDQpYZDJmdGk5YTc5dFNwSW5XeVdkaE1hVVIxTGJvSTlMOGR0M2l5bVpMR2pxdlNEOVIvWlRiUVJXMTNENVd0ZnZYDQpVY0hqaVZPZmg3Si9Ga2U4ZzJxZjEvTml2NDZ1M0tacnN4Z1lMQ3pRSDcwdnhjMWZndmx6YnY5SG0xOFQ0bVZjDQpKK2t5cXptNHpjdkV2ZlIzUzJVQmlZZUQxZVZKcTVDdnZ2STlIT25YY3RXTWdpdVRFSE8xb3kzSEQwLytUK1p4DQpBZ01CQUFHakhUQWJNQXdHQTFVZEV3UUZNQU1CQWY4d0N3WURWUjBQQkFRREFnTDBNQTBHQ1NxR1NJYjNEUUVCDQpDd1VBQTRJQkFRQjRmekRLc3hvU3VBcVMrZWhlSUNzek1EdHlrSUp4OTB3RE5lVUQ5NkJSSFN3OHdkZ0NuOThnDQozdEwyeHZ3eloyY0xDUW5mUjhBMHdEU0Q4cWEyTDh2cXVnczZBQ0JSQm9DRFAyOWEySklOQ2RITzdBSnkvVHpvDQp4dTFxeWQ3K2xKUFB4enFHYk9GSGJ5NGhLTi9PSm13NWdrNENENWtPVXJWNzMwbXpxLzNub21SUlJON3JNVUI1DQpaZzl0YzVwNStWNGE0UFpTWDdTZ0J1WDdVTHdOUDFVVWhlTzB1N2pIeDZGdVdUczlhYkdBemM1dUVjYzd3bndlDQp0WWJRYU04YnlzdmM0L2tqL2YrMjFaMld2Z0RqWGJxSDRTcEF3WUQzY2JpQUtWVDU1SkhrUFQ1a0tsVXFVQUZpDQp4c2QzbE9jeE5ndEpueEI1WUVFYXBzWXFqYnBGTWtmNA0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ0K service: name: pepr-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b namespace: pepr-system path: >- - /mutate/317035b46b93658344cc56093109e104f32ec03c442d864ec82297f6a01e9d12 + /mutate/59031e0e732fa84f1999fdc31a1f641e0d02ac3f147561522afa032b5c4c3c6b failurePolicy: Ignore matchPolicy: Equivalent timeoutSeconds: 10 diff --git a/examples/component-webhooks/zarf.yaml b/examples/component-webhooks/zarf.yaml index 9252664416..1baa3ab50d 100644 --- a/examples/component-webhooks/zarf.yaml +++ b/examples/component-webhooks/zarf.yaml @@ -13,4 +13,4 @@ components: files: - pepr-module-cb5693ef-d13c-5fe1-b5ad-c870fd911b3b.yaml images: - - ghcr.io/defenseunicorns/pepr/controller:v0.13.3 + - ghcr.io/defenseunicorns/pepr/controller:v0.15.0 diff --git a/hack/create-zarf-schema.sh b/hack/create-zarf-schema.sh index 68752db6c7..cede2b69d6 100755 --- a/hack/create-zarf-schema.sh +++ b/hack/create-zarf-schema.sh @@ -1,7 +1,7 @@ #!/usr/bin/env sh # Create the json schema for the zarf.yaml -go run main.go internal config-schema > zarf.schema.json +go run main.go internal gen-config-schema > zarf.schema.json # Create docs from the zarf.yaml JSON schema docker run -v $(pwd):/app -w /app --rm python:3.8-alpine /bin/sh -c "pip install json-schema-for-humans && generate-schema-doc --config-file hack/.templates/jsfh-config.json zarf.schema.json docs/3-create-a-zarf-package/4-zarf-schema.md" diff --git a/hack/gen-cli-docs.sh b/hack/gen-cli-docs.sh index 85da437bc6..59f8201635 100755 --- a/hack/gen-cli-docs.sh +++ b/hack/gen-cli-docs.sh @@ -1,6 +1,6 @@ # Generate the Zarf CLI docs printf "Generating CLI docs\n" -ZARF_CONFIG=hack/empty-config.toml go run main.go internal generate-cli-docs +ZARF_CONFIG=hack/empty-config.toml go run main.go internal gen-cli-docs # Create the top menu label for the sidebar menu printf "Generating sidebar menu label\n" diff --git a/src/cmd/internal.go b/src/cmd/internal.go index ba066b7e88..404dba5baa 100644 --- a/src/cmd/internal.go +++ b/src/cmd/internal.go @@ -48,8 +48,8 @@ var httpProxyCmd = &cobra.Command{ }, } -var generateCLIDocs = &cobra.Command{ - Use: "generate-cli-docs", +var genCLIDocs = &cobra.Command{ + Use: "gen-cli-docs", Short: lang.CmdInternalGenerateCliDocsShort, Run: func(cmd *cobra.Command, args []string) { // Don't include the datestamp in the output @@ -119,9 +119,9 @@ var generateCLIDocs = &cobra.Command{ }, } -var configSchemaCmd = &cobra.Command{ - Use: "config-schema", - Aliases: []string{"c"}, +var genConfigSchemaCmd = &cobra.Command{ + Use: "gen-config-schema", + Aliases: []string{"gc"}, Short: lang.CmdInternalConfigSchemaShort, Run: func(cmd *cobra.Command, args []string) { schema := jsonschema.Reflect(&types.ZarfPackage{}) @@ -133,6 +133,26 @@ var configSchemaCmd = &cobra.Command{ }, } +type zarfTypes struct { + DeployedPackage types.DeployedPackage + ZarfPackage types.ZarfPackage + ZarfState types.ZarfState +} + +var genTypesSchemaCmd = &cobra.Command{ + Use: "gen-types-schema", + Aliases: []string{"gt"}, + Short: lang.CmdInternalTypesSchemaShort, + Run: func(cmd *cobra.Command, args []string) { + schema := jsonschema.Reflect(&zarfTypes{}) + output, err := json.MarshalIndent(schema, "", " ") + if err != nil { + message.Fatal(err, lang.CmdInternalTypesSchemaErr) + } + fmt.Print(string(output) + "\n") + }, +} + var createReadOnlyGiteaUser = &cobra.Command{ Use: "create-read-only-gitea-user", Short: lang.CmdInternalCreateReadOnlyGiteaUserShort, @@ -205,8 +225,9 @@ func init() { internalCmd.AddCommand(agentCmd) internalCmd.AddCommand(httpProxyCmd) - internalCmd.AddCommand(generateCLIDocs) - internalCmd.AddCommand(configSchemaCmd) + internalCmd.AddCommand(genCLIDocs) + internalCmd.AddCommand(genConfigSchemaCmd) + internalCmd.AddCommand(genTypesSchemaCmd) internalCmd.AddCommand(createReadOnlyGiteaUser) internalCmd.AddCommand(createPackageRegistryToken) internalCmd.AddCommand(isValidHostname) diff --git a/src/config/lang/english.go b/src/config/lang/english.go index 9c5ace02ba..1957931fad 100644 --- a/src/config/lang/english.go +++ b/src/config/lang/english.go @@ -198,6 +198,9 @@ $ zarf init --artifact-push-password={PASSWORD} --artifact-push-username={USERNA CmdInternalConfigSchemaShort = "Generates a JSON schema for the zarf.yaml configuration" CmdInternalConfigSchemaErr = "Unable to generate the zarf config schema" + CmdInternalTypesSchemaShort = "Generates a JSON schema for the Zarf types (DeployedPackage ZarfPackage ZarfState)" + CmdInternalTypesSchemaErr = "Unable to generate the JSON schema for the Zarf types (DeployedPackage ZarfPackage ZarfState)" + CmdInternalCreateReadOnlyGiteaUserShort = "Creates a read-only user in Gitea" CmdInternalCreateReadOnlyGiteaUserLong = "Creates a read-only user in Gitea by using the Gitea API. " + "This is called internally by the supported Gitea package component."