@webiny/api-core 6.2.0-beta.0 → 6.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ApiCoreFeature.d.ts +5 -1
- package/ApiCoreFeature.js +4 -0
- package/ApiCoreFeature.js.map +1 -1
- package/createApiCore.d.ts +1 -1
- package/exports/api.d.ts +3 -0
- package/exports/api.js +2 -0
- package/exports/api.js.map +1 -1
- package/features/ai/Ai.d.ts +26 -0
- package/features/ai/Ai.js +133 -0
- package/features/ai/Ai.js.map +1 -0
- package/features/ai/AiSdkTools.d.ts +11 -0
- package/features/ai/AiSdkTools.js +25 -0
- package/features/ai/AiSdkTools.js.map +1 -0
- package/features/ai/AnthropicSdkFactory.d.ts +10 -0
- package/features/ai/AnthropicSdkFactory.js +71 -0
- package/features/ai/AnthropicSdkFactory.js.map +1 -0
- package/features/ai/OpenAiSdkFactory.d.ts +10 -0
- package/features/ai/OpenAiSdkFactory.js +187 -0
- package/features/ai/OpenAiSdkFactory.js.map +1 -0
- package/features/ai/abstractions.d.ts +92 -0
- package/features/ai/abstractions.js +35 -0
- package/features/ai/abstractions.js.map +1 -0
- package/features/ai/feature.d.ts +4 -0
- package/features/ai/feature.js +16 -0
- package/features/ai/feature.js.map +1 -0
- package/features/ai/index.d.ts +3 -0
- package/features/ai/index.js +4 -0
- package/features/ai/index.js.map +1 -0
- package/features/buildParams/feature.d.ts +5 -1
- package/features/encryption/EncryptionService.d.ts +10 -0
- package/features/encryption/EncryptionService.js +58 -0
- package/features/encryption/EncryptionService.js.map +1 -0
- package/features/encryption/abstractions.d.ts +9 -0
- package/features/encryption/abstractions.js +5 -0
- package/features/encryption/abstractions.js.map +1 -0
- package/features/encryption/feature.d.ts +4 -0
- package/features/encryption/feature.js +10 -0
- package/features/encryption/feature.js.map +1 -0
- package/features/encryption/index.d.ts +1 -0
- package/features/encryption/index.js +3 -0
- package/features/encryption/index.js.map +1 -0
- package/features/eventPublisher/feature.d.ts +5 -1
- package/features/featureFlags/feature.d.ts +5 -1
- package/features/keyValueStore/feature.d.ts +4 -1
- package/features/keyValueStore/feature.js.map +1 -1
- package/features/logger/feature.d.ts +4 -1
- package/features/security/IdentityContext/feature.d.ts +4 -1
- package/features/security/SecurityFeature.d.ts +5 -1
- package/features/security/apiKeys/CreateApiKey/feature.d.ts +4 -1
- package/features/security/apiKeys/DeleteApiKey/feature.d.ts +4 -1
- package/features/security/apiKeys/GetApiKey/feature.d.ts +4 -1
- package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +4 -1
- package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +4 -1
- package/features/security/apiKeys/ListApiKeys/feature.d.ts +4 -1
- package/features/security/apiKeys/UpdateApiKey/feature.d.ts +4 -1
- package/features/security/apiKeys/feature.d.ts +4 -1
- package/features/security/authentication/AuthenticationContext/feature.d.ts +4 -1
- package/features/security/authorization/AuthorizationContext/feature.d.ts +4 -1
- package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +4 -1
- package/features/security/permissions/createPermissions.d.ts +4 -1
- package/features/security/roles/CreateRole/feature.d.ts +4 -1
- package/features/security/roles/DeleteRole/feature.d.ts +4 -1
- package/features/security/roles/GetRole/feature.d.ts +4 -1
- package/features/security/roles/ListRoles/feature.d.ts +4 -1
- package/features/security/roles/UpdateRole/feature.d.ts +4 -1
- package/features/security/roles/feature.d.ts +4 -1
- package/features/security/teams/CreateTeam/feature.d.ts +4 -1
- package/features/security/teams/DeleteTeam/feature.d.ts +4 -1
- package/features/security/teams/GetTeam/feature.d.ts +4 -1
- package/features/security/teams/ListTeams/feature.d.ts +4 -1
- package/features/security/teams/UpdateTeam/feature.d.ts +4 -1
- package/features/security/teams/feature.d.ts +4 -1
- package/features/system/InstallSystem/feature.d.ts +5 -1
- package/features/system/SystemFeature.d.ts +4 -1
- package/features/task/TaskService/abstractions.js.map +1 -1
- package/features/tenancy/CreateTenant/feature.d.ts +5 -1
- package/features/tenancy/DeleteTenant/feature.d.ts +5 -1
- package/features/tenancy/GetRootTenant/feature.d.ts +5 -1
- package/features/tenancy/GetTenantById/feature.d.ts +5 -1
- package/features/tenancy/InstallTenant/feature.d.ts +5 -1
- package/features/tenancy/ListTenants/feature.d.ts +5 -1
- package/features/tenancy/TenancyFeature.d.ts +4 -1
- package/features/tenancy/TenancyFeature.js.map +1 -1
- package/features/tenancy/TenantContext/feature.d.ts +4 -1
- package/features/tenancy/UpdateTenant/feature.d.ts +5 -1
- package/features/users/AdminUsersFeature.d.ts +4 -1
- package/features/users/AdminUsersFeature.js.map +1 -1
- package/features/users/CreateUser/feature.d.ts +4 -1
- package/features/users/DeleteUser/feature.d.ts +4 -1
- package/features/users/ExternalIdpUserSync/feature.d.ts +4 -1
- package/features/users/GetIdentityProfile/feature.d.ts +4 -1
- package/features/users/GetUser/feature.d.ts +4 -1
- package/features/users/ListUserTeams/feature.d.ts +4 -1
- package/features/users/ListUsers/feature.d.ts +4 -1
- package/features/users/UpdateUser/feature.d.ts +4 -1
- package/features/wcp/WcpContext/WcpContext.d.ts +3 -0
- package/features/wcp/WcpContext/WcpContext.js +9 -0
- package/features/wcp/WcpContext/WcpContext.js.map +1 -1
- package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +15 -0
- package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +22 -0
- package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
- package/features/wcp/WcpContext/feature.d.ts +5 -1
- package/features/wcp/WcpFeature.d.ts +4 -1
- package/features/wcp/WcpFeature.js.map +1 -1
- package/graphql/wcp/graphql.js +1 -0
- package/graphql/wcp/graphql.js.map +1 -1
- package/idp/feature.d.ts +4 -1
- package/legacy/wcp/LegacyWcpContext.d.ts +3 -0
- package/legacy/wcp/LegacyWcpContext.js +9 -0
- package/legacy/wcp/LegacyWcpContext.js.map +1 -1
- package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
- package/models/cms/fieldsBuilder.md +4 -2
- package/package.json +20 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","FieldDefinitionsBuilder","createImplementation","FieldBuilderRegistry","PrivateCmsModelBuilder","BuilderAbstraction","ModelBuilder","PrivateCmsModelBuilderImpl","constructor","fieldBuilderRegistry","create","modelId","fieldDefinitions","builder","fieldShape","factory","fieldDefinitionsBuilder","__fromObject","PrivateCmsModelConfiguration","metadata","modelMethods","extensionFields","Map","withMethods","methods","Object","assign","extendFields","fieldId","fieldBuilder","entries","config","toConfig","zodSchema","getZodSchema","set","build","baseSchema","__toZodSchema","finalSchema","size","extensionsShape","optional","extensionsSchema","object","extend","extensions","modelBuilder","keys","length","ModelClass","allFields","__getFields","type","label","validation","settings","fromEntries","Array","from","map","id","fields","values","f","modelType","Model","name","icon","description","schema","getSchema","data","abstraction","implementation","dependencies"],"sources":["PrivateCmsModelBuilder.ts"],"sourcesContent":["import { z } from \"zod\";\nimport {\n FieldDefinitionsBuilder,\n type FieldDefinitionsFactory\n} from \"./FieldDefinitionsBuilder.js\";\nimport type { BaseModel } from \"../base/BaseModel.js\";\nimport type { IModelData } from \"../base/abstractions.js\";\nimport type { PrivateCmsModel, CmsModelMetadata, FieldBuilderConfig } from \"./types.js\";\n// Import your existing ModelBuilder\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { createImplementation } from \"@webiny/di\";\nimport {\n FieldBuilderRegistry,\n type IFieldBuilderRegistry,\n PrivateCmsModelBuilder as BuilderAbstraction\n} from \"~/models/cms/abstractions.js\";\nimport { ModelBuilder } from \"~/models/base/ModelBuilder.js\";\n\nexport interface IPrivateCmsModelBuilder {\n create<TModel extends BaseModel<any>, TFields extends z.ZodRawShape = any>(\n modelId: string,\n fieldDefinitions: FieldDefinitionsFactory<TFields>\n ): IPrivateCmsModelConfiguration<TModel>;\n}\n\nexport interface IPrivateCmsModelConfiguration<TModel extends BaseModel<any>> {\n withMethods<TMethods extends object>(\n methods: TMethods & ThisType<TModel & TMethods>\n ): IPrivateCmsModelConfiguration<TModel>;\n extendFields(\n factory: (fields: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>\n ): IPrivateCmsModelConfiguration<TModel>;\n build(): PrivateCmsModel<TModel>;\n}\n\nclass PrivateCmsModelBuilderImpl implements IPrivateCmsModelBuilder {\n constructor(private fieldBuilderRegistry: IFieldBuilderRegistry) {}\n\n create<TModel extends BaseModel<any>, TFields extends z.ZodRawShape = any>(\n modelId: string,\n fieldDefinitions: FieldDefinitionsFactory<TFields>\n ): IPrivateCmsModelConfiguration<TModel> {\n const builder = new FieldDefinitionsBuilder(this.fieldBuilderRegistry);\n const fieldShape = fieldDefinitions.factory(this.fieldBuilderRegistry);\n const fieldDefinitionsBuilder = builder.__fromObject(fieldShape);\n\n return new PrivateCmsModelConfiguration<TModel>(\n modelId,\n this.fieldBuilderRegistry,\n fieldDefinitionsBuilder\n );\n }\n}\n\nclass PrivateCmsModelConfiguration<TModel extends BaseModel<any>>\n implements IPrivateCmsModelConfiguration<TModel>\n{\n private metadata: CmsModelMetadata = {};\n // eslint-disable-next-line\n private modelMethods: Record<string, Function> = {};\n private extensionFields = new Map<string, FieldBuilderConfig>();\n\n constructor(\n private modelId: string,\n private fieldBuilderRegistry: IFieldBuilderRegistry,\n private fieldDefinitionsBuilder: FieldDefinitionsBuilder\n ) {}\n\n withMethods<TMethods extends object>(\n methods: TMethods & ThisType<TModel & TMethods>\n ): IPrivateCmsModelConfiguration<TModel> {\n Object.assign(this.modelMethods, methods);\n return this as any;\n }\n\n extendFields(\n factory: (fields: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>\n ): IPrivateCmsModelConfiguration<TModel> {\n // Use the factory to get field shape - same as createFieldDefinitions!\n const fieldShape = factory(this.fieldBuilderRegistry);\n\n // Convert to field configs\n for (const [fieldId, fieldBuilder] of Object.entries(fieldShape)) {\n const config = fieldBuilder.toConfig();\n config.fieldId = fieldId;\n const zodSchema = fieldBuilder.getZodSchema();\n\n this.extensionFields.set(fieldId, {\n fieldId,\n config,\n zodSchema\n });\n }\n\n return this as any;\n }\n\n build(): PrivateCmsModel<TModel> {\n const baseSchema = this.fieldDefinitionsBuilder.__toZodSchema();\n let finalSchema = baseSchema;\n\n if (this.extensionFields.size > 0) {\n const extensionsShape: Record<string, z.ZodTypeAny> = {};\n\n for (const [fieldId, { zodSchema }] of this.extensionFields) {\n // Make each extension field optional\n extensionsShape[fieldId] = zodSchema.optional();\n }\n\n const extensionsSchema = z.object(extensionsShape).optional();\n\n finalSchema = baseSchema.extend({\n extensions: extensionsSchema\n }) as any;\n }\n\n let modelBuilder = new ModelBuilder<any>(this.modelId, finalSchema);\n\n if (Object.keys(this.modelMethods).length > 0) {\n modelBuilder = modelBuilder.withMethods(this.modelMethods);\n }\n\n const ModelClass = modelBuilder.build();\n\n const allFields = [\n ...this.fieldDefinitionsBuilder.__getFields(),\n ...(this.extensionFields.size > 0\n ? [\n {\n fieldId: \"extensions\",\n type: \"object\",\n label: \"Extensions\",\n validation: [],\n settings: {},\n zodSchema: z\n .object(\n Object.fromEntries(\n Array.from(this.extensionFields.entries()).map(\n ([id, { zodSchema }]) => [id, zodSchema.optional()]\n )\n )\n )\n .optional(),\n fields: Array.from(this.extensionFields.values()).map(f => f.config)\n }\n ]\n : [])\n ];\n\n return {\n type: \"private\" as const,\n modelType: \"private\" as const,\n Model: ModelClass as any,\n modelId: this.modelId,\n name: this.modelId,\n icon: this.metadata.icon,\n description: this.metadata.description,\n fields: allFields,\n schema: modelBuilder.getSchema() as TModel[\"__schema\"],\n create: (data: IModelData<TModel>) => ModelClass.create(data) as TModel\n };\n }\n}\n\nexport const PrivateCmsModelBuilder = createImplementation({\n abstraction: BuilderAbstraction,\n implementation: PrivateCmsModelBuilderImpl,\n dependencies: [FieldBuilderRegistry]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["z","FieldDefinitionsBuilder","createImplementation","FieldBuilderRegistry","PrivateCmsModelBuilder","BuilderAbstraction","ModelBuilder","PrivateCmsModelBuilderImpl","constructor","fieldBuilderRegistry","create","modelId","fieldDefinitions","builder","fieldShape","factory","fieldDefinitionsBuilder","__fromObject","PrivateCmsModelConfiguration","metadata","modelMethods","extensionFields","Map","withMethods","methods","Object","assign","extendFields","fieldId","fieldBuilder","entries","config","toConfig","zodSchema","getZodSchema","set","build","baseSchema","__toZodSchema","finalSchema","size","extensionsShape","optional","extensionsSchema","object","extend","extensions","modelBuilder","keys","length","ModelClass","allFields","__getFields","type","label","validation","settings","fromEntries","Array","from","map","id","fields","values","f","modelType","Model","name","icon","description","schema","getSchema","data","abstraction","implementation","dependencies"],"sources":["PrivateCmsModelBuilder.ts"],"sourcesContent":["import { z } from \"zod\";\nimport {\n FieldDefinitionsBuilder,\n type FieldDefinitionsFactory\n} from \"./FieldDefinitionsBuilder.js\";\nimport type { BaseModel } from \"../base/BaseModel.js\";\nimport type { IModelData } from \"../base/abstractions.js\";\nimport type { PrivateCmsModel, CmsModelMetadata, FieldBuilderConfig } from \"./types.js\";\n// Import your existing ModelBuilder\nimport { FieldBuilder } from \"./FieldBuilder.js\";\nimport { createImplementation } from \"@webiny/di\";\nimport {\n FieldBuilderRegistry,\n type IFieldBuilderRegistry,\n PrivateCmsModelBuilder as BuilderAbstraction\n} from \"~/models/cms/abstractions.js\";\nimport { ModelBuilder } from \"~/models/base/ModelBuilder.js\";\n\nexport interface IPrivateCmsModelBuilder {\n create<TModel extends BaseModel<any>, TFields extends z.ZodRawShape = any>(\n modelId: string,\n fieldDefinitions: FieldDefinitionsFactory<TFields>\n ): IPrivateCmsModelConfiguration<TModel>;\n}\n\nexport interface IPrivateCmsModelConfiguration<TModel extends BaseModel<any>> {\n withMethods<TMethods extends object>(\n methods: TMethods & ThisType<TModel & TMethods>\n ): IPrivateCmsModelConfiguration<TModel>;\n extendFields(\n factory: (fields: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>\n ): IPrivateCmsModelConfiguration<TModel>;\n build(): PrivateCmsModel<TModel>;\n}\n\nclass PrivateCmsModelBuilderImpl implements IPrivateCmsModelBuilder {\n constructor(private fieldBuilderRegistry: IFieldBuilderRegistry) {}\n\n create<TModel extends BaseModel<any>, TFields extends z.ZodRawShape = any>(\n modelId: string,\n fieldDefinitions: FieldDefinitionsFactory<TFields>\n ): IPrivateCmsModelConfiguration<TModel> {\n const builder = new FieldDefinitionsBuilder(this.fieldBuilderRegistry);\n const fieldShape = fieldDefinitions.factory(this.fieldBuilderRegistry);\n const fieldDefinitionsBuilder = builder.__fromObject(fieldShape);\n\n return new PrivateCmsModelConfiguration<TModel>(\n modelId,\n this.fieldBuilderRegistry,\n fieldDefinitionsBuilder\n );\n }\n}\n\nclass PrivateCmsModelConfiguration<\n TModel extends BaseModel<any>\n> implements IPrivateCmsModelConfiguration<TModel> {\n private metadata: CmsModelMetadata = {};\n // eslint-disable-next-line\n private modelMethods: Record<string, Function> = {};\n private extensionFields = new Map<string, FieldBuilderConfig>();\n\n constructor(\n private modelId: string,\n private fieldBuilderRegistry: IFieldBuilderRegistry,\n private fieldDefinitionsBuilder: FieldDefinitionsBuilder\n ) {}\n\n withMethods<TMethods extends object>(\n methods: TMethods & ThisType<TModel & TMethods>\n ): IPrivateCmsModelConfiguration<TModel> {\n Object.assign(this.modelMethods, methods);\n return this as any;\n }\n\n extendFields(\n factory: (fields: IFieldBuilderRegistry) => Record<string, FieldBuilder<any>>\n ): IPrivateCmsModelConfiguration<TModel> {\n // Use the factory to get field shape - same as createFieldDefinitions!\n const fieldShape = factory(this.fieldBuilderRegistry);\n\n // Convert to field configs\n for (const [fieldId, fieldBuilder] of Object.entries(fieldShape)) {\n const config = fieldBuilder.toConfig();\n config.fieldId = fieldId;\n const zodSchema = fieldBuilder.getZodSchema();\n\n this.extensionFields.set(fieldId, {\n fieldId,\n config,\n zodSchema\n });\n }\n\n return this as any;\n }\n\n build(): PrivateCmsModel<TModel> {\n const baseSchema = this.fieldDefinitionsBuilder.__toZodSchema();\n let finalSchema = baseSchema;\n\n if (this.extensionFields.size > 0) {\n const extensionsShape: Record<string, z.ZodTypeAny> = {};\n\n for (const [fieldId, { zodSchema }] of this.extensionFields) {\n // Make each extension field optional\n extensionsShape[fieldId] = zodSchema.optional();\n }\n\n const extensionsSchema = z.object(extensionsShape).optional();\n\n finalSchema = baseSchema.extend({\n extensions: extensionsSchema\n }) as any;\n }\n\n let modelBuilder = new ModelBuilder<any>(this.modelId, finalSchema);\n\n if (Object.keys(this.modelMethods).length > 0) {\n modelBuilder = modelBuilder.withMethods(this.modelMethods);\n }\n\n const ModelClass = modelBuilder.build();\n\n const allFields = [\n ...this.fieldDefinitionsBuilder.__getFields(),\n ...(this.extensionFields.size > 0\n ? [\n {\n fieldId: \"extensions\",\n type: \"object\",\n label: \"Extensions\",\n validation: [],\n settings: {},\n zodSchema: z\n .object(\n Object.fromEntries(\n Array.from(this.extensionFields.entries()).map(\n ([id, { zodSchema }]) => [id, zodSchema.optional()]\n )\n )\n )\n .optional(),\n fields: Array.from(this.extensionFields.values()).map(f => f.config)\n }\n ]\n : [])\n ];\n\n return {\n type: \"private\" as const,\n modelType: \"private\" as const,\n Model: ModelClass as any,\n modelId: this.modelId,\n name: this.modelId,\n icon: this.metadata.icon,\n description: this.metadata.description,\n fields: allFields,\n schema: modelBuilder.getSchema() as TModel[\"__schema\"],\n create: (data: IModelData<TModel>) => ModelClass.create(data) as TModel\n };\n }\n}\n\nexport const PrivateCmsModelBuilder = createImplementation({\n abstraction: BuilderAbstraction,\n implementation: PrivateCmsModelBuilderImpl,\n dependencies: [FieldBuilderRegistry]\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -194,8 +194,10 @@ import type { FieldBuilder } from "./FieldBuilder.js";
|
|
|
194
194
|
export interface IFieldBuilderRegistry {
|
|
195
195
|
text(): ITextFieldBuilder;
|
|
196
196
|
// object is special - needs registry reference
|
|
197
|
-
object<TShape extends
|
|
198
|
-
fields: (registry: IFieldBuilderRegistry) => {
|
|
197
|
+
object<TShape extends Record<string, z.ZodTypeAny>>(
|
|
198
|
+
fields: (registry: IFieldBuilderRegistry) => {
|
|
199
|
+
[K in keyof TShape]: FieldBuilder<TShape[K]>;
|
|
200
|
+
}
|
|
199
201
|
): FieldBuilder<z.ZodObject<TShape>>;
|
|
200
202
|
}
|
|
201
203
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-core",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -15,17 +15,20 @@
|
|
|
15
15
|
"./*": "./*"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@
|
|
18
|
+
"@ai-sdk/anthropic": "3.0.71",
|
|
19
|
+
"@ai-sdk/openai": "3.0.53",
|
|
20
|
+
"@webiny/api": "6.3.0-beta.0",
|
|
19
21
|
"@webiny/di": "0.2.3",
|
|
20
|
-
"@webiny/error": "6.
|
|
21
|
-
"@webiny/feature": "6.
|
|
22
|
-
"@webiny/feature-flags": "6.
|
|
23
|
-
"@webiny/handler": "6.
|
|
24
|
-
"@webiny/handler-db": "6.
|
|
25
|
-
"@webiny/handler-graphql": "6.
|
|
26
|
-
"@webiny/plugins": "6.
|
|
27
|
-
"@webiny/utils": "6.
|
|
28
|
-
"@webiny/wcp": "6.
|
|
22
|
+
"@webiny/error": "6.3.0-beta.0",
|
|
23
|
+
"@webiny/feature": "6.3.0-beta.0",
|
|
24
|
+
"@webiny/feature-flags": "6.3.0-beta.0",
|
|
25
|
+
"@webiny/handler": "6.3.0-beta.0",
|
|
26
|
+
"@webiny/handler-db": "6.3.0-beta.0",
|
|
27
|
+
"@webiny/handler-graphql": "6.3.0-beta.0",
|
|
28
|
+
"@webiny/plugins": "6.3.0-beta.0",
|
|
29
|
+
"@webiny/utils": "6.3.0-beta.0",
|
|
30
|
+
"@webiny/wcp": "6.3.0-beta.0",
|
|
31
|
+
"ai": "6.0.168",
|
|
29
32
|
"dataloader": "2.2.3",
|
|
30
33
|
"jose": "6.2.2",
|
|
31
34
|
"jsonwebtoken": "9.0.3",
|
|
@@ -37,18 +40,18 @@
|
|
|
37
40
|
},
|
|
38
41
|
"devDependencies": {
|
|
39
42
|
"@types/jsonwebtoken": "9.0.10",
|
|
40
|
-
"@webiny/build-tools": "6.
|
|
41
|
-
"@webiny/db-dynamodb": "6.
|
|
42
|
-
"@webiny/handler-aws": "6.
|
|
43
|
-
"@webiny/project-utils": "6.
|
|
43
|
+
"@webiny/build-tools": "6.3.0-beta.0",
|
|
44
|
+
"@webiny/db-dynamodb": "6.3.0-beta.0",
|
|
45
|
+
"@webiny/handler-aws": "6.3.0-beta.0",
|
|
46
|
+
"@webiny/project-utils": "6.3.0-beta.0",
|
|
44
47
|
"jest-dynalite": "3.6.1",
|
|
45
48
|
"rimraf": "6.1.3",
|
|
46
|
-
"typescript": "
|
|
49
|
+
"typescript": "6.0.3",
|
|
47
50
|
"vitest": "4.1.4"
|
|
48
51
|
},
|
|
49
52
|
"publishConfig": {
|
|
50
53
|
"access": "public",
|
|
51
54
|
"directory": "dist"
|
|
52
55
|
},
|
|
53
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "94c21e58aebc9855bf1ae972423281faa0f5c135"
|
|
54
57
|
}
|