From bd46022b596fd053bbc9605d5e8b77475fb94606 Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:08:24 +0300 Subject: [PATCH 01/10] docs: `/docs/reference/graphql` --- .../docs/reference/graphql/index.mdx | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 docs/metatype.dev/docs/reference/graphql/index.mdx diff --git a/docs/metatype.dev/docs/reference/graphql/index.mdx b/docs/metatype.dev/docs/reference/graphql/index.mdx new file mode 100644 index 0000000000..7a533bc396 --- /dev/null +++ b/docs/metatype.dev/docs/reference/graphql/index.mdx @@ -0,0 +1,171 @@ +--- +sidebar_position: 50 +--- + +# GraphQL + +[GraphQL](https://graphql.org/) is the primary means of querying your typegraph. +This page documents all the semantics of how your typegraph translates into a GraphQL schema. + +## Query and Mutation + +The root functions passed to the `expose` function will be added as fields to the [special `query` and `mutation`](https://graphql.org/learn/schema/#the-query-and-mutation-types) GraphQL objects. +Under which object a function is assigned depends on it's [effect](/docs/reference/types/functions). +Note that this assignment still holds for deeply nested functions so be sure to avoid including functions that have mutating effects under query responses or vice versa. + +## Variables + +While [GraphQL Variables](https://graphql.org/learn/queries/#variables) work as expected for the most part, the typegate currently does not do type validation of variables for the provided query documents. + +```graphql +query ($varRight: String!, $varWrong: Int!) { + foo1: foo(in: $varRight) + foo2: foo(in: $varWrong) +} +{ + "varRight": "string", + # request will work as long as varWrong is string + # even if variable above was annotated as Int + "varWrong": "AlsoString", +} +``` + +## Types + +### Scalars + +The simpile primitive typegraph types translate directly to their [GraphQL equivalent](https://graphql.org/learn/schema/#scalar-types). +This includes standard scalar variants like `t.uuid` or any user declared aliases with custom configurations. +No custom GraphQL scalars are generated for such types. + + +| Type | GraphQL type | Description | +| -------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------- | +| `t.integer()` | `Int` | Represents signed 32-bit integers. | +| `t.float()` | `Float` | Represents signed double-precision values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_754). | +| `t.boolean()` | `Boolean` | Represents `true` or `false`. | +| `t.string()` | `String` | Represents textual data as UTF-8 character sequences. | + +### Files + +File types, primarily used through the [`S3Runtime`](/docs/reference/runtimes/s3), translate to a custom scalar called `File` in the Graphql schema. +The `S3Runtime` provides a set of helpers for all your file needs including support for [multipart HTTP requests](/docs/guides/files-upload) for file upload. + +### Structs + +`t.structs` types translate to: +- [GraphQL input types](https://graphql.org/learn/schema/#input-types) when used as inputs to functions +- [GraphQl object types](https://graphql.org/learn/schema/#object-types-and-fields) in any other place. + +### Lists + +`t.list` types simply convert to [GraphQL list types](https://graphql.org/learn/schema/#lists-and-non-null). + +### Functions + +`t.func` types are represented by their output type in the GraphQL schema. +If their input struct has fields present, these are converted to [arguments](https://graphql.org/learn/schema/#arguments) for the field. + +### Unions/Either + +Unions and either translate to a number of different forms depending on their usage in the graph and their composition. + +When used as a field in an input struct, unions/eithers are converted to custom scalars since the GraphQL spec doesn't allow GraphQL unions on input types. +These scalars expect the standard json representation of your value and that is all. + +When querying union/either values, there are a few more details. +For struct variants, the standard GraphQL rules apply and [inline fragments](https://graphql.org/learn/queries/#inline-fragments) must be used. +Currently, all struct variants must have inline fragments present even the the user is not intersted in them. +And as per GraphQL spec, common field querying is not supported and any fields must be part of the inline fragment. +Unlike the GraphQL spec, this includes the `__typename` field which must be included in the fragments instead. + +```graphql +# introspection schema +union MyUnion = Struct1 | Struct2 + +type Struct1 { + foo: String! + bar: String! +} + +type Struct2 { + foo: String! + baz: String! +} + +# introspection expected query (THIS IS WRONG) +query { + myUnion { + # common fields are not supported + __typename + foo + ... on Struct1 { + bar + } + ... on Struct2 { + baz + } + } +} + +# actual expected query (THIS IS RIGHT) +query { + myUnion { + ... on Struct1 { + # common fields must be included each time + __typename + foo + bar + } + ... on Struct2 { + __typename + foo + baz + } + } +} +``` + +For scalar variant, the introspected GraphQL schema will include a `_NameOFScalar` variant in the introspection schema **but** the value is returned at the field level as a simple scalar. +That is, GraphQL API explorers will show union __object__ members that include the scalar values and they'll prompt you to use [inline fragments](https://graphql.org/learn/queries/#inline-fragments) for querying the scalar members. +But the typegate will reject these kind of queries in preference to simple fields. +Look at the following example: + +```graphql +# introspection schema +union MyUnion = _String | _Integer + +type _String { + string: String! +} + +type _Integer { + integer: Int! +} + +# introspection expected query (THIS IS WRONG) +query { + myUnion { + ... on _String { + string + } + ... on _Integer { + integer + } + } +} + +# actual expected query (THIS IS RIGHT) +query { + # no subfield selection at all required + # since all members are scalars + myUnion +} + +# recieved json +{ + "myUnion": "string" +} +``` + +For list members, TODO. From fb61fd5dc7758b9a229da133275646f9d513ab2e Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Thu, 31 Oct 2024 18:16:40 +0300 Subject: [PATCH 02/10] fix: typo --- .../docs/reference/graphql/index.mdx | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/metatype.dev/docs/reference/graphql/index.mdx b/docs/metatype.dev/docs/reference/graphql/index.mdx index 7a533bc396..22d6e2c4a2 100644 --- a/docs/metatype.dev/docs/reference/graphql/index.mdx +++ b/docs/metatype.dev/docs/reference/graphql/index.mdx @@ -7,7 +7,7 @@ sidebar_position: 50 [GraphQL](https://graphql.org/) is the primary means of querying your typegraph. This page documents all the semantics of how your typegraph translates into a GraphQL schema. -## Query and Mutation +## `Query` and `Mutation` The root functions passed to the `expose` function will be added as fields to the [special `query` and `mutation`](https://graphql.org/learn/schema/#the-query-and-mutation-types) GraphQL objects. Under which object a function is assigned depends on it's [effect](/docs/reference/types/functions). @@ -34,7 +34,7 @@ query ($varRight: String!, $varWrong: Int!) { ### Scalars -The simpile primitive typegraph types translate directly to their [GraphQL equivalent](https://graphql.org/learn/schema/#scalar-types). +The simple primitive typegraph types translate directly to their [GraphQL equivalent](https://graphql.org/learn/schema/#scalar-types). This includes standard scalar variants like `t.uuid` or any user declared aliases with custom configurations. No custom GraphQL scalars are generated for such types. @@ -48,14 +48,14 @@ No custom GraphQL scalars are generated for such types. ### Files -File types, primarily used through the [`S3Runtime`](/docs/reference/runtimes/s3), translate to a custom scalar called `File` in the Graphql schema. +File types, primarily used through the [`S3Runtime`](/docs/reference/runtimes/s3), translate to a custom scalar called `File` in the GraphQL schema. The `S3Runtime` provides a set of helpers for all your file needs including support for [multipart HTTP requests](/docs/guides/files-upload) for file upload. ### Structs `t.structs` types translate to: - [GraphQL input types](https://graphql.org/learn/schema/#input-types) when used as inputs to functions -- [GraphQl object types](https://graphql.org/learn/schema/#object-types-and-fields) in any other place. +- [GraphQL object types](https://graphql.org/learn/schema/#object-types-and-fields) in any other place. ### Lists @@ -66,16 +66,16 @@ The `S3Runtime` provides a set of helpers for all your file needs including supp `t.func` types are represented by their output type in the GraphQL schema. If their input struct has fields present, these are converted to [arguments](https://graphql.org/learn/schema/#arguments) for the field. -### Unions/Either +### Unions and Eithers Unions and either translate to a number of different forms depending on their usage in the graph and their composition. When used as a field in an input struct, unions/eithers are converted to custom scalars since the GraphQL spec doesn't allow GraphQL unions on input types. -These scalars expect the standard json representation of your value and that is all. +These scalars expect the standard JSON representation of your value and that is all. When querying union/either values, there are a few more details. For struct variants, the standard GraphQL rules apply and [inline fragments](https://graphql.org/learn/queries/#inline-fragments) must be used. -Currently, all struct variants must have inline fragments present even the the user is not intersted in them. +Currently, all struct variants must have inline fragments present even if the user is not interested in them. And as per GraphQL spec, common field querying is not supported and any fields must be part of the inline fragment. Unlike the GraphQL spec, this includes the `__typename` field which must be included in the fragments instead. @@ -126,7 +126,7 @@ query { } ``` -For scalar variant, the introspected GraphQL schema will include a `_NameOFScalar` variant in the introspection schema **but** the value is returned at the field level as a simple scalar. +For scalar variant, the introspected GraphQL schema will include a `_NameOfScalar` variant in the introspection schema **but** the value is returned at the field level as a simple scalar. That is, GraphQL API explorers will show union __object__ members that include the scalar values and they'll prompt you to use [inline fragments](https://graphql.org/learn/queries/#inline-fragments) for querying the scalar members. But the typegate will reject these kind of queries in preference to simple fields. Look at the following example: @@ -162,10 +162,11 @@ query { myUnion } -# recieved json +# received json { "myUnion": "string" } ``` -For list members, TODO. +List members act accordingly to their wrapped times. +Lists of scalars are treated as scalars and lists of composites as a standard GraphQL composites list. From 152dc4f7e5870f9337d65576b254fa650d11a01e Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Thu, 31 Oct 2024 18:38:37 +0300 Subject: [PATCH 03/10] docs: add example playground --- .../docs/reference/graphql/index.mdx | 11 + .../reference/graphql/union-either.graphql | 33 +++ examples/typegraphs/triggers.ts | 5 +- examples/typegraphs/union-either.py | 69 ++++++ examples/typegraphs/union-either.ts | 65 ++++++ tests/metagen/typegraphs/sample/py/client.py | 208 +++++++++++------- 6 files changed, 306 insertions(+), 85 deletions(-) create mode 100644 docs/metatype.dev/docs/reference/graphql/union-either.graphql create mode 100644 examples/typegraphs/union-either.py create mode 100644 examples/typegraphs/union-either.ts diff --git a/docs/metatype.dev/docs/reference/graphql/index.mdx b/docs/metatype.dev/docs/reference/graphql/index.mdx index 22d6e2c4a2..cd3e283190 100644 --- a/docs/metatype.dev/docs/reference/graphql/index.mdx +++ b/docs/metatype.dev/docs/reference/graphql/index.mdx @@ -2,6 +2,8 @@ sidebar_position: 50 --- +import TGExample from "@site/src/components/TGExample"; + # GraphQL [GraphQL](https://graphql.org/) is the primary means of querying your typegraph. @@ -170,3 +172,12 @@ query { List members act accordingly to their wrapped times. Lists of scalars are treated as scalars and lists of composites as a standard GraphQL composites list. + +The following playground shows all the different types of unions/eithers: + + diff --git a/docs/metatype.dev/docs/reference/graphql/union-either.graphql b/docs/metatype.dev/docs/reference/graphql/union-either.graphql new file mode 100644 index 0000000000..405bb5067c --- /dev/null +++ b/docs/metatype.dev/docs/reference/graphql/union-either.graphql @@ -0,0 +1,33 @@ +{ + outer { + # scalar 1 and 2 don't need + # type inline fragments + unionList { + ... on comp_1 { + field1 + } + ... on comp_2 { + field2 + } + } + # we must include fragments + # for all composites or it will fail + union { + ... on comp_1 { + field1 + } + ... on comp_2 { + field2 + } + } + # rules are the same between unions and eithers + either { + ... on comp_1 { + field1 + } + ... on comp_2 { + field2 + } + } + } +} diff --git a/examples/typegraphs/triggers.ts b/examples/typegraphs/triggers.ts index ca4f92ba23..ac82710602 100644 --- a/examples/typegraphs/triggers.ts +++ b/examples/typegraphs/triggers.ts @@ -7,6 +7,7 @@ import { HttpRuntime } from "@typegraph/sdk/runtimes/http.ts"; typegraph( { name: "triggers", + // skip:next-line cors: { allowOrigin: ["https://metatype.dev", "http://localhost:3000"] }, }, (g) => { @@ -21,7 +22,7 @@ typegraph( path: "/flip_coin", }), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/union-either.py b/examples/typegraphs/union-either.py new file mode 100644 index 0000000000..588585a7a3 --- /dev/null +++ b/examples/typegraphs/union-either.py @@ -0,0 +1,69 @@ +# skip:start +from typegraph import typegraph, Policy, t, Graph +from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime + + +# skip:end +@typegraph( + # skip:start + cors=Cors(allow_origin=["https://metatype.dev", "http://localhost:3000"]), + # skip:end +) +def union_either(g: Graph): + deno = DenoRuntime() + members = [ + t.string().rename("scalar_1"), + t.integer().rename("scalar_2"), + t.struct( + { + "field1": t.string(), + } + ).rename("comp_1"), + t.struct( + { + "field2": t.string(), + } + ).rename("comp_2"), + t.list(t.string()).rename("scalar_list"), + # # FIXME: list of composites is broken + # t.list( + # t.struct( + # { + # "listField": t.string(), + # } + # ), + # ), + ] + g.expose( + Policy.public(), + outer=deno.func( + t.struct(), + t.struct( + { + "unionList": t.list(t.union(members)), + "union": t.union(members), + "either": t.either(members), + } + ), + code="""() => ({ + unionList: [ + "scalar", + 2, + { + field1: "1", + }, + { + field2: "2", + }, + ["scalar_1", "scalar_2"], + ], + either: { + field1: "1", + }, + union: { + field2: "2", + }, + })""", + ), + ) diff --git a/examples/typegraphs/union-either.ts b/examples/typegraphs/union-either.ts new file mode 100644 index 0000000000..ec4d93bda8 --- /dev/null +++ b/examples/typegraphs/union-either.ts @@ -0,0 +1,65 @@ +// skip:start +import { Policy, t, typegraph } from "@typegraph/sdk/index.ts"; +import { DenoRuntime } from "@typegraph/sdk/runtimes/deno.ts"; + +// skip:end +typegraph( + { + name: "union-either", + // skip:next-line + cors: { allowOrigin: ["https://metatype.dev", "http://localhost:3000"] }, + }, + (g) => { + const deno = new DenoRuntime(); + const members = [ + t.string().rename("scalar_1"), + t.integer().rename("scalar_2"), + t.struct({ + field1: t.string(), + }).rename("comp_1"), + t.struct({ + field2: t.string(), + }).rename("comp_2"), + t.list(t.string()).rename("scalar_list"), + /* FIXME: list of composites is broken + t.list( + t.struct({ + listField: t.string(), + }), + ), */ + ]; + g.expose({ + outer: deno.func( + // input + t.struct({}), + // output + t.struct({ + union: t.union(members), + either: t.either(members), + unionList: t.list(t.union(members)), + }), + { + code: () => ({ + either: { + field1: "1", + }, + union: { + field2: "2", + }, + unionList: [ + "scalar", + 2, + { + field1: "1", + }, + { + field2: "2", + }, + ["scalar_1", "scalar_2"], + ], + }), + }, + ), + }, Policy.public()); + }, +); diff --git a/tests/metagen/typegraphs/sample/py/client.py b/tests/metagen/typegraphs/sample/py/client.py index 10a2eb34dc..935d695e9a 100644 --- a/tests/metagen/typegraphs/sample/py/client.py +++ b/tests/metagen/typegraphs/sample/py/client.py @@ -608,7 +608,7 @@ class NodeDescs: @staticmethod def scalar(): return NodeMeta() - + @staticmethod def Post(): return NodeMeta( @@ -736,29 +736,42 @@ def RootMixedUnionFn(): }, ) + UserIdStringUuid = str PostSlugString = str -Post = typing.TypedDict("Post", { - "id": UserIdStringUuid, - "slug": PostSlugString, - "title": PostSlugString, -}, total=False) - -RootCompositeArgsFnInput = typing.TypedDict("RootCompositeArgsFnInput", { - "id": PostSlugString, -}, total=False) +Post = typing.TypedDict( + "Post", + { + "id": UserIdStringUuid, + "slug": PostSlugString, + "title": PostSlugString, + }, + total=False, +) + +RootCompositeArgsFnInput = typing.TypedDict( + "RootCompositeArgsFnInput", + { + "id": PostSlugString, + }, + total=False, +) UserEmailStringEmail = str UserPostsPostList = typing.List[Post] -User = typing.TypedDict("User", { - "id": UserIdStringUuid, - "email": UserEmailStringEmail, - "posts": UserPostsPostList, -}, total=False) +User = typing.TypedDict( + "User", + { + "id": UserIdStringUuid, + "email": UserEmailStringEmail, + "posts": UserPostsPostList, + }, + total=False, +) RootScalarUnionFnOutputT1Integer = int @@ -782,111 +795,140 @@ def RootMixedUnionFn(): ] - -PostSelections = typing.TypedDict("PostSelections", { - "_": SelectionFlags, - "id": ScalarSelectNoArgs, - "slug": ScalarSelectNoArgs, - "title": ScalarSelectNoArgs, -}, total=False) - -UserSelections = typing.TypedDict("UserSelections", { - "_": SelectionFlags, - "id": ScalarSelectNoArgs, - "email": ScalarSelectNoArgs, - "posts": CompositeSelectNoArgs["PostSelections"], -}, total=False) - -RootCompositeUnionFnOutputSelections = typing.TypedDict("RootCompositeUnionFnOutputSelections", { - "_": SelectionFlags, - "post": CompositeSelectNoArgs["PostSelections"], - "user": CompositeSelectNoArgs["UserSelections"], -}, total=False) - -RootMixedUnionFnOutputSelections = typing.TypedDict("RootMixedUnionFnOutputSelections", { - "_": SelectionFlags, - "post": CompositeSelectNoArgs["PostSelections"], - "user": CompositeSelectNoArgs["UserSelections"], -}, total=False) +PostSelections = typing.TypedDict( + "PostSelections", + { + "_": SelectionFlags, + "id": ScalarSelectNoArgs, + "slug": ScalarSelectNoArgs, + "title": ScalarSelectNoArgs, + }, + total=False, +) + +UserSelections = typing.TypedDict( + "UserSelections", + { + "_": SelectionFlags, + "id": ScalarSelectNoArgs, + "email": ScalarSelectNoArgs, + "posts": CompositeSelectNoArgs["PostSelections"], + }, + total=False, +) + +RootCompositeUnionFnOutputSelections = typing.TypedDict( + "RootCompositeUnionFnOutputSelections", + { + "_": SelectionFlags, + "post": CompositeSelectNoArgs["PostSelections"], + "user": CompositeSelectNoArgs["UserSelections"], + }, + total=False, +) + +RootMixedUnionFnOutputSelections = typing.TypedDict( + "RootMixedUnionFnOutputSelections", + { + "_": SelectionFlags, + "post": CompositeSelectNoArgs["PostSelections"], + "user": CompositeSelectNoArgs["UserSelections"], + }, + total=False, +) class QueryGraph(QueryGraphBase): def __init__(self): - super().__init__({ - "UserIdStringUuid": "String!", - "PostSlugString": "String!", - "post": "post!", - "user": "user!", - }) - + super().__init__( + { + "UserIdStringUuid": "String!", + "PostSlugString": "String!", + "post": "post!", + "user": "user!", + } + ) + def get_user(self, select: UserSelections) -> QueryNode[User]: node = selection_to_nodes( - {"getUser": select}, - {"getUser": NodeDescs.RootGetUserFn}, - "$q" + {"getUser": select}, {"getUser": NodeDescs.RootGetUserFn}, "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) def get_posts(self, select: PostSelections) -> QueryNode[Post]: node = selection_to_nodes( - {"getPosts": select}, - {"getPosts": NodeDescs.RootGetPostsFn}, - "$q" + {"getPosts": select}, {"getPosts": NodeDescs.RootGetPostsFn}, "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) def scalar_no_args(self) -> QueryNode[PostSlugString]: node = selection_to_nodes( - {"scalarNoArgs": True}, - {"scalarNoArgs": NodeDescs.RootScalarNoArgsFn}, - "$q" + {"scalarNoArgs": True}, {"scalarNoArgs": NodeDescs.RootScalarNoArgsFn}, "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def scalar_args(self, args: typing.Union[Post, PlaceholderArgs]) -> MutationNode[PostSlugString]: + def scalar_args( + self, args: typing.Union[Post, PlaceholderArgs] + ) -> MutationNode[PostSlugString]: node = selection_to_nodes( - {"scalarArgs": args}, - {"scalarArgs": NodeDescs.RootScalarArgsFn}, - "$q" + {"scalarArgs": args}, {"scalarArgs": NodeDescs.RootScalarArgsFn}, "$q" )[0] - return MutationNode(node.node_name, node.instance_name, node.args, node.sub_nodes) + return MutationNode( + node.node_name, node.instance_name, node.args, node.sub_nodes + ) def composite_no_args(self, select: PostSelections) -> MutationNode[Post]: node = selection_to_nodes( - {"compositeNoArgs": select}, - {"compositeNoArgs": NodeDescs.RootCompositeNoArgsFn}, - "$q" + {"compositeNoArgs": select}, + {"compositeNoArgs": NodeDescs.RootCompositeNoArgsFn}, + "$q", )[0] - return MutationNode(node.node_name, node.instance_name, node.args, node.sub_nodes) + return MutationNode( + node.node_name, node.instance_name, node.args, node.sub_nodes + ) - def composite_args(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], select: PostSelections) -> MutationNode[Post]: + def composite_args( + self, + args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], + select: PostSelections, + ) -> MutationNode[Post]: node = selection_to_nodes( - {"compositeArgs": (args, select)}, - {"compositeArgs": NodeDescs.RootCompositeArgsFn}, - "$q" + {"compositeArgs": (args, select)}, + {"compositeArgs": NodeDescs.RootCompositeArgsFn}, + "$q", )[0] - return MutationNode(node.node_name, node.instance_name, node.args, node.sub_nodes) + return MutationNode( + node.node_name, node.instance_name, node.args, node.sub_nodes + ) - def scalar_union(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs]) -> QueryNode[RootScalarUnionFnOutput]: + def scalar_union( + self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs] + ) -> QueryNode[RootScalarUnionFnOutput]: node = selection_to_nodes( - {"scalarUnion": args}, - {"scalarUnion": NodeDescs.RootScalarUnionFn}, - "$q" + {"scalarUnion": args}, {"scalarUnion": NodeDescs.RootScalarUnionFn}, "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def composite_union(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], select: RootCompositeUnionFnOutputSelections) -> QueryNode[RootCompositeUnionFnOutput]: + def composite_union( + self, + args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], + select: RootCompositeUnionFnOutputSelections, + ) -> QueryNode[RootCompositeUnionFnOutput]: node = selection_to_nodes( - {"compositeUnion": (args, select)}, - {"compositeUnion": NodeDescs.RootCompositeUnionFn}, - "$q" + {"compositeUnion": (args, select)}, + {"compositeUnion": NodeDescs.RootCompositeUnionFn}, + "$q", )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def mixed_union(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], select: RootMixedUnionFnOutputSelections) -> QueryNode[RootMixedUnionFnOutput]: + def mixed_union( + self, + args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], + select: RootMixedUnionFnOutputSelections, + ) -> QueryNode[RootMixedUnionFnOutput]: node = selection_to_nodes( - {"mixedUnion": (args, select)}, - {"mixedUnion": NodeDescs.RootMixedUnionFn}, - "$q" + {"mixedUnion": (args, select)}, + {"mixedUnion": NodeDescs.RootMixedUnionFn}, + "$q", )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) From c1f168c6b39a81191fbd6f3dffee7fc7483b5546 Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:56:35 +0300 Subject: [PATCH 04/10] fix: test fixtures --- src/typegraph/deno/src/typegraph.ts | 2 +- tests/e2e/cli/dev_test.ts | 1 + tests/e2e/website/website_test.ts | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/typegraph/deno/src/typegraph.ts b/src/typegraph/deno/src/typegraph.ts index efb015183a..d89ce9a3bb 100644 --- a/src/typegraph/deno/src/typegraph.ts +++ b/src/typegraph/deno/src/typegraph.ts @@ -224,7 +224,7 @@ export async function typegraph( if (err.payload && !err.cause) { err.cause = err.payload; } - if ("stack" in err.cause) { + if (err.cause && "stack" in err.cause) { console.error(`Error in typegraph '${name}':`); for (const msg of err.cause.stack) { console.error(`- ${msg}`); diff --git a/tests/e2e/cli/dev_test.ts b/tests/e2e/cli/dev_test.ts index b55555bd34..6e7eef48b3 100644 --- a/tests/e2e/cli/dev_test.ts +++ b/tests/e2e/cli/dev_test.ts @@ -371,6 +371,7 @@ Meta.test({ ["roadmap-policies.ts", "roadmap-policies"], ["roadmap-random.ts", "roadmap-random"], ["triggers.ts", "triggers"], + ["union-either.ts", "union-either"], ]); }); }); diff --git a/tests/e2e/website/website_test.ts b/tests/e2e/website/website_test.ts index 665fdf0f0c..ba22e81b25 100644 --- a/tests/e2e/website/website_test.ts +++ b/tests/e2e/website/website_test.ts @@ -56,6 +56,7 @@ const list = [ "roadmap-random", "temporal", "triggers", + "union-either", ] as const; // files that does not have 2 versions -- TODO why? From b0a9a496a8bd949c3f00554993c3018ac0427e98 Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Tue, 5 Nov 2024 17:49:06 +0300 Subject: [PATCH 05/10] fix: broken tests --- deno.lock | 116 + .../typegraphs/prisma-no-sugar.py.disabled | 60 +- examples/typegraphs/union-either.py | 14 +- .../src/runtimes/substantial/agent.ts | 86 +- .../substantial/workflow_worker_manager.ts | 22 +- src/typegate/src/typegraph/mod.ts | 20 +- tests/e2e/cli/dev_test.ts | 11 +- tests/e2e/nextjs/apollo/package.json | 16 +- tests/e2e/nextjs/apollo/pnpm-lock.yaml | 2196 ++++++++++------- tests/e2e/website/website_test.ts | 1 + tests/metagen/typegraphs/sample/py/client.py | 208 +- tests/runtimes/temporal/worker/package.json | 14 +- tests/runtimes/temporal/worker/pnpm-lock.yaml | 824 ++++--- tools/compose/compose.grpc.yml | 4 +- tools/deps.ts | 2 +- 15 files changed, 2050 insertions(+), 1544 deletions(-) diff --git a/deno.lock b/deno.lock index 9a679f2d84..e6c4617d83 100644 --- a/deno.lock +++ b/deno.lock @@ -2530,6 +2530,122 @@ "https://raw.githubusercontent.com/metatypedev/metatype/770ca5fc5e328fc88633101934bdeea989b26628/src/typegate/src/types.ts": "a36918c2bfab397edec906c23d2cd7558246337bb16fdf1ea4e353cffea5f2b4", "https://raw.githubusercontent.com/metatypedev/metatype/770ca5fc5e328fc88633101934bdeea989b26628/src/typegate/src/utils.ts": "de1a17260e76607e1a8fd6d7384cbc21bb26e08f64bffc41d6508bf5a8359311", "https://raw.githubusercontent.com/metatypedev/metatype/770ca5fc5e328fc88633101934bdeea989b26628/src/typegate/src/utils/hash.ts": "df6cf462c7a6a805b91dce9d3e7bbbd00ea3bfd8dcc973fb3e6c94e48e33d9b9", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/engine/bindings.ts": "7c3e28ec60a0381030310228be6c02f1a434046b4cbcf793a537aaef47be949f", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/engine/runtime.js": "1ae55e76d3de8e79c37054d9127c92af496ce10aa905ea64021893048bb33794", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/config.ts": "63ea402f9a993888a9e3ec88d35112186f8f13bcd3a5fe358e69e0bb603311a5", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/config/loader.ts": "91cc2b67cc9bee413b0b44f9aa2ea7814f50e2465e6bc114eece248554d7477d", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/config/shared.ts": "252b42038eb68059b2cac85c792e36f5849b8e7392b98452341ccc3ee680a774", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/config/types.ts": "73357168542ef041da67997acdd98097444d92f0a1663be03ad1523fd20f768c", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/crypto.ts": "f550775b9e5bf9e7ec286a1596246a631b117fd91e093169bcad4898fb729634", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/computation_engine.ts": "07a3826fcf0bb13eb3912b8e5cbf69932848cd28c1c4ebda7042f977510d00a5", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/planner/args.ts": "de16ba5c087afae319f65d02ab39779146da37ea925f610da8887cffe7828060", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/planner/dependency_resolver.ts": "b851f4a6e2d500f9427dd1a59920d6c71f10904b31863bb1fac4d26e01d02b67", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/planner/injection_utils.ts": "6f9ad0f8f9cde9a985b6ad36bf58418637a85f50749abe6870c792ade7dc45a2", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/planner/mod.ts": "9a4429e7a579903f4f67ab53bd602b2d05a58138bdbd91c7cc5b1b44cf714b68", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/planner/parameter_transformer.ts": "3ba3b9603c6d28c0d54648f8177bce30b8b667e0e1be903d468af3f2645649ff", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/planner/policies.ts": "caf3cfd8a46e21a5d09fdb46882d6ea4ffb376c56070bdb1ccff92fa70989d63", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/query_engine.ts": "39281c309b3d72123fcd8695700bd2831956e09d2b1c082ef899886beea6ae82", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/stage_id.ts": "b3b3c62215ff421103788079b77943af8f0026a56eafaa929415cb39ccde3cca", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/code_generator.ts": "edb77e2b98da2f040d3f7567d204dba2a3d8c66ae1a7c2709c049e464763f0cd", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/common.ts": "b585975e1a978dfa966df1a549261049ab159077bc90203a33bfe8ae055b3c6f", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/inline_validators/common.ts": "112f56c8e590215b0af0c1b46dc84b85cb5b9b43621a52646876c35a43103499", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/inline_validators/constraints.ts": "3237d0acce31aca8b2f2bbc0cae8a82d86f3671fcc7fabc3158037c4f79008f5", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/inline_validators/list.ts": "bd70fef3bc3840cfb6255a518de5fdb3db79a68a4481594475aebcbdd6a10102", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/inline_validators/number.ts": "9890c8af998dca2e573fc2ad02e63d9abc9b506b4a0c451d31f5916a8888e401", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/inline_validators/object.ts": "bd4f8891ee823bf82481df2ee181256514fd7299b5fe4fd7cd7194defa228f57", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/inline_validators/string.ts": "914a2b809a344075279578cb35ac3d03cb6025eb9f62c1f9f86958191b9857da", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/input.ts": "cf24fcffa1891dfc2f2af941a64aade9da069a6ef92baa432e2d7dcf5f9a8b86", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/matching_variant.ts": "aca8db649194921a01aca42b02113d0735262bb63d41ec44174e61c4cfa85369", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/engine/typecheck/result.ts": "6544f206b67c32015950ec96134415c261a60f54c469c1cd73f8accadf87fff6", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/errors.ts": "29dfbfdc8b7a85ee9551831d6db882e50a4e0104102b5885b2bd9a42878365f6", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/libs/jsonpath.ts": "f6851288fb8600dec0e62d5f804f41332b6197b255b6497360ba7e4b7f375cba", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/log.ts": "1330c01d489956c7530e2f2e2e60967f30c6b3a0c5c1d6c18d161ea2cf44fa0e", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/main.ts": "f390cfd2b5b836f1a54fa9ea7d8a5f5ba80430b6e849032145c0a7c0ae7216f3", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/Runtime.ts": "cc476f09f7d32d10dec3812a9a589da2866247e2064ce149ea2dc68fca833730", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/deno.ts": "c893dcf170b38547239d550080a856aca46a788de9922f282bbacf9b5841b5fe", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/deno/deno.ts": "bb0cdad8e785d43f6c59232e214fab82d43476acbcef740f561708b064bae172", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/deno/deno_messenger.ts": "81160c8a9c9817b46b52c4eee15cde880fb3f6b013c3b5110ee07a4c9c7f7a5e", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/deno/shared_types.ts": "34d56aa89c5a34e943a34b623b20d13ca54ab5466ea5313e0543da68b7aebcb1", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/deno/worker.ts": "ffeabab915301a666ac06b28989d5be4b29e600fb2932e25005ec1c9f48aac1d", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/graphql.ts": "5f0f4125367fd5fc43ccb2b8c9e8ba1f9c84348595e70e5ed9870e776d2efed3", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/grpc.ts": "92b2f5214ebe0f7b61e582faa67d6759641feaf788166a939ec6db8d819708da", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/http.ts": "f598a33aa3cafcf37a1f33d84c06bfd0ef5fd768f72837042c83ac6ae1d90762", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/kv.ts": "7d87409d8f93a4f684e1a0aabd020e5f3e559669fe3ca8efee9cd5045fde99dd", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/mod.ts": "26c06f1bff03255c20df97e1a109944b6fd2872acbb27aa97ab38b081fb19d7e", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/patterns/messenger/async_messenger.ts": "40644e011e3a258138ff1fb7a5323754a547016da9c1deb2114cfc471ee28bf0", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/patterns/messenger/lazy_async_messenger.ts": "b93d5e7252231d27d6b76ec4172d67cc23880b78411fb371d0cba2db712e2161", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma.ts": "e4b679c3b5e28a323d72bde5ebbcc113abe0efc8da82d70b3b2e390149c57d84", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/hooks/generate_schema.ts": "f55ffcb6fdfdfcb29eb5543ac23f89e224fc7e233f4ec598f7c5f44f05eefed2", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/hooks/mod.ts": "3e33752e3676b538c7016f3ddd4f1f49d75e217c410bcaa6319d33ed987d3c60", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/hooks/run_migrations.ts": "b94b09ecdc7d81ddcfd7596ae8cfb1ebbc8896d4c67207da627dcd79d19c658c", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/migration.ts": "f501540557b13a32f7b57e5a87f4ae1794cdd95214a49b34a429d7a33a96d5d8", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/mod.ts": "a0e44e86a45aad8b2bb0357ddbe8ba02802e6979451553940ec3688be571127f", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/prisma.ts": "bc370cfcb0f2aad520b8d2fd082e18dad5d41386225b50c9ce577b6c45df55b3", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/prisma/types.ts": "b4912f164aa8cdb1db3a98238a0271882864ff2778c10920dd7f0f3d59165dd6", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/python.ts": "77e7f683830962365ce7ce0af5fc5d326e11bc9751ab33d7add16d27feb32633", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/random.ts": "e7651e262ef5857e777ad46877c66f9098a2dfe774c13720a4cd38be327b53ff", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/s3.ts": "d7a0372faf555180bd4326550c1c6a07b156d3c5f0bbbcf9c0f6eb4b0f2bfff1", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/substantial.ts": "175644d75911d09919c06577bfa86239b3a44b1217664035551ff0989e22882a", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/substantial/agent.ts": "223288cb3d7baa02fa2d4e37207da7fa69cf4f16eb04ed7810d3e91ac725615b", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/substantial/types.ts": "8255ea84c5129ffc049d6fa88ad57eadf298d420ff11782c43eae9d2031efed1", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts": "589611456b82df0637db5f63af0881a459747d7c8963684bdcde291af13515cd", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/temporal.ts": "fef8a8f70d3f75957a5a741c275abea96cc492722784ea4aadffd9fce9cbff3f", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/typegate.ts": "52d49471d2682c1be323b53e4cca9866f2babb93708a855daa8c471ba4174b64", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/typegraph.ts": "e5808e5a20080fc260e54113e5941e5dffaeead5e3b7448dc17a48031d4799cf", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/utils/graphql_forward_vars.ts": "f0bb091aadd191eb1491dd86b7abd311ab60e09f532d226c8328b2cfa6025d9e", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/utils/graphql_inline_vars.ts": "9c3c339ee596c93cf65cda696d756c9ef08d34b78e4136472e27a92f2254ec8a", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/utils/http.ts": "842af99040fd0e3456690f7674311da3a0b9ea64c608d7bc588df1ab28f163a3", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/wasm_reflected.ts": "99d59cdd0c4b228c42ac90099036ecf5d2e14d6758916b27e4017d53b69cf481", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/wasm_wire.ts": "d10c891f12c9521bcd1a7e1cb459f642a5f4e0936f25f4e04174141691ba06d1", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/runtimes/wit_wire/mod.ts": "b40ab7bbdb225bff8738a743385251cc54a1ef44652e783a31ef7f85ed4efb18", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/artifact_service.ts": "282a9a6c3d89afc8955aabab6b3b242edccba664f5f41558e9c9b07d43dd8d13", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/cookies.ts": "ee17535cb19eab884732cefcdc46e63a2905041d5b5942e9ad6783c50a1f8624", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/mod.ts": "5b15823ec19cec1c985a77d525ee2e9e5c5aa367f5e24c96e305e485b6c633a9", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/protocols/basic.ts": "3c233ae1ccd0d3a8ff47a32c74682921abaf84e0de7c096f220f63b05756fc58", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/protocols/internal.ts": "7a9173406fbc1b885e08dd74a8dd34f168de2f1e9bedef4cdd88dad613e59166", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/protocols/jwt.ts": "e39249df7c2d088da07af1ccf5e97815addb46a994469efd4a335f6ae8618bc5", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/protocols/oauth2.ts": "7172cc6da5ecba71775bbc2d467d52d1f78505204e55452170f35004923b847b", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/protocols/protocol.ts": "158c55618be6165a9ee393ccd1a9da267b084ff04df7e627af1e4fc8fe636644", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/routes/mod.ts": "8fe85c16feb3da7086d3d6fd19a4579585b632893f3534c533c60aed84b9413a", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/routes/take.ts": "bc343c5d34870aeeaf9b0cc9473ba18fe7b324a23a630a57c9fd41eea4418a46", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/auth/routes/validate.ts": "56e52bb6d1660735683bdd398a86936f24ad8a00e402b7d88790867ad559e476", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/graphql_service.ts": "458e3cedcd22a44e166e531bcac4c65972916d81f3776c8161b2440ad212626f", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/info_service.ts": "a9a1f6ebdcbe64d55806597b879dd5714c32b8b861bed695a944f5e2f1213beb", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/middlewares.ts": "8af6277ce67c940564538f4def8e6567b5783b51f7c5f38c902736d620ffe405", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/playground_service.ts": "2cc8689899be7c31ad6c2e9c2c5adde0c6cc1f1442b27a55e8ead830e867dbe5", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/responses.ts": "5c45923c1374aab1ac8dd5b1a09ae69062ab34a448f8e92630678a236e38b2ba", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/services/rest_service.ts": "ae6ffdbddaccdbc7ed11dfb86511f2917332dcf5ae22ed814e1059e640ff7b08", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/sync/replicated_map.ts": "6b94fb884ce81d7e17572ae0abbeb91ceadb31f9356c4e9255982a00edcfe729", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/sync/typegraph.ts": "78120bc4d35e728ed86a98781c5d60996050fa8b35fa91f563c3c8b2a964b5dd", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/system_typegraphs.ts": "51299d60c1bb75b3e74998eb77bdf1680ee9d4a2f29a267d3ca90b2867c577fb", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/transports/graphql/gq.ts": "78435e53ec1c5b7aec29364c051eb8f10802714050d24ee68a65e1e263495d7d", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/transports/graphql/graphql.ts": "9f4aa79276e05acc6020da2a18472a1cc54c0ecf42efcbf017d67a88b0b90af2", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/transports/graphql/request_parser.ts": "afbc95debcb1bbfa6fc2b88937d7abedbed1f4335bb2d17bf98c7293761cfdb0", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/transports/graphql/typegraph.ts": "fc0ba3f62e1dd687a0545adb1dbaf7185176e0f1e938bfdd29cfef7f85951635", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/transports/graphql/utils.ts": "d09147add80f5e53a643ed3126ee8675a1655480728311de2def04ffe6262a4b", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/transports/rest/rest_schema_generator.ts": "c776e83c6a55e9bee3ec72c36c1d771b3ca711e4086b3728e4983ab866472624", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/artifacts/local.ts": "d36ece0f53a56922744dd4d3e170101466b3816ba136f9574e799880e27d1a4b", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/artifacts/mod.ts": "fc931ffd49dc168da12882acf1055d3252e0cb3b666928e67d08d2a6c5be3447", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/artifacts/shared.ts": "5061a07eb880e33c1543e7397e945d50b476ed51d81fc01d109c53295f089131", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/hooks.ts": "ea97c08285388300802676d03dbc06caadf060093736abce07ef8f99a60e9a04", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/memory_register.ts": "6eab24914a941f85c233037013dc13749d8b689c5f9ffb38600df4c7b00a94f0", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/mod.ts": "d9f10b53a40192863a431c6be541effb4fd3c012ed8a716712d5176eba8c884a", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/no_limiter.ts": "1e98610a737bd74668f80b7014c64669a59a801355340eaa14411e07f4a8a94e", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/rate_limiter.ts": "b5718ab9e718314f11f5d88d84795bd0e61575856470793f1fe83d499f4a9d40", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegate/register.ts": "d7a8732386ad019d4dcee0372b6cab93bfc55e0146729842db2aaecf1411b15d", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraph/mod.ts": "27c917783dd8cf99d06290c0768e852ab348c3e989e47c77e648ffcc564b79fb", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraph/type_node.ts": "7f721cd5f6da2cbc7e66b804e0f81e0429aa2893e0a93244f9e66b39cb96b1a0", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraph/types.ts": "fc813b5f18e71b58e5f7904cd7fe3d6cae38b3c7055a8875042588c1561df160", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraph/utils.ts": "66fe8e1b5072f52ea2efebc5cf42001c3b858068b2d970ee3c8558032ff53103", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraph/versions.ts": "cdab4b07960f78c1f18511a8cc464a7e97c4c1fd15c6e8678c109483d3c26508", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraph/visitor.ts": "0fb0f89d92cb1654c1b010494a14c1aad88c7923102ea3e89866b232d3bcdf04", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraphs/introspection.json": "bbcf2c4233371c7f36052e5fe9e1cb1d18a46d3f31391cfcba2a3063c9141adb", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraphs/prisma_migration.json": "dfc346ff8fc2cef611c8f172b90e9d13eae6fed8b3dd65dea8631f9533159173", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/typegraphs/typegate.json": "bc0cbf4cd2c5de34410779994240993db4f1dd3d1eeda10b6045efdc37eb48a4", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/types.ts": "a36918c2bfab397edec906c23d2cd7558246337bb16fdf1ea4e353cffea5f2b4", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/utils.ts": "de1a17260e76607e1a8fd6d7384cbc21bb26e08f64bffc41d6508bf5a8359311", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/utils/hash.ts": "df6cf462c7a6a805b91dce9d3e7bbbd00ea3bfd8dcc973fb3e6c94e48e33d9b9", + "https://raw.githubusercontent.com/metatypedev/metatype/bb42c00169a34c4282317d50800993eea781a69d/src/typegate/src/worker_utils.ts": "19f686d729b947ab3eb2f29e99ccd07578037a3bccced65fc0dce42d5338cd31", "https://raw.githubusercontent.com/metatypedev/metatype/db616a6ae26eb6fe04e356a777c11185613d97ad/typegate/engine/bindings.ts": "e9391491bf5c4f682267a5cb4ae384ef33ed7c15273fcada13bea7b064cf1270", "https://raw.githubusercontent.com/metatypedev/metatype/db616a6ae26eb6fe04e356a777c11185613d97ad/typegate/engine/runtime.js": "1ae55e76d3de8e79c37054d9127c92af496ce10aa905ea64021893048bb33794", "https://raw.githubusercontent.com/metatypedev/metatype/db616a6ae26eb6fe04e356a777c11185613d97ad/typegate/src/config.ts": "289820b743711beb9139bca83556f60774521f3c58addd5c441ae3205ef49e61", diff --git a/examples/typegraphs/prisma-no-sugar.py.disabled b/examples/typegraphs/prisma-no-sugar.py.disabled index 869b2be4cd..1061f9ef7c 100644 --- a/examples/typegraphs/prisma-no-sugar.py.disabled +++ b/examples/typegraphs/prisma-no-sugar.py.disabled @@ -1,30 +1,30 @@ -# # skip:start -# from typegraph import typegraph, effects, t, Graph -# from typegraph.providers.prisma import PrismaRuntime -# -# -# @typegraph() -# def prisma_no_sugar(g: Graph): -# db = PrismaRuntime("database", "POSTGRES_CONN") -# message = t.struct({}) -# skip: end -# t.func( -# t.struct( -# { -# "data": t.struct( -# { -# # notice to absence of `id` as automatically generated -# "title": t.string(), -# "body": t.string(), -# } -# ) -# } -# ), -# t.list(message), -# PrismaOperationMat( -# db, -# "Message", -# "createOne", -# effect=effects.create(), -# ), -# ) +# skip:start +from typegraph import typegraph, effects, t, Graph +from typegraph.providers.prisma import PrismaRuntime + + +@typegraph() +def prisma_no_sugar(g: Graph): + db = PrismaRuntime("database", "POSTGRES_CONN") + message = t.struct({}) + skip: end + t.func( + t.struct( + { + "data": t.struct( + { + # notice to absence of `id` as automatically generated + "title": t.string(), + "body": t.string(), + } + ) + } + ), + t.list(message), + PrismaOperationMat( + db, + "Message", + "createOne", + effect=effects.create(), + ), + ) diff --git a/examples/typegraphs/union-either.py b/examples/typegraphs/union-either.py index 588585a7a3..21c2f16598 100644 --- a/examples/typegraphs/union-either.py +++ b/examples/typegraphs/union-either.py @@ -41,12 +41,18 @@ def union_either(g: Graph): t.struct(), t.struct( { - "unionList": t.list(t.union(members)), "union": t.union(members), "either": t.either(members), + "unionList": t.list(t.union(members)), } ), code="""() => ({ + either: { + field1: "1", + }, + union: { + field2: "2", + }, unionList: [ "scalar", 2, @@ -58,12 +64,6 @@ def union_either(g: Graph): }, ["scalar_1", "scalar_2"], ], - either: { - field1: "1", - }, - union: { - field2: "2", - }, })""", ), ) diff --git a/src/typegate/src/runtimes/substantial/agent.ts b/src/typegate/src/runtimes/substantial/agent.ts index 966ce460f3..330afd6a60 100644 --- a/src/typegate/src/runtimes/substantial/agent.ts +++ b/src/typegate/src/runtimes/substantial/agent.ts @@ -2,21 +2,21 @@ import { AddScheduleInput, Backend, NextRun, - Run, ReadOrCloseScheduleInput, + Run, } from "../../../engine/runtime.js"; import { getLogger } from "../../log.ts"; import { TaskContext } from "../deno/shared_types.ts"; import { + appendIfOngoing, Interrupt, Result, WorkerData, WorkflowResult, - appendIfOngoing, } from "./types.ts"; import { RunId, WorkerManager } from "./workflow_worker_manager.ts"; -const logger = getLogger(); +const logger = getLogger(import.meta, "WARN"); export interface WorkflowDescription { name: string; @@ -39,7 +39,7 @@ export class Agent { private backend: Backend, private queue: string, private config: AgentConfig, - private internalTCtx: TaskContext + private internalTCtx: TaskContext, ) {} async schedule(input: AddScheduleInput) { @@ -56,7 +56,7 @@ export class Agent { }); } catch (err) { logger.warn( - `Failed writing log metadata for schedule "${schedule}" (${runId}), skipping it: ${err}` + `Failed writing log metadata for schedule "${schedule}" (${runId}), skipping it: ${err}`, ); } } @@ -89,9 +89,11 @@ export class Agent { this.workflows = workflows; logger.warn( - `Initializing agent to handle ${workflows - .map(({ name }) => name) - .join(", ")}` + `Initializing agent to handle ${ + workflows + .map(({ name }) => name) + .join(", ") + }`, ); this.pollIntervalHandle = setInterval(async () => { @@ -111,8 +113,6 @@ export class Agent { } async #nextIteration() { - logger.warn("POLL"); - // Note: in multiple agents/typegate scenario, a single node may acquire all runs for itself within a tick span // To account for that, keep this reasonable const acquireMaxForThisAgent = this.config.maxAcquirePerTick; @@ -132,7 +132,7 @@ export class Agent { for (const workflow of this.workflows) { const requests = replayRequests.filter( - ({ run_id }) => Agent.parseWorkflowName(run_id) == workflow.name + ({ run_id }) => Agent.parseWorkflowName(run_id) == workflow.name, ); while (requests.length > 0) { @@ -143,7 +143,7 @@ export class Agent { await this.#replay(next, workflow); } catch (err) { logger.error( - `Replay failed for ${workflow.name} => ${JSON.stringify(next)}` + `Replay failed for ${workflow.name} => ${JSON.stringify(next)}`, ); logger.error(err); } finally { @@ -163,7 +163,7 @@ export class Agent { lease_seconds: this.config.leaseLifespanSec, }); - logger.info(`Active leases: ${activeRunIds.join(", ")}`); + logger.debug(`Active leases: ${activeRunIds.join(", ")}`); const next = await Meta.substantial.agentNextRun({ backend: this.backend, @@ -189,7 +189,7 @@ export class Agent { // necessarily represent the state of what is actually running on the current typegate node if (this.workerManager.isOngoing(next.run_id)) { logger.warn( - `skip triggering ${next.run_id} for the current tick as it is still ongoing` + `skip triggering ${next.run_id} for the current tick as it is still ongoing`, ); return; @@ -234,9 +234,11 @@ export class Agent { // A consequence of the above, a workflow is always triggered by gql { start(..) } // This can also occur if an event is sent from gql under a runId that is not valid (e.g. due to typo) logger.warn( - `First item in the operation list is not a Start, got "${JSON.stringify( - first - )}" instead. Closing the underlying schedule.` + `First item in the operation list is not a Start, got "${ + JSON.stringify( + first, + ) + }" instead. Closing the underlying schedule.`, ); await Meta.substantial.storeCloseSchedule(schedDef); @@ -251,12 +253,12 @@ export class Agent { run, next.schedule_date, first.event.kwargs, - this.internalTCtx + this.internalTCtx, ); this.workerManager.listen( next.run_id, - this.#eventResultHandlerFor(workflow.name, next.run_id) + this.#eventResultHandlerFor(workflow.name, next.run_id), ); } catch (err) { throw err; @@ -279,7 +281,7 @@ export class Agent { // All Worker/Runner non-user issue should fall here // Note: Should never throw (typegate will panic), this will run in a worker logger.error( - `result error for "${runId}": ${JSON.stringify(result.payload)}` + `result error for "${runId}": ${JSON.stringify(result.payload)}`, ); return; } @@ -307,7 +309,7 @@ export class Agent { startedAt, workflowName, runId, - ret + ret, ); break; } @@ -318,9 +320,9 @@ export class Agent { } default: logger.error( - `Fatal: invalid type ${ - answer.type - } sent by "${runId}": ${JSON.stringify(answer.data)}` + `Fatal: invalid type ${answer.type} sent by "${runId}": ${ + JSON.stringify(answer.data) + }`, ); } }; @@ -329,11 +331,11 @@ export class Agent { async #workflowHandleInterrupts( workflowName: string, runId: string, - { result, schedule, run }: WorkflowResult + { result, schedule, run }: WorkflowResult, ) { this.workerManager.destroyWorker(workflowName, runId); // ! - logger.warn(`Interrupt "${workflowName}": ${result}"`); + logger.debug(`Interrupt "${workflowName}": ${result}"`); // TODO: make all of these transactional @@ -378,14 +380,16 @@ export class Agent { startedAt: Date, workflowName: string, runId: string, - { result, kind, schedule, run }: WorkflowResult + { result, kind, schedule, run }: WorkflowResult, ) { this.workerManager.destroyWorker(workflowName, runId); logger.info( - `gracefull completion of "${runId}" (${kind}): ${JSON.stringify( - result - )} started at "${startedAt}"` + `gracefull completion of "${runId}" (${kind}): ${ + JSON.stringify( + result, + ) + } started at "${startedAt}"`, ); logger.info(`Append Stop ${runId}`); @@ -404,7 +408,7 @@ export class Agent { }); logger.info( - `Persist finalized records for "${workflowName}": ${result}" and closing everything..` + `Persist finalized records for "${workflowName}": ${result}" and closing everything..`, ); const _run = await Meta.substantial.storePersistRun({ @@ -451,13 +455,15 @@ function checkIfRunHasStopped(run: Run) { if (op.event.type == "Start") { if (life >= 1) { logger.error( - `bad logs: ${JSON.stringify( - run.operations.map(({ event }) => event.type) - )}` + `bad logs: ${ + JSON.stringify( + run.operations.map(({ event }) => event.type), + ) + }`, ); throw new Error( - `"${run.run_id}" has potentially corrupted logs, another run occured yet previous has not stopped` + `"${run.run_id}" has potentially corrupted logs, another run occured yet previous has not stopped`, ); } @@ -466,13 +472,15 @@ function checkIfRunHasStopped(run: Run) { } else if (op.event.type == "Stop") { if (life <= 0) { logger.error( - `bad logs: ${JSON.stringify( - run.operations.map(({ event }) => event.type) - )}` + `bad logs: ${ + JSON.stringify( + run.operations.map(({ event }) => event.type), + ) + }`, ); throw new Error( - `"${run.run_id}" has potentitally corrupted logs, attempted stopping already closed run, or run with a missing Start` + `"${run.run_id}" has potentitally corrupted logs, attempted stopping already closed run, or run with a missing Start`, ); } diff --git a/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts b/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts index 795d20975a..b7c95993d3 100644 --- a/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts +++ b/src/typegate/src/runtimes/substantial/workflow_worker_manager.ts @@ -13,7 +13,7 @@ import { WorkerEventHandler, } from "./types.ts"; -const logger = getLogger(); +const logger = getLogger(import.meta, "WARN"); export type WorkerRecord = { worker: Worker; @@ -48,7 +48,7 @@ export class WorkflowRecorder { name: WorkflowName, runId: RunId, worker: WorkerRecord, - startedAt: Date + startedAt: Date, ) { if (!this.workflowRuns.has(name)) { this.workflowRuns.set(name, new Set()); @@ -83,7 +83,7 @@ export class WorkflowRecorder { if (this.workflowRuns.has(name)) { if (!record) { logger.warn( - `"${runId}" associated with "${name}" does not exist or has been already destroyed` + `"${runId}" associated with "${name}" does not exist or has been already destroyed`, ); return false; } @@ -140,7 +140,7 @@ export class WorkerManager { modulePath, worker, }, - new Date() + new Date(), ); } @@ -151,10 +151,12 @@ export class WorkerManager { destroyAllWorkers() { this.recorder.destroyAllWorkers(); logger.warn( - `Destroyed workers for ${this.recorder - .getRegisteredWorkflowNames() - .map((w) => `"${w}"`) - .join(", ")}` + `Destroyed workers for ${ + this.recorder + .getRegisteredWorkflowNames() + .map((w) => `"${w}"`) + .join(", ") + }`, ); } @@ -181,7 +183,7 @@ export class WorkerManager { const rec = this.recorder.startedAtRecords.get(runId); if (!rec) { throw new Error( - `Invalid state: cannot find initial time for run "${runId}"` + `Invalid state: cannot find initial time for run "${runId}"`, ); } return rec; @@ -222,7 +224,7 @@ export class WorkerManager { storedRun: Run, schedule: string, kwargs: Record, - internalTCtx: TaskContext + internalTCtx: TaskContext, ) { this.#createWorker(name, workflowModPath, runId); this.trigger("START", runId, { diff --git a/src/typegate/src/typegraph/mod.ts b/src/typegate/src/typegraph/mod.ts index 77d50c45ae..883ef2fe65 100644 --- a/src/typegate/src/typegraph/mod.ts +++ b/src/typegate/src/typegraph/mod.ts @@ -68,7 +68,9 @@ export class SecretManager { const value = this.secretOrNull(name); ensure( value != null, - `cannot find secret "${name}" for "${this.typegraphName}"`, + `cannot find secret "${name}" for "${this.typegraphName}". Availaible secrets include: [${ + Object.keys(this.secrets) + }]`, ); return value as string; } @@ -222,7 +224,7 @@ export class TypeGraph implements AsyncDisposable { (mat) => mat.runtime === idx, ); - logger.info("initializing runtime {}", { name: runtime.name }) + logger.info("initializing runtime {}", { name: runtime.name }); return initRuntime(runtime.name, { typegate, typegraph, @@ -384,13 +386,13 @@ export class TypeGraph implements AsyncDisposable { } ensure( isObject(type) || - isInteger(type) || - isNumber(type) || - isBoolean(type) || - isFunction(type) || - isString(type) || - isUnion(type) || - isEither(type), + isInteger(type) || + isNumber(type) || + isBoolean(type) || + isFunction(type) || + isString(type) || + isUnion(type) || + isEither(type), `object expected but got ${type.type}`, ); return (x: any) => { diff --git a/tests/e2e/cli/dev_test.ts b/tests/e2e/cli/dev_test.ts index 4e22eac8b4..7e9ba41c96 100644 --- a/tests/e2e/cli/dev_test.ts +++ b/tests/e2e/cli/dev_test.ts @@ -275,6 +275,8 @@ Meta.test( const examplesDir = $.path(workspaceDir).join("examples"); +const skipDeployed = new Set(["play.ts"]); + const expectedDeployed = [ ["authentication.ts", "authentication"], ["backend-for-frontend.ts", "backend-for-frontend"], @@ -357,8 +359,8 @@ Meta.test( }, null); await stderr.readWhile((rawLine) => { + console.log("meta-full dev[E]>", rawLine); const line = $.stripAnsi(rawLine); - console.log("meta-full dev[E]>", line); if (line.match(/failed to deploy/i)) { throw new Error("error detected on line: " + rawLine); } @@ -370,9 +372,12 @@ Meta.test( if (!match[2].startsWith(prefix)) { throw new Error("unexpected"); } - deployed.push([match[2].slice(prefix.length), match[1]]); + const file = match[2].slice(prefix.length); + if (!skipDeployed.has(file)) { + deployed.push([file, match[1]]); + } } - return deployed.length < expectedDeployed.length; + return deployed.length != expectedDeployed.length; }, 3 * 60 * 1000); await t.should("have deployed all the typegraphs", () => { diff --git a/tests/e2e/nextjs/apollo/package.json b/tests/e2e/nextjs/apollo/package.json index 0c09d18cd7..4d7ebd663f 100644 --- a/tests/e2e/nextjs/apollo/package.json +++ b/tests/e2e/nextjs/apollo/package.json @@ -9,23 +9,23 @@ "lint": "next lint" }, "dependencies": { - "@apollo/client": "^3.8.8", - "apollo-upload-client": "^18.0.1", - "graphql": "^16.8.1", - "next": "14.1.1", + "@apollo/client": "^3", + "apollo-upload-client": "^18", + "graphql": "^16", + "next": "^14", "react": "^18", "react-dom": "^18" }, "devDependencies": { - "@types/apollo-upload-client": "^17.0.5", + "@types/apollo-upload-client": "^17", "@types/node": "^20", "@types/react": "^18", "@types/react-dom": "^18", - "autoprefixer": "^10.0.1", + "autoprefixer": "^10", "eslint": "^8", - "eslint-config-next": "14.0.4", + "eslint-config-next": "14", "postcss": "^8", - "tailwindcss": "^3.3.0", + "tailwindcss": "^3", "typescript": "^5" } } diff --git a/tests/e2e/nextjs/apollo/pnpm-lock.yaml b/tests/e2e/nextjs/apollo/pnpm-lock.yaml index ede0d4985b..dea8bd628d 100644 --- a/tests/e2e/nextjs/apollo/pnpm-lock.yaml +++ b/tests/e2e/nextjs/apollo/pnpm-lock.yaml @@ -9,72 +9,68 @@ importers: .: dependencies: '@apollo/client': - specifier: ^3.8.8 - version: 3.8.8(graphql@16.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: ^3 + version: 3.11.8(@types/react@18.3.12)(graphql@16.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) apollo-upload-client: - specifier: ^18.0.1 - version: 18.0.1(@apollo/client@3.8.8(graphql@16.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(graphql@16.8.1) + specifier: ^18 + version: 18.0.1(@apollo/client@3.11.8(@types/react@18.3.12)(graphql@16.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(graphql@16.9.0) graphql: - specifier: ^16.8.1 - version: 16.8.1 + specifier: ^16 + version: 16.9.0 next: - specifier: 14.1.1 - version: 14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: ^14 + version: 14.2.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18 - version: 18.2.0 + version: 18.3.1 react-dom: specifier: ^18 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) devDependencies: '@types/apollo-upload-client': - specifier: ^17.0.5 - version: 17.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: ^17 + version: 17.0.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': specifier: ^20 - version: 20.10.5 + version: 20.17.6 '@types/react': specifier: ^18 - version: 18.2.45 + version: 18.3.12 '@types/react-dom': specifier: ^18 - version: 18.2.18 + version: 18.3.1 autoprefixer: - specifier: ^10.0.1 - version: 10.4.16(postcss@8.4.32) + specifier: ^10 + version: 10.4.20(postcss@8.4.47) eslint: specifier: ^8 - version: 8.56.0 + version: 8.57.1 eslint-config-next: - specifier: 14.0.4 - version: 14.0.4(eslint@8.56.0)(typescript@5.3.3) + specifier: '14' + version: 14.2.16(eslint@8.57.1)(typescript@5.6.3) postcss: specifier: ^8 - version: 8.4.32 + version: 8.4.47 tailwindcss: - specifier: ^3.3.0 - version: 3.4.0 + specifier: ^3 + version: 3.4.14 typescript: specifier: ^5 - version: 5.3.3 + version: 5.6.3 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@apollo/client@3.8.8': - resolution: {integrity: sha512-omjd9ryGDkadZrKW6l5ktUAdS4SNaFOccYQ4ZST0HLW83y8kQaSZOCTNlpkoBUK8cv6qP8+AxOKwLm2ho8qQ+Q==} + '@apollo/client@3.11.8': + resolution: {integrity: sha512-CgG1wbtMjsV2pRGe/eYITmV5B8lXUCYljB2gB/6jWTFQcrvirUVvKg7qtFdjYkQSFbIffU1IDyxgeaN81eTjbA==} peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 subscriptions-transport-ws: ^0.9.0 || ^0.11.0 peerDependenciesMeta: graphql-ws: @@ -86,26 +82,22 @@ packages: subscriptions-transport-ws: optional: true - '@babel/runtime@7.23.6': - resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} - engines: {node: '>=6.9.0'} - - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.4.1': + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.56.0': - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@graphql-typed-document-node/core@3.2.0': @@ -113,8 +105,8 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@humanwhocodes/config-array@0.11.13': - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead @@ -122,84 +114,88 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.1': - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} deprecated: Use @eslint/object-schema instead - '@jridgewell/gen-mapping@0.3.3': - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.1.2': - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@jridgewell/trace-mapping@0.3.20': - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@next/env@14.1.1': - resolution: {integrity: sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==} + '@next/env@14.2.16': + resolution: {integrity: sha512-fLrX5TfJzHCbnZ9YUSnGW63tMV3L4nSfhgOQ0iCcX21Pt+VSTDuaLsSuL8J/2XAiVA5AnzvXDpf6pMs60QxOag==} - '@next/eslint-plugin-next@14.0.4': - resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==} + '@next/eslint-plugin-next@14.2.16': + resolution: {integrity: sha512-noORwKUMkKc96MWjTOwrsUCjky0oFegHbeJ1yEnQBGbMHAaTEIgLZIIfsYF0x3a06PiS+2TXppfifR+O6VWslg==} - '@next/swc-darwin-arm64@14.1.1': - resolution: {integrity: sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==} + '@next/swc-darwin-arm64@14.2.16': + resolution: {integrity: sha512-uFT34QojYkf0+nn6MEZ4gIWQ5aqGF11uIZ1HSxG+cSbj+Mg3+tYm8qXYd3dKN5jqKUm5rBVvf1PBRO/MeQ6rxw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.1.1': - resolution: {integrity: sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==} + '@next/swc-darwin-x64@14.2.16': + resolution: {integrity: sha512-mCecsFkYezem0QiZlg2bau3Xul77VxUD38b/auAjohMA22G9KTJneUYMv78vWoCCFkleFAhY1NIvbyjj1ncG9g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.1.1': - resolution: {integrity: sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==} + '@next/swc-linux-arm64-gnu@14.2.16': + resolution: {integrity: sha512-yhkNA36+ECTC91KSyZcgWgKrYIyDnXZj8PqtJ+c2pMvj45xf7y/HrgI17hLdrcYamLfVt7pBaJUMxADtPaczHA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.1.1': - resolution: {integrity: sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==} + '@next/swc-linux-arm64-musl@14.2.16': + resolution: {integrity: sha512-X2YSyu5RMys8R2lA0yLMCOCtqFOoLxrq2YbazFvcPOE4i/isubYjkh+JCpRmqYfEuCVltvlo+oGfj/b5T2pKUA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.1.1': - resolution: {integrity: sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==} + '@next/swc-linux-x64-gnu@14.2.16': + resolution: {integrity: sha512-9AGcX7VAkGbc5zTSa+bjQ757tkjr6C/pKS7OK8cX7QEiK6MHIIezBLcQ7gQqbDW2k5yaqba2aDtaBeyyZh1i6Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.1.1': - resolution: {integrity: sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==} + '@next/swc-linux-x64-musl@14.2.16': + resolution: {integrity: sha512-Klgeagrdun4WWDaOizdbtIIm8khUDQJ/5cRzdpXHfkbY91LxBXeejL4kbZBrpR/nmgRrQvmz4l3OtttNVkz2Sg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.1.1': - resolution: {integrity: sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==} + '@next/swc-win32-arm64-msvc@14.2.16': + resolution: {integrity: sha512-PwW8A1UC1Y0xIm83G3yFGPiOBftJK4zukTmk7DI1CebyMOoaVpd8aSy7K6GhobzhkjYvqS/QmzcfsWG2Dwizdg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.1.1': - resolution: {integrity: sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==} + '@next/swc-win32-ia32-msvc@14.2.16': + resolution: {integrity: sha512-jhPl3nN0oKEshJBNDAo0etGMzv0j3q3VYorTSFqH1o3rwv1MQRdor27u1zhkgsHPNeY1jxcgyx1ZsCkDD1IHgg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@next/swc-win32-x64-msvc@14.1.1': - resolution: {integrity: sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==} + '@next/swc-win32-x64-msvc@14.2.16': + resolution: {integrity: sha512-OA7NtfxgirCjfqt+02BqxC3MIgM/JaGjw9tOe4fyZgPsqfseNiMPnCRP44Pfs+Gpo9zPN+SXaFsgP6vk8d571A==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -216,11 +212,25 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@rushstack/eslint-patch@1.6.1': - resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==} + '@nolyfill/is-core-module@1.0.39': + resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} + engines: {node: '>=12.4.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@rtsao/scc@1.1.0': + resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@swc/helpers@0.5.2': - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + '@rushstack/eslint-patch@1.10.4': + resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.5': + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} '@types/apollo-upload-client@17.0.5': resolution: {integrity: sha512-rPKHaE4QNd06LNtBgz6hfntVO+pOQMS2yTcynrzBPg9+a/nbtJ2gus5KgzRp2rqfzmnKEc/sRGjLen/9Ot0Z2A==} @@ -231,51 +241,74 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/node@20.10.5': - resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} + '@types/node@20.17.6': + resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} - '@types/prop-types@15.7.11': - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - '@types/react-dom@18.2.18': - resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + '@types/react-dom@18.3.1': + resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} - '@types/react@18.2.45': - resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} + '@types/react@18.3.12': + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} - '@types/scheduler@0.16.8': - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + '@typescript-eslint/eslint-plugin@8.13.0': + resolution: {integrity: sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/parser@6.15.0': - resolution: {integrity: sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.13.0': + resolution: {integrity: sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@6.15.0': - resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.13.0': + resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@6.15.0': - resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.13.0': + resolution: {integrity: sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@typescript-eslint/typescript-estree@6.15.0': - resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.13.0': + resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.13.0': + resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/visitor-keys@6.15.0': - resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.13.0': + resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/visitor-keys@8.13.0': + resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -305,8 +338,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -317,10 +350,18 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -341,22 +382,24 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} - array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} - array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} - array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} array.prototype.flat@1.3.2: @@ -367,53 +410,55 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} - array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - - autoprefixer@10.4.16: - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 - available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + axe-core@4.10.2: + resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} - axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -421,8 +466,9 @@ packages: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} - call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -432,18 +478,15 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001570: - resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} - - caniuse-lite@1.0.30001620: - resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} + caniuse-lite@1.0.30001677: + resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} client-only@0.0.1: @@ -478,6 +521,18 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -486,8 +541,8 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -498,25 +553,17 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -528,25 +575,44 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - electron-to-chromium@1.4.615: - resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.5.51: + resolution: {integrity: sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} - es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} - es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.2.0: + resolution: {integrity: sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} es-shim-unscopables@1.0.2: @@ -556,16 +622,16 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-next@14.0.4: - resolution: {integrity: sha512-9/xbOHEQOmQtqvQ1UsTQZpnA7SlDMBtuKJ//S4JnoyK3oGLhILKXdBgu/UO7lQo/2xOykQULS1qQ6p2+EpHgAQ==} + eslint-config-next@14.2.16: + resolution: {integrity: sha512-HOcnCJsyLXR7B8wmjaCgkTSpz+ijgOyAkP8OlvANvciP8PspBYFEBTmakNMxOf71fY0aKOm/blFIiKnrM4K03Q==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -576,15 +642,21 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.6.1: - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + eslint-import-resolver-typescript@3.6.3: + resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true - eslint-module-utils@2.8.0: - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -604,33 +676,33 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-import@2.29.1: - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 peerDependenciesMeta: '@typescript-eslint/parser': optional: true - eslint-plugin-jsx-a11y@6.8.0: - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + eslint-plugin-jsx-a11y@6.10.2: + resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705: + resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.33.2: - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + eslint-plugin-react@7.37.2: + resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} @@ -640,8 +712,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true @@ -650,8 +722,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -683,8 +755,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} @@ -702,12 +774,16 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} @@ -729,15 +805,16 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} - get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -747,13 +824,14 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@7.1.6: - resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - deprecated: Glob versions prior to v9 are no longer supported + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true - glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} - deprecated: Glob versions prior to v9 are no longer supported + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -763,14 +841,10 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -786,8 +860,8 @@ packages: peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} has-bigints@1.0.2: @@ -797,30 +871,30 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} import-fresh@3.3.0: @@ -838,12 +912,13 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} @@ -860,12 +935,20 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} + is-bun-module@1.2.1: + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -878,6 +961,10 @@ packages: is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -886,11 +973,12 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} - is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} is-number-object@1.0.7: @@ -913,11 +1001,13 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} - is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -927,18 +1017,20 @@ packages: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} - is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} - is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -946,11 +1038,19 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.3: + resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==} + engines: {node: '>= 0.4'} - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true js-tokens@4.0.0: @@ -980,8 +1080,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} @@ -995,8 +1095,8 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -1013,26 +1113,30 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1048,23 +1152,26 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - next@14.1.1: - resolution: {integrity: sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==} + next@14.2.16: + resolution: {integrity: sha512-LcO7WnFu6lYSvCzZoo1dB+IO0xXz5uEv52HF1IUN0IqVTUIZGHuuR10I5efiLadGt+4oZqTcNZyVVEem/TM5nA==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': optional: true + '@playwright/test': + optional: true sass: optional: true - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -1082,8 +1189,9 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -1093,22 +1201,20 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} - object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} - object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} - object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - - object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} - object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} once@1.4.0: @@ -1117,8 +1223,8 @@ packages: optimism@0.18.0: resolution: {integrity: sha512-tGn8+REwLRNFnb9WmcY5IfpOqeX2kpaYJ1s6Ae3mn12AeydLkR3j+jSCmVQFoXqU8D41PAJ1RG1rCRNWmNZVmQ==} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@3.1.0: @@ -1129,6 +1235,9 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1148,12 +1257,12 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1167,6 +1276,10 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -1191,14 +1304,14 @@ packages: ts-node: optional: true - postcss-nested@6.0.1: - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 - postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} postcss-value-parser@4.2.0: @@ -1208,8 +1321,8 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -1226,16 +1339,16 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -1245,17 +1358,25 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} + rehackt@0.1.0: + resolution: {integrity: sha512-7kRDOuLHB87D/JESKxQoRwv4DzbIdwkAGQ7p6QKGdVlY1IZheUnVhlk/4UZlNUVxdAXpyxikE3URsG067ybVzw==} + peerDependencies: + '@types/react': '*' + react: '*' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -1287,31 +1408,32 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} - safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true - set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} shebang-command@2.0.0: @@ -1322,38 +1444,60 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.includes@2.0.1: + resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} + engines: {node: '>= 0.4'} - string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} - string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -1375,9 +1519,9 @@ packages: babel-plugin-macros: optional: true - sucrase@3.34.0: - resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} - engines: {node: '>=8'} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true supports-color@7.2.0: @@ -1392,8 +1536,8 @@ packages: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} - tailwindcss@3.4.0: - resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + tailwindcss@3.4.14: + resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==} engines: {node: '>=14.0.0'} hasBin: true @@ -1415,9 +1559,9 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - ts-api-utils@1.0.3: - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + ts-api-utils@1.4.0: + resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -1431,8 +1575,8 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -1442,34 +1586,35 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} - typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -1483,15 +1628,16 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} engines: {node: '>= 0.4'} - which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} - which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} which@2.0.2: @@ -1499,15 +1645,25 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + yaml@2.6.0: + resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} engines: {node: '>= 14'} + hasBin: true yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -1521,47 +1677,45 @@ packages: snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@alloc/quick-lru@5.2.0': {} - '@apollo/client@3.8.8(graphql@16.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@apollo/client@3.11.8(@types/react@18.3.12)(graphql@16.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) + '@wry/caches': 1.0.1 '@wry/equality': 0.5.7 '@wry/trie': 0.5.0 - graphql: 16.8.1 - graphql-tag: 2.12.6(graphql@16.8.1) + graphql: 16.9.0 + graphql-tag: 2.12.6(graphql@16.9.0) hoist-non-react-statics: 3.3.2 optimism: 0.18.0 prop-types: 15.8.1 + rehackt: 0.1.0(@types/react@18.3.12)(react@18.3.1) response-iterator: 0.2.6 symbol-observable: 4.0.0 ts-invariant: 0.10.3 - tslib: 2.6.2 + tslib: 2.8.1 zen-observable-ts: 1.2.5 optionalDependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - '@babel/runtime@7.23.6': - dependencies: - regenerator-runtime: 0.14.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@types/react' - '@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)': + '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)': dependencies: - eslint: 8.56.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.7 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -1569,72 +1723,81 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.56.0': {} + '@eslint/js@8.57.1': {} - '@graphql-typed-document-node/core@3.2.0(graphql@16.8.1)': + '@graphql-typed-document-node/core@3.2.0(graphql@16.9.0)': dependencies: - graphql: 16.8.1 + graphql: 16.9.0 - '@humanwhocodes/config-array@0.11.13': + '@humanwhocodes/config-array@0.13.0': dependencies: - '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.1': {} + '@humanwhocodes/object-schema@2.0.3': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jridgewell/gen-mapping@0.3.3': + '@jridgewell/gen-mapping@0.3.5': dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.1': {} + '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.1.2': {} + '@jridgewell/set-array@1.2.1': {} - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} - '@jridgewell/trace-mapping@0.3.20': + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 - '@next/env@14.1.1': {} + '@next/env@14.2.16': {} - '@next/eslint-plugin-next@14.0.4': + '@next/eslint-plugin-next@14.2.16': dependencies: - glob: 7.1.7 + glob: 10.3.10 - '@next/swc-darwin-arm64@14.1.1': + '@next/swc-darwin-arm64@14.2.16': optional: true - '@next/swc-darwin-x64@14.1.1': + '@next/swc-darwin-x64@14.2.16': optional: true - '@next/swc-linux-arm64-gnu@14.1.1': + '@next/swc-linux-arm64-gnu@14.2.16': optional: true - '@next/swc-linux-arm64-musl@14.1.1': + '@next/swc-linux-arm64-musl@14.2.16': optional: true - '@next/swc-linux-x64-gnu@14.1.1': + '@next/swc-linux-x64-gnu@14.2.16': optional: true - '@next/swc-linux-x64-musl@14.1.1': + '@next/swc-linux-x64-musl@14.2.16': optional: true - '@next/swc-win32-arm64-msvc@14.1.1': + '@next/swc-win32-arm64-msvc@14.2.16': optional: true - '@next/swc-win32-ia32-msvc@14.1.1': + '@next/swc-win32-ia32-msvc@14.2.16': optional: true - '@next/swc-win32-x64-msvc@14.1.1': + '@next/swc-win32-x64-msvc@14.2.16': optional: true '@nodelib/fs.scandir@2.1.5': @@ -1647,20 +1810,31 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.17.1 + + '@nolyfill/is-core-module@1.0.39': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@rtsao/scc@1.1.0': {} - '@rushstack/eslint-patch@1.6.1': {} + '@rushstack/eslint-patch@1.10.4': {} - '@swc/helpers@0.5.2': + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.5': dependencies: - tslib: 2.6.2 + '@swc/counter': 0.1.3 + tslib: 2.8.1 - '@types/apollo-upload-client@17.0.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@types/apollo-upload-client@17.0.5(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@apollo/client': 3.8.8(graphql@16.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@apollo/client': 3.11.8(@types/react@18.3.12)(graphql@16.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/extract-files': 13.0.1 - graphql: 16.8.1 + graphql: 16.9.0 transitivePeerDependencies: + - '@types/react' - graphql-ws - react - react-dom @@ -1670,90 +1844,129 @@ snapshots: '@types/json5@0.0.29': {} - '@types/node@20.10.5': + '@types/node@20.17.6': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 - '@types/prop-types@15.7.11': {} + '@types/prop-types@15.7.13': {} - '@types/react-dom@18.2.18': + '@types/react-dom@18.3.1': dependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.12 - '@types/react@18.2.45': + '@types/react@18.3.12': dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 + '@types/prop-types': 15.7.13 csstype: 3.1.3 - '@types/scheduler@0.16.8': {} + '@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/type-utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.13.0 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3)': + '@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/scope-manager': 6.15.0 - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.15.0 - debug: 4.3.4 - eslint: 8.56.0 + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.13.0 + debug: 4.3.7 + eslint: 8.57.1 optionalDependencies: - typescript: 5.3.3 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.15.0': + '@typescript-eslint/scope-manager@8.13.0': dependencies: - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/visitor-keys': 8.13.0 - '@typescript-eslint/types@6.15.0': {} + '@typescript-eslint/type-utils@8.13.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.7 + ts-api-utils: 1.4.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - eslint + - supports-color + + '@typescript-eslint/types@8.13.0': {} - '@typescript-eslint/typescript-estree@6.15.0(typescript@5.3.3)': + '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/visitor-keys': 6.15.0 - debug: 4.3.4 - globby: 11.1.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/visitor-keys': 8.13.0 + debug: 4.3.7 + fast-glob: 3.3.2 is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.4.0(typescript@5.6.3) optionalDependencies: - typescript: 5.3.3 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.13.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.13.0 + '@typescript-eslint/types': 8.13.0 + '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) + eslint: 8.57.1 transitivePeerDependencies: - supports-color + - typescript - '@typescript-eslint/visitor-keys@6.15.0': + '@typescript-eslint/visitor-keys@8.13.0': dependencies: - '@typescript-eslint/types': 6.15.0 + '@typescript-eslint/types': 8.13.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} '@wry/caches@1.0.1': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 '@wry/context@0.7.4': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 '@wry/equality@0.5.7': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 '@wry/trie@0.4.3': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 '@wry/trie@0.5.0': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 - acorn-jsx@5.3.2(acorn@8.11.2): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.11.2 + acorn: 8.14.0 - acorn@8.11.2: {} + acorn@8.14.0: {} ajv@6.12.6: dependencies: @@ -1764,10 +1977,14 @@ snapshots: ansi-regex@5.0.1: {} + ansi-regex@6.1.0: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 + ansi-styles@6.2.1: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -1775,143 +1992,151 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - apollo-upload-client@18.0.1(@apollo/client@3.8.8(graphql@16.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(graphql@16.8.1): + apollo-upload-client@18.0.1(@apollo/client@3.11.8(@types/react@18.3.12)(graphql@16.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(graphql@16.9.0): dependencies: - '@apollo/client': 3.8.8(graphql@16.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@apollo/client': 3.11.8(@types/react@18.3.12)(graphql@16.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) extract-files: 13.0.0 - graphql: 16.8.1 + graphql: 16.9.0 arg@5.0.2: {} argparse@2.0.1: {} - aria-query@5.3.0: - dependencies: - dequal: 2.0.3 + aria-query@5.3.2: {} - array-buffer-byte-length@1.0.0: + array-buffer-byte-length@1.0.1: dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 + call-bind: 1.0.7 + is-array-buffer: 3.0.4 - array-includes@3.1.7: + array-includes@3.1.8: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 is-string: 1.0.7 - array-union@2.1.0: {} + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 - array.prototype.findlastindex@1.2.3: + array.prototype.findlastindex@1.2.5: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 array.prototype.flat@1.3.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - array.prototype.tosorted@1.1.2: + array.prototype.tosorted@1.1.4: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 - arraybuffer.prototype.slice@1.0.2: + arraybuffer.prototype.slice@1.0.3: dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 ast-types-flow@0.0.8: {} - asynciterator.prototype@1.0.0: - dependencies: - has-symbols: 1.0.3 - - autoprefixer@10.4.16(postcss@8.4.32): + autoprefixer@10.4.20(postcss@8.4.47): dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001570 + browserslist: 4.24.2 + caniuse-lite: 1.0.30001677 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.32 + picocolors: 1.1.1 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - available-typed-arrays@1.0.5: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 - axe-core@4.7.0: {} + axe-core@4.10.2: {} - axobject-query@3.2.1: - dependencies: - dequal: 2.0.3 + axobject-query@4.1.0: {} balanced-match@1.0.2: {} - binary-extensions@2.2.0: {} + binary-extensions@2.3.0: {} brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 - browserslist@4.22.2: + browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001570 - electron-to-chromium: 1.4.615 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + caniuse-lite: 1.0.30001677 + electron-to-chromium: 1.5.51 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) busboy@1.6.0: dependencies: streamsearch: 1.1.0 - call-bind@1.0.5: + call-bind@1.0.7: dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.1.1 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 callsites@3.1.0: {} camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001570: {} - - caniuse-lite@1.0.30001620: {} + caniuse-lite@1.0.30001677: {} chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - chokidar@3.5.3: + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.3 @@ -1947,36 +2172,48 @@ snapshots: damerau-levenshtein@1.0.8: {} + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + debug@3.2.7: dependencies: ms: 2.1.3 - debug@4.3.4: + debug@4.3.7: dependencies: - ms: 2.1.2 + ms: 2.1.3 deep-is@0.1.4: {} - define-data-property@1.1.1: + define-data-property@1.1.4: dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 + es-errors: 1.3.0 gopd: 1.0.1 - has-property-descriptors: 1.0.1 define-properties@1.2.1: dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dequal@2.0.3: {} - didyoumean@1.2.2: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - dlv@1.1.3: {} doctrine@2.1.0: @@ -1987,83 +2224,105 @@ snapshots: dependencies: esutils: 2.0.3 - electron-to-chromium@1.4.615: {} + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.51: {} + + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - enhanced-resolve@5.15.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - es-abstract@1.22.3: - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 + regexp.prototype.flags: 1.5.3 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 - es-iterator-helpers@1.0.15: + es-define-property@1.0.0: dependencies: - asynciterator.prototype: 1.0.0 - call-bind: 1.0.5 + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-iterator-helpers@1.2.0: + dependencies: + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - globalthis: 1.0.3 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.6 - iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 + internal-slot: 1.0.7 + iterator.prototype: 1.1.3 + safe-array-concat: 1.1.2 - es-set-tostringtag@2.0.2: + es-object-atoms@1.0.0: dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 es-shim-unscopables@1.0.2: dependencies: - hasown: 2.0.0 + hasown: 2.0.2 es-to-primitive@1.2.1: dependencies: @@ -2071,134 +2330,141 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - escalade@3.1.1: {} + escalade@3.2.0: {} escape-string-regexp@4.0.0: {} - eslint-config-next@14.0.4(eslint@8.56.0)(typescript@5.3.3): + eslint-config-next@14.2.16(eslint@8.57.1)(typescript@5.6.3): dependencies: - '@next/eslint-plugin-next': 14.0.4 - '@rushstack/eslint-patch': 1.6.1 - '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@next/eslint-plugin-next': 14.2.16 + '@rushstack/eslint-patch': 1.10.4 + '@typescript-eslint/eslint-plugin': 8.13.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) - eslint-plugin-react: 7.33.2(eslint@8.56.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) + eslint-plugin-react: 7.37.2(eslint@8.57.1) + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1) optionalDependencies: - typescript: 5.3.3 + typescript: 5.6.3 transitivePeerDependencies: - eslint-import-resolver-webpack + - eslint-plugin-import-x - supports-color eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 - is-core-module: 2.13.1 + is-core-module: 2.15.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint@8.56.0): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: - debug: 4.3.4 - enhanced-resolve: 5.15.0 - eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint@8.56.0))(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + '@nolyfill/is-core-module': 1.0.39 + debug: 4.3.7 + enhanced-resolve: 5.17.1 + eslint: 8.57.1 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 + get-tsconfig: 4.8.1 + is-bun-module: 1.2.1 is-glob: 4.0.3 + optionalDependencies: + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint@8.56.0))(eslint@8.56.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/parser': 8.13.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.56.0))(eslint@8.56.0))(eslint@8.56.0) - hasown: 2.0.0 - is-core-module: 2.13.1 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.13.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + hasown: 2.0.2 + is-core-module: 2.15.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 semver: 6.3.1 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 8.13.0(eslint@8.57.1)(typescript@5.6.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): + eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1): dependencies: - '@babel/runtime': 7.23.6 - aria-query: 5.3.0 - array-includes: 3.1.7 + aria-query: 5.3.2 + array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 + axe-core: 4.10.2 + axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 - eslint: 8.56.0 - hasown: 2.0.0 + eslint: 8.57.1 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.1 - eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): + eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1): dependencies: - eslint: 8.56.0 + eslint: 8.57.1 - eslint-plugin-react@7.33.2(eslint@8.56.0): + eslint-plugin-react@7.37.2(eslint@8.57.1): dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.tosorted: 1.1.2 + array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.0.15 - eslint: 8.56.0 + es-iterator-helpers: 1.2.0 + eslint: 8.57.1 estraverse: 5.3.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 eslint-scope@7.2.2: dependencies: @@ -2207,26 +2473,26 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.56.0: + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.7 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.5.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 @@ -2234,7 +2500,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2244,7 +2510,7 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -2252,11 +2518,11 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 - esquery@1.5.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -2280,13 +2546,13 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - fastq@1.16.0: + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -2305,16 +2571,21 @@ snapshots: flat-cache@3.2.0: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - flatted@3.2.9: {} + flatted@3.3.1: {} for-each@0.3.3: dependencies: is-callable: 1.2.7 + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + fraction.js@4.3.7: {} fs.realpath@1.0.0: {} @@ -2326,26 +2597,28 @@ snapshots: function.prototype.name@1.1.6: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} - get-intrinsic@1.2.2: + get-intrinsic@1.2.4: dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 - get-symbol-description@1.0.0: + get-symbol-description@1.0.2: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 - get-tsconfig@4.7.2: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -2357,23 +2630,22 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@7.1.6: + glob@10.3.10: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + foreground-child: 3.3.0 + jackspeak: 2.3.6 + minimatch: 9.0.5 + minipass: 7.1.2 + path-scurry: 1.11.1 - glob@7.1.7: + glob@10.4.5: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -2388,51 +2660,43 @@ snapshots: dependencies: type-fest: 0.20.2 - globalthis@1.0.3: + globalthis@1.0.4: dependencies: define-properties: 1.2.1 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.0 - merge2: 1.4.1 - slash: 3.0.0 + gopd: 1.0.1 gopd@1.0.1: dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 graceful-fs@4.2.11: {} graphemer@1.4.0: {} - graphql-tag@2.12.6(graphql@16.8.1): + graphql-tag@2.12.6(graphql@16.9.0): dependencies: - graphql: 16.8.1 - tslib: 2.6.2 + graphql: 16.9.0 + tslib: 2.8.1 - graphql@16.8.1: {} + graphql@16.9.0: {} has-bigints@1.0.2: {} has-flag@4.0.0: {} - has-property-descriptors@1.0.1: + has-property-descriptors@1.0.2: dependencies: - get-intrinsic: 1.2.2 + es-define-property: 1.0.0 - has-proto@1.0.1: {} + has-proto@1.0.3: {} has-symbols@1.0.3: {} - has-tostringtag@1.0.0: + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - hasown@2.0.0: + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -2440,7 +2704,7 @@ snapshots: dependencies: react-is: 16.13.1 - ignore@5.3.0: {} + ignore@5.3.2: {} import-fresh@3.3.0: dependencies: @@ -2456,21 +2720,20 @@ snapshots: inherits@2.0.4: {} - internal-slot@1.0.6: + internal-slot@1.0.7: dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 - is-array-buffer@3.0.2: + is-array-buffer@3.0.4: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 is-async-function@2.0.0: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-bigint@1.0.4: dependencies: @@ -2478,44 +2741,54 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 is-boolean-object@1.1.2: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-bun-module@1.2.1: + dependencies: + semver: 7.6.3 is-callable@1.2.7: {} - is-core-module@2.13.1: + is-core-module@2.15.1: dependencies: - hasown: 2.0.0 + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 is-date-object@1.0.5: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-extglob@2.1.1: {} is-finalizationregistry@1.0.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 + + is-fullwidth-code-point@3.0.0: {} is-generator-function@1.0.10: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - is-map@2.0.2: {} + is-map@2.0.3: {} - is-negative-zero@2.0.2: {} + is-negative-zero@2.0.3: {} is-number-object@1.0.7: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -2525,51 +2798,63 @@ snapshots: is-regex@1.1.4: dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 - is-set@2.0.2: {} + is-set@2.0.3: {} - is-shared-array-buffer@1.0.2: + is-shared-array-buffer@1.0.3: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 is-string@1.0.7: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - is-typed-array@1.1.12: + is-typed-array@1.1.13: dependencies: - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 - is-weakmap@2.0.1: {} + is-weakmap@2.0.2: {} is-weakref@1.0.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 - is-weakset@2.0.2: + is-weakset@2.0.3: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 isarray@2.0.5: {} isexe@2.0.0: {} - iterator.prototype@1.1.2: + iterator.prototype@1.1.3: dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 - set-function-name: 2.0.1 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - jiti@1.21.0: {} + jiti@1.21.6: {} js-tokens@4.0.0: {} @@ -2589,20 +2874,20 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 - object.values: 1.1.7 + object.values: 1.2.0 keyv@4.5.4: dependencies: json-buffer: 3.0.1 - language-subtag-registry@0.3.22: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: dependencies: - language-subtag-registry: 0.3.22 + language-subtag-registry: 0.3.23 levn@0.4.1: dependencies: @@ -2611,7 +2896,7 @@ snapshots: lilconfig@2.1.0: {} - lilconfig@3.0.0: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -2625,13 +2910,11 @@ snapshots: dependencies: js-tokens: 4.0.0 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 + lru-cache@10.4.3: {} merge2@1.4.1: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -2640,9 +2923,13 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + minimist@1.2.8: {} - ms@2.1.2: {} + minipass@7.1.2: {} ms@2.1.3: {} @@ -2656,32 +2943,32 @@ snapshots: natural-compare@1.4.0: {} - next@14.1.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@14.2.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@next/env': 14.1.1 - '@swc/helpers': 0.5.2 + '@next/env': 14.2.16 + '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001620 + caniuse-lite: 1.0.30001677 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styled-jsx: 5.1.1(react@18.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 14.1.1 - '@next/swc-darwin-x64': 14.1.1 - '@next/swc-linux-arm64-gnu': 14.1.1 - '@next/swc-linux-arm64-musl': 14.1.1 - '@next/swc-linux-x64-gnu': 14.1.1 - '@next/swc-linux-x64-musl': 14.1.1 - '@next/swc-win32-arm64-msvc': 14.1.1 - '@next/swc-win32-ia32-msvc': 14.1.1 - '@next/swc-win32-x64-msvc': 14.1.1 + '@next/swc-darwin-arm64': 14.2.16 + '@next/swc-darwin-x64': 14.2.16 + '@next/swc-linux-arm64-gnu': 14.2.16 + '@next/swc-linux-arm64-musl': 14.2.16 + '@next/swc-linux-x64-gnu': 14.2.16 + '@next/swc-linux-x64-musl': 14.2.16 + '@next/swc-win32-arm64-msvc': 14.2.16 + '@next/swc-win32-ia32-msvc': 14.2.16 + '@next/swc-win32-x64-msvc': 14.2.16 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - node-releases@2.0.14: {} + node-releases@2.0.18: {} normalize-path@3.0.0: {} @@ -2691,46 +2978,41 @@ snapshots: object-hash@3.0.0: {} - object-inspect@1.13.1: {} + object-inspect@1.13.2: {} object-keys@1.1.1: {} object.assign@4.1.5: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - object.entries@1.1.7: + object.entries@1.1.8: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 - object.fromentries@2.0.7: + object.fromentries@2.0.8: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - object.groupby@1.0.1: + object.groupby@1.0.3: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.23.3 - object.hasown@1.1.3: + object.values@1.2.0: dependencies: + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - - object.values@1.1.7: - dependencies: - call-bind: 1.0.5 - define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 once@1.4.0: dependencies: @@ -2741,16 +3023,16 @@ snapshots: '@wry/caches': 1.0.1 '@wry/context': 0.7.4 '@wry/trie': 0.4.3 - tslib: 2.6.2 + tslib: 2.8.1 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 p-limit@3.1.0: dependencies: @@ -2760,6 +3042,8 @@ snapshots: dependencies: p-limit: 3.1.0 + package-json-from-dist@1.0.1: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -2772,9 +3056,12 @@ snapshots: path-parse@1.0.7: {} - path-type@4.0.0: {} + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 - picocolors@1.0.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -2782,31 +3069,33 @@ snapshots: pirates@4.0.6: {} - postcss-import@15.1.0(postcss@8.4.32): + possible-typed-array-names@1.0.0: {} + + postcss-import@15.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.32 + postcss: 8.4.47 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.32): + postcss-js@4.0.1(postcss@8.4.47): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.32 + postcss: 8.4.47 - postcss-load-config@4.0.2(postcss@8.4.32): + postcss-load-config@4.0.2(postcss@8.4.47): dependencies: - lilconfig: 3.0.0 - yaml: 2.3.4 + lilconfig: 3.1.2 + yaml: 2.6.0 optionalDependencies: - postcss: 8.4.32 + postcss: 8.4.47 - postcss-nested@6.0.1(postcss@8.4.32): + postcss-nested@6.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.32 - postcss-selector-parser: 6.0.13 + postcss: 8.4.47 + postcss-selector-parser: 6.1.2 - postcss-selector-parser@6.0.13: + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -2816,14 +3105,14 @@ snapshots: postcss@8.4.31: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.1.1 + source-map-js: 1.2.1 - postcss@8.4.32: + postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.1.1 + source-map-js: 1.2.1 prelude-ls@1.2.1: {} @@ -2837,15 +3126,15 @@ snapshots: queue-microtask@1.2.3: {} - react-dom@18.2.0(react@18.2.0): + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 react-is@16.13.1: {} - react@18.2.0: + react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -2857,22 +3146,27 @@ snapshots: dependencies: picomatch: 2.3.1 - reflect.getprototypeof@1.0.4: + reflect.getprototypeof@1.0.6: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - globalthis: 1.0.3 - which-builtin-type: 1.1.3 - - regenerator-runtime@0.14.1: {} + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 - regexp.prototype.flags@1.5.1: + regexp.prototype.flags@1.5.3: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - set-function-name: 2.0.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + rehackt@0.1.0(@types/react@18.3.12)(react@18.3.1): + optionalDependencies: + '@types/react': 18.3.12 + react: 18.3.1 resolve-from@4.0.0: {} @@ -2880,13 +3174,13 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 resolve@2.0.0-next.5: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -2902,41 +3196,42 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.0.1: + safe-array-concat@1.1.2: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 - safe-regex-test@1.0.0: + safe-regex-test@1.0.3: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.7 + es-errors: 1.3.0 is-regex: 1.1.4 - scheduler@0.23.0: + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 semver@6.3.1: {} - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 + semver@7.6.3: {} - set-function-length@1.1.1: + set-function-length@1.2.2: dependencies: - define-data-property: 1.1.1 - get-intrinsic: 1.2.2 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 - set-function-name@2.0.1: + set-function-name@2.0.2: dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.4 + es-errors: 1.3.0 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.1 + has-property-descriptors: 1.0.2 shebang-command@2.0.0: dependencies: @@ -2944,66 +3239,98 @@ snapshots: shebang-regex@3.0.0: {} - side-channel@1.0.4: + side-channel@1.0.6: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - object-inspect: 1.13.1 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 - slash@3.0.0: {} + signal-exit@4.1.0: {} - source-map-js@1.0.2: {} + source-map-js@1.2.1: {} streamsearch@1.1.0: {} - string.prototype.matchall@4.0.10: + string-width@4.2.3: dependencies: - call-bind: 1.0.5 + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string.prototype.includes@2.0.1: + dependencies: + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-abstract: 1.23.3 + + string.prototype.matchall@4.0.11: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 - set-function-name: 2.0.1 - side-channel: 1.0.4 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.3 + set-function-name: 2.0.2 + side-channel: 1.0.6 - string.prototype.trim@1.2.8: + string.prototype.repeat@1.0.0: dependencies: - call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 - string.prototype.trimend@1.0.7: + string.prototype.trim@1.2.9: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 - string.prototype.trimstart@1.0.7: + string.prototype.trimend@1.0.8: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + strip-bom@3.0.0: {} strip-json-comments@3.1.1: {} - styled-jsx@5.1.1(react@18.2.0): + styled-jsx@5.1.1(react@18.3.1): dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 18.3.1 - sucrase@3.34.0: + sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 7.1.6 + glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -3017,30 +3344,30 @@ snapshots: symbol-observable@4.0.0: {} - tailwindcss@3.4.0: + tailwindcss@3.4.14: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.32 - postcss-import: 15.1.0(postcss@8.4.32) - postcss-js: 4.0.1(postcss@8.4.32) - postcss-load-config: 4.0.2(postcss@8.4.32) - postcss-nested: 6.0.1(postcss@8.4.32) - postcss-selector-parser: 6.0.13 + picocolors: 1.1.1 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47) + postcss-nested: 6.2.0(postcss@8.4.47) + postcss-selector-parser: 6.1.2 resolve: 1.22.8 - sucrase: 3.34.0 + sucrase: 3.35.0 transitivePeerDependencies: - ts-node @@ -3060,15 +3387,15 @@ snapshots: dependencies: is-number: 7.0.0 - ts-api-utils@1.0.3(typescript@5.3.3): + ts-api-utils@1.4.0(typescript@5.6.3): dependencies: - typescript: 5.3.3 + typescript: 5.6.3 ts-interface-checker@0.1.13: {} ts-invariant@0.10.3: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 tsconfig-paths@3.15.0: dependencies: @@ -3077,7 +3404,7 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@2.6.2: {} + tslib@2.8.1: {} type-check@0.4.0: dependencies: @@ -3085,49 +3412,54 @@ snapshots: type-fest@0.20.2: {} - typed-array-buffer@1.0.0: + typed-array-buffer@1.0.2: dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 - typed-array-byte-length@1.0.0: + typed-array-byte-length@1.0.1: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.0: + typed-array-byte-offset@1.0.2: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 - typed-array-length@1.0.4: + typed-array-length@1.0.6: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 for-each: 0.3.3 - is-typed-array: 1.1.12 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 - typescript@5.3.3: {} + typescript@5.6.3: {} unbox-primitive@1.0.2: dependencies: - call-bind: 1.0.5 + call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - undici-types@5.26.5: {} + undici-types@6.19.8: {} - update-browserslist-db@1.0.13(browserslist@4.22.2): + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 uri-js@4.4.1: dependencies: @@ -3143,10 +3475,10 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 - which-builtin-type@1.1.3: + which-builtin-type@1.1.4: dependencies: function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 is-finalizationregistry: 1.0.2 @@ -3155,33 +3487,45 @@ snapshots: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-collection: 1.0.2 + which-typed-array: 1.1.15 - which-collection@1.0.1: + which-collection@1.0.2: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 - which-typed-array@1.1.13: + which-typed-array@1.1.15: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 which@2.0.2: dependencies: isexe: 2.0.0 - wrappy@1.0.2: {} + word-wrap@1.2.5: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 - yallist@4.0.0: {} + wrappy@1.0.2: {} - yaml@2.3.4: {} + yaml@2.6.0: {} yocto-queue@0.1.0: {} diff --git a/tests/e2e/website/website_test.ts b/tests/e2e/website/website_test.ts index ba22e81b25..9aa55049c8 100644 --- a/tests/e2e/website/website_test.ts +++ b/tests/e2e/website/website_test.ts @@ -67,6 +67,7 @@ const skip = [ "runtimes", "typecheck", "types", + "play", ]; const prepare = { diff --git a/tests/metagen/typegraphs/sample/py/client.py b/tests/metagen/typegraphs/sample/py/client.py index 935d695e9a..10a2eb34dc 100644 --- a/tests/metagen/typegraphs/sample/py/client.py +++ b/tests/metagen/typegraphs/sample/py/client.py @@ -608,7 +608,7 @@ class NodeDescs: @staticmethod def scalar(): return NodeMeta() - + @staticmethod def Post(): return NodeMeta( @@ -736,42 +736,29 @@ def RootMixedUnionFn(): }, ) - UserIdStringUuid = str PostSlugString = str -Post = typing.TypedDict( - "Post", - { - "id": UserIdStringUuid, - "slug": PostSlugString, - "title": PostSlugString, - }, - total=False, -) - -RootCompositeArgsFnInput = typing.TypedDict( - "RootCompositeArgsFnInput", - { - "id": PostSlugString, - }, - total=False, -) +Post = typing.TypedDict("Post", { + "id": UserIdStringUuid, + "slug": PostSlugString, + "title": PostSlugString, +}, total=False) + +RootCompositeArgsFnInput = typing.TypedDict("RootCompositeArgsFnInput", { + "id": PostSlugString, +}, total=False) UserEmailStringEmail = str UserPostsPostList = typing.List[Post] -User = typing.TypedDict( - "User", - { - "id": UserIdStringUuid, - "email": UserEmailStringEmail, - "posts": UserPostsPostList, - }, - total=False, -) +User = typing.TypedDict("User", { + "id": UserIdStringUuid, + "email": UserEmailStringEmail, + "posts": UserPostsPostList, +}, total=False) RootScalarUnionFnOutputT1Integer = int @@ -795,140 +782,111 @@ def RootMixedUnionFn(): ] -PostSelections = typing.TypedDict( - "PostSelections", - { - "_": SelectionFlags, - "id": ScalarSelectNoArgs, - "slug": ScalarSelectNoArgs, - "title": ScalarSelectNoArgs, - }, - total=False, -) - -UserSelections = typing.TypedDict( - "UserSelections", - { - "_": SelectionFlags, - "id": ScalarSelectNoArgs, - "email": ScalarSelectNoArgs, - "posts": CompositeSelectNoArgs["PostSelections"], - }, - total=False, -) - -RootCompositeUnionFnOutputSelections = typing.TypedDict( - "RootCompositeUnionFnOutputSelections", - { - "_": SelectionFlags, - "post": CompositeSelectNoArgs["PostSelections"], - "user": CompositeSelectNoArgs["UserSelections"], - }, - total=False, -) - -RootMixedUnionFnOutputSelections = typing.TypedDict( - "RootMixedUnionFnOutputSelections", - { - "_": SelectionFlags, - "post": CompositeSelectNoArgs["PostSelections"], - "user": CompositeSelectNoArgs["UserSelections"], - }, - total=False, -) + +PostSelections = typing.TypedDict("PostSelections", { + "_": SelectionFlags, + "id": ScalarSelectNoArgs, + "slug": ScalarSelectNoArgs, + "title": ScalarSelectNoArgs, +}, total=False) + +UserSelections = typing.TypedDict("UserSelections", { + "_": SelectionFlags, + "id": ScalarSelectNoArgs, + "email": ScalarSelectNoArgs, + "posts": CompositeSelectNoArgs["PostSelections"], +}, total=False) + +RootCompositeUnionFnOutputSelections = typing.TypedDict("RootCompositeUnionFnOutputSelections", { + "_": SelectionFlags, + "post": CompositeSelectNoArgs["PostSelections"], + "user": CompositeSelectNoArgs["UserSelections"], +}, total=False) + +RootMixedUnionFnOutputSelections = typing.TypedDict("RootMixedUnionFnOutputSelections", { + "_": SelectionFlags, + "post": CompositeSelectNoArgs["PostSelections"], + "user": CompositeSelectNoArgs["UserSelections"], +}, total=False) class QueryGraph(QueryGraphBase): def __init__(self): - super().__init__( - { - "UserIdStringUuid": "String!", - "PostSlugString": "String!", - "post": "post!", - "user": "user!", - } - ) - + super().__init__({ + "UserIdStringUuid": "String!", + "PostSlugString": "String!", + "post": "post!", + "user": "user!", + }) + def get_user(self, select: UserSelections) -> QueryNode[User]: node = selection_to_nodes( - {"getUser": select}, {"getUser": NodeDescs.RootGetUserFn}, "$q" + {"getUser": select}, + {"getUser": NodeDescs.RootGetUserFn}, + "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) def get_posts(self, select: PostSelections) -> QueryNode[Post]: node = selection_to_nodes( - {"getPosts": select}, {"getPosts": NodeDescs.RootGetPostsFn}, "$q" + {"getPosts": select}, + {"getPosts": NodeDescs.RootGetPostsFn}, + "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) def scalar_no_args(self) -> QueryNode[PostSlugString]: node = selection_to_nodes( - {"scalarNoArgs": True}, {"scalarNoArgs": NodeDescs.RootScalarNoArgsFn}, "$q" + {"scalarNoArgs": True}, + {"scalarNoArgs": NodeDescs.RootScalarNoArgsFn}, + "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def scalar_args( - self, args: typing.Union[Post, PlaceholderArgs] - ) -> MutationNode[PostSlugString]: + def scalar_args(self, args: typing.Union[Post, PlaceholderArgs]) -> MutationNode[PostSlugString]: node = selection_to_nodes( - {"scalarArgs": args}, {"scalarArgs": NodeDescs.RootScalarArgsFn}, "$q" + {"scalarArgs": args}, + {"scalarArgs": NodeDescs.RootScalarArgsFn}, + "$q" )[0] - return MutationNode( - node.node_name, node.instance_name, node.args, node.sub_nodes - ) + return MutationNode(node.node_name, node.instance_name, node.args, node.sub_nodes) def composite_no_args(self, select: PostSelections) -> MutationNode[Post]: node = selection_to_nodes( - {"compositeNoArgs": select}, - {"compositeNoArgs": NodeDescs.RootCompositeNoArgsFn}, - "$q", + {"compositeNoArgs": select}, + {"compositeNoArgs": NodeDescs.RootCompositeNoArgsFn}, + "$q" )[0] - return MutationNode( - node.node_name, node.instance_name, node.args, node.sub_nodes - ) + return MutationNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def composite_args( - self, - args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], - select: PostSelections, - ) -> MutationNode[Post]: + def composite_args(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], select: PostSelections) -> MutationNode[Post]: node = selection_to_nodes( - {"compositeArgs": (args, select)}, - {"compositeArgs": NodeDescs.RootCompositeArgsFn}, - "$q", + {"compositeArgs": (args, select)}, + {"compositeArgs": NodeDescs.RootCompositeArgsFn}, + "$q" )[0] - return MutationNode( - node.node_name, node.instance_name, node.args, node.sub_nodes - ) + return MutationNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def scalar_union( - self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs] - ) -> QueryNode[RootScalarUnionFnOutput]: + def scalar_union(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs]) -> QueryNode[RootScalarUnionFnOutput]: node = selection_to_nodes( - {"scalarUnion": args}, {"scalarUnion": NodeDescs.RootScalarUnionFn}, "$q" + {"scalarUnion": args}, + {"scalarUnion": NodeDescs.RootScalarUnionFn}, + "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def composite_union( - self, - args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], - select: RootCompositeUnionFnOutputSelections, - ) -> QueryNode[RootCompositeUnionFnOutput]: + def composite_union(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], select: RootCompositeUnionFnOutputSelections) -> QueryNode[RootCompositeUnionFnOutput]: node = selection_to_nodes( - {"compositeUnion": (args, select)}, - {"compositeUnion": NodeDescs.RootCompositeUnionFn}, - "$q", + {"compositeUnion": (args, select)}, + {"compositeUnion": NodeDescs.RootCompositeUnionFn}, + "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) - def mixed_union( - self, - args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], - select: RootMixedUnionFnOutputSelections, - ) -> QueryNode[RootMixedUnionFnOutput]: + def mixed_union(self, args: typing.Union[RootCompositeArgsFnInput, PlaceholderArgs], select: RootMixedUnionFnOutputSelections) -> QueryNode[RootMixedUnionFnOutput]: node = selection_to_nodes( - {"mixedUnion": (args, select)}, - {"mixedUnion": NodeDescs.RootMixedUnionFn}, - "$q", + {"mixedUnion": (args, select)}, + {"mixedUnion": NodeDescs.RootMixedUnionFn}, + "$q" )[0] return QueryNode(node.node_name, node.instance_name, node.args, node.sub_nodes) diff --git a/tests/runtimes/temporal/worker/package.json b/tests/runtimes/temporal/worker/package.json index 8d8662520e..139ae7e5fa 100644 --- a/tests/runtimes/temporal/worker/package.json +++ b/tests/runtimes/temporal/worker/package.json @@ -1,14 +1,14 @@ { "dependencies": { - "@temporalio/activity": "^1.9.0", - "@temporalio/worker": "^1.9.0", - "@temporalio/workflow": "^1.9.0" + "@temporalio/activity": "^1.9", + "@temporalio/worker": "^1.9", + "@temporalio/workflow": "^1.9" }, "devDependencies": { - "@tsconfig/node16": "^16.1.1", - "@types/node": "^20.11.4", - "tsx": "^4.7.0", - "typescript": "^5.3.3" + "@tsconfig/node16": "^16", + "@types/node": "^20", + "tsx": "^4", + "typescript": "^5" }, "scripts": { "start": "tsx worker.ts", diff --git a/tests/runtimes/temporal/worker/pnpm-lock.yaml b/tests/runtimes/temporal/worker/pnpm-lock.yaml index d6a21eb1df..93b26e0860 100644 --- a/tests/runtimes/temporal/worker/pnpm-lock.yaml +++ b/tests/runtimes/temporal/worker/pnpm-lock.yaml @@ -9,174 +9,180 @@ importers: .: dependencies: '@temporalio/activity': - specifier: ^1.9.0 - version: 1.9.3 + specifier: ^1.9 + version: 1.11.3 '@temporalio/worker': - specifier: ^1.9.0 - version: 1.9.3 + specifier: ^1.9 + version: 1.11.3 '@temporalio/workflow': - specifier: ^1.9.0 - version: 1.9.3 + specifier: ^1.9 + version: 1.11.3 devDependencies: '@tsconfig/node16': - specifier: ^16.1.1 - version: 16.1.2 + specifier: ^16 + version: 16.1.3 '@types/node': - specifier: ^20.11.4 - version: 20.11.30 + specifier: ^20 + version: 20.17.6 tsx: - specifier: ^4.7.0 - version: 4.7.1 + specifier: ^4 + version: 4.19.2 typescript: - specifier: ^5.3.3 - version: 5.4.3 + specifier: ^5 + version: 5.6.3 packages: - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@grpc/grpc-js@1.7.3': - resolution: {integrity: sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==} - engines: {node: ^8.13.0 || >=10.10.0} + '@grpc/grpc-js@1.12.2': + resolution: {integrity: sha512-bgxdZmgTrJZX50OjyVwz3+mNEnCTNkh3cIqGPWVNeW9jX6bn1ZkU80uPd+67/ZpIJIjRQ9qaHCjhavyoWYxumg==} + engines: {node: '>=12.10.0'} - '@grpc/proto-loader@0.7.10': - resolution: {integrity: sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==} + '@grpc/proto-loader@0.7.13': + resolution: {integrity: sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==} engines: {node: '>=6'} hasBin: true @@ -195,12 +201,33 @@ packages: '@jridgewell/source-map@0.3.6': resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.1.0': + resolution: {integrity: sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.5.0': + resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -231,71 +258,71 @@ packages: '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - '@swc/core-darwin-arm64@1.4.8': - resolution: {integrity: sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==} + '@swc/core-darwin-arm64@1.8.0': + resolution: {integrity: sha512-TIus1/SE/Ud4g84hCnchcagu+LfyndSDy5r5qf64nflojejDidPU9Fp1InzQhQpEgIpntnZID/KFCP5rQnvsIw==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.4.8': - resolution: {integrity: sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==} + '@swc/core-darwin-x64@1.8.0': + resolution: {integrity: sha512-yCb1FHCX/HUmNRGB1X3CFJ1WPKXMosZVUe3K2TrosCGvytwgaLoW5FS0bZg5Qv6cEUERQBg75cJnOUPwLLRCVg==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.4.8': - resolution: {integrity: sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==} + '@swc/core-linux-arm-gnueabihf@1.8.0': + resolution: {integrity: sha512-6TdjVdiLaSW+eGiHKEojMDlx673nowrPHa6nM6toWgRzy8tIZgjPOguVKJDoMnoHuvO7SkOLCUiMRw0rTskypA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.4.8': - resolution: {integrity: sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==} + '@swc/core-linux-arm64-gnu@1.8.0': + resolution: {integrity: sha512-TU2YcTornnyZiJUabRuk7Xtvzaep11FwK77IkFomjN9/Os5s25B8ea652c2fAQMe9RsM84FPVmX303ohxavjKQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.4.8': - resolution: {integrity: sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==} + '@swc/core-linux-arm64-musl@1.8.0': + resolution: {integrity: sha512-2CdPTEKxx2hJIj/B0fn8L8k2coo/FDS95smzXyi2bov5FcrP6Ohboq8roFBYgj38fkHusXjY8qt+cCH7yXWAdg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.4.8': - resolution: {integrity: sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==} + '@swc/core-linux-x64-gnu@1.8.0': + resolution: {integrity: sha512-14StQBifCs/AMsySdU95OmwNJr9LOVqo6rcTFt2b7XaWpe/AyeuMJFxcndLgUewksJHpfepzCTwNdbcYmuNo6A==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.4.8': - resolution: {integrity: sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==} + '@swc/core-linux-x64-musl@1.8.0': + resolution: {integrity: sha512-qemJnAQlYqKCfWNqVv5SG8uGvw8JotwU86cuFUkq35oTB+dsSFM3b83+B1giGTKKFOh2nfWT7bvPXTKk+aUjew==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.4.8': - resolution: {integrity: sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==} + '@swc/core-win32-arm64-msvc@1.8.0': + resolution: {integrity: sha512-fXt5vZbnrVdXZzGj2qRnZtY3uh+NtLCaFjS2uD9w8ssdbjhbDZYlJCj2JINOjv35ttEfAD2goiYmVa5P/Ypl+g==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.4.8': - resolution: {integrity: sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==} + '@swc/core-win32-ia32-msvc@1.8.0': + resolution: {integrity: sha512-W4FA2vSJ+bGYiTj6gspxghSdKQNLfLMo65AH07u797x7I+YJj8amnFY/fQRlroDv5Dez/FHTv14oPlTlNFUpIw==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.4.8': - resolution: {integrity: sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==} + '@swc/core-win32-x64-msvc@1.8.0': + resolution: {integrity: sha512-Il4y8XwKDV0Bnk0IpA00kGcSQC6I9XOIinW5egTutnwIDfDE+qsD0j+0isW5H76GetY3/Ze0lVxeOXLAUgpegA==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.4.8': - resolution: {integrity: sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==} + '@swc/core@1.8.0': + resolution: {integrity: sha512-EF8C5lp1RKMp3426tAKwQyVbg4Zcn/2FDax3cz8EcOXYQJM/ctB687IvBm9Ciej1wMcQ/dMRg+OB4Xl8BGLBoA==} engines: {node: '>=10'} peerDependencies: - '@swc/helpers': ^0.5.0 + '@swc/helpers': '*' peerDependenciesMeta: '@swc/helpers': optional: true @@ -303,48 +330,48 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - '@swc/types@0.1.6': - resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} + '@swc/types@0.1.14': + resolution: {integrity: sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==} - '@temporalio/activity@1.9.3': - resolution: {integrity: sha512-QmY2dCNNSANhCgy4HCaeRmosyg73wI7KFbxTpnCrFjAWjxpJqBYC5qROrWHQEG/52Mcf59MtmznWSqz3M04Naw==} + '@temporalio/activity@1.11.3': + resolution: {integrity: sha512-XH923/I7wvKSxrMiB/vF7Xuix3lBEd1vLGMtgkj0wF2t8WBITjbHXQLzpJUlQm8O0hjixI7bDqFNRCan3Ov1xQ==} - '@temporalio/client@1.9.3': - resolution: {integrity: sha512-RgcqMqgrzQG3jOrCxnh8mYqwDqngAMKoCUOPwZZU5AAJa0sBcBLV2lEhJ9KGEavpfZej/duplUa67EV0s+M/6w==} + '@temporalio/client@1.11.3': + resolution: {integrity: sha512-2x30xAXbUuqelrWe3Vd1FVC0+Z2Cfh6m2W5yDUZBjqTMdNP6qd8nH4S4mceRtZ4TipYSPmaONaiWoAU2VvwEIg==} - '@temporalio/common@1.9.3': - resolution: {integrity: sha512-o6aAiqyIyu8b1bUOeY4nu04ZMwLAPR66Vtc8W/xYs7WM874wNhZlm8XWspqnmflI3W7td4y3Y50AHRi/BUNxRg==} + '@temporalio/common@1.11.3': + resolution: {integrity: sha512-dzCrwiE9ox/Q16AjBsUKr4djg1ovYHNCjH36WZadwsemXINRWa5eW53j0WZOlmFF8/CbcHIhiD5N18rZqjiYkg==} - '@temporalio/core-bridge@1.9.3': - resolution: {integrity: sha512-0cYVDzypc+ilpWeBsYkHP8wv/SbtcLZA4z4ZZd2c6OWKEM3+p4UuW8AiXZf/avL+rpo7cjrSRl+PTWe52vPReg==} + '@temporalio/core-bridge@1.11.3': + resolution: {integrity: sha512-dUPJiS/ZQtFnttmu0V1BLLjUE5wQxrwI0+xSvUc6JEiC1q9Z6BmhobSKbcEKCvJgh5OMZKh/jn6yu1N7oLsZPw==} - '@temporalio/proto@1.9.3': - resolution: {integrity: sha512-YOeelTGdz8zLX8LUlXlERvd/VTaCPmV9xN/JEUQoxsyc7YpOB2wVwdrXS7Al/2b1jOTYRm00vbn3rljRV9W5dA==} + '@temporalio/proto@1.11.3': + resolution: {integrity: sha512-X+xV75m11BvvS5MljagtYCybRNxpLNJM24eWyfv+uyU4WZSvgQCUh21fY4FOUDJS66DPvO1mefSPu0Nunp1PHg==} - '@temporalio/worker@1.9.3': - resolution: {integrity: sha512-RFotNUeWNnLDk4EvnPVZBiYAZWc+daezr/Prn/iMsCI6e3CxbchDha6GiqIVkIF3ppq1R2Vl+FpouNA/gBniGg==} - engines: {node: '>= 14.18.0'} + '@temporalio/worker@1.11.3': + resolution: {integrity: sha512-CwiqsiQ5pKIyEcYOlfjRudu4pXCHU9PXm3Qycn1owpgdL1fbbpFiJ8yCoTWqrlB23BsWMhOpUyaQLnTF8D+4aQ==} + engines: {node: '>= 16.0.0'} - '@temporalio/workflow@1.9.3': - resolution: {integrity: sha512-JU3SKZf+Cdm9ebNIbhLB3DM3NmGyusOCCZ1eSOWCHPAJo+fW9Zi6B2ba+Td7XRu6EGWJwvBwh6fnqzVCxtBPMA==} + '@temporalio/workflow@1.11.3': + resolution: {integrity: sha512-TT4TqzMveLY9UsWQUSkFyb9Qvoz4VvCcJCPCyKLQyrp5BuAsf7owOByOfs74gz2tgTQiPjk1TtV4YXXEPRb4yA==} - '@tsconfig/node16@16.1.2': - resolution: {integrity: sha512-dQ4IMJsdighPkzI8YNdjZy9Ky2ZAj1m2EkCUfQ575djffboaVJrkl5RmHmmc4MEF7LXVv501aO8KeG5Aa43VHA==} + '@tsconfig/node16@16.1.3': + resolution: {integrity: sha512-9nTOUBn+EMKO6rtSZJk+DcqsfgtlERGT9XPJ5PRj/HNENPCBY1yu/JEj5wT6GLtbCLBO2k46SeXDaY0pjMqypw==} '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - '@types/eslint@8.56.6': - resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@20.11.30': - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + '@types/node@20.17.6': + resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -401,13 +428,8 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - acorn-import-assertions@1.9.0: - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 - - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -430,23 +452,23 @@ packages: arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - caniuse-lite@1.0.30001600: - resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} + caniuse-lite@1.0.30001677: + resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} - cargo-cp-artifact@0.1.8: - resolution: {integrity: sha512-3j4DaoTrsCD1MRkTF2Soacii0Nx7UHCce0EwUf4fHnggwiE4fbmF2AbnfzayR36DF8KGadfh7M/Yfy625kgPlA==} + cargo-cp-artifact@0.1.9: + resolution: {integrity: sha512-6F+UYzTaGB+awsTXg0uSJA1/b/B3DDJzpKVRu0UmyI7DmNeaAl2RFHuTGIN6fEgpadRxoXGb7gbC1xo4C3IdyA==} hasBin: true - chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} cliui@8.0.1: @@ -463,26 +485,26 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - electron-to-chromium@1.4.715: - resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} + electron-to-chromium@1.5.51: + resolution: {integrity: sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} - es-module-lexer@1.4.2: - resolution: {integrity: sha512-7nOqkomXZEaxUDJw21XZNtRk739QvrPSoZoRtbsEfcii00vdzZUh6zh1CQwHhrib8MdEtJfv5rJiGeb4KuV/vw==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} eslint-scope@5.1.1: @@ -515,8 +537,8 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + fs-monkey@1.0.6: + resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -527,8 +549,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -544,6 +566,10 @@ packages: resolution: {integrity: sha512-kUGoI3p7u6B41z/dp33G6OaL7J4DRqRYwVmeIlwLClx7yaaAy7hoDExnuejTKtuDwfcatGmddHDEOjf6EyIxtQ==} engines: {node: '>=10.0.0'} + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -576,8 +602,8 @@ packages: long@5.2.3: resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} - memfs@4.8.0: - resolution: {integrity: sha512-fcs7trFxZlOMadmTw5nyfOwS3il9pr3y+6xzLfXNwmuR/D0i4wz6rJURxArAbcJDGalbpbMvQ/IFI0NojRZgRg==} + memfs@4.14.0: + resolution: {integrity: sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==} engines: {node: '>= 4.0.0'} merge-stream@2.0.0: @@ -598,18 +624,18 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - proto3-json-serializer@2.0.1: - resolution: {integrity: sha512-8awBvjO+FwkMd6gNoGFZyqkHZXCFd54CIYTb6De7dPaufGJ2XNW+QUNqbMr8MaAocMdb+KpsD4rxEOaTBDCffA==} + proto3-json-serializer@2.0.2: + resolution: {integrity: sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ==} engines: {node: '>=14.0.0'} - protobufjs@7.2.6: - resolution: {integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==} + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} engines: {node: '>=12.0.0'} punycode@2.3.1: @@ -642,8 +668,8 @@ packages: serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map-loader@4.0.2: @@ -701,32 +727,44 @@ packages: uglify-js: optional: true - terser@5.29.2: - resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} + terser@5.36.0: + resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==} engines: {node: '>=10'} hasBin: true - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + thingies@1.21.0: + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 - tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + tree-dump@1.0.2: + resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} engines: {node: '>=18.0.0'} hasBin: true - typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} unionfs@4.5.4: resolution: {integrity: sha512-qI3RvJwwdFcWUdZz1dWgAyLSfGlY2fS2pstvwkZBUTnkxjcnIvzriBLtqJTKz9FtArAvJeiVCqHlxhOw8Syfyw==} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -738,16 +776,16 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true - watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + watchpack@2.4.2: + resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} engines: {node: '>=10.13.0'} webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - webpack@5.91.0: - resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + webpack@5.96.1: + resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -779,91 +817,94 @@ packages: snapshots: - '@esbuild/aix-ppc64@0.19.12': + '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/android-arm64@0.19.12': + '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm@0.19.12': + '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-x64@0.19.12': + '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.19.12': + '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-x64@0.19.12': + '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.19.12': + '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.19.12': + '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/linux-arm64@0.19.12': + '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm@0.19.12': + '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-ia32@0.19.12': + '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-loong64@0.19.12': + '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-mips64el@0.19.12': + '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-ppc64@0.19.12': + '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.19.12': + '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-s390x@0.19.12': + '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-x64@0.19.12': + '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.19.12': + '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.19.12': + '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/sunos-x64@0.19.12': + '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/win32-arm64@0.19.12': + '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/win32-ia32@0.19.12': + '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-x64@0.19.12': + '@esbuild/win32-ia32@0.23.1': optional: true - '@grpc/grpc-js@1.7.3': + '@esbuild/win32-x64@0.23.1': + optional: true + + '@grpc/grpc-js@1.12.2': dependencies: - '@grpc/proto-loader': 0.7.10 - '@types/node': 20.11.30 + '@grpc/proto-loader': 0.7.13 + '@js-sdsl/ordered-map': 4.4.2 - '@grpc/proto-loader@0.7.10': + '@grpc/proto-loader@0.7.13': dependencies: lodash.camelcase: 4.3.0 long: 5.2.3 - protobufjs: 7.2.6 + protobufjs: 7.4.0 yargs: 17.7.2 '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -875,12 +916,30 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@js-sdsl/ordered-map@4.4.2': {} + + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.1.0(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 '@protobufjs/aspromise@1.1.2': {} @@ -905,139 +964,140 @@ snapshots: '@protobufjs/utf8@1.1.0': {} - '@swc/core-darwin-arm64@1.4.8': + '@swc/core-darwin-arm64@1.8.0': optional: true - '@swc/core-darwin-x64@1.4.8': + '@swc/core-darwin-x64@1.8.0': optional: true - '@swc/core-linux-arm-gnueabihf@1.4.8': + '@swc/core-linux-arm-gnueabihf@1.8.0': optional: true - '@swc/core-linux-arm64-gnu@1.4.8': + '@swc/core-linux-arm64-gnu@1.8.0': optional: true - '@swc/core-linux-arm64-musl@1.4.8': + '@swc/core-linux-arm64-musl@1.8.0': optional: true - '@swc/core-linux-x64-gnu@1.4.8': + '@swc/core-linux-x64-gnu@1.8.0': optional: true - '@swc/core-linux-x64-musl@1.4.8': + '@swc/core-linux-x64-musl@1.8.0': optional: true - '@swc/core-win32-arm64-msvc@1.4.8': + '@swc/core-win32-arm64-msvc@1.8.0': optional: true - '@swc/core-win32-ia32-msvc@1.4.8': + '@swc/core-win32-ia32-msvc@1.8.0': optional: true - '@swc/core-win32-x64-msvc@1.4.8': + '@swc/core-win32-x64-msvc@1.8.0': optional: true - '@swc/core@1.4.8': + '@swc/core@1.8.0': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.6 + '@swc/types': 0.1.14 optionalDependencies: - '@swc/core-darwin-arm64': 1.4.8 - '@swc/core-darwin-x64': 1.4.8 - '@swc/core-linux-arm-gnueabihf': 1.4.8 - '@swc/core-linux-arm64-gnu': 1.4.8 - '@swc/core-linux-arm64-musl': 1.4.8 - '@swc/core-linux-x64-gnu': 1.4.8 - '@swc/core-linux-x64-musl': 1.4.8 - '@swc/core-win32-arm64-msvc': 1.4.8 - '@swc/core-win32-ia32-msvc': 1.4.8 - '@swc/core-win32-x64-msvc': 1.4.8 + '@swc/core-darwin-arm64': 1.8.0 + '@swc/core-darwin-x64': 1.8.0 + '@swc/core-linux-arm-gnueabihf': 1.8.0 + '@swc/core-linux-arm64-gnu': 1.8.0 + '@swc/core-linux-arm64-musl': 1.8.0 + '@swc/core-linux-x64-gnu': 1.8.0 + '@swc/core-linux-x64-musl': 1.8.0 + '@swc/core-win32-arm64-msvc': 1.8.0 + '@swc/core-win32-ia32-msvc': 1.8.0 + '@swc/core-win32-x64-msvc': 1.8.0 '@swc/counter@0.1.3': {} - '@swc/types@0.1.6': + '@swc/types@0.1.14': dependencies: '@swc/counter': 0.1.3 - '@temporalio/activity@1.9.3': + '@temporalio/activity@1.11.3': dependencies: - '@temporalio/common': 1.9.3 + '@temporalio/common': 1.11.3 abort-controller: 3.0.0 - '@temporalio/client@1.9.3': + '@temporalio/client@1.11.3': dependencies: - '@grpc/grpc-js': 1.7.3 - '@temporalio/common': 1.9.3 - '@temporalio/proto': 1.9.3 + '@grpc/grpc-js': 1.12.2 + '@temporalio/common': 1.11.3 + '@temporalio/proto': 1.11.3 abort-controller: 3.0.0 long: 5.2.3 uuid: 9.0.1 - '@temporalio/common@1.9.3': + '@temporalio/common@1.11.3': dependencies: - '@temporalio/proto': 1.9.3 + '@temporalio/proto': 1.11.3 long: 5.2.3 ms: 3.0.0-canary.1 - proto3-json-serializer: 2.0.1 + proto3-json-serializer: 2.0.2 - '@temporalio/core-bridge@1.9.3': + '@temporalio/core-bridge@1.11.3': dependencies: - '@temporalio/common': 1.9.3 + '@temporalio/common': 1.11.3 arg: 5.0.2 - cargo-cp-artifact: 0.1.8 + cargo-cp-artifact: 0.1.9 which: 4.0.0 - '@temporalio/proto@1.9.3': + '@temporalio/proto@1.11.3': dependencies: long: 5.2.3 - protobufjs: 7.2.6 + protobufjs: 7.4.0 - '@temporalio/worker@1.9.3': + '@temporalio/worker@1.11.3': dependencies: - '@swc/core': 1.4.8 - '@temporalio/activity': 1.9.3 - '@temporalio/client': 1.9.3 - '@temporalio/common': 1.9.3 - '@temporalio/core-bridge': 1.9.3 - '@temporalio/proto': 1.9.3 - '@temporalio/workflow': 1.9.3 + '@swc/core': 1.8.0 + '@temporalio/activity': 1.11.3 + '@temporalio/client': 1.11.3 + '@temporalio/common': 1.11.3 + '@temporalio/core-bridge': 1.11.3 + '@temporalio/proto': 1.11.3 + '@temporalio/workflow': 1.11.3 abort-controller: 3.0.0 heap-js: 2.5.0 - memfs: 4.8.0 + memfs: 4.14.0 rxjs: 7.8.1 source-map: 0.7.4 - source-map-loader: 4.0.2(webpack@5.91.0) - swc-loader: 0.2.6(@swc/core@1.4.8)(webpack@5.91.0) + source-map-loader: 4.0.2(webpack@5.96.1(@swc/core@1.8.0)) + supports-color: 8.1.1 + swc-loader: 0.2.6(@swc/core@1.8.0)(webpack@5.96.1(@swc/core@1.8.0)) unionfs: 4.5.4 - webpack: 5.91.0(@swc/core@1.4.8) + webpack: 5.96.1(@swc/core@1.8.0) transitivePeerDependencies: - '@swc/helpers' - esbuild - uglify-js - webpack-cli - '@temporalio/workflow@1.9.3': + '@temporalio/workflow@1.11.3': dependencies: - '@temporalio/common': 1.9.3 - '@temporalio/proto': 1.9.3 + '@temporalio/common': 1.11.3 + '@temporalio/proto': 1.11.3 - '@tsconfig/node16@16.1.2': {} + '@tsconfig/node16@16.1.3': {} '@types/eslint-scope@3.7.7': dependencies: - '@types/eslint': 8.56.6 - '@types/estree': 1.0.5 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 - '@types/eslint@8.56.6': + '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 - '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} '@types/json-schema@7.0.15': {} - '@types/node@20.11.30': + '@types/node@20.17.6': dependencies: - undici-types: 5.26.5 + undici-types: 6.19.8 '@webassemblyjs/ast@1.12.1': dependencies: @@ -1123,11 +1183,7 @@ snapshots: dependencies: event-target-shim: 5.0.1 - acorn-import-assertions@1.9.0(acorn@8.11.3): - dependencies: - acorn: 8.11.3 - - acorn@8.11.3: {} + acorn@8.14.0: {} ajv-keywords@3.5.2(ajv@6.12.6): dependencies: @@ -1148,20 +1204,20 @@ snapshots: arg@5.0.2: {} - browserslist@4.23.0: + browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.715 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + caniuse-lite: 1.0.30001677 + electron-to-chromium: 1.5.51 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) buffer-from@1.1.2: {} - caniuse-lite@1.0.30001600: {} + caniuse-lite@1.0.30001677: {} - cargo-cp-artifact@0.1.8: {} + cargo-cp-artifact@0.1.9: {} - chrome-trace-event@1.0.3: {} + chrome-trace-event@1.0.4: {} cliui@8.0.1: dependencies: @@ -1177,44 +1233,45 @@ snapshots: commander@2.20.3: {} - electron-to-chromium@1.4.715: {} + electron-to-chromium@1.5.51: {} emoji-regex@8.0.0: {} - enhanced-resolve@5.16.0: + enhanced-resolve@5.17.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - es-module-lexer@1.4.2: {} + es-module-lexer@1.5.4: {} - esbuild@0.19.12: + esbuild@0.23.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - escalade@3.1.2: {} + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + escalade@3.2.0: {} eslint-scope@5.1.1: dependencies: @@ -1237,14 +1294,14 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fs-monkey@1.0.5: {} + fs-monkey@1.0.6: {} fsevents@2.3.3: optional: true get-caller-file@2.0.5: {} - get-tsconfig@4.7.3: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -1256,6 +1313,8 @@ snapshots: heap-js@2.5.0: {} + hyperdyperid@1.2.0: {} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -1266,7 +1325,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.11.30 + '@types/node': 20.17.6 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -1280,9 +1339,12 @@ snapshots: long@5.2.3: {} - memfs@4.8.0: + memfs@4.14.0: dependencies: - tslib: 2.6.2 + '@jsonjoy.com/json-pack': 1.1.0(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + tree-dump: 1.0.2(tslib@2.8.1) + tslib: 2.8.1 merge-stream@2.0.0: {} @@ -1296,15 +1358,15 @@ snapshots: neo-async@2.6.2: {} - node-releases@2.0.14: {} + node-releases@2.0.18: {} - picocolors@1.0.0: {} + picocolors@1.1.1: {} - proto3-json-serializer@2.0.1: + proto3-json-serializer@2.0.2: dependencies: - protobufjs: 7.2.6 + protobufjs: 7.4.0 - protobufjs@7.2.6: + protobufjs@7.4.0: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 @@ -1316,7 +1378,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.11.30 + '@types/node': 20.17.6 long: 5.2.3 punycode@2.3.1: {} @@ -1331,7 +1393,7 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 safe-buffer@5.2.1: {} @@ -1347,13 +1409,13 @@ snapshots: dependencies: randombytes: 2.1.0 - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} - source-map-loader@4.0.2(webpack@5.91.0): + source-map-loader@4.0.2(webpack@5.96.1(@swc/core@1.8.0)): dependencies: iconv-lite: 0.6.3 - source-map-js: 1.2.0 - webpack: 5.91.0(@swc/core@1.4.8) + source-map-js: 1.2.1 + webpack: 5.96.1(@swc/core@1.8.0) source-map-support@0.5.21: dependencies: @@ -1378,53 +1440,62 @@ snapshots: dependencies: has-flag: 4.0.0 - swc-loader@0.2.6(@swc/core@1.4.8)(webpack@5.91.0): + swc-loader@0.2.6(@swc/core@1.8.0)(webpack@5.96.1(@swc/core@1.8.0)): dependencies: - '@swc/core': 1.4.8 + '@swc/core': 1.8.0 '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.4.8) + webpack: 5.96.1(@swc/core@1.8.0) tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(@swc/core@1.4.8)(webpack@5.91.0): + terser-webpack-plugin@5.3.10(@swc/core@1.8.0)(webpack@5.96.1(@swc/core@1.8.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 - '@swc/core': 1.4.8 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.29.2 - webpack: 5.91.0(@swc/core@1.4.8) + terser: 5.36.0 + webpack: 5.96.1(@swc/core@1.8.0) + optionalDependencies: + '@swc/core': 1.8.0 - terser@5.29.2: + terser@5.36.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.11.3 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 - tslib@2.6.2: {} + thingies@1.21.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + tree-dump@1.0.2(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + + tslib@2.8.1: {} - tsx@4.7.1: + tsx@4.19.2: dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.3 + esbuild: 0.23.1 + get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 - typescript@5.4.3: {} + typescript@5.6.3: {} - undici-types@5.26.5: {} + undici-types@6.19.8: {} unionfs@4.5.4: dependencies: - fs-monkey: 1.0.5 + fs-monkey: 1.0.6 - update-browserslist-db@1.0.13(browserslist@4.23.0): + update-browserslist-db@1.1.1(browserslist@4.24.2): dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 uri-js@4.4.1: dependencies: @@ -1432,26 +1503,25 @@ snapshots: uuid@9.0.1: {} - watchpack@2.4.1: + watchpack@2.4.2: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 webpack-sources@3.2.3: {} - webpack@5.91.0(@swc/core@1.4.8): + webpack@5.96.1(@swc/core@1.8.0): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.11.3 - acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.23.0 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 - es-module-lexer: 1.4.2 + acorn: 8.14.0 + browserslist: 4.24.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.17.1 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -1462,8 +1532,8 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.8)(webpack@5.91.0) - watchpack: 2.4.1 + terser-webpack-plugin: 5.3.10(@swc/core@1.8.0)(webpack@5.96.1(@swc/core@1.8.0)) + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -1487,7 +1557,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 diff --git a/tools/compose/compose.grpc.yml b/tools/compose/compose.grpc.yml index 34907d806a..fc5d1ea4c3 100644 --- a/tools/compose/compose.grpc.yml +++ b/tools/compose/compose.grpc.yml @@ -6,8 +6,8 @@ services: - "4770:4770" - "4771:4771" volumes: - - ./proto:/proto - - ./stub:/stub + - ./proto:/proto:Z + - ./stub:/stub:Z command: - --stub=/stub - /proto/helloworld.proto diff --git a/tools/deps.ts b/tools/deps.ts index 8e7069d80b..172f83626a 100644 --- a/tools/deps.ts +++ b/tools/deps.ts @@ -38,7 +38,7 @@ export { expandGlob, expandGlobSync, } from "jsr:@std/fs@^1.0.1"; -export { cyan, gray, green, red, yellow } from "jsr:@std/fmt@^1.0.0/colors"; +export { cyan, gray, green, red, yellow, dim } from "jsr:@std/fmt@^1.0.0/colors"; export { format as formatDuration } from "jsr:@std/fmt@^1.0.0/duration"; export { mergeReadableStreams, TextLineStream } from "jsr:@std/streams@1"; export type {} from "jsr:@std/path@^1.0.2"; From 2225a4e942408643d0fef0370f7cae866a60fc83 Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:12:27 +0300 Subject: [PATCH 06/10] fix: hack around op leaks --- tests/e2e/nextjs/apollo_test.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/e2e/nextjs/apollo_test.ts b/tests/e2e/nextjs/apollo_test.ts index fd7437109f..a99a013d48 100644 --- a/tests/e2e/nextjs/apollo_test.ts +++ b/tests/e2e/nextjs/apollo_test.ts @@ -186,12 +186,15 @@ class NextJsServer { async status() { // return this.process.status; - const [_, __, s] = await Promise.all([ + const [_, __, s] = await Promise.allSettled([ this.stdout.cancellableReader.cancel(), this.stderr.cancellableReader.cancel(), this.process.status, ]); - return s; + if (s.status == "rejected") { + throw s.reason; + } + return s.value; } ready(): Promise<{ port: number }> { @@ -278,6 +281,9 @@ async function undeployTypegraph(port: number) { Meta.test({ name: "apollo client", introspection: true, + // FIXME: this has started leaking stdout from the CancellableReader + sanitizeOps: false, + sanitizeResources: false, }, async (t) => { await initBucket(); await deployTypegraph(t.port!); From b35d133ee5c6a8f1708b1cfc269320ce0e4ee57a Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:57:21 +0300 Subject: [PATCH 07/10] chore: deno fmt --- .pre-commit-config.yaml | 5 +- .vscode/extensions.json | 34 +++---- .vscode/launch.json | 64 ++++++------- .vscode/tasks.json | 90 +++++++++---------- deno.jsonc | 14 ++- .../typegate/authentication/oauth2.tsx | 12 +-- .../src/components/Features/index.tsx | 6 +- .../src/components/Newsletter/index.tsx | 3 +- .../src/components/animations/animated.tsx | 2 +- .../src/components/animations/hooks.tsx | 2 +- .../src/components/animations/textarrow.tsx | 16 ++-- examples/deploy/deploy.ts | 10 +-- examples/templates/node/api/example.ts | 2 +- examples/templates/node/tsconfig.json | 12 +-- examples/typegraphs/authentication.ts | 4 +- examples/typegraphs/basic.ts | 2 +- examples/typegraphs/cors.ts | 4 +- examples/typegraphs/database.ts | 6 +- examples/typegraphs/deno.ts | 6 +- examples/typegraphs/example_rest.ts | 6 +- examples/typegraphs/faas-runner.ts | 7 +- examples/typegraphs/files-upload.ts | 6 +- examples/typegraphs/first-typegraph.ts | 4 +- examples/typegraphs/func-ctx.ts | 6 +- examples/typegraphs/func.ts | 16 ++-- examples/typegraphs/http-runtime.ts | 8 +- examples/typegraphs/iam-provider.ts | 17 ++-- examples/typegraphs/jwt.ts | 4 +- examples/typegraphs/math.ts | 10 +-- examples/typegraphs/metagen-py.ts | 4 +- examples/typegraphs/metagen-rs.ts | 6 +- examples/typegraphs/metagen/ts/fdk.ts | 1 - examples/typegraphs/metagen/ts/remix.ts | 2 +- examples/typegraphs/oauth2.ts | 4 +- examples/typegraphs/policies.ts | 8 +- examples/typegraphs/prisma-runtime.ts | 8 +- .../typegraphs/programmable-api-gateway.ts | 6 +- examples/typegraphs/quick-start-project.ts | 10 +-- examples/typegraphs/random-field.ts | 4 +- examples/typegraphs/rate.ts | 4 +- examples/typegraphs/reduce.ts | 12 +-- examples/typegraphs/rest.ts | 16 ++-- examples/typegraphs/roadmap-policies.ts | 12 +-- examples/typegraphs/roadmap-random.ts | 2 +- examples/typegraphs/temporal.ts | 6 +- .../src/analysis/runtimes/mod.ts | 2 +- .../typescript-semantic/semantic-node.ts | 9 +- .../analysis/typescript-semantic/symbols.ts | 2 +- .../src/typegraphs/introspection.json | 2 +- .../src/typegraphs/prisma_migration.json | 2 +- src/typegate/src/typegraphs/typegate.json | 2 +- tests/crypto/crypto_test.ts | 5 +- tests/metagen/typegraphs/identities/ts/fdk.ts | 56 +++++++++--- tests/metagen/typegraphs/sample/ts/client.ts | 24 +++-- tests/runtimes/substantial/child_workflow.ts | 2 +- tests/runtimes/substantial/common.ts | 60 ++++++------- .../substantial/imports/common_types.ts | 8 +- tests/utils/process.ts | 9 +- tools/deps.ts | 9 +- 59 files changed, 372 insertions(+), 303 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b3b0e85b3f..360ece29ba 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -28,11 +28,12 @@ repos: - id: deno-fmt name: Deno format language: system - entry: bash -c 'cd src/typegate && deno fmt --ignore=native,src/typegraphs,tmp,tests/e2e/nextjs,tests/metagen/typegraphs/sample/ts/client.ts && cd ../../tools && deno fmt && cd ../src/typegraph/deno && deno fmt --ignore=node_modules,dist && cd ../../../src/metagen/src && deno fmt' + entry: bash -c 'deno fmt' pass_filenames: false types: - ts - files: ^(src/typegate|tools|src/typegraph/deno)/ + - tsx + - json - id: deno-lint name: Deno lint language: system diff --git a/.vscode/extensions.json b/.vscode/extensions.json index e93f836096..fcada10e0c 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,19 +1,19 @@ { - "recommendations": [ - "charliermarsh.ruff", - "rust-lang.rust-analyzer", - "ms-python.black-formatter", - "denoland.vscode-deno", - "ms-vscode-remote.remote-containers", - "dbaeumer.vscode-eslint", - "graphql.vscode-graphql-syntax", - "unifiedjs.vscode-mdx", - "ms-python.vscode-pylance", - "ms-python.python", - "chrischinchilla.vale-vscode", - "hediet.vscode-drawio", - "davidlday.languagetool-linter", - "dtsvet.vscode-wasm", - "bierner.comment-tagged-templates" - ] + "recommendations": [ + "charliermarsh.ruff", + "rust-lang.rust-analyzer", + "ms-python.black-formatter", + "denoland.vscode-deno", + "ms-vscode-remote.remote-containers", + "dbaeumer.vscode-eslint", + "graphql.vscode-graphql-syntax", + "unifiedjs.vscode-mdx", + "ms-python.vscode-pylance", + "ms-python.python", + "chrischinchilla.vale-vscode", + "hediet.vscode-drawio", + "davidlday.languagetool-linter", + "dtsvet.vscode-wasm", + "bierner.comment-tagged-templates" + ] } diff --git a/.vscode/launch.json b/.vscode/launch.json index 147a4fe4df..65afc1ad85 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,33 +1,33 @@ -// A launch configuration that compiles the extension and then opens it inside a new window -{ - "version": "0.2.0", - "configurations": [ - { - "type": "extensionHost", - "request": "launch", - "name": "Launch Client", - "runtimeExecutable": "${execPath}", - "args": [ - "--extensionDevelopmentPath=${workspaceRoot}/meta-lsp" - ], - "outFiles": [ - "${workspaceRoot}/meta-lsp/vscode-metatype-support/out/**/*.js" - ], - "preLaunchTask": "vscode-ext:build" - }, - { - "name": "Language Server E2E Test", - "type": "extensionHost", - "request": "launch", - "runtimeExecutable": "${execPath}", - "args": [ - "--extensionDevelopmentPath=${workspaceRoot}", - "--extensionTestsPath=${workspaceRoot}/client/out/test/index", - "${workspaceRoot}/client/testFixture" - ], - "outFiles": [ - "${workspaceRoot}/client/out/test/**/*.js" - ] - } - ] +// A launch configuration that compiles the extension and then opens it inside a new window +{ + "version": "0.2.0", + "configurations": [ + { + "type": "extensionHost", + "request": "launch", + "name": "Launch Client", + "runtimeExecutable": "${execPath}", + "args": [ + "--extensionDevelopmentPath=${workspaceRoot}/meta-lsp" + ], + "outFiles": [ + "${workspaceRoot}/meta-lsp/vscode-metatype-support/out/**/*.js" + ], + "preLaunchTask": "vscode-ext:build" + }, + { + "name": "Language Server E2E Test", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": [ + "--extensionDevelopmentPath=${workspaceRoot}", + "--extensionTestsPath=${workspaceRoot}/client/out/test/index", + "${workspaceRoot}/client/testFixture" + ], + "outFiles": [ + "${workspaceRoot}/client/out/test/**/*.js" + ] + } + ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 007fee01bc..554966b00d 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,46 +1,46 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "vscode-ext:build", - "type": "shell", - "command": "pnpm", - "args": [ - "compile:vscode" - ], - "group": "build", - "presentation": { - "panel": "dedicated", - "reveal": "never" - }, - "problemMatcher": [ - "$tsc" - ], - "options": { - "cwd": "${workspaceFolder}/meta-lsp" - } - }, - { - "label": "vscode-ext:build:watch", - "type": "shell", - "command": "pnpm", - "args": [ - "watch" - ], - "isBackground": true, - "group": { - "kind": "build" - }, - "presentation": { - "panel": "dedicated", - "reveal": "never" - }, - "problemMatcher": [ - "$tsc-watch" - ], - "options": { - "cwd": "${workspaceFolder}/meta-lsp/vscode-metatype-support" - } - } - ] +{ + "version": "2.0.0", + "tasks": [ + { + "label": "vscode-ext:build", + "type": "shell", + "command": "pnpm", + "args": [ + "compile:vscode" + ], + "group": "build", + "presentation": { + "panel": "dedicated", + "reveal": "never" + }, + "problemMatcher": [ + "$tsc" + ], + "options": { + "cwd": "${workspaceFolder}/meta-lsp" + } + }, + { + "label": "vscode-ext:build:watch", + "type": "shell", + "command": "pnpm", + "args": [ + "watch" + ], + "isBackground": true, + "group": { + "kind": "build" + }, + "presentation": { + "panel": "dedicated", + "reveal": "never" + }, + "problemMatcher": [ + "$tsc-watch" + ], + "options": { + "cwd": "${workspaceFolder}/meta-lsp/vscode-metatype-support" + } + } + ] } diff --git a/deno.jsonc b/deno.jsonc index 582d271d36..5e86d6024c 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -10,10 +10,22 @@ "./examples/" // needed for published_test ] }, + "fmt": { + "exclude": [ + "target", + "src/typegraph/node", + "*.md", + "**/*.md", + ".ghjk/**", + ".git", + "vendor/**", + "node_modules", + "docs/metatype.dev/docusaurus.config.js" + ] + }, "compilerOptions": { "allowJs": false, "strict": true, - "experimentalDecorators": true, "types": [ "./src/typegate/engine/runtime.d.ts" ], diff --git a/docs/metatype.dev/docs/reference/typegate/authentication/oauth2.tsx b/docs/metatype.dev/docs/reference/typegate/authentication/oauth2.tsx index a555e6a6b2..a358ca2e54 100644 --- a/docs/metatype.dev/docs/reference/typegate/authentication/oauth2.tsx +++ b/docs/metatype.dev/docs/reference/typegate/authentication/oauth2.tsx @@ -26,13 +26,15 @@ function OAuth2({ name, typegraph }) { } }, [setToken, tgUrl]); - const url = `${tgUrl}/${typegraph}/auth/${name}?redirect_uri=${encodeURIComponent( - window.location.href, - )}`; + const url = `${tgUrl}/${typegraph}/auth/${name}?redirect_uri=${ + encodeURIComponent( + window.location.href, + ) + }`; return (

- Start the flow via {url} and take token by - clicking{" "} + Start the flow via {url}{" "} + and take token by clicking{" "} here diff --git a/docs/metatype.dev/src/components/Features/index.tsx b/docs/metatype.dev/src/components/Features/index.tsx index be240d5c25..e1a76fd86c 100644 --- a/docs/metatype.dev/src/components/Features/index.tsx +++ b/docs/metatype.dev/src/components/Features/index.tsx @@ -14,9 +14,9 @@ export default function Features(props: { | React.JSX.Element | FeatureDeets | { - content: string; - path: string; - } + content: string; + path: string; + } )[][]; }): JSX.Element { return ( diff --git a/docs/metatype.dev/src/components/Newsletter/index.tsx b/docs/metatype.dev/src/components/Newsletter/index.tsx index 5c3f8b5720..b86440df47 100644 --- a/docs/metatype.dev/src/components/Newsletter/index.tsx +++ b/docs/metatype.dev/src/components/Newsletter/index.tsx @@ -60,7 +60,8 @@ export default function Newsletter() { type="email" className="px-2 py-2 font-sans bg-slate-100 border-none text-base" value={email} - onChange={(event) => setEmail(event.target.value)} + onChange={(event) => + setEmail(event.target.value)} /> { const vertical = px - x < py - my; - const sx = - px < x - ? x - (vertical ? 0 : width / 2 + 10) - : x + (vertical ? 0 : width / 2 + 10); - const sy = - py < y - ? y - (!vertical ? 0 : height / 2 + 10) - : y + (!vertical ? 0 : height / 2 + 10); + const sx = px < x + ? x - (vertical ? 0 : width / 2 + 10) + : x + (vertical ? 0 : width / 2 + 10); + const sy = py < y + ? y - (!vertical ? 0 : height / 2 + 10) + : y + (!vertical ? 0 : height / 2 + 10); return ( { .fromLambda( t.struct({ first: t.float(), second: t.float() }), t.float(), - { code: "lambda x: x['first'] + x['second']" } + { code: "lambda x: x['first'] + x['second']" }, ) .withPolicy(pub), multiply: deno diff --git a/examples/templates/node/tsconfig.json b/examples/templates/node/tsconfig.json index 999217dd3c..8654230394 100644 --- a/examples/templates/node/tsconfig.json +++ b/examples/templates/node/tsconfig.json @@ -1,8 +1,8 @@ { - "compilerOptions": { - "strict": true, - "moduleResolution": "node16", - "module": "Node16", - "esModuleInterop": true - } + "compilerOptions": { + "strict": true, + "moduleResolution": "node16", + "module": "Node16", + "esModuleInterop": true + } } diff --git a/examples/typegraphs/authentication.ts b/examples/typegraphs/authentication.ts index d32b3b990c..740e5c51e9 100644 --- a/examples/typegraphs/authentication.ts +++ b/examples/typegraphs/authentication.ts @@ -32,9 +32,9 @@ await typegraph( code: "(_: any, ctx: any) => Deno.inspect(ctx.context)", }), }, - Policy.public() + Policy.public(), ); // skip:start - } + }, ); // skip:end diff --git a/examples/typegraphs/basic.ts b/examples/typegraphs/basic.ts index 529e49c669..86edbe9f34 100644 --- a/examples/typegraphs/basic.ts +++ b/examples/typegraphs/basic.ts @@ -30,5 +30,5 @@ await typegraph( }) .withPolicy(pub), }); - } + }, ); diff --git a/examples/typegraphs/cors.ts b/examples/typegraphs/cors.ts index dedb2c5bdf..296ba3cc77 100644 --- a/examples/typegraphs/cors.ts +++ b/examples/typegraphs/cors.ts @@ -24,7 +24,7 @@ await typegraph( { catch_me_if_you_can: random.gen(t.string()), }, - Policy.public() + Policy.public(), ); - } + }, ); diff --git a/examples/typegraphs/database.ts b/examples/typegraphs/database.ts index 1e08a76bcb..364a34a220 100644 --- a/examples/typegraphs/database.ts +++ b/examples/typegraphs/database.ts @@ -24,7 +24,7 @@ await typegraph( body: t.string(), }, // highlight-next-line - { name: "message" } + { name: "message" }, ); g.expose( @@ -33,7 +33,7 @@ await typegraph( create_message: db.create(message), list_messages: db.findMany(message), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/deno.ts b/examples/typegraphs/deno.ts index be47cd8f14..c69762936e 100644 --- a/examples/typegraphs/deno.ts +++ b/examples/typegraphs/deno.ts @@ -33,14 +33,14 @@ await typegraph( }; } `, - } + }, ); g.expose( { compute_fib: fib, }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/example_rest.ts b/examples/typegraphs/example_rest.ts index a9280af9be..b0a5c3c81a 100644 --- a/examples/typegraphs/example_rest.ts +++ b/examples/typegraphs/example_rest.ts @@ -19,7 +19,7 @@ await typegraph( id: t.integer(), author: user, }, - { name: "Post" } + { name: "Post" }, ); // skip:end @@ -41,9 +41,9 @@ await typegraph( } } } - ` + `, ); // highlight-end // skip:start - } + }, ); diff --git a/examples/typegraphs/faas-runner.ts b/examples/typegraphs/faas-runner.ts index 933a0e500a..5d840c82b7 100644 --- a/examples/typegraphs/faas-runner.ts +++ b/examples/typegraphs/faas-runner.ts @@ -26,10 +26,11 @@ typegraph( code: `lambda inp: sum(range(inp['n']))`, }), tscumsum: deno.func(inp, out, { - code: "({n}) => Array.from(Array(5).keys()).reduce((sum, e) => sum + e, 0)", + code: + "({n}) => Array.from(Array(5).keys()).reduce((sum, e) => sum + e, 0)", }), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/files-upload.ts b/examples/typegraphs/files-upload.ts index 047bc52b39..aea8bc1edf 100644 --- a/examples/typegraphs/files-upload.ts +++ b/examples/typegraphs/files-upload.ts @@ -23,11 +23,11 @@ await typegraph( signUploadUrl: s3.presignPut({ bucket: "examples" }), upload: s3.upload( "examples", - t.file({ allow: ["image/png", "image/jpeg"] }) + t.file({ allow: ["image/png", "image/jpeg"] }), ), uploadMany: s3.uploadAll("examples"), }, - Policy.public() + Policy.public(), ); - } + }, ); diff --git a/examples/typegraphs/first-typegraph.ts b/examples/typegraphs/first-typegraph.ts index b7ad5b7855..3d46e76c5d 100644 --- a/examples/typegraphs/first-typegraph.ts +++ b/examples/typegraphs/first-typegraph.ts @@ -25,7 +25,7 @@ await typegraph( // input → output via runtime function get_message: random.gen(message), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/func-ctx.ts b/examples/typegraphs/func-ctx.ts index 2e7f8c5ff7..1e388fcb59 100644 --- a/examples/typegraphs/func-ctx.ts +++ b/examples/typegraphs/func-ctx.ts @@ -48,11 +48,11 @@ await typegraph( headers: Object.entries(ctx.headers), secrets: Object.entries(ctx.secrets), }), - } + }, ), }, - Policy.public() + Policy.public(), ); // skip:start - } + }, ); diff --git a/examples/typegraphs/func.ts b/examples/typegraphs/func.ts index e010cb8aec..9f44056ff6 100644 --- a/examples/typegraphs/func.ts +++ b/examples/typegraphs/func.ts @@ -27,7 +27,7 @@ await typegraph( name: t.string(), ideas: t.list(g.ref("idea")), }, - { name: "bucket" } + { name: "bucket" }, ); const idea = t.struct( @@ -38,7 +38,7 @@ await typegraph( votes: t.list(g.ref("vote")), bucket: g.ref("bucket"), }, - { name: "idea" } + { name: "idea" }, ); const vote = t.struct( @@ -49,14 +49,14 @@ await typegraph( desc: t.string().optional(), idea: g.ref("idea"), }, - { name: "vote" } + { name: "vote" }, ); g.auth(Auth.basic(["andim"])); const admins = deno.policy( "admins", - "(_args, { context }) => !!context.username" + "(_args, { context }) => !!context.username", ); // skip:end @@ -82,7 +82,7 @@ await typegraph( name: "parse", }), }, - pub + pub, ); // skip:start @@ -99,7 +99,7 @@ await typegraph( } } } - ` + `, ); g.rest( @@ -117,8 +117,8 @@ await typegraph( } } } - ` + `, ); // skip:end - } + }, ); diff --git a/examples/typegraphs/http-runtime.ts b/examples/typegraphs/http-runtime.ts index 2090af3984..9bb2374523 100644 --- a/examples/typegraphs/http-runtime.ts +++ b/examples/typegraphs/http-runtime.ts @@ -33,7 +33,7 @@ await typegraph( }), { path: "/random", - } + }, ), facts_as_text: facts.get( t.struct({ @@ -41,10 +41,10 @@ await typegraph( language: t.enum_(["en", "de"]), }), t.string(), - { path: "/random", headerPrefix: "header_" } + { path: "/random", headerPrefix: "header_" }, ), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/iam-provider.ts b/examples/typegraphs/iam-provider.ts index 86c74f7b2b..6b25e8a26b 100644 --- a/examples/typegraphs/iam-provider.ts +++ b/examples/typegraphs/iam-provider.ts @@ -27,9 +27,11 @@ typegraph( const deno = new DenoRuntime(); const host = getEnvOrDefault("TG_URL", "http://localhost:7890"); - const url = `${host}/iam-provider/auth/github?redirect_uri=${encodeURIComponent( - host - )}`; + const url = `${host}/iam-provider/auth/github?redirect_uri=${ + encodeURIComponent( + host, + ) + }`; g.expose( { @@ -39,11 +41,12 @@ typegraph( t.struct({}), t.struct({ username: t.string() }).optional(), { - code: "(_, { context }) => Object.keys(context).length === 0 ? null : context", - } + code: + "(_, { context }) => Object.keys(context).length === 0 ? null : context", + }, ), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/jwt.ts b/examples/typegraphs/jwt.ts index 82fd389973..cc396ae5ed 100644 --- a/examples/typegraphs/jwt.ts +++ b/examples/typegraphs/jwt.ts @@ -27,7 +27,7 @@ typegraph( your_own_content: g.fromContext("your_own_content"), }), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/math.ts b/examples/typegraphs/math.ts index bdec25bdfe..45db028804 100644 --- a/examples/typegraphs/math.ts +++ b/examples/typegraphs/math.ts @@ -24,7 +24,7 @@ await typegraph( // the policy implementation is based on functions itself const restrict_referer = deno.policy( "restrict_referer_policy", - '(_, context) => context.headers.referer && ["localhost", "metatype.dev"].includes(new URL(context.headers.referer).hostname)' + '(_, context) => context.headers.referer && ["localhost", "metatype.dev"].includes(new URL(context.headers.referer).hostname)', ); // or we can point to a local file that's accessible to the meta-cli @@ -42,15 +42,15 @@ await typegraph( randomItem: deno.func( t.struct({ items: t.list(t.string()) }), t.string(), - { code: random_item_fn } + { code: random_item_fn }, ), random: deno.func( t.struct({}), t.float(), - { code: "() => Math.random()" } // more inline code + { code: "() => Math.random()" }, // more inline code ), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/metagen-py.ts b/examples/typegraphs/metagen-py.ts index 5de27f2490..924932199b 100644 --- a/examples/typegraphs/metagen-py.ts +++ b/examples/typegraphs/metagen-py.ts @@ -32,7 +32,7 @@ await typegraph( }) .rename("remix_track"), // explicit names help }, - Policy.public() + Policy.public(), ); - } + }, ); diff --git a/examples/typegraphs/metagen-rs.ts b/examples/typegraphs/metagen-rs.ts index 3d0142d801..e4e3f74c3e 100644 --- a/examples/typegraphs/metagen-rs.ts +++ b/examples/typegraphs/metagen-rs.ts @@ -32,13 +32,13 @@ await typegraph( idv3, { name: "remix_track", - } + }, // the traits will map to the name of the materializer // and also the the name of the handler mentioned above ) .rename("remix_track"), }, - Policy.public() + Policy.public(), ); - } + }, ); diff --git a/examples/typegraphs/metagen/ts/fdk.ts b/examples/typegraphs/metagen/ts/fdk.ts index b34231aaa1..223bec680a 100644 --- a/examples/typegraphs/metagen/ts/fdk.ts +++ b/examples/typegraphs/metagen/ts/fdk.ts @@ -42,5 +42,4 @@ export type Idv3 = { mp3Url: StringUri; }; - export type RemixTrackHandler = Handler; diff --git a/examples/typegraphs/metagen/ts/remix.ts b/examples/typegraphs/metagen/ts/remix.ts index 0d0ecbac02..b69a0b4a53 100644 --- a/examples/typegraphs/metagen/ts/remix.ts +++ b/examples/typegraphs/metagen/ts/remix.ts @@ -1,4 +1,4 @@ -import type { RemixTrackHandler, Ctx, Idv3 } from "./fdk.ts"; +import type { Ctx, Idv3, RemixTrackHandler } from "./fdk.ts"; // the name of the export must match the one referred int he typegraph export const remix_track: RemixTrackHandler = (inp, cx: Ctx) => { diff --git a/examples/typegraphs/oauth2.ts b/examples/typegraphs/oauth2.ts index 96172d572b..4164497f84 100644 --- a/examples/typegraphs/oauth2.ts +++ b/examples/typegraphs/oauth2.ts @@ -27,7 +27,7 @@ typegraph( exp: g.fromContext("exp"), }), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/policies.ts b/examples/typegraphs/policies.ts index e128ff32df..46651fc6b0 100644 --- a/examples/typegraphs/policies.ts +++ b/examples/typegraphs/policies.ts @@ -19,11 +19,11 @@ typegraph( const admin_only = deno.policy( "admin_only", // note: policies either return true | false | null - "(args, { context }) => context.username ? context.username === 'admin' : null" + "(args, { context }) => context.username ? context.username === 'admin' : null", ); const user_only = deno.policy( "user_only", - "(args, { context }) => context.username ? context.username === 'user' : null" + "(args, { context }) => context.username ? context.username === 'user' : null", ); g.auth(Auth.basic(["admin", "user"])); @@ -37,9 +37,9 @@ typegraph( both: random.gen(t.string()).withPolicy([user_only, admin_only]), // set default policy for the exposed functions }, - pub + pub, ); // skip:start - } + }, ); // skip:end diff --git a/examples/typegraphs/prisma-runtime.ts b/examples/typegraphs/prisma-runtime.ts index c6bb7b2977..e446afc640 100644 --- a/examples/typegraphs/prisma-runtime.ts +++ b/examples/typegraphs/prisma-runtime.ts @@ -29,7 +29,7 @@ typegraph( email: t.email(), firstname: t.string({ min: 2, max: 2000 }, {}), }, - { name: "user" } + { name: "user" }, ); g.expose( @@ -42,10 +42,10 @@ typegraph( id: t.string(), term: t.string(), }), - t.list(user) + t.list(user), ), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/programmable-api-gateway.ts b/examples/typegraphs/programmable-api-gateway.ts index 9180126fd7..7f372f885d 100644 --- a/examples/typegraphs/programmable-api-gateway.ts +++ b/examples/typegraphs/programmable-api-gateway.ts @@ -17,7 +17,7 @@ typegraph( const pub = Policy.public(); const roulette_access = deno.policy( "roulette", - "() => Math.random() < 0.5" + "() => Math.random() < 0.5", ); // skip:next-line @@ -34,8 +34,8 @@ typegraph( foo: static_vals["foo"], }), }, - policy + policy, ); } - } + }, ); diff --git a/examples/typegraphs/quick-start-project.ts b/examples/typegraphs/quick-start-project.ts index 887b68b351..4b968de079 100644 --- a/examples/typegraphs/quick-start-project.ts +++ b/examples/typegraphs/quick-start-project.ts @@ -24,19 +24,19 @@ typegraph( title: t.string(), body: t.string(), }, - { name: "message" } // the name of our type + { name: "message" }, // the name of our type ); // custom functions const add = deno.func( t.struct({ first: t.float(), second: t.float() }), t.float(), - { code: "({first, second}) => first + second" } + { code: "({first, second}) => first + second" }, ); const hello = python.fromLambda( t.struct({ world: t.string() }), t.string(), - { code: `lambda x: f"Hello {x['world']}!"` } + { code: `lambda x: f"Hello {x['world']}!"` }, ); g.expose( @@ -46,7 +46,7 @@ typegraph( create_message: db.create(message), list_messages: db.findMany(message), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/random-field.ts b/examples/typegraphs/random-field.ts index 0b2e4eb9b7..53c4b2f71b 100644 --- a/examples/typegraphs/random-field.ts +++ b/examples/typegraphs/random-field.ts @@ -27,7 +27,7 @@ typegraph( `Daily bonus: ${(performance > 100 ? bonus : ["none"]).join(", ")}`, }), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/rate.ts b/examples/typegraphs/rate.ts index a3115c1d84..608c04c00b 100644 --- a/examples/typegraphs/rate.ts +++ b/examples/typegraphs/rate.ts @@ -39,7 +39,7 @@ typegraph( .gen(t.list(t.string())) .rate({ calls: false, weight: 2 }), // increment by # of results returned }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/reduce.ts b/examples/typegraphs/reduce.ts index def512775c..00cdb815ee 100644 --- a/examples/typegraphs/reduce.ts +++ b/examples/typegraphs/reduce.ts @@ -20,7 +20,7 @@ typegraph( name: t.string(), ideas: t.list(g.ref("idea")), }, - { name: "bucket" } + { name: "bucket" }, ); const idea = t.struct( @@ -31,7 +31,7 @@ typegraph( votes: t.list(g.ref("vote")), bucket: g.ref("bucket"), }, - { name: "idea" } + { name: "idea" }, ); const vote = t.struct( @@ -42,14 +42,14 @@ typegraph( desc: t.string().optional(), idea: g.ref("idea"), }, - { name: "vote" } + { name: "vote" }, ); g.auth(Auth.basic(["andim"])); const admins = deno.policy( "admins", - "(_args, { context }) => !!context.username" + "(_args, { context }) => !!context.username", ); g.expose( @@ -68,7 +68,7 @@ typegraph( }), create_vote: db.create(vote), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/rest.ts b/examples/typegraphs/rest.ts index c99aa80abb..60672ac706 100644 --- a/examples/typegraphs/rest.ts +++ b/examples/typegraphs/rest.ts @@ -20,7 +20,7 @@ typegraph( name: t.string(), ideas: t.list(g.ref("idea")), }, - { name: "bucket" } + { name: "bucket" }, ); const idea = t.struct( @@ -31,7 +31,7 @@ typegraph( votes: t.list(g.ref("vote")), bucket: g.ref("bucket"), }, - { name: "idea" } + { name: "idea" }, ); const vote = t.struct( @@ -42,14 +42,14 @@ typegraph( desc: t.string().optional(), idea: g.ref("idea"), }, - { name: "vote" } + { name: "vote" }, ); g.auth(Auth.basic(["andim"])); const admins = deno.policy( "admins", - "(_args, { context }) => !!context.username" + "(_args, { context }) => !!context.username", ); g.expose( @@ -68,7 +68,7 @@ typegraph( }), create_vote: db.create(vote), }, - pub + pub, ); g.rest( @@ -84,7 +84,7 @@ typegraph( } } } - ` + `, ); g.rest( @@ -102,7 +102,7 @@ typegraph( } } } - ` + `, ); - } + }, ); diff --git a/examples/typegraphs/roadmap-policies.ts b/examples/typegraphs/roadmap-policies.ts index e526e195e3..7902f05033 100644 --- a/examples/typegraphs/roadmap-policies.ts +++ b/examples/typegraphs/roadmap-policies.ts @@ -21,7 +21,7 @@ typegraph( name: t.string(), ideas: t.list(g.ref("idea")), }, - { name: "bucket" } + { name: "bucket" }, ); const idea = t.struct( @@ -32,7 +32,7 @@ typegraph( votes: t.list(g.ref("vote")), bucket: g.ref("bucket"), }, - { name: "idea" } + { name: "idea" }, ); const vote = t.struct( @@ -43,14 +43,14 @@ typegraph( desc: t.string().optional(), idea: g.ref("idea"), }, - { name: "vote" } + { name: "vote" }, ); g.auth(Auth.basic(["andim"])); const admins = deno.policy( "admins", - "(_args, { context }) => !!context.username" + "(_args, { context }) => !!context.username", ); g.expose( @@ -61,7 +61,7 @@ typegraph( create_idea: db.create(idea), create_vote: db.create(vote), }, - pub + pub, ); - } + }, ); diff --git a/examples/typegraphs/roadmap-random.ts b/examples/typegraphs/roadmap-random.ts index 02172f617d..628c666344 100644 --- a/examples/typegraphs/roadmap-random.ts +++ b/examples/typegraphs/roadmap-random.ts @@ -34,5 +34,5 @@ typegraph( const random = new RandomRuntime({ seed: 1 }); const pub = Policy.public(); g.expose({ get_idea: random.gen(idea) }, pub); - } + }, ); diff --git a/examples/typegraphs/temporal.ts b/examples/typegraphs/temporal.ts index b56afac5ea..8cf301a607 100644 --- a/examples/typegraphs/temporal.ts +++ b/examples/typegraphs/temporal.ts @@ -4,7 +4,7 @@ import { TemporalRuntime } from "@typegraph/sdk/providers/temporal.ts"; // skip:start function getEnvVariable( key: string, - defaultValue?: string + defaultValue?: string, ): string | undefined { const glob = globalThis as any; const value = glob?.process @@ -41,7 +41,7 @@ typegraph( ? temporal.describeWorkflow().reduce({ workflow_id }) : temporal.describeWorkflow(), }, - pub + pub, ); - } + }, ); diff --git a/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts b/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts index 29b1f2168b..bbaead4b52 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts @@ -8,7 +8,7 @@ export type InputType = { }; export abstract class Runtime { - protected constructor(public node: Parser.SyntaxNode) { } + protected constructor(public node: Parser.SyntaxNode) {} static analyze( node: Parser.SyntaxNode, diff --git a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts index 864f35a100..7c04a12718 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts @@ -28,7 +28,7 @@ export type TgTypeName = // ]; export abstract class SemanticNode { - protected constructor(public node: Parser.SyntaxNode) { } + protected constructor(public node: Parser.SyntaxNode) {} asType(): TgType | null { if (this instanceof TgType) { @@ -54,9 +54,10 @@ export abstract class TgType extends SemanticNode { } toString(): string { - return `TgType(${this.type}${this.children - .map((c) => `, ${c.key} => ${c.type.toString()}`) - .join("") + return `TgType(${this.type}${ + this.children + .map((c) => `, ${c.key} => ${c.type.toString()}`) + .join("") })`; } diff --git a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts index 02f75a3658..df8685d4a1 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts @@ -9,7 +9,7 @@ export abstract class Symbol { public name: string, public node: Parser.SyntaxNode, private scopeManager: ScopeManager, - ) { } + ) {} } export class ImportSymbol extends Symbol { diff --git a/src/typegate/src/typegraphs/introspection.json b/src/typegate/src/typegraphs/introspection.json index 71997398b4..eeabf338f6 100644 --- a/src/typegate/src/typegraphs/introspection.json +++ b/src/typegate/src/typegraphs/introspection.json @@ -635,4 +635,4 @@ "randomSeed": null, "artifacts": {} } -} \ No newline at end of file +} diff --git a/src/typegate/src/typegraphs/prisma_migration.json b/src/typegate/src/typegraphs/prisma_migration.json index c44d6428ba..6d5d98040d 100644 --- a/src/typegate/src/typegraphs/prisma_migration.json +++ b/src/typegate/src/typegraphs/prisma_migration.json @@ -411,4 +411,4 @@ "randomSeed": null, "artifacts": {} } -} \ No newline at end of file +} diff --git a/src/typegate/src/typegraphs/typegate.json b/src/typegate/src/typegraphs/typegate.json index 8d1e0881a3..391ec404f0 100644 --- a/src/typegate/src/typegraphs/typegate.json +++ b/src/typegate/src/typegraphs/typegate.json @@ -956,4 +956,4 @@ "randomSeed": null, "artifacts": {} } -} \ No newline at end of file +} diff --git a/tests/crypto/crypto_test.ts b/tests/crypto/crypto_test.ts index fe794b1763..a65422fab2 100644 --- a/tests/crypto/crypto_test.ts +++ b/tests/crypto/crypto_test.ts @@ -5,7 +5,10 @@ import { defaultTypegateConfigBase, getTypegateConfig, } from "@metatype/typegate/config.ts"; -import { TypegateCryptoKeys, unsafeExtractJWT } from "@metatype/typegate/crypto.ts"; +import { + TypegateCryptoKeys, + unsafeExtractJWT, +} from "@metatype/typegate/crypto.ts"; import { assertEquals } from "@std/assert"; const gateConfig = getTypegateConfig({ diff --git a/tests/metagen/typegraphs/identities/ts/fdk.ts b/tests/metagen/typegraphs/identities/ts/fdk.ts index 53f94ad7d2..edcee66bf3 100644 --- a/tests/metagen/typegraphs/identities/ts/fdk.ts +++ b/tests/metagen/typegraphs/identities/ts/fdk.ts @@ -62,7 +62,10 @@ export type Primitives = { export type PrimitivesArgs = { data: Primitives; }; -export type CompositesOptPrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type CompositesOptPrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; export type Branch2 = { branch2: PrimitivesStrString; }; @@ -87,14 +90,23 @@ export type Composites = { export type CompositesArgs = { data: Composites; }; -export type Cycles1Phantom1PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; -export type Branch33APhantom3aPrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type Cycles1Phantom1PrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; +export type Branch33APhantom3aPrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; export type Branch33ATo1Cycles1Optional = Cycles1 | null | undefined; export type Branch33A = { phantom3a?: Branch33APhantom3aPrimitivesStrStringOptional; to1?: Branch33ATo1Cycles1Optional; }; -export type Branch33BPhantom3bPrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type Branch33BPhantom3bPrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; export type Branch33BTo2Cycles2Optional = Cycles2 | null | undefined; export type Branch33B = { phantom3b?: Branch33BPhantom3bPrimitivesStrStringOptional; @@ -108,7 +120,10 @@ export type Cycles2 = | (Cycles1); export type Cycles1To2Cycles2Optional = Cycles2 | null | undefined; export type Cycles1List3Cycles3List = Array; -export type Cycles1List3Cycles1List3Cycles3ListOptional = Cycles1List3Cycles3List | null | undefined; +export type Cycles1List3Cycles1List3Cycles3ListOptional = + | Cycles1List3Cycles3List + | null + | undefined; export type Cycles1 = { phantom1?: Cycles1Phantom1PrimitivesStrStringOptional; to2?: Cycles1To2Cycles2Optional; @@ -117,20 +132,38 @@ export type Cycles1 = { export type Cycles1Args = { data: Cycles1; }; -export type SimpleCycles1Phantom1PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; -export type SimpleCycles2Phantom2PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; -export type SimpleCycles3Phantom3PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; -export type SimpleCycles3To1SimpleCycles1Optional = SimpleCycles1 | null | undefined; +export type SimpleCycles1Phantom1PrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; +export type SimpleCycles2Phantom2PrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; +export type SimpleCycles3Phantom3PrimitivesStrStringOptional = + | PrimitivesStrString + | null + | undefined; +export type SimpleCycles3To1SimpleCycles1Optional = + | SimpleCycles1 + | null + | undefined; export type SimpleCycles3 = { phantom3?: SimpleCycles3Phantom3PrimitivesStrStringOptional; to1?: SimpleCycles3To1SimpleCycles1Optional; }; -export type SimpleCycles2To3SimpleCycles3Optional = SimpleCycles3 | null | undefined; +export type SimpleCycles2To3SimpleCycles3Optional = + | SimpleCycles3 + | null + | undefined; export type SimpleCycles2 = { phantom2?: SimpleCycles2Phantom2PrimitivesStrStringOptional; to3?: SimpleCycles2To3SimpleCycles3Optional; }; -export type SimpleCycles1To2SimpleCycles2Optional = SimpleCycles2 | null | undefined; +export type SimpleCycles1To2SimpleCycles2Optional = + | SimpleCycles2 + | null + | undefined; export type SimpleCycles1 = { phantom1?: SimpleCycles1Phantom1PrimitivesStrStringOptional; to2?: SimpleCycles1To2SimpleCycles2Optional; @@ -139,7 +172,6 @@ export type SimpleCycles1Args = { data: SimpleCycles1; }; - export type TsPrimitivesHandler = Handler; export type TsCompositesHandler = Handler; export type TsCyclesHandler = Handler; diff --git a/tests/metagen/typegraphs/sample/ts/client.ts b/tests/metagen/typegraphs/sample/ts/client.ts index 25f0bb1d91..4bbf3fc00f 100644 --- a/tests/metagen/typegraphs/sample/ts/client.ts +++ b/tests/metagen/typegraphs/sample/ts/client.ts @@ -712,12 +712,11 @@ class _QueryGraphBase { // -------------------------------------------------- // - const nodeMetas = { scalar() { return {}; }, - + Post(): NodeMeta { return { subNodes: [ @@ -877,7 +876,7 @@ export class QueryGraph extends _QueryGraphBase { "user": "user!", }); } - + getUser(select: UserSelections) { const inner = _selectionToNodeSet( { "getUser": select }, @@ -918,7 +917,10 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new MutationNode(inner) as MutationNode; } - compositeArgs(args: RootCompositeArgsFnInput | PlaceholderArgs, select: PostSelections) { + compositeArgs( + args: RootCompositeArgsFnInput | PlaceholderArgs, + select: PostSelections, + ) { const inner = _selectionToNodeSet( { "compositeArgs": [args, select] }, [["compositeArgs", nodeMetas.RootCompositeArgsFn]], @@ -926,7 +928,9 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new MutationNode(inner) as MutationNode; } - scalarUnion(args: RootCompositeArgsFnInput | PlaceholderArgs) { + scalarUnion( + args: RootCompositeArgsFnInput | PlaceholderArgs, + ) { const inner = _selectionToNodeSet( { "scalarUnion": args }, [["scalarUnion", nodeMetas.RootScalarUnionFn]], @@ -934,7 +938,10 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new QueryNode(inner) as QueryNode; } - compositeUnion(args: RootCompositeArgsFnInput | PlaceholderArgs, select: RootCompositeUnionFnOutputSelections) { + compositeUnion( + args: RootCompositeArgsFnInput | PlaceholderArgs, + select: RootCompositeUnionFnOutputSelections, + ) { const inner = _selectionToNodeSet( { "compositeUnion": [args, select] }, [["compositeUnion", nodeMetas.RootCompositeUnionFn]], @@ -942,7 +949,10 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new QueryNode(inner) as QueryNode; } - mixedUnion(args: RootCompositeArgsFnInput | PlaceholderArgs, select: RootMixedUnionFnOutputSelections) { + mixedUnion( + args: RootCompositeArgsFnInput | PlaceholderArgs, + select: RootMixedUnionFnOutputSelections, + ) { const inner = _selectionToNodeSet( { "mixedUnion": [args, select] }, [["mixedUnion", nodeMetas.RootMixedUnionFn]], diff --git a/tests/runtimes/substantial/child_workflow.ts b/tests/runtimes/substantial/child_workflow.ts index 904d2b9b90..9e77ccc84e 100644 --- a/tests/runtimes/substantial/child_workflow.ts +++ b/tests/runtimes/substantial/child_workflow.ts @@ -2,7 +2,7 @@ import { Context } from "./imports/common_types.ts"; function apply(pkg: string, oldVersion: string, newVersion: string) { console.info( - `Updating ${pkg} v${oldVersion} => ${pkg} v${newVersion}: applied` + `Updating ${pkg} v${oldVersion} => ${pkg} v${newVersion}: applied`, ); } diff --git a/tests/runtimes/substantial/common.ts b/tests/runtimes/substantial/common.ts index 5aca8d3dda..6c2f833680 100644 --- a/tests/runtimes/substantial/common.ts +++ b/tests/runtimes/substantial/common.ts @@ -1,4 +1,4 @@ -import { assertExists, assertEquals } from "@std/assert"; +import { assertEquals, assertExists } from "@std/assert"; import { connect, parseURL } from "redis"; import { gql, Meta, sleep } from "../../utils/mod.ts"; import { MetaTestCleanupFn } from "test-utils/test.ts"; @@ -33,7 +33,7 @@ export function basicTestTemplate( }; secrets?: Record; }, - cleanup?: MetaTestCleanupFn + cleanup?: MetaTestCleanupFn, ) { Meta.test( { @@ -66,11 +66,11 @@ export function basicTestTemplate( currentRunId = body.data?.start_sleep! as string; assertExists( currentRunId, - "Run id was not returned when workflow was started" + "Run id was not returned when workflow was started", ); }) .on(e); - } + }, ); // Let interrupts to do their jobs for a bit @@ -104,7 +104,7 @@ export function basicTestTemplate( }, }) .on(e); - } + }, ); await sleep(delays.awaitSleepCompleteSec * 1000); @@ -148,9 +148,9 @@ export function basicTestTemplate( }, }) .on(e); - } + }, ); - } + }, ); } @@ -165,7 +165,7 @@ export function concurrentWorkflowTestTemplate( }; secrets?: Record; }, - cleanup?: MetaTestCleanupFn + cleanup?: MetaTestCleanupFn, ) { Meta.test( { @@ -213,7 +213,7 @@ export function concurrentWorkflowTestTemplate( runIds.push(...[one, two, three]); }) .on(e); - } + }, ); // let's wait for a bit to make sure interrupts are doing their jobs @@ -249,7 +249,7 @@ export function concurrentWorkflowTestTemplate( three: [runIds[2]], }) .on(e); - } + }, ); // This is arbitrary, if ops are leaking that means it should be increased @@ -283,20 +283,20 @@ export function concurrentWorkflowTestTemplate( assertEquals( body?.data?.results?.ongoing?.count, 0, - `0 workflow currently running (${backendName})` + `0 workflow currently running (${backendName})`, ); assertEquals( body?.data?.results?.completed?.count, 3, - `3 workflows completed (${backendName})` + `3 workflows completed (${backendName})`, ); const localSorter = (a: any, b: any) => a.run_id.localeCompare(b.run_id); - const received = - body?.data?.results?.completed?.runs ?? ([] as Array); + const received = body?.data?.results?.completed?.runs ?? + ([] as Array); const expected = [ { result: { @@ -324,12 +324,12 @@ export function concurrentWorkflowTestTemplate( assertEquals( received.sort(localSorter), expected.sort(localSorter), - `All three workflows have completed, including the aborted one (${backendName})` + `All three workflows have completed, including the aborted one (${backendName})`, ); }) .on(e); }); - } + }, ); } @@ -344,7 +344,7 @@ export function retrySaveTestTemplate( }; secrets?: Record; }, - cleanup?: MetaTestCleanupFn + cleanup?: MetaTestCleanupFn, ) { Meta.test( { @@ -390,7 +390,7 @@ export function retrySaveTestTemplate( assertExists(retryAbortMeId, "retry_abort_me runId"); }) .on(e); - } + }, ); await sleep(1000); @@ -410,7 +410,7 @@ export function retrySaveTestTemplate( abort_retry: [retryAbortMeId], }) .on(e); - } + }, ); // Waiting for the retry to finish @@ -445,20 +445,20 @@ export function retrySaveTestTemplate( assertEquals( body?.data?.results?.ongoing?.count, 0, - `0 workflow currently running (${backendName})` + `0 workflow currently running (${backendName})`, ); assertEquals( body?.data?.results?.completed?.count, 4, - `4 workflows completed (${backendName})` + `4 workflows completed (${backendName})`, ); const localSorter = (a: any, b: any) => a.run_id.localeCompare(b.run_id); - const received = - body?.data?.results?.completed?.runs ?? ([] as Array); + const received = body?.data?.results?.completed?.runs ?? + ([] as Array); const expected = [ { result: { @@ -493,13 +493,13 @@ export function retrySaveTestTemplate( assertEquals( received.sort(localSorter), expected.sort(localSorter), - `All workflows have completed (${backendName})` + `All workflows have completed (${backendName})`, ); }) .on(e); - } + }, ); - } + }, ); } @@ -514,7 +514,7 @@ export function childWorkflowTestTemplate( }; secrets?: Record; }, - cleanup?: MetaTestCleanupFn + cleanup?: MetaTestCleanupFn, ) { Meta.test( { @@ -531,7 +531,7 @@ export function childWorkflowTestTemplate( "runtimes/substantial/substantial_child_workflow.py", { secrets, - } + }, ); const packages = [ @@ -552,7 +552,7 @@ export function childWorkflowTestTemplate( parentRunId = body.data?.start! as string; assertExists( parentRunId, - "Run id was not returned when workflow was started" + "Run id was not returned when workflow was started", ); }) .on(e); @@ -619,7 +619,7 @@ export function childWorkflowTestTemplate( }) .on(e); }); - } + }, ); } diff --git a/tests/runtimes/substantial/imports/common_types.ts b/tests/runtimes/substantial/imports/common_types.ts index b3c0130651..95cde71752 100644 --- a/tests/runtimes/substantial/imports/common_types.ts +++ b/tests/runtimes/substantial/imports/common_types.ts @@ -24,7 +24,7 @@ export interface Context { ...args: unknown[] ) => { run: ( - variables: Record + variables: Record, ) => Promise>; }; sleep: (ms: number) => void; @@ -32,16 +32,16 @@ export interface Context { receive(eventName: string): O; handle( eventName: string, - fn: (received: I) => O | Promise + fn: (received: I) => O | Promise, ): Promise; ensure(conditionFn: () => boolean | Promise): Promise; startChildWorkflow( workflow: Workflow, - kwargs: unknown + kwargs: unknown, ): Promise; createWorkflowHandle( - handleDef: SerializableWorkflowHandle + handleDef: SerializableWorkflowHandle, ): ChildWorkflowHandle; } diff --git a/tests/utils/process.ts b/tests/utils/process.ts index 7a36add6bf..e3be8183fa 100644 --- a/tests/utils/process.ts +++ b/tests/utils/process.ts @@ -22,12 +22,11 @@ export class Lines { // return true if the stream is exhausted async readWhile( check: Consumer, - timeoutMs: number | null = 30_000 + timeoutMs: number | null = 30_000, ): Promise { - const next = - timeoutMs == null - ? () => this.#reader.read() - : () => deadline(this.#reader.read(), timeoutMs); + const next = timeoutMs == null + ? () => this.#reader.read() + : () => deadline(this.#reader.read(), timeoutMs); let shouldContinue = true; while (shouldContinue) { const { value: line, done } = await next(); diff --git a/tools/deps.ts b/tools/deps.ts index 219ee58302..6a1afe3a2c 100644 --- a/tools/deps.ts +++ b/tools/deps.ts @@ -38,7 +38,14 @@ export { expandGlob, expandGlobSync, } from "jsr:@std/fs@^1.0.1"; -export { cyan, gray, green, red, yellow, dim } from "jsr:@std/fmt@^1.0.0/colors"; +export { + cyan, + dim, + gray, + green, + red, + yellow, +} from "jsr:@std/fmt@^1.0.0/colors"; export { format as formatDuration } from "jsr:@std/fmt@^1.0.0/duration"; export { mergeReadableStreams, TextLineStream } from "jsr:@std/streams@1"; export type {} from "jsr:@std/path@^1.0.2"; From 2d16c0708d3327fb60319bd71e917346daf0a0eb Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Mon, 11 Nov 2024 17:10:29 +0300 Subject: [PATCH 08/10] fix: deno lint issues --- .pre-commit-config.yaml | 60 ++++--------------- deno.jsonc | 12 +++- examples/deno.jsonc | 7 +++ examples/deploy/deploy.ts | 7 ++- examples/typegraphs/metagen-sdk.ts | 4 ++ examples/typegraphs/temporal.ts | 19 ++---- src/typegraph/deno/deno.json | 11 +++- src/typegraph/deno/src/deps/_import.ts | 4 +- src/typegraph/deno/src/deps/mod.ts | 13 ++-- src/typegraph/deno/src/effects.ts | 2 +- src/typegraph/deno/src/envs/cli.ts | 4 +- src/typegraph/deno/src/io.ts | 35 +++++++---- src/typegraph/deno/src/metagen.ts | 6 +- src/typegraph/deno/src/params.ts | 14 +++-- src/typegraph/deno/src/policy.ts | 6 +- src/typegraph/deno/src/providers/aws.ts | 4 +- src/typegraph/deno/src/providers/prisma.ts | 2 +- src/typegraph/deno/src/providers/temporal.ts | 4 +- src/typegraph/deno/src/runtimes/deno.ts | 3 + src/typegraph/deno/src/runtimes/graphql.ts | 4 +- src/typegraph/deno/src/runtimes/grpc.ts | 2 +- src/typegraph/deno/src/runtimes/http.ts | 4 +- src/typegraph/deno/src/runtimes/kv.ts | 18 +++--- src/typegraph/deno/src/runtimes/python.ts | 5 +- src/typegraph/deno/src/runtimes/random.ts | 4 +- src/typegraph/deno/src/runtimes/wasm.ts | 4 +- src/typegraph/deno/src/tg_artifact_upload.ts | 8 +-- src/typegraph/deno/src/tg_deploy.ts | 11 +++- src/typegraph/deno/src/tg_manage.ts | 17 +++--- src/typegraph/deno/src/typegraph.ts | 26 +++++--- src/typegraph/deno/src/types.ts | 53 ++++++++-------- src/typegraph/deno/src/utils/func_utils.ts | 26 ++------ .../deno/src/utils/injection_utils.ts | 20 +++++-- src/typegraph/deno/src/utils/type_utils.ts | 4 +- src/typegraph/deno/src/wit.ts | 8 +-- tests/e2e/cli/watch_test.ts | 4 +- tools/jsr/jsr-gen.ts | 11 +++- 37 files changed, 236 insertions(+), 210 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 360ece29ba..f49beb47ca 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -31,16 +31,22 @@ repos: entry: bash -c 'deno fmt' pass_filenames: false types: + - javascript - ts - tsx - json + - yaml - id: deno-lint name: Deno lint language: system - entry: bash -c 'cd src/typegate && deno lint --rules-exclude=no-explicit-any --ignore=native,tmp,tests/e2e/nextjs && cd ../../tools && deno lint && cd ../src/metagen/src/ && deno lint' + entry: bash -c 'deno lint' pass_filenames: false types: + - javascript - ts + - tsx + - json + - yaml files: ^(src/typegate|tools)/ - id: es-lint name: Eslint website @@ -50,16 +56,7 @@ repos: types_or: - ts - tsx - files: ^website/ - exclude: ^website/typegraphs/ - - id: devtools-lint - name: ESLint meta-lsp - language: system - entry: bash -c 'cd meta-lsp && pnpm lint' - pass_filenames: false - types: - - ts - files: ^meta-lsp/ + files: ^docs/metatype.dev #- id: cargo-udeps # name: Check for unused cargo dependencies # language: system @@ -88,9 +85,9 @@ repos: .*deno.lock| CHANGELOG.md| .*\.snap$| - typegate/src/typegraphs/.*\.json| - website/docs/reference/| - libs/pyrt_wit_wire/pyrt| + src/typegate/src/typegraphs/.*\.json| + docs/metatype.dev/reference/| + src/pyrt_wit_wire/pyrt| migration_lock.toml| tests/metagen/typegraphs/sample/[rs|ts|py]/client\.[rs|ts|py] ) @@ -106,7 +103,6 @@ repos: - "--skip-license-insertion-comment=no-auto-license-header" types_or: - python - files: ^typegraph/ - id: insert-license name: "License MPL-2.0 rust" args: @@ -117,38 +113,6 @@ repos: - "--skip-license-insertion-comment=@generated" types_or: - rust - files: ^(typegate|libs!(/metagen/.*))/ - - id: insert-license - name: "License MPL-2.0 rust" - args: - #- --remove-header - - --license-filepath=tools/license-header-MPL-2.0.txt - - "--comment-style=//" - - "--skip-license-insertion-comment=no-auto-license-header" - types_or: - - rust - files: ^(meta-cli|typegraph|libs/metagen)/ - - id: insert-license - name: "License MPL-2.0 deno" - args: - #- --remove-header - - --license-filepath=tools/license-header-MPL-2.0.txt - - "--comment-style=//" - - "--skip-license-insertion-comment=no-auto-license-header" - - "--skip-license-insertion-comment=@generated" - types_or: - - ts - files: ^(typegate|tools)/ - - id: insert-license - name: "License MPL-2.0 deno" - args: - #- --remove-header - - --license-filepath=tools/license-header-MPL-2.0.txt - - "--comment-style=//" - - "--skip-license-insertion-comment=no-auto-license-header" - types_or: - - ts - files: ^typegraph/ - id: insert-license name: "License MPL-2.0 typescript" args: @@ -159,8 +123,6 @@ repos: types_or: - ts - tsx - files: ^website/ - exclude: website/typegraphs - repo: https://github.com/python-jsonschema/check-jsonschema rev: 0.28.6 hooks: diff --git a/deno.jsonc b/deno.jsonc index 5e86d6024c..152c6ec454 100644 --- a/deno.jsonc +++ b/deno.jsonc @@ -13,6 +13,7 @@ "fmt": { "exclude": [ "target", + "src/typegraph/deno/src/gen", "src/typegraph/node", "*.md", "**/*.md", @@ -38,13 +39,22 @@ "nodeModulesDir": false, "lock": "deno.lock", "lint": { + "exclude": [ + ".git", + "node_modules", + "./src/typegraph/deno/src/gen", + "./docs/metatype.dev", + "./src/typegraph/node", + "./src/meta-lsp", + "target" + ], "rules": { "include": [ "no-sync-fn-in-async-fn", - "no-external-import", "no-inferrable-types", "no-self-compare", "no-throw-literal" + // "no-external-import", // "verbatim-module-syntax" // "no-await-in-loop" // "ban-untagged-todo" diff --git a/examples/deno.jsonc b/examples/deno.jsonc index 1ce1410442..9d5290c1b3 100644 --- a/examples/deno.jsonc +++ b/examples/deno.jsonc @@ -1,5 +1,12 @@ { "imports": { "@typegraph/sdk/": "../src/typegraph/deno/src/" + }, + "lint": { + "rules": { + "exclude": [ + "no-explicit-any" + ] + } } } diff --git a/examples/deploy/deploy.ts b/examples/deploy/deploy.ts index 9b7f165f38..d120f887c2 100644 --- a/examples/deploy/deploy.ts +++ b/examples/deploy/deploy.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Policy, t, typegraph } from "@typegraph/sdk"; import { DenoRuntime } from "@typegraph/sdk/runtimes/deno"; import { PythonRuntime } from "@typegraph/sdk/runtimes/python"; @@ -70,7 +73,7 @@ const artifactsConfig = { const baseUrl = "http://localhost:7890"; const auth = new BasicAuth("admin", "password"); -const { response, serialized } = await tgDeploy(tg, { +const { response, serialized: _ } = await tgDeploy(tg, { typegate: { url: baseUrl, auth, @@ -81,8 +84,6 @@ const { response, serialized } = await tgDeploy(tg, { typegraphPath: "./deploy.ts", }); -// console.log(serialized); - const { migrations, messages } = response; // migration status.. etc diff --git a/examples/typegraphs/metagen-sdk.ts b/examples/typegraphs/metagen-sdk.ts index 4e429514fa..130a1691ab 100644 --- a/examples/typegraphs/metagen-sdk.ts +++ b/examples/typegraphs/metagen-sdk.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // skip:start import { Policy, t, typegraph } from "@typegraph/sdk/index.ts"; import { DenoRuntime } from "@typegraph/sdk/runtimes/deno.ts"; @@ -38,6 +41,7 @@ const tg = await typegraph( }, ); +// deno-lint-ignore no-constant-condition if (false) { const myPath = import.meta.url.replace("file://", ""); const metagen = new Metagen( diff --git a/examples/typegraphs/temporal.ts b/examples/typegraphs/temporal.ts index 8cf301a607..89ff00055c 100644 --- a/examples/typegraphs/temporal.ts +++ b/examples/typegraphs/temporal.ts @@ -1,18 +1,9 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Policy, t, typegraph } from "@typegraph/sdk/index.ts"; import { TemporalRuntime } from "@typegraph/sdk/providers/temporal.ts"; - -// skip:start -function getEnvVariable( - key: string, - defaultValue?: string, -): string | undefined { - const glob = globalThis as any; - const value = glob?.process - ? glob?.process.env?.[key] - : glob?.Deno.env.get(key); - return value ?? defaultValue; -} -// skip:end +import process from "process"; typegraph( { @@ -29,7 +20,7 @@ typegraph( namespaceSecret: "NAMESPACE", }); - const workflow_id = getEnvVariable("ID_FROM_ENV"); + const workflow_id = process.env["ID_FROM_ENV"]; const arg = t.struct({ some_field: t.string() }); g.expose( diff --git a/src/typegraph/deno/deno.json b/src/typegraph/deno/deno.json index 960caa6de9..ad7121212f 100644 --- a/src/typegraph/deno/deno.json +++ b/src/typegraph/deno/deno.json @@ -8,6 +8,13 @@ "!README.md" ] }, + "lint": { + "rules": { + "exclude": [ + "no-external-import" + ] + } + }, "exports": { "./deps/_import.ts": "./src/deps/_import.ts", "./deps/mod.ts": "./src/deps/mod.ts", @@ -25,6 +32,7 @@ "./providers/temporal.ts": "./src/providers/temporal.ts", "./runtimes/deno.ts": "./src/runtimes/deno.ts", "./runtimes/graphql.ts": "./src/runtimes/graphql.ts", + "./runtimes/grpc.ts": "./src/runtimes/grpc.ts", "./runtimes/http.ts": "./src/runtimes/http.ts", "./runtimes/kv.ts": "./src/runtimes/kv.ts", "./runtimes/mod.ts": "./src/runtimes/mod.ts", @@ -37,9 +45,6 @@ "./tg_manage.ts": "./src/tg_manage.ts", "./typegraph.ts": "./src/typegraph.ts", "./types.ts": "./src/types.ts", - "./utils/func_utils.ts": "./src/utils/func_utils.ts", - "./utils/injection_utils.ts": "./src/utils/injection_utils.ts", - "./utils/type_utils.ts": "./src/utils/type_utils.ts", "./wit.ts": "./src/wit.ts" } } diff --git a/src/typegraph/deno/src/deps/_import.ts b/src/typegraph/deno/src/deps/_import.ts index b21c30e5ab..855c2d0015 100644 --- a/src/typegraph/deno/src/deps/_import.ts +++ b/src/typegraph/deno/src/deps/_import.ts @@ -31,6 +31,7 @@ export interface Bind { export const up = 3; +// deno-lint-ignore no-explicit-any export function caller(this: Bind | any, levelUp = up): string | undefined { const err = new Error(); const stack = err.stack?.split("\n")[levelUp]; @@ -39,6 +40,7 @@ export function caller(this: Bind | any, levelUp = up): string | undefined { } } +// deno-lint-ignore no-explicit-any export function getFile(this: Bind | any, stack: string): string { stack = stack.substr(stack.indexOf("at ") + 3); if (!stack.startsWith("file://")) { @@ -48,7 +50,7 @@ export function getFile(this: Bind | any, stack: string): string { let file = `${path[0]}:${path[1]}`; if ((this as Bind)?.cb) { - const cb = (this as Bind).cb as any; + const cb = (this as Bind).cb!; file = cb(file); } return file; diff --git a/src/typegraph/deno/src/deps/mod.ts b/src/typegraph/deno/src/deps/mod.ts index 1c558b0f17..0ad837fc8c 100644 --- a/src/typegraph/deno/src/deps/mod.ts +++ b/src/typegraph/deno/src/deps/mod.ts @@ -2,13 +2,16 @@ // SPDX-License-Identifier: MPL-2.0 export { caller } from "./_import.ts"; -export function mapValues( - object: object, - fn: (value: any, key: string, object: object) => any, -): any { +export function mapValues< + O extends Record, + T, +>( + object: O, + fn: (value: O[keyof O], key: keyof O, object: O) => T, +): Record { const newEntries = Object.entries(object).map(([k, v]) => [ k, - fn(v, k, object), + fn(v as O[keyof O], k, object), ]); return Object.fromEntries(newEntries); } diff --git a/src/typegraph/deno/src/effects.ts b/src/typegraph/deno/src/effects.ts index 8c5dbcdf7e..92bd6edd92 100644 --- a/src/typegraph/deno/src/effects.ts +++ b/src/typegraph/deno/src/effects.ts @@ -1,7 +1,7 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { +import type { EffectCreate, EffectDelete, EffectRead, diff --git a/src/typegraph/deno/src/envs/cli.ts b/src/typegraph/deno/src/envs/cli.ts index 62e0295150..03c3dc0bc7 100644 --- a/src/typegraph/deno/src/envs/cli.ts +++ b/src/typegraph/deno/src/envs/cli.ts @@ -43,7 +43,7 @@ export function loadCliEnv(): CliEnv | null { } else { switch (key) { case "command": - if (!COMMANDS.includes(envValue as any)) { + if (!(COMMANDS as readonly string[]).includes(envValue)) { throw new Error( `${name} env value should be one of: serialize, deploy`, ); @@ -93,7 +93,7 @@ export function loadCliEnv(): CliEnv | null { return record as CliEnv; } -export const CLI_ENV = loadCliEnv(); +export const CLI_ENV: CliEnv | null = loadCliEnv(); /** check if running in the meta cli */ export function hasCliEnv(): boolean { diff --git a/src/typegraph/deno/src/io.ts b/src/typegraph/deno/src/io.ts index e11fab63ab..a572c7e258 100644 --- a/src/typegraph/deno/src/io.ts +++ b/src/typegraph/deno/src/io.ts @@ -30,6 +30,7 @@ type RpcNotificationMethod = | "Success" | "Failure"; +// deno-lint-ignore no-explicit-any const rpcNotify = (method: RpcNotificationMethod, params: any = null) => { const message = JSON.stringify({ jsonrpc: JSONRPC_VERSION, @@ -39,6 +40,7 @@ const rpcNotify = (method: RpcNotificationMethod, params: any = null) => { writeRpcMessage(message); }; +// deno-lint-ignore no-explicit-any function getOutput(args: any[]) { return args .map((arg) => { @@ -53,24 +55,36 @@ function getOutput(args: any[]) { .join(" "); } -export const log = { - debug(...args: any[]) { +export const log: { + // deno-lint-ignore no-explicit-any + debug(...args: any[]): void; + // deno-lint-ignore no-explicit-any + info(...args: any[]): void; + // deno-lint-ignore no-explicit-any + warn(...args: any[]): void; + // deno-lint-ignore no-explicit-any + error(...args: any[]): void; + // deno-lint-ignore no-explicit-any + failure(data: any): void; + // deno-lint-ignore no-explicit-any + success(data: any, noEncode?: boolean): void; +} = { + debug(...args): void { rpcNotify("Debug", { message: getOutput(args) }); }, - info(...args: any[]) { + info(...args): void { rpcNotify("Info", { message: getOutput(args) }); }, - warn(...args: any[]) { + warn(...args): void { rpcNotify("Warning", { message: getOutput(args) }); }, - error(...args: any[]) { + error(...args): void { rpcNotify("Error", { message: getOutput(args) }); }, - - failure(data: any) { + failure(data): void { rpcNotify("Failure", { data: data }); }, - success(data: any, noEncode = false) { + success(data, noEncode = false): void { if (noEncode) { rpcNotify("Success", { data: JSON.parse(data) }); } else { @@ -80,7 +94,7 @@ export const log = { }; class RpcResponseReader { - private buffer: string = ""; + private buffer = ""; constructor() { process.stdin.setEncoding("utf-8"); @@ -109,7 +123,7 @@ class RpcResponseReader { resolve(message.result); break; } - } catch (e) { + } catch { reject("invalid message"); } } @@ -124,6 +138,7 @@ const rpcCall = (() => { const responseReader = new RpcResponseReader(); let latestRpcId = 0; + // deno-lint-ignore no-explicit-any return (method: string, params: any = null) => { const rpcId = latestRpcId++; const rpcMessage = JSON.stringify({ diff --git a/src/typegraph/deno/src/metagen.ts b/src/typegraph/deno/src/metagen.ts index ac347c11f1..d0bd191e83 100644 --- a/src/typegraph/deno/src/metagen.ts +++ b/src/typegraph/deno/src/metagen.ts @@ -1,12 +1,12 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { +import type { FdkConfig, FdkOutput, SerializeParams, } from "./gen/typegraph_core.d.ts"; -import { TypegraphOutput } from "./typegraph.ts"; +import type { TypegraphOutput } from "./typegraph.ts"; import { wit_utils } from "./wit.ts"; import { freezeTgOutput } from "./utils/func_utils.ts"; @@ -46,7 +46,7 @@ export class Metagen { overwrite?: false, ): Array { const fdkConfig = this.getFdkConfig(tgOutput, targetName); - return wit_utils.metagenExec(fdkConfig).map((value: any) => ({ + return wit_utils.metagenExec(fdkConfig).map((value) => ({ ...value, overwrite: overwrite ?? value.overwrite, })) as Array; diff --git a/src/typegraph/deno/src/params.ts b/src/typegraph/deno/src/params.ts index 669cc40279..25cbd2d7d0 100644 --- a/src/typegraph/deno/src/params.ts +++ b/src/typegraph/deno/src/params.ts @@ -2,12 +2,13 @@ // SPDX-License-Identifier: MPL-2.0 import { RawAuth } from "./typegraph.ts"; -import { Auth as Auth_, wit_utils } from "./wit.ts"; -import * as t from "./types.ts"; +import { type Auth as Auth_, wit_utils } from "./wit.ts"; +import type * as t from "./types.ts"; export type StdOauth2Profiler = | { profiler: "default" } | { profiler: "none" } + // deno-lint-ignore no-explicit-any | { profiler: "extended"; extension: any } | { profiler: "custom"; id: number }; @@ -19,6 +20,7 @@ export function defaultProfiler(): StdOauth2Profiler { return { profiler: "default" }; } +// deno-lint-ignore no-explicit-any export function extendedProfiler(extension: any): StdOauth2Profiler { return { profiler: "extended", extension }; } @@ -28,13 +30,13 @@ export function customProfiler(func: t.Typedef): StdOauth2Profiler { } export class Auth { - static jwt(name: string, format: string, algorithm?: any): Auth_ { - if (!algorithm) { - algorithm = {}; + static jwt(name: string, format: string, algorithmParams?: object): Auth_ { + if (!algorithmParams) { + algorithmParams = {}; } const authData = [ ["format", JSON.stringify(format)], - ["algorithm", JSON.stringify(algorithm)], + ["algorithm", JSON.stringify(algorithmParams)], ] as [string, string][]; return { diff --git a/src/typegraph/deno/src/policy.ts b/src/typegraph/deno/src/policy.ts index 8059b87508..13454f192c 100644 --- a/src/typegraph/deno/src/policy.ts +++ b/src/typegraph/deno/src/policy.ts @@ -1,15 +1,15 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { ContextCheck, MaterializerId } from "./gen/typegraph_core.d.ts"; +import type { ContextCheck, MaterializerId } from "./gen/typegraph_core.d.ts"; import { core } from "./wit.ts"; -interface PolicyPerEffectAlt { +type PolicyPerEffectAlt = { update?: Policy; delete?: Policy; create?: Policy; read?: Policy; -} +}; export class PolicyPerEffectObject { constructor(public readonly value: PolicyPerEffectAlt) {} diff --git a/src/typegraph/deno/src/providers/aws.ts b/src/typegraph/deno/src/providers/aws.ts index 25cb62b2b6..e71ddaa12c 100644 --- a/src/typegraph/deno/src/providers/aws.ts +++ b/src/typegraph/deno/src/providers/aws.ts @@ -1,9 +1,9 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { Materializer, Runtime } from "../runtimes/mod.ts"; +import { type Materializer, Runtime } from "../runtimes/mod.ts"; import { aws } from "../wit.ts"; -import { +import type { S3PresignGetParams, S3PresignPutParams, S3RuntimeData, diff --git a/src/typegraph/deno/src/providers/prisma.ts b/src/typegraph/deno/src/providers/prisma.ts index 790d59d07a..137a8f81e9 100644 --- a/src/typegraph/deno/src/providers/prisma.ts +++ b/src/typegraph/deno/src/providers/prisma.ts @@ -5,7 +5,7 @@ import { Runtime } from "../runtimes/mod.ts"; import { runtimes } from "../wit.ts"; import { Typedef } from "../types.ts"; import { t } from "../index.ts"; -import { Effect } from "../gen/typegraph_core.d.ts"; +import type { Effect } from "../gen/typegraph_core.d.ts"; import { genRef } from "./../typegraph.ts"; type PrismaLinkArg = { diff --git a/src/typegraph/deno/src/providers/temporal.ts b/src/typegraph/deno/src/providers/temporal.ts index 729a1d1ff2..b2184affe0 100644 --- a/src/typegraph/deno/src/providers/temporal.ts +++ b/src/typegraph/deno/src/providers/temporal.ts @@ -3,8 +3,8 @@ import { Runtime } from "../runtimes/mod.ts"; import { runtimes } from "../wit.ts"; -import { Func, Typedef } from "../types.ts"; -import { +import { Func, type Typedef } from "../types.ts"; +import type { TemporalOperationData, TemporalOperationType, } from "../gen/typegraph_core.d.ts"; diff --git a/src/typegraph/deno/src/runtimes/deno.ts b/src/typegraph/deno/src/runtimes/deno.ts index ebf68b35a4..f72cc9b6e3 100644 --- a/src/typegraph/deno/src/runtimes/deno.ts +++ b/src/typegraph/deno/src/runtimes/deno.ts @@ -26,6 +26,7 @@ interface PredefinedFuncMat extends Materializer { } export interface DenoFunc { + // deno-lint-ignore no-explicit-any code: string | ((...args: any[]) => any); secrets?: Array; effect?: Effect; @@ -39,6 +40,7 @@ export interface DenoImport { effect?: Effect; } +// deno-lint-ignore no-explicit-any function stringifyFn(code: string | ((...any: []) => any)) { if (typeof code == "function") { const source = code.toString(); @@ -115,6 +117,7 @@ export class DenoRuntime extends Runtime { } /** use a static function already registered on the typegate */ + // deno-lint-ignore no-explicit-any static

(out: P, value: any): t.Func { const mat = { _id: runtimes.registerDenoStatic( diff --git a/src/typegraph/deno/src/runtimes/graphql.ts b/src/typegraph/deno/src/runtimes/graphql.ts index e53fa2abc1..4e89980417 100644 --- a/src/typegraph/deno/src/runtimes/graphql.ts +++ b/src/typegraph/deno/src/runtimes/graphql.ts @@ -1,10 +1,10 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { Effect } from "../gen/typegraph_core.d.ts"; +import type { Effect } from "../gen/typegraph_core.d.ts"; import * as t from "../types.ts"; import { runtimes } from "../wit.ts"; -import { Materializer, Runtime } from "./mod.ts"; +import { type Materializer, Runtime } from "./mod.ts"; import { fx } from "../index.ts"; export class GraphQLRuntime extends Runtime { diff --git a/src/typegraph/deno/src/runtimes/grpc.ts b/src/typegraph/deno/src/runtimes/grpc.ts index d75be27f79..c32635d401 100644 --- a/src/typegraph/deno/src/runtimes/grpc.ts +++ b/src/typegraph/deno/src/runtimes/grpc.ts @@ -14,7 +14,7 @@ export class GrpcRuntime extends Runtime { super(id); } - call(method: string) { + call(method: string): Func { const funcData = runtimes.callGrpcMethod(this._id, { method: method }); return Func.fromTypeFunc(funcData); } diff --git a/src/typegraph/deno/src/runtimes/http.ts b/src/typegraph/deno/src/runtimes/http.ts index 992ad7ac93..7965bfadff 100644 --- a/src/typegraph/deno/src/runtimes/http.ts +++ b/src/typegraph/deno/src/runtimes/http.ts @@ -2,13 +2,13 @@ // SPDX-License-Identifier: MPL-2.0 import * as t from "../types.ts"; -import { +import type { Effect, HttpMethod, MaterializerHttpRequest, } from "../gen/typegraph_core.d.ts"; import { runtimes } from "../wit.ts"; -import { Materializer, Runtime } from "./mod.ts"; +import { type Materializer, Runtime } from "./mod.ts"; import { fx } from "../index.ts"; type HttpRequestMat = diff --git a/src/typegraph/deno/src/runtimes/kv.ts b/src/typegraph/deno/src/runtimes/kv.ts index d3965b3a65..4c29222ae0 100644 --- a/src/typegraph/deno/src/runtimes/kv.ts +++ b/src/typegraph/deno/src/runtimes/kv.ts @@ -1,10 +1,10 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { Materializer, Runtime } from "./mod.ts"; +import { type Materializer, Runtime } from "./mod.ts"; import * as t from "../types.ts"; import { runtimes } from "../wit.ts"; -import { Effect, KvMaterializer } from "../gen/typegraph_core.d.ts"; +import type { Effect, KvMaterializer } from "../gen/typegraph_core.d.ts"; import { fx } from "../index.ts"; @@ -34,7 +34,11 @@ export class KvRuntime extends Runtime { return new KvOperationMat(mad_id, operation); } - set() { + set(): t.Func< + t.Struct<{ key: t.String; value: t.String }>, + t.String, + KvOperationMat + > { const mat = this.#operation("set", fx.update()); return t.func( t.struct({ "key": t.string(), "value": t.string() }), @@ -43,18 +47,18 @@ export class KvRuntime extends Runtime { ); } - get() { + get(): t.Func, t.Optional, KvOperationMat> { const mat = this.#operation("get", fx.read()); // FIXME: consolidate response type construction inside tg_core return t.func(t.struct({ "key": t.string() }), t.string().optional(), mat); } - delete() { + delete(): t.Func, t.Integer, KvOperationMat> { const mat = this.#operation("delete", fx.delete_()); return t.func(t.struct({ "key": t.string() }), t.integer(), mat); } - keys() { + keys(): t.Func, t.List, KvOperationMat> { const mat = this.#operation("keys", fx.read()); return t.func( t.struct({ "filter": t.string().optional() }), @@ -63,7 +67,7 @@ export class KvRuntime extends Runtime { ); } - values() { + values(): t.Func, t.List, KvOperationMat> { const mat = this.#operation("values", fx.read()); return t.func( t.struct({ "filter": t.string().optional() }), diff --git a/src/typegraph/deno/src/runtimes/python.ts b/src/typegraph/deno/src/runtimes/python.ts index 791a59306f..391afac0d2 100644 --- a/src/typegraph/deno/src/runtimes/python.ts +++ b/src/typegraph/deno/src/runtimes/python.ts @@ -3,10 +3,9 @@ import * as t from "../types.ts"; import { runtimes } from "../wit.ts"; -import { Effect, SubstantialBackend } from "../gen/typegraph_core.d.ts"; -import { Materializer, Runtime } from "./mod.ts"; +import type { Effect } from "../gen/typegraph_core.d.ts"; +import { type Materializer, Runtime } from "./mod.ts"; import { fx } from "../index.ts"; -import { SubstantialRuntime } from "../runtimes/substantial.ts"; interface LambdaMat extends Materializer { fn: string; diff --git a/src/typegraph/deno/src/runtimes/random.ts b/src/typegraph/deno/src/runtimes/random.ts index 330944e561..1c57a5f4f8 100644 --- a/src/typegraph/deno/src/runtimes/random.ts +++ b/src/typegraph/deno/src/runtimes/random.ts @@ -3,8 +3,8 @@ import * as t from "../types.ts"; import { runtimes } from "../wit.ts"; -import { RandomRuntimeData } from "../gen/typegraph_core.d.ts"; -import { Materializer, Runtime } from "./mod.ts"; +import type { RandomRuntimeData } from "../gen/typegraph_core.d.ts"; +import { type Materializer, Runtime } from "./mod.ts"; import { fx } from "../index.ts"; interface RandomMat extends Materializer { diff --git a/src/typegraph/deno/src/runtimes/wasm.ts b/src/typegraph/deno/src/runtimes/wasm.ts index 462f8a261c..cf42c433e2 100644 --- a/src/typegraph/deno/src/runtimes/wasm.ts +++ b/src/typegraph/deno/src/runtimes/wasm.ts @@ -3,8 +3,8 @@ import * as t from "../types.ts"; import { runtimes } from "../wit.ts"; -import { Effect } from "../gen/typegraph_core.d.ts"; -import { Materializer, Runtime } from "./mod.ts"; +import type { Effect } from "../gen/typegraph_core.d.ts"; +import { type Materializer, Runtime } from "./mod.ts"; import { fx } from "../index.ts"; export class WasmRuntime extends Runtime { diff --git a/src/typegraph/deno/src/tg_artifact_upload.ts b/src/typegraph/deno/src/tg_artifact_upload.ts index d762f9623f..445a982000 100644 --- a/src/typegraph/deno/src/tg_artifact_upload.ts +++ b/src/typegraph/deno/src/tg_artifact_upload.ts @@ -1,8 +1,8 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { BasicAuth } from "./tg_deploy.ts"; -import { Artifact } from "./gen/typegraph_core.d.ts"; +import type { BasicAuth } from "./tg_deploy.ts"; +import type { Artifact } from "./gen/typegraph_core.d.ts"; import { dirname, join } from "node:path"; import * as fsp from "node:fs/promises"; import { log } from "./io.ts"; @@ -60,7 +60,7 @@ export class ArtifactUploader { private async upload( token: string | null, meta: UploadArtifactMeta, - ): Promise { + ): Promise { const uploadHeaders = new Headers({ "Content-Type": "application/octet-stream", }); @@ -107,7 +107,7 @@ export class ArtifactUploader { } private handleUploadErrors( - results: PromiseSettledResult[], + results: PromiseSettledResult[], artifactMetas: UploadArtifactMeta[], ) { let errors = 0; diff --git a/src/typegraph/deno/src/tg_deploy.ts b/src/typegraph/deno/src/tg_deploy.ts index 0443cae334..498ef7a613 100644 --- a/src/typegraph/deno/src/tg_deploy.ts +++ b/src/typegraph/deno/src/tg_deploy.ts @@ -1,9 +1,12 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { MigrationAction, SerializeParams } from "./gen/typegraph_core.d.ts"; +import type { + MigrationAction, + SerializeParams, +} from "./gen/typegraph_core.d.ts"; import { ArtifactUploader } from "./tg_artifact_upload.ts"; -import { TypegraphOutput } from "./typegraph.ts"; +import type { TypegraphOutput } from "./typegraph.ts"; import { wit_utils } from "./wit.ts"; import { execRequest } from "./utils/func_utils.ts"; import { log } from "./io.ts"; @@ -36,10 +39,12 @@ export interface TypegraphRemoveParams { export interface DeployResult { serialized: string; + // deno-lint-ignore no-explicit-any response: Record; } export interface RemoveResult { + // deno-lint-ignore no-explicit-any typegate: Record | string; } @@ -108,6 +113,7 @@ export async function tgDeploy( }), }, `tgDeploy failed to deploy typegraph ${typegraph.name}`, + // deno-lint-ignore no-explicit-any )) as Record; if (response.errors) { @@ -154,6 +160,7 @@ export async function tgRemove( body: wit_utils.gqlRemoveQuery([typegraphName.toString()]), }, `tgRemove failed to remove typegraph ${typegraphName}`, + // deno-lint-ignore no-explicit-any )) as Record | string; return { typegate: response }; diff --git a/src/typegraph/deno/src/tg_manage.ts b/src/typegraph/deno/src/tg_manage.ts index 57bcfc6e17..0537205a52 100644 --- a/src/typegraph/deno/src/tg_manage.ts +++ b/src/typegraph/deno/src/tg_manage.ts @@ -1,12 +1,12 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { SerializeParams } from "./gen/typegraph_core.d.ts"; +import type { SerializeParams } from "./gen/typegraph_core.d.ts"; import { BasicAuth, tgDeploy } from "./tg_deploy.ts"; -import { TgFinalizationResult, TypegraphOutput } from "./typegraph.ts"; +import type { TgFinalizationResult, TypegraphOutput } from "./typegraph.ts"; import { freezeTgOutput } from "./utils/func_utils.ts"; import { log, rpc } from "./io.ts"; -import { CliEnv, getCliEnv } from "./envs/cli.ts"; +import { type CliEnv, getCliEnv } from "./envs/cli.ts"; import * as path from "node:path"; export class Manager { @@ -27,7 +27,7 @@ export class Manager { await this.#deploy(); break; case "list": - await this.#list(); + this.#list(); break; default: throw new Error( @@ -61,7 +61,7 @@ export class Manager { pretty: false, }); log.success(finalizationResult.tgJson, true); - } catch (err: any) { + } catch (err) { log.failure({ typegraph: this.#typegraph.name, errors: getErrorStack(err, "failed to serialize typegraph"), @@ -102,7 +102,7 @@ export class Manager { let frozenSerialized: TgFinalizationResult; try { frozenSerialized = frozenOut.serialize(params); - } catch (err: any) { + } catch (err) { log.failure({ typegraph: this.#typegraph.name, errors: getErrorStack(err, "failed to serialize typegraph"), @@ -139,7 +139,7 @@ export class Manager { }, ...response, }); - } catch (err: any) { + } catch (err) { log.failure({ typegraph: this.#typegraph.name, errors: getErrorStack(err, "failed to deploy typegraph"), @@ -148,11 +148,12 @@ export class Manager { } } - async #list(): Promise { + #list() { log.success({ typegraph: this.#typegraph.name }); } } +// deno-lint-ignore no-explicit-any function getErrorStack(err: any, defaultErr: string): string[] { if (err instanceof Error) { log.debug(err); diff --git a/src/typegraph/deno/src/typegraph.ts b/src/typegraph/deno/src/typegraph.ts index 9387d10c23..d48c09b044 100644 --- a/src/typegraph/deno/src/typegraph.ts +++ b/src/typegraph/deno/src/typegraph.ts @@ -3,16 +3,21 @@ import * as t from "./types.ts"; import { core } from "./gen/typegraph_core.js"; -import { caller, dirname, fromFileUrl } from "./deps/mod.ts"; -import { InjectionValue } from "./utils/type_utils.ts"; +import { caller, fromFileUrl } from "./deps/mod.ts"; +import type { InjectionValue } from "./utils/type_utils.ts"; import { serializeFromParentInjection, serializeGenericInjection, serializeStaticInjection, } from "./utils/injection_utils.ts"; -import { Auth, Cors as CorsWit, Rate, wit_utils } from "./wit.ts"; +import { + type Auth, + type Cors as CorsWit, + type Rate, + wit_utils, +} from "./wit.ts"; import { getPolicyChain } from "./types.ts"; -import { Artifact, SerializeParams } from "./gen/typegraph_core.d.ts"; +import type { Artifact, SerializeParams } from "./gen/typegraph_core.d.ts"; import { Manager } from "./tg_manage.ts"; import { log } from "./io.ts"; import { hasCliEnv } from "./envs/cli.ts"; @@ -38,6 +43,7 @@ export class ApplyFromArg { } export class ApplyFromStatic { + // deno-lint-ignore no-explicit-any constructor(public value: any) {} } @@ -56,6 +62,7 @@ export class ApplyFromParent { const InjectionSource = { asArg: (name?: string, type?: t.Typedef): ApplyFromArg => new ApplyFromArg(name ?? null, type?._id ?? null), + // deno-lint-ignore no-explicit-any set: (value: any): ApplyFromStatic => new ApplyFromStatic(value), fromSecret: (key: string): ApplyFromSecret => new ApplyFromSecret(key), fromContext: (key: string, type?: t.Typedef): ApplyFromContext => @@ -219,7 +226,8 @@ export async function typegraph( try { builder(g); - } catch (err) { + // deno-lint-ignore no-explicit-any + } catch (err: any) { if (err.payload && !err.cause) { err.cause = err.payload; } @@ -239,14 +247,16 @@ export async function typegraph( try { const [tgJson, ref_artifacts] = core.serializeTypegraph( config, - ) as Array; // FIXME: bad typing? + // deno-lint-ignore no-explicit-any + ) as Array; const result: TgFinalizationResult = { tgJson: tgJson, ref_artifacts: ref_artifacts, }; return result; - } catch (err) { - const stack = (err as any)?.payload?.stack; + // deno-lint-ignore no-explicit-any + } catch (err: any) { + const stack = err?.payload?.stack; if (stack) { // FIXME: jco generated code throws new Error(object) => prints [Object object] throw new Error(stack.join("\n")); diff --git a/src/typegraph/deno/src/types.ts b/src/typegraph/deno/src/types.ts index 7a41510d14..c037153c14 100644 --- a/src/typegraph/deno/src/types.ts +++ b/src/typegraph/deno/src/types.ts @@ -2,9 +2,8 @@ // SPDX-License-Identifier: MPL-2.0 import { core, wit_utils } from "./wit.ts"; -import { +import type { ParameterTransform, - PolicyPerEffect, PolicySpec as WitPolicySpec, TypeEither, TypeFile, @@ -15,14 +14,14 @@ import { TypeString, TypeUnion, } from "./gen/typegraph_core.d.ts"; -import { FuncParams } from "./gen/typegraph_core.d.ts"; -import { Materializer } from "./runtimes/mod.ts"; +import type { FuncParams } from "./gen/typegraph_core.d.ts"; +import type { Materializer } from "./runtimes/mod.ts"; import { mapValues } from "./deps/mod.ts"; import Policy, { PolicyPerEffectObject } from "./policy.ts"; import { - AsIdField, - Base, - BaseEx, + type AsIdField, + type Base, + type BaseEx, buildReduceEntries, withBase, } from "./utils/func_utils.ts"; @@ -31,14 +30,14 @@ import { serializeGenericInjection, serializeStaticInjection, } from "./utils/injection_utils.ts"; -import { InjectionValue } from "./utils/type_utils.ts"; +import type { InjectionValue } from "./utils/type_utils.ts"; import { ApplyFromArg, ApplyFromContext, ApplyFromParent, ApplyFromSecret, ApplyFromStatic, - InheritDef, + type InheritDef, } from "./typegraph.ts"; import { log } from "./io.ts"; @@ -74,8 +73,8 @@ export function getPolicyChain( tag: "per-effect", val: mapValues( p instanceof PolicyPerEffectObject ? p.value : p, - (v: any) => v._id, - ) as unknown as PolicyPerEffect, + (v) => v?._id, + ), } as const; }); } @@ -195,7 +194,7 @@ export function boolean( return new Boolean(withBase(core.booleanb(), base)); } -class Integer extends Typedef implements Readonly { +export class Integer extends Typedef implements Readonly { readonly min?: number; readonly max?: number; readonly exclusiveMinimum?: number; @@ -269,7 +268,7 @@ export function float( ); } -class StringT extends Typedef implements Readonly { +export class String extends Typedef implements Readonly { readonly min?: number; readonly max?: number; readonly format?: string; @@ -295,52 +294,52 @@ class StringT extends Typedef implements Readonly { export function string( data: TypeString = {}, base: BaseEx = {}, -): StringT { - return new StringT(withBase(core.stringb(data), base), data); +): String { + return new String(withBase(core.stringb(data), base), data); } /** uuid type */ -export function uuid(base: BaseEx = {}): StringT { +export function uuid(base: BaseEx = {}): String { return string({ format: "uuid" }, base); } /** email type */ -export function email(): StringT { +export function email(): String { return string({ format: "email" }); } /** uri type */ -export function uri(): StringT { +export function uri(): String { return string({ format: "uri" }); } /** ean type */ -export function ean(): StringT { +export function ean(): String { return string({ format: "ean" }); } /** path type */ -export function path(): StringT { +export function path(): String { return string({ format: "path" }); } /** datetime type */ -export function datetime(): StringT { +export function datetime(): String { return string({ format: "date-time" }); } /** json type */ -export function json(): StringT { +export function json(): String { return string({ format: "json" }); } /** hostname type */ -export function hostname(): StringT { +export function hostname(): String { return string({ format: "hostname" }); } /** phone number type */ -export function phone(): StringT { +export function phone(): String { return string({ format: "phone" }); } @@ -349,7 +348,7 @@ export function phone(): StringT { export function enum_( variants: string[], base: Base = {}, -): StringT { +): String { return string( { enumeration: variants.map((variant) => JSON.stringify(variant)), @@ -382,7 +381,7 @@ export function file( ); } -class List extends Typedef { +export class List extends Typedef { readonly min?: number; readonly max?: number; readonly items?: number; @@ -413,7 +412,7 @@ export function list( ); } -class Optional extends Typedef { +export class Optional extends Typedef { readonly item?: number; readonly defaultItem?: string; diff --git a/src/typegraph/deno/src/utils/func_utils.ts b/src/typegraph/deno/src/utils/func_utils.ts index bd02a69214..6e9f6623c7 100644 --- a/src/typegraph/deno/src/utils/func_utils.ts +++ b/src/typegraph/deno/src/utils/func_utils.ts @@ -1,14 +1,16 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 +// jsr-private-module + import { InheritDef, - TgFinalizationResult, - TypegraphOutput, + type TgFinalizationResult, + type TypegraphOutput, } from "../typegraph.ts"; -import { ReduceEntry } from "../gen/typegraph_core.d.ts"; +import type { ReduceEntry } from "../gen/typegraph_core.d.ts"; import { serializeStaticInjection } from "./injection_utils.ts"; -import { SerializeParams } from "../gen/typegraph_core.d.ts"; +import type { SerializeParams } from "../gen/typegraph_core.d.ts"; import { log } from "../io.ts"; import { core } from "../wit.ts"; @@ -125,22 +127,6 @@ export function buildReduceEntries( throw new Error(`unsupported type "${typeof node}" at ${currPath.join(".")}`); } -export function getEnvVariable( - key: string, - defaultValue?: string, -): string | undefined { - const glob = globalThis as any; - const value = glob?.process - ? glob?.process.env?.[key] - : glob?.Deno.env.get(key); - return value ?? defaultValue; -} - -export function getAllEnvVariables(): any { - const glob = globalThis as any; - return glob?.process ? glob?.process.env : glob?.Deno.env.toObject(); -} - const frozenMemo: Record = {}; /** Create a reusable version of a `TypegraphOutput` */ diff --git a/src/typegraph/deno/src/utils/injection_utils.ts b/src/typegraph/deno/src/utils/injection_utils.ts index 6bb05242cb..98797f12d1 100644 --- a/src/typegraph/deno/src/utils/injection_utils.ts +++ b/src/typegraph/deno/src/utils/injection_utils.ts @@ -1,8 +1,10 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 +// jsr-private-module + import { CREATE, DELETE, READ, UPDATE } from "../effects.ts"; -import { InjectionSource, InjectionValue } from "./type_utils.ts"; +import type { InjectionSource, InjectionValue } from "./type_utils.ts"; import { stringifySymbol } from "./func_utils.ts"; export function serializeInjection( @@ -16,11 +18,13 @@ export function serializeInjection( const symbols = [UPDATE, DELETE, CREATE, READ]; const noOtherType = Object.keys(value).length == 0; const isPerEffect = noOtherType && - symbols.some((symbol) => (value as any)?.[symbol] !== undefined); + symbols.some((symbol) => + (value as Record)?.[symbol] !== undefined + ); if (isPerEffect) { const dataEntries = symbols.map((symbol) => { - const valueGiven = (value as any)?.[symbol]; + const valueGiven = (value as Record)?.[symbol]; return [stringifySymbol(symbol), valueGiven && valueMapper(valueGiven)]; }); @@ -43,7 +47,7 @@ export function serializeInjection( export function serializeGenericInjection( source: InjectionSource, value: InjectionValue, -) { +): string { const allowed: InjectionSource[] = ["dynamic", "context", "secret", "random"]; if (allowed.includes(source)) { return serializeInjection(source, value); @@ -55,7 +59,9 @@ export function serializeStaticInjection(value: InjectionValue) { return serializeInjection("static", value, (x: unknown) => JSON.stringify(x)); } -export function serializeFromParentInjection(value: InjectionValue) { +export function serializeFromParentInjection( + value: InjectionValue, +): string { if (typeof value !== "string") { const isObject = typeof value === "object" && !Array.isArray(value) && value !== null; @@ -68,7 +74,9 @@ export function serializeFromParentInjection(value: InjectionValue) { const symbols = [UPDATE, DELETE, CREATE, READ]; const noOtherType = Object.keys(value).length == 0; const isPerEffect = noOtherType && - symbols.some((symbol) => (value as any)?.[symbol] !== undefined); + symbols.some((symbol) => + (value as Record)?.[symbol] !== undefined + ); if (!isPerEffect) { throw new Error("object keys should be of type EffectType"); diff --git a/src/typegraph/deno/src/utils/type_utils.ts b/src/typegraph/deno/src/utils/type_utils.ts index 8c6b72e40c..6971d11116 100644 --- a/src/typegraph/deno/src/utils/type_utils.ts +++ b/src/typegraph/deno/src/utils/type_utils.ts @@ -1,7 +1,9 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { PerEffect } from "../effects.ts"; +// jsr-private-module + +import type { PerEffect } from "../effects.ts"; type RequiredKeys = { [K in keyof T]-?: object extends { [P in K]: T[K] } ? never : K; diff --git a/src/typegraph/deno/src/wit.ts b/src/typegraph/deno/src/wit.ts index 9d6def4c09..ca84041f04 100644 --- a/src/typegraph/deno/src/wit.ts +++ b/src/typegraph/deno/src/wit.ts @@ -1,10 +1,10 @@ // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // SPDX-License-Identifier: MPL-2.0 -import { MetatypeTypegraphCore } from "./gen/typegraph_core.d.ts"; -import { MetatypeTypegraphRuntimes } from "./gen/typegraph_core.d.ts"; -import { MetatypeTypegraphAws } from "./gen/typegraph_core.d.ts"; -import { MetatypeTypegraphUtils } from "./gen/typegraph_core.d.ts"; +import type { MetatypeTypegraphCore } from "./gen/typegraph_core.d.ts"; +import type { MetatypeTypegraphRuntimes } from "./gen/typegraph_core.d.ts"; +import type { MetatypeTypegraphAws } from "./gen/typegraph_core.d.ts"; +import type { MetatypeTypegraphUtils } from "./gen/typegraph_core.d.ts"; import * as js from "./gen/typegraph_core.js"; export const core = js.core as typeof MetatypeTypegraphCore; diff --git a/tests/e2e/cli/watch_test.ts b/tests/e2e/cli/watch_test.ts index e0c58c7b9d..e0fff0f18a 100644 --- a/tests/e2e/cli/watch_test.ts +++ b/tests/e2e/cli/watch_test.ts @@ -46,7 +46,7 @@ Meta.test({ name: "meta dev: watch artifacts" }, async (t) => { await t.should("deploy typegraph", async () => { await stderr.readWhile( - (line) => !line.includes("successfully deployed typegraph") + (line) => !line.includes("successfully deployed typegraph"), ); }); @@ -64,7 +64,7 @@ Meta.test({ name: "meta dev: watch artifacts" }, async (t) => { await t.should("re-deploy typegraph", async () => { await stderr.readWhile( - (line) => !line.includes("successfully deployed typegraph") + (line) => !line.includes("successfully deployed typegraph"), ); }); diff --git a/tools/jsr/jsr-gen.ts b/tools/jsr/jsr-gen.ts index 68e807992a..4c7969b279 100644 --- a/tools/jsr/jsr-gen.ts +++ b/tools/jsr/jsr-gen.ts @@ -2,7 +2,7 @@ // SPDX-License-Identifier: MPL-2.0 import { METATYPE_VERSION, SDK_PACKAGE_NAME_TS } from "../consts.ts"; -import { existsSync, expandGlobSync, join } from "../deps.ts"; +import { $, existsSync, expandGlob, join } from "../deps.ts"; import { copyFilesAt } from "../utils.ts"; import { removeExtension } from "../utils.ts"; import { denoSdkDir, fromRoot, srcDir } from "./common.ts"; @@ -21,14 +21,19 @@ copyFilesAt( // Prepare jsr export map const jsrExports = {} as Record; -for ( - const { path } of expandGlobSync("./**/*.*", { +for await ( + const { path } of expandGlob("./**/*.*", { root: srcDir, includeDirs: false, globstar: true, }) ) { if (/\.(ts|js|mjs)$/.test(path)) { + const text = await $.path(path).readText(); + if (/jsr-private-module/.test(text)) { + $.logLight("skipping private module", path); + continue; + } const hintFile = `${removeExtension(path)}.d.ts`; const sourcePath = existsSync(hintFile) ? hintFile : path; const canonRelPath = sourcePath.replace(denoSdkDir, "."); From 8b3f1a361987a5d8bc53481448bd5953c2d7340d Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Mon, 11 Nov 2024 20:05:21 +0300 Subject: [PATCH 09/10] fix: fix license headers --- .pre-commit-config.yaml | 3 +++ docs/metatype.dev/docs/guides/securing-requests/cors.py | 3 +++ ghjk.ts | 3 +++ src/common/src/typegraph/validator/injection.rs | 3 +++ src/meta-cli/src/cli/fdk_template.rs | 3 +++ src/meta-cli/src/utils/shell_words.rs | 3 +++ src/meta-cli/tests/graphs/nested/graph0.py | 2 ++ .../ts-language-server/src/analysis/diagnostics/context.ts | 3 +++ .../ts-language-server/src/analysis/exposed_function.ts | 3 +++ src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts | 3 +++ .../src/analysis/typescript-semantic/scope.ts | 3 +++ .../src/analysis/typescript-semantic/semantic-node.ts | 3 +++ .../src/analysis/typescript-semantic/symbols.ts | 3 +++ .../src/analysis/typescript-semantic/utils/mod.ts | 3 +++ src/meta-lsp/ts-language-server/src/lsp_client.ts | 3 +++ src/meta-lsp/ts-language-server/src/parser.ts | 3 +++ src/meta-lsp/ts-language-server/src/server.ts | 3 +++ src/meta-lsp/ts-language-server/src/server/documents.ts | 3 +++ src/meta-lsp/ts-language-server/src/server/index.ts | 3 +++ src/meta-lsp/ts-language-server/src/types.ts | 3 +++ src/meta-lsp/ts-language-server/tests/expose_analysis.test.ts | 3 +++ .../ts-language-server/tests/typegraphs/deno_types.ts | 3 +++ src/meta-lsp/ts-language-server/tests/utils.ts | 2 ++ src/meta-lsp/vscode-metatype-support/src/extension.ts | 3 +++ src/metagen/fixtures/tg.ts | 3 +++ src/metagen/src/client_py/static/client.py | 3 +++ src/metagen/src/client_ts/static/mod.ts | 3 +++ src/metagen/src/fdk_substantial/mod.rs | 3 +++ src/metagen/src/fdk_substantial/static/substantial.py | 3 +++ src/metagen/src/fdk_substantial/static/types.py | 3 +++ src/metagen/src/fdk_substantial/static/workflow.py | 3 +++ src/metagen/src/fdk_typescript/static/fdk.ts | 3 +++ src/pyrt_wit_wire/main.py | 3 +++ src/substantial/src/backends/fs.rs | 3 +++ src/substantial/src/backends/key_value.rs | 3 +++ src/substantial/src/backends/memory.rs | 3 +++ src/substantial/src/backends/mod.rs | 3 +++ src/substantial/src/backends/redis.rs | 3 +++ src/substantial/src/converters.rs | 3 +++ src/substantial/src/lib.rs | 3 +++ src/substantial/tests/mod.rs | 3 +++ src/typegate/src/runtimes/substantial/agent.ts | 3 +++ src/typegraph/core/src/runtimes/prisma/type_generation/mod.rs | 3 +++ src/typegraph/core/src/types/type_ref.rs | 3 +++ src/typegraph/core/src/types/type_ref/as_id.rs | 3 +++ src/typegraph/core/src/types/type_ref/injection.rs | 3 +++ src/typegraph/core/src/types/type_ref/policy.rs | 3 +++ src/typegraph/core/src/types/type_ref/runtime_config.rs | 3 +++ src/typegraph/core/src/types/type_ref/xdef.rs | 3 +++ src/typegraph/core/src/utils/postprocess/naming.rs | 3 +++ tests/auth/auth.py | 3 +++ tests/dedup/dedup_test.ts | 3 +++ tests/docs/how-tos/prog_deploy/prog_deploy.py | 3 +++ tests/docs/how-tos/prog_deploy/prog_remove.py | 3 +++ tests/e2e/cli/artifacts/ops.ts | 3 +++ tests/e2e/cli/templates/migration.py | 3 +++ tests/e2e/nextjs/apollo/app/layout.tsx | 3 +++ tests/e2e/nextjs/apollo/app/page.tsx | 3 +++ tests/e2e/nextjs/typegraph/apollo.py | 3 +++ tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py | 3 +++ tests/e2e/typegraph/validator.py | 3 +++ tests/graphql/graphql.py | 3 +++ tests/importers/gql_original.py | 3 +++ tests/importers/introspection.py | 3 +++ tests/importers/openapi_original.py | 3 +++ tests/importers/openapi_schema.py | 3 +++ tests/injection/injection.py | 3 +++ tests/injection/nested_context.py | 3 +++ tests/injection/random_injection.py | 3 +++ tests/internal/internal.py | 3 +++ tests/internal/py/logic_types.py | 3 +++ tests/introspection/union_either.py | 3 +++ tests/metagen/typegraphs/identities.py | 3 +++ tests/metagen/typegraphs/identities/py/handlers.py | 3 +++ tests/metagen/typegraphs/identities/py/handlers_types.py | 3 +++ tests/metagen/typegraphs/identities/ts/fdk.ts | 3 +++ tests/metagen/typegraphs/metagen.py | 3 +++ tests/metagen/typegraphs/python.py | 3 +++ tests/metagen/typegraphs/sample/py/client.py | 3 +++ tests/metagen/typegraphs/sample/py/main.py | 3 +++ tests/metagen/typegraphs/sample/ts/client.ts | 3 +++ tests/multi_typegraph/multi_typegraph.py | 3 +++ tests/nesting/nesting.py | 3 +++ tests/params/apply.py | 3 +++ tests/params/apply_nested_context.py | 3 +++ tests/params/prisma_apply.py | 3 +++ tests/planner/planner.py | 3 +++ tests/policies/effects_py.py | 3 +++ tests/policies/policies.py | 3 +++ tests/policies/policies_jwt.py | 3 +++ tests/policies/policies_jwt_format.py | 3 +++ tests/policies/policies_jwt_injection.py | 3 +++ tests/query_parsers/graphql_namespaces.py | 3 +++ tests/regression/invalid_ref_error_message/invalid_ref.py | 3 +++ tests/rest/rest_simple.py | 3 +++ tests/runtimes/deno/deno.py | 3 +++ tests/runtimes/deno/deno_dep.py | 3 +++ tests/runtimes/deno/deno_dir.py | 3 +++ tests/runtimes/deno/deno_duplicate_artifact.py | 3 +++ tests/runtimes/deno/deno_globs.py | 3 +++ tests/runtimes/deno/deno_no_artifact.py | 3 +++ tests/runtimes/deno/deno_partial.py | 3 +++ tests/runtimes/deno/deno_reload.py | 3 +++ tests/runtimes/graphql/typegraphs/python/graphql.py | 3 +++ tests/runtimes/http/http_content_type.py | 3 +++ tests/runtimes/http/http_py.py | 3 +++ tests/runtimes/prisma/full_prisma_mapping.py | 3 +++ tests/runtimes/prisma/mixed_runtime.py | 3 +++ tests/runtimes/prisma/multi_relations.py | 3 +++ tests/runtimes/prisma/multiple_runtimes.py | 3 +++ tests/runtimes/prisma/normal_1_1.py | 3 +++ tests/runtimes/prisma/optional_1_1.py | 3 +++ tests/runtimes/prisma/optional_1_n.py | 3 +++ tests/runtimes/prisma/prisma.py | 3 +++ tests/runtimes/prisma/prisma_edgecases.py | 3 +++ tests/runtimes/prisma/schema_generation.py | 3 +++ tests/runtimes/python/py/hello.py | 3 +++ tests/runtimes/python/py/nested/dep.py | 4 ++++ tests/runtimes/python/python.py | 3 +++ tests/runtimes/python/python_dir.py | 3 +++ tests/runtimes/python/python_duplicate_artifact.py | 3 +++ tests/runtimes/python/python_globs.py | 3 +++ tests/runtimes/python/python_no_artifact.py | 3 +++ tests/runtimes/random/random_.py | 3 +++ tests/runtimes/s3/s3.py | 3 +++ tests/runtimes/substantial/child_workflow.ts | 3 +++ tests/runtimes/substantial/common.ts | 3 +++ tests/runtimes/substantial/imports/common_types.ts | 3 +++ tests/runtimes/substantial/substantial.py | 3 +++ tests/runtimes/substantial/substantial_child_workflow.py | 3 +++ tests/runtimes/substantial/substantial_test.ts | 3 +++ tests/runtimes/substantial/workflow.ts | 3 +++ tests/runtimes/temporal/temporal.py | 3 +++ tests/runtimes/wasm_reflected/wasm_duplicate.py | 3 +++ tests/runtimes/wasm_reflected/wasm_reflected.py | 3 +++ tests/runtimes/wasm_wire/wasm_wire.py | 3 +++ tests/schema_validation/circular.py | 3 +++ tests/schema_validation/type_comparison.py | 3 +++ tests/schema_validation/type_comparison_test.ts | 3 +++ tests/simple/class_syntax.py | 3 +++ tests/simple/error_message.py | 3 +++ tests/simple/simple.py | 3 +++ tests/type_nodes/array_of_optional.py | 3 +++ tests/type_nodes/either_node.py | 3 +++ tests/type_nodes/union_node.py | 3 +++ tests/type_nodes/union_node_attr.py | 3 +++ tests/type_nodes/union_node_quantifier.py | 3 +++ tests/typecheck/reduce_py.py | 3 +++ tests/typecheck/type_alias.py | 3 +++ tests/typename/typename.py | 3 +++ tests/utils/tg_deploy_script.py | 3 +++ tests/vars/vars.py | 3 +++ 152 files changed, 455 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f49beb47ca..f8d1dcccce 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -103,6 +103,7 @@ repos: - "--skip-license-insertion-comment=no-auto-license-header" types_or: - python + exclude: ^examples/ - id: insert-license name: "License MPL-2.0 rust" args: @@ -113,6 +114,7 @@ repos: - "--skip-license-insertion-comment=@generated" types_or: - rust + exclude: ^examples/ - id: insert-license name: "License MPL-2.0 typescript" args: @@ -123,6 +125,7 @@ repos: types_or: - ts - tsx + exclude: ^examples/ - repo: https://github.com/python-jsonschema/check-jsonschema rev: 0.28.6 hooks: diff --git a/docs/metatype.dev/docs/guides/securing-requests/cors.py b/docs/metatype.dev/docs/guides/securing-requests/cors.py index 58cf3b9372..50387d5dae 100644 --- a/docs/metatype.dev/docs/guides/securing-requests/cors.py +++ b/docs/metatype.dev/docs/guides/securing-requests/cors.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start from typegraph import typegraph, Policy, t, Graph from typegraph.graph.params import Cors diff --git a/ghjk.ts b/ghjk.ts index 324ada15b9..dccf5150a7 100644 --- a/ghjk.ts +++ b/ghjk.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // @ts-nocheck: Deno file import { METATYPE_VERSION, PUBLISHED_VERSION } from "./tools/consts.ts"; diff --git a/src/common/src/typegraph/validator/injection.rs b/src/common/src/typegraph/validator/injection.rs index cfdee4c4c2..09bd9cf381 100644 --- a/src/common/src/typegraph/validator/injection.rs +++ b/src/common/src/typegraph/validator/injection.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use indexmap::IndexMap; use serde_json::Value; diff --git a/src/meta-cli/src/cli/fdk_template.rs b/src/meta-cli/src/cli/fdk_template.rs index 7d363f114d..b7c8529111 100644 --- a/src/meta-cli/src/cli/fdk_template.rs +++ b/src/meta-cli/src/cli/fdk_template.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use async_trait::async_trait; use clap::{Parser, ValueEnum}; diff --git a/src/meta-cli/src/utils/shell_words.rs b/src/meta-cli/src/utils/shell_words.rs index 5c00018f2e..4e2df60909 100644 --- a/src/meta-cli/src/utils/shell_words.rs +++ b/src/meta-cli/src/utils/shell_words.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // no-auto-license-header /* diff --git a/src/meta-cli/tests/graphs/nested/graph0.py b/src/meta-cli/tests/graphs/nested/graph0.py index e69de29bb2..8e55187b7a 100644 --- a/src/meta-cli/tests/graphs/nested/graph0.py +++ b/src/meta-cli/tests/graphs/nested/graph0.py @@ -0,0 +1,2 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 diff --git a/src/meta-lsp/ts-language-server/src/analysis/diagnostics/context.ts b/src/meta-lsp/ts-language-server/src/analysis/diagnostics/context.ts index 71322451ee..ad90f9619e 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/diagnostics/context.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/diagnostics/context.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Diagnostic, DiagnosticSeverity } from "vscode-languageserver-types"; import { ScopeManager } from "../typescript-semantic/scope.ts"; import { diff --git a/src/meta-lsp/ts-language-server/src/analysis/exposed_function.ts b/src/meta-lsp/ts-language-server/src/analysis/exposed_function.ts index dc82d9e0c2..712996a101 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/exposed_function.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/exposed_function.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Parser } from "../parser.ts"; import { ModuleDiagnosticsContext } from "./diagnostics/context.ts"; import { InputType, Runtime } from "./runtimes/mod.ts"; diff --git a/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts b/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts index bbaead4b52..f382675346 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/runtimes/mod.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Parser } from "../../parser.ts"; import { ModuleDiagnosticsContext } from "../diagnostics/context.ts"; import { TgType } from "../typescript-semantic/semantic-node.ts"; diff --git a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/scope.ts b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/scope.ts index 6f0d87bf4c..490e403769 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/scope.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/scope.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Parser, queryMatches } from "../../parser.ts"; import { ModuleDiagnosticsContext } from "../diagnostics/context.ts"; diff --git a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts index 7c04a12718..e563519dea 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/semantic-node.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Parser } from "../../parser.ts"; import { ModuleDiagnosticsContext } from "../diagnostics/context.ts"; import { asMethodCall } from "./utils/mod.ts"; diff --git a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts index df8685d4a1..f810e8065a 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/symbols.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { ScopeManager } from "./scope.ts"; import { SemanticNode } from "./semantic-node.ts"; diff --git a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/utils/mod.ts b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/utils/mod.ts index 387d64c9f0..c6f23ba7cd 100644 --- a/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/utils/mod.ts +++ b/src/meta-lsp/ts-language-server/src/analysis/typescript-semantic/utils/mod.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Parser } from "../../../parser.ts"; export type MethodCall = { diff --git a/src/meta-lsp/ts-language-server/src/lsp_client.ts b/src/meta-lsp/ts-language-server/src/lsp_client.ts index c9e7848ef6..c7518160e6 100644 --- a/src/meta-lsp/ts-language-server/src/lsp_client.ts +++ b/src/meta-lsp/ts-language-server/src/lsp_client.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import child_process from "node:child_process"; import { JSONRPCEndpoint, LspClient } from "ts-lsp-client"; diff --git a/src/meta-lsp/ts-language-server/src/parser.ts b/src/meta-lsp/ts-language-server/src/parser.ts index 8fdc918c46..7de6247d5f 100644 --- a/src/meta-lsp/ts-language-server/src/parser.ts +++ b/src/meta-lsp/ts-language-server/src/parser.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import Parser = require("tree-sitter"); import { typescript as TypeScript } from "tree-sitter-typescript"; import { diff --git a/src/meta-lsp/ts-language-server/src/server.ts b/src/meta-lsp/ts-language-server/src/server.ts index d05c00b2ae..7a379f1bd6 100644 --- a/src/meta-lsp/ts-language-server/src/server.ts +++ b/src/meta-lsp/ts-language-server/src/server.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { LspServer } from "./server/index.ts"; const server = new LspServer(["deno", "lsp"]); diff --git a/src/meta-lsp/ts-language-server/src/server/documents.ts b/src/meta-lsp/ts-language-server/src/server/documents.ts index 40b2582844..11a0534c84 100644 --- a/src/meta-lsp/ts-language-server/src/server/documents.ts +++ b/src/meta-lsp/ts-language-server/src/server/documents.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Connection, TextDocuments } from "vscode-languageserver"; import { TextDocument } from "vscode-languageserver-textdocument"; import { ClientCapabilities } from "./mod.ts"; diff --git a/src/meta-lsp/ts-language-server/src/server/index.ts b/src/meta-lsp/ts-language-server/src/server/index.ts index 93166a06ca..e71540edd6 100644 --- a/src/meta-lsp/ts-language-server/src/server/index.ts +++ b/src/meta-lsp/ts-language-server/src/server/index.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { LspClient } from "ts-lsp-client"; import { createLspClient } from "../lsp_client.ts"; import { diff --git a/src/meta-lsp/ts-language-server/src/types.ts b/src/meta-lsp/ts-language-server/src/types.ts index 4dfd84a17e..bbfd219d3d 100644 --- a/src/meta-lsp/ts-language-server/src/types.ts +++ b/src/meta-lsp/ts-language-server/src/types.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Parser } from "../parser.ts"; export type TypegraphDefinition = { diff --git a/src/meta-lsp/ts-language-server/tests/expose_analysis.test.ts b/src/meta-lsp/ts-language-server/tests/expose_analysis.test.ts index d9660c561e..0e312c33e4 100644 --- a/src/meta-lsp/ts-language-server/tests/expose_analysis.test.ts +++ b/src/meta-lsp/ts-language-server/tests/expose_analysis.test.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { typescript } from "tree-sitter-typescript"; import { findTypegraphDefinitions, diff --git a/src/meta-lsp/ts-language-server/tests/typegraphs/deno_types.ts b/src/meta-lsp/ts-language-server/tests/typegraphs/deno_types.ts index b2ae684dc0..1e36f95d1a 100644 --- a/src/meta-lsp/ts-language-server/tests/typegraphs/deno_types.ts +++ b/src/meta-lsp/ts-language-server/tests/typegraphs/deno_types.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // TODO use deployed version of metatype in the import map import { Policy, t, typegraph } from "npm:@typegraph/sdk@0.2.4"; import { PythonRuntime } from "npm:@typegraph/sdk@0.2.4/runtimes/python"; diff --git a/src/meta-lsp/ts-language-server/tests/utils.ts b/src/meta-lsp/ts-language-server/tests/utils.ts index e69de29bb2..23d9e15ccf 100644 --- a/src/meta-lsp/ts-language-server/tests/utils.ts +++ b/src/meta-lsp/ts-language-server/tests/utils.ts @@ -0,0 +1,2 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 diff --git a/src/meta-lsp/vscode-metatype-support/src/extension.ts b/src/meta-lsp/vscode-metatype-support/src/extension.ts index 2cf821b9ed..c0a373c0af 100644 --- a/src/meta-lsp/vscode-metatype-support/src/extension.ts +++ b/src/meta-lsp/vscode-metatype-support/src/extension.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { join } from "node:path"; import { ExtensionContext } from "vscode"; diff --git a/src/metagen/fixtures/tg.ts b/src/metagen/fixtures/tg.ts index 12fbe189ba..e0e4dae44e 100644 --- a/src/metagen/fixtures/tg.ts +++ b/src/metagen/fixtures/tg.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Policy, t, typegraph } from "@typegraph/sdk/index.ts"; import { WasmRuntime } from "@typegraph/sdk/runtimes/wasm.ts"; diff --git a/src/metagen/src/client_py/static/client.py b/src/metagen/src/client_py/static/client.py index d943e26f9f..204bfc41a1 100644 --- a/src/metagen/src/client_py/static/client.py +++ b/src/metagen/src/client_py/static/client.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import typing import dataclasses as dc import json diff --git a/src/metagen/src/client_ts/static/mod.ts b/src/metagen/src/client_ts/static/mod.ts index 3c7ba074fa..3a075fb461 100644 --- a/src/metagen/src/client_ts/static/mod.ts +++ b/src/metagen/src/client_ts/static/mod.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + function _selectionToNodeSet( selection: Selection, metas: [string, () => NodeMeta][], diff --git a/src/metagen/src/fdk_substantial/mod.rs b/src/metagen/src/fdk_substantial/mod.rs index 494d76ee87..26f80816ea 100644 --- a/src/metagen/src/fdk_substantial/mod.rs +++ b/src/metagen/src/fdk_substantial/mod.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // TODO: keyword filtering use crate::interlude::*; diff --git a/src/metagen/src/fdk_substantial/static/substantial.py b/src/metagen/src/fdk_substantial/static/substantial.py index 621b0bdb4d..a8c98cf860 100644 --- a/src/metagen/src/fdk_substantial/static/substantial.py +++ b/src/metagen/src/fdk_substantial/static/substantial.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from datetime import timedelta from typing import Any, Callable, Optional from types import RetryStrategy diff --git a/src/metagen/src/fdk_substantial/static/types.py b/src/metagen/src/fdk_substantial/static/types.py index e10d852ca0..af87fe6058 100644 --- a/src/metagen/src/fdk_substantial/static/types.py +++ b/src/metagen/src/fdk_substantial/static/types.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from dataclasses import dataclass from typing import Union diff --git a/src/metagen/src/fdk_substantial/static/workflow.py b/src/metagen/src/fdk_substantial/static/workflow.py index 285844fa3c..377591f45a 100644 --- a/src/metagen/src/fdk_substantial/static/workflow.py +++ b/src/metagen/src/fdk_substantial/static/workflow.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from substantial import workflow, Context # noqa from substantial.types import RetryStrategy # noqa diff --git a/src/metagen/src/fdk_typescript/static/fdk.ts b/src/metagen/src/fdk_typescript/static/fdk.ts index ef276b7d43..28361dcebc 100644 --- a/src/metagen/src/fdk_typescript/static/fdk.ts +++ b/src/metagen/src/fdk_typescript/static/fdk.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + export type Ctx = { parent?: Record; /** diff --git a/src/pyrt_wit_wire/main.py b/src/pyrt_wit_wire/main.py index 28689e3fc9..91c941e7a4 100644 --- a/src/pyrt_wit_wire/main.py +++ b/src/pyrt_wit_wire/main.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import importlib import importlib.abc import importlib.machinery diff --git a/src/substantial/src/backends/fs.rs b/src/substantial/src/backends/fs.rs index f154dd7fa5..373c9e76c7 100644 --- a/src/substantial/src/backends/fs.rs +++ b/src/substantial/src/backends/fs.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use super::key_value::{Item, KeyValueBackend, KeyValueLike}; use anyhow::{Context, Result}; use chrono::{DateTime, Utc}; diff --git a/src/substantial/src/backends/key_value.rs b/src/substantial/src/backends/key_value.rs index be0d9a65c4..cd6cfce7ad 100644 --- a/src/substantial/src/backends/key_value.rs +++ b/src/substantial/src/backends/key_value.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use super::{Backend, BackendMetadataWriter, NextRun}; use crate::{ converters::{MetadataEvent, MetadataPayload}, diff --git a/src/substantial/src/backends/memory.rs b/src/substantial/src/backends/memory.rs index 40c2fa0912..0c23871968 100644 --- a/src/substantial/src/backends/memory.rs +++ b/src/substantial/src/backends/memory.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use super::key_value::{Item, KeyValueBackend, KeyValueLike}; use anyhow::Result; use chrono::{DateTime, Utc}; diff --git a/src/substantial/src/backends/mod.rs b/src/substantial/src/backends/mod.rs index f6541f64ff..6a4a8841f6 100644 --- a/src/substantial/src/backends/mod.rs +++ b/src/substantial/src/backends/mod.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; diff --git a/src/substantial/src/backends/redis.rs b/src/substantial/src/backends/redis.rs index 72a4b5139e..cee8ff228e 100644 --- a/src/substantial/src/backends/redis.rs +++ b/src/substantial/src/backends/redis.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use std::sync::Mutex; use super::{Backend, BackendMetadataWriter, NextRun}; diff --git a/src/substantial/src/converters.rs b/src/substantial/src/converters.rs index 3c146ca090..ea346d1288 100644 --- a/src/substantial/src/converters.rs +++ b/src/substantial/src/converters.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use std::collections::HashMap; use anyhow::{bail, Context, Ok, Result}; diff --git a/src/substantial/src/lib.rs b/src/substantial/src/lib.rs index 89fe1cf78e..81b09d8a52 100644 --- a/src/substantial/src/lib.rs +++ b/src/substantial/src/lib.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + pub mod backends; pub mod converters; pub mod protocol; diff --git a/src/substantial/tests/mod.rs b/src/substantial/tests/mod.rs index 26e5469297..e218f9a887 100644 --- a/src/substantial/tests/mod.rs +++ b/src/substantial/tests/mod.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + #[cfg(test)] mod tests { use std::{collections::HashMap, fmt::Debug, path::PathBuf, thread::sleep, time::Duration}; diff --git a/src/typegate/src/runtimes/substantial/agent.ts b/src/typegate/src/runtimes/substantial/agent.ts index 185a33eb9b..4fe0b4b7eb 100644 --- a/src/typegate/src/runtimes/substantial/agent.ts +++ b/src/typegate/src/runtimes/substantial/agent.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { AddScheduleInput, Backend, diff --git a/src/typegraph/core/src/runtimes/prisma/type_generation/mod.rs b/src/typegraph/core/src/runtimes/prisma/type_generation/mod.rs index d273666cdc..5a2f26e9dc 100644 --- a/src/typegraph/core/src/runtimes/prisma/type_generation/mod.rs +++ b/src/typegraph/core/src/runtimes/prisma/type_generation/mod.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. // // SPDX-License-Identifier: MPL-2.0 diff --git a/src/typegraph/core/src/types/type_ref.rs b/src/typegraph/core/src/types/type_ref.rs index aa4a0b09ac..57cd33b591 100644 --- a/src/typegraph/core/src/types/type_ref.rs +++ b/src/typegraph/core/src/types/type_ref.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use std::hash::Hash; use std::rc::Rc; diff --git a/src/typegraph/core/src/types/type_ref/as_id.rs b/src/typegraph/core/src/types/type_ref/as_id.rs index c5d2160eae..8b2c578b37 100644 --- a/src/typegraph/core/src/types/type_ref/as_id.rs +++ b/src/typegraph/core/src/types/type_ref/as_id.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use serde::{Deserialize, Serialize}; use super::{ExtendedTypeDef, FindAttribute as _, RefAttr, TypeRef}; diff --git a/src/typegraph/core/src/types/type_ref/injection.rs b/src/typegraph/core/src/types/type_ref/injection.rs index 9ae2846057..7296cc758b 100644 --- a/src/typegraph/core/src/types/type_ref/injection.rs +++ b/src/typegraph/core/src/types/type_ref/injection.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use super::{RefAttr, TypeRef}; use crate::types::Type; use crate::wit::utils::ReduceEntry; diff --git a/src/typegraph/core/src/types/type_ref/policy.rs b/src/typegraph/core/src/types/type_ref/policy.rs index 18e965fc23..6995a8b331 100644 --- a/src/typegraph/core/src/types/type_ref/policy.rs +++ b/src/typegraph/core/src/types/type_ref/policy.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use crate::errors::{Result, TgError}; use crate::types::Type; use serde::{Deserialize, Serialize}; diff --git a/src/typegraph/core/src/types/type_ref/runtime_config.rs b/src/typegraph/core/src/types/type_ref/runtime_config.rs index fc26313706..bcd2438f13 100644 --- a/src/typegraph/core/src/types/type_ref/runtime_config.rs +++ b/src/typegraph/core/src/types/type_ref/runtime_config.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use super::{RefAttr, TypeRef}; use crate::errors::{Result, TgError}; use crate::types::Type; diff --git a/src/typegraph/core/src/types/type_ref/xdef.rs b/src/typegraph/core/src/types/type_ref/xdef.rs index 0cf7ce5960..613c5c9635 100644 --- a/src/typegraph/core/src/types/type_ref/xdef.rs +++ b/src/typegraph/core/src/types/type_ref/xdef.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use super::{FlatTypeRef, FlatTypeRefTarget, RefAttr, RefAttrs, TypeRef}; use crate::errors::Result; use crate::global_store::Store; diff --git a/src/typegraph/core/src/utils/postprocess/naming.rs b/src/typegraph/core/src/utils/postprocess/naming.rs index 708a38581a..ab636ae38a 100644 --- a/src/typegraph/core/src/utils/postprocess/naming.rs +++ b/src/typegraph/core/src/utils/postprocess/naming.rs @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + use std::{ collections::{HashMap, HashSet}, rc::Rc, diff --git a/tests/auth/auth.py b/tests/auth/auth.py index cf1c9c7f63..78ea96dd53 100644 --- a/tests/auth/auth.py +++ b/tests/auth/auth.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/dedup/dedup_test.ts b/tests/dedup/dedup_test.ts index c6985433f9..651d97b714 100644 --- a/tests/dedup/dedup_test.ts +++ b/tests/dedup/dedup_test.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Meta } from "test-utils/mod.ts"; import { Typegraph } from "@metatype/typegate/typegraph/types.ts"; import { assert, assertEquals } from "@std/assert"; diff --git a/tests/docs/how-tos/prog_deploy/prog_deploy.py b/tests/docs/how-tos/prog_deploy/prog_deploy.py index 0e53ac081a..1638702dc7 100644 --- a/tests/docs/how-tos/prog_deploy/prog_deploy.py +++ b/tests/docs/how-tos/prog_deploy/prog_deploy.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import os from os import path diff --git a/tests/docs/how-tos/prog_deploy/prog_remove.py b/tests/docs/how-tos/prog_deploy/prog_remove.py index c26f27f8e9..5e8acbceea 100644 --- a/tests/docs/how-tos/prog_deploy/prog_remove.py +++ b/tests/docs/how-tos/prog_deploy/prog_remove.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # .. from typegraph.graph.tg_deploy import ( TypegateConnectionOptions, diff --git a/tests/e2e/cli/artifacts/ops.ts b/tests/e2e/cli/artifacts/ops.ts index cbd08ebe39..dc0fea8ce4 100644 --- a/tests/e2e/cli/artifacts/ops.ts +++ b/tests/e2e/cli/artifacts/ops.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + export function add({ lhs, rhs }: { lhs: number; rhs: number }) { return lhs + rhs; } diff --git a/tests/e2e/cli/templates/migration.py b/tests/e2e/cli/templates/migration.py index dbabc8ba0b..905c917caa 100644 --- a/tests/e2e/cli/templates/migration.py +++ b/tests/e2e/cli/templates/migration.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, t, Graph, Policy from typegraph.providers import PrismaRuntime diff --git a/tests/e2e/nextjs/apollo/app/layout.tsx b/tests/e2e/nextjs/apollo/app/layout.tsx index 5ff842ef07..53574ea2cf 100644 --- a/tests/e2e/nextjs/apollo/app/layout.tsx +++ b/tests/e2e/nextjs/apollo/app/layout.tsx @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + export const metadata = { title: "Next.js", description: "Generated by Next.js", diff --git a/tests/e2e/nextjs/apollo/app/page.tsx b/tests/e2e/nextjs/apollo/app/page.tsx index ad61ffa67c..a631ae64fb 100644 --- a/tests/e2e/nextjs/apollo/app/page.tsx +++ b/tests/e2e/nextjs/apollo/app/page.tsx @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + export default function Home() { return (
diff --git a/tests/e2e/nextjs/typegraph/apollo.py b/tests/e2e/nextjs/typegraph/apollo.py index fcf770f934..e862eec119 100644 --- a/tests/e2e/nextjs/typegraph/apollo.py +++ b/tests/e2e/nextjs/typegraph/apollo.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.providers.aws import S3Runtime diff --git a/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py b/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py index a89cb68896..4d676167fe 100644 --- a/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py +++ b/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, t, typegraph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/e2e/typegraph/validator.py b/tests/e2e/typegraph/validator.py index 41ad8293c3..8c3cbf7e45 100644 --- a/tests/e2e/typegraph/validator.py +++ b/tests/e2e/typegraph/validator.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, t, Graph from typegraph.runtimes import DenoRuntime diff --git a/tests/graphql/graphql.py b/tests/graphql/graphql.py index 3a66f54ac8..1721419a78 100644 --- a/tests/graphql/graphql.py +++ b/tests/graphql/graphql.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, effects, Policy, t, Graph from typegraph.runtimes.graphql import GraphQLRuntime diff --git a/tests/importers/gql_original.py b/tests/importers/gql_original.py index 796662501f..ba8204a9e6 100644 --- a/tests/importers/gql_original.py +++ b/tests/importers/gql_original.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import json from pathlib import Path diff --git a/tests/importers/introspection.py b/tests/importers/introspection.py index ffa5fd3e67..88c483c76c 100644 --- a/tests/importers/introspection.py +++ b/tests/importers/introspection.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from pathlib import Path import httpx diff --git a/tests/importers/openapi_original.py b/tests/importers/openapi_original.py index e18fab12e2..88bbfbfe9c 100644 --- a/tests/importers/openapi_original.py +++ b/tests/importers/openapi_original.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import json from pathlib import Path diff --git a/tests/importers/openapi_schema.py b/tests/importers/openapi_schema.py index e9a93d533d..cf14f6ff11 100644 --- a/tests/importers/openapi_schema.py +++ b/tests/importers/openapi_schema.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from pathlib import Path import httpx diff --git a/tests/injection/injection.py b/tests/injection/injection.py index 67d28c8ce2..a01c3b7b58 100644 --- a/tests/injection/injection.py +++ b/tests/injection/injection.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, effects, Policy, t, Graph from typegraph.providers.prisma import PrismaRuntime from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/injection/nested_context.py b/tests/injection/nested_context.py index e25c9e0ccb..5663dc34dd 100644 --- a/tests/injection/nested_context.py +++ b/tests/injection/nested_context.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes import DenoRuntime diff --git a/tests/injection/random_injection.py b/tests/injection/random_injection.py index dc0d0fc1dc..10de670d56 100644 --- a/tests/injection/random_injection.py +++ b/tests/injection/random_injection.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/internal/internal.py b/tests/internal/internal.py index 63ac78dc03..cc2c66aa14 100644 --- a/tests/internal/internal.py +++ b/tests/internal/internal.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/internal/py/logic_types.py b/tests/internal/py/logic_types.py index 125ceaa52d..1946de506e 100644 --- a/tests/internal/py/logic_types.py +++ b/tests/internal/py/logic_types.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from types import NoneType from typing import Callable, List, Union, get_origin, ForwardRef, Any from dataclasses import dataclass, asdict, fields diff --git a/tests/introspection/union_either.py b/tests/introspection/union_either.py index 3db6e4d495..52855df50f 100644 --- a/tests/introspection/union_either.py +++ b/tests/introspection/union_either.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/metagen/typegraphs/identities.py b/tests/metagen/typegraphs/identities.py index 6c57c14b98..eb8cef8c1d 100644 --- a/tests/metagen/typegraphs/identities.py +++ b/tests/metagen/typegraphs/identities.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.python import PythonRuntime from typegraph.runtimes.wasm import WasmRuntime diff --git a/tests/metagen/typegraphs/identities/py/handlers.py b/tests/metagen/typegraphs/identities/py/handlers.py index 02375b1473..d00f8a9963 100644 --- a/tests/metagen/typegraphs/identities/py/handlers.py +++ b/tests/metagen/typegraphs/identities/py/handlers.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from .handlers_types import ( Composites, typed_cycles, diff --git a/tests/metagen/typegraphs/identities/py/handlers_types.py b/tests/metagen/typegraphs/identities/py/handlers_types.py index cdf0871dd3..23ecb7c20e 100644 --- a/tests/metagen/typegraphs/identities/py/handlers_types.py +++ b/tests/metagen/typegraphs/identities/py/handlers_types.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from types import NoneType from typing import Callable, List, Union, get_origin, ForwardRef, Any from dataclasses import dataclass, asdict, fields diff --git a/tests/metagen/typegraphs/identities/ts/fdk.ts b/tests/metagen/typegraphs/identities/ts/fdk.ts index edcee66bf3..b3926d9dfa 100644 --- a/tests/metagen/typegraphs/identities/ts/fdk.ts +++ b/tests/metagen/typegraphs/identities/ts/fdk.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // This file was @generated by metagen and is intended // to be generated again on subsequent metagen runs. diff --git a/tests/metagen/typegraphs/metagen.py b/tests/metagen/typegraphs/metagen.py index 889734cecc..758d93d0ae 100644 --- a/tests/metagen/typegraphs/metagen.py +++ b/tests/metagen/typegraphs/metagen.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from dataclasses import asdict from os import getenv from typegraph import typegraph, Policy, t, Graph diff --git a/tests/metagen/typegraphs/python.py b/tests/metagen/typegraphs/python.py index 0461795936..e2f89bfd2c 100644 --- a/tests/metagen/typegraphs/python.py +++ b/tests/metagen/typegraphs/python.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.python import PythonRuntime diff --git a/tests/metagen/typegraphs/sample/py/client.py b/tests/metagen/typegraphs/sample/py/client.py index 935d695e9a..0d84e1e127 100644 --- a/tests/metagen/typegraphs/sample/py/client.py +++ b/tests/metagen/typegraphs/sample/py/client.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # This file was @generated by metagen and is intended # to be generated again on subsequent metagen runs. diff --git a/tests/metagen/typegraphs/sample/py/main.py b/tests/metagen/typegraphs/sample/py/main.py index e44d491f0b..2f9ed1d14b 100644 --- a/tests/metagen/typegraphs/sample/py/main.py +++ b/tests/metagen/typegraphs/sample/py/main.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from client import ( QueryGraph, PostSelections, diff --git a/tests/metagen/typegraphs/sample/ts/client.ts b/tests/metagen/typegraphs/sample/ts/client.ts index 4bbf3fc00f..34de517d33 100644 --- a/tests/metagen/typegraphs/sample/ts/client.ts +++ b/tests/metagen/typegraphs/sample/ts/client.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // This file was @generated by metagen and is intended // to be generated again on subsequent metagen runs. diff --git a/tests/multi_typegraph/multi_typegraph.py b/tests/multi_typegraph/multi_typegraph.py index 43a0331a32..bdafd8645f 100644 --- a/tests/multi_typegraph/multi_typegraph.py +++ b/tests/multi_typegraph/multi_typegraph.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/nesting/nesting.py b/tests/nesting/nesting.py index e0c15a0047..9fcb3566f1 100644 --- a/tests/nesting/nesting.py +++ b/tests/nesting/nesting.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.http import HttpRuntime diff --git a/tests/params/apply.py b/tests/params/apply.py index f47e11f1d7..ad71ae1d6b 100644 --- a/tests/params/apply.py +++ b/tests/params/apply.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/params/apply_nested_context.py b/tests/params/apply_nested_context.py index 1335bdbac9..5ffdc69908 100644 --- a/tests/params/apply_nested_context.py +++ b/tests/params/apply_nested_context.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, t, Graph, Policy from typegraph.runtimes import DenoRuntime diff --git a/tests/params/prisma_apply.py b/tests/params/prisma_apply.py index 78afba91b7..fc6b4c5304 100644 --- a/tests/params/prisma_apply.py +++ b/tests/params/prisma_apply.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.providers import PrismaRuntime diff --git a/tests/planner/planner.py b/tests/planner/planner.py index 88d75071f0..11911fe5aa 100644 --- a/tests/planner/planner.py +++ b/tests/planner/planner.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, t, Graph, Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/policies/effects_py.py b/tests/policies/effects_py.py index a1edcd643e..0bbbd06898 100644 --- a/tests/policies/effects_py.py +++ b/tests/policies/effects_py.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, effects, t, typegraph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/policies/policies.py b/tests/policies/policies.py index 8363dbe999..78e308364f 100644 --- a/tests/policies/policies.py +++ b/tests/policies/policies.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, t, Graph, Policy from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/policies/policies_jwt.py b/tests/policies/policies_jwt.py index 8fb1199b71..6410178d49 100644 --- a/tests/policies/policies_jwt.py +++ b/tests/policies/policies_jwt.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import re from typegraph import typegraph, Policy, t, Graph diff --git a/tests/policies/policies_jwt_format.py b/tests/policies/policies_jwt_format.py index 28d6ae61b7..6ae596adb9 100644 --- a/tests/policies/policies_jwt_format.py +++ b/tests/policies/policies_jwt_format.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/policies/policies_jwt_injection.py b/tests/policies/policies_jwt_injection.py index 427b5d9724..bc67e5ed53 100644 --- a/tests/policies/policies_jwt_injection.py +++ b/tests/policies/policies_jwt_injection.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/query_parsers/graphql_namespaces.py b/tests/query_parsers/graphql_namespaces.py index 6be69ae61c..b70e47cdf0 100644 --- a/tests/query_parsers/graphql_namespaces.py +++ b/tests/query_parsers/graphql_namespaces.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, effects, Policy, t, Graph from typegraph.runtimes.graphql import GraphQLRuntime diff --git a/tests/regression/invalid_ref_error_message/invalid_ref.py b/tests/regression/invalid_ref_error_message/invalid_ref.py index 452db23bdf..228f0afcad 100644 --- a/tests/regression/invalid_ref_error_message/invalid_ref.py +++ b/tests/regression/invalid_ref_error_message/invalid_ref.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Graph, Policy, t from typegraph.runtimes import DenoRuntime diff --git a/tests/rest/rest_simple.py b/tests/rest/rest_simple.py index 6496e67874..e2678f2f26 100644 --- a/tests/rest/rest_simple.py +++ b/tests/rest/rest_simple.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno.py b/tests/runtimes/deno/deno.py index 9d8370c1f0..c29562f9a9 100644 --- a/tests/runtimes/deno/deno.py +++ b/tests/runtimes/deno/deno.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_dep.py b/tests/runtimes/deno/deno_dep.py index 00ccae2fb1..e30ba0d969 100644 --- a/tests/runtimes/deno/deno_dep.py +++ b/tests/runtimes/deno/deno_dep.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_dir.py b/tests/runtimes/deno/deno_dir.py index f3ca1b0ad4..a177da89d7 100644 --- a/tests/runtimes/deno/deno_dir.py +++ b/tests/runtimes/deno/deno_dir.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_duplicate_artifact.py b/tests/runtimes/deno/deno_duplicate_artifact.py index 8b094d0d38..24a7f78175 100644 --- a/tests/runtimes/deno/deno_duplicate_artifact.py +++ b/tests/runtimes/deno/deno_duplicate_artifact.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_globs.py b/tests/runtimes/deno/deno_globs.py index f0ab6420d7..39737bd582 100644 --- a/tests/runtimes/deno/deno_globs.py +++ b/tests/runtimes/deno/deno_globs.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_no_artifact.py b/tests/runtimes/deno/deno_no_artifact.py index 681d50fdb9..efdfa35d57 100644 --- a/tests/runtimes/deno/deno_no_artifact.py +++ b/tests/runtimes/deno/deno_no_artifact.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_partial.py b/tests/runtimes/deno/deno_partial.py index c4441993f8..6d0283ab0c 100644 --- a/tests/runtimes/deno/deno_partial.py +++ b/tests/runtimes/deno/deno_partial.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/runtimes/deno/deno_reload.py b/tests/runtimes/deno/deno_reload.py index c126b45e67..f8a1327dc1 100644 --- a/tests/runtimes/deno/deno_reload.py +++ b/tests/runtimes/deno/deno_reload.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import os from typegraph.graph.typegraph import Graph from typegraph.policy import Policy diff --git a/tests/runtimes/graphql/typegraphs/python/graphql.py b/tests/runtimes/graphql/typegraphs/python/graphql.py index 1c11184b86..e96270a604 100644 --- a/tests/runtimes/graphql/typegraphs/python/graphql.py +++ b/tests/runtimes/graphql/typegraphs/python/graphql.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.providers.prisma import PrismaRuntime from typegraph.runtimes.graphql import GraphQLRuntime diff --git a/tests/runtimes/http/http_content_type.py b/tests/runtimes/http/http_content_type.py index 9997a2d9f5..1141560c58 100644 --- a/tests/runtimes/http/http_content_type.py +++ b/tests/runtimes/http/http_content_type.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.http import HttpRuntime diff --git a/tests/runtimes/http/http_py.py b/tests/runtimes/http/http_py.py index 2f3b713469..778f7cebba 100644 --- a/tests/runtimes/http/http_py.py +++ b/tests/runtimes/http/http_py.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.http import HttpRuntime diff --git a/tests/runtimes/prisma/full_prisma_mapping.py b/tests/runtimes/prisma/full_prisma_mapping.py index 6ab88a46ba..08fc422517 100644 --- a/tests/runtimes/prisma/full_prisma_mapping.py +++ b/tests/runtimes/prisma/full_prisma_mapping.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.gen.exports.runtimes import EffectUpdate from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/mixed_runtime.py b/tests/runtimes/prisma/mixed_runtime.py index 2e27d1772b..7ec6cd2baf 100644 --- a/tests/runtimes/prisma/mixed_runtime.py +++ b/tests/runtimes/prisma/mixed_runtime.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, t, Graph, Policy from typegraph.providers.prisma import PrismaRuntime from typegraph.runtimes.graphql import GraphQLRuntime diff --git a/tests/runtimes/prisma/multi_relations.py b/tests/runtimes/prisma/multi_relations.py index e06d8c933b..45b1182680 100644 --- a/tests/runtimes/prisma/multi_relations.py +++ b/tests/runtimes/prisma/multi_relations.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/multiple_runtimes.py b/tests/runtimes/prisma/multiple_runtimes.py index 2b9f8114a1..251b4662c5 100644 --- a/tests/runtimes/prisma/multiple_runtimes.py +++ b/tests/runtimes/prisma/multiple_runtimes.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/normal_1_1.py b/tests/runtimes/prisma/normal_1_1.py index 7837f08ce3..987e45ea6a 100644 --- a/tests/runtimes/prisma/normal_1_1.py +++ b/tests/runtimes/prisma/normal_1_1.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/optional_1_1.py b/tests/runtimes/prisma/optional_1_1.py index b5b0b1f589..d7d5074e10 100644 --- a/tests/runtimes/prisma/optional_1_1.py +++ b/tests/runtimes/prisma/optional_1_1.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/optional_1_n.py b/tests/runtimes/prisma/optional_1_n.py index a580230c28..08f0581f79 100644 --- a/tests/runtimes/prisma/optional_1_n.py +++ b/tests/runtimes/prisma/optional_1_n.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/prisma.py b/tests/runtimes/prisma/prisma.py index 7e7165dabe..ac5aba27bd 100644 --- a/tests/runtimes/prisma/prisma.py +++ b/tests/runtimes/prisma/prisma.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.providers.prisma import PrismaRuntime from typegraph.effects import CREATE diff --git a/tests/runtimes/prisma/prisma_edgecases.py b/tests/runtimes/prisma/prisma_edgecases.py index 79964f5330..2086696b12 100644 --- a/tests/runtimes/prisma/prisma_edgecases.py +++ b/tests/runtimes/prisma/prisma_edgecases.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/schema_generation.py b/tests/runtimes/prisma/schema_generation.py index 16035e21fe..25c2c4a119 100644 --- a/tests/runtimes/prisma/schema_generation.py +++ b/tests/runtimes/prisma/schema_generation.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.effects import CREATE, UPDATE from typegraph.providers import PrismaRuntime from typegraph.runtimes import DenoRuntime diff --git a/tests/runtimes/python/py/hello.py b/tests/runtimes/python/py/hello.py index dc9b0d49b8..9c1b96c123 100644 --- a/tests/runtimes/python/py/hello.py +++ b/tests/runtimes/python/py/hello.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from .nested.dep import hello from typing import Dict diff --git a/tests/runtimes/python/py/nested/dep.py b/tests/runtimes/python/py/nested/dep.py index a8406242a8..6cfce6287a 100644 --- a/tests/runtimes/python/py/nested/dep.py +++ b/tests/runtimes/python/py/nested/dep.py @@ -1,2 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + + def hello(name: str): return f"Hello {name}" diff --git a/tests/runtimes/python/python.py b/tests/runtimes/python/python.py index cd3610a8ed..1e00272ac1 100644 --- a/tests/runtimes/python/python.py +++ b/tests/runtimes/python/python.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime diff --git a/tests/runtimes/python/python_dir.py b/tests/runtimes/python/python_dir.py index bbb3e64f6f..184609dd2a 100644 --- a/tests/runtimes/python/python_dir.py +++ b/tests/runtimes/python/python_dir.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime diff --git a/tests/runtimes/python/python_duplicate_artifact.py b/tests/runtimes/python/python_duplicate_artifact.py index 30ca0d82da..1b998c6b86 100644 --- a/tests/runtimes/python/python_duplicate_artifact.py +++ b/tests/runtimes/python/python_duplicate_artifact.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime diff --git a/tests/runtimes/python/python_globs.py b/tests/runtimes/python/python_globs.py index 617d292546..b7d49c9368 100644 --- a/tests/runtimes/python/python_globs.py +++ b/tests/runtimes/python/python_globs.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime diff --git a/tests/runtimes/python/python_no_artifact.py b/tests/runtimes/python/python_no_artifact.py index e9bd61bd9f..b6122af5b1 100644 --- a/tests/runtimes/python/python_no_artifact.py +++ b/tests/runtimes/python/python_no_artifact.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime diff --git a/tests/runtimes/random/random_.py b/tests/runtimes/random/random_.py index 65443e5b3d..a99a3b4886 100644 --- a/tests/runtimes/random/random_.py +++ b/tests/runtimes/random/random_.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy diff --git a/tests/runtimes/s3/s3.py b/tests/runtimes/s3/s3.py index dede2e75d8..a5443f3290 100644 --- a/tests/runtimes/s3/s3.py +++ b/tests/runtimes/s3/s3.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.providers.aws import S3Runtime diff --git a/tests/runtimes/substantial/child_workflow.ts b/tests/runtimes/substantial/child_workflow.ts index 9e77ccc84e..161dc40e04 100644 --- a/tests/runtimes/substantial/child_workflow.ts +++ b/tests/runtimes/substantial/child_workflow.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Context } from "./imports/common_types.ts"; function apply(pkg: string, oldVersion: string, newVersion: string) { diff --git a/tests/runtimes/substantial/common.ts b/tests/runtimes/substantial/common.ts index 6c2f833680..e1514b12f3 100644 --- a/tests/runtimes/substantial/common.ts +++ b/tests/runtimes/substantial/common.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { assertEquals, assertExists } from "@std/assert"; import { connect, parseURL } from "redis"; import { gql, Meta, sleep } from "../../utils/mod.ts"; diff --git a/tests/runtimes/substantial/imports/common_types.ts b/tests/runtimes/substantial/imports/common_types.ts index 95cde71752..3d7fe58dc7 100644 --- a/tests/runtimes/substantial/imports/common_types.ts +++ b/tests/runtimes/substantial/imports/common_types.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + // TODO: include this as part of the metagen generated code // TODO: merge these diff --git a/tests/runtimes/substantial/substantial.py b/tests/runtimes/substantial/substantial.py index 55c2b82a9c..6bc0936289 100644 --- a/tests/runtimes/substantial/substantial.py +++ b/tests/runtimes/substantial/substantial.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import os from typegraph import typegraph, t, Graph from typegraph.policy import Policy diff --git a/tests/runtimes/substantial/substantial_child_workflow.py b/tests/runtimes/substantial/substantial_child_workflow.py index 560dae1491..e9a545aadd 100644 --- a/tests/runtimes/substantial/substantial_child_workflow.py +++ b/tests/runtimes/substantial/substantial_child_workflow.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import os from typegraph import typegraph, t, Graph from typegraph.policy import Policy diff --git a/tests/runtimes/substantial/substantial_test.ts b/tests/runtimes/substantial/substantial_test.ts index f071401015..fce40e9ff3 100644 --- a/tests/runtimes/substantial/substantial_test.ts +++ b/tests/runtimes/substantial/substantial_test.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { basicTestTemplate } from "./common.ts"; basicTestTemplate("memory", { diff --git a/tests/runtimes/substantial/workflow.ts b/tests/runtimes/substantial/workflow.ts index 59d7a70737..9722260f21 100644 --- a/tests/runtimes/substantial/workflow.ts +++ b/tests/runtimes/substantial/workflow.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Context, queryThatTakesAWhile, diff --git a/tests/runtimes/temporal/temporal.py b/tests/runtimes/temporal/temporal.py index 3192aa6395..0c35ffb86d 100644 --- a/tests/runtimes/temporal/temporal.py +++ b/tests/runtimes/temporal/temporal.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import t, typegraph, Policy, Graph from typegraph.providers.temporal import TemporalRuntime diff --git a/tests/runtimes/wasm_reflected/wasm_duplicate.py b/tests/runtimes/wasm_reflected/wasm_duplicate.py index 8f53718569..9ec1e82bb5 100644 --- a/tests/runtimes/wasm_reflected/wasm_duplicate.py +++ b/tests/runtimes/wasm_reflected/wasm_duplicate.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.wasm import WasmRuntime diff --git a/tests/runtimes/wasm_reflected/wasm_reflected.py b/tests/runtimes/wasm_reflected/wasm_reflected.py index f013f31210..7d268c2ea4 100644 --- a/tests/runtimes/wasm_reflected/wasm_reflected.py +++ b/tests/runtimes/wasm_reflected/wasm_reflected.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.wasm import WasmRuntime diff --git a/tests/runtimes/wasm_wire/wasm_wire.py b/tests/runtimes/wasm_wire/wasm_wire.py index c73e19b42f..f5b39d34e7 100644 --- a/tests/runtimes/wasm_wire/wasm_wire.py +++ b/tests/runtimes/wasm_wire/wasm_wire.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.wasm import WasmRuntime diff --git a/tests/schema_validation/circular.py b/tests/schema_validation/circular.py index eaa2401d79..72dba1405e 100644 --- a/tests/schema_validation/circular.py +++ b/tests/schema_validation/circular.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/schema_validation/type_comparison.py b/tests/schema_validation/type_comparison.py index 6724fc666d..8852be1656 100644 --- a/tests/schema_validation/type_comparison.py +++ b/tests/schema_validation/type_comparison.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import t, typegraph, Graph, Policy from typegraph.runtimes import DenoRuntime diff --git a/tests/schema_validation/type_comparison_test.ts b/tests/schema_validation/type_comparison_test.ts index 7ca64b02ce..43941fb967 100644 --- a/tests/schema_validation/type_comparison_test.ts +++ b/tests/schema_validation/type_comparison_test.ts @@ -1,3 +1,6 @@ +// Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +// SPDX-License-Identifier: MPL-2.0 + import { Meta } from "../utils/mod.ts"; Meta.test("type comparison test", async (t) => { diff --git a/tests/simple/class_syntax.py b/tests/simple/class_syntax.py index bd1cf673ab..ff206ad402 100644 --- a/tests/simple/class_syntax.py +++ b/tests/simple/class_syntax.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/simple/error_message.py b/tests/simple/error_message.py index 5500e4238a..3b75322e54 100644 --- a/tests/simple/error_message.py +++ b/tests/simple/error_message.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, effects, Policy, t, Graph from typegraph.runtimes import DenoRuntime diff --git a/tests/simple/simple.py b/tests/simple/simple.py index a7b86fd1c0..ca0cd9a968 100644 --- a/tests/simple/simple.py +++ b/tests/simple/simple.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/type_nodes/array_of_optional.py b/tests/type_nodes/array_of_optional.py index 6873243bdd..6f427206c9 100644 --- a/tests/type_nodes/array_of_optional.py +++ b/tests/type_nodes/array_of_optional.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Policy, t, typegraph, Graph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/type_nodes/either_node.py b/tests/type_nodes/either_node.py index e442af7a3b..989a84d398 100644 --- a/tests/type_nodes/either_node.py +++ b/tests/type_nodes/either_node.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/type_nodes/union_node.py b/tests/type_nodes/union_node.py index 87c75404fb..ec02fab932 100644 --- a/tests/type_nodes/union_node.py +++ b/tests/type_nodes/union_node.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/type_nodes/union_node_attr.py b/tests/type_nodes/union_node_attr.py index c77b8d3c16..056dceb033 100644 --- a/tests/type_nodes/union_node_attr.py +++ b/tests/type_nodes/union_node_attr.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/type_nodes/union_node_quantifier.py b/tests/type_nodes/union_node_quantifier.py index 46e92cdc2d..c3befb5f74 100644 --- a/tests/type_nodes/union_node_quantifier.py +++ b/tests/type_nodes/union_node_quantifier.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/typecheck/reduce_py.py b/tests/typecheck/reduce_py.py index 9829a35cb0..dc4e2ea88f 100644 --- a/tests/typecheck/reduce_py.py +++ b/tests/typecheck/reduce_py.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/typecheck/type_alias.py b/tests/typecheck/type_alias.py index 3f7c068761..913c6dd540 100644 --- a/tests/typecheck/type_alias.py +++ b/tests/typecheck/type_alias.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes import RandomRuntime from typegraph.providers import PrismaRuntime diff --git a/tests/typename/typename.py b/tests/typename/typename.py index a867717f17..6ca4cbcfd9 100644 --- a/tests/typename/typename.py +++ b/tests/typename/typename.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, effects, t, typegraph from typegraph.providers.prisma import PrismaRuntime from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/utils/tg_deploy_script.py b/tests/utils/tg_deploy_script.py index ebaa20c3af..ac9d036680 100644 --- a/tests/utils/tg_deploy_script.py +++ b/tests/utils/tg_deploy_script.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import importlib.util as import_util import json import os diff --git a/tests/vars/vars.py b/tests/vars/vars.py index 702b8cad91..fb00295bda 100644 --- a/tests/vars/vars.py +++ b/tests/vars/vars.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import typegraph, Policy, t, Graph from typegraph.runtimes.deno import DenoRuntime From 232f7d8a866e85d9068a372f96c90bce6d1f1e3f Mon Sep 17 00:00:00 2001 From: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Date: Mon, 11 Nov 2024 20:12:32 +0300 Subject: [PATCH 10/10] fix: enable more ruff checks --- .ghjk/lock.json | 92 +++++++++++++++++++ .pre-commit-config.yaml | 8 +- .../docs/guides/securing-requests/cors.py | 2 +- examples/demo/demo.py | 5 +- examples/deploy/deploy.py | 12 ++- examples/templates/python/api/example.py | 5 +- examples/typegraphs/authentication.py | 5 +- examples/typegraphs/backend-for-frontend.py | 7 +- examples/typegraphs/basic.py | 7 +- examples/typegraphs/cors.py | 5 +- examples/typegraphs/database.py | 5 +- examples/typegraphs/deno.py | 5 +- examples/typegraphs/docs.py | 5 +- examples/typegraphs/example_rest.py | 5 +- examples/typegraphs/execute.py | 20 ++-- examples/typegraphs/faas-runner.py | 5 +- examples/typegraphs/files-upload.py | 7 +- examples/typegraphs/first-typegraph.py | 7 +- examples/typegraphs/func-ctx.py | 10 +- examples/typegraphs/func-gql.py | 14 +-- examples/typegraphs/func.py | 19 ++-- examples/typegraphs/functions.py | 5 +- examples/typegraphs/graphql-server.py | 7 +- examples/typegraphs/graphql.py | 9 +- examples/typegraphs/http-runtime.py | 9 +- examples/typegraphs/iam-provider.py | 7 +- examples/typegraphs/index.py | 5 +- examples/typegraphs/injections.py | 13 ++- examples/typegraphs/jwt.py | 7 +- examples/typegraphs/math.py | 5 +- examples/typegraphs/metagen-deno.py | 8 +- examples/typegraphs/metagen-py.py | 10 +- examples/typegraphs/metagen-rs.py | 8 +- examples/typegraphs/metagen-sdk.py | 16 ++-- examples/typegraphs/metagen/py/remix.py | 5 +- examples/typegraphs/metagen/py/remix_types.py | 7 +- examples/typegraphs/oauth2.py | 7 +- examples/typegraphs/policies.py | 7 +- examples/typegraphs/prisma-runtime.py | 5 +- examples/typegraphs/prisma.py | 7 +- .../typegraphs/programmable-api-gateway.py | 6 +- examples/typegraphs/quick-start-project.py | 5 +- examples/typegraphs/random-field.py | 9 +- examples/typegraphs/rate.py | 5 +- examples/typegraphs/reduce.py | 14 +-- examples/typegraphs/rest.py | 18 ++-- examples/typegraphs/roadmap-policies.py | 10 +- examples/typegraphs/roadmap-random.py | 18 ++-- examples/typegraphs/runtimes.py | 9 +- examples/typegraphs/temporal.py | 8 +- examples/typegraphs/triggers.py | 5 +- examples/typegraphs/typecheck.py | 11 ++- examples/typegraphs/types.py | 11 ++- examples/typegraphs/union-either.py | 11 ++- ghjk.ts | 4 + pyproject.toml | 21 +++++ src/metagen/src/client_py/static/client.py | 73 +++++++++------ .../src/fdk_substantial/static/substantial.py | 2 +- src/pyrt_wit_wire/main.py | 30 +++--- src/typegate/src/typegraphs/introspection.py | 15 ++- .../src/typegraphs/prisma_migration.py | 3 +- src/typegate/src/typegraphs/typegate.py | 85 ++++++++++------- src/typegraph/deno/src/tg_artifact_upload.ts | 2 +- .../python/typegraph/deploy/request.py | 2 +- src/typegraph/python/typegraph/envs/cli.py | 11 ++- .../python/typegraph/graph/metagen.py | 7 +- .../python/typegraph/graph/params.py | 85 ++++++++++------- .../python/typegraph/graph/shared_types.py | 5 +- .../typegraph/graph/tg_artifact_upload.py | 17 ++-- .../python/typegraph/graph/tg_deploy.py | 16 ++-- .../python/typegraph/graph/tg_manage.py | 10 +- .../python/typegraph/graph/typegraph.py | 18 ++-- src/typegraph/python/typegraph/host/host.py | 10 +- src/typegraph/python/typegraph/injection.py | 24 ++--- src/typegraph/python/typegraph/io.py | 18 ++-- src/typegraph/python/typegraph/policy.py | 12 +-- .../python/typegraph/providers/aws.py | 8 +- .../python/typegraph/providers/prisma.py | 26 ++++-- .../python/typegraph/providers/temporal.py | 35 ++++--- .../python/typegraph/runtimes/__init__.py | 2 +- .../python/typegraph/runtimes/deno.py | 28 ++++-- .../python/typegraph/runtimes/graphql.py | 9 +- .../python/typegraph/runtimes/http.py | 20 ++-- src/typegraph/python/typegraph/runtimes/kv.py | 12 ++- .../python/typegraph/runtimes/python.py | 42 +++++---- .../python/typegraph/runtimes/random.py | 5 +- .../python/typegraph/runtimes/substantial.py | 25 +++-- .../python/typegraph/runtimes/wasm.py | 5 +- src/typegraph/python/typegraph/t.py | 45 ++++++--- src/typegraph/python/typegraph/utils.py | 21 ++--- src/typegraph/python/typegraph/wit.py | 19 ++-- tests/auth/auth.py | 9 +- tests/auto/test/test.py | 2 +- tests/docs/how-tos/prog_deploy/prog_deploy.py | 7 +- tests/docs/how-tos/prog_deploy/prog_remove.py | 10 +- tests/e2e/cli/templates/migration.py | 2 +- tests/e2e/nextjs/typegraph/apollo.py | 6 +- .../typegraphs/python/multiple_runtimes.py | 2 +- .../e2e/typegraph/typegraphs/python/simple.py | 6 +- tests/e2e/typegraph/validator.py | 30 +++--- tests/graphql/graphql.py | 6 +- tests/importers/gql_original.py | 1 - tests/importers/introspection.py | 3 +- tests/importers/openapi_original.py | 1 - tests/injection/injection.py | 30 +++--- tests/injection/nested_context.py | 10 +- tests/injection/random_injection.py | 22 ++--- tests/internal/internal.py | 10 +- tests/internal/py/logic.py | 3 +- tests/internal/py/logic_types.py | 4 +- tests/introspection/union_either.py | 5 +- .../__snapshots__/metagen_test.ts.snap | 14 ++- tests/metagen/metagen_test.ts | 12 +-- tests/metagen/typegraphs/identities.py | 28 +++--- .../typegraphs/identities/py/handlers.py | 10 +- .../identities/py/handlers_types.py | 4 +- tests/metagen/typegraphs/identities/rs/fdk.rs | 2 +- tests/metagen/typegraphs/identities/ts/fdk.ts | 56 +++-------- tests/metagen/typegraphs/metagen.py | 13 ++- tests/metagen/typegraphs/python.py | 4 +- tests/metagen/typegraphs/sample/py/client.py | 76 +++++++++------ tests/metagen/typegraphs/sample/py/main.py | 23 ++--- tests/metagen/typegraphs/sample/ts/client.ts | 24 ++--- tests/multi_typegraph/multi_typegraph.py | 21 +++-- tests/nesting/nesting.py | 10 +- tests/params/apply.py | 62 ++++++------- tests/params/apply_nested_context.py | 12 +-- tests/params/prisma_apply.py | 8 +- tests/planner/planner.py | 18 ++-- tests/policies/effects_py.py | 4 +- tests/policies/policies.py | 8 +- tests/policies/policies_jwt.py | 6 +- tests/policies/policies_jwt_format.py | 2 +- tests/policies/policies_jwt_injection.py | 10 +- tests/query_parsers/graphql_namespaces.py | 6 +- .../invalid_ref_error_message/invalid_ref.py | 2 +- tests/rest/rest_simple.py | 2 +- tests/runtimes/deno/deno.py | 3 +- tests/runtimes/deno/deno_dep.py | 3 +- tests/runtimes/deno/deno_dir.py | 3 +- .../runtimes/deno/deno_duplicate_artifact.py | 3 +- tests/runtimes/deno/deno_globs.py | 3 +- tests/runtimes/deno/deno_no_artifact.py | 3 +- tests/runtimes/deno/deno_partial.py | 3 +- tests/runtimes/deno/deno_reload.py | 4 +- .../graphql/typegraphs/python/graphql.py | 6 +- tests/runtimes/http/http_content_type.py | 4 +- tests/runtimes/http/http_py.py | 20 ++-- tests/runtimes/prisma/full_prisma_mapping.py | 22 ++--- tests/runtimes/prisma/mixed_runtime.py | 2 +- tests/runtimes/prisma/multi_relations.py | 2 +- tests/runtimes/prisma/prisma.py | 4 +- tests/runtimes/prisma/prisma_edgecases.py | 2 +- tests/runtimes/prisma/schema_generation.py | 5 +- tests/runtimes/python/py/hello.py | 3 +- tests/runtimes/python/python.py | 3 +- tests/runtimes/python/python_dir.py | 3 +- .../python/python_duplicate_artifact.py | 3 +- tests/runtimes/python/python_globs.py | 3 +- tests/runtimes/python/python_no_artifact.py | 3 +- tests/runtimes/random/random_.py | 8 +- tests/runtimes/s3/s3.py | 8 +- tests/runtimes/substantial/substantial.py | 20 ++-- .../substantial/substantial_child_workflow.py | 8 +- tests/runtimes/temporal/temporal.py | 8 +- .../runtimes/wasm_reflected/wasm_duplicate.py | 3 +- .../runtimes/wasm_reflected/wasm_reflected.py | 3 +- tests/runtimes/wasm_wire/wasm_wire.py | 3 +- tests/schema_validation/circular.py | 8 +- tests/schema_validation/type_comparison.py | 16 ++-- tests/simple/class_syntax.py | 2 +- tests/simple/error_message.py | 2 +- tests/simple/simple.py | 2 +- tests/type_nodes/array_of_optional.py | 10 +- tests/type_nodes/either_node.py | 3 +- tests/type_nodes/union_node.py | 11 +-- tests/type_nodes/union_node_attr.py | 3 +- tests/type_nodes/union_node_quantifier.py | 7 +- tests/typecheck/reduce_py.py | 36 ++++---- tests/typecheck/type_alias.py | 8 +- tests/typecheck/typecheck.py | 22 +++-- tests/typename/typename.py | 8 +- tests/utils/tg_deploy_script.py | 8 +- tests/vars/vars.py | 6 +- 184 files changed, 1342 insertions(+), 896 deletions(-) diff --git a/.ghjk/lock.json b/.ghjk/lock.json index 42b6632380..b6d7d950ac 100644 --- a/.ghjk/lock.json +++ b/.ghjk/lock.json @@ -724,6 +724,55 @@ "crateName": "cargo-udeps", "locked": true, "specifiedVersion": true + }, + "bciqk32ytmretqjmmjadp4n5737sifnbyxdqkvkq6lvg3w5rxmsku57y": { + "version": "1.1.388", + "buildDepConfigs": { + "cpy_bs_ghrel": { + "version": "3.12.5", + "buildDepConfigs": { + "tar_aa": { + "version": "1.34", + "buildDepConfigs": {}, + "portRef": "tar_aa@0.1.0", + "specifiedVersion": false + }, + "zstd_aa": { + "version": "v1.4.8,", + "buildDepConfigs": {}, + "portRef": "zstd_aa@0.1.0", + "specifiedVersion": false + } + }, + "portRef": "cpy_bs_ghrel@0.1.0", + "releaseTag": "20240814", + "specifiedVersion": true + } + }, + "portRef": "pipi_pypi@0.1.0", + "packageName": "pyright", + "specifiedVersion": true + }, + "bciqon5lanvscx2pvfxplu3yftfwyqb2sc7d7ju7veqbfhraw2okw4xa": { + "version": "1.1.388", + "buildDepConfigs": { + "node_org": { + "version": "v20.8.0", + "buildDepConfigs": { + "tar_aa": { + "version": "1.34", + "buildDepConfigs": {}, + "portRef": "tar_aa@0.1.0", + "specifiedVersion": false + } + }, + "portRef": "node_org@0.1.0", + "specifiedVersion": true + } + }, + "portRef": "npmi_npm@0.1.0", + "packageName": "pyright", + "specifiedVersion": true } } }, @@ -770,6 +819,7 @@ "bciqminqcmgw3fbbhibwc7tf6mrupttheic7kpiykadbowqmnzhmzo5a", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy", "bciqezep4ufkgwesldlm5etyfkgdsiickfudx7cosydcz6xtgeorn2hy", "bciqaixkkacuuligsvtjcfdfgjgl65owtyspiiljb3vmutlgymecsiwq", @@ -806,6 +856,7 @@ "bciqminqcmgw3fbbhibwc7tf6mrupttheic7kpiykadbowqmnzhmzo5a", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy", "bciqezep4ufkgwesldlm5etyfkgdsiickfudx7cosydcz6xtgeorn2hy", "bciqaixkkacuuligsvtjcfdfgjgl65owtyspiiljb3vmutlgymecsiwq", @@ -830,6 +881,7 @@ "installs": [ "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy", "bciqminqcmgw3fbbhibwc7tf6mrupttheic7kpiykadbowqmnzhmzo5a" ], @@ -870,6 +922,7 @@ "bciqminqcmgw3fbbhibwc7tf6mrupttheic7kpiykadbowqmnzhmzo5a", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy" ], "allowedBuildDeps": "bciqek3tmrhm4iohl6tvdzlhxwhv7b52makvvgehltxv52d3l7rbki3y" @@ -884,6 +937,7 @@ "bciqlt27ioikxnpkqq37hma7ibn5e5wpzfarbvoh77zwdkarwghtvzxa", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy" ], "allowedBuildDeps": "bciqek3tmrhm4iohl6tvdzlhxwhv7b52makvvgehltxv52d3l7rbki3y" @@ -898,6 +952,7 @@ "bciqlt27ioikxnpkqq37hma7ibn5e5wpzfarbvoh77zwdkarwghtvzxa", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy" ], "allowedBuildDeps": "bciqek3tmrhm4iohl6tvdzlhxwhv7b52makvvgehltxv52d3l7rbki3y" @@ -925,6 +980,7 @@ "bciqjme7csfq43oenkrsakdhaha34hgy6vdwkfffki2ank3kf6mjcguq", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy" ], "allowedBuildDeps": "bciqek3tmrhm4iohl6tvdzlhxwhv7b52makvvgehltxv52d3l7rbki3y" @@ -951,6 +1007,7 @@ "bciqminqcmgw3fbbhibwc7tf6mrupttheic7kpiykadbowqmnzhmzo5a", "bciqfpjzi6gguk7dafyicfjpzpwtybgyc2dsnxg2zxkcmyinzy7abpla", "bciqkgncxbauys2qfguplxcz2auxrcyamj4b6htqk2fqvohfm3afd7sa", + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi", "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy" ], "allowedBuildDeps": "bciqek3tmrhm4iohl6tvdzlhxwhv7b52makvvgehltxv52d3l7rbki3y" @@ -2798,6 +2855,41 @@ }, "packageName": "ruff" }, + "bciqav4kugvq2ceed4xyic2urs5cg2ay5atiwx757u7yhx3cgauf7gqi": { + "version": "1.1.388", + "port": { + "ty": "denoWorker@v1", + "name": "npmi_npm", + "platforms": [ + "x86_64-linux", + "aarch64-linux", + "x86_64-darwin", + "aarch64-darwin", + "x86_64-windows", + "aarch64-windows", + "x86_64-freebsd", + "aarch64-freebsd", + "x86_64-netbsd", + "aarch64-netbsd", + "x86_64-aix", + "aarch64-aix", + "x86_64-solaris", + "aarch64-solaris", + "x86_64-illumos", + "aarch64-illumos", + "x86_64-android", + "aarch64-android" + ], + "version": "0.1.0", + "buildDeps": [ + { + "name": "node_org" + } + ], + "moduleSpecifier": "https://raw.githubusercontent.com/metatypedev/ghjk/v0.2.1/ports/npmi.ts" + }, + "packageName": "pyright" + }, "bciqihcmo6l5uwzih3e3ujc55curep4arfomo6rzkdsfim74unxexiqy": { "version": "1.8.3", "port": { diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f8d1dcccce..63bc51f0b7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -47,7 +47,6 @@ repos: - tsx - json - yaml - files: ^(src/typegate|tools)/ - id: es-lint name: Eslint website language: system @@ -64,6 +63,13 @@ repos: # pass_filenames: false # types: # - toml + # - id: pyright + # name: Pyright type check + # language: system + # entry: bash -c 'pyright' + # pass_filenames: false + # types: + # - python - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.6.0 hooks: diff --git a/docs/metatype.dev/docs/guides/securing-requests/cors.py b/docs/metatype.dev/docs/guides/securing-requests/cors.py index 50387d5dae..90728a1d6d 100644 --- a/docs/metatype.dev/docs/guides/securing-requests/cors.py +++ b/docs/metatype.dev/docs/guides/securing-requests/cors.py @@ -2,7 +2,7 @@ # SPDX-License-Identifier: MPL-2.0 # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.random import RandomRuntime diff --git a/examples/demo/demo.py b/examples/demo/demo.py index b8fdf4a5d3..dc8dde0aa9 100644 --- a/examples/demo/demo.py +++ b/examples/demo/demo.py @@ -1,4 +1,7 @@ -from typegraph import typegraph, Policy, t, Graph +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth, Rate from typegraph.providers import PrismaRuntime from typegraph.runtimes import DenoRuntime, HttpRuntime, PythonRuntime diff --git a/examples/deploy/deploy.py b/examples/deploy/deploy.py index 2b62da131a..2c4f9a1fec 100644 --- a/examples/deploy/deploy.py +++ b/examples/deploy/deploy.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from os import path from typegraph import Graph, Policy, t, typegraph @@ -80,16 +83,21 @@ def deploy_example_python(g: Graph): # print(res.serialized) if "errors" in res.response: print(res.response) - exit + exit() + +assert isinstance(res.response, dict) # migration status.. etc print("\n".join([msg["text"] for msg in res.response["messages"]])) + migrations = res.response["migrations"] or [] for item in migrations: # what to do with the migration files? base_dir = deploy_params.migrations_dir - # Convention, however if migration_dir is absolute then you might want to use that instead + assert base_dir + # Convention, however if migration_dir is absolute then + # you might want to use that instead # cwd + tg_name + runtime_name full_path = path.join(base_dir, item["runtime"]) unpack_tarb64(item["migrations"], full_path) diff --git a/examples/templates/python/api/example.py b/examples/templates/python/api/example.py index 0ba10790e9..cea2ceacf5 100644 --- a/examples/templates/python/api/example.py +++ b/examples/templates/python/api/example.py @@ -1,4 +1,7 @@ -from typegraph import typegraph, Policy, t, Graph +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes import PythonRuntime diff --git a/examples/typegraphs/authentication.py b/examples/typegraphs/authentication.py index 31622c945e..59fead18d5 100644 --- a/examples/typegraphs/authentication.py +++ b/examples/typegraphs/authentication.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth, Cors @@ -24,7 +27,7 @@ def authentication(g: Graph): get_context=deno.identity(ctx).apply( { "username": g.from_context("username"), - } + }, ), get_full_context=deno.func( t.struct({}), diff --git a/examples/typegraphs/backend-for-frontend.py b/examples/typegraphs/backend-for-frontend.py index 358a5137f3..ec6d2c7091 100644 --- a/examples/typegraphs/backend-for-frontend.py +++ b/examples/typegraphs/backend-for-frontend.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes import HttpRuntime @@ -22,7 +25,7 @@ def backend_for_frontend(g: Graph): t.struct({"user": t.string().from_parent("login")}), t.struct({"name": t.string().optional()}), ), - } + }, ) g.expose( diff --git a/examples/typegraphs/basic.py b/examples/typegraphs/basic.py index 8b9a02564d..94af64656f 100644 --- a/examples/typegraphs/basic.py +++ b/examples/typegraphs/basic.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth, Cors from typegraph.runtimes.deno import DenoRuntime @@ -25,6 +28,6 @@ def basic_authentication(g: Graph): get_context=deno.identity(ctx).apply( { "username": g.from_context("username"), - } + }, ), ) diff --git a/examples/typegraphs/cors.py b/examples/typegraphs/cors.py index 26b376b409..20ff44b535 100644 --- a/examples/typegraphs/cors.py +++ b/examples/typegraphs/cors.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.random import RandomRuntime diff --git a/examples/typegraphs/database.py b/examples/typegraphs/database.py index 8fa996b1b0..c9b1ace93f 100644 --- a/examples/typegraphs/database.py +++ b/examples/typegraphs/database.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors # isort: off diff --git a/examples/typegraphs/deno.py b/examples/typegraphs/deno.py index d03e1bd6be..4119a54932 100644 --- a/examples/typegraphs/deno.py +++ b/examples/typegraphs/deno.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.deno import DenoRuntime diff --git a/examples/typegraphs/docs.py b/examples/typegraphs/docs.py index 21ed1bd074..baa7b024e9 100644 --- a/examples/typegraphs/docs.py +++ b/examples/typegraphs/docs.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes import HttpRuntime @@ -20,7 +23,7 @@ def docs(g): "email": t.email(), "listIds": t.list(t.integer()).set([8]), "header#api-key": t.string().from_secret("SENDINBLUE_KEY"), - } + }, ), t.struct({"id": t.integer().optional()}), ).with_policy(public) diff --git a/examples/typegraphs/example_rest.py b/examples/typegraphs/example_rest.py index d4b66c981a..612471ad85 100644 --- a/examples/typegraphs/example_rest.py +++ b/examples/typegraphs/example_rest.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors @@ -43,6 +46,6 @@ def example_rest(g: Graph): } } } - """ + """, ) # highlight-end diff --git a/examples/typegraphs/execute.py b/examples/typegraphs/execute.py index ed46b99712..45c47c647f 100644 --- a/examples/typegraphs/execute.py +++ b/examples/typegraphs/execute.py @@ -1,9 +1,11 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime -from typegraph.graph.params import Auth -from typegraph.providers.prisma import PrismaRuntime +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph from typegraph.gen.exports.runtimes import EffectUpdate -from typegraph.graph.params import Cors +from typegraph.graph.params import Auth, Cors +from typegraph.providers.prisma import PrismaRuntime +from typegraph.runtimes.deno import DenoRuntime @typegraph( @@ -70,8 +72,8 @@ def roadmap(g: Graph): "authorEmail": g.inherit(), "votes": g.inherit(), "bucket": {"connect": g.inherit()}, - } - } + }, + }, ), create_vote=db.create(vote), set_vote_importance=db.execute( @@ -80,13 +82,13 @@ def roadmap(g: Graph): { "vote_id": t.uuid(), "importance": t.enum(["medium", "important", "critical"]), - } + }, ), EffectUpdate(True), ), get_context=deno.identity(t.struct({"username": t.string().optional()})).apply( { "username": g.from_context("username"), - } + }, ), ) diff --git a/examples/typegraphs/faas-runner.py b/examples/typegraphs/faas-runner.py index e69ae257ec..9c88ec46fc 100644 --- a/examples/typegraphs/faas-runner.py +++ b/examples/typegraphs/faas-runner.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes import DenoRuntime, PythonRuntime diff --git a/examples/typegraphs/files-upload.py b/examples/typegraphs/files-upload.py index d61ebc3367..9dad3500ec 100644 --- a/examples/typegraphs/files-upload.py +++ b/examples/typegraphs/files-upload.py @@ -1,8 +1,11 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.providers.aws import S3Runtime +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph # skip-next-line from typegraph.graph.params import Cors +from typegraph.providers.aws import S3Runtime @typegraph( diff --git a/examples/typegraphs/first-typegraph.py b/examples/typegraphs/first-typegraph.py index c1dc355194..ed443a098b 100644 --- a/examples/typegraphs/first-typegraph.py +++ b/examples/typegraphs/first-typegraph.py @@ -1,4 +1,7 @@ -from typegraph import typegraph, Policy, t, Graph +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes import RandomRuntime @@ -19,7 +22,7 @@ def first_typegraph(g: Graph): "id": t.integer(), "title": t.string(), "user_id": t.integer(), - } + }, ) # expose them with policies diff --git a/examples/typegraphs/func-ctx.py b/examples/typegraphs/func-ctx.py index 8bb2240e61..dd72483b15 100644 --- a/examples/typegraphs/func-ctx.py +++ b/examples/typegraphs/func-ctx.py @@ -1,7 +1,9 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors, Rate - from typegraph.runtimes.deno import DenoRuntime @@ -30,7 +32,7 @@ def func_ctx(g: Graph): "url": t.string(), # token for accessing host typegraph "token": t.string(), - } + }, ), # http headers "headers": t.list(t.list(t.string())), @@ -39,7 +41,7 @@ def func_ctx(g: Graph): # FIXME: explanation "parent": t.string(), "context": t.string(), - } + }, ), # modeling arbitrary associative arrays in # graphql is difficult so we return a listified format. diff --git a/examples/typegraphs/func-gql.py b/examples/typegraphs/func-gql.py index 1a9b123dcd..6d789fc3e1 100644 --- a/examples/typegraphs/func-gql.py +++ b/examples/typegraphs/func-gql.py @@ -1,9 +1,11 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph, fx +from typegraph import Graph, Policy, fx, t, typegraph from typegraph.graph.params import Cors, Rate - -from typegraph.runtimes.deno import DenoRuntime from typegraph.providers.prisma import PrismaRuntime +from typegraph.runtimes.deno import DenoRuntime @typegraph( @@ -45,7 +47,7 @@ def func_gql(g: Graph): createIdea=db.create(idea), createVote=deno.import_( t.struct({"ideaId": t.uuid(), "authorEmail": t.email()}).rename( - "CreateVoteInput" + "CreateVoteInput", ), t.struct( { @@ -59,9 +61,9 @@ def func_gql(g: Graph): "where": { "id": g.inherit().from_parent("voteId"), }, - } + }, ), - } + }, ).rename("CreateVoteOutput"), module="scripts/createVote.ts", name="handle", # name the exported function to run diff --git a/examples/typegraphs/func.py b/examples/typegraphs/func.py index 831fd82f58..c2f0e5a3b5 100644 --- a/examples/typegraphs/func.py +++ b/examples/typegraphs/func.py @@ -1,10 +1,13 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph # skip:start -from typegraph.graph.params import Auth +from typegraph.graph.params import Auth, Cors from typegraph.providers.prisma import PrismaRuntime -from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime + # skip:end @@ -75,8 +78,8 @@ def roadmap(g: Graph): "authorEmail": g.inherit(), "votes": g.inherit(), "bucket": {"connect": g.inherit()}, - } - } + }, + }, ), create_vote=db.create(vote), # skip:end @@ -102,7 +105,7 @@ def roadmap(g: Graph): } } } - """ + """, ) g.rest( @@ -120,6 +123,6 @@ def roadmap(g: Graph): } } } - """ + """, ) # skip:end diff --git a/examples/typegraphs/functions.py b/examples/typegraphs/functions.py index 59a8ff029f..d3e62d6224 100644 --- a/examples/typegraphs/functions.py +++ b/examples/typegraphs/functions.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, t, Graph +from typegraph import Graph, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes import DenoRuntime, HttpRuntime diff --git a/examples/typegraphs/graphql-server.py b/examples/typegraphs/graphql-server.py index 6ff06b2d0a..59463144ef 100644 --- a/examples/typegraphs/graphql-server.py +++ b/examples/typegraphs/graphql-server.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.http import HttpRuntime @@ -23,7 +26,7 @@ def graphql_server(g: Graph): t.struct({"user": t.string().from_parent("login")}), t.struct({"name": t.string().optional()}), ), - } + }, ) g.expose( diff --git a/examples/typegraphs/graphql.py b/examples/typegraphs/graphql.py index 0f53236cec..5cbc73620a 100644 --- a/examples/typegraphs/graphql.py +++ b/examples/typegraphs/graphql.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.providers.prisma import PrismaRuntime @@ -36,8 +39,8 @@ def graphql(g: Graph): t.struct( { # highlight-next-line - "id": t.string(as_id=True).from_parent("user_id") - } + "id": t.string(as_id=True).from_parent("user_id"), + }, ), t.optional(user), ), diff --git a/examples/typegraphs/http-runtime.py b/examples/typegraphs/http-runtime.py index 30d8212d02..6067bab118 100644 --- a/examples/typegraphs/http-runtime.py +++ b/examples/typegraphs/http-runtime.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors # skip:end @@ -31,7 +34,7 @@ def http_runtime(g: Graph): "source_url": t.string(), "language": t.string(), "permalink": t.string(), - } + }, ), ), facts_as_text=facts.get( @@ -40,7 +43,7 @@ def http_runtime(g: Graph): { "header_accept": t.string().set("text/plain"), "language": t.enum(["en", "de"]), - } + }, ), t.string(), header_prefix="header_", diff --git a/examples/typegraphs/iam-provider.py b/examples/typegraphs/iam-provider.py index edee4048fa..dac792de3d 100644 --- a/examples/typegraphs/iam-provider.py +++ b/examples/typegraphs/iam-provider.py @@ -1,9 +1,12 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start from os import environ from urllib.parse import quote_plus -from typegraph import typegraph, Policy, t, Graph -from typegraph.graph.params import Cors, Auth +from typegraph import Graph, Policy, t, typegraph +from typegraph.graph.params import Auth, Cors from typegraph.runtimes import DenoRuntime diff --git a/examples/typegraphs/index.py b/examples/typegraphs/index.py index 30f2ff9879..686bf786f1 100644 --- a/examples/typegraphs/index.py +++ b/examples/typegraphs/index.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start import re @@ -44,7 +47,7 @@ def homepage(g: Graph): t.struct({"user": t.string().from_parent("login")}), t.struct({"name": t.string().optional()}), ), - } + }, ) # out of the box authenfication support diff --git a/examples/typegraphs/injections.py b/examples/typegraphs/injections.py index dcb2602463..a16880b191 100644 --- a/examples/typegraphs/injections.py +++ b/examples/typegraphs/injections.py @@ -1,4 +1,7 @@ -from typegraph import Policy, typegraph, t, Graph +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.deno import DenoRuntime @@ -20,7 +23,7 @@ def injection_example(g: Graph): "context_value": t.uuid().from_context("profile.userId"), "secret_value": t.string().from_secret("secret_name"), "dynamic_value": t.datetime().inject("now"), - } + }, ).rename("Input"), t.struct( { @@ -29,14 +32,14 @@ def injection_example(g: Graph): "secret_value": t.string(), "nested": deno.identity( t.struct( - {"parent_value": t.integer().from_parent("static_value")} + {"parent_value": t.integer().from_parent("static_value")}, ), ), "dynamic_value": t.datetime(), - } + }, ).rename("Output"), code=""" ({ static_value, context_value, secret_value, dynamic_value }) => ({ static_value, context_value, secret_value, dynamic_value }) """, - ).with_policy(pub) + ).with_policy(pub), ) diff --git a/examples/typegraphs/jwt.py b/examples/typegraphs/jwt.py index 4186f5f571..042a26b759 100644 --- a/examples/typegraphs/jwt.py +++ b/examples/typegraphs/jwt.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth, Cors from typegraph.runtimes.deno import DenoRuntime @@ -23,7 +26,7 @@ def jwt_authentication(g: Graph): get_context=deno.identity(ctx).apply( { "your_own_content": g.from_context("your_own_content"), - } + }, ), default_policy=[public], ) diff --git a/examples/typegraphs/math.py b/examples/typegraphs/math.py index 054954b87e..f94d347b40 100644 --- a/examples/typegraphs/math.py +++ b/examples/typegraphs/math.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors, Rate # skip:end diff --git a/examples/typegraphs/metagen-deno.py b/examples/typegraphs/metagen-deno.py index 7ef4e8bce7..b16dcf8180 100644 --- a/examples/typegraphs/metagen-deno.py +++ b/examples/typegraphs/metagen-deno.py @@ -1,7 +1,11 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.deno import DenoRuntime + # skip:end @@ -18,7 +22,7 @@ def metagen_deno(g: Graph): "releaseTime": t.datetime(), "mp3Url": t.uri(), # explicit type names help when generating code - } + }, ).rename("idv3") deno = DenoRuntime() diff --git a/examples/typegraphs/metagen-py.py b/examples/typegraphs/metagen-py.py index de69d7baf1..282a11d184 100644 --- a/examples/typegraphs/metagen-py.py +++ b/examples/typegraphs/metagen-py.py @@ -1,7 +1,11 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.python import PythonRuntime +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors +from typegraph.runtimes.python import PythonRuntime + # skip:end @@ -17,7 +21,7 @@ def metagen_py(g: Graph): "artist": t.string(), "releaseTime": t.datetime(), "mp3Url": t.uri(), - } + }, ).rename("idv3") python = PythonRuntime() diff --git a/examples/typegraphs/metagen-rs.py b/examples/typegraphs/metagen-rs.py index 5e7fae8a6c..507ae6a52f 100644 --- a/examples/typegraphs/metagen-rs.py +++ b/examples/typegraphs/metagen-rs.py @@ -1,7 +1,11 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.wasm import WasmRuntime + # skip:end @@ -18,7 +22,7 @@ def metagen_rs(g: Graph): "releaseTime": t.datetime(), "mp3Url": t.uri(), # explicit type names help when generating code - } + }, ).rename("idv3") # the wire flavour is availible through a static diff --git a/examples/typegraphs/metagen-sdk.py b/examples/typegraphs/metagen-sdk.py index a4fc2cbbc8..c7dc3bc1de 100644 --- a/examples/typegraphs/metagen-sdk.py +++ b/examples/typegraphs/metagen-sdk.py @@ -1,11 +1,14 @@ -# skip:start -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime -from typegraph.graph.params import Cors +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 +# skip:start # skip:end import os + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.metagen import Metagen +from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime @typegraph( @@ -20,7 +23,7 @@ def metagen_sdk(g: Graph): "artist": t.string(), "releaseTime": t.datetime(), "mp3Url": t.uri(), - } + }, ).rename("idv3") deno = DenoRuntime() @@ -36,7 +39,8 @@ def metagen_sdk(g: Graph): ) -if __name__ == "__main__" and False: +# if __name__ == "__main__" and False: +if False: metagen = Metagen( # the workspace root that our config is relative to os.path.dirname(os.path.abspath(__file__)), diff --git a/examples/typegraphs/metagen/py/remix.py b/examples/typegraphs/metagen/py/remix.py index 5992ea744d..455f9806d0 100644 --- a/examples/typegraphs/metagen/py/remix.py +++ b/examples/typegraphs/metagen/py/remix.py @@ -1,4 +1,7 @@ -from .remix_types import typed_remix_track, Idv3 +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from .remix_types import Idv3, typed_remix_track # the following decorator makes sure your function diff --git a/examples/typegraphs/metagen/py/remix_types.py b/examples/typegraphs/metagen/py/remix_types.py index 83d667e0ef..3a95c7c2d8 100644 --- a/examples/typegraphs/metagen/py/remix_types.py +++ b/examples/typegraphs/metagen/py/remix_types.py @@ -1,6 +1,9 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from dataclasses import asdict, dataclass, fields from types import NoneType -from typing import Callable, List, Union, get_origin, ForwardRef, Any -from dataclasses import dataclass, asdict, fields +from typing import Any, Callable, ForwardRef, List, Union, get_origin FORWARD_REFS = {} diff --git a/examples/typegraphs/oauth2.py b/examples/typegraphs/oauth2.py index cfff1214e0..b83f84a1ae 100644 --- a/examples/typegraphs/oauth2.py +++ b/examples/typegraphs/oauth2.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth, Cors from typegraph.runtimes.deno import DenoRuntime @@ -26,6 +29,6 @@ def oauth2_authentication(g: Graph): get_context=deno.identity(ctx).apply( { "exp": g.from_context("exp"), - } + }, ), ) diff --git a/examples/typegraphs/policies.py b/examples/typegraphs/policies.py index 35a53d0773..0ecd99ce82 100644 --- a/examples/typegraphs/policies.py +++ b/examples/typegraphs/policies.py @@ -1,6 +1,9 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph -from typegraph.graph.params import Cors, Auth +from typegraph import Graph, Policy, t, typegraph +from typegraph.graph.params import Auth, Cors from typegraph.runtimes.deno import DenoRuntime from typegraph.runtimes.random import RandomRuntime diff --git a/examples/typegraphs/prisma-runtime.py b/examples/typegraphs/prisma-runtime.py index a77bd4ed88..c17b25aa8c 100644 --- a/examples/typegraphs/prisma-runtime.py +++ b/examples/typegraphs/prisma-runtime.py @@ -1,3 +1,6 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start from typegraph import Policy, t from typegraph.graph.params import Cors @@ -41,7 +44,7 @@ def prisma_runtime(g: Graph): { "id": t.string(), "term": t.string(), - } + }, ), t.list(user), ), diff --git a/examples/typegraphs/prisma.py b/examples/typegraphs/prisma.py index 80ad32e42a..8b8f717c68 100644 --- a/examples/typegraphs/prisma.py +++ b/examples/typegraphs/prisma.py @@ -1,6 +1,9 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.providers.prisma import PrismaRuntime +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors +from typegraph.providers.prisma import PrismaRuntime @typegraph( diff --git a/examples/typegraphs/programmable-api-gateway.py b/examples/typegraphs/programmable-api-gateway.py index 284c01b0d9..c4b0dbb697 100644 --- a/examples/typegraphs/programmable-api-gateway.py +++ b/examples/typegraphs/programmable-api-gateway.py @@ -1,7 +1,9 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start import yaml - -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.deno import DenoRuntime diff --git a/examples/typegraphs/quick-start-project.py b/examples/typegraphs/quick-start-project.py index 7339e1c806..4e5a458200 100644 --- a/examples/typegraphs/quick-start-project.py +++ b/examples/typegraphs/quick-start-project.py @@ -1,7 +1,10 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.providers.prisma import PrismaRuntime -from typegraph.runtimes import PythonRuntime, DenoRuntime +from typegraph.runtimes import DenoRuntime, PythonRuntime @typegraph( diff --git a/examples/typegraphs/random-field.py b/examples/typegraphs/random-field.py index 3bb1a071a9..c6dff64059 100644 --- a/examples/typegraphs/random-field.py +++ b/examples/typegraphs/random-field.py @@ -1,8 +1,11 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph # skip:start from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime # skip:end @@ -22,7 +25,7 @@ def random_field(g: Graph): { "performance": t.integer(), "bonus": bonus_items.from_random(), # this field is now generated randomly - } + }, ) # set a custom seed diff --git a/examples/typegraphs/rate.py b/examples/typegraphs/rate.py index bffaf3edce..bf41d310a5 100644 --- a/examples/typegraphs/rate.py +++ b/examples/typegraphs/rate.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors, Rate from typegraph.runtimes.random import RandomRuntime diff --git a/examples/typegraphs/reduce.py b/examples/typegraphs/reduce.py index f8e0993216..c7d5217b89 100644 --- a/examples/typegraphs/reduce.py +++ b/examples/typegraphs/reduce.py @@ -1,8 +1,10 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime -from typegraph.graph.params import Auth +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph +from typegraph.graph.params import Auth, Cors from typegraph.providers.prisma import PrismaRuntime -from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime @typegraph( @@ -67,8 +69,8 @@ def roadmap(g: Graph): "authorEmail": g.inherit(), "votes": g.inherit(), "bucket": {"connect": g.inherit()}, - } - } + }, + }, ), create_vote=db.create(vote), ) diff --git a/examples/typegraphs/rest.py b/examples/typegraphs/rest.py index c0b62c8dce..088bf0a5f3 100644 --- a/examples/typegraphs/rest.py +++ b/examples/typegraphs/rest.py @@ -1,8 +1,10 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime -from typegraph.graph.params import Auth +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph +from typegraph.graph.params import Auth, Cors from typegraph.providers.prisma import PrismaRuntime -from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime @typegraph( @@ -67,8 +69,8 @@ def roadmap(g: Graph): "authorEmail": g.inherit(), "votes": g.inherit(), "bucket": {"connect": g.inherit()}, - } - } + }, + }, ), create_vote=db.create(vote), ) @@ -86,7 +88,7 @@ def roadmap(g: Graph): } } } - """ + """, ) g.rest( @@ -104,5 +106,5 @@ def roadmap(g: Graph): } } } - """ + """, ) diff --git a/examples/typegraphs/roadmap-policies.py b/examples/typegraphs/roadmap-policies.py index 791355c2b6..9e740dd923 100644 --- a/examples/typegraphs/roadmap-policies.py +++ b/examples/typegraphs/roadmap-policies.py @@ -1,8 +1,10 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.deno import DenoRuntime -from typegraph.graph.params import Auth +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph +from typegraph.graph.params import Auth, Cors from typegraph.providers.prisma import PrismaRuntime -from typegraph.graph.params import Cors +from typegraph.runtimes.deno import DenoRuntime @typegraph( diff --git a/examples/typegraphs/roadmap-random.py b/examples/typegraphs/roadmap-random.py index ef07107f5a..2332c621f3 100644 --- a/examples/typegraphs/roadmap-random.py +++ b/examples/typegraphs/roadmap-random.py @@ -1,8 +1,12 @@ -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes.random import RandomRuntime +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from typegraph import Graph, Policy, t, typegraph # skip:start from typegraph.graph.params import Cors +from typegraph.runtimes.random import RandomRuntime + # skip:end @@ -18,28 +22,28 @@ def roadmap(g: Graph): { "id": t.integer(as_id=True), "name": t.string(), - } + }, ) _vote = t.struct( { "id": t.uuid(), "authorEmail": t.email(), "importance": t.enum( - ["medium", "important", "critical"] + ["medium", "important", "critical"], ).optional(), # `enum_` is also a shorthand over `t.string` "createdAt": t.datetime(), "desc": t.string().optional(), # makes it optional - } + }, ) # skip:end idea = t.struct( { "id": t.uuid( - as_id=True + as_id=True, ), # uuid is just a shorthand alias for `t.string({format: "uuid"})` "name": t.string(), "authorEmail": t.email(), # another string shorthand - } + }, ) random = RandomRuntime(reset=None, seed=1) pub = Policy.public() diff --git a/examples/typegraphs/runtimes.py b/examples/typegraphs/runtimes.py index 64983d2039..af3f307e08 100644 --- a/examples/typegraphs/runtimes.py +++ b/examples/typegraphs/runtimes.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, t, Graph +from typegraph import Graph, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes import HttpRuntime @@ -13,5 +16,7 @@ def runtimes(g: Graph): # same func as above http.get( - "/flip_coin", t.struct({}), t.enum(["head", "tail"]) + "/flip_coin", + t.struct({}), + t.enum(["head", "tail"]), ) # implicitly attaches runtime to all types diff --git a/examples/typegraphs/temporal.py b/examples/typegraphs/temporal.py index 571d2596fa..32037a7a68 100644 --- a/examples/typegraphs/temporal.py +++ b/examples/typegraphs/temporal.py @@ -1,7 +1,11 @@ -from typegraph import t, typegraph, Policy, Graph +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +import os + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.providers.temporal import TemporalRuntime -import os @typegraph( diff --git a/examples/typegraphs/triggers.py b/examples/typegraphs/triggers.py index 851ca038e8..37993ead34 100644 --- a/examples/typegraphs/triggers.py +++ b/examples/typegraphs/triggers.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.http import HttpRuntime diff --git a/examples/typegraphs/typecheck.py b/examples/typegraphs/typecheck.py index fb66b002b3..8b5ae9103d 100644 --- a/examples/typegraphs/typecheck.py +++ b/examples/typegraphs/typecheck.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, t, Graph +from typegraph import Graph, t, typegraph from typegraph.graph.params import Cors @@ -13,15 +16,15 @@ def typecheck(g: Graph): "name": t.string(max=200), "age": t.optional(t.integer()), # or t.integer().optional() "messages": t.list(t.struct({"text": t.string(), "sentAt": t.datetime()})), - } + }, ) # the typegate will accept data as follow - { + _ = { "name": "Alan", "age": 28, "messages": [{"text": "Hello!", "sentAt": "2022-12-28T01:11:10Z"}], } # and reject invalid data - {"name": "Turing", "messages": [{"sentAt": 1}]} + _ = {"name": "Turing", "messages": [{"sentAt": 1}]} diff --git a/examples/typegraphs/types.py b/examples/typegraphs/types.py index ea01834206..c4f644b4eb 100644 --- a/examples/typegraphs/types.py +++ b/examples/typegraphs/types.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, t, Graph +from typegraph import Graph, t, typegraph from typegraph.graph.params import Cors @@ -17,8 +20,8 @@ def types(g: Graph): { "model": t.string(), "name": t.string().optional(), - } - ) + }, + ), ), - } + }, ) diff --git a/examples/typegraphs/union-either.py b/examples/typegraphs/union-either.py index 21c2f16598..2a01f47ee8 100644 --- a/examples/typegraphs/union-either.py +++ b/examples/typegraphs/union-either.py @@ -1,5 +1,8 @@ +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + # skip:start -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Cors from typegraph.runtimes.deno import DenoRuntime @@ -18,12 +21,12 @@ def union_either(g: Graph): t.struct( { "field1": t.string(), - } + }, ).rename("comp_1"), t.struct( { "field2": t.string(), - } + }, ).rename("comp_2"), t.list(t.string()).rename("scalar_list"), # # FIXME: list of composites is broken @@ -44,7 +47,7 @@ def union_either(g: Graph): "union": t.union(members), "either": t.either(members), "unionList": t.list(t.union(members)), - } + }, ), code="""() => ({ either: { diff --git a/ghjk.ts b/ghjk.ts index dccf5150a7..67d63a6321 100644 --- a/ghjk.ts +++ b/ghjk.ts @@ -60,6 +60,10 @@ env("_python").install( packageName: "ruff", version: "0.4.7", })[0], + ports.npmi({ + packageName: "pyright", + version: "1.1.388", + })[0], ports.pipi({ packageName: "poetry", version: "1.8.3", diff --git a/pyproject.toml b/pyproject.toml index 3286edbfcd..f1ff2e17d6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,3 +23,24 @@ pyyaml = "^6.0.1" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" + +[tool.ruff.lint] +select = [ + # pycodestyle + "E", + # Pyflakes + "F", + # pyupgrade + "UP", + # flake8-bugbear + "B", + # flake8-simplify + "SIM", + # isort + "I", +] +ignore = [ + # line too long + "E501", + "UP013" +] diff --git a/src/metagen/src/client_py/static/client.py b/src/metagen/src/client_py/static/client.py index 204bfc41a1..445b4048a3 100644 --- a/src/metagen/src/client_py/static/client.py +++ b/src/metagen/src/client_py/static/client.py @@ -1,12 +1,12 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -import typing import dataclasses as dc +import http.client as http_c import json -import urllib.request as request +import typing import urllib.error -import http.client as http_c +from urllib import request def selection_to_nodes( @@ -18,9 +18,9 @@ def selection_to_nodes( flags = selection.get("_") if flags is not None and not isinstance(flags, SelectionFlags): raise Exception( - f"selection field '_' should be of type SelectionFlags but found {type(flags)}" + f"selection field '_' should be of type SelectionFlags but found {type(flags)}", ) - select_all = True if flags is not None and flags.select_all else False + select_all = flags is not None and flags.select_all found_nodes = set(selection.keys()) for node_name, meta_fn in metas.items(): found_nodes.discard(node_name) @@ -48,7 +48,7 @@ def selection_to_nodes( continue if isinstance(instance_selection, Alias): raise Exception( - f"nested Alias node discovered at {parent_path}.{instance_name}" + f"nested Alias node discovered at {parent_path}.{instance_name}", ) instance_args: typing.Optional[NodeArgs] = None @@ -63,7 +63,7 @@ def selection_to_nodes( raise Exception( f"node at {parent_path}.{instance_name} is a node that " + "requires arguments " - + f"but detected argument is typeof {type(arg)}" + + f"but detected argument is typeof {type(arg)}", ) # convert arg dict to NodeArgs @@ -73,7 +73,7 @@ def selection_to_nodes( ty_name = expected_args.pop(key) if ty_name is None: raise Exception( - f"unexpected argument ${key} at {parent_path}.{instance_name}" + f"unexpected argument ${key} at {parent_path}.{instance_name}", ) instance_args[key] = NodeArgValue(ty_name, val) @@ -88,7 +88,7 @@ def selection_to_nodes( raise Exception( f"node at {parent_path}.{instance_name} is a composite " + "that requires an argument object " - + f"but selection is typeof {type(sub_selections)}" + + f"but selection is typeof {type(sub_selections)}", ) sub_selections = sub_selections[1] @@ -115,7 +115,7 @@ def selection_to_nodes( if meta.sub_nodes is not None: if meta.variants is not None: raise Exception( - "unreachable: union/either NodeMetas can't have subnodes" + "unreachable: union/either NodeMetas can't have subnodes", ) sub_nodes = selection_to_nodes( typing.cast("SelectionErased", sub_selections), @@ -151,7 +151,7 @@ def selection_to_nodes( instance_name="__typename", args=None, sub_nodes=None, - ) + ), ) union_selections[variant_ty] = nodes @@ -262,8 +262,7 @@ def get(self, key: str) -> PlaceholderValue: class Alias(typing.Generic[SelectionT]): - """ - Request multiple instances of a single node under different + """Request multiple instances of a single node under different aliases. """ @@ -280,7 +279,10 @@ def __init__(self, **aliases: SelectionT): None, ] CompositeSelectNoArgs = typing.Union[ - SelectionT, Alias[SelectionT], typing.Literal[False], None + SelectionT, + Alias[SelectionT], + typing.Literal[False], + None, ] CompositeSelectArgs = typing.Union[ typing.Tuple[typing.Union[ArgT, PlaceholderArgs], SelectionT], @@ -370,7 +372,7 @@ def convert_query_node_gql( gql_ty = ty_to_gql_ty_map[variant_ty] if gql_ty is None: raise Exception( - f"unreachable: no graphql type found for variant {variant_ty}" + f"unreachable: no graphql type found for variant {variant_ty}", ) gql_ty = gql_ty.strip("!") @@ -383,9 +385,9 @@ def convert_query_node_gql( out += f" {{ {sub_node_list}}}" elif isinstance(node.sub_nodes, list): sub_node_list = "" - for node in node.sub_nodes: + for sub_node in node.sub_nodes: sub_node_list += ( - f"{convert_query_node_gql(ty_to_gql_ty_map, node, variables)} " + f"{convert_query_node_gql(ty_to_gql_ty_map, sub_node, variables)} " ) out += f" {{ {sub_node_list}}}" return out @@ -405,7 +407,7 @@ def __init__( def build_gql( self, query: typing.Mapping[str, SelectNode], - ty: typing.Union[typing.Literal["query"], typing.Literal["mutation"]], + ty: typing.Literal["query", "mutation"], name: str = "", ): variables: typing.Dict[str, NodeArgValue] = {} @@ -439,7 +441,7 @@ def build_req( { "accept": "application/json", "content-type": "application/json", - } + }, ) data = json.dumps({"query": doc, "variables": variables}).encode("utf-8") return GraphQLRequest( @@ -471,8 +473,11 @@ def fetch( try: with request.urlopen( request.Request( - url=req.addr, method=req.method, headers=req.headers, data=req.body - ) + url=req.addr, + method=req.method, + headers=req.headers, + data=req.body, + ), ) as res: http_res: http_c.HTTPResponse = res return self.handle_response( @@ -481,7 +486,7 @@ def fetch( status=http_res.status, body=http_res.read(), headers={key: val for key, val in http_res.headers.items()}, - ) + ), ) except request.HTTPError as res: return self.handle_response( @@ -490,10 +495,10 @@ def fetch( status=res.status or 599, body=res.read(), headers={key: val for key, val in res.headers.items()}, - ) + ), ) except urllib.error.URLError as err: - raise Exception(f"URL error: {err.reason}") + raise Exception(f"URL error: {err.reason}") from err def query( self, @@ -502,7 +507,9 @@ def query( name: str = "", ) -> typing.Dict[str, Out]: doc, variables = self.build_gql( - {key: val for key, val in inp.items()}, "query", name + {key: val for key, val in inp.items()}, + "query", + name, ) return self.fetch(doc, variables, opts) @@ -513,7 +520,9 @@ def mutation( name: str = "", ) -> typing.Dict[str, Out]: doc, variables = self.build_gql( - {key: val for key, val in inp.items()}, "mutation", name + {key: val for key, val in inp.items()}, + "mutation", + name, ) return self.fetch(doc, variables, opts) @@ -537,7 +546,7 @@ def __init__( self, transport: GraphQLTransportBase, fun: typing.Callable[[PreparedArgs], typing.Mapping[str, SelectNode[Out]]], - ty: typing.Union[typing.Literal["query"], typing.Literal["mutation"]], + ty: typing.Literal["query", "mutation"], name: str = "", ): dry_run_node = fun(PreparedArgs()) @@ -567,7 +576,7 @@ def __init__( self, transport: GraphQLTransportUrlib, fun: typing.Callable[[PreparedArgs], typing.Mapping[str, SelectNode[Out]]], - ty: typing.Union[typing.Literal["query"], typing.Literal["mutation"]], + ty: typing.Literal["query", "mutation"], name: str = "", ): super().__init__(transport, fun, ty, name) @@ -592,10 +601,14 @@ def __init__(self, ty_to_gql_ty_map: typing.Dict[str, str]): self.ty_to_gql_ty_map = ty_to_gql_ty_map def graphql_sync( - self, addr: str, opts: typing.Optional[GraphQLTransportOptions] = None + self, + addr: str, + opts: typing.Optional[GraphQLTransportOptions] = None, ): return GraphQLTransportUrlib( - addr, opts or GraphQLTransportOptions({}), self.ty_to_gql_ty_map + addr, + opts or GraphQLTransportOptions({}), + self.ty_to_gql_ty_map, ) diff --git a/src/metagen/src/fdk_substantial/static/substantial.py b/src/metagen/src/fdk_substantial/static/substantial.py index a8c98cf860..1a64363118 100644 --- a/src/metagen/src/fdk_substantial/static/substantial.py +++ b/src/metagen/src/fdk_substantial/static/substantial.py @@ -2,8 +2,8 @@ # SPDX-License-Identifier: MPL-2.0 from datetime import timedelta -from typing import Any, Callable, Optional from types import RetryStrategy +from typing import Any, Callable, Optional class Context: diff --git a/src/pyrt_wit_wire/main.py b/src/pyrt_wit_wire/main.py index 91c941e7a4..ef5c268929 100644 --- a/src/pyrt_wit_wire/main.py +++ b/src/pyrt_wit_wire/main.py @@ -5,9 +5,9 @@ import importlib.abc import importlib.machinery import importlib.util +import inspect import json import os -import inspect import sys import traceback import types @@ -45,7 +45,7 @@ class Ctx: def gql(self, query: str, variables: str) -> Any: data = json.loads( - hostcall("gql", json=json.dumps({"query": query, "variables": variables})) + hostcall("gql", json=json.dumps({"query": query, "variables": variables})), ) return data["data"] @@ -60,24 +60,24 @@ def init(self, args: InitArgs): raise err except Exception as err: traceback.print_exc() - raise Err(InitError_Other(str(err))) + raise Err(InitError_Other(str(err))) from err return InitResponse(ok=True) def handle(self, req: HandleReq): handler = handlers.get(req.op_name) if handler is None: print( - f"no handler found for {req.op_name}, registered handlers: {[op for op in handlers]}" + f"no handler found for {req.op_name}, registered handlers: {[op for op in handlers]}", ) raise Err(HandleErr_NoHandler()) try: return handler.handle(req) except json.JSONDecodeError as err: traceback.print_exc() - raise Err(HandleErr_InJsonErr(str(err))) + raise Err(HandleErr_InJsonErr(str(err))) from err except Exception as err: traceback.print_exc() - raise Err(HandleErr_HandlerErr(str(err))) + raise Err(HandleErr_HandlerErr(str(err))) from err class ErasedHandler: @@ -106,19 +106,19 @@ def op_to_handler(op: MatInfo) -> ErasedHandler: modules_raw = data_parsed["sources"] finder = ThePathFinder( - {os.path.join(prefix, path): modules_raw[path] for path in modules_raw} + {os.path.join(prefix, path): modules_raw[path] for path in modules_raw}, ) sys.meta_path.append(finder) try: module = importlib.import_module( ThePathFinder.path_to_module( - os.path.join(prefix, data_parsed["root_src_path"]) - ) + os.path.join(prefix, data_parsed["root_src_path"]), + ), ) except Exception as err: finder.debug() - raise Err(InitError_Other(f"{err}")) + raise Err(InitError_Other(f"{err}")) from err return ErasedHandler(handler_fn=getattr(module, data_parsed["func_name"])) elif data_parsed["ty"] == "lambda": fn = eval(data_parsed["source"]) @@ -130,7 +130,7 @@ def op_to_handler(op: MatInfo) -> ErasedHandler: class ThePathFinder(importlib.abc.MetaPathFinder): @staticmethod def path_to_module(path: str): - return os.path.splitext((os.path.normpath(path)))[0].replace("/", ".") + return os.path.splitext(os.path.normpath(path))[0].replace("/", ".") def debug(self): print("= Loaded modules summary == == == ==") @@ -168,7 +168,10 @@ def find_spec(self, fullname: str, _path, target=None): # our fake loader will give out the raw module src # when asked FakeFileLoader( - fullname, path, src=self._mods_raw[path], is_package=False + fullname, + path, + src=self._mods_raw[path], + is_package=False, ), ) # when one imports foo.bar.keg @@ -180,7 +183,8 @@ def find_spec(self, fullname: str, _path, target=None): if fullname in self._pkg_names: path = self._pkg_names[fullname] return importlib.util.spec_from_loader( - fullname, FakeFileLoader(fullname, path, src="", is_package=True) + fullname, + FakeFileLoader(fullname, path, src="", is_package=True), ) diff --git a/src/typegate/src/typegraphs/introspection.py b/src/typegate/src/typegraphs/introspection.py index 1cef3dbe91..8b68f51b8d 100644 --- a/src/typegate/src/typegraphs/introspection.py +++ b/src/typegate/src/typegraphs/introspection.py @@ -13,21 +13,24 @@ @typegraph() def introspection(g: Graph): resolver_mat_id = runtimes.register_typegraph_materializer( - store, TypegraphOperation.RESOLVER + store, + TypegraphOperation.RESOLVER, ) if isinstance(resolver_mat_id, Err): raise Exception(resolver_mat_id.value) resolver_mat = Materializer(resolver_mat_id.value, effect=fx.read()) type_mat_id = runtimes.register_typegraph_materializer( - store, TypegraphOperation.GET_TYPE + store, + TypegraphOperation.GET_TYPE, ) if isinstance(type_mat_id, Err): raise Exception(type_mat_id.value) type_mat = Materializer(type_mat_id.value, effect=fx.read()) schema_mat_id = runtimes.register_typegraph_materializer( - store, TypegraphOperation.GET_SCHEMA + store, + TypegraphOperation.GET_SCHEMA, ) if isinstance(schema_mat_id, Err): raise Exception(schema_mat_id.value) @@ -66,7 +69,7 @@ def introspection(g: Graph): # injection test # "fieldName": g.proxy("field", lambda x: x.name), # "parent": g.proxy("type", lambda x: x.name), - } + }, ), t.list(input_value), resolver_mat, @@ -163,7 +166,9 @@ def introspection(g: Graph): public = Policy.public() get_type = t.func( - t.struct({"name": t.string()}), type.optional(), type_mat + t.struct({"name": t.string()}), + type.optional(), + type_mat, ).with_policy(public) g.expose(__type=get_type) diff --git a/src/typegate/src/typegraphs/prisma_migration.py b/src/typegate/src/typegraphs/prisma_migration.py index ddc96df004..5f7a80a21a 100644 --- a/src/typegate/src/typegraphs/prisma_migration.py +++ b/src/typegate/src/typegraphs/prisma_migration.py @@ -26,7 +26,8 @@ def prisma_migration(g: Graph): deno = DenoRuntime() admin_only = deno.policy( - "admin_only", code="(_args, { context }) => context.username === 'admin'" + "admin_only", + code="(_args, { context }) => context.username === 'admin'", ) g.auth(Auth.basic(["admin"])) diff --git a/src/typegate/src/typegraphs/typegate.py b/src/typegate/src/typegraphs/typegate.py index 2b65527830..00e5ef827b 100644 --- a/src/typegate/src/typegraphs/typegate.py +++ b/src/typegate/src/typegraphs/typegate.py @@ -70,9 +70,9 @@ "repeatableread", "snapshot", "serializable", - ] + ], ).optional(), - } + }, ).optional(), }, name="PrismaBatchQuery", @@ -97,39 +97,45 @@ def typegate(g: Graph): deno = DenoRuntime() admin_only = deno.policy( - "admin_only", code="(_args, { context }) => context.username === 'admin'" + "admin_only", + code="(_args, { context }) => context.username === 'admin'", ) g.auth(Auth.basic(["admin"])) list_typegraphs_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.LIST_TYPEGRAPHS + store, + TypegateOperation.LIST_TYPEGRAPHS, ) if isinstance(list_typegraphs_mat_id, Err): raise Exception(list_typegraphs_mat_id.value) list_typegraphs_mat = Materializer(list_typegraphs_mat_id.value, effect=fx.read()) find_typegraph_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.FIND_TYPEGRAPH + store, + TypegateOperation.FIND_TYPEGRAPH, ) if isinstance(find_typegraph_mat_id, Err): raise Exception(find_typegraph_mat_id.value) find_typegraph_mat = Materializer(find_typegraph_mat_id.value, effect=fx.read()) add_typegraph_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.ADD_TYPEGRAPH + store, + TypegateOperation.ADD_TYPEGRAPH, ) if isinstance(add_typegraph_mat_id, Err): raise Exception(add_typegraph_mat_id.value) add_typegraph_mat = Materializer(add_typegraph_mat_id.value, effect=fx.create(True)) remove_typegraphs_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.REMOVE_TYPEGRAPHS + store, + TypegateOperation.REMOVE_TYPEGRAPHS, ) if isinstance(remove_typegraphs_mat_id, Err): raise Exception(remove_typegraphs_mat_id.value) remove_typegraphs_mat = Materializer( - remove_typegraphs_mat_id.value, effect=fx.delete(True) + remove_typegraphs_mat_id.value, + effect=fx.delete(True), ) serialized_typegraph_mat_id = runtimes.register_typegate_materializer( @@ -139,7 +145,8 @@ def typegate(g: Graph): if isinstance(serialized_typegraph_mat_id, Err): raise Exception(serialized_typegraph_mat_id.value) serialized_typegraph_mat = Materializer( - serialized_typegraph_mat_id.value, effect=fx.read() + serialized_typegraph_mat_id.value, + effect=fx.read(), ) arg_info_by_path_id = runtimes.register_typegate_materializer( @@ -166,7 +173,7 @@ def typegate(g: Graph): "queryType": t.string(), "fn": t.string(), "argPaths": t.list(path), - } + }, ) shallow_type_info = t.struct( @@ -185,16 +192,16 @@ def typegate(g: Graph): type_info = shallow_type_info.extend( { "fields": t.list( - t.struct({"subPath": path, "termNode": g.ref("TypeInfo")}) + t.struct({"subPath": path, "termNode": g.ref("TypeInfo")}), ).optional(), - } + }, ).rename("TypeInfo") operation_parameter = t.struct( { "name": t.string(), "type": type_info, - } + }, ) operation_info = t.struct( @@ -215,7 +222,8 @@ def typegate(g: Graph): if isinstance(find_available_operations_mat_id, Err): raise Exception(find_available_operations_mat_id.value) find_list_queries_mat = Materializer( - find_available_operations_mat_id.value, effect=fx.read() + find_available_operations_mat_id.value, + effect=fx.read(), ) find_available_operations = t.func( # TODO filters: query/mutation @@ -235,8 +243,8 @@ def typegate(g: Graph): "name": t.string(), "as_id": t.boolean(), "type": shallow_type_info, - } - ) + }, + ), ), }, name="PrismaModelInfo", @@ -249,7 +257,8 @@ def typegate(g: Graph): if isinstance(find_prisma_models_mat_id, Err): raise Exception(find_prisma_models_mat_id.value) find_prisma_models_mat = Materializer( - find_prisma_models_mat_id.value, effect=fx.read() + find_prisma_models_mat_id.value, + effect=fx.read(), ) find_prisma_models = t.func( t.struct({"typegraph": t.string()}), @@ -259,7 +268,8 @@ def typegate(g: Graph): ) raw_prisma_read_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.RAW_PRISMA_READ + store, + TypegateOperation.RAW_PRISMA_READ, ) if isinstance(raw_prisma_read_mat_id, Err): raise Exception(raw_prisma_read_mat_id.value) @@ -269,7 +279,8 @@ def typegate(g: Graph): ) raw_prisma_create_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.RAW_PRISMA_CREATE + store, + TypegateOperation.RAW_PRISMA_CREATE, ) if isinstance(raw_prisma_create_mat_id, Err): raise Exception(raw_prisma_create_mat_id.value) @@ -279,7 +290,8 @@ def typegate(g: Graph): ) raw_prisma_update_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.RAW_PRISMA_UPDATE + store, + TypegateOperation.RAW_PRISMA_UPDATE, ) if isinstance(raw_prisma_update_mat_id, Err): raise Exception(raw_prisma_update_mat_id.value) @@ -289,7 +301,8 @@ def typegate(g: Graph): ) raw_prisma_delete_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.RAW_PRISMA_DELETE + store, + TypegateOperation.RAW_PRISMA_DELETE, ) if isinstance(raw_prisma_delete_mat_id, Err): raise Exception(raw_prisma_delete_mat_id.value) @@ -305,12 +318,13 @@ def typegate(g: Graph): # prisma runtime name "runtime": t.string(), "query": prisma_query, - } + }, ) raw_prisma_op_out = t.json() query_prisma_model_mat_id = runtimes.register_typegate_materializer( - store, TypegateOperation.QUERY_PRISMA_MODEL + store, + TypegateOperation.QUERY_PRISMA_MODEL, ) if isinstance(query_prisma_model_mat_id, Err): raise Exception(query_prisma_model_mat_id.value) @@ -322,7 +336,7 @@ def typegate(g: Graph): "model": t.string(), "offset": t.integer(), "limit": t.integer(), - } + }, ), t.struct( { @@ -332,12 +346,12 @@ def typegate(g: Graph): "name": t.string(), "as_id": t.boolean(), "type": shallow_type_info, - } - ) + }, + ), ), "rowCount": t.integer(), "data": t.list(t.json()), - } + }, ), Materializer(query_prisma_model_mat_id.value, effect=fx.read()), ) @@ -362,7 +376,7 @@ def typegate(g: Graph): "fromString": t.json(), "secrets": t.json(), "targetVersion": t.string(), - } + }, ), t.struct( { @@ -372,19 +386,19 @@ def typegate(g: Graph): { "type": t.enum(["info", "warning", "error"]), "text": t.string(), - } - ) + }, + ), ), "migrations": t.list( t.struct( { "runtime": t.string(), "migrations": t.string(), - } - ) + }, + ), ), "failure": t.json().optional(), - } + }, ), add_typegraph_mat, rate_calls=True, @@ -396,7 +410,10 @@ def typegate(g: Graph): rate_calls=True, ), argInfoByPath=t.func( - arg_info_inp, t.list(type_info), arg_info_by_path_mat, rate_calls=True + arg_info_inp, + t.list(type_info), + arg_info_by_path_mat, + rate_calls=True, ), findAvailableOperations=find_available_operations, findPrismaModels=find_prisma_models, diff --git a/src/typegraph/deno/src/tg_artifact_upload.ts b/src/typegraph/deno/src/tg_artifact_upload.ts index 445a982000..f552588be7 100644 --- a/src/typegraph/deno/src/tg_artifact_upload.ts +++ b/src/typegraph/deno/src/tg_artifact_upload.ts @@ -89,7 +89,7 @@ export class ArtifactUploader { body: new Uint8Array(content), } as RequestInit, `failed to upload artifact ${meta.relativePath}`, - ); + ) as object; log.info("✓ artifact uploaded:", meta.relativePath); return res; diff --git a/src/typegraph/python/typegraph/deploy/request.py b/src/typegraph/python/typegraph/deploy/request.py index 819cfc44d5..c2c6f48681 100644 --- a/src/typegraph/python/typegraph/deploy/request.py +++ b/src/typegraph/python/typegraph/deploy/request.py @@ -2,7 +2,7 @@ # SPDX-License-Identifier: MPL-2.0 from enum import Enum -from typing import Optional, Any +from typing import Any, Optional from typegraph.python.typegraph.graph.shared_types import BasicAuth from typegraph.python.typegraph.io import DeployTarget diff --git a/src/typegraph/python/typegraph/envs/cli.py b/src/typegraph/python/typegraph/envs/cli.py index 9471001d4f..084f43dd64 100644 --- a/src/typegraph/python/typegraph/envs/cli.py +++ b/src/typegraph/python/typegraph/envs/cli.py @@ -2,9 +2,10 @@ # SPDX-License-Identifier: MPL-2.0 from dataclasses import dataclass -from typing import Optional, List -from os import environ from enum import Enum +from os import environ +from typing import List, Optional + from typegraph.io import Log _required_cli_envs = ( @@ -64,9 +65,11 @@ def load(cls) -> Optional["CliEnv"]: try: d["command"] = Command(d["command"]) - except ValueError as e: + except ValueError as err: variants = ", ".join(v.value for v in Command) - raise Exception(f"MCLI_COMMAND env value should be one of: {variants}; {e}") + raise Exception( + f"MCLI_COMMAND env value should be one of: {variants}; {err}" + ) from err raw_filter: str = d["filter"] if raw_filter == "all": diff --git a/src/typegraph/python/typegraph/graph/metagen.py b/src/typegraph/python/typegraph/graph/metagen.py index 5b819be41f..94c88baa4a 100644 --- a/src/typegraph/python/typegraph/graph/metagen.py +++ b/src/typegraph/python/typegraph/graph/metagen.py @@ -3,10 +3,11 @@ import json from typing import List, Union + from typegraph.gen.exports.core import ( MigrationAction, - SerializeParams, PrismaMigrationConfig, + SerializeParams, ) from typegraph.gen.exports.utils import FdkConfig, FdkOutput from typegraph.gen.types import Err @@ -37,7 +38,9 @@ def _get_fdk_config( migrations_dir="prisma-migrations", migration_actions=[], default_migration_action=MigrationAction( - apply=False, create=False, reset=False + apply=False, + create=False, + reset=False, ), ), pretty=False, diff --git a/src/typegraph/python/typegraph/graph/params.py b/src/typegraph/python/typegraph/graph/params.py index 8cc457b5a0..da586defc9 100644 --- a/src/typegraph/python/typegraph/graph/params.py +++ b/src/typegraph/python/typegraph/graph/params.py @@ -1,13 +1,13 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from dataclasses import dataclass import json -from typing import List, Optional, TYPE_CHECKING, Any -from typegraph.gen.exports import utils -from typegraph.wit import ErrorStack, store, wit_utils +from dataclasses import dataclass +from typing import TYPE_CHECKING, Any, List, Optional +from typegraph.gen.exports import utils from typegraph.gen.types import Err +from typegraph.wit import ErrorStack, store, wit_utils if TYPE_CHECKING: from typegraph import t @@ -65,26 +65,24 @@ class Cors: def __init__( self, *, - allow_origin: List[str] = [], - allow_headers: List[str] = [], - expose_headers: List[str] = [], - allow_methods: List[str] = [], + allow_origin: Optional[List[str]] = None, + allow_headers: Optional[List[str]] = None, + expose_headers: Optional[List[str]] = None, + allow_methods: Optional[List[str]] = None, allow_credentials: bool = True, max_age_sec: Optional[int] = None, ): - self.allow_origin = allow_origin - self.allow_headers = allow_headers - self.expose_headers = expose_headers - self.allow_methods = allow_methods + self.allow_origin = allow_origin or [] + self.allow_headers = allow_headers or [] + self.expose_headers = expose_headers or [] + self.allow_methods = allow_methods or [] self.allow_credentials = allow_credentials self.max_age_sec = max_age_sec class Auth: def jwt(name: str, format: str, algorithm: None) -> "utils.Auth": - """ - [Documentation](http://localhost:3000/docs/guides/authentication#jwt-authentication) - """ + """[Documentation](http://localhost:3000/docs/guides/authentication#jwt-authentication)""" if algorithm is None: algorithm = {} @@ -125,72 +123,86 @@ def oauth2( ) def oauth2_digitalocean( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("digitalocean", scopes, profiler) def oauth2_discord( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("discord", scopes, profiler) def oauth2_dropbox( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("dropbox", scopes, profiler) def oauth2_facebook( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("facebook", scopes, profiler) def oauth2_github( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("github", scopes, profiler) def oauth2_gitlab( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("gitlab", scopes, profiler) def oauth2_google( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("google", scopes, profiler) def oauth2_instagram( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("instagram", scopes, profiler) def oauth2_linkedin( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("linkedin", scopes, profiler) def oauth2_microsoft( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("microsoft", scopes, profiler) def oauth2_reddit( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("reddit", scopes, profiler) def oauth2_slack( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("slack", scopes, profiler) def oauth2_stackexchange( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("stackexchange", scopes, profiler) def oauth2_twitter( - scopes: str, profiler: Optional[StdOauth2Profiler] = None + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ) -> "utils.Auth": return RawAuth.from_std("twitter", scopes, profiler) @@ -201,17 +213,26 @@ class RawAuth: @classmethod def from_std( - cls, service: str, scopes: str, profiler: Optional[StdOauth2Profiler] = None + cls, + service: str, + scopes: str, + profiler: Optional[StdOauth2Profiler] = None, ): if isinstance(profiler, NoProfiler): res = wit_utils.oauth2_without_profiler(store, service, scopes) elif isinstance(profiler, ExtendedProfiler): res = wit_utils.oauth2_with_extended_profiler( - store, service, scopes, json.dumps(profiler.extension) + store, + service, + scopes, + json.dumps(profiler.extension), ) elif isinstance(profiler, CustomProfiler): res = wit_utils.oauth2_with_custom_profiler( - store, service, scopes, profiler.func._id + store, + service, + scopes, + profiler.func._id, ) else: # default profiler res = wit_utils.oauth2(store, service, scopes) diff --git a/src/typegraph/python/typegraph/graph/shared_types.py b/src/typegraph/python/typegraph/graph/shared_types.py index cce409a2c8..850c93e489 100644 --- a/src/typegraph/python/typegraph/graph/shared_types.py +++ b/src/typegraph/python/typegraph/graph/shared_types.py @@ -4,6 +4,7 @@ from base64 import b64encode from dataclasses import dataclass from typing import Callable, List + from typegraph.gen.exports.core import Artifact from typegraph.wit import SerializeParams @@ -26,7 +27,7 @@ class BasicAuth: password: str def as_header_value(self): - payload = b64encode(f"{self.username}:{self.password}".encode("utf-8")).decode( - "utf-8" + payload = b64encode(f"{self.username}:{self.password}".encode()).decode( + "utf-8", ) return f"Basic {payload}" diff --git a/src/typegraph/python/typegraph/graph/tg_artifact_upload.py b/src/typegraph/python/typegraph/graph/tg_artifact_upload.py index a907b4b011..ca31d81977 100644 --- a/src/typegraph/python/typegraph/graph/tg_artifact_upload.py +++ b/src/typegraph/python/typegraph/graph/tg_artifact_upload.py @@ -6,7 +6,8 @@ import sys from dataclasses import dataclass from typing import Any, Dict, List, Optional, Union -from urllib import request, parse as Url +from urllib import parse as Url +from urllib import request from urllib.error import HTTPError from typegraph.gen.exports.core import Artifact @@ -65,9 +66,9 @@ def __get_upload_tokens( try: response = request.urlopen(req) - except HTTPError as e: - Log.error("error message:", e.fp.read().decode()) - raise Exception(f"failed to get upload URLs: {e}") + except HTTPError as err: + Log.error("error message:", err.fp.read().decode()) + raise Exception(f"failed to get upload URLs: {err}") from err if response.status != 200: raise Exception(f"failed to get upload URLs: {response}") @@ -115,11 +116,11 @@ def __upload( ) try: response = request.urlopen(upload_req) - except HTTPError as e: - Log.error("failed to upload artifact", meta.relativePath, e) - errmsg = json.load(e.fp).get("error", None) + except HTTPError as err: + Log.error("failed to upload artifact", meta.relativePath, err) + errmsg = json.load(err.fp).get("error", None) Log.error("error message:", errmsg) - raise Exception(errmsg) + raise Exception(errmsg) from err if response.status != 201: raise Exception(f"failed to upload artifact {path} {response.status}") diff --git a/src/typegraph/python/typegraph/graph/tg_deploy.py b/src/typegraph/python/typegraph/graph/tg_deploy.py index af5d01e311..5f75605a6d 100644 --- a/src/typegraph/python/typegraph/graph/tg_deploy.py +++ b/src/typegraph/python/typegraph/graph/tg_deploy.py @@ -3,19 +3,19 @@ import json from dataclasses import dataclass +from platform import python_version from typing import Any, Dict, Optional, Union from urllib import request -from platform import python_version +from typegraph import version as sdk_version +from typegraph.gen.exports.core import MigrationAction, PrismaMigrationConfig from typegraph.gen.exports.utils import QueryDeployParams from typegraph.gen.types import Err -from typegraph.gen.exports.core import MigrationAction, PrismaMigrationConfig from typegraph.graph.shared_types import BasicAuth from typegraph.graph.tg_artifact_upload import ArtifactUploader from typegraph.graph.typegraph import TypegraphOutput -from typegraph.wit import ErrorStack, SerializeParams, store, wit_utils -from typegraph import version as sdk_version from typegraph.io import Log +from typegraph.wit import ErrorStack, SerializeParams, store, wit_utils @dataclass @@ -177,12 +177,12 @@ def exec_request(req: Any): # Note: 400 status and such, the response body # is hidden within the exception and can be consumed through .read() return res - except Exception as e: - raise Exception(f"{e}: {req.full_url}") + except Exception as err: + raise Exception(f"{err}: {req.full_url}") from err def handle_response(res: Any, url=""): try: return json.loads(res) - except Exception as _: - raise Exception(f'Expected json object: got "{res}": {url}') + except Exception as err: + raise Exception(f'Expected json object: got "{res}": {url}') from err diff --git a/src/typegraph/python/typegraph/graph/tg_manage.py b/src/typegraph/python/typegraph/graph/tg_manage.py index d2ab111606..c463181f2e 100644 --- a/src/typegraph/python/typegraph/graph/tg_manage.py +++ b/src/typegraph/python/typegraph/graph/tg_manage.py @@ -4,10 +4,11 @@ import traceback from pathlib import Path +from typegraph.envs.cli import CliEnv, Command, get_cli_env from typegraph.gen.exports.core import ( - SerializeParams, MigrationAction, PrismaMigrationConfig, + SerializeParams, ) from typegraph.graph.shared_types import TypegraphOutput from typegraph.graph.tg_deploy import ( @@ -15,10 +16,9 @@ TypegraphDeployParams, tg_deploy, ) -from typegraph.wit import ErrorStack -from typegraph.utils import freeze_tg_output from typegraph.io import Log, Rpc -from typegraph.envs.cli import CliEnv, Command, get_cli_env +from typegraph.utils import freeze_tg_output +from typegraph.wit import ErrorStack class Manager: @@ -129,7 +129,7 @@ def deploy(self): "value": ret.serialized, }, **response, - } + }, ) except Exception as err: Log.debug(traceback.format_exc()) diff --git a/src/typegraph/python/typegraph/graph/typegraph.py b/src/typegraph/python/typegraph/graph/typegraph.py index 135bb1e6de..b2b24fb0b3 100644 --- a/src/typegraph/python/typegraph/graph/typegraph.py +++ b/src/typegraph/python/typegraph/graph/typegraph.py @@ -4,24 +4,24 @@ import inspect from dataclasses import dataclass from pathlib import Path -from typing import TYPE_CHECKING, Callable, List, Optional, Union, Any +from typing import TYPE_CHECKING, Any, Callable, List, Optional, Union +from typegraph.envs.cli import CLI_ENV from typegraph.gen.exports.core import ( - SerializeParams, - Rate, - TypegraphInitParams, + Cors as CoreCors, ) from typegraph.gen.exports.core import ( - Cors as CoreCors, + Rate, + SerializeParams, + TypegraphInitParams, ) from typegraph.gen.exports.utils import Auth from typegraph.gen.types import Err from typegraph.graph.params import Cors, RawAuth from typegraph.graph.shared_types import FinalizationResult, TypegraphOutput -from typegraph.policy import Policy, PolicyPerEffect, PolicySpec, get_policy_chain -from typegraph.envs.cli import CLI_ENV -from typegraph.wit import ErrorStack, core, store, wit_utils from typegraph.io import Log +from typegraph.policy import Policy, PolicyPerEffect, PolicySpec, get_policy_chain +from typegraph.wit import Error, ErrorStack, core, store, wit_utils if TYPE_CHECKING: from typegraph import t @@ -69,7 +69,7 @@ def __init__( @classmethod def get_active(cls) -> Optional["Typegraph"]: if len(cls._context) == 0: - raise ErrorStack("No active typegraph") + raise ErrorStack(Error(["No active typegraph"])) return cls._context[-1] def __call__(self, **kwargs: ExposeItem): diff --git a/src/typegraph/python/typegraph/host/host.py b/src/typegraph/python/typegraph/host/host.py index 145a500360..0c218ad742 100644 --- a/src/typegraph/python/typegraph/host/host.py +++ b/src/typegraph/python/typegraph/host/host.py @@ -48,8 +48,8 @@ def path_exists(self, path: str) -> Result[bool, str]: def read_file(self, path: str) -> Result[bytes, str]: try: - file = open(path, mode="rb") - return Ok(file.read()) + with open(path, mode="rb") as file: + return Ok(file.read()) except Exception as e: return Err(str(e)) @@ -57,9 +57,9 @@ def write_file(self, path: str, data: bytes) -> Result[None, str]: try: dirname = os.path.dirname(path) os.makedirs(dirname, exist_ok=True) - file = open(path, "wb") - file.write(data) - return Ok(None) + with open(path, "wb") as file: + file.write(data) + return Ok(None) except Exception as e: return Err(str(e)) diff --git a/src/typegraph/python/typegraph/injection.py b/src/typegraph/python/typegraph/injection.py index 611d42b861..5b329b562e 100644 --- a/src/typegraph/python/typegraph/injection.py +++ b/src/typegraph/python/typegraph/injection.py @@ -2,20 +2,20 @@ # SPDX-License-Identifier: MPL-2.0 import json -from typing import Callable, Dict, Union, Optional +from typing import Any, Callable, Dict, Optional, Union from typegraph.effects import EffectType def serialize_injection( source: str, - value: Union[any, Dict[EffectType, any]], - value_mapper: Callable[[any], any] = lambda x: x, + value: Union[Any, Dict[EffectType, Any]], + value_mapper: Callable[[Any], Any] = lambda x: x, ): if ( isinstance(value, dict) and len(value) > 0 - and all(isinstance(k, EffectType) for k in value.keys()) + and all(isinstance(k, EffectType) for k in value) ): value_per_effect = { str(k.name.lower()): value_mapper(v) for k, v in value.items() @@ -28,13 +28,15 @@ def serialize_injection( return json.dumps({"source": source, "data": {"value": value_mapper(value)}}) -def serialize_static_injection(value: Union[any, Dict[EffectType, any]]): +def serialize_static_injection(value: Union[Any, Dict[EffectType, Any]]): return serialize_injection( - "static", value=value, value_mapper=lambda x: json.dumps(x) + "static", + value=value, + value_mapper=lambda x: json.dumps(x), ) -def serialize_generic_injection(source: str, value: Union[any, Dict[EffectType, any]]): +def serialize_generic_injection(source: str, value: Union[Any, Dict[EffectType, Any]]): allowed = ["dynamic", "context", "secret", "random"] if source in allowed: return serialize_injection(source, value=value) @@ -46,9 +48,7 @@ def serialize_parent_injection(value: Union[str, Dict[EffectType, str]]): if not isinstance(value, dict): raise Exception("type not supported") - is_per_effect = len(value) > 0 and all( - isinstance(k, EffectType) for k in value.keys() - ) + is_per_effect = len(value) > 0 and all(isinstance(k, EffectType) for k in value) if not is_per_effect: raise Exception("object keys should be of type EffectType") @@ -58,11 +58,11 @@ def serialize_parent_injection(value: Union[str, Dict[EffectType, str]]): class InheritDef: payload: Optional[str] = None - def set(self, value: Union[any, Dict[EffectType, any]]): + def set(self, value: Union[Any, Dict[EffectType, Any]]): self.payload = serialize_static_injection(value) return self - def inject(self, value: Union[any, Dict[EffectType, any]]): + def inject(self, value: Union[Any, Dict[EffectType, Any]]): self.payload = serialize_generic_injection("dynamic", value) return self diff --git a/src/typegraph/python/typegraph/io.py b/src/typegraph/python/typegraph/io.py index df43374bf2..ceb510cbc9 100644 --- a/src/typegraph/python/typegraph/io.py +++ b/src/typegraph/python/typegraph/io.py @@ -1,13 +1,13 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typing import Any, Optional, Dict -from fileinput import FileInput -from dataclasses import dataclass -from typegraph.graph.shared_types import BasicAuth -from typegraph.gen.exports.core import MigrationAction import json +from dataclasses import dataclass +from fileinput import FileInput +from typing import Any, Dict, Optional +from typegraph.gen.exports.core import MigrationAction +from typegraph.graph.shared_types import BasicAuth _JSONRPC_VERSION = "2.0" @@ -23,7 +23,7 @@ def rpc_notify(method: str, params: Any): "jsonrpc": _JSONRPC_VERSION, "method": method, "params": params, - } + }, ) write_rpc_message(message) @@ -83,7 +83,7 @@ def read(self, rpc_id: int): if parsed.get("id") != rpc_id: Log.error( - f"rpc response: expected sequential requestests, unexpected rpc id {parsed.get('id')}" + f"rpc response: expected sequential requestests, unexpected rpc id {parsed.get('id')}", ) continue @@ -104,7 +104,7 @@ def call(cls, method: str, params: Any): "id": rpc_id, "method": method, "params": params, - } + }, ) write_rpc_message(rpc_message) @@ -162,7 +162,7 @@ def get_deploy_data(typegraph: str) -> DeployData: return DeployData( secrets=res["secrets"], default_migration_action=migration_action_from_dict( - res["defaultMigrationAction"] + res["defaultMigrationAction"], ), migration_actions={ k: migration_action_from_dict(v) diff --git a/src/typegraph/python/typegraph/policy.py b/src/typegraph/python/typegraph/policy.py index 8694571835..d1fab1feec 100644 --- a/src/typegraph/python/typegraph/policy.py +++ b/src/typegraph/python/typegraph/policy.py @@ -6,9 +6,9 @@ from typing import List, Optional, Union from typegraph.gen.exports.core import ( + ContextCheckNotNull, ContextCheckPattern, ContextCheckValue, - ContextCheckNotNull, Err, MaterializerId, PolicySpecPerEffect, @@ -36,9 +36,7 @@ def __init__(self, id: int, name: str): @classmethod def public(cls): - """ - Public access - """ + """Public access""" res = core.get_public_policy(store) if isinstance(res, Err): raise Exception(res.value) @@ -52,7 +50,9 @@ def context(cls, key: str, check: Optional[Union[str, Pattern]] = None) -> "Poli res = core.register_context_policy(store, key, ContextCheckValue(check)) else: res = core.register_context_policy( - store, key, ContextCheckPattern(check.pattern) + store, + key, + ContextCheckPattern(check.pattern), ) if isinstance(res, Err): @@ -114,7 +114,7 @@ def get_policy_chain(policies: PolicySpec) -> List[WitPolicySpec]: update=p.update and p.update.id, delete=p.delete and p.delete.id, read=p.read and p.read.id, - ) + ), ) for p in policies ] diff --git a/src/typegraph/python/typegraph/providers/aws.py b/src/typegraph/python/typegraph/providers/aws.py index 2d6030bce9..d2d0c2a0e6 100644 --- a/src/typegraph/python/typegraph/providers/aws.py +++ b/src/typegraph/python/typegraph/providers/aws.py @@ -13,7 +13,7 @@ from typegraph.gen.exports.runtimes import EffectCreate, EffectRead from typegraph.gen.types import Err from typegraph.runtimes.base import Materializer, Runtime -from typegraph.wit import aws, ErrorStack, store +from typegraph.wit import ErrorStack, aws, store class S3Runtime(Runtime): @@ -115,7 +115,7 @@ def list(self, bucket: str): { "keys": t.list(t.struct({"key": t.string(), "size": t.integer()})), "prefix": t.list(t.string()), - } + }, ), S3ListMat(mat_id.value, bucket=bucket, effect=EffectRead()), ) @@ -132,7 +132,7 @@ def upload(self, bucket: str, file_type: Optional[t.file] = None): { "file": file_type, "path": t.string().optional(), - } + }, ), t.boolean(), S3UploadMat(mat_id.value, bucket=bucket, effect=EffectCreate(True)), @@ -150,7 +150,7 @@ def upload_all(self, bucket: str, file_type: Optional[t.file] = None): { "prefix": t.string().optional(""), "files": t.list(file_type), - } + }, ), t.boolean(), S3UploadAllMat(mat_id.value, bucket=bucket, effect=EffectCreate(True)), diff --git a/src/typegraph/python/typegraph/providers/prisma.py b/src/typegraph/python/typegraph/providers/prisma.py index 80696ccddf..31fb56baa3 100644 --- a/src/typegraph/python/typegraph/providers/prisma.py +++ b/src/typegraph/python/typegraph/providers/prisma.py @@ -1,18 +1,18 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typing import Union, Optional +from typing import Optional, Union -from typegraph.runtimes.base import Runtime -from typegraph.wit import ErrorStack, runtimes, store -from typegraph.gen.types import Err +from typegraph import t from typegraph.gen.exports.runtimes import ( Effect, - PrismaRuntimeData, PrismaLinkData, + PrismaRuntimeData, ) -from typegraph import t +from typegraph.gen.types import Err from typegraph.graph.typegraph import gen_ref +from typegraph.runtimes.base import Runtime +from typegraph.wit import ErrorStack, runtimes, store class PrismaRuntime(Runtime): @@ -21,7 +21,8 @@ class PrismaRuntime(Runtime): def __init__(self, name: str, connection_string_secret: str): runtime_id = runtimes.register_prisma_runtime( - store, PrismaRuntimeData(name, connection_string_secret) + store, + PrismaRuntimeData(name, connection_string_secret), ) if isinstance(runtime_id, Err): raise ErrorStack(runtime_id.value) @@ -141,7 +142,10 @@ def execute(self, query: str, parameters: t.typedef, effect: Effect) -> t.func: return t.func.from_type_func(type.value) def query_raw( - self, query: str, parameters: Union[None, t.typedef], output: t.typedef + self, + query: str, + parameters: Union[None, t.typedef], + output: t.typedef, ) -> t.func: params_id = None if parameters is None else parameters._id type = runtimes.prisma_query_raw(store, self.id, query, params_id, output._id) @@ -159,7 +163,11 @@ def link( unique: Optional[bool] = None, ): return prisma_link( - target_type, name=name, fkey=fkey, field=field, unique=unique + target_type, + name=name, + fkey=fkey, + field=field, + unique=unique, ) diff --git a/src/typegraph/python/typegraph/providers/temporal.py b/src/typegraph/python/typegraph/providers/temporal.py index 104505fe45..3686bf138b 100644 --- a/src/typegraph/python/typegraph/providers/temporal.py +++ b/src/typegraph/python/typegraph/providers/temporal.py @@ -1,24 +1,22 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typing import Union, Optional - -from typegraph.runtimes.base import Runtime +from typing import Optional, Union +from typegraph import t from typegraph.gen.exports.runtimes import ( TemporalOperationData, - TemporalRuntimeData, TemporalOperationType, - TemporalOperationTypeStartWorkflow, - TemporalOperationTypeSignalWorkflow, - TemporalOperationTypeQueryWorkflow, TemporalOperationTypeDescribeWorkflow, + TemporalOperationTypeQueryWorkflow, + TemporalOperationTypeSignalWorkflow, + TemporalOperationTypeStartWorkflow, + TemporalRuntimeData, ) from typegraph.gen.types import Err +from typegraph.runtimes.base import Runtime from typegraph.wit import runtimes, store -from typegraph import t - class TemporalRuntime(Runtime): name: str @@ -26,10 +24,16 @@ class TemporalRuntime(Runtime): namespace_secret: Optional[str] def __init__( - self, name: str, host_secret: str, *, namespace_secret: Optional[str] = None + self, + name: str, + host_secret: str, + *, + namespace_secret: Optional[str] = None, ): data = TemporalRuntimeData( - name=name, host_secret=host_secret, namespace_secret=namespace_secret + name=name, + host_secret=host_secret, + namespace_secret=namespace_secret, ) runtime_id = runtimes.register_temporal_runtime(store, data) if isinstance(runtime_id, Err): @@ -59,7 +63,9 @@ def _generic_temporal_func( def start_workflow(self, workflow_type: str, arg: t.typedef): return self._generic_temporal_func( - TemporalOperationTypeStartWorkflow(), workflow_type, arg + TemporalOperationTypeStartWorkflow(), + workflow_type, + arg, ) def signal_workflow(self, signal_name: str, arg: t.typedef): @@ -71,7 +77,10 @@ def signal_workflow(self, signal_name: str, arg: t.typedef): def query_workflow(self, query_type: str, arg: t.typedef, out: t.typedef): return self._generic_temporal_func( - TemporalOperationTypeQueryWorkflow(), query_type, arg, out + TemporalOperationTypeQueryWorkflow(), + query_type, + arg, + out, ) def describe_workflow(self): diff --git a/src/typegraph/python/typegraph/runtimes/__init__.py b/src/typegraph/python/typegraph/runtimes/__init__.py index d21ee52856..4a19adfb2b 100644 --- a/src/typegraph/python/typegraph/runtimes/__init__.py +++ b/src/typegraph/python/typegraph/runtimes/__init__.py @@ -3,7 +3,7 @@ from typegraph.runtimes.deno import DenoRuntime # noqa from typegraph.runtimes.graphql import GraphQLRuntime # noqa -from typegraph.runtimes.random import RandomRuntime # noqa +from typegraph.runtimes.random import RandomRuntime from typegraph.runtimes.http import HttpRuntime # noqa from typegraph.runtimes.python import PythonRuntime # noqa from typegraph.runtimes.random import RandomRuntime # noqa diff --git a/src/typegraph/python/typegraph/runtimes/deno.py b/src/typegraph/python/typegraph/runtimes/deno.py index 58657df4a9..f3b4dc8203 100644 --- a/src/typegraph/python/typegraph/runtimes/deno.py +++ b/src/typegraph/python/typegraph/runtimes/deno.py @@ -34,7 +34,9 @@ def static(self, out: "t.typedef", value: Any): from typegraph import t mat_id = runtimes.register_deno_static( - store, MaterializerDenoStatic(json.dumps(value)), out._id + store, + MaterializerDenoStatic(json.dumps(value)), + out._id, ) if isinstance(mat_id, Err): @@ -73,7 +75,9 @@ def func( from typegraph import t return t.func( - inp, out, FunMat(mat_id.value, code=code, secrets=secrets, effect=effect) + inp, + out, + FunMat(mat_id.value, code=code, secrets=secrets, effect=effect), ) def import_( @@ -83,7 +87,7 @@ def import_( *, module: str, name: str, - deps: List[str] = [], + deps: Optional[List[str]] = None, effect: Optional[Effect] = None, secrets: Optional[List[str]] = None, ): @@ -92,7 +96,10 @@ def import_( mat_id = runtimes.import_deno_function( store, MaterializerDenoImport( - func_name=name, module=module, secrets=secrets, deps=deps + func_name=name, + module=module, + secrets=secrets, + deps=deps or [], ), effect, ) @@ -118,7 +125,8 @@ def identity(self, inp: "t.struct") -> "t.func": from typegraph import t res = runtimes.get_predefined_deno_func( - store, MaterializerDenoPredefined(name="identity") + store, + MaterializerDenoPredefined(name="identity"), ) if isinstance(res, Err): raise Exception(res.value) @@ -130,7 +138,10 @@ def identity(self, inp: "t.struct") -> "t.func": ) def policy( - self, name: str, code: str, secrets: Optional[List[str]] = None + self, + name: str, + code: str, + secrets: Optional[List[str]] = None, ) -> Policy: secrets = secrets or [] mat_id = runtimes.register_deno_func( @@ -159,7 +170,10 @@ def import_policy( res = runtimes.import_deno_function( store, MaterializerDenoImport( - func_name=func_name, module=module, secrets=secrets or [], deps=[] + func_name=func_name, + module=module, + secrets=secrets or [], + deps=[], ), EffectRead(), ) diff --git a/src/typegraph/python/typegraph/runtimes/graphql.py b/src/typegraph/python/typegraph/runtimes/graphql.py index 95b1c54a76..8636dad054 100644 --- a/src/typegraph/python/typegraph/runtimes/graphql.py +++ b/src/typegraph/python/typegraph/runtimes/graphql.py @@ -32,7 +32,8 @@ class GraphQLRuntime(Runtime): def __init__(self, endpoint: str): runtime_id = runtimes.register_graphql_runtime( - store, GraphqlRuntimeData(endpoint=endpoint) + store, + GraphqlRuntimeData(endpoint=endpoint), ) if isinstance(runtime_id, Err): raise Exception(runtime_id.value) @@ -41,7 +42,11 @@ def __init__(self, endpoint: str): self.endpoint = endpoint def query( - self, inp: "t.struct", out: "t.typedef", *, path: Optional[List[str]] = None + self, + inp: "t.struct", + out: "t.typedef", + *, + path: Optional[List[str]] = None, ): mat_id = runtimes.graphql_query( store, diff --git a/src/typegraph/python/typegraph/runtimes/http.py b/src/typegraph/python/typegraph/runtimes/http.py index c44311654c..65b8b9a1fb 100644 --- a/src/typegraph/python/typegraph/runtimes/http.py +++ b/src/typegraph/python/typegraph/runtimes/http.py @@ -37,6 +37,7 @@ class HttpRequestOptions: body_fields: Optional[List[str]] = None auth_token_field: Optional[str] = None + @staticmethod def from_kwargs(**kwargs: HttpRequestKwargs): return HttpRequestOptions( content_type=kwargs.get("content_type", None), @@ -67,7 +68,8 @@ def __init__( basic_auth_secret: Optional[str] = None, ): runtime_id = runtimes.register_http_runtime( - store, HttpRuntimeData(endpoint, cert_secret, basic_auth_secret) + store, + HttpRuntimeData(endpoint, cert_secret, basic_auth_secret), ) if isinstance(runtime_id, Err): raise Exception(runtime_id.value) @@ -140,7 +142,7 @@ def post( inp: "t.struct", out: "t.typedef", *, - effect: Effect = fx.create(), + effect: Optional[Effect] = None, **kwargs: HttpRequestKwargs, ): return self.__request( @@ -148,7 +150,7 @@ def post( path, inp, out, - effect, + effect or fx.create(), HttpRequestOptions.from_kwargs(**kwargs), ) @@ -158,7 +160,7 @@ def put( inp: "t.struct", out: "t.typedef", *, - effect: Effect = fx.update(), + effect: Optional[Effect] = None, **kwargs: HttpRequestKwargs, ): return self.__request( @@ -166,7 +168,7 @@ def put( path, inp, out, - effect, + effect or fx.update(), HttpRequestOptions.from_kwargs(**kwargs), ) @@ -176,7 +178,7 @@ def patch( inp: "t.struct", out: "t.typedef", *, - effect: Effect = fx.update(), + effect: Optional[Effect] = None, **kwargs: HttpRequestKwargs, ): return self.__request( @@ -184,7 +186,7 @@ def patch( path, inp, out, - effect, + effect or fx.update(), HttpRequestOptions.from_kwargs(**kwargs), ) @@ -194,7 +196,7 @@ def delete( inp: "t.struct", out: "t.typedef", *, - effect: Effect = fx.delete(), + effect: Optional[Effect] = None, **kwargs: HttpRequestKwargs, ): return self.__request( @@ -202,6 +204,6 @@ def delete( path, inp, out, - effect, + effect or fx.delete(), HttpRequestOptions.from_kwargs(**kwargs), ) diff --git a/src/typegraph/python/typegraph/runtimes/kv.py b/src/typegraph/python/typegraph/runtimes/kv.py index 653adc33a4..d6ee15d6a1 100644 --- a/src/typegraph/python/typegraph/runtimes/kv.py +++ b/src/typegraph/python/typegraph/runtimes/kv.py @@ -34,7 +34,9 @@ def get(self): def set(self): mat = self.__operation(KvMaterializer.SET, fx.update()) return t.func( - t.struct({"key": t.string(), "value": t.string()}), t.string(), mat + t.struct({"key": t.string(), "value": t.string()}), + t.string(), + mat, ) def delete(self): @@ -44,7 +46,9 @@ def delete(self): def keys(self): mat = self.__operation(KvMaterializer.KEYS, fx.read()) return t.func( - t.struct({"filter": t.optional(t.string())}), t.list(t.string()), mat + t.struct({"filter": t.optional(t.string())}), + t.list(t.string()), + mat, ) def values(self): @@ -57,7 +61,9 @@ def values(self): def __operation(self, operation: KvMaterializer, effect: Effect): mat_id = runtimes.kv_operation( - store, BaseMaterializer(self.id, effect), operation + store, + BaseMaterializer(self.id, effect), + operation, ) if isinstance(mat_id, Err): raise Exception(mat_id.value) diff --git a/src/typegraph/python/typegraph/runtimes/python.py b/src/typegraph/python/typegraph/runtimes/python.py index 807036e612..361dc73347 100644 --- a/src/typegraph/python/typegraph/runtimes/python.py +++ b/src/typegraph/python/typegraph/runtimes/python.py @@ -3,9 +3,10 @@ import ast import inspect from dataclasses import dataclass -from typing import TYPE_CHECKING, List, Optional +from typing import TYPE_CHECKING, Callable, List, Optional from astunparse import unparse + from typegraph.gen.exports.runtimes import ( BaseMaterializer, Effect, @@ -25,26 +26,30 @@ class PythonRuntime(Runtime): def __init__(self): - super().__init__(runtimes.register_python_runtime(store)) + res = runtimes.register_python_runtime(store) + if isinstance(res, Err): + raise Exception("unexpected", res.value) + super().__init__(res.value) def from_lambda( self, inp: "t.struct", out: "t.typedef", - function: callable, + function: Callable, *, - effect: Effect = EffectRead(), + effect: Optional[Effect] = None, # secrets: Optional[List[str]] = None, ): - lambdas, _defs = DefinitionCollector.collect(function) + effect = effect or EffectRead() + lambdas, _ = DefinitionCollector.collect(function) assert len(lambdas) == 1 fn = str(lambdas[0]) if fn.startswith("(") and fn.endswith(")"): fn = fn[1:-1] mat_id = runtimes.from_python_lambda( store, - BaseMaterializer(runtime=self.id.value, effect=effect), - MaterializerPythonLambda(runtime=self.id.value, fn=fn), + BaseMaterializer(runtime=self.id, effect=effect), + MaterializerPythonLambda(runtime=self.id, fn=fn), ) if isinstance(mat_id, Err): @@ -62,18 +67,19 @@ def from_def( self, inp: "t.struct", out: "t.typedef", - function: callable, + function: Callable, *, - effect: Effect = EffectRead(), + effect: Optional[Effect] = None, ): - _lambdas, defs = DefinitionCollector.collect(function) + effect = effect or EffectRead() + _, defs = DefinitionCollector.collect(function) assert len(defs) == 1 name, fn = defs[0] mat_id = runtimes.from_python_def( store, - BaseMaterializer(runtime=self.id.value, effect=effect), - MaterializerPythonDef(runtime=self.id.value, name=name, fn=fn), + BaseMaterializer(runtime=self.id, effect=effect), + MaterializerPythonDef(runtime=self.id, name=name, fn=fn), ) if isinstance(mat_id, Err): @@ -94,21 +100,21 @@ def import_( *, module: str, name: str, - deps: List[str] = [], + deps: Optional[List[str]] = None, effect: Optional[Effect] = None, secrets: Optional[List[str]] = None, ): effect = effect or EffectRead() secrets = secrets or [] - base = BaseMaterializer(runtime=self.id.value, effect=effect) + base = BaseMaterializer(runtime=self.id, effect=effect) mat_id = runtimes.from_python_module( store, base, MaterializerPythonModule( file=module, - deps=deps, - runtime=self.id.value, + deps=deps or [], + runtime=self.id, ), ) @@ -119,7 +125,9 @@ def import_( store, base, MaterializerPythonImport( - module=mat_id.value, func_name=name, secrets=secrets + module=mat_id.value, + func_name=name, + secrets=secrets, ), ) diff --git a/src/typegraph/python/typegraph/runtimes/random.py b/src/typegraph/python/typegraph/runtimes/random.py index 2754f461fa..9ed8aabdd4 100644 --- a/src/typegraph/python/typegraph/runtimes/random.py +++ b/src/typegraph/python/typegraph/runtimes/random.py @@ -19,8 +19,9 @@ class RandomRuntime(Runtime): def __init__(self, seed: Optional[int] = None, reset: Optional[str] = ""): super().__init__( runtimes.register_random_runtime( - store, data=RandomRuntimeData(seed=seed, reset=reset) - ) + store, + data=RandomRuntimeData(seed=seed, reset=reset), + ), ) def gen( diff --git a/src/typegraph/python/typegraph/runtimes/substantial.py b/src/typegraph/python/typegraph/runtimes/substantial.py index f0cb7a80c6..97a71bbcf0 100644 --- a/src/typegraph/python/typegraph/runtimes/substantial.py +++ b/src/typegraph/python/typegraph/runtimes/substantial.py @@ -2,6 +2,7 @@ # SPDX-License-Identifier: MPL-2.0 from typing import List, Optional + from typegraph import t from typegraph.gen.exports.runtimes import ( RedisBackend, @@ -56,13 +57,13 @@ def _generic_substantial_func( def start(self, kwargs: "t.struct", *, secrets: Optional[List[str]] = None): return self._generic_substantial_func( SubstantialOperationDataStart( - SubstantialStartData(kwargs._id, secrets or []) - ) + SubstantialStartData(kwargs._id, secrets or []), + ), ) def start_raw(self, *, secrets: Optional[List[str]] = None): return self._generic_substantial_func( - SubstantialOperationDataStartRaw(SubstantialStartData(None, secrets or [])) + SubstantialOperationDataStartRaw(SubstantialStartData(None, secrets or [])), ) def stop(self): @@ -79,7 +80,7 @@ def query_resources(self): def query_results(self, output: "t.typedef"): return self._generic_substantial_func( - SubstantialOperationDataResults(output._id) + SubstantialOperationDataResults(output._id), ) def query_results_raw(self): @@ -87,7 +88,7 @@ def query_results_raw(self): def _internal_link_parent_child(self): return self._generic_substantial_func( - SubstantialOperationDataInternalLinkParentChild() + SubstantialOperationDataInternalLinkParentChild(), ) def internals(self): @@ -115,16 +116,19 @@ def redis(connection_string_secret: str): class WorkflowFile: - def __init__(self, file: str, kind: WorkflowKind, deps: List[str] = []): + def __init__(self, file: str, kind: WorkflowKind, deps: Optional[List[str]]): + deps = deps or [] self.file = file self.kind = kind self.deps = deps self.workflows: List[str] = [] - def deno(*, file: str, deps: List[str] = []): + def deno(*, file: str, deps: Optional[List[str]] = None): + deps = deps or [] return WorkflowFile(file, WorkflowKind.DENO, deps) - def python(*, file: str, deps: List[str] = []): + def python(*, file: str, deps: Optional[List[str]] = None): + deps = deps or [] return WorkflowFile(file, WorkflowKind.PYTHON, deps) def import_(self, names: List[str]): @@ -133,5 +137,8 @@ def import_(self, names: List[str]): def build(self): return WorkflowFileDescription( - workflows=self.workflows, deps=self.deps, file=self.file, kind=self.kind + workflows=self.workflows, + deps=self.deps, + file=self.file, + kind=self.kind, ) diff --git a/src/typegraph/python/typegraph/runtimes/wasm.py b/src/typegraph/python/typegraph/runtimes/wasm.py index 0e9e28afe6..64818d9946 100644 --- a/src/typegraph/python/typegraph/runtimes/wasm.py +++ b/src/typegraph/python/typegraph/runtimes/wasm.py @@ -3,20 +3,19 @@ from dataclasses import dataclass from typing import Optional +from typegraph import t from typegraph.gen.exports.runtimes import ( BaseMaterializer, Effect, EffectRead, - WasmRuntimeData, MaterializerWasmReflectedFunc, MaterializerWasmWireHandler, + WasmRuntimeData, ) from typegraph.gen.types import Err from typegraph.runtimes.base import Materializer, Runtime from typegraph.wit import runtimes, store -from typegraph import t - class WasmRuntime(Runtime): @staticmethod diff --git a/src/typegraph/python/typegraph/t.py b/src/typegraph/python/typegraph/t.py index 5e6215d0cf..b6d68b590a 100644 --- a/src/typegraph/python/typegraph/t.py +++ b/src/typegraph/python/typegraph/t.py @@ -1,9 +1,9 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -import json as JsonLib -from typing import Any, Dict, List, Optional, Tuple, Union, Literal import copy +import json as JsonLib +from typing import Any, Dict, List, Literal, Optional, Tuple, Union from typing_extensions import Self @@ -11,36 +11,38 @@ from typegraph.gen.exports.core import ( FuncParams, ParameterTransform, - TypeList, TypeEither, TypeFile, TypeFloat, TypeFunc, TypeInteger, + TypeList, TypeOptional, TypeString, TypeStruct, TypeUnion, +) +from typegraph.gen.exports.core import ( PolicySpec as WitPolicySpec, ) from typegraph.gen.exports.runtimes import EffectRead from typegraph.gen.types import Err from typegraph.graph.typegraph import ( - ErrorStack, - core, - store, ApplyFromArg, ApplyFromContext, ApplyFromParent, ApplyFromSecret, ApplyFromStatic, + ErrorStack, + core, + store, ) -from typegraph.io import Log from typegraph.injection import ( serialize_generic_injection, serialize_parent_injection, serialize_static_injection, ) +from typegraph.io import Log from typegraph.policy import Policy, PolicyPerEffect, PolicySpec, get_policy_chain from typegraph.runtimes.deno import Materializer from typegraph.utils import ( @@ -303,7 +305,10 @@ def __init__( class boolean(typedef): def __init__( - self, *, name: Optional[str] = None, config: Optional[ConfigSpec] = None + self, + *, + name: Optional[str] = None, + config: Optional[ConfigSpec] = None, ): res = core.booleanb(store) if isinstance(res, Err): @@ -336,7 +341,11 @@ def __init__( enum_variants = og_list(JsonLib.dumps(variant) for variant in enum) data = TypeString( - min=min, max=max, pattern=pattern, format=format, enumeration=enum_variants + min=min, + max=max, + pattern=pattern, + format=format, + enumeration=enum_variants, ) res = core.stringb( @@ -566,7 +575,7 @@ def __init__( if self.__class__ != struct: # custom class if len(self.__class__.__bases__) > 1: raise ErrorStack.from_str( - "multiple inheritance is currently not supported" + "multiple inheritance is currently not supported", ) (base,) = self.__class__.__bases__ child_cls = self.__class__ @@ -590,7 +599,7 @@ def __init__( while curr_base != struct: if len(curr_base.__bases__) > 1: raise ErrorStack( - "multiple inheritance is currently not supported" + "multiple inheritance is currently not supported", ) (curr_base,) = curr_base.__bases__ fields = set([i for i in vars(curr_base) if not i.startswith("__")]) @@ -630,7 +639,11 @@ def extend(self, props: Dict[str, typedef]): ApplyParamObjectNode = Dict[str, "ApplyParamNode"] ApplyParamArrayNode = List["ApplyParamNode"] ApplyParamLeafNode = Union[ - ApplyFromArg, ApplyFromStatic, ApplyFromContext, ApplyFromSecret, ApplyFromParent + ApplyFromArg, + ApplyFromStatic, + ApplyFromContext, + ApplyFromSecret, + ApplyFromParent, ] ApplyParamNode = Union[ApplyParamObjectNode, ApplyParamArrayNode, ApplyParamLeafNode] @@ -713,7 +726,9 @@ def rate(self, calls: bool = False, weight: Optional[int] = None) -> "func": def extend(self, props: Dict[str, typedef]): res = core.extend_struct( - store, self.out._id, og_list((k, v._id) for k, v in props.items()) + store, + self.out._id, + og_list((k, v._id) for k, v in props.items()), ) if isinstance(res, Err): raise ErrorStack(res.value) @@ -771,7 +786,9 @@ def apply(self, value: ApplyParamObjectNode) -> "func": @staticmethod def from_type_func( - data: FuncParams, rate_calls: bool = False, rate_weight: Optional[int] = None + data: FuncParams, + rate_calls: bool = False, + rate_weight: Optional[int] = None, ) -> "func": # Note: effect is a just placeholder # in the deno frontend, we do not have to fill the effect attribute on materializers diff --git a/src/typegraph/python/typegraph/utils.py b/src/typegraph/python/typegraph/utils.py index c7b091a733..f0fc3d9c39 100644 --- a/src/typegraph/python/typegraph/utils.py +++ b/src/typegraph/python/typegraph/utils.py @@ -22,10 +22,7 @@ def serialize_config(config: Optional[ConfigSpec]) -> Optional[str]: if config is None: return None - if isinstance(config, list): - lst = config - else: - lst = [config] + lst = config if isinstance(config, list) else [config] if len(lst) == 0: return None @@ -40,7 +37,7 @@ def serialize_config(config: Optional[ConfigSpec]) -> Optional[str]: def build_reduce_entries(node: Any, paths: List[ReduceEntry], curr_path: List[str]): if node is None: - raise Exception(f"unsupported value {str(node)} at {'.'.join(curr_path)},") + raise Exception(f"unsupported value {node!s} at {'.'.join(curr_path)},") if isinstance(node, InheritDef): if node.payload is None: @@ -53,7 +50,7 @@ def build_reduce_entries(node: Any, paths: List[ReduceEntry], curr_path: List[st ReduceEntry( path=curr_path, injection_data=serialize_static_injection(node), - ) + ), ) return paths @@ -62,12 +59,12 @@ def build_reduce_entries(node: Any, paths: List[ReduceEntry], curr_path: List[st build_reduce_entries(v, paths, curr_path + [k]) return paths - if isinstance(node, int) or isinstance(node, str) or isinstance(node, bool): + if isinstance(node, (bool, int, str)): paths.append( ReduceEntry( path=curr_path, injection_data=serialize_static_injection(node), - ) + ), ) return paths @@ -75,17 +72,19 @@ def build_reduce_entries(node: Any, paths: List[ReduceEntry], curr_path: List[st def unpack_tarb64(tar_b64: str, dest: str): - return wit_utils.unpack_tarb64(store, tar_b64, dest) + return wit_utils.unpack_tar_ba(store, tar_b64, dest) frozen_memo: Dict[str, FinalizationResult] = {} def freeze_tg_output( - config: SerializeParams, tg_output: TypegraphOutput + config: SerializeParams, + tg_output: TypegraphOutput, ) -> TypegraphOutput: if tg_output.name not in frozen_memo: frozen_memo[tg_output.name] = tg_output.serialize(config) return TypegraphOutput( - name=tg_output.name, serialize=lambda _: frozen_memo[tg_output.name] + name=tg_output.name, + serialize=lambda _: frozen_memo[tg_output.name], ) diff --git a/src/typegraph/python/typegraph/wit.py b/src/typegraph/python/typegraph/wit.py index 83b857f017..9dc7ee277d 100644 --- a/src/typegraph/python/typegraph/wit.py +++ b/src/typegraph/python/typegraph/wit.py @@ -1,22 +1,24 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from wasmtime import Store from typing import List +from wasmtime import Store + from typegraph.gen import Root, RootImports from typegraph.gen.exports.aws import Aws -from typegraph.gen.exports.core import Core, Error -from typegraph.gen.exports.runtimes import Runtimes -from typegraph.gen.exports.utils import Utils -from typegraph.host.host import HostImpl # Make sure the imports are similar to the node implementation from typegraph.gen.exports.core import ( - SerializeParams, # noqa - PrismaMigrationConfig, # noqa + Core, + Error, MigrationAction, # noqa + PrismaMigrationConfig, # noqa + SerializeParams, # noqa ) +from typegraph.gen.exports.runtimes import Runtimes +from typegraph.gen.exports.utils import Utils +from typegraph.host.host import HostImpl store = Store() _typegraph_core = Root(store, RootImports(HostImpl())) @@ -31,8 +33,9 @@ class ErrorStack(Exception): stack: List[str] def __init__(self, err: Error): - super(ErrorStack, self).__init__("\n".join(f"- {msg}" for msg in err.stack)) + super().__init__("\n".join(f"- {msg}" for msg in err.stack)) self.stack = err.stack + @staticmethod def from_str(msg: str) -> "ErrorStack": return ErrorStack(Error([msg])) diff --git a/tests/auth/auth.py b/tests/auth/auth.py index 78ea96dd53..581ec6a817 100644 --- a/tests/auth/auth.py +++ b/tests/auth/auth.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime from typegraph.runtimes.http import HttpRuntime @@ -19,7 +19,8 @@ def auth(g: Graph): public = Policy.public() private = deno.policy("private", "(_args, { context }) => !!context.user1") with_token = deno.policy( - "with_token", "(_args, { context }) => { return !!context.accessToken; }" + "with_token", + "(_args, { context }) => { return !!context.accessToken; }", ) x = t.struct({"x": t.integer()}) @@ -42,7 +43,7 @@ def auth(g: Graph): lambda p: {"id": p["id"]}, ), scopes="openid profile email", - ) + ), ) g.expose( @@ -56,7 +57,7 @@ def auth(g: Graph): { "id": t.integer(), "login": t.string(), - } + }, ), auth_token_field="token", ).with_policy(public), diff --git a/tests/auto/test/test.py b/tests/auto/test/test.py index c71dccec53..22cec3b15f 100644 --- a/tests/auto/test/test.py +++ b/tests/auto/test/test.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/docs/how-tos/prog_deploy/prog_deploy.py b/tests/docs/how-tos/prog_deploy/prog_deploy.py index 1638702dc7..c957b6f14a 100644 --- a/tests/docs/how-tos/prog_deploy/prog_deploy.py +++ b/tests/docs/how-tos/prog_deploy/prog_deploy.py @@ -2,21 +2,22 @@ # SPDX-License-Identifier: MPL-2.0 import os -from os import path # skip:start import sys +from os import path + +from typegraph import Graph, Policy, t, typegraph # skip:end from typegraph.gen.exports.core import MigrationAction from typegraph.graph.shared_types import BasicAuth from typegraph.graph.tg_deploy import ( + TypegateConnectionOptions, TypegraphDeployParams, tg_deploy, - TypegateConnectionOptions, ) from typegraph.runtimes.deno import DenoRuntime -from typegraph import Graph, Policy, t, typegraph # Your typegraph diff --git a/tests/docs/how-tos/prog_deploy/prog_remove.py b/tests/docs/how-tos/prog_deploy/prog_remove.py index 5e8acbceea..92e9f936d1 100644 --- a/tests/docs/how-tos/prog_deploy/prog_remove.py +++ b/tests/docs/how-tos/prog_deploy/prog_remove.py @@ -2,17 +2,17 @@ # SPDX-License-Identifier: MPL-2.0 # .. +# skip:start +import sys + +from typegraph import Graph, typegraph +from typegraph.graph.shared_types import BasicAuth from typegraph.graph.tg_deploy import ( TypegateConnectionOptions, TypegraphRemoveParams, tg_remove, ) -from typegraph import Graph, typegraph -from typegraph.graph.shared_types import BasicAuth - -# skip:start -import sys # skip:end diff --git a/tests/e2e/cli/templates/migration.py b/tests/e2e/cli/templates/migration.py index 905c917caa..f07a625efe 100644 --- a/tests/e2e/cli/templates/migration.py +++ b/tests/e2e/cli/templates/migration.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, t, Graph, Policy +from typegraph import Graph, Policy, t, typegraph from typegraph.providers import PrismaRuntime diff --git a/tests/e2e/nextjs/typegraph/apollo.py b/tests/e2e/nextjs/typegraph/apollo.py index e862eec119..9e5f6580e7 100644 --- a/tests/e2e/nextjs/typegraph/apollo.py +++ b/tests/e2e/nextjs/typegraph/apollo.py @@ -11,7 +11,11 @@ def apollo(g: Graph): public = Policy.public() s3 = S3Runtime( - "HOST", "REGION", "access_key", "secret_key", path_style_secret="PATH_STYLE" + "HOST", + "REGION", + "access_key", + "secret_key", + path_style_secret="PATH_STYLE", ) g.expose( diff --git a/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py b/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py index 4d676167fe..7b322cffe2 100644 --- a/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py +++ b/tests/e2e/typegraph/typegraphs/python/multiple_runtimes.py @@ -19,7 +19,7 @@ def test_multiple_runtimes(g: Graph): { "first": t.float(), "second": t.float(), - } + }, ), t.float(), lambda x: x["first"] + x["second"], diff --git a/tests/e2e/typegraph/typegraphs/python/simple.py b/tests/e2e/typegraph/typegraphs/python/simple.py index 0deca0f764..0fa1e40a78 100644 --- a/tests/e2e/typegraph/typegraphs/python/simple.py +++ b/tests/e2e/typegraph/typegraphs/python/simple.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import t, typegraph, Policy, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime a = t.integer() @@ -23,9 +23,9 @@ def test_types(g: Graph): g.expose( one=deno.func(s1, b, code="() => 12").with_policy(internal), two=deno.func(user, post, code="(user) => ({ id: 12, user })").with_policy( - deno.policy("deny", "() => false") + deno.policy("deny", "() => false"), ), three=deno.import_(s1, s1, name="three", module="scripts/three.ts").with_policy( - public + public, ), ) diff --git a/tests/e2e/typegraph/validator.py b/tests/e2e/typegraph/validator.py index 8c3cbf7e45..68fa9bd07d 100644 --- a/tests/e2e/typegraph/validator.py +++ b/tests/e2e/typegraph/validator.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, t, Graph +from typegraph import Graph, t, typegraph from typegraph.runtimes import DenoRuntime @@ -18,7 +18,7 @@ def validator(g: Graph): "e": t.struct({"a": t.integer()}).set({}), "f": t.struct({"a": t.integer()}).set({"b": 1}), "g": t.struct({"a": t.integer()}).set({"a": 2, "b": 1}), - } + }, ) enums = t.struct( @@ -29,7 +29,7 @@ def validator(g: Graph): enum=[{"name": "John", "age": "13"}], ), "c": t.integer(enum=[1, 3, 5]).optional(), - } + }, ) parents = t.struct( @@ -38,7 +38,7 @@ def validator(g: Graph): "b": t.string(max=20), "c": t.struct({"a": t.integer(), "b": t.integer().optional()}), "d": t.list(t.integer()), - } + }, ) either = t.struct( @@ -49,23 +49,23 @@ def validator(g: Graph): [ t.struct({"x": t.integer(), "y": t.string()}), t.struct({"x": t.integer(), "y": t.string(), "z": t.boolean()}), - ] + ], ), "d": t.either([t.list(t.integer()), t.list(t.float())]), "e": t.either([t.integer(min=0, max=10), t.integer(min=5, max=15)]), "f": t.either( - [t.string(enum=["a", "b", "c"]), t.string(enum=["a", "b", "c", "d"])] + [t.string(enum=["a", "b", "c"]), t.string(enum=["a", "b", "c", "d"])], ), "g": t.either( - [t.struct({"x": t.integer().optional()}), t.struct({"x": t.integer()})] + [t.struct({"x": t.integer().optional()}), t.struct({"x": t.integer()})], ), "h": t.either( [ t.list(t.either([t.integer(), t.string()])), t.list(t.either([t.float(), t.string()])), - ] + ], ), - } + }, ) union = t.struct( @@ -75,17 +75,17 @@ def validator(g: Graph): t.integer(min=0, max=10), t.integer(min=5, max=15), t.integer(min=10, max=20), - ] + ], ).set(25), "b": t.union([t.string(), t.string()]), "c": t.union( [ t.struct({"x": t.integer(), "y": t.string()}), t.struct({"x": t.integer(), "y": t.string(), "z": t.boolean()}), - ] + ], ).set({"x": 1, "y": "test", "z": "not a boolean"}), "d": t.union([t.list(t.integer()), t.list(t.string())]).set([1, "2", 3]), - } + }, ) g.expose( @@ -99,15 +99,15 @@ def validator(g: Graph): "a": t.string().from_parent("a"), "b": t.string(min=12, max=16).from_parent("b"), "c": t.struct( - {"a": t.integer(), "c": t.boolean().optional()} + {"a": t.integer(), "c": t.boolean().optional()}, ).from_parent("c"), "d": t.list(t.integer()).from_parent("d"), - } + }, ), t.struct(), code="() => ({})", ), - } + }, ), testEither=deno.identity(either), testUnion=deno.identity(union), diff --git a/tests/graphql/graphql.py b/tests/graphql/graphql.py index 1721419a78..467222f70f 100644 --- a/tests/graphql/graphql.py +++ b/tests/graphql/graphql.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, effects, Policy, t, Graph +from typegraph import Graph, Policy, effects, t, typegraph from typegraph.runtimes.graphql import GraphQLRuntime @@ -19,7 +19,7 @@ def graphql(g: Graph): ) user_by_id = gql.query(t.struct({"id": t.integer()}), g.ref("User")).with_policy( - Policy.public() + Policy.public(), ) update_user = gql.mutation( t.struct( @@ -33,7 +33,7 @@ def graphql(g: Graph): min=1, name="UserUpdate", ), - } + }, ), g.ref("User"), effect=effects.update(idempotent=True), diff --git a/tests/importers/gql_original.py b/tests/importers/gql_original.py index ba8204a9e6..adf7574c2e 100644 --- a/tests/importers/gql_original.py +++ b/tests/importers/gql_original.py @@ -6,7 +6,6 @@ import respx from httpx import Response - from typegraph import TypeGraph from typegraph import policies as p from typegraph.importers.graphql import GraphQLImporter diff --git a/tests/importers/introspection.py b/tests/importers/introspection.py index 88c483c76c..3af9997407 100644 --- a/tests/importers/introspection.py +++ b/tests/importers/introspection.py @@ -7,7 +7,8 @@ from graphql import get_introspection_query res = httpx.post( - "https://hivdb.stanford.edu/graphql", json={"query": get_introspection_query()} + "https://hivdb.stanford.edu/graphql", + json={"query": get_introspection_query()}, ) with open(Path(__file__).parent.joinpath("introspection.json"), "w") as f: diff --git a/tests/importers/openapi_original.py b/tests/importers/openapi_original.py index 88bbfbfe9c..19f46b94c6 100644 --- a/tests/importers/openapi_original.py +++ b/tests/importers/openapi_original.py @@ -6,7 +6,6 @@ import respx from httpx import Response - from typegraph import TypeGraph from typegraph import policies as p from typegraph.importers.openapi import OpenApiImporter diff --git a/tests/injection/injection.py b/tests/injection/injection.py index a01c3b7b58..423b8698c4 100644 --- a/tests/injection/injection.py +++ b/tests/injection/injection.py @@ -1,11 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, effects, Policy, t, Graph +from typegraph import Graph, Policy, effects, t, typegraph +from typegraph.effects import CREATE, DELETE, READ, UPDATE from typegraph.providers.prisma import PrismaRuntime from typegraph.runtimes.deno import DenoRuntime from typegraph.runtimes.graphql import GraphQLRuntime -from typegraph.effects import CREATE, UPDATE, DELETE, READ @typegraph() @@ -28,7 +28,7 @@ def injection(g: Graph): "alt_context_opt": t.string().optional().from_context("userId"), "alt_context_opt_missing": t.string().optional().from_context("userId"), "date": t.datetime().inject("now"), - } + }, ) operation = t.enum(["insert", "modify", "remove", "read"]) @@ -41,9 +41,9 @@ def injection(g: Graph): UPDATE: "modify", DELETE: "remove", READ: "read", - } - ) - } + }, + ), + }, ) res2 = t.struct({"operation": operation}) @@ -83,9 +83,11 @@ def injection(g: Graph): "graphql": gql.query( t.struct({"id": t.integer().from_parent("a")}), user, - path=("user",), + path=[ + "user", + ], ), - } + }, ), effect_none=deno.identity(req2), effect_create=deno.func(req2, res2, code="(x) => x", effect=effects.create()), @@ -97,17 +99,19 @@ def injection(g: Graph): user.extend( { "from_parent": deno.identity(t.struct({"email": t.email()})).reduce( - {"email": g.inherit().from_parent("email")} + {"email": g.inherit().from_parent("email")}, ), "messagesSent": find_messages.reduce( { "where": { "senderId": g.inherit().from_parent("id"), - } - } + }, + }, ), - } + }, ), - path=("user",), + path=[ + "user", + ], ), ) diff --git a/tests/injection/nested_context.py b/tests/injection/nested_context.py index 5663dc34dd..9dc2cbb1f4 100644 --- a/tests/injection/nested_context.py +++ b/tests/injection/nested_context.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes import DenoRuntime @@ -14,15 +14,15 @@ def nested_context(g: Graph): has_profile, injectedId=deno.identity( # TODO validate the path against the profiler result?? - t.struct({"id": t.integer().from_context("profile.id")}) + t.struct({"id": t.integer().from_context("profile.id")}), ), secondProfileData=deno.identity( - t.struct({"second": t.integer().from_context("profile.data[1]")}) + t.struct({"second": t.integer().from_context("profile.data[1]")}), ), customKey=deno.identity( - t.struct({"custom": t.integer().from_context('profile["custom key"]')}) + t.struct({"custom": t.integer().from_context('profile["custom key"]')}), ), optional=deno.identity( - t.struct({"optional": t.email().optional().from_context("profile.email")}) + t.struct({"optional": t.email().optional().from_context("profile.email")}), ), ) diff --git a/tests/injection/random_injection.py b/tests/injection/random_injection.py index 10de670d56..bfec655ed9 100644 --- a/tests/injection/random_injection.py +++ b/tests/injection/random_injection.py @@ -1,10 +1,10 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph.policy import Policy -from typegraph.runtimes.deno import DenoRuntime from typegraph import Graph, t, typegraph +from typegraph.policy import Policy +from typegraph.runtimes.deno import DenoRuntime @typegraph() @@ -30,32 +30,32 @@ def random_injection(g: Graph): "city": t.string(config={"gen": "city"}).from_random(), "postcode": t.string(config={"gen": "postcode"}).from_random(), "country": t.string( - config={"gen": "country", "full": "true"} + config={"gen": "country", "full": "true"}, ).from_random(), "uri": t.uri().from_random(), "hostname": t.string(format="hostname").from_random(), - } + }, ) # test int, str, float enum test_enum_str = t.struct( { "educationLevel": t.enum( - ["primary", "secondary", "tertiary"] + ["primary", "secondary", "tertiary"], ).from_random(), - } + }, ) test_enum_int = t.struct( { "bits": t.integer(enum=[0, 1]).from_random(), - } + }, ) test_enum_float = t.struct( { "cents": t.float(enum=[0.25, 0.5, 1.0]).from_random(), - } + }, ) # test either @@ -65,7 +65,7 @@ def random_injection(g: Graph): toy_struct = t.struct( { "toy": toy, - } + }, ) # test union @@ -74,13 +74,13 @@ def random_injection(g: Graph): union_struct = t.struct( { "field": t.union([rgb, vec], name="UnionStruct").from_random(), - } + }, ) random_list = t.struct( { "names": t.list(t.string(config={"gen": "name"})).from_random(), - } + }, ) # Configure random injection seed value or the default will be used g.configure_random_injection(seed=1) diff --git a/tests/internal/internal.py b/tests/internal/internal.py index cc2c66aa14..c3f761ace9 100644 --- a/tests/internal/internal.py +++ b/tests/internal/internal.py @@ -1,13 +1,12 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime from typegraph.runtimes.python import PythonRuntime -from typegraph import t, typegraph - @typegraph() def internal(g: Graph): @@ -22,10 +21,13 @@ def internal(g: Graph): g.expose( sum=deno.import_(inp, out, module="ts/logic.ts", name="sum").with_policy( - internal + internal, ), remoteSumDeno=deno.import_( - inp, out, module="ts/logic.ts", name="remoteSum" + inp, + out, + module="ts/logic.ts", + name="remoteSum", ).with_policy(public), remoteSumPy=python.import_( inp, diff --git a/tests/internal/py/logic.py b/tests/internal/py/logic.py index f5d37da715..bd224f09b8 100644 --- a/tests/internal/py/logic.py +++ b/tests/internal/py/logic.py @@ -1,9 +1,10 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from .logic_types import Ctx import json +from .logic_types import Ctx + def remote_sum(inp: dict, ctx: Ctx) -> float: data = ctx.gql( diff --git a/tests/internal/py/logic_types.py b/tests/internal/py/logic_types.py index 1946de506e..844ce2c33b 100644 --- a/tests/internal/py/logic_types.py +++ b/tests/internal/py/logic_types.py @@ -1,9 +1,9 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from dataclasses import asdict, dataclass, fields from types import NoneType -from typing import Callable, List, Union, get_origin, ForwardRef, Any -from dataclasses import dataclass, asdict, fields +from typing import Any, Callable, ForwardRef, List, Union, get_origin FORWARD_REFS = {} diff --git a/tests/introspection/union_either.py b/tests/introspection/union_either.py index 52855df50f..c2f2170ca3 100644 --- a/tests/introspection/union_either.py +++ b/tests/introspection/union_either.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime @@ -10,7 +10,8 @@ def union_either(g: Graph): rubix_cube = t.struct({"name": t.string(), "size": t.integer()}, name="Rubix") toygun = t.struct({"color": t.string()}, name="Toygun") gunpla = t.struct( - {"model": t.string(), "ref": t.union([t.string(), t.integer()])}, name="Gunpla" + {"model": t.string(), "ref": t.union([t.string(), t.integer()])}, + name="Gunpla", ) toy = t.either([rubix_cube, toygun, gunpla], name="Toy") diff --git a/tests/metagen/__snapshots__/metagen_test.ts.snap b/tests/metagen/__snapshots__/metagen_test.ts.snap index 8631459cdf..56e9c21ffa 100644 --- a/tests/metagen/__snapshots__/metagen_test.ts.snap +++ b/tests/metagen/__snapshots__/metagen_test.ts.snap @@ -740,9 +740,12 @@ export type RootThreeFnHandler = Handler; path: "./workspace/some/base/path/ts/fdk.ts", }, { - content: "from datetime import timedelta -from typing import Any, Callable, Optional + content: "# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from datetime import timedelta from types import RetryStrategy +from typing import Any, Callable, Optional class Context: @@ -1546,9 +1549,12 @@ export type RootThreeFnHandler = Handler; path: "./workspace/some/base/path/ts/fdk.ts", }, { - content: "from datetime import timedelta -from typing import Any, Callable, Optional + content: "# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + +from datetime import timedelta from types import RetryStrategy +from typing import Any, Callable, Optional class Context: diff --git a/tests/metagen/metagen_test.ts b/tests/metagen/metagen_test.ts index 59f16ed76e..500b2971ee 100644 --- a/tests/metagen/metagen_test.ts +++ b/tests/metagen/metagen_test.ts @@ -152,9 +152,9 @@ Meta.test("Metagen within sdk", async (t) => { const command = new Deno.Command("python3", { args: [typegraphPath], env: { - workspace_path: workspace, - gen_config: JSON.stringify(genConfig), - target_name: targetName, + WORKSPACE_PATH: workspace, + GEN_CONFIG: JSON.stringify(genConfig), + TARGET_NAME: targetName, }, stderr: "piped", stdout: "piped", @@ -220,9 +220,9 @@ Meta.test("Metagen within sdk with custom template", async (t) => { const command = new Deno.Command("python3", { args: [typegraphPath], env: { - workspace_path: workspace, - gen_config: JSON.stringify(genConfig), - target_name: targetName, + WORKSPACE_PATH: workspace, + GEN_CONFIG: JSON.stringify(genConfig), + TARGET_NAME: targetName, }, stderr: "piped", stdout: "piped", diff --git a/tests/metagen/typegraphs/identities.py b/tests/metagen/typegraphs/identities.py index eb8cef8c1d..97f9b27866 100644 --- a/tests/metagen/typegraphs/identities.py +++ b/tests/metagen/typegraphs/identities.py @@ -1,10 +1,10 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph +from typegraph.runtimes.deno import DenoRuntime from typegraph.runtimes.python import PythonRuntime from typegraph.runtimes.wasm import WasmRuntime -from typegraph.runtimes.deno import DenoRuntime @typegraph() @@ -28,7 +28,7 @@ def identities(g: Graph): "boolean": t.boolean(), # TODO: file upload support for fdk? # "file": t.file(), - } + }, ).rename("primitives") composites = t.struct( { @@ -37,7 +37,7 @@ def identities(g: Graph): [ primitives, t.struct({"branch2": t.string()}).rename("branch2"), - ] + ], ), "union": t.union( [ @@ -45,10 +45,10 @@ def identities(g: Graph): t.integer(), t.string(), t.email().rename("branch4again"), - ] + ], ), "list": t.list(t.string()), - } + }, ).rename("composites") cycles1 = t.struct( { @@ -57,14 +57,14 @@ def identities(g: Graph): "phantom1": t.string().optional(), "to2": g.ref("cycles2").optional(), "list3": t.list(g.ref("cycles3")).optional(), - } + }, ).rename("cycles1") t.either( [ g.ref("cycles3"), g.ref("cycles1"), - ] + ], ).rename("cycles2") t.union( @@ -73,36 +73,36 @@ def identities(g: Graph): { "phantom3a": t.string().optional(), "to1": g.ref("cycles1").optional(), - } + }, ).rename("branch33A"), t.struct( { "phantom3b": t.string().optional(), "to2": g.ref("cycles2").optional(), - } + }, ).rename("branch33B"), - ] + ], ).rename("cycles3") simple_cycles_1 = t.struct( { "phantom1": t.string().optional(), "to2": g.ref("simple_cycles_2").optional(), - } + }, ).rename("simple_cycles_1") t.struct( { "phantom2": t.string().optional(), "to3": g.ref("simple_cycles_3").optional(), - } + }, ).rename("simple_cycles_2") t.struct( { "phantom3": t.string().optional(), "to1": g.ref("simple_cycles_1").optional(), - } + }, ).rename("simple_cycles_3") python = PythonRuntime() diff --git a/tests/metagen/typegraphs/identities/py/handlers.py b/tests/metagen/typegraphs/identities/py/handlers.py index d00f8a9963..484a722dab 100644 --- a/tests/metagen/typegraphs/identities/py/handlers.py +++ b/tests/metagen/typegraphs/identities/py/handlers.py @@ -1,18 +1,18 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from . import handlers_types as types from .handlers_types import ( Composites, - typed_cycles, + Ctx, + Cycles1, Primitives, + SimpleCycles1, typed_composites, - Cycles1, + typed_cycles, typed_primitives, - SimpleCycles1, typed_simple_cycles, - Ctx, ) -from . import handlers_types as types @typed_primitives diff --git a/tests/metagen/typegraphs/identities/py/handlers_types.py b/tests/metagen/typegraphs/identities/py/handlers_types.py index 23ecb7c20e..61c3014966 100644 --- a/tests/metagen/typegraphs/identities/py/handlers_types.py +++ b/tests/metagen/typegraphs/identities/py/handlers_types.py @@ -1,9 +1,9 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from dataclasses import asdict, dataclass, fields from types import NoneType -from typing import Callable, List, Union, get_origin, ForwardRef, Any -from dataclasses import dataclass, asdict, fields +from typing import Any, Callable, ForwardRef, List, Union, get_origin FORWARD_REFS = {} diff --git a/tests/metagen/typegraphs/identities/rs/fdk.rs b/tests/metagen/typegraphs/identities/rs/fdk.rs index fc9bdd9610..8e24bbc749 100644 --- a/tests/metagen/typegraphs/identities/rs/fdk.rs +++ b/tests/metagen/typegraphs/identities/rs/fdk.rs @@ -109,7 +109,7 @@ impl Router { } pub fn init(&self, args: InitArgs) -> Result { - static MT_VERSION: &str = "0.5.0-rc.3"; + static MT_VERSION: &str = "0.5.0-rc.6"; if args.metatype_version != MT_VERSION { return Err(InitError::VersionMismatch(MT_VERSION.into())); } diff --git a/tests/metagen/typegraphs/identities/ts/fdk.ts b/tests/metagen/typegraphs/identities/ts/fdk.ts index b3926d9dfa..99308f0d56 100644 --- a/tests/metagen/typegraphs/identities/ts/fdk.ts +++ b/tests/metagen/typegraphs/identities/ts/fdk.ts @@ -65,10 +65,7 @@ export type Primitives = { export type PrimitivesArgs = { data: Primitives; }; -export type CompositesOptPrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; +export type CompositesOptPrimitivesStrStringOptional = PrimitivesStrString | null | undefined; export type Branch2 = { branch2: PrimitivesStrString; }; @@ -93,23 +90,14 @@ export type Composites = { export type CompositesArgs = { data: Composites; }; -export type Cycles1Phantom1PrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; -export type Branch33APhantom3aPrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; +export type Cycles1Phantom1PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type Branch33APhantom3aPrimitivesStrStringOptional = PrimitivesStrString | null | undefined; export type Branch33ATo1Cycles1Optional = Cycles1 | null | undefined; export type Branch33A = { phantom3a?: Branch33APhantom3aPrimitivesStrStringOptional; to1?: Branch33ATo1Cycles1Optional; }; -export type Branch33BPhantom3bPrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; +export type Branch33BPhantom3bPrimitivesStrStringOptional = PrimitivesStrString | null | undefined; export type Branch33BTo2Cycles2Optional = Cycles2 | null | undefined; export type Branch33B = { phantom3b?: Branch33BPhantom3bPrimitivesStrStringOptional; @@ -123,10 +111,7 @@ export type Cycles2 = | (Cycles1); export type Cycles1To2Cycles2Optional = Cycles2 | null | undefined; export type Cycles1List3Cycles3List = Array; -export type Cycles1List3Cycles1List3Cycles3ListOptional = - | Cycles1List3Cycles3List - | null - | undefined; +export type Cycles1List3Cycles1List3Cycles3ListOptional = Cycles1List3Cycles3List | null | undefined; export type Cycles1 = { phantom1?: Cycles1Phantom1PrimitivesStrStringOptional; to2?: Cycles1To2Cycles2Optional; @@ -135,38 +120,20 @@ export type Cycles1 = { export type Cycles1Args = { data: Cycles1; }; -export type SimpleCycles1Phantom1PrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; -export type SimpleCycles2Phantom2PrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; -export type SimpleCycles3Phantom3PrimitivesStrStringOptional = - | PrimitivesStrString - | null - | undefined; -export type SimpleCycles3To1SimpleCycles1Optional = - | SimpleCycles1 - | null - | undefined; +export type SimpleCycles1Phantom1PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type SimpleCycles2Phantom2PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type SimpleCycles3Phantom3PrimitivesStrStringOptional = PrimitivesStrString | null | undefined; +export type SimpleCycles3To1SimpleCycles1Optional = SimpleCycles1 | null | undefined; export type SimpleCycles3 = { phantom3?: SimpleCycles3Phantom3PrimitivesStrStringOptional; to1?: SimpleCycles3To1SimpleCycles1Optional; }; -export type SimpleCycles2To3SimpleCycles3Optional = - | SimpleCycles3 - | null - | undefined; +export type SimpleCycles2To3SimpleCycles3Optional = SimpleCycles3 | null | undefined; export type SimpleCycles2 = { phantom2?: SimpleCycles2Phantom2PrimitivesStrStringOptional; to3?: SimpleCycles2To3SimpleCycles3Optional; }; -export type SimpleCycles1To2SimpleCycles2Optional = - | SimpleCycles2 - | null - | undefined; +export type SimpleCycles1To2SimpleCycles2Optional = SimpleCycles2 | null | undefined; export type SimpleCycles1 = { phantom1?: SimpleCycles1Phantom1PrimitivesStrStringOptional; to2?: SimpleCycles1To2SimpleCycles2Optional; @@ -175,6 +142,7 @@ export type SimpleCycles1Args = { data: SimpleCycles1; }; + export type TsPrimitivesHandler = Handler; export type TsCompositesHandler = Handler; export type TsCyclesHandler = Handler; diff --git a/tests/metagen/typegraphs/metagen.py b/tests/metagen/typegraphs/metagen.py index 758d93d0ae..310b7ab74e 100644 --- a/tests/metagen/typegraphs/metagen.py +++ b/tests/metagen/typegraphs/metagen.py @@ -1,12 +1,13 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +import json from dataclasses import asdict from os import getenv -from typegraph import typegraph, Policy, t, Graph + +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.metagen import Metagen from typegraph.runtimes.python import PythonRuntime -import json @typegraph() @@ -45,9 +46,11 @@ def example_metagen(g: Graph): tg = example_metagen -workspace_path = getenv("workspace_path") -target_name = getenv("target_name") -gen_config = json.loads(getenv("gen_config")) +workspace_path = getenv("WORKSPACE_PATH") +target_name = getenv("TARGET_NAME") +gen_config = getenv("GEN_CONFIG") +assert workspace_path is not None and target_name is not None and gen_config is not None +gen_config = json.loads(gen_config) metagen = Metagen(workspace_path, gen_config) items = metagen.dry_run(tg, target_name, None) diff --git a/tests/metagen/typegraphs/python.py b/tests/metagen/typegraphs/python.py index e2f89bfd2c..8eeb2ed537 100644 --- a/tests/metagen/typegraphs/python.py +++ b/tests/metagen/typegraphs/python.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.python import PythonRuntime @@ -20,7 +20,7 @@ def example(g: Graph): "opt_union_flat": t.union([t.integer(), t.float()]).optional(), "reference": t.list(g.ref("Example")).optional(), "nested_ref": t.struct( - {"either": t.either([g.ref("Example"), references])} + {"either": t.either([g.ref("Example"), references])}, ), }, name="Example", diff --git a/tests/metagen/typegraphs/sample/py/client.py b/tests/metagen/typegraphs/sample/py/client.py index 0d84e1e127..68b13f19d1 100644 --- a/tests/metagen/typegraphs/sample/py/client.py +++ b/tests/metagen/typegraphs/sample/py/client.py @@ -4,12 +4,15 @@ # This file was @generated by metagen and is intended # to be generated again on subsequent metagen runs. -import typing +# Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. +# SPDX-License-Identifier: MPL-2.0 + import dataclasses as dc +import http.client as http_c import json -import urllib.request as request +import typing import urllib.error -import http.client as http_c +from urllib import request def selection_to_nodes( @@ -21,9 +24,9 @@ def selection_to_nodes( flags = selection.get("_") if flags is not None and not isinstance(flags, SelectionFlags): raise Exception( - f"selection field '_' should be of type SelectionFlags but found {type(flags)}" + f"selection field '_' should be of type SelectionFlags but found {type(flags)}", ) - select_all = True if flags is not None and flags.select_all else False + select_all = flags is not None and flags.select_all found_nodes = set(selection.keys()) for node_name, meta_fn in metas.items(): found_nodes.discard(node_name) @@ -51,7 +54,7 @@ def selection_to_nodes( continue if isinstance(instance_selection, Alias): raise Exception( - f"nested Alias node discovered at {parent_path}.{instance_name}" + f"nested Alias node discovered at {parent_path}.{instance_name}", ) instance_args: typing.Optional[NodeArgs] = None @@ -66,7 +69,7 @@ def selection_to_nodes( raise Exception( f"node at {parent_path}.{instance_name} is a node that " + "requires arguments " - + f"but detected argument is typeof {type(arg)}" + + f"but detected argument is typeof {type(arg)}", ) # convert arg dict to NodeArgs @@ -76,7 +79,7 @@ def selection_to_nodes( ty_name = expected_args.pop(key) if ty_name is None: raise Exception( - f"unexpected argument ${key} at {parent_path}.{instance_name}" + f"unexpected argument ${key} at {parent_path}.{instance_name}", ) instance_args[key] = NodeArgValue(ty_name, val) @@ -91,7 +94,7 @@ def selection_to_nodes( raise Exception( f"node at {parent_path}.{instance_name} is a composite " + "that requires an argument object " - + f"but selection is typeof {type(sub_selections)}" + + f"but selection is typeof {type(sub_selections)}", ) sub_selections = sub_selections[1] @@ -118,7 +121,7 @@ def selection_to_nodes( if meta.sub_nodes is not None: if meta.variants is not None: raise Exception( - "unreachable: union/either NodeMetas can't have subnodes" + "unreachable: union/either NodeMetas can't have subnodes", ) sub_nodes = selection_to_nodes( typing.cast("SelectionErased", sub_selections), @@ -154,7 +157,7 @@ def selection_to_nodes( instance_name="__typename", args=None, sub_nodes=None, - ) + ), ) union_selections[variant_ty] = nodes @@ -265,8 +268,7 @@ def get(self, key: str) -> PlaceholderValue: class Alias(typing.Generic[SelectionT]): - """ - Request multiple instances of a single node under different + """Request multiple instances of a single node under different aliases. """ @@ -283,7 +285,10 @@ def __init__(self, **aliases: SelectionT): None, ] CompositeSelectNoArgs = typing.Union[ - SelectionT, Alias[SelectionT], typing.Literal[False], None + SelectionT, + Alias[SelectionT], + typing.Literal[False], + None, ] CompositeSelectArgs = typing.Union[ typing.Tuple[typing.Union[ArgT, PlaceholderArgs], SelectionT], @@ -373,7 +378,7 @@ def convert_query_node_gql( gql_ty = ty_to_gql_ty_map[variant_ty] if gql_ty is None: raise Exception( - f"unreachable: no graphql type found for variant {variant_ty}" + f"unreachable: no graphql type found for variant {variant_ty}", ) gql_ty = gql_ty.strip("!") @@ -386,9 +391,9 @@ def convert_query_node_gql( out += f" {{ {sub_node_list}}}" elif isinstance(node.sub_nodes, list): sub_node_list = "" - for node in node.sub_nodes: + for sub_node in node.sub_nodes: sub_node_list += ( - f"{convert_query_node_gql(ty_to_gql_ty_map, node, variables)} " + f"{convert_query_node_gql(ty_to_gql_ty_map, sub_node, variables)} " ) out += f" {{ {sub_node_list}}}" return out @@ -408,7 +413,7 @@ def __init__( def build_gql( self, query: typing.Mapping[str, SelectNode], - ty: typing.Union[typing.Literal["query"], typing.Literal["mutation"]], + ty: typing.Literal["query", "mutation"], name: str = "", ): variables: typing.Dict[str, NodeArgValue] = {} @@ -442,7 +447,7 @@ def build_req( { "accept": "application/json", "content-type": "application/json", - } + }, ) data = json.dumps({"query": doc, "variables": variables}).encode("utf-8") return GraphQLRequest( @@ -474,8 +479,11 @@ def fetch( try: with request.urlopen( request.Request( - url=req.addr, method=req.method, headers=req.headers, data=req.body - ) + url=req.addr, + method=req.method, + headers=req.headers, + data=req.body, + ), ) as res: http_res: http_c.HTTPResponse = res return self.handle_response( @@ -484,7 +492,7 @@ def fetch( status=http_res.status, body=http_res.read(), headers={key: val for key, val in http_res.headers.items()}, - ) + ), ) except request.HTTPError as res: return self.handle_response( @@ -493,10 +501,10 @@ def fetch( status=res.status or 599, body=res.read(), headers={key: val for key, val in res.headers.items()}, - ) + ), ) except urllib.error.URLError as err: - raise Exception(f"URL error: {err.reason}") + raise Exception(f"URL error: {err.reason}") from err def query( self, @@ -505,7 +513,9 @@ def query( name: str = "", ) -> typing.Dict[str, Out]: doc, variables = self.build_gql( - {key: val for key, val in inp.items()}, "query", name + {key: val for key, val in inp.items()}, + "query", + name, ) return self.fetch(doc, variables, opts) @@ -516,7 +526,9 @@ def mutation( name: str = "", ) -> typing.Dict[str, Out]: doc, variables = self.build_gql( - {key: val for key, val in inp.items()}, "mutation", name + {key: val for key, val in inp.items()}, + "mutation", + name, ) return self.fetch(doc, variables, opts) @@ -540,7 +552,7 @@ def __init__( self, transport: GraphQLTransportBase, fun: typing.Callable[[PreparedArgs], typing.Mapping[str, SelectNode[Out]]], - ty: typing.Union[typing.Literal["query"], typing.Literal["mutation"]], + ty: typing.Literal["query", "mutation"], name: str = "", ): dry_run_node = fun(PreparedArgs()) @@ -570,7 +582,7 @@ def __init__( self, transport: GraphQLTransportUrlib, fun: typing.Callable[[PreparedArgs], typing.Mapping[str, SelectNode[Out]]], - ty: typing.Union[typing.Literal["query"], typing.Literal["mutation"]], + ty: typing.Literal["query", "mutation"], name: str = "", ): super().__init__(transport, fun, ty, name) @@ -595,10 +607,14 @@ def __init__(self, ty_to_gql_ty_map: typing.Dict[str, str]): self.ty_to_gql_ty_map = ty_to_gql_ty_map def graphql_sync( - self, addr: str, opts: typing.Optional[GraphQLTransportOptions] = None + self, + addr: str, + opts: typing.Optional[GraphQLTransportOptions] = None, ): return GraphQLTransportUrlib( - addr, opts or GraphQLTransportOptions({}), self.ty_to_gql_ty_map + addr, + opts or GraphQLTransportOptions({}), + self.ty_to_gql_ty_map, ) diff --git a/tests/metagen/typegraphs/sample/py/main.py b/tests/metagen/typegraphs/sample/py/main.py index 2f9ed1d14b..72d8181027 100644 --- a/tests/metagen/typegraphs/sample/py/main.py +++ b/tests/metagen/typegraphs/sample/py/main.py @@ -1,15 +1,16 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +import json +import os + from client import ( - QueryGraph, + Alias, PostSelections, + QueryGraph, SelectionFlags, UserSelections, - Alias, ) -import json -import os qg = QueryGraph() port = os.getenv("TG_PORT") @@ -45,7 +46,7 @@ "id": args.get("id"), "slug": args.get("slug"), "title": args.get("title"), - } + }, ), "compositeNoArgs": qg.composite_no_args({"_": SelectionFlags(select_all=True)}), "compositeArgs": qg.composite_args( @@ -65,7 +66,7 @@ "id": "94be5420-8c4a-4e67-b4f4-e1b2b54832a2", "slug": "s", "title": "t", - } + }, ) res3 = gql_client.query( @@ -88,7 +89,7 @@ ), "posts": qg.get_posts({"_": SelectionFlags(select_all=True)}), "scalarNoArgs": qg.scalar_no_args(), - } + }, ) res4 = gql_client.mutation( @@ -98,7 +99,7 @@ "id": "94be5420-8c4a-4e67-b4f4-e1b2b54832a2", "slug": "", "title": "", - } + }, ), "compositeNoArgs": qg.composite_no_args({"_": SelectionFlags(select_all=True)}), "compositeArgs": qg.composite_args( @@ -107,7 +108,7 @@ }, {"_": SelectionFlags(select_all=True)}, ), - } + }, ) res5 = gql_client.query( @@ -115,7 +116,7 @@ "scalarUnion": qg.scalar_union( { "id": "94be5420-8c4a-4e67-b4f4-e1b2b54832a2", - } + }, ), "compositeUnion1": qg.composite_union( { @@ -138,7 +139,7 @@ "user": {"_": SelectionFlags(select_all=True)}, }, ), - } + }, ) print(json.dumps([res1, res1a, res2, res3, res4, res5])) diff --git a/tests/metagen/typegraphs/sample/ts/client.ts b/tests/metagen/typegraphs/sample/ts/client.ts index 34de517d33..2978589e86 100644 --- a/tests/metagen/typegraphs/sample/ts/client.ts +++ b/tests/metagen/typegraphs/sample/ts/client.ts @@ -715,11 +715,12 @@ class _QueryGraphBase { // -------------------------------------------------- // + const nodeMetas = { scalar() { return {}; }, - + Post(): NodeMeta { return { subNodes: [ @@ -879,7 +880,7 @@ export class QueryGraph extends _QueryGraphBase { "user": "user!", }); } - + getUser(select: UserSelections) { const inner = _selectionToNodeSet( { "getUser": select }, @@ -920,10 +921,7 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new MutationNode(inner) as MutationNode; } - compositeArgs( - args: RootCompositeArgsFnInput | PlaceholderArgs, - select: PostSelections, - ) { + compositeArgs(args: RootCompositeArgsFnInput | PlaceholderArgs, select: PostSelections) { const inner = _selectionToNodeSet( { "compositeArgs": [args, select] }, [["compositeArgs", nodeMetas.RootCompositeArgsFn]], @@ -931,9 +929,7 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new MutationNode(inner) as MutationNode; } - scalarUnion( - args: RootCompositeArgsFnInput | PlaceholderArgs, - ) { + scalarUnion(args: RootCompositeArgsFnInput | PlaceholderArgs) { const inner = _selectionToNodeSet( { "scalarUnion": args }, [["scalarUnion", nodeMetas.RootScalarUnionFn]], @@ -941,10 +937,7 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new QueryNode(inner) as QueryNode; } - compositeUnion( - args: RootCompositeArgsFnInput | PlaceholderArgs, - select: RootCompositeUnionFnOutputSelections, - ) { + compositeUnion(args: RootCompositeArgsFnInput | PlaceholderArgs, select: RootCompositeUnionFnOutputSelections) { const inner = _selectionToNodeSet( { "compositeUnion": [args, select] }, [["compositeUnion", nodeMetas.RootCompositeUnionFn]], @@ -952,10 +945,7 @@ export class QueryGraph extends _QueryGraphBase { )[0]; return new QueryNode(inner) as QueryNode; } - mixedUnion( - args: RootCompositeArgsFnInput | PlaceholderArgs, - select: RootMixedUnionFnOutputSelections, - ) { + mixedUnion(args: RootCompositeArgsFnInput | PlaceholderArgs, select: RootMixedUnionFnOutputSelections) { const inner = _selectionToNodeSet( { "mixedUnion": [args, select] }, [["mixedUnion", nodeMetas.RootMixedUnionFn]], diff --git a/tests/multi_typegraph/multi_typegraph.py b/tests/multi_typegraph/multi_typegraph.py index bdafd8645f..e3e94a00a5 100644 --- a/tests/multi_typegraph/multi_typegraph.py +++ b/tests/multi_typegraph/multi_typegraph.py @@ -1,11 +1,10 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime - -from typegraph import t, typegraph from typegraph.runtimes.http import HttpRuntime @@ -36,7 +35,9 @@ def http_py(g: Graph): ) post_by_id = remote.get( - "/posts/{id}", t.struct({"id": t.integer()}), t.optional(g.ref("Post")) + "/posts/{id}", + t.struct({"id": t.integer()}), + t.optional(g.ref("Post")), ).with_policy(public) update_post = remote.patch( @@ -53,11 +54,13 @@ def http_py(g: Graph): ).with_policy(public) get_posts = remote.get("/posts", t.struct({}), t.list(g.ref("Post"))).with_policy( - public + public, ) get_posts_by_tags = remote.get( - "/posts", t.struct({"tags": t.list(t.string())}), t.list(g.ref("Post")) + "/posts", + t.struct({"tags": t.list(t.string())}), + t.list(g.ref("Post")), ).with_policy(public) delete_post = remote.delete( @@ -67,7 +70,9 @@ def http_py(g: Graph): ).with_policy(public) get_comments = remote.get( - "/comments", t.struct({"postId": t.integer()}), t.list(g.ref("Comment")) + "/comments", + t.struct({"postId": t.integer()}), + t.list(g.ref("Comment")), ).with_policy(public) post_comment = remote.post( @@ -84,7 +89,9 @@ def http_py(g: Graph): ).with_policy(public) delete_comment = remote.delete( - "/comments/{id}", t.struct({"id": t.integer()}), t.boolean() + "/comments/{id}", + t.struct({"id": t.integer()}), + t.boolean(), ).with_policy(public) g.expose( diff --git a/tests/nesting/nesting.py b/tests/nesting/nesting.py index 9fcb3566f1..0f298045c0 100644 --- a/tests/nesting/nesting.py +++ b/tests/nesting/nesting.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.http import HttpRuntime @@ -41,11 +41,15 @@ def nesting(g: Graph): ) user_by_id = remote.get( - "/users/{id}", t.struct({"id": t.integer()}), t.optional(g.ref("User")) + "/users/{id}", + t.struct({"id": t.integer()}), + t.optional(g.ref("User")), ) post_by_id = remote.get( - "/posts/{id}", t.struct({"id": t.integer()}), t.optional(g.ref("Post")) + "/posts/{id}", + t.struct({"id": t.integer()}), + t.optional(g.ref("Post")), ) g.expose( diff --git a/tests/params/apply.py b/tests/params/apply.py index ad71ae1d6b..7639775343 100644 --- a/tests/params/apply.py +++ b/tests/params/apply.py @@ -16,7 +16,7 @@ def apply(g: Graph): { "a": g.as_arg("first"), "b": g.as_arg("second"), - } + }, ), flattened=deno.identity( t.struct( @@ -25,7 +25,7 @@ def apply(g: Graph): { "a1": t.integer(), "a2": t.integer(), - } + }, ), "b": t.struct( { @@ -33,13 +33,13 @@ def apply(g: Graph): { "b11": t.integer(), "b12": t.integer(), - } + }, ), "b2": t.integer(), - } + }, ), - } - ) + }, + ), ).apply( { "a": { @@ -53,7 +53,7 @@ def apply(g: Graph): }, "b2": g.as_arg("b2"), }, - } + }, ), withContext=deno.identity(t.struct({"a": t.integer(), "b": t.string()})).apply( { @@ -65,7 +65,7 @@ def apply(g: Graph): { "a": g.as_arg("first"), "b": g.from_secret("MY_SECRET"), - } + }, ), onOptional=deno.identity( t.struct( @@ -73,16 +73,16 @@ def apply(g: Graph): "a": t.struct( { "b": t.integer(), - } - ).optional() - } - ) + }, + ).optional(), + }, + ), ).apply( { "a": { "b": g.set(12), - } - } + }, + }, ), withParent=deno.func( t.struct(), @@ -90,14 +90,14 @@ def apply(g: Graph): { "a": t.integer(name="A"), "b": deno.identity( - t.struct({"b1": t.integer(), "b2": t.integer()}) + t.struct({"b1": t.integer(), "b2": t.integer()}), ).apply( { "b1": g.as_arg("b1"), "b2": g.from_parent("A"), - } + }, ), - } + }, ), code="""() => ({ a: 1 })""", ), @@ -105,49 +105,49 @@ def apply(g: Graph): t.struct( { "a": t.list(t.integer()), - } - ) + }, + ), ).apply( { "a": [ g.as_arg("first"), g.as_arg("second"), - ] - } + ], + }, ), withNestedArrays=deno.identity( t.struct( { "a": t.list(t.list(t.integer())), - } - ) + }, + ), ).apply( { "a": [ [g.as_arg("first")], g.as_arg("second"), - ] - } + ], + }, ), withArrayOfObjects=deno.identity( t.struct( { "a": t.list(t.struct({"b": t.integer()})), - } - ) + }, + ), ).apply( { "a": [ {"b": g.as_arg("first")}, g.as_arg("second"), - ] - } + ], + }, ), contextToUnionType=deno.identity( t.struct( { "a": t.union([t.integer(), t.string()]), - } - ) + }, + ), ).apply({"a": g.from_context("context_key")}), ) diff --git a/tests/params/apply_nested_context.py b/tests/params/apply_nested_context.py index 5ffdc69908..5fe425672b 100644 --- a/tests/params/apply_nested_context.py +++ b/tests/params/apply_nested_context.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, t, Graph, Policy +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes import DenoRuntime @@ -13,18 +13,18 @@ def apply_nested_context(g: Graph): g.expose( has_profile, simple=deno.identity(t.struct({"id": t.integer()})).apply( - {"id": g.from_context("profile.id")} + {"id": g.from_context("profile.id")}, ), customKey=deno.identity(t.struct({"custom": t.string()})).apply( - {"custom": g.from_context('.profile["custom key"]')} + {"custom": g.from_context('.profile["custom key"]')}, ), thirdProfileData=deno.identity(t.struct({"third": t.string()})).apply( - {"third": g.from_context("profile.data[2]")} + {"third": g.from_context("profile.data[2]")}, ), deeplyNestedEntry=deno.identity(t.struct({"value": t.string()})).apply( - {"value": g.from_context('profile.deeply[0]["nested"][1].value')} + {"value": g.from_context('profile.deeply[0]["nested"][1].value')}, ), optional=deno.identity(t.struct({"optional": t.email().optional()})).apply( - {"optional": g.from_context("profile.email")} + {"optional": g.from_context("profile.email")}, ), ) diff --git a/tests/params/prisma_apply.py b/tests/params/prisma_apply.py index fc6b4c5304..ef1c0fb361 100644 --- a/tests/params/prisma_apply.py +++ b/tests/params/prisma_apply.py @@ -28,14 +28,14 @@ def prisma_apply(g: Graph): "name": g.as_arg(), "email": g.as_arg(), "age": g.as_arg(), - } - } + }, + }, ), findUser=prisma.find_unique(user).apply( { "where": { "id": g.as_arg(), - } - } + }, + }, ), ) diff --git a/tests/planner/planner.py b/tests/planner/planner.py index 11911fe5aa..15e02e4987 100644 --- a/tests/planner/planner.py +++ b/tests/planner/planner.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, t, Graph, Policy +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime @@ -14,8 +14,8 @@ def planner(g: Graph): [ t.struct({"c": t.integer()}, name="C1"), t.struct({"c": t.string()}, name="C2"), - ] - ) + ], + ), }, name="B", ) @@ -35,7 +35,7 @@ def planner(g: Graph): "first": t.string(), "second": t.list(t.float()), "third": t.boolean().optional(), - } + }, ), "union1": union1, "union2": union2, @@ -49,7 +49,7 @@ def planner(g: Graph): t.integer(), code=dummy_func, ), - } + }, ) registered_user = t.struct( @@ -63,7 +63,7 @@ def planner(g: Graph): "email": t.email(), "displayName": t.string(), "profilePic": t.string(), - } + }, ), code=dummy_func, ), @@ -84,7 +84,7 @@ def planner(g: Graph): "firstName": t.string(), "lastName": t.string(), "profilePic": t.string(), - } + }, ) public = Policy.public() @@ -112,7 +112,7 @@ def planner(g: Graph): t.string(), code=dummy_func, ), - } + }, ), code=dummy_func, ), @@ -122,7 +122,7 @@ def planner(g: Graph): { "id": t.integer(as_id=True), "user": t.either([registered_user, guest_user]), - } + }, ), code=dummy_func, ), diff --git a/tests/policies/effects_py.py b/tests/policies/effects_py.py index 0bbbd06898..ac216a6561 100644 --- a/tests/policies/effects_py.py +++ b/tests/policies/effects_py.py @@ -17,7 +17,7 @@ def effects_py(g: Graph): "id": t.integer(), "email": t.email(), "password_hash": t.string().with_policy( - deno.policy("deny_all", "() => false") + deno.policy("deny_all", "() => false"), ), }, name="User", @@ -44,7 +44,7 @@ def effects_py(g: Graph): }, min=1, ), - } + }, ), user, code="({ id, set }) => ({ id, ...(set.email ? { email: set.email }: {}), ...(set.password ? { password_hash: 'xxx' }: {})})", diff --git a/tests/policies/policies.py b/tests/policies/policies.py index 78e308364f..66bd406997 100644 --- a/tests/policies/policies.py +++ b/tests/policies/policies.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, t, Graph, Policy +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime @@ -28,7 +28,7 @@ def policies(g: Graph): pol_true=fn.with_policy(deno.policy("true", "() => true")), pol_false=fn.with_policy(deno.policy("false", "() => false")), pol_two=fn.with_policy( - deno.policy("eq_two", "(_args, { context }) => Number(context.a) === 2") + deno.policy("eq_two", "(_args, { context }) => Number(context.a) === 2"), ), ns=t.struct( { @@ -36,8 +36,8 @@ def policies(g: Graph): t.struct({}), t.struct({"id": t.integer()}), code="() => ({ id: 12 })", - ) - } + ), + }, ), ) diff --git a/tests/policies/policies_jwt.py b/tests/policies/policies_jwt.py index 6410178d49..4c36b4cc72 100644 --- a/tests/policies/policies_jwt.py +++ b/tests/policies/policies_jwt.py @@ -3,7 +3,7 @@ import re -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime @@ -24,6 +24,8 @@ def policies_jwt(g: Graph): code="""() => "Hello World!" """, ).with_policy(some_policy), sayHelloRegexWorld=deno.func( - t.struct({}), t.string(), code="""() => "Hello World!" """ + t.struct({}), + t.string(), + code="""() => "Hello World!" """, ).with_policy(regex_policy), ) diff --git a/tests/policies/policies_jwt_format.py b/tests/policies/policies_jwt_format.py index 6ae596adb9..01ec84559d 100644 --- a/tests/policies/policies_jwt_format.py +++ b/tests/policies/policies_jwt_format.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/policies/policies_jwt_injection.py b/tests/policies/policies_jwt_injection.py index bc67e5ed53..6f5bfd1f71 100644 --- a/tests/policies/policies_jwt_injection.py +++ b/tests/policies/policies_jwt_injection.py @@ -1,19 +1,17 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.graph.params import Auth from typegraph.runtimes.deno import DenoRuntime @typegraph() def policies_jwt_injection(g: Graph): - """ - This is expected to enforce the typescript generated code to return true + """This is expected to enforce the typescript generated code to return true no matter what the context is (see policies_test.ts) for that reason the input has to be sanitized with sanitizers.sanitize_ts_string(.) """ - deno = DenoRuntime() some_policy = Policy.context("field", '"; return true; "') @@ -21,6 +19,8 @@ def policies_jwt_injection(g: Graph): g.expose( sayHelloWorld=deno.func( - t.struct({}), t.string(), code="""() => 'Hello World!'""" + t.struct({}), + t.string(), + code="""() => 'Hello World!'""", ).with_policy(some_policy), ) diff --git a/tests/query_parsers/graphql_namespaces.py b/tests/query_parsers/graphql_namespaces.py index b70e47cdf0..9aeaaa695f 100644 --- a/tests/query_parsers/graphql_namespaces.py +++ b/tests/query_parsers/graphql_namespaces.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, effects, Policy, t, Graph +from typegraph import Graph, Policy, effects, t, typegraph from typegraph.runtimes.graphql import GraphQLRuntime @@ -20,7 +20,9 @@ def graphql_namespaces(g: Graph): { # operations under `user` namespace "find": gql.query( - t.struct({"id": user_id}), user_model, path=("findUser",) + t.struct({"id": user_id}), + user_model, + path=("findUser",), ).with_policy(public), "update": gql.mutation( user_model, diff --git a/tests/regression/invalid_ref_error_message/invalid_ref.py b/tests/regression/invalid_ref_error_message/invalid_ref.py index 228f0afcad..eed331c07a 100644 --- a/tests/regression/invalid_ref_error_message/invalid_ref.py +++ b/tests/regression/invalid_ref_error_message/invalid_ref.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Graph, Policy, t +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes import DenoRuntime diff --git a/tests/rest/rest_simple.py b/tests/rest/rest_simple.py index e2678f2f26..ed4f78b156 100644 --- a/tests/rest/rest_simple.py +++ b/tests/rest/rest_simple.py @@ -15,7 +15,7 @@ def rest_simple(g: Graph): query ping { ping } - """ + """, ) ping = deno.func( diff --git a/tests/runtimes/deno/deno.py b/tests/runtimes/deno/deno.py index c29562f9a9..41703aea1b 100644 --- a/tests/runtimes/deno/deno.py +++ b/tests/runtimes/deno/deno.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import effects, t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import effects, t, typegraph - @typegraph() def deno(g: Graph): diff --git a/tests/runtimes/deno/deno_dep.py b/tests/runtimes/deno/deno_dep.py index e30ba0d969..ccfef0f8fa 100644 --- a/tests/runtimes/deno/deno_dep.py +++ b/tests/runtimes/deno/deno_dep.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_dep(g: Graph): diff --git a/tests/runtimes/deno/deno_dir.py b/tests/runtimes/deno/deno_dir.py index a177da89d7..bb9667b45f 100644 --- a/tests/runtimes/deno/deno_dir.py +++ b/tests/runtimes/deno/deno_dir.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_dir(g: Graph): diff --git a/tests/runtimes/deno/deno_duplicate_artifact.py b/tests/runtimes/deno/deno_duplicate_artifact.py index 24a7f78175..a930b8c5ab 100644 --- a/tests/runtimes/deno/deno_duplicate_artifact.py +++ b/tests/runtimes/deno/deno_duplicate_artifact.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_duplicate_artifact(g: Graph): diff --git a/tests/runtimes/deno/deno_globs.py b/tests/runtimes/deno/deno_globs.py index 39737bd582..ba46a308bf 100644 --- a/tests/runtimes/deno/deno_globs.py +++ b/tests/runtimes/deno/deno_globs.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_globs(g: Graph): diff --git a/tests/runtimes/deno/deno_no_artifact.py b/tests/runtimes/deno/deno_no_artifact.py index efdfa35d57..7c4fbb8d27 100644 --- a/tests/runtimes/deno/deno_no_artifact.py +++ b/tests/runtimes/deno/deno_no_artifact.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_no_artifact(g: Graph): diff --git a/tests/runtimes/deno/deno_partial.py b/tests/runtimes/deno/deno_partial.py index 6d0283ab0c..c12cde9f90 100644 --- a/tests/runtimes/deno/deno_partial.py +++ b/tests/runtimes/deno/deno_partial.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_partial(g: Graph): diff --git a/tests/runtimes/deno/deno_reload.py b/tests/runtimes/deno/deno_reload.py index f8a1327dc1..5ff8456972 100644 --- a/tests/runtimes/deno/deno_reload.py +++ b/tests/runtimes/deno/deno_reload.py @@ -2,12 +2,12 @@ # SPDX-License-Identifier: MPL-2.0 import os + +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def deno_reload(g: Graph): diff --git a/tests/runtimes/graphql/typegraphs/python/graphql.py b/tests/runtimes/graphql/typegraphs/python/graphql.py index e96270a604..b08fa203a2 100644 --- a/tests/runtimes/graphql/typegraphs/python/graphql.py +++ b/tests/runtimes/graphql/typegraphs/python/graphql.py @@ -1,10 +1,10 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph.providers.prisma import PrismaRuntime -from typegraph.runtimes.graphql import GraphQLRuntime from typegraph import Graph, Policy, effects, t, typegraph +from typegraph.providers.prisma import PrismaRuntime +from typegraph.runtimes.graphql import GraphQLRuntime _user = t.struct( {"id": t.string(as_id=True), "name": t.string()}, @@ -55,7 +55,7 @@ def graphql(g: Graph): t.struct( { "input": create_user_input, - } + }, ), _user, effects.create(False), diff --git a/tests/runtimes/http/http_content_type.py b/tests/runtimes/http/http_content_type.py index 1141560c58..8985f911c2 100644 --- a/tests/runtimes/http/http_content_type.py +++ b/tests/runtimes/http/http_content_type.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.http import HttpRuntime @@ -35,7 +35,7 @@ def http_content_type(g: Graph): { "celcius": t.float(), "rounded": t.boolean(), - } + }, ), }, name="QInfos", diff --git a/tests/runtimes/http/http_py.py b/tests/runtimes/http/http_py.py index 778f7cebba..75bfecd68f 100644 --- a/tests/runtimes/http/http_py.py +++ b/tests/runtimes/http/http_py.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.http import HttpRuntime @@ -32,7 +32,9 @@ def http_py(g: Graph): ) post_by_id = remote.get( - "/posts/{id}", t.struct({"id": t.integer()}), t.optional(g.ref("Post")) + "/posts/{id}", + t.struct({"id": t.integer()}), + t.optional(g.ref("Post")), ).with_policy(public) update_post = remote.patch( @@ -49,11 +51,13 @@ def http_py(g: Graph): ).with_policy(public) get_posts = remote.get("/posts", t.struct({}), t.list(g.ref("Post"))).with_policy( - public + public, ) get_posts_by_tags = remote.get( - "/posts", t.struct({"tags": t.list(t.string())}), t.list(g.ref("Post")) + "/posts", + t.struct({"tags": t.list(t.string())}), + t.list(g.ref("Post")), ).with_policy(public) delete_post = remote.delete( @@ -63,7 +67,9 @@ def http_py(g: Graph): ).with_policy(public) get_comments = remote.get( - "/comments", t.struct({"postId": t.integer()}), t.list(g.ref("Comment")) + "/comments", + t.struct({"postId": t.integer()}), + t.list(g.ref("Comment")), ).with_policy(public) post_comment = remote.post( @@ -80,7 +86,9 @@ def http_py(g: Graph): ).with_policy(public) delete_comment = remote.delete( - "/comments/{id}", t.struct({"id": t.integer()}), t.boolean() + "/comments/{id}", + t.struct({"id": t.integer()}), + t.boolean(), ).with_policy(public) g.expose( diff --git a/tests/runtimes/prisma/full_prisma_mapping.py b/tests/runtimes/prisma/full_prisma_mapping.py index 08fc422517..084a4450cf 100644 --- a/tests/runtimes/prisma/full_prisma_mapping.py +++ b/tests/runtimes/prisma/full_prisma_mapping.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.gen.exports.runtimes import EffectUpdate from typegraph.providers.prisma import PrismaRuntime @@ -74,10 +74,10 @@ def full_prisma_mapping(g: Graph): { "where": { "comments": { - "some": {"author": {"id": g.inherit().from_context("user_id")}} - } - } - } + "some": {"author": {"id": g.inherit().from_context("user_id")}}, + }, + }, + }, ), findFirstPost=db.find_first(post), findFirstComment=db.find_first(comment), @@ -93,7 +93,7 @@ def full_prisma_mapping(g: Graph): findFirstPostWithReduce=db.find_first(post).reduce( { "where": {"id": 10007}, - } + }, ), testExecuteRaw=db.execute( 'UPDATE "Post" SET title = ${replacement} WHERE title LIKE ${title}', @@ -101,7 +101,7 @@ def full_prisma_mapping(g: Graph): { "title": t.string().set("%Title 2%"), "replacement": t.string(), - } + }, ), EffectUpdate(True), ), @@ -120,7 +120,7 @@ def full_prisma_mapping(g: Graph): "two": t.integer(), "title": t.string(), "idlist": t.list(t.integer()), - } + }, ), t.list( t.struct( @@ -128,8 +128,8 @@ def full_prisma_mapping(g: Graph): "id": t.integer(), "title": t.string(), "reactions": t.integer(), - } - ) + }, + ), ), ).reduce( { @@ -137,6 +137,6 @@ def full_prisma_mapping(g: Graph): "one": 10002, "two": -1, "idlist": [10003, 10002, 10007], - } + }, ), ) diff --git a/tests/runtimes/prisma/mixed_runtime.py b/tests/runtimes/prisma/mixed_runtime.py index 7ec6cd2baf..76530802b1 100644 --- a/tests/runtimes/prisma/mixed_runtime.py +++ b/tests/runtimes/prisma/mixed_runtime.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, t, Graph, Policy +from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime from typegraph.runtimes.graphql import GraphQLRuntime from typegraph.runtimes.random import RandomRuntime diff --git a/tests/runtimes/prisma/multi_relations.py b/tests/runtimes/prisma/multi_relations.py index 45b1182680..1f9745605c 100644 --- a/tests/runtimes/prisma/multi_relations.py +++ b/tests/runtimes/prisma/multi_relations.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/prisma.py b/tests/runtimes/prisma/prisma.py index ac5aba27bd..974d447851 100644 --- a/tests/runtimes/prisma/prisma.py +++ b/tests/runtimes/prisma/prisma.py @@ -1,9 +1,9 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph -from typegraph.providers.prisma import PrismaRuntime +from typegraph import Graph, Policy, t, typegraph from typegraph.effects import CREATE +from typegraph.providers.prisma import PrismaRuntime @typegraph() diff --git a/tests/runtimes/prisma/prisma_edgecases.py b/tests/runtimes/prisma/prisma_edgecases.py index 2086696b12..b7a5b89f6f 100644 --- a/tests/runtimes/prisma/prisma_edgecases.py +++ b/tests/runtimes/prisma/prisma_edgecases.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.providers.prisma import PrismaRuntime diff --git a/tests/runtimes/prisma/schema_generation.py b/tests/runtimes/prisma/schema_generation.py index 25c2c4a119..b04119b2fd 100644 --- a/tests/runtimes/prisma/schema_generation.py +++ b/tests/runtimes/prisma/schema_generation.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import Graph, t, typegraph from typegraph.effects import CREATE, UPDATE from typegraph.providers import PrismaRuntime from typegraph.runtimes import DenoRuntime -from typegraph import Graph, t, typegraph - @typegraph() def simple_model(g: Graph): @@ -524,7 +523,7 @@ def multi_field_unique(g: Graph): { "id": t.uuid(as_id=True, config=["auto"]), "projects": t.list(g.ref("Project")), - } + }, ).rename("Account") _project = t.struct( diff --git a/tests/runtimes/python/py/hello.py b/tests/runtimes/python/py/hello.py index 9c1b96c123..a3aa157827 100644 --- a/tests/runtimes/python/py/hello.py +++ b/tests/runtimes/python/py/hello.py @@ -1,9 +1,10 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from .nested.dep import hello from typing import Dict +from .nested.dep import hello + def sayHello(x: Dict): return hello(x["name"]) diff --git a/tests/runtimes/python/python.py b/tests/runtimes/python/python.py index 1e00272ac1..0c9da150c3 100644 --- a/tests/runtimes/python/python.py +++ b/tests/runtimes/python/python.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime -from typegraph import t, typegraph - def test(x): return x["a"] diff --git a/tests/runtimes/python/python_dir.py b/tests/runtimes/python/python_dir.py index 184609dd2a..c7cb43c40b 100644 --- a/tests/runtimes/python/python_dir.py +++ b/tests/runtimes/python/python_dir.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime -from typegraph import t, typegraph - @typegraph() def python_dir(g: Graph): diff --git a/tests/runtimes/python/python_duplicate_artifact.py b/tests/runtimes/python/python_duplicate_artifact.py index 1b998c6b86..a9f94017dd 100644 --- a/tests/runtimes/python/python_duplicate_artifact.py +++ b/tests/runtimes/python/python_duplicate_artifact.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime -from typegraph import t, typegraph - @typegraph() def python_duplicate_artifact(g: Graph): diff --git a/tests/runtimes/python/python_globs.py b/tests/runtimes/python/python_globs.py index b7d49c9368..581b68988f 100644 --- a/tests/runtimes/python/python_globs.py +++ b/tests/runtimes/python/python_globs.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime -from typegraph import t, typegraph - @typegraph() def python_globs(g: Graph): diff --git a/tests/runtimes/python/python_no_artifact.py b/tests/runtimes/python/python_no_artifact.py index b6122af5b1..fc89a65454 100644 --- a/tests/runtimes/python/python_no_artifact.py +++ b/tests/runtimes/python/python_no_artifact.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.python import PythonRuntime -from typegraph import t, typegraph - @typegraph() def python_no_artifact(g: Graph): diff --git a/tests/runtimes/random/random_.py b/tests/runtimes/random/random_.py index a99a3b4886..5cd643de29 100644 --- a/tests/runtimes/random/random_.py +++ b/tests/runtimes/random/random_.py @@ -12,7 +12,7 @@ "int": t.integer(), "str": t.string(), "email": t.email(), - } + }, ) users = t.struct( @@ -26,15 +26,15 @@ "city": t.string(config={"gen": "city"}), "postcode": t.string(config={"gen": "postcode"}), "country": t.string(config={"gen": "country", "full": True}), - } + }, ), - } + }, ) list = t.struct( { "array_of_array_of_names": t.list(t.list(t.string(config={"gen": "name"}))), - } + }, ) diff --git a/tests/runtimes/s3/s3.py b/tests/runtimes/s3/s3.py index a5443f3290..7b1f73d2b5 100644 --- a/tests/runtimes/s3/s3.py +++ b/tests/runtimes/s3/s3.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.providers.aws import S3Runtime @@ -10,7 +10,11 @@ def s3(g: Graph): public = Policy.public() s3 = S3Runtime( - "HOST", "REGION", "access_key", "secret_key", path_style_secret="PATH_STYLE" + "HOST", + "REGION", + "access_key", + "secret_key", + path_style_secret="PATH_STYLE", ) g.expose( diff --git a/tests/runtimes/substantial/substantial.py b/tests/runtimes/substantial/substantial.py index 6bc0936289..eafa0ebac5 100644 --- a/tests/runtimes/substantial/substantial.py +++ b/tests/runtimes/substantial/substantial.py @@ -2,11 +2,11 @@ # SPDX-License-Identifier: MPL-2.0 import os -from typegraph import typegraph, t, Graph + +from typegraph import Graph, t, typegraph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph.runtimes.substantial import SubstantialRuntime, WorkflowFile -from typegraph.runtimes.substantial import Backend +from typegraph.runtimes.substantial import Backend, SubstantialRuntime, WorkflowFile @typegraph() @@ -28,7 +28,7 @@ def substantial(g: Graph): "eventsAndExceptionExample", "retryExample", "secretsExample", - ] + ], ) .build() ) @@ -47,27 +47,27 @@ def substantial(g: Graph): # common stop=sub.stop(), results=sub.query_results( - t.either([t.integer(), t.string()]).rename("ResultOrError") + t.either([t.integer(), t.string()]).rename("ResultOrError"), ), workers=sub.query_resources(), # sleep start_sleep=sub.start(t.struct({"a": t.integer(), "b": t.integer()})).reduce( - {"name": "saveAndSleepExample"} + {"name": "saveAndSleepExample"}, ), # email start_email=sub.start(t.struct({"to": t.string()})).reduce( - {"name": "eventsAndExceptionExample"} + {"name": "eventsAndExceptionExample"}, ), send_confirmation=sub.send(t.boolean()).reduce( - {"event": {"name": "confirmation", "payload": g.inherit()}} + {"event": {"name": "confirmation", "payload": g.inherit()}}, ), # retry start_retry=sub.start( - t.struct({"fail": t.boolean(), "timeout": t.boolean()}) + t.struct({"fail": t.boolean(), "timeout": t.boolean()}), ).reduce({"name": "retryExample"}), # secret start_secret=sub.start(t.struct({}), secrets=["MY_SECRET"]).reduce( - {"name": "secretsExample"} + {"name": "secretsExample"}, ), **sub.internals(), ) diff --git a/tests/runtimes/substantial/substantial_child_workflow.py b/tests/runtimes/substantial/substantial_child_workflow.py index e9a545aadd..f7c2bc101d 100644 --- a/tests/runtimes/substantial/substantial_child_workflow.py +++ b/tests/runtimes/substantial/substantial_child_workflow.py @@ -2,10 +2,10 @@ # SPDX-License-Identifier: MPL-2.0 import os -from typegraph import typegraph, t, Graph + +from typegraph import Graph, t, typegraph from typegraph.policy import Policy -from typegraph.runtimes.substantial import SubstantialRuntime, WorkflowFile -from typegraph.runtimes.substantial import Backend +from typegraph.runtimes.substantial import Backend, SubstantialRuntime, WorkflowFile @typegraph() @@ -36,7 +36,7 @@ def substantial_child_workflow(g: Graph): results_raw=sub.query_results_raw(), # bypass type hinting in favor of json string workers=sub.query_resources(), start=sub.start(t.struct({"packages": t.list(package)})).reduce( - {"name": "bumpAll"} + {"name": "bumpAll"}, ), **sub.internals(), ) diff --git a/tests/runtimes/temporal/temporal.py b/tests/runtimes/temporal/temporal.py index 0c35ffb86d..d0650a2d7a 100644 --- a/tests/runtimes/temporal/temporal.py +++ b/tests/runtimes/temporal/temporal.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import t, typegraph, Policy, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.providers.temporal import TemporalRuntime @@ -9,7 +9,9 @@ def temporal(g: Graph): public = Policy.public() temporal = TemporalRuntime( - "", "", namespace_secret="" + "", + "", + namespace_secret="", ) arg = t.struct({"some_field": t.string()}) @@ -18,7 +20,7 @@ def temporal(g: Graph): start=temporal.start_workflow("", arg), query=temporal.query_workflow("", arg, t.string()), signal=temporal.signal_workflow("", arg).reduce( - {"workflow_id": "1234"} + {"workflow_id": "1234"}, ), describe=temporal.describe_workflow(), ) diff --git a/tests/runtimes/wasm_reflected/wasm_duplicate.py b/tests/runtimes/wasm_reflected/wasm_duplicate.py index 9ec1e82bb5..4984f314be 100644 --- a/tests/runtimes/wasm_reflected/wasm_duplicate.py +++ b/tests/runtimes/wasm_reflected/wasm_duplicate.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.wasm import WasmRuntime -from typegraph import t, typegraph - @typegraph() def wasm_duplicate(g: Graph): diff --git a/tests/runtimes/wasm_reflected/wasm_reflected.py b/tests/runtimes/wasm_reflected/wasm_reflected.py index 7d268c2ea4..687b5c149f 100644 --- a/tests/runtimes/wasm_reflected/wasm_reflected.py +++ b/tests/runtimes/wasm_reflected/wasm_reflected.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.wasm import WasmRuntime -from typegraph import t, typegraph - @typegraph() def wasm_reflected(g: Graph): diff --git a/tests/runtimes/wasm_wire/wasm_wire.py b/tests/runtimes/wasm_wire/wasm_wire.py index f5b39d34e7..da69a80483 100644 --- a/tests/runtimes/wasm_wire/wasm_wire.py +++ b/tests/runtimes/wasm_wire/wasm_wire.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.wasm import WasmRuntime -from typegraph import t, typegraph - @typegraph() def wasm_wire(g: Graph): diff --git a/tests/schema_validation/circular.py b/tests/schema_validation/circular.py index 72dba1405e..e486563a98 100644 --- a/tests/schema_validation/circular.py +++ b/tests/schema_validation/circular.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def circular(g: Graph): @@ -26,7 +25,8 @@ def circular(g: Graph): "friends": t.list(g.ref("User")).optional(), # Edgecase #4: optional object that holds a self-reference "paper": t.struct( - {"title": t.string(), "author": g.ref("User")}, name="Paper" + {"title": t.string(), "author": g.ref("User")}, + name="Paper", ).optional(), # Edgecase #5: optional nested object with multiple references "root": t.struct( @@ -43,7 +43,7 @@ def circular(g: Graph): [ t.struct({"name": t.string()}, name="NamedAward"), t.union([medals, stars]), - ] + ], ).optional(), }, name="User", diff --git a/tests/schema_validation/type_comparison.py b/tests/schema_validation/type_comparison.py index 8852be1656..b16464f46e 100644 --- a/tests/schema_validation/type_comparison.py +++ b/tests/schema_validation/type_comparison.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import t, typegraph, Graph, Policy +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes import DenoRuntime @@ -16,14 +16,14 @@ def case(name: str, subtype: t.typedef, supertype: t.typedef): t.struct( { "parent_field": subtype, - } - ) + }, + ), ).extend( { "injected": deno.identity(t.struct({"field": supertype})).reduce( - {"field": g.inherit().from_parent("parent_field")} - ) - } + {"field": g.inherit().from_parent("parent_field")}, + ), + }, ) case("boolean_ok_1", t.boolean(), t.boolean()) @@ -133,7 +133,9 @@ def case(name: str, subtype: t.typedef, supertype: t.typedef): t.struct({"field": t.integer()}), ) case( - "struct_ok_3", t.struct({"field": t.integer()}), t.struct({"field": t.float()}) + "struct_ok_3", + t.struct({"field": t.integer()}), + t.struct({"field": t.float()}), ) case( "struct_ok_4", diff --git a/tests/simple/class_syntax.py b/tests/simple/class_syntax.py index ff206ad402..8c092d98c8 100644 --- a/tests/simple/class_syntax.py +++ b/tests/simple/class_syntax.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/simple/error_message.py b/tests/simple/error_message.py index 3b75322e54..103e8e6047 100644 --- a/tests/simple/error_message.py +++ b/tests/simple/error_message.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, effects, Policy, t, Graph +from typegraph import Graph, Policy, effects, t, typegraph from typegraph.runtimes import DenoRuntime diff --git a/tests/simple/simple.py b/tests/simple/simple.py index ca0cd9a968..bd7623d336 100644 --- a/tests/simple/simple.py +++ b/tests/simple/simple.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime diff --git a/tests/type_nodes/array_of_optional.py b/tests/type_nodes/array_of_optional.py index 6f427206c9..350c05b7fe 100644 --- a/tests/type_nodes/array_of_optional.py +++ b/tests/type_nodes/array_of_optional.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import Policy, t, typegraph, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime @@ -12,7 +12,7 @@ def array_of_optional(g: Graph): "a": t.string(), "b": t.integer(), "c": t.struct({"c1": t.string(), "inner": t.list(t.string().optional())}), - } + }, ) rec = t.struct( @@ -24,9 +24,9 @@ def array_of_optional(g: Graph): # should we support null value for enum/union/either arrays ? "enum_array": t.list(t.enum(["A", "B"]).optional()).optional(), "union_array": t.list( - t.union([t.string(), t.integer()]).optional() + t.union([t.string(), t.integer()]).optional(), ).optional(), - } + }, ) rec_not_null = t.struct( @@ -34,7 +34,7 @@ def array_of_optional(g: Graph): "struct_array": t.list(t.struct({"x": t.string()})).optional(), "string_array": t.list(t.string()).optional(), "integer_array": t.list(t.integer()).optional(), - } + }, ) deno = DenoRuntime() diff --git a/tests/type_nodes/either_node.py b/tests/type_nodes/either_node.py index 989a84d398..5b2073b726 100644 --- a/tests/type_nodes/either_node.py +++ b/tests/type_nodes/either_node.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def either_node(g: Graph): diff --git a/tests/type_nodes/union_node.py b/tests/type_nodes/union_node.py index ec02fab932..4a4243b90f 100644 --- a/tests/type_nodes/union_node.py +++ b/tests/type_nodes/union_node.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def union_node(g: Graph): @@ -63,8 +62,8 @@ def union_node(g: Graph): {"i": t.integer(), "j": t.integer()}, name="A4", ), - ] - ) + ], + ), }, name="A2", ), @@ -96,9 +95,9 @@ def union_node(g: Graph): [ t.struct({"e": t.string()}, name="Ue"), t.struct({"f": t.string()}, name="Uf"), - ] + ], ), - ] + ], ), ], name="MultilevelUnion", diff --git a/tests/type_nodes/union_node_attr.py b/tests/type_nodes/union_node_attr.py index 056dceb033..504b48e261 100644 --- a/tests/type_nodes/union_node_attr.py +++ b/tests/type_nodes/union_node_attr.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def union_node_attr(g: Graph): diff --git a/tests/type_nodes/union_node_quantifier.py b/tests/type_nodes/union_node_quantifier.py index c3befb5f74..8bf9673b81 100644 --- a/tests/type_nodes/union_node_quantifier.py +++ b/tests/type_nodes/union_node_quantifier.py @@ -1,12 +1,11 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 +from typegraph import t, typegraph from typegraph.graph.typegraph import Graph from typegraph.policy import Policy from typegraph.runtimes.deno import DenoRuntime -from typegraph import t, typegraph - @typegraph() def union_node_quantifier(g: Graph): @@ -15,7 +14,7 @@ def union_node_quantifier(g: Graph): "label": t.string(), "content": t.string(), "source": t.string().optional(), - } + }, ) smartphone = t.struct( @@ -53,7 +52,7 @@ def union_node_quantifier(g: Graph): "message": t.string(), "type": t.string(), "phone": phone, - } + }, ), module="ts/union/phone_register.ts", name="registerPhone", diff --git a/tests/typecheck/reduce_py.py b/tests/typecheck/reduce_py.py index dc4e2ea88f..a16846a669 100644 --- a/tests/typecheck/reduce_py.py +++ b/tests/typecheck/reduce_py.py @@ -19,7 +19,7 @@ def reduce_py(g: Graph): "user": t.integer(), "set": t.integer().optional(), "context": t.string().optional(), - } + }, ).optional(), "branching": t.union( [ @@ -38,16 +38,16 @@ def reduce_py(g: Graph): {"c": t.string(), "d": t.string()}, name="B", ), - ] - ) - } - ) + ], + ), + }, + ), }, name="V2", ), - ] + ], ).optional(), - } + }, ) self_ref_tpe = t.struct( @@ -60,11 +60,15 @@ def reduce_py(g: Graph): ) identity_simple = deno.func( - simple_tpe, simple_tpe, code="({ one, two }) => { return { one, two } }" + simple_tpe, + simple_tpe, + code="({ one, two }) => { return { one, two } }", ) identity_self_ref = deno.func( - self_ref_tpe, self_ref_tpe, code="({ a, b }) => { return { a, b } }" + self_ref_tpe, + self_ref_tpe, + code="({ a, b }) => { return { a, b } }", ) g.expose( @@ -75,9 +79,9 @@ def reduce_py(g: Graph): "user": g.inherit(), "set": g.inherit(), "context": g.inherit(), - } + }, # "one": g.inherit() # implicit - } + }, ).with_policy(public), simpleInjection=identity_simple.reduce({"one": "ONE!"}) .reduce( @@ -87,11 +91,11 @@ def reduce_py(g: Graph): "set": g.inherit().set(2), "context": g.inherit().from_context("someValue"), }, - } + }, ) .with_policy(public), testBranching=identity_simple.reduce( - {"branching": {"a": {"b": {"c": "nested"}}}} + {"branching": {"a": {"b": {"c": "nested"}}}}, ).with_policy(public), selfReferingType=identity_self_ref.reduce( { @@ -104,10 +108,10 @@ def reduce_py(g: Graph): "a": g.inherit(), # A3 "b": g.inherit().from_context("nestedB"), "direct": {"a": "direct A3"}, - } + }, }, - } + }, }, - } + }, ).with_policy(public), ) diff --git a/tests/typecheck/type_alias.py b/tests/typecheck/type_alias.py index 913c6dd540..45c81219b2 100644 --- a/tests/typecheck/type_alias.py +++ b/tests/typecheck/type_alias.py @@ -1,9 +1,9 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph -from typegraph.runtimes import RandomRuntime +from typegraph import Graph, Policy, t, typegraph from typegraph.providers import PrismaRuntime +from typegraph.runtimes import RandomRuntime @typegraph() @@ -16,7 +16,7 @@ def type_alias(g: Graph): { "label": t.string(), "content": t.string(), - } + }, ) message = t.struct( @@ -25,7 +25,7 @@ def type_alias(g: Graph): "title": t.string(), "user_id": t.integer(), "info": t.list(infos), - } + }, ) user = t.struct( diff --git a/tests/typecheck/typecheck.py b/tests/typecheck/typecheck.py index dd42e8c9a5..d37784bc4b 100644 --- a/tests/typecheck/typecheck.py +++ b/tests/typecheck/typecheck.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, effects, Policy, t, Graph +from typegraph import Graph, Policy, effects, t, typegraph from typegraph.runtimes.deno import DenoRuntime @@ -46,18 +46,20 @@ def typecheck(g: Graph): t.struct( { "content": t.either( - [t.string(min=3), t.list(t.string(min=3), max=3)] - ) - } + [t.string(min=3), t.list(t.string(min=3), max=3)], + ), + }, ), - ] + ], ).optional(), - } + }, ) posts = deno.func(post_filter, t.list(post, max=20), code="() => []") find_post = deno.func( - t.struct({"id": t.uuid()}), post.optional(), code="() => null" + t.struct({"id": t.uuid()}), + post.optional(), + code="() => null", ) create_post_code = "() => ({ title: 'Hello Metatype', content: 'Greeting from Metatype', authorId: 123})" @@ -69,7 +71,7 @@ def typecheck(g: Graph): "content": t.string(min=100), "authorId": t.uuid(), "tags": t.list(t.string(max=10), min=2).optional(), - } + }, ), post, code=create_post_code, @@ -90,7 +92,7 @@ def typecheck(g: Graph): name="AvailableItem", ), ), - } + }, ) product = t.struct( @@ -98,7 +100,7 @@ def typecheck(g: Graph): "name": t.string(), "equivalent": t.list(g.ref("Product")).optional(), "score": t.either( - [t.string(enum=["bad", "decent", "good"]), t.integer()] + [t.string(enum=["bad", "decent", "good"]), t.integer()], ).optional(), }, name="Product", diff --git a/tests/typename/typename.py b/tests/typename/typename.py index 6ca4cbcfd9..de80af5bf4 100644 --- a/tests/typename/typename.py +++ b/tests/typename/typename.py @@ -32,7 +32,7 @@ def typename(g: Graph): t.enum(["red", "green", "blue"]).rename("NamedColor"), t.string(pattern=r"^#[0-9a-f]{6}$").rename("HexColor"), t.struct({"r": u8, "g": u8, "b": u8}).rename("RgbColor"), - ] + ], ) g.expose( @@ -52,9 +52,9 @@ def typename(g: Graph): "r": 255, "g": 0, "b": 0, - } - ) - } + }, + ), + }, ) .with_policy(public), ) diff --git a/tests/utils/tg_deploy_script.py b/tests/utils/tg_deploy_script.py index ac9d036680..a2d7fa7bb6 100644 --- a/tests/utils/tg_deploy_script.py +++ b/tests/utils/tg_deploy_script.py @@ -11,9 +11,9 @@ ) from typegraph.graph.shared_types import BasicAuth from typegraph.graph.tg_deploy import ( + TypegateConnectionOptions, TypegraphDeployParams, tg_deploy, - TypegateConnectionOptions, ) # get command args @@ -40,7 +40,7 @@ tg_name = module_name.split(".")[0] if not hasattr(module, tg_name): raise Exception( - f"Script name {module_name} doesn't have the typegraph name: {tg_name}" + f"Script name {module_name} doesn't have the typegraph name: {tg_name}", ) @@ -73,7 +73,9 @@ migrations_dir=migration_dir, migration_actions=None, default_migration_action=MigrationAction( - apply=True, reset=global_action_reset, create=global_action_create + apply=True, + reset=global_action_reset, + create=global_action_create, ), ), ) diff --git a/tests/vars/vars.py b/tests/vars/vars.py index fb00295bda..a7386210d9 100644 --- a/tests/vars/vars.py +++ b/tests/vars/vars.py @@ -1,7 +1,7 @@ # Copyright Metatype OÜ, licensed under the Mozilla Public License Version 2.0. # SPDX-License-Identifier: MPL-2.0 -from typegraph import typegraph, Policy, t, Graph +from typegraph import Graph, Policy, t, typegraph from typegraph.runtimes.deno import DenoRuntime @@ -15,7 +15,7 @@ def vars(g: Graph): { "first": t.integer(), "second": t.integer(), - } + }, ), t.integer(), code="({ first, second }) => first + second", @@ -27,7 +27,7 @@ def vars(g: Graph): ).with_policy(Policy.public()), level2=deno.func( t.struct( - {"level1": t.struct({"level2": t.list(t.string())}, name="Level1")} + {"level1": t.struct({"level2": t.list(t.string())}, name="Level1")}, ), t.string(), code="(arg) => arg.level1.level2[0]",