From 48fd904e890154cf69d857bb92ff5be0fa5d3ae7 Mon Sep 17 00:00:00 2001 From: Alex Dixon Date: Fri, 1 Sep 2023 15:29:39 -0700 Subject: [PATCH] start making packages more consistent --- packages/async-api/jest.config.ts | 9 - packages/async-api/package.json | 41 -- packages/async-api/src/index.ts | 272 -------- packages/async-api/test/index.ts | 175 ----- packages/async-api/tsconfig.build.json | 4 - packages/async-api/tsconfig.json | 20 - packages/aws-s3/src/index.ts | 9 +- packages/gcp-gcs/src/index.ts | 10 +- packages/gcp-logging/src/index.ts | 4 +- packages/github/src/index.ts | 4 +- packages/json-schema/jest.config.ts | 9 - packages/json-schema/package.json | 40 -- packages/json-schema/src/index.ts | 376 ----------- packages/json-schema/test/index.ts | 139 ---- packages/json-schema/tsconfig.build.json | 4 - packages/json-schema/tsconfig.json | 20 - packages/temporal-config/src/index.ts | 66 +- yarn.lock | 774 +---------------------- 18 files changed, 30 insertions(+), 1946 deletions(-) delete mode 100644 packages/async-api/jest.config.ts delete mode 100644 packages/async-api/package.json delete mode 100644 packages/async-api/src/index.ts delete mode 100644 packages/async-api/test/index.ts delete mode 100644 packages/async-api/tsconfig.build.json delete mode 100644 packages/async-api/tsconfig.json delete mode 100644 packages/json-schema/jest.config.ts delete mode 100644 packages/json-schema/package.json delete mode 100644 packages/json-schema/src/index.ts delete mode 100644 packages/json-schema/test/index.ts delete mode 100644 packages/json-schema/tsconfig.build.json delete mode 100644 packages/json-schema/tsconfig.json diff --git a/packages/async-api/jest.config.ts b/packages/async-api/jest.config.ts deleted file mode 100644 index 1be0e74..0000000 --- a/packages/async-api/jest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Config } from 'jest' - -const config: Config = { - preset: 'ts-jest', - testEnvironment: 'node', - testMatch: ['/test/**/*.ts'], -} - -export default config diff --git a/packages/async-api/package.json b/packages/async-api/package.json deleted file mode 100644 index d4c1430..0000000 --- a/packages/async-api/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "@effect-use/async-api", - "version": "0.0.0", - "packageManager": "yarn@3.5.1", - "dependencies": { - "@asyncapi/parser": "^2.0.0", - "@asyncapi/specs": "^5.0.0", - "@effect/data": "^0.17.6", - "@effect/io": "^0.38.2", - "@effect/schema": "^0.33.2", - "js-yaml": "^4.1.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "files": [ - "dist" - ], - "devDependencies": { - "@types/js-yaml": "^4.0.5", - "typescript": "5.2.2" - }, - "scripts": { - "build": "rimraf dist && tsc -p tsconfig.build.json", - "clean": "rimraf node_modules & rimraf dist & rimraf .turbo", - "format": "prettier --write .", - "test": "jest", - "typecheck": "tsc --noEmit" - }, - "engines": { - "node": ">=18" - }, - "license": "MIT", - "repository": { - "directory": "packages/async-api", - "type": "git", - "url": "https://github.com/embedded-insurance/effect-use.git" - }, - "publishConfig": { - "access": "restricted" - } -} diff --git a/packages/async-api/src/index.ts b/packages/async-api/src/index.ts deleted file mode 100644 index 1ad4f0c..0000000 --- a/packages/async-api/src/index.ts +++ /dev/null @@ -1,272 +0,0 @@ -import { AsyncAPIObject } from '@asyncapi/parser/esm/spec-types/v2' -import { pipe } from '@effect/data/Function' -import * as O from '@effect/data/Option' -import { isRecord } from '@effect/data/Predicate' -import * as RA from '@effect/data/ReadonlyArray' -import { Parser } from '@asyncapi/parser' -import * as Effect from '@effect/io/Effect' - -import * as AST from '@effect/schema/AST' -import type { Schema } from '@effect/schema/Schema' - -export type AsyncAPI = AsyncAPIObject - -export const validateAsyncAPI = (x: unknown) => - Effect.promise(() => { - const parser = new Parser() - return parser.validate(x as any, { - allowedSeverity: { error: true, warning: true, info: true, hint: true }, - }) - }) -export const isAsyncAPIValidationError = (x: unknown) => - Array.isArray(x) && x.length > 0 && typeof x[0].code === 'string' - -/// -export type JsonSchema7AnyType = {} - -export type JsonSchema7NullType = { - type: 'null' -} - -export type JsonSchema7StringType = { - type: 'string' - minLength?: number - maxLength?: number -} - -export type JsonSchema7NumberType = { - type: 'number' | 'integer' - minimum?: number - exclusiveMinimum?: number - maximum?: number - exclusiveMaximum?: number -} - -export type JsonSchema7BooleanType = { - type: 'boolean' -} - -export type JsonSchema7ConstType = { - const: string | number | boolean -} - -export type JsonSchema7ArrayType = { - type: 'array' - items?: JsonSchema7Type | Array - minItems?: number - maxItems?: number - additionalItems?: JsonSchema7Type -} - -export type JsonSchema7EnumType = { - enum: Array -} - -export type JsonSchema7AnyOfType = { - anyOf: ReadonlyArray -} - -export type JsonSchema7AllOfType = { - allOf: Array -} - -export type JsonSchema7ObjectType = { - type: 'object' - required: Array - properties: { [x: string]: JsonSchema7Type } - additionalProperties: boolean | JsonSchema7Type -} - -export type JsonSchema7Type = - | JsonSchema7AnyType - | JsonSchema7NullType - | JsonSchema7StringType - | JsonSchema7NumberType - | JsonSchema7BooleanType - | JsonSchema7ConstType - | JsonSchema7ArrayType - | JsonSchema7EnumType - | JsonSchema7AnyOfType - | JsonSchema7AllOfType - | JsonSchema7ObjectType - -type JsonArray = ReadonlyArray - -type JsonObject = { readonly [key: string]: Json } - -type Json = null | boolean | number | string | JsonArray | JsonObject - -const isJsonArray = (u: unknown): u is JsonArray => - Array.isArray(u) && u.every(isJson) - -const isJsonObject = (u: unknown): u is JsonObject => - isRecord(u) && Object.keys(u).every((key) => isJson(u[key])) - -export const isJson = (u: unknown): u is Json => - u === null || - typeof u === 'string' || - (typeof u === 'number' && !isNaN(u) && isFinite(u)) || - typeof u === 'boolean' || - isJsonArray(u) || - isJsonObject(u) - -const getJSONSchemaAnnotation = AST.getAnnotation( - AST.JSONSchemaAnnotationId -) - -export const jsonSchemaFor = (schema: Schema): JsonSchema7Type => { - const go = (ast: AST.AST): JsonSchema7Type => { - switch (ast._tag) { - case 'Declaration': - return pipe( - getJSONSchemaAnnotation(ast), - O.match({ - onNone: () => go(ast.type), - onSome: (schema) => ({ ...go(ast.type), ...schema }), - }) - ) - case 'Literal': { - if (typeof ast.literal === 'bigint') { - return {} as any - } else if (ast.literal === null) { - return { type: 'null' } - } - return { const: ast.literal } - } - case 'UniqueSymbol': - throw new Error('cannot convert a unique symbol to JSON Schema') - case 'UndefinedKeyword': - throw new Error('cannot convert `undefined` to JSON Schema') - case 'VoidKeyword': - throw new Error('cannot convert `void` to JSON Schema') - case 'NeverKeyword': - throw new Error('cannot convert `never` to JSON Schema') - case 'UnknownKeyword': - case 'AnyKeyword': - return {} - case 'StringKeyword': - return { type: 'string' } - case 'NumberKeyword': - return { type: 'number' } - case 'BooleanKeyword': - return { type: 'boolean' } - case 'BigIntKeyword': - throw new Error('cannot convert `bigint` to JSON Schema') - case 'SymbolKeyword': - throw new Error('cannot convert `symbol` to JSON Schema') - case 'ObjectKeyword': - return {} - case 'Tuple': { - const elements = ast.elements.map((e) => go(e.type)) - const rest = pipe(ast.rest, O.map(RA.mapNonEmpty(go))) - const output: JsonSchema7ArrayType = { type: 'array' } - let i = 0 - // --------------------------------------------- - // handle elements - // --------------------------------------------- - for (; i < ast.elements.length; i++) { - if (output.minItems === undefined) { - output.minItems = 0 - } - if (output.maxItems === undefined) { - output.maxItems = 0 - } - // --------------------------------------------- - // handle optional elements - // --------------------------------------------- - if (!ast.elements[i].isOptional) { - output.minItems = output.minItems + 1 - output.maxItems = output.maxItems + 1 - } - if (output.items === undefined) { - output.items = [] - } - if (Array.isArray(output.items)) { - output.items.push(elements[i]) - } - } - // --------------------------------------------- - // handle rest element - // --------------------------------------------- - if (O.isSome(rest)) { - const head = RA.headNonEmpty(rest.value) - if (output.items !== undefined) { - delete output.maxItems - output.additionalItems = head - } else { - output.items = head - } - // --------------------------------------------- - // handle post rest elements - // --------------------------------------------- - // const tail = RA.tailNonEmpty(rest.value) - } - - return output - } - case 'TypeLiteral': { - if ( - ast.indexSignatures.length < - ast.indexSignatures.filter( - (is) => is.parameter._tag === 'StringKeyword' - ).length - ) { - throw new Error(`Cannot encode some index signature to JSON Schema`) - } - const propertySignatures = ast.propertySignatures.map((ps) => - go(ps.type) - ) - const indexSignatures = ast.indexSignatures.map((is) => go(is.type)) - const output: JsonSchema7ObjectType = { - type: 'object', - required: [], - properties: {}, - additionalProperties: false, - } - // --------------------------------------------- - // handle property signatures - // --------------------------------------------- - for (let i = 0; i < propertySignatures.length; i++) { - const name = ast.propertySignatures[i].name - if (typeof name === 'string') { - output.properties[name] = propertySignatures[i] - // --------------------------------------------- - // handle optional property signatures - // --------------------------------------------- - if (!ast.propertySignatures[i].isOptional) { - output.required.push(name) - } - } else { - throw new Error(`Cannot encode ${String(name)} key to JSON Schema`) - } - } - // --------------------------------------------- - // handle index signatures - // --------------------------------------------- - if (indexSignatures.length > 0) { - output.additionalProperties = { allOf: indexSignatures } - } - - return output - } - case 'Union': - return { anyOf: ast.types.map(go) } - case 'Enums': - return { anyOf: ast.enums.map(([_, value]) => ({ const: value })) } - case 'Refinement': { - const from = go(ast.from) - return pipe( - getJSONSchemaAnnotation(ast), - O.match({ - onNone: () => from, - onSome: (schema) => ({ ...from, ...schema }), - }) - ) - } - } - throw new Error(`unhandled ${ast._tag}`) - } - - return go(schema.ast) -} -//// diff --git a/packages/async-api/test/index.ts b/packages/async-api/test/index.ts deleted file mode 100644 index 52d048a..0000000 --- a/packages/async-api/test/index.ts +++ /dev/null @@ -1,175 +0,0 @@ -import * as S from '@effect/schema/Schema' -import { - AsyncAPI, - isAsyncAPIValidationError, - jsonSchemaFor, - validateAsyncAPI, -} from '../src' -import { pipe } from '@effect/data/Function' -import * as yaml from 'js-yaml' - -const x: AsyncAPI = { - asyncapi: '2.0.0', - info: { - title: 'Example API', - version: '1.0.0', - description: 'An example AsyncAPI file', - license: { - name: 'Apache 2.0', - url: 'https://www.apache.org/licenses/LICENSE-2.0', - }, - }, - servers: { - production: { - url: 'api.example.com:{port}', - protocol: 'mqtts', - protocolVersion: '1.2.0', - description: 'Test broker', - variables: { - port: { - description: - 'Secure connection (TLS) is available through port 8883.', - default: '1883', - enum: ['1883', '8883'], - }, - }, - }, - development: { - url: 'localhost:{port}/{basePath}', - protocol: 'mqtt', - protocolVersion: '3.1.1', - description: 'Local development broker', - variables: { - port: { - default: '1883', - }, - basePath: { - default: 'v2', - }, - }, - }, - }, - defaultContentType: 'application/json', - channels: { - 'user/signedup': { - description: - 'This channel is used to let you know when a user signed up.', - subscribe: { - summary: 'A user signed up', - operationId: 'userSignedUp', - message: { - name: 'userSignedUp', - title: 'User signed up', - summary: 'This message is sent to notify you that a user signed up.', - contentType: 'application/json', - payload: { - type: 'object', - properties: { - user: { - type: 'object', - properties: { - id: { - type: 'string', - format: 'uuid', - description: 'The user id.', - }, - firstName: { - type: 'string', - description: 'The user first name.', - }, - }, - }, - }, - }, - }, - }, - }, - // a command - 'user/signout': { - description: - 'This channel is used to let you know when a user signed out.', - publish: { - summary: 'A user signed out', - operationId: 'userSignedOut', - message: { - name: 'userSignedOut', - title: 'User signed out', - summary: 'This message is sent to notify you that a user signed out.', - contentType: 'application/json', - payload: { - type: 'object', - properties: { - user: { - type: 'object', - properties: { - id: { - type: 'string', - format: 'uuid', - description: 'The user id.', - }, - firstName: { - type: 'string', - description: 'The user first name.', - }, - }, - }, - }, - }, - }, - }, - }, - }, -} -const convertSignalPayloadType = (x: S.Schema) => { - return jsonSchemaFor(x) -} - -const signalsToAsyncAPI = (args: { - workflowName: string - signalMap: Record> -}): AsyncAPI => { - return { - asyncapi: '2.6.0', - info: { - title: `\`${args.workflowName}\` Workflow Signals`, - // TODO. could be version of workflow but may want to version separately - version: '0.0.0', - }, - channels: Object.fromEntries( - Object.entries(signalMap).map(([signalName, schema]) => [ - signalName, - { - publish: { - message: { - messageId: signalName, - description: `Signal \`${signalName}\` for workflow \`${args.workflowName}\``, - // @ts-ignore - payload: jsonSchemaFor(schema), - }, - }, - }, - ]) - ), - } -} - -const StartInsuranceWorkflowPayload = S.struct({ - id: S.string, -}) -const BindPolicyPayload = S.struct({ quote_id: S.string }) -const signalMap = { - 'ei.start-insurance-workflow': StartInsuranceWorkflowPayload, - 'ei.bind-policy': BindPolicyPayload, -} - -test.skip('print', async () => { - expect( - await pipe( - signalsToAsyncAPI({ workflowName: 'policy', signalMap }), - yaml.dump - // validateAsyncAPI, - // Effect.map(isAsyncAPIValidationError), - // Effect.runPromise - ) - ).toEqual(true) -}) diff --git a/packages/async-api/tsconfig.build.json b/packages/async-api/tsconfig.build.json deleted file mode 100644 index b90fc83..0000000 --- a/packages/async-api/tsconfig.build.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["src"] -} diff --git a/packages/async-api/tsconfig.json b/packages/async-api/tsconfig.json deleted file mode 100644 index 3604dc9..0000000 --- a/packages/async-api/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "es2016", - "module": "nodenext", - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "declaration": true, - "declarationMap": true, - "moduleResolution": "nodenext", - "exactOptionalPropertyTypes": true, - "skipLibCheck": true, - "outDir": "dist", - "plugins": [ - { - "name": "@effect/language-service" - } - ] - } -} diff --git a/packages/aws-s3/src/index.ts b/packages/aws-s3/src/index.ts index 6b7cd34..e42d4e6 100644 --- a/packages/aws-s3/src/index.ts +++ b/packages/aws-s3/src/index.ts @@ -1,15 +1,12 @@ -import { S3 as S3Client, S3ClientConfig } from '@aws-sdk/client-s3' import * as Effect from '@effect/io/Effect' import * as Layer from '@effect/io/Layer' import * as Context from '@effect/data/Context' - -/** - * Tag for the S3 client - */ -export const S3 = Context.Tag('@aws-sdk/client-s3') +import { S3 as S3Client, S3ClientConfig } from '@aws-sdk/client-s3' export type S3 = S3Client +export const S3 = Context.Tag('@effect-use/aws-s3') + /** * Create a layer for the S3 client * @param options diff --git a/packages/gcp-gcs/src/index.ts b/packages/gcp-gcs/src/index.ts index be40911..84a89bc 100644 --- a/packages/gcp-gcs/src/index.ts +++ b/packages/gcp-gcs/src/index.ts @@ -4,16 +4,8 @@ import * as Layer from '@effect/io/Layer' import * as Context from '@effect/data/Context' export type GCS = Storage -/** - * Tag for the GCS client - */ -export const GCS = Context.Tag('@google-cloud/storage') -type GCSWriteError = { - _tag: 'GCSWriteError' - meassage: string - stack: unknown -} +export const GCS = Context.Tag('@effect-use/gcp-gcs') /** * Writes data to key in bucket diff --git a/packages/gcp-logging/src/index.ts b/packages/gcp-logging/src/index.ts index 2094a92..0bb2545 100644 --- a/packages/gcp-logging/src/index.ts +++ b/packages/gcp-logging/src/index.ts @@ -30,7 +30,9 @@ export const logError = (message: string, data: LogMeta) => export const logFatal = (message: string, data: LogMeta) => Effect.locally(logMeta, data)(Effect.logFatal(message)) -export const customLogger = (logFn: (a: any) => void = console.log) => +const defaultLogFn = (a: any) => console.log(JSON.stringify(a)) + +export const customLogger = (logFn: (a: any) => void = defaultLogFn) => Logger.make( ({ fiberId, diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts index 2105d4d..db9642c 100644 --- a/packages/github/src/index.ts +++ b/packages/github/src/index.ts @@ -4,7 +4,9 @@ import { Octokit } from '@octokit/rest' import { pipe } from '@effect/data/Function' import * as Layer from '@effect/io/Layer' -export const GitHub = Context.Tag('GitHub') +export type Github = Octokit + +export const GitHub = Context.Tag('@effect-use/github') /** * Returns the contents of a file from a GitHub repository diff --git a/packages/json-schema/jest.config.ts b/packages/json-schema/jest.config.ts deleted file mode 100644 index 1be0e74..0000000 --- a/packages/json-schema/jest.config.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Config } from 'jest' - -const config: Config = { - preset: 'ts-jest', - testEnvironment: 'node', - testMatch: ['/test/**/*.ts'], -} - -export default config diff --git a/packages/json-schema/package.json b/packages/json-schema/package.json deleted file mode 100644 index 1b9756b..0000000 --- a/packages/json-schema/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "@effect-use/json-schema", - "version": "0.0.0", - "packageManager": "yarn@3.5.1", - "dependencies": { - "@effect/data": "^0.17.6", - "@effect/io": "^0.38.2", - "@effect/schema": "^0.33.2", - "ajv": "^8.12.0", - "js-yaml": "^4.1.0" - }, - "main": "dist/index.js", - "types": "dist/index.d.ts", - "files": [ - "dist" - ], - "devDependencies": { - "@types/js-yaml": "^4.0.5", - "typescript": "5.2.2" - }, - "scripts": { - "build": "rimraf dist && tsc -p tsconfig.build.json", - "clean": "rimraf node_modules & rimraf dist & rimraf .turbo", - "format": "prettier --write .", - "test": "jest", - "typecheck": "tsc --noEmit" - }, - "engines": { - "node": ">=18" - }, - "license": "MIT", - "repository": { - "directory": "packages/json-schema", - "type": "git", - "url": "https://github.com/embedded-insurance/effect-use.git" - }, - "publishConfig": { - "access": "restricted" - } -} diff --git a/packages/json-schema/src/index.ts b/packages/json-schema/src/index.ts deleted file mode 100644 index e149a5e..0000000 --- a/packages/json-schema/src/index.ts +++ /dev/null @@ -1,376 +0,0 @@ -import * as S from '@effect/schema/Schema' -import { pipe } from '@effect/data/Function' -import * as O from '@effect/data/Option' -import { isRecord } from '@effect/data/Predicate' -import * as RA from '@effect/data/ReadonlyArray' -import * as Effect from '@effect/io/Effect' -import * as AST from '@effect/schema/AST' -import type { Schema } from '@effect/schema/Schema' -import ajv, { AnySchema } from 'ajv' -import { - Annotated, - DescriptionAnnotationId, - JSONSchemaAnnotationId, -} from '@effect/schema/AST' - -export const JSONSchemaAnnotationKey = S.union( - S.literal('title', 'description', 'examples', '$comment'), - pipe( - S.templateLiteral(S.literal('x-'), S.string), - S.message( - (a) => 'JSON schema annotations must start with `x-`, received ' + a - ) - ) -) - -// TODO. would be useful to constrict to json only for annotations, etc -const SDotJSON = S.unknown - -export const JSONSchemaAnnotation = S.record(JSONSchemaAnnotationKey, SDotJSON) -export type JSONSchemaAnnotation = S.Schema - -export const jsonSchema = - (x: Partial>) => - (self: S.Schema): S.Schema => - S.make(AST.setAnnotation(self.ast, JSONSchemaAnnotationId, x)) - -/** - * Provides the full set of JSON schema annotations for a type - * Ensures annotations are valid according to JSON Schema - * @param annotationIds - * @param extra - */ -export const addJsonSchemaAnnotationsFrom = - (annotationIds: string[], extra?: JSONSchemaAnnotation) => - (self: S.Schema & Annotated): S.Schema => - jsonSchema({ - ...Object.fromEntries( - annotationIds - .map((annotationId) => { - if (S.is(JSONSchemaAnnotationKey)(annotationId)) { - return { - annotationId: annotationId, - jsonSchemaAnnotationKey: annotationId, - } - } else if (annotationId === DescriptionAnnotationId) { - return { - annotationId: annotationId, - jsonSchemaAnnotationKey: 'description', - } - } else { - return { - annotationId: annotationId, - jsonSchemaAnnotationId: `x-${annotationId}` as const, - } - } - }) - .map(({ annotationId, jsonSchemaAnnotationKey }) => [ - jsonSchemaAnnotationKey, - pipe( - AST.getAnnotation(annotationId)(self), - O.getOrNull, - S.parse(SDotJSON) - ), - ]) - ), - ...extra, - })(self) - -const ajvInstance = new ajv({ - allErrors: true, - strict: true, -}) - -export const validateJSONSchema = (schema: AnySchema) => - Effect.try(() => { - const result = ajvInstance.validateSchema(schema, false) - if (result === true) { - return true - } - throw ajvInstance.errorsText(ajvInstance.errors) - }) - -/// -export type JsonSchema7AnyType = {} - -export type JsonSchema7NullType = { - type: 'null' -} - -export type JsonSchema7StringType = { - type: 'string' - minLength?: number - maxLength?: number -} - -export type JsonSchema7NumberType = { - type: 'number' | 'integer' - minimum?: number - exclusiveMinimum?: number - maximum?: number - exclusiveMaximum?: number -} - -export type JsonSchema7BooleanType = { - type: 'boolean' -} - -export type JsonSchema7ConstType = { - const: string | number | boolean -} - -export type JsonSchema7ArrayType = { - type: 'array' - items?: JsonSchema7Type | Array - minItems?: number - maxItems?: number - additionalItems?: JsonSchema7Type -} - -export type JsonSchema7EnumType = { - enum: Array -} - -export type JsonSchema7AnyOfType = { - anyOf: ReadonlyArray -} - -export type JsonSchema7AllOfType = { - allOf: Array -} - -export type JsonSchema7ObjectType = { - type: 'object' - required: Array - properties: { [x: string]: JsonSchema7Type } - additionalProperties: boolean | JsonSchema7Type -} - -export type JsonSchema7Type = - | JsonSchema7AnyType - | JsonSchema7NullType - | JsonSchema7StringType - | JsonSchema7NumberType - | JsonSchema7BooleanType - | JsonSchema7ConstType - | JsonSchema7ArrayType - | JsonSchema7EnumType - | JsonSchema7AnyOfType - | JsonSchema7AllOfType - | JsonSchema7ObjectType - -type JsonArray = ReadonlyArray - -type JsonObject = { readonly [key: string]: Json } - -type Json = null | boolean | number | string | JsonArray | JsonObject - -const isJsonArray = (u: unknown): u is JsonArray => - Array.isArray(u) && u.every(isJson) - -const isJsonObject = (u: unknown): u is JsonObject => - isRecord(u) && Object.keys(u).every((key) => isJson(u[key])) - -export const isJson = (u: unknown): u is Json => - u === null || - typeof u === 'string' || - (typeof u === 'number' && !isNaN(u) && isFinite(u)) || - typeof u === 'boolean' || - isJsonArray(u) || - isJsonObject(u) - -const getJSONSchemaAnnotation = AST.getAnnotation( - AST.JSONSchemaAnnotationId -) - -/** - * Returns the final JSON Schema annotations that are emitted by the compiler for the given AST node - * Translates all built-in effect schema annotations that map to valid JSON schema annotations - * Adds and favors explicitly declared JSONSchemaAnnotations - * @param ast - */ -export const getEffectiveJSONSchemaAnnotations = ( - ast: AST.AST -): Partial => { - const base = [ - [ - 'title', - pipe(ast, AST.getAnnotation(AST.TitleAnnotationId), O.getOrNull), - ] as const, - [ - 'description', - pipe(ast, AST.getAnnotation(AST.DescriptionAnnotationId), O.getOrNull), - ] as const, - [ - 'examples', - pipe(ast, AST.getAnnotation(AST.ExamplesAnnotationId), O.getOrNull), - ] as const, - ] - .filter(([key, value]) => value !== null) - .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}) - - const overrides = pipe(ast, getJSONSchemaAnnotation, O.getOrNull) - return { ...base, ...overrides } -} - -export const jsonSchemaFor = (schema: Schema): JsonSchema7Type => { - const go = (ast: AST.AST): JsonSchema7Type => { - const annotations = getEffectiveJSONSchemaAnnotations(ast) - switch (ast._tag) { - case 'Declaration': - return pipe( - getJSONSchemaAnnotation(ast), - O.match({ - onSome: (schema) => ({ ...go(ast.type), ...schema }), - onNone: () => go(ast.type), - }) - ) - case 'Literal': { - if (typeof ast.literal === 'bigint') { - return {} as any - } else if (ast.literal === null) { - return { type: 'null' } - } - return { ...annotations, const: ast.literal } - } - case 'UniqueSymbol': - throw new Error('cannot convert a unique symbol to JSON Schema') - case 'UndefinedKeyword': - throw new Error('cannot convert `undefined` to JSON Schema') - case 'VoidKeyword': - throw new Error('cannot convert `void` to JSON Schema') - case 'NeverKeyword': - throw new Error('cannot convert `never` to JSON Schema') - case 'UnknownKeyword': - case 'AnyKeyword': - return { ...annotations } - case 'StringKeyword': - return { ...annotations, type: 'string' } - case 'NumberKeyword': - return { ...annotations, type: 'number' } - case 'BooleanKeyword': - return { ...annotations, type: 'boolean' } - case 'BigIntKeyword': - throw new Error('cannot convert `bigint` to JSON Schema') - case 'SymbolKeyword': - throw new Error('cannot convert `symbol` to JSON Schema') - case 'ObjectKeyword': - return { ...annotations } - case 'Tuple': { - const elements = ast.elements.map((e) => go(e.type)) - const rest = pipe(ast.rest, O.map(RA.mapNonEmpty(go))) - const output: JsonSchema7ArrayType = { ...annotations, type: 'array' } - let i = 0 - // --------------------------------------------- - // handle elements - // --------------------------------------------- - for (; i < ast.elements.length; i++) { - if (output.minItems === undefined) { - output.minItems = 0 - } - if (output.maxItems === undefined) { - output.maxItems = 0 - } - // --------------------------------------------- - // handle optional elements - // --------------------------------------------- - if (!ast.elements[i].isOptional) { - output.minItems = output.minItems + 1 - output.maxItems = output.maxItems + 1 - } - if (output.items === undefined) { - output.items = [] - } - if (Array.isArray(output.items)) { - output.items.push(elements[i]) - } - } - // --------------------------------------------- - // handle rest element - // --------------------------------------------- - if (O.isSome(rest)) { - const head = RA.headNonEmpty(rest.value) - if (output.items !== undefined) { - delete output.maxItems - output.additionalItems = head - } else { - output.items = head - } - // --------------------------------------------- - // handle post rest elements - // --------------------------------------------- - // const tail = RA.tailNonEmpty(rest.value) - } - - return output - } - case 'TypeLiteral': { - if ( - ast.indexSignatures.length < - ast.indexSignatures.filter( - (is) => is.parameter._tag === 'StringKeyword' - ).length - ) { - throw new Error(`Cannot encode some index signature to JSON Schema`) - } - const propertySignatures = ast.propertySignatures.map((ps) => - go(ps.type) - ) - const indexSignatures = ast.indexSignatures.map((is) => go(is.type)) - const output: JsonSchema7ObjectType = { - ...annotations, - type: 'object', - required: [], - properties: {}, - additionalProperties: false, - } - // --------------------------------------------- - // handle property signatures - // --------------------------------------------- - for (let i = 0; i < propertySignatures.length; i++) { - const name = ast.propertySignatures[i].name - if (typeof name === 'string') { - output.properties[name] = propertySignatures[i] - // --------------------------------------------- - // handle optional property signatures - // --------------------------------------------- - if (!ast.propertySignatures[i].isOptional) { - output.required.push(name) - } - } else { - throw new Error(`Cannot encode ${String(name)} key to JSON Schema`) - } - } - // --------------------------------------------- - // handle index signatures - // --------------------------------------------- - if (indexSignatures.length > 0) { - output.additionalProperties = { allOf: indexSignatures } - } - - return output - } - case 'Union': - return { ...annotations, anyOf: ast.types.map(go) } - case 'Enums': - return { - ...annotations, - anyOf: ast.enums.map(([_, value]) => ({ const: value })), - } - case 'Refinement': { - const from = go(ast.from) - return pipe( - getJSONSchemaAnnotation(ast), - O.match({ - onNone: () => from, - onSome: (schema) => ({ ...from, ...schema }), - }) - ) - } - } - throw new Error(`unhandled ${ast._tag}`) - } - - return go(schema.ast) -} -//// diff --git a/packages/json-schema/test/index.ts b/packages/json-schema/test/index.ts deleted file mode 100644 index 635f654..0000000 --- a/packages/json-schema/test/index.ts +++ /dev/null @@ -1,139 +0,0 @@ -import * as S from '@effect/schema/Schema' -import { jsonSchema, jsonSchemaFor, validateJSONSchema } from '../src' -import * as Effect from '@effect/io/Effect' -import { pipe } from '@effect/data/Function' -import * as AST from '@effect/schema/AST' - -test('valid json schema', () => { - expect(Effect.runSync(validateJSONSchema(jsonSchemaFor(S.string)))).toEqual( - true - ) -}) - -test('invalid json schema', () => { - pipe( - validateJSONSchema('' as any), - Effect.match({ - onFailure: (e) => expect(e).toEqual('data must be object,boolean'), - onSuccess: () => fail('should not have succeeded'), - }), - Effect.runSync - ) -}) - -export const KafkaAnnotationId = '@effect-use/schema/KafkaAnnotationId' - -export const kafkaTopic = - (x: string) => - (self: S.Schema): S.Schema => - S.make(AST.setAnnotation(self.ast, KafkaAnnotationId, x)) - -test('complex effect schema type', () => { - const someSchema = pipe( - S.union( - S.struct({ type: S.literal('a') }), - S.struct({ type: S.literal('b') }) - ), - S.examples([{ type: 'a' }, { type: 'b' }]), - kafkaTopic('test'), - jsonSchema({ 'x-kafka-topic': 'test' }) - // S.annotations({ - // [KafkaAnnotationId]: 'test', - // [JSONSchemaAnnotationId]: { title: 'test' }, - // jsonSchema: { title: 'test' }, - // }) - ) - expect( - pipe(someSchema, jsonSchemaFor, validateJSONSchema, Effect.runSync) - ).toEqual(true) - expect(jsonSchemaFor(someSchema)).toEqual({ - anyOf: [ - { - additionalProperties: false, - properties: { type: { const: 'a' } }, - required: ['type'], - type: 'object', - }, - { - additionalProperties: false, - properties: { type: { const: 'b' } }, - required: ['type'], - type: 'object', - }, - ], - examples: [{ type: 'a' }, { type: 'b' }], - 'x-kafka-topic': 'test', - }) -}) - -test('complex effect schema type2', () => { - const someSchema = pipe( - S.union( - S.struct({ type: S.literal('a') }), - S.struct({ type: S.literal('b') }) - ), - S.examples([{ type: 'a' }, { type: 'b' }]), - kafkaTopic('test'), - jsonSchema({ 'x-kafka-topic': 'test' }) - // S.annotations({ - // [KafkaAnnotationId]: 'test', - // [JSONSchemaAnnotationId]: { title: 'test' }, - // jsonSchema: { title: 'test' }, - // }) - ) - expect( - pipe(someSchema, jsonSchemaFor, validateJSONSchema, Effect.runSync) - ).toEqual(true) - expect(jsonSchemaFor(someSchema)).toEqual({ - anyOf: [ - { - additionalProperties: false, - properties: { type: { const: 'a' } }, - required: ['type'], - type: 'object', - }, - { - additionalProperties: false, - properties: { type: { const: 'b' } }, - required: ['type'], - type: 'object', - }, - ], - examples: [{ type: 'a' }, { type: 'b' }], - 'x-kafka-topic': 'test', - }) -}) - -test('should generate json schema with built in effect annotations', () => { - const someSchema = pipe( - S.union( - S.struct({ type: S.literal('a') }), - S.struct({ type: S.literal('b') }) - ), - S.examples([{ type: 'a' }, { type: 'b' }]), - S.title('test title'), - S.description('test description') - ) - expect( - pipe(someSchema, jsonSchemaFor, validateJSONSchema, Effect.runSync) - ).toEqual(true) - expect(jsonSchemaFor(someSchema)).toEqual({ - anyOf: [ - { - additionalProperties: false, - properties: { type: { const: 'a' } }, - required: ['type'], - type: 'object', - }, - { - additionalProperties: false, - properties: { type: { const: 'b' } }, - required: ['type'], - type: 'object', - }, - ], - description: 'test description', - title: 'test title', - examples: [{ type: 'a' }, { type: 'b' }], - }) -}) diff --git a/packages/json-schema/tsconfig.build.json b/packages/json-schema/tsconfig.build.json deleted file mode 100644 index b90fc83..0000000 --- a/packages/json-schema/tsconfig.build.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["src"] -} diff --git a/packages/json-schema/tsconfig.json b/packages/json-schema/tsconfig.json deleted file mode 100644 index 3604dc9..0000000 --- a/packages/json-schema/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "es2016", - "module": "nodenext", - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "declaration": true, - "declarationMap": true, - "moduleResolution": "nodenext", - "exactOptionalPropertyTypes": true, - "skipLibCheck": true, - "outDir": "dist", - "plugins": [ - { - "name": "@effect/language-service" - } - ] - } -} diff --git a/packages/temporal-config/src/index.ts b/packages/temporal-config/src/index.ts index 0dc6152..9915159 100644 --- a/packages/temporal-config/src/index.ts +++ b/packages/temporal-config/src/index.ts @@ -1,40 +1,35 @@ import * as Context from '@effect/data/Context' import * as S from '@effect/schema/Schema' +import { pipe } from '@effect/data/Function' +import * as Layer from '@effect/io/Layer' const TemporalConfigRequired = S.struct({ address: S.string, namespace: S.string, }) + const TemporalConfigOptional = S.partial( S.struct({ clientCert: S.string, clientKey: S.string, }) ) -/** - * Data required to establish a connection to Temporal. - */ -export const TemporalConfig = S.extend( - TemporalConfigRequired, - TemporalConfigOptional -) -/** - * Data required to establish a connection to Temporal. - */ +export const TemporalConfig = pipe( + S.extend(TemporalConfigRequired, TemporalConfigOptional), + S.description('Data required to establish a connection to Temporal.') +) export type TemporalConfig = S.To -/** - * Data required to establish a connection to Temporal. - */ export const TemporalConfigTag = Context.Tag( - '@effect-use.temporal-config/TemporalConfig' + '@effect-use/TemporalConfig' ) const TemporalEnvRequired = S.struct({ TEMPORAL_ADDRESS: S.string, TEMPORAL_NAMESPACE: S.string, }) + const TemporalEnvOptional = S.partial( S.struct({ TEMPORAL_CLIENT_CERT: S.string, @@ -42,31 +37,9 @@ const TemporalEnvOptional = S.partial( }) ) -// const TemporalEnvOptional = S.union( -// S.struct({}), -// S.struct({ -// TEMPORAL_CLIENT_CERT: S.string, -// TEMPORAL_CLIENT_KEY: S.string, -// }) -// ) - -/** - * Data required to establish a connection to Temporal. - */ export const TemporalEnv = S.extend(TemporalEnvRequired, TemporalEnvOptional) - -/** - * Data required to establish a connection to Temporal. - */ export type TemporalEnv = S.To -/** - * Data required to establish a connection to Temporal. - */ -export const TemporalEnvTag = Context.Tag( - '@effect-use.temporal-config/TemporalEnv' -) - /** * Data required to establish a connection to Temporal. * @param env @@ -78,19 +51,8 @@ export const configFromEnv = (env: TemporalEnv): TemporalConfig => ({ clientCert: env.TEMPORAL_CLIENT_CERT, clientKey: env.TEMPORAL_CLIENT_KEY, }) -// -// /** -// * Data required to establish a connection to Temporal. -// * @param env -// * @category natural transformation -// */ -// export const configFromEnv = (env: TemporalEnv): TemporalConfig => ({ -// address: env.TEMPORAL_ADDRESS, -// namespace: env.TEMPORAL_NAMESPACE, -// ...('TEMPORAL_CLIENT_CERT' in env -// ? { -// clientCert: env.TEMPORAL_CLIENT_CERT, -// clientKey: env.TEMPORAL_CLIENT_KEY, -// } -// : undefined), -// }) + +export const makeTemporalConfigLayer = ( + config: TemporalConfig +): Layer.Layer => + Layer.succeed(TemporalConfigTag, config) diff --git a/yarn.lock b/yarn.lock index b496bd4..e9ca06e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,42 +15,6 @@ __metadata: languageName: node linkType: hard -"@asyncapi/parser@npm:^2.0.0": - version: 2.0.0 - resolution: "@asyncapi/parser@npm:2.0.0" - dependencies: - "@asyncapi/specs": ^5.0.0 - "@openapi-contrib/openapi-schema-to-json-schema": ~3.2.0 - "@stoplight/json-ref-resolver": ^3.1.5 - "@stoplight/spectral-core": ^1.16.1 - "@stoplight/spectral-functions": ^1.7.2 - "@stoplight/spectral-parsers": ^1.0.2 - "@types/json-schema": ^7.0.11 - "@types/urijs": ^1.19.19 - ajv: ^8.11.0 - ajv-errors: ^3.0.0 - ajv-formats: ^2.1.1 - avsc: ^5.7.5 - conventional-changelog-conventionalcommits: ^5.0.0 - js-yaml: ^4.1.0 - jsonpath-plus: ^7.2.0 - node-fetch: 2.6.7 - ramldt2jsonschema: ^1.2.3 - webapi-parser: ^0.5.0 - checksum: 4f8207942542c6a76d18b654a687e02d13a5cc74b4ae4afddb3d639efbfa31b1851d7e79e1ee3d0146dc08706c61c491cae932a7fc8d7d1e363d6b503954b164 - languageName: node - linkType: hard - -"@asyncapi/specs@npm:^5.0.0": - version: 5.0.0 - resolution: "@asyncapi/specs@npm:5.0.0" - dependencies: - "@types/json-schema": ^7.0.11 - conventional-changelog-conventionalcommits: ^5.0.0 - checksum: f7a31644319d06a8421441dfa6dcd193737d4b12d7b510dbe05ad877a61ba4912f1bf9d8abee488f41150d2574078f61604305bf80dd98e3f252327a6428f772 - languageName: node - linkType: hard - "@aws-crypto/crc32@npm:3.0.0": version: 3.0.0 resolution: "@aws-crypto/crc32@npm:3.0.0" @@ -1829,21 +1793,6 @@ __metadata: languageName: node linkType: hard -"@effect-use/async-api@workspace:packages/async-api": - version: 0.0.0-use.local - resolution: "@effect-use/async-api@workspace:packages/async-api" - dependencies: - "@asyncapi/parser": ^2.0.0 - "@asyncapi/specs": ^5.0.0 - "@effect/data": ^0.17.6 - "@effect/io": ^0.38.2 - "@effect/schema": ^0.33.2 - "@types/js-yaml": ^4.0.5 - js-yaml: ^4.1.0 - typescript: 5.2.2 - languageName: unknown - linkType: soft - "@effect-use/aws-s3@workspace:packages/aws-s3": version: 0.0.0-use.local resolution: "@effect-use/aws-s3@workspace:packages/aws-s3" @@ -1924,20 +1873,6 @@ __metadata: languageName: unknown linkType: soft -"@effect-use/json-schema@workspace:packages/json-schema": - version: 0.0.0-use.local - resolution: "@effect-use/json-schema@workspace:packages/json-schema" - dependencies: - "@effect/data": ^0.17.6 - "@effect/io": ^0.38.2 - "@effect/schema": ^0.33.2 - "@types/js-yaml": ^4.0.5 - ajv: ^8.12.0 - js-yaml: ^4.1.0 - typescript: 5.2.2 - languageName: unknown - linkType: soft - "@effect-use/temporal-client@workspace:packages/temporal-client": version: 0.0.0-use.local resolution: "@effect-use/temporal-client@workspace:packages/temporal-client" @@ -2401,24 +2336,6 @@ __metadata: languageName: node linkType: hard -"@jsep-plugin/regex@npm:^1.0.1": - version: 1.0.3 - resolution: "@jsep-plugin/regex@npm:1.0.3" - peerDependencies: - jsep: ^0.4.0||^1.0.0 - checksum: a57718ae5c86bd10ff5de51843a771b96a10a9c6b5c5f4e02aa5318257c3d5fdec96f8b389fcbe129c7a6ad6b0746d9a0fd934c949b80882230fbc14b548c922 - languageName: node - linkType: hard - -"@jsep-plugin/ternary@npm:^1.0.2": - version: 1.1.3 - resolution: "@jsep-plugin/ternary@npm:1.1.3" - peerDependencies: - jsep: ^0.4.0||^1.0.0 - checksum: c05408b0302844723f98b90787425beb4e8ad14029df3d98e88b9d61343d81201a7f0bf3db5806dcf0378c7be69f5b4c9fcd04f055bda282c73f4d1b425e502a - languageName: node - linkType: hard - "@manypkg/find-root@npm:^1.1.0": version: 1.1.0 resolution: "@manypkg/find-root@npm:1.1.0" @@ -2619,15 +2536,6 @@ __metadata: languageName: node linkType: hard -"@openapi-contrib/openapi-schema-to-json-schema@npm:~3.2.0": - version: 3.2.0 - resolution: "@openapi-contrib/openapi-schema-to-json-schema@npm:3.2.0" - dependencies: - fast-deep-equal: ^3.1.3 - checksum: c47cbf85bee3e38e06a627efbbdffd78c95cdadebf6d935092c8ff616e31a69fcfd739a5d9cca5b4b2c6aef49f8dbced6c300eac1f8ade66b3fab403df19ccb2 - languageName: node - linkType: hard - "@opentelemetry/api@npm:^1.4.1": version: 1.4.1 resolution: "@opentelemetry/api@npm:1.4.1" @@ -2759,223 +2667,6 @@ __metadata: languageName: node linkType: hard -"@stoplight/better-ajv-errors@npm:1.0.3": - version: 1.0.3 - resolution: "@stoplight/better-ajv-errors@npm:1.0.3" - dependencies: - jsonpointer: ^5.0.0 - leven: ^3.1.0 - peerDependencies: - ajv: ">=8" - checksum: 642fe5636a72a86de72e4ffc7bbf07499fc09d8446b386f31d3667b07dd1849d921c38a74c109a9e2554d405b6e90dc150728a0c455bf93f158ff139e0538ddd - languageName: node - linkType: hard - -"@stoplight/json-ref-readers@npm:1.2.2": - version: 1.2.2 - resolution: "@stoplight/json-ref-readers@npm:1.2.2" - dependencies: - node-fetch: ^2.6.0 - tslib: ^1.14.1 - checksum: 31b0e78b119f7afd7dd84a4fbb0c4aaceeb6e889179e785ddb9880ee548d4d161dce5743451ef6dad4b7a902d9f0711909c87b63ad794bede234a144bcf2b2b4 - languageName: node - linkType: hard - -"@stoplight/json-ref-resolver@npm:^3.1.5, @stoplight/json-ref-resolver@npm:~3.1.5": - version: 3.1.5 - resolution: "@stoplight/json-ref-resolver@npm:3.1.5" - dependencies: - "@stoplight/json": ^3.17.0 - "@stoplight/path": ^1.3.2 - "@stoplight/types": ^12.3.0 || ^13.0.0 - "@types/urijs": ^1.19.19 - dependency-graph: ~0.11.0 - fast-memoize: ^2.5.2 - immer: ^9.0.6 - lodash: ^4.17.21 - tslib: ^2.3.1 - urijs: ^1.19.11 - checksum: b2df82e899717ffa7bab9ec4c380f206511b3971d242724afd34e8b964e5aa7be2a52e32ba48d435548a9ac13a63a2271ca69182abec8506fc3bb3cc129f6380 - languageName: node - linkType: hard - -"@stoplight/json@npm:^3.17.0, @stoplight/json@npm:^3.17.1, @stoplight/json@npm:~3.20.1": - version: 3.20.3 - resolution: "@stoplight/json@npm:3.20.3" - dependencies: - "@stoplight/ordered-object-literal": ^1.0.3 - "@stoplight/path": ^1.3.2 - "@stoplight/types": ^13.6.0 - jsonc-parser: ~2.2.1 - lodash: ^4.17.21 - safe-stable-stringify: ^1.1 - checksum: 52a4251deca0be91c98172287def5cb004ff2ab801c3b7bb24f02abe14ad0890ee453588f235401fa048c5fefe1a750d7f68857f681d57afb62dd5310f50d71a - languageName: node - linkType: hard - -"@stoplight/ordered-object-literal@npm:^1.0.1, @stoplight/ordered-object-literal@npm:^1.0.3": - version: 1.0.4 - resolution: "@stoplight/ordered-object-literal@npm:1.0.4" - checksum: 81afa24943880b0a213af3728a9fe0a28bd01d4840b9583d448f7823ced5b6e673628698b59d201cef50afebcbd89256e133714a174968d11b624d943e0c2c2f - languageName: node - linkType: hard - -"@stoplight/path@npm:1.3.2, @stoplight/path@npm:^1.3.2": - version: 1.3.2 - resolution: "@stoplight/path@npm:1.3.2" - checksum: 8a1143cef9edcf9fd8cb24ca3f250693d475ce1f635f0dc95e5b045aad303fbf4d702c939f0c4ed8d28a04208d1aa4471fb10912ef1e3a94a9e6810878a7cfbb - languageName: node - linkType: hard - -"@stoplight/spectral-core@npm:^1.16.1, @stoplight/spectral-core@npm:^1.7.0, @stoplight/spectral-core@npm:^1.8.0": - version: 1.18.0 - resolution: "@stoplight/spectral-core@npm:1.18.0" - dependencies: - "@stoplight/better-ajv-errors": 1.0.3 - "@stoplight/json": ~3.20.1 - "@stoplight/path": 1.3.2 - "@stoplight/spectral-parsers": ^1.0.0 - "@stoplight/spectral-ref-resolver": ^1.0.0 - "@stoplight/spectral-runtime": ^1.0.0 - "@stoplight/types": ~13.6.0 - "@types/es-aggregate-error": ^1.0.2 - "@types/json-schema": ^7.0.11 - ajv: ^8.6.0 - ajv-errors: ~3.0.0 - ajv-formats: ~2.1.0 - es-aggregate-error: ^1.0.7 - jsonpath-plus: 7.1.0 - lodash: ~4.17.21 - lodash.topath: ^4.5.2 - minimatch: 3.1.2 - nimma: 0.2.2 - pony-cause: ^1.0.0 - simple-eval: 1.0.0 - tslib: ^2.3.0 - checksum: 76ff9e2349c035fa2b98556c8bd67bb531f2b9c29e19e33484270d62f30900d36ceb51ef0075255479cc5071b45bcb7249088f568fff9d44cd159b5ee8f07cec - languageName: node - linkType: hard - -"@stoplight/spectral-formats@npm:^1.0.0": - version: 1.5.0 - resolution: "@stoplight/spectral-formats@npm:1.5.0" - dependencies: - "@stoplight/json": ^3.17.0 - "@stoplight/spectral-core": ^1.8.0 - "@types/json-schema": ^7.0.7 - tslib: ^2.3.1 - checksum: dc80c0ee37ff5708b2078aa588d3c8c895ba36b18e52f5813cd7f91d1a476629aa36f1ceaf62e8bd96987c0f7c51537bdb6780a08d32be982db230be5634c93e - languageName: node - linkType: hard - -"@stoplight/spectral-functions@npm:^1.7.2": - version: 1.7.2 - resolution: "@stoplight/spectral-functions@npm:1.7.2" - dependencies: - "@stoplight/better-ajv-errors": 1.0.3 - "@stoplight/json": ^3.17.1 - "@stoplight/spectral-core": ^1.7.0 - "@stoplight/spectral-formats": ^1.0.0 - "@stoplight/spectral-runtime": ^1.1.0 - ajv: ^8.6.3 - ajv-draft-04: ~1.0.0 - ajv-errors: ~3.0.0 - ajv-formats: ~2.1.0 - lodash: ~4.17.21 - tslib: ^2.3.0 - checksum: f89d966d33dd484e5ea63a7971478d176c94215b4ffd2ef24eb8e507a2b60ed3bcfa391b9137793e939f3a10443914db6da62d081055fb8ba49d2d397f0d5907 - languageName: node - linkType: hard - -"@stoplight/spectral-parsers@npm:^1.0.0, @stoplight/spectral-parsers@npm:^1.0.2": - version: 1.0.2 - resolution: "@stoplight/spectral-parsers@npm:1.0.2" - dependencies: - "@stoplight/json": ~3.20.1 - "@stoplight/types": ^13.6.0 - "@stoplight/yaml": ~4.2.3 - tslib: ^2.3.1 - checksum: 89bc5c77ebeedca0abf9ffa9e074beed57d47b71814f23a1d65c03469aa6ea923007b42e7cb18ca7bcc4ff9fd399d604d32a41aa4c4c57a9cc3bebb4b24c3e34 - languageName: node - linkType: hard - -"@stoplight/spectral-ref-resolver@npm:^1.0.0": - version: 1.0.3 - resolution: "@stoplight/spectral-ref-resolver@npm:1.0.3" - dependencies: - "@stoplight/json-ref-readers": 1.2.2 - "@stoplight/json-ref-resolver": ~3.1.5 - "@stoplight/spectral-runtime": ^1.1.2 - dependency-graph: 0.11.0 - tslib: ^2.3.1 - checksum: efe93b1d1d32647b675c221530ecb20c55303dfcd1009efd8e036f6415eb1255fff19781358a74046160516a7b7088b6329885bb507a444c14db32fa23392bc9 - languageName: node - linkType: hard - -"@stoplight/spectral-runtime@npm:^1.0.0, @stoplight/spectral-runtime@npm:^1.1.0, @stoplight/spectral-runtime@npm:^1.1.2": - version: 1.1.2 - resolution: "@stoplight/spectral-runtime@npm:1.1.2" - dependencies: - "@stoplight/json": ^3.17.0 - "@stoplight/path": ^1.3.2 - "@stoplight/types": ^12.3.0 - abort-controller: ^3.0.0 - lodash: ^4.17.21 - node-fetch: ^2.6.7 - tslib: ^2.3.1 - checksum: 35964a38f82384e6e0158988173a50ab7f473a2ed6e942073de023bd28fb696b5b913336a84d016b046346294be9cfa3a88c6a908c2622c0ceb36f16ca76e084 - languageName: node - linkType: hard - -"@stoplight/types@npm:^12.3.0": - version: 12.5.0 - resolution: "@stoplight/types@npm:12.5.0" - dependencies: - "@types/json-schema": ^7.0.4 - utility-types: ^3.10.0 - checksum: fe4a09df6e1c2f0cdb53f474b180cc7b8184e814e1ac4427d199642f10958335f597060530a908c0e5800ba2569d077afe124a51deaee466255ce942e1e03941 - languageName: node - linkType: hard - -"@stoplight/types@npm:^12.3.0 || ^13.0.0, @stoplight/types@npm:^13.0.0, @stoplight/types@npm:^13.6.0": - version: 13.15.0 - resolution: "@stoplight/types@npm:13.15.0" - dependencies: - "@types/json-schema": ^7.0.4 - utility-types: ^3.10.0 - checksum: 839f0bbedb791bd6792ef22b6a821ca504b14b705927f7c510c4cdcc591eddc8818c82b8857129501aa809d6f369b82e4487bfe18dfc5ce00e28317ecad2df9a - languageName: node - linkType: hard - -"@stoplight/types@npm:~13.6.0": - version: 13.6.0 - resolution: "@stoplight/types@npm:13.6.0" - dependencies: - "@types/json-schema": ^7.0.4 - utility-types: ^3.10.0 - checksum: 4cc81cf29decc0392f15c71b21fd11cd806bcf99168ae4509ed41c2b7dbcfbd5a83c7f9f320edb5a518cc483fd18dd8794c54b232fb6a6f2a7b6e9fb6ca20269 - languageName: node - linkType: hard - -"@stoplight/yaml-ast-parser@npm:0.0.48": - version: 0.0.48 - resolution: "@stoplight/yaml-ast-parser@npm:0.0.48" - checksum: 4e252a874636d4015ff78a638075c438ccf7b8b4b38e3df12f7b8381da2da0411dfff7a6de38354b8093a36a8911a9dd656264fb0d34453cb7bcf78a3627dfa0 - languageName: node - linkType: hard - -"@stoplight/yaml@npm:~4.2.3": - version: 4.2.3 - resolution: "@stoplight/yaml@npm:4.2.3" - dependencies: - "@stoplight/ordered-object-literal": ^1.0.1 - "@stoplight/types": ^13.0.0 - "@stoplight/yaml-ast-parser": 0.0.48 - tslib: ^2.2.0 - checksum: 8e61c4499c0849dafecf487e51e10d4d3e99192834dd87eba4b27c20c42d3fe1b5b022f9c3eb63b96249b46d7277ffb4ce37447d84d01d4768b88d142e3d0e15 - languageName: node - linkType: hard - "@temporalio/client@npm:1.7.4": version: 1.7.4 resolution: "@temporalio/client@npm:1.7.4" @@ -3100,15 +2791,6 @@ __metadata: languageName: node linkType: hard -"@types/es-aggregate-error@npm:^1.0.2": - version: 1.0.2 - resolution: "@types/es-aggregate-error@npm:1.0.2" - dependencies: - "@types/node": "*" - checksum: 076fd59b595f33c8c7e7eb68ec55bd43cf8b2cf7bbc6778e25d7ae1a5fa0538a0a56f149015f403d7bbcefe59f1d8182351685b59c1fe719fd46d0dd8a9737fa - languageName: node - linkType: hard - "@types/graceful-fs@npm:^4.1.3": version: 4.1.6 resolution: "@types/graceful-fs@npm:4.1.6" @@ -3172,20 +2854,6 @@ __metadata: languageName: node linkType: hard -"@types/js-yaml@npm:^4.0.5": - version: 4.0.5 - resolution: "@types/js-yaml@npm:4.0.5" - checksum: 7dcac8c50fec31643cc9d6444b5503239a861414cdfaa7ae9a38bc22597c4d850c4b8cec3d82d73b3fbca408348ce223b0408d598b32e094470dfffc6d486b4d - languageName: node - linkType: hard - -"@types/json-schema@npm:^7.0.11, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.7": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d - languageName: node - linkType: hard - "@types/long@npm:^4.0.1": version: 4.0.2 resolution: "@types/long@npm:4.0.2" @@ -3249,13 +2917,6 @@ __metadata: languageName: node linkType: hard -"@types/urijs@npm:^1.19.19": - version: 1.19.19 - resolution: "@types/urijs@npm:1.19.19" - checksum: 2c08d41782149a243b374b28be009ca461f541c440d8d47c9d75b1d3255ff7169b34bb721cf2dd6266c2c44be6b70fc6d67a1abad50c4dae369774042b1facd8 - languageName: node - linkType: hard - "@types/uuid@npm:^9.0.1": version: 9.0.1 resolution: "@types/uuid@npm:9.0.1" @@ -3341,77 +3002,6 @@ __metadata: languageName: node linkType: hard -"ajv-draft-04@npm:~1.0.0": - version: 1.0.0 - resolution: "ajv-draft-04@npm:1.0.0" - peerDependencies: - ajv: ^8.5.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 3f11fa0e7f7359bef6608657f02ab78e9cc62b1fb7bdd860db0d00351b3863a1189c1a23b72466d2d82726cab4eb20725c76f5e7c134a89865e2bfd0e6828137 - languageName: node - linkType: hard - -"ajv-errors@npm:^3.0.0, ajv-errors@npm:~3.0.0": - version: 3.0.0 - resolution: "ajv-errors@npm:3.0.0" - peerDependencies: - ajv: ^8.0.1 - checksum: f3d1610a104fa776c2f90534acbe2113842a40d5ee446062da9e956ae6de6959afc997da1e3948c47316faa225255fc2d9d97aacd0803f47998fb38156d3d03c - languageName: node - linkType: hard - -"ajv-formats@npm:^2.1.1, ajv-formats@npm:~2.1.0": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: ^8.0.0 - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 4a287d937f1ebaad4683249a4c40c0fa3beed30d9ddc0adba04859026a622da0d317851316ea64b3680dc60f5c3c708105ddd5d5db8fe595d9d0207fd19f90b7 - languageName: node - linkType: hard - -"ajv@npm:6.5.2": - version: 6.5.2 - resolution: "ajv@npm:6.5.2" - dependencies: - fast-deep-equal: ^2.0.1 - fast-json-stable-stringify: ^2.0.0 - json-schema-traverse: ^0.4.1 - uri-js: ^4.2.1 - checksum: ac8590895952e6387f923cf7e130e2b4fac13e175caa2934c7792e8a54f2a619e805f769d6f1b5d26d75401fccbe69e5b1fe31ebae39f300c5660a78597ee2fb - languageName: node - linkType: hard - -"ajv@npm:^5.0.0": - version: 5.5.2 - resolution: "ajv@npm:5.5.2" - dependencies: - co: ^4.6.0 - fast-deep-equal: ^1.0.0 - fast-json-stable-stringify: ^2.0.0 - json-schema-traverse: ^0.3.0 - checksum: a69645c843e1676b0ae1c5192786e546427f808f386d26127c6585479378066c64341ceec0b127b6789d79628e71d2a732d402f575b98f9262db230d7b715a94 - languageName: node - linkType: hard - -"ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.12.0, ajv@npm:^8.6.0, ajv@npm:^8.6.3": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 - languageName: node - linkType: hard - "ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" @@ -3517,13 +3107,6 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced - languageName: node - linkType: hard - "array-buffer-byte-length@npm:^1.0.0": version: 1.0.0 resolution: "array-buffer-byte-length@npm:1.0.0" @@ -3534,13 +3117,6 @@ __metadata: languageName: node linkType: hard -"array-ify@npm:^1.0.0": - version: 1.0.0 - resolution: "array-ify@npm:1.0.0" - checksum: c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -3574,15 +3150,6 @@ __metadata: languageName: node linkType: hard -"astring@npm:^1.8.1": - version: 1.8.5 - resolution: "astring@npm:1.8.5" - bin: - astring: bin/astring - checksum: 289d2bed94f31cfd91c6f57a67ff66a2bcf56acfcf8e76aebc806593046123522d02c1dc58cb0e64e1f2dc2bfd038eb9f0396ec78492cdca39b6c71d9e7f85e0 - languageName: node - linkType: hard - "async-retry@npm:^1.3.3": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -3599,13 +3166,6 @@ __metadata: languageName: node linkType: hard -"avsc@npm:^5.7.5": - version: 5.7.7 - resolution: "avsc@npm:5.7.7" - checksum: e3361aa88a61397b3345876263f79c8c8bfe013d849142202758205459a37e24cdbf02edc49ae019d6e82d93bbc7bc73e9e7fefca049aae91626bae28de4d1a9 - languageName: node - linkType: hard - "babel-jest@npm:^29.5.0": version: 29.5.0 resolution: "babel-jest@npm:29.5.0" @@ -4031,23 +3591,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^5.0.0": - version: 5.1.0 - resolution: "commander@npm:5.1.0" - checksum: 0b7fec1712fbcc6230fcb161d8d73b4730fa91a21dc089515489402ad78810547683f058e2a9835929c212fead1d6a6ade70db28bbb03edbc2829a9ab7d69447 - languageName: node - linkType: hard - -"compare-func@npm:^2.0.0": - version: 2.0.0 - resolution: "compare-func@npm:2.0.0" - dependencies: - array-ify: ^1.0.0 - dot-prop: ^5.1.0 - checksum: fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d - languageName: node - linkType: hard - "compressible@npm:^2.0.12": version: 2.0.18 resolution: "compressible@npm:2.0.18" @@ -4071,17 +3614,6 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:^5.0.0": - version: 5.0.0 - resolution: "conventional-changelog-conventionalcommits@npm:5.0.0" - dependencies: - compare-func: ^2.0.0 - lodash: ^4.17.15 - q: ^1.5.1 - checksum: b67d12e4e0fdde5baa32c3d77af472de38646a18657b26f5543eecce041a318103092fbfcef247e2319a16957c9ac78c6ea78acc11a5db6acf74be79a28c561f - languageName: node - linkType: hard - "convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" @@ -4234,13 +3766,6 @@ __metadata: languageName: node linkType: hard -"dependency-graph@npm:0.11.0, dependency-graph@npm:~0.11.0": - version: 0.11.0 - resolution: "dependency-graph@npm:0.11.0" - checksum: 477204beaa9be69e642bc31ffe7a8c383d0cf48fa27acbc91c5df01431ab913e65c154213d2ef83d034c98d77280743ec85e5da018a97a18dd43d3c0b78b28cd - languageName: node - linkType: hard - "deprecation@npm:^2.0.0": version: 2.3.1 resolution: "deprecation@npm:2.3.1" @@ -4285,15 +3810,6 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^5.1.0": - version: 5.3.0 - resolution: "dot-prop@npm:5.3.0" - dependencies: - is-obj: ^2.0.0 - checksum: d5775790093c234ef4bfd5fbe40884ff7e6c87573e5339432870616331189f7f5d86575c5b5af2dcf0f61172990f4f734d07844b1f23482fff09e3c4bead05ea - languageName: node - linkType: hard - "duplexify@npm:^4.0.0": version: 4.1.2 resolution: "duplexify@npm:4.1.2" @@ -4466,21 +3982,6 @@ __metadata: languageName: node linkType: hard -"es-aggregate-error@npm:^1.0.7": - version: 1.0.9 - resolution: "es-aggregate-error@npm:1.0.9" - dependencies: - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - function-bind: ^1.1.1 - functions-have-names: ^1.2.3 - get-intrinsic: ^1.1.3 - globalthis: ^1.0.3 - has-property-descriptors: ^1.0.0 - checksum: bef86c4fcd3b924929e8d89d288dc0a577b31bb17d6a3f0a7676f22c5d7ffa4e1ff08bb393f06b15e1baad132ae725a8c8692728a5f73cd2b78a1c49ce664605 - languageName: node - linkType: hard - "es-set-tostringtag@npm:^2.0.1": version: 2.0.1 resolution: "es-set-tostringtag@npm:2.0.1" @@ -4621,27 +4122,6 @@ __metadata: languageName: node linkType: hard -"fast-deep-equal@npm:^1.0.0": - version: 1.1.0 - resolution: "fast-deep-equal@npm:1.1.0" - checksum: 69b4c9534d9805f13a341aa72f69641d0b9ae3cc8beb25c64e68a257241c7bb34370266db27ae4fc3c4da0518448c01a5f587a096a211471c86a38facd9a1486 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^2.0.1": - version: 2.0.1 - resolution: "fast-deep-equal@npm:2.0.1" - checksum: b701835a87985e0ec4925bdf1f0c1e7eb56309b5d12d534d5b4b69d95a54d65bb16861c081781ead55f73f12d6c60ba668713391ee7fbf6b0567026f579b7b0b - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d - languageName: node - linkType: hard - "fast-glob@npm:^3.2.9": version: 3.2.12 resolution: "fast-glob@npm:3.2.12" @@ -4655,20 +4135,13 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb languageName: node linkType: hard -"fast-memoize@npm:^2.5.2": - version: 2.5.2 - resolution: "fast-memoize@npm:2.5.2" - checksum: 79fa759719ba4eac7e8c22fb3b0eb3f18f4a31e218c00b1eb4a5b53c5781921133a6b84472d59ec5a6ea8f26ad57b43cd99a350c0547ccce51489bc9a5f0b28d - languageName: node - linkType: hard - "fast-text-encoding@npm:^1.0.0": version: 1.0.6 resolution: "fast-text-encoding@npm:1.0.6" @@ -5242,13 +4715,6 @@ __metadata: languageName: node linkType: hard -"immer@npm:^9.0.6": - version: 9.0.21 - resolution: "immer@npm:9.0.21" - checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 - languageName: node - linkType: hard - "import-local@npm:^3.0.2": version: 3.1.0 resolution: "import-local@npm:3.1.0" @@ -5450,13 +4916,6 @@ __metadata: languageName: node linkType: hard -"is-obj@npm:^2.0.0": - version: 2.0.0 - resolution: "is-obj@npm:2.0.0" - checksum: c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 - languageName: node - linkType: hard - "is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" @@ -6074,7 +5533,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.0, js-yaml@npm:^3.6.1": +"js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -6086,24 +5545,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: ^2.0.1 - bin: - js-yaml: bin/js-yaml.js - checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a - languageName: node - linkType: hard - -"jsep@npm:^1.1.2, jsep@npm:^1.2.0": - version: 1.3.8 - resolution: "jsep@npm:1.3.8" - checksum: d6de7f3bc3aa93e71b6a8fd5436db87efd11d7081230bf072c3359c5f9ff1e36dd01e4e09b09f10cacf35d5dbaf2f32ea5cf98ffe41717ea7bd489d580bbab83 - languageName: node - linkType: hard - "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -6129,36 +5570,6 @@ __metadata: languageName: node linkType: hard -"json-schema-migrate@npm:^0.2.0": - version: 0.2.0 - resolution: "json-schema-migrate@npm:0.2.0" - dependencies: - ajv: ^5.0.0 - checksum: fc5b3ed2cfc5d02059836120653b63f846a18037ec554b47267f9c104750f8fa3f3acb38d0129f116fd2db017c69cc90456cfae66930aa1d328fe12a422c0125 - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.3.0": - version: 0.3.1 - resolution: "json-schema-traverse@npm:0.3.1" - checksum: a685c36222023471c25c86cddcff506306ecb8f8941922fd356008419889c41c38e1c16d661d5499d0a561b34f417693e9bb9212ba2b2b2f8f8a345a49e4ec1a - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - "json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -6168,13 +5579,6 @@ __metadata: languageName: node linkType: hard -"jsonc-parser@npm:~2.2.1": - version: 2.2.1 - resolution: "jsonc-parser@npm:2.2.1" - checksum: c113878b5edd4232ba0742c7e0ddefb22a2a8ef1aafa1674c0eb4c5df0be11ed02bc8288f52ebe44b1696de336e1bc06e7bbc1458d0f910540d72b57ee7c8084 - languageName: node - linkType: hard - "jsonfile@npm:^4.0.0": version: 4.0.0 resolution: "jsonfile@npm:4.0.0" @@ -6187,34 +5591,6 @@ __metadata: languageName: node linkType: hard -"jsonpath-plus@npm:7.1.0": - version: 7.1.0 - resolution: "jsonpath-plus@npm:7.1.0" - checksum: a4005dc860c6b7e339229842537ceb6eb839d87a3447f989792b9c64f2564bbbd40663515f9481fb5a1b6cb0f988afba5b0b150e0285c463b794a45ed1aaf555 - languageName: node - linkType: hard - -"jsonpath-plus@npm:^6.0.1": - version: 6.0.1 - resolution: "jsonpath-plus@npm:6.0.1" - checksum: bddec34b742249c5b38077dfcd8eb479fab4e077943253017326503ce4f527ef66938288c728712fd923907493d6eaba69a43015dc3dd9fdf48d89028ae7f466 - languageName: node - linkType: hard - -"jsonpath-plus@npm:^7.2.0": - version: 7.2.0 - resolution: "jsonpath-plus@npm:7.2.0" - checksum: 05f447339d29be861e307d6e812aec1b9b88a3ba6bba286966a4e8bed3e752bee3d715eabfc21dce968be85ccb48bf79d2c1af78da7b9b74cd1b446d4d5d02f5 - languageName: node - linkType: hard - -"jsonpointer@npm:^5.0.0": - version: 5.0.1 - resolution: "jsonpointer@npm:5.0.1" - checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c - languageName: node - linkType: hard - "jwa@npm:^2.0.0": version: 2.0.0 resolution: "jwa@npm:2.0.0" @@ -6322,20 +5698,6 @@ __metadata: languageName: node linkType: hard -"lodash.topath@npm:^4.5.2": - version: 4.5.2 - resolution: "lodash.topath@npm:4.5.2" - checksum: 04583e220f4bb1c4ac0008ff8f46d9cb4ddce0ea1090085790da30a41f4cb1b904d885cb73257fca619fa825cd96f9bb97c67d039635cb76056e18f5e08bfdee - languageName: node - linkType: hard - -"lodash@npm:^4.17.15, lodash@npm:^4.17.21, lodash@npm:~4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 - languageName: node - linkType: hard - "long@npm:^4.0.0": version: 4.0.0 resolution: "long@npm:4.0.0" @@ -6537,7 +5899,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.1.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -6703,40 +6065,7 @@ __metadata: languageName: node linkType: hard -"nimma@npm:0.2.2": - version: 0.2.2 - resolution: "nimma@npm:0.2.2" - dependencies: - "@jsep-plugin/regex": ^1.0.1 - "@jsep-plugin/ternary": ^1.0.2 - astring: ^1.8.1 - jsep: ^1.2.0 - jsonpath-plus: ^6.0.1 - lodash.topath: ^4.5.2 - dependenciesMeta: - jsonpath-plus: - optional: true - lodash.topath: - optional: true - checksum: 09369253a962e6cdddd37c4994d414a5fa00abc955c4d91946140b45b57465749a9f05663a64812ad5ac70caacb7ca22a8fc7c8db002032d0768c83dbba7b3ad - languageName: node - linkType: hard - -"node-fetch@npm:2.6.7": - version: 2.6.7 - resolution: "node-fetch@npm:2.6.7" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": version: 2.6.11 resolution: "node-fetch@npm:2.6.11" dependencies: @@ -7062,13 +6391,6 @@ __metadata: languageName: node linkType: hard -"pony-cause@npm:^1.0.0": - version: 1.1.1 - resolution: "pony-cause@npm:1.1.1" - checksum: 5ff8878b808be48db801d52246a99d7e4789e52d20575ba504ede30c818fd85d38a033915e02c15fa9b6dce72448836dc1a47094acf8f1c21c4f04a4603b0cfb - languageName: node - linkType: hard - "preferred-pm@npm:^3.0.0": version: 3.0.3 resolution: "preferred-pm@npm:3.0.3" @@ -7164,13 +6486,6 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 - languageName: node - linkType: hard - "pure-rand@npm:^6.0.0": version: 6.0.2 resolution: "pure-rand@npm:6.0.2" @@ -7178,13 +6493,6 @@ __metadata: languageName: node linkType: hard -"q@npm:^1.5.1": - version: 1.5.1 - resolution: "q@npm:1.5.1" - checksum: 147baa93c805bc1200ed698bdf9c72e9e42c05f96d007e33a558b5fdfd63e5ea130e99313f28efc1783e90e6bdb4e48b67a36fcc026b7b09202437ae88a1fb12 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -7199,21 +6507,6 @@ __metadata: languageName: node linkType: hard -"ramldt2jsonschema@npm:^1.2.3": - version: 1.2.3 - resolution: "ramldt2jsonschema@npm:1.2.3" - dependencies: - commander: ^5.0.0 - js-yaml: ^3.14.0 - json-schema-migrate: ^0.2.0 - webapi-parser: ^0.5.0 - bin: - dt2js: bin/dt2js.js - js2dt: bin/js2dt.js - checksum: db6b89f4c088184290ea27448cfd64985e253543209e0b80bfb12b0b9640253b59418b671164af9055143018ef4be010c5f52ca853386636267269208f2f3512 - languageName: node - linkType: hard - "react-is@npm:^18.0.0": version: 18.2.0 resolution: "react-is@npm:18.2.0" @@ -7302,13 +6595,6 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b - languageName: node - linkType: hard - "require-main-filename@npm:^2.0.0": version: 2.0.0 resolution: "require-main-filename@npm:2.0.0" @@ -7445,13 +6731,6 @@ __metadata: languageName: node linkType: hard -"safe-stable-stringify@npm:^1.1": - version: 1.1.1 - resolution: "safe-stable-stringify@npm:1.1.1" - checksum: e32a30720e8a2e3043b8b96733f015c1aa7a21a5a328074ce917b8afe4d26b4308c186c74fa92131e5f794b1efc63caa32defafceaa2981accaaedbc8b2c861c - languageName: node - linkType: hard - "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -7552,15 +6831,6 @@ __metadata: languageName: node linkType: hard -"simple-eval@npm:1.0.0": - version: 1.0.0 - resolution: "simple-eval@npm:1.0.0" - dependencies: - jsep: ^1.1.2 - checksum: 0f0719ae3a84d4b9c19366dc03065b1fe9638c982ed3e9d44ba541d25e3454e99419e3239034974fd6c5074b79c119419168b8f343fef4da6d7e35227cfd1f87 - languageName: node - linkType: hard - "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -8069,14 +7339,14 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^1.11.1, tslib@npm:^1.14.1": +"tslib@npm:^1.11.1": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd languageName: node linkType: hard -"tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.5.0": +"tslib@npm:^2.3.1, tslib@npm:^2.5.0": version: 2.5.2 resolution: "tslib@npm:2.5.2" checksum: 4d3c1e238b94127ed0e88aa0380db3c2ddae581dc0f4bae5a982345e9f50ee5eda90835b8bfba99b02df10a5734470be197158c36f9129ac49fdc14a6a9da222 @@ -8295,22 +7565,6 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.1, uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: ^2.1.0 - checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 - languageName: node - linkType: hard - -"urijs@npm:^1.19.11": - version: 1.19.11 - resolution: "urijs@npm:1.19.11" - checksum: f9b95004560754d30fd7dbee44b47414d662dc9863f1cf5632a7c7983648df11d23c0be73b9b4f9554463b61d5b0a520b70df9e1ee963ebb4af02e6da2cc80f3 - languageName: node - linkType: hard - "util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -8318,13 +7572,6 @@ __metadata: languageName: node linkType: hard -"utility-types@npm:^3.10.0": - version: 3.10.0 - resolution: "utility-types@npm:3.10.0" - checksum: 8f274415c6196ab62883b8bd98c9d2f8829b58016e4269aaa1ebd84184ac5dda7dc2ca45800c0d5e0e0650966ba063bf9a412aaeaea6850ca4440a391283d5c8 - languageName: node - linkType: hard - "uuid@npm:^8.0.0, uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" @@ -8389,15 +7636,6 @@ __metadata: languageName: node linkType: hard -"webapi-parser@npm:^0.5.0": - version: 0.5.0 - resolution: "webapi-parser@npm:0.5.0" - dependencies: - ajv: 6.5.2 - checksum: bb9fb534b33939fcb420aa5c564e05595f72b543a84ccb71de642fb5852aa9481d1debcebbf4d7ca9bfd192c3d829848baa8c03e7b2ae81ee69171f012d32a60 - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1"