@webiny/api-core 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.df7a8bb475
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/features/task/TaskDefinition/abstractions.d.ts +2 -2
- package/features/task/TaskDefinition/abstractions.js.map +1 -1
- package/models/cms/FieldBuilder.d.ts +1 -1
- package/models/cms/FieldBuilder.js +5 -5
- package/models/cms/FieldBuilder.js.map +1 -1
- package/models/cms/fieldsBuilder.md +2 -2
- package/models/cms/types.d.ts +2 -2
- package/models/cms/types.js.map +1 -1
- package/package.json +17 -17
|
@@ -77,7 +77,7 @@ export interface ITaskDefinition<I extends ITaskInput = ITaskInput, O extends IT
|
|
|
77
77
|
title: string;
|
|
78
78
|
description?: string;
|
|
79
79
|
maxIterations?: number;
|
|
80
|
-
|
|
80
|
+
databaseLogs?: boolean;
|
|
81
81
|
isPrivate?: boolean;
|
|
82
82
|
/**
|
|
83
83
|
* Core run method - receives ONLY input params
|
|
@@ -109,7 +109,7 @@ export declare const TaskDefinition: import("@webiny/di").Abstraction<ITaskDefin
|
|
|
109
109
|
*/
|
|
110
110
|
export interface IRunnableTaskDefinition<I extends ITaskInput = ITaskInput, O extends ITaskOutput = ITaskOutput> extends ITaskDefinition<I, O> {
|
|
111
111
|
isPrivate: boolean;
|
|
112
|
-
|
|
112
|
+
databaseLogs: boolean;
|
|
113
113
|
maxIterations: number;
|
|
114
114
|
}
|
|
115
115
|
export declare namespace TaskDefinition {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createAbstraction","TaskResultStatus","TaskDefinition"],"sources":["abstractions.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport type { ITask } from \"~/features/task/TaskService/index.js\";\nimport { TaskController } from \"~/features/task/TaskController/index.js\";\n\nexport type ITaskInput = GenericRecord;\n\nexport interface IResponseError {\n message: string;\n code?: string | null;\n data?: GenericRecord | null;\n stack?: string;\n}\n\nexport interface ITaskOutput {\n error?: IResponseError;\n [key: string]: any;\n}\n\n/**\n * Task run params - ONLY the input data\n * All runtime dependencies come from TaskController (injected separately)\n */\nexport interface ITaskRunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n input: I;\n controller: TaskController.Interface<I, O>;\n}\n\n/**\n * Data for creating a new task\n */\nexport interface ITaskCreateData<I = ITaskInput> {\n definitionId: string;\n name: string;\n input: I;\n parentId?: string;\n}\n\n/**\n * Parameters for onBeforeTrigger lifecycle hook\n */\nexport interface ITaskBeforeTriggerParams<I = ITaskInput> {\n data: ITaskCreateData<I>;\n}\n\n/**\n * Task result status enum\n */\nexport enum TaskResultStatus {\n DONE = \"done\",\n CONTINUE = \"continue\",\n ERROR = \"error\",\n ABORTED = \"aborted\"\n}\n\n/**\n * Specific result types\n */\nexport interface ITaskResultDone<O extends ITaskOutput = ITaskOutput> {\n status: TaskResultStatus.DONE;\n message?: string;\n output?: O;\n}\n\nexport interface ITaskResultContinue<I = ITaskInput> {\n status: TaskResultStatus.CONTINUE;\n input: I;\n wait?: number; // seconds to wait before next iteration\n}\n\nexport interface ITaskResultError {\n status: TaskResultStatus.ERROR;\n error: IResponseError;\n}\n\nexport interface ITaskResultAborted {\n status: TaskResultStatus.ABORTED;\n}\n\nexport type ITaskResult<I = ITaskInput, O extends ITaskOutput = ITaskOutput> =\n | ITaskResultDone<O>\n | ITaskResultContinue<I>\n | ITaskResultError\n | ITaskResultAborted;\n\nexport type ITaskLifecycleHook<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> = { task: ITask<I, O> };\n\n/**\n * Core TaskDefinition - minimal interface\n */\nexport interface ITaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n id: string;\n title: string;\n description?: string;\n maxIterations?: number;\n
|
|
1
|
+
{"version":3,"names":["createAbstraction","TaskResultStatus","TaskDefinition"],"sources":["abstractions.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createAbstraction } from \"@webiny/feature/api\";\nimport type { GenericRecord } from \"@webiny/api/types\";\nimport type { ITask } from \"~/features/task/TaskService/index.js\";\nimport { TaskController } from \"~/features/task/TaskController/index.js\";\n\nexport type ITaskInput = GenericRecord;\n\nexport interface IResponseError {\n message: string;\n code?: string | null;\n data?: GenericRecord | null;\n stack?: string;\n}\n\nexport interface ITaskOutput {\n error?: IResponseError;\n [key: string]: any;\n}\n\n/**\n * Task run params - ONLY the input data\n * All runtime dependencies come from TaskController (injected separately)\n */\nexport interface ITaskRunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n input: I;\n controller: TaskController.Interface<I, O>;\n}\n\n/**\n * Data for creating a new task\n */\nexport interface ITaskCreateData<I = ITaskInput> {\n definitionId: string;\n name: string;\n input: I;\n parentId?: string;\n}\n\n/**\n * Parameters for onBeforeTrigger lifecycle hook\n */\nexport interface ITaskBeforeTriggerParams<I = ITaskInput> {\n data: ITaskCreateData<I>;\n}\n\n/**\n * Task result status enum\n */\nexport enum TaskResultStatus {\n DONE = \"done\",\n CONTINUE = \"continue\",\n ERROR = \"error\",\n ABORTED = \"aborted\"\n}\n\n/**\n * Specific result types\n */\nexport interface ITaskResultDone<O extends ITaskOutput = ITaskOutput> {\n status: TaskResultStatus.DONE;\n message?: string;\n output?: O;\n}\n\nexport interface ITaskResultContinue<I = ITaskInput> {\n status: TaskResultStatus.CONTINUE;\n input: I;\n wait?: number; // seconds to wait before next iteration\n}\n\nexport interface ITaskResultError {\n status: TaskResultStatus.ERROR;\n error: IResponseError;\n}\n\nexport interface ITaskResultAborted {\n status: TaskResultStatus.ABORTED;\n}\n\nexport type ITaskResult<I = ITaskInput, O extends ITaskOutput = ITaskOutput> =\n | ITaskResultDone<O>\n | ITaskResultContinue<I>\n | ITaskResultError\n | ITaskResultAborted;\n\nexport type ITaskLifecycleHook<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> = { task: ITask<I, O> };\n\n/**\n * Core TaskDefinition - minimal interface\n */\nexport interface ITaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> {\n id: string;\n title: string;\n description?: string;\n maxIterations?: number;\n databaseLogs?: boolean;\n isPrivate?: boolean;\n\n /**\n * Core run method - receives ONLY input params\n * All runtime dependencies (logging, state management, etc.) come from TaskController\n */\n run(params: ITaskRunParams<I, O>): Promise<ITaskResult<I, O>>;\n\n /**\n * Optional lifecycle hooks - receive task data, no context\n */\n onBeforeTrigger?(params: ITaskBeforeTriggerParams<I>): Promise<void>;\n onDone?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onError?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onAbort?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n onMaxIterations?(params: ITaskLifecycleHook<I, O>): Promise<void>;\n /**\n * Create a validation schema for the task input.\n * This will be used to validate the input before the task is triggered.\n */\n createInputValidation?(\n params: ITaskCreateInputValidationParams\n ): GenericRecord<keyof I, zod.Schema> | zod.Schema;\n}\n\nexport interface ITaskCreateInputValidationParams {\n validator: typeof zod;\n}\n\nexport const TaskDefinition = createAbstraction<ITaskDefinition>(\"TaskDefinition\");\n\n/**\n * IRunnableTaskDefinition represents a TaskDefinition after decoration/processing.\n * All optional runtime properties are guaranteed to have values (with defaults applied).\n * Used internally by the task runner to ensure consistent behavior.\n */\nexport interface IRunnableTaskDefinition<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n> extends ITaskDefinition<I, O> {\n // Override optional properties to be required with guaranteed values\n isPrivate: boolean;\n databaseLogs: boolean;\n maxIterations: number;\n}\n\nexport namespace TaskDefinition {\n export type Interface<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskDefinition<I, O>;\n\n export type TaskInput = ITaskInput;\n\n export type TaskOutput = ITaskOutput;\n\n export type Runnable<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = IRunnableTaskDefinition<I, O>;\n\n export type RunParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskRunParams<I, O>;\n\n export type Result<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskResult<I, O>;\n\n export type Task<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITask<I, O>;\n\n export type ResultDone<O extends ITaskOutput = ITaskOutput> = ITaskResultDone<O>;\n export type ResultContinue<I = ITaskInput> = ITaskResultContinue<I>;\n export type ResultError = ITaskResultError;\n export type ResultAborted = ITaskResultAborted;\n export type CreateInputValidationParams = ITaskCreateInputValidationParams;\n export type TaskCreateData<I = ITaskInput> = ITaskCreateData<I>;\n export type BeforeTriggerParams<I = ITaskInput> = ITaskBeforeTriggerParams<I>;\n export type LifecycleHookParams<\n I extends ITaskInput = ITaskInput,\n O extends ITaskOutput = ITaskOutput\n > = ITaskLifecycleHook<I, O>;\n}\n"],"mappings":"AACA,SAASA,iBAAiB,QAAQ,qBAAqB;;AAmBvD;AACA;AACA;AACA;;AASA;AACA;AACA;;AAQA;AACA;AACA;;AAKA;AACA;AACA;AACA,WAAYC,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;;AAO5B;AACA;AACA;;AAiCA;AACA;AACA;;AAuCA,OAAO,MAAMC,cAAc,GAAGF,iBAAiB,CAAkB,gBAAgB,CAAC;;AAElF;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ export declare abstract class FieldBuilder<TZod extends z.ZodTypeAny> {
|
|
|
6
6
|
protected zodSchema: TZod;
|
|
7
7
|
constructor(type: string, initialSchema: TZod);
|
|
8
8
|
label(text: string): this;
|
|
9
|
-
|
|
9
|
+
help(text: string): this;
|
|
10
10
|
placeholder(text: string): this;
|
|
11
11
|
toConfig(): FieldConfig;
|
|
12
12
|
getZodSchema(): TZod;
|
|
@@ -12,12 +12,12 @@ export class FieldBuilder {
|
|
|
12
12
|
this.config.label = text;
|
|
13
13
|
return this;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
this.config.
|
|
15
|
+
help(text) {
|
|
16
|
+
this.config.help = text;
|
|
17
17
|
return this;
|
|
18
18
|
}
|
|
19
19
|
placeholder(text) {
|
|
20
|
-
this.config.
|
|
20
|
+
this.config.placeholder = text;
|
|
21
21
|
return this;
|
|
22
22
|
}
|
|
23
23
|
toConfig() {
|
|
@@ -25,8 +25,8 @@ export class FieldBuilder {
|
|
|
25
25
|
fieldId: "",
|
|
26
26
|
type: this.config.type,
|
|
27
27
|
label: this.config.label,
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
help: this.config.help,
|
|
29
|
+
placeholder: this.config.placeholder,
|
|
30
30
|
validation: this.config.validation || [],
|
|
31
31
|
settings: this.config.settings || {},
|
|
32
32
|
zodSchema: this.zodSchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","FieldBuilder","config","validation","constructor","type","initialSchema","zodSchema","label","text","
|
|
1
|
+
{"version":3,"names":["z","FieldBuilder","config","validation","constructor","type","initialSchema","zodSchema","label","text","help","placeholder","toConfig","fieldId","settings","getZodSchema","TextFieldBuilder","schema","string","required","message","newSchema","min","push","name","minLength","length","maxLength","max","slug","regex","email","url","unique","ObjectFieldBuilder","nestedFields","fields","registry","fieldBuilders","shape","nestedConfigs","builder","Object","entries","object","optional","nullable"],"sources":["FieldBuilder.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { FieldConfig } from \"./types.js\";\nimport type { IFieldBuilderRegistry } from \"./abstractions.js\";\n\n// Make FieldBuilder return the Zod type it produces\nexport abstract class FieldBuilder<TZod extends z.ZodTypeAny> {\n protected config: Partial<FieldConfig> = {\n validation: []\n };\n protected zodSchema: TZod;\n\n constructor(type: string, initialSchema: TZod) {\n this.config.type = type;\n this.zodSchema = initialSchema;\n }\n\n label(text: string): this {\n this.config.label = text;\n return this;\n }\n\n help(text: string): this {\n this.config.help = text;\n return this;\n }\n\n placeholder(text: string): this {\n this.config.placeholder = text;\n return this;\n }\n\n toConfig(): FieldConfig {\n return {\n fieldId: \"\",\n type: this.config.type!,\n label: this.config.label,\n help: this.config.help,\n placeholder: this.config.placeholder,\n validation: this.config.validation || [],\n settings: this.config.settings || {},\n zodSchema: this.zodSchema\n };\n }\n\n getZodSchema(): TZod {\n return this.zodSchema;\n }\n}\n\n// Text Field Builder - properly track type transformations\nexport class TextFieldBuilder<TZod extends z.ZodString = z.ZodString> extends FieldBuilder<TZod> {\n constructor(schema?: TZod) {\n super(\"text\", (schema || z.string()) as TZod);\n }\n\n required(message?: string): TextFieldBuilder<z.ZodString> {\n const newSchema = (this.zodSchema as z.ZodString).min(1, message || \"Field is required\");\n this.zodSchema = newSchema as any;\n this.config.validation?.push({\n name: \"required\",\n message: message || \"Field is required\",\n settings: {}\n });\n return this as any;\n }\n\n minLength(length: number, message?: string): this {\n this.zodSchema = (this.zodSchema as z.ZodString).min(length, message) as TZod;\n return this;\n }\n\n maxLength(length: number, message?: string): this {\n this.zodSchema = (this.zodSchema as z.ZodString).max(length, message) as TZod;\n return this;\n }\n\n slug(): this {\n this.zodSchema = (this.zodSchema as z.ZodString).regex(\n /^[a-z0-9-]+$/,\n \"Must be a valid slug (lowercase letters, numbers, and hyphens only)\"\n ) as TZod;\n this.config.validation?.push({\n name: \"slug\",\n message: \"Must be a valid slug\",\n settings: {}\n });\n return this;\n }\n\n email(): this {\n this.zodSchema = (this.zodSchema as z.ZodString).email(\"Must be a valid email\") as TZod;\n this.config.validation?.push({\n name: \"email\",\n message: \"Must be a valid email\",\n settings: {}\n });\n return this;\n }\n\n url(): this {\n this.zodSchema = (this.zodSchema as z.ZodString).url(\"Must be a valid URL\") as TZod;\n this.config.validation?.push({\n name: \"url\",\n message: \"Must be a valid URL\",\n settings: {}\n });\n return this;\n }\n\n unique(): this {\n this.config.validation?.push({\n name: \"unique\",\n message: \"Value must be unique\",\n settings: {}\n });\n return this;\n }\n}\n\n// Object Field Builder - track the shape type\nexport class ObjectFieldBuilder<TShape extends z.ZodRawShape> extends FieldBuilder<\n z.ZodObject<TShape>\n> {\n private nestedFields: FieldConfig[] = [];\n\n constructor(\n fields: (registry: IFieldBuilderRegistry) => {\n [K in keyof TShape]: FieldBuilder<TShape[K]>;\n },\n registry: IFieldBuilderRegistry\n ) {\n const fieldBuilders = fields(registry);\n const shape = {} as TShape;\n const nestedConfigs: FieldConfig[] = [];\n\n for (const [fieldId, builder] of Object.entries(fieldBuilders) as Array<\n [keyof TShape, FieldBuilder<any>]\n >) {\n const config = builder.toConfig();\n config.fieldId = fieldId as string;\n nestedConfigs.push(config);\n shape[fieldId] = builder.getZodSchema() as TShape[keyof TShape];\n }\n\n super(\"object\", z.object(shape));\n this.nestedFields = nestedConfigs;\n this.config.fields = nestedConfigs;\n }\n\n optional(): ObjectFieldBuilder<TShape> & {\n getZodSchema(): z.ZodOptional<z.ZodObject<TShape>>;\n } {\n this.zodSchema = this.zodSchema.optional() as any;\n return this as any;\n }\n\n nullable(): ObjectFieldBuilder<TShape> & {\n getZodSchema(): z.ZodNullable<z.ZodObject<TShape>>;\n } {\n this.zodSchema = this.zodSchema.nullable() as any;\n return this as any;\n }\n\n override toConfig(): FieldConfig {\n const config = super.toConfig();\n config.fields = this.nestedFields;\n return config;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,7 +41,7 @@ export interface ITextFieldBuilder extends FieldBuilder<z.ZodString> {
|
|
|
41
41
|
email(): this;
|
|
42
42
|
url(): this;
|
|
43
43
|
unique(): this;
|
|
44
|
-
|
|
44
|
+
help(text: string): this;
|
|
45
45
|
placeholder(text: string): this;
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -219,7 +219,7 @@ export interface IColorFieldBuilder extends FieldBuilder<z.ZodString> {
|
|
|
219
219
|
default(hex: string): this;
|
|
220
220
|
allowAlpha(): this;
|
|
221
221
|
palette(colors: string[]): this;
|
|
222
|
-
|
|
222
|
+
help(text: string): this;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
class ColorFieldBuilder extends FieldBuilder<z.ZodString> implements IColorFieldBuilder {
|
package/models/cms/types.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ export interface FieldConfig {
|
|
|
6
6
|
fieldId: string;
|
|
7
7
|
type: string;
|
|
8
8
|
label?: string;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
help?: string;
|
|
10
|
+
placeholder?: string;
|
|
11
11
|
validation?: ValidationRule[];
|
|
12
12
|
settings?: Record<string, any>;
|
|
13
13
|
zodSchema: z.ZodTypeAny;
|
package/models/cms/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { ModelClass } from \"~/models/base/ModelBuilder.js\";\nimport type { BaseModel } from \"~/models/base/BaseModel.js\";\nimport type { IModelData } from \"~/models/base/abstractions.js\";\n\nexport interface FieldConfig {\n fieldId: string;\n type: string;\n label?: string;\n
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { ModelClass } from \"~/models/base/ModelBuilder.js\";\nimport type { BaseModel } from \"~/models/base/BaseModel.js\";\nimport type { IModelData } from \"~/models/base/abstractions.js\";\n\nexport interface FieldConfig {\n fieldId: string;\n type: string;\n label?: string;\n help?: string;\n placeholder?: string;\n validation?: ValidationRule[];\n settings?: Record<string, any>;\n zodSchema: z.ZodTypeAny;\n fields?: FieldConfig[]; // For nested object fields\n}\n\nexport interface ValidationRule {\n name: string;\n message: string;\n settings: Record<string, any>;\n}\n\nexport interface CmsModelMetadata {\n icon?: string;\n description?: string;\n titleFieldId?: string;\n descriptionFieldId?: string;\n imageFieldId?: string;\n tags?: string[];\n}\n\n// Make PrivateCmsModel generic!\nexport interface PrivateCmsModel<TModel extends BaseModel<any>> {\n type: \"private\";\n modelType: \"private\";\n Model: ModelClass<TModel>;\n modelId: string;\n name: string;\n icon?: string;\n description?: string;\n fields: FieldConfig[];\n schema: TModel[\"__schema\"];\n create: (data: IModelData<TModel>) => TModel;\n}\n\nexport interface FieldBuilderConfig {\n fieldId: string;\n config: FieldConfig;\n zodSchema: z.ZodTypeAny;\n}\n"],"mappings":"","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-core",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.df7a8bb475",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -57,17 +57,17 @@
|
|
|
57
57
|
},
|
|
58
58
|
"license": "MIT",
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@webiny/api": "0.0.0-unstable.
|
|
60
|
+
"@webiny/api": "0.0.0-unstable.df7a8bb475",
|
|
61
61
|
"@webiny/di": "0.2.3",
|
|
62
|
-
"@webiny/error": "0.0.0-unstable.
|
|
63
|
-
"@webiny/feature": "0.0.0-unstable.
|
|
64
|
-
"@webiny/handler": "0.0.0-unstable.
|
|
65
|
-
"@webiny/handler-db": "0.0.0-unstable.
|
|
66
|
-
"@webiny/handler-graphql": "0.0.0-unstable.
|
|
67
|
-
"@webiny/plugins": "0.0.0-unstable.
|
|
68
|
-
"@webiny/project": "0.0.0-unstable.
|
|
69
|
-
"@webiny/utils": "0.0.0-unstable.
|
|
70
|
-
"@webiny/wcp": "0.0.0-unstable.
|
|
62
|
+
"@webiny/error": "0.0.0-unstable.df7a8bb475",
|
|
63
|
+
"@webiny/feature": "0.0.0-unstable.df7a8bb475",
|
|
64
|
+
"@webiny/handler": "0.0.0-unstable.df7a8bb475",
|
|
65
|
+
"@webiny/handler-db": "0.0.0-unstable.df7a8bb475",
|
|
66
|
+
"@webiny/handler-graphql": "0.0.0-unstable.df7a8bb475",
|
|
67
|
+
"@webiny/plugins": "0.0.0-unstable.df7a8bb475",
|
|
68
|
+
"@webiny/project": "0.0.0-unstable.df7a8bb475",
|
|
69
|
+
"@webiny/utils": "0.0.0-unstable.df7a8bb475",
|
|
70
|
+
"@webiny/wcp": "0.0.0-unstable.df7a8bb475",
|
|
71
71
|
"dataloader": "2.2.3",
|
|
72
72
|
"jose": "5.10.0",
|
|
73
73
|
"jsonwebtoken": "9.0.3",
|
|
@@ -81,12 +81,12 @@
|
|
|
81
81
|
"devDependencies": {
|
|
82
82
|
"@types/jsonwebtoken": "9.0.10",
|
|
83
83
|
"@types/md5": "2.3.6",
|
|
84
|
-
"@webiny/build-tools": "0.0.0-unstable.
|
|
85
|
-
"@webiny/db-dynamodb": "0.0.0-unstable.
|
|
86
|
-
"@webiny/handler-aws": "0.0.0-unstable.
|
|
87
|
-
"@webiny/project-utils": "0.0.0-unstable.
|
|
84
|
+
"@webiny/build-tools": "0.0.0-unstable.df7a8bb475",
|
|
85
|
+
"@webiny/db-dynamodb": "0.0.0-unstable.df7a8bb475",
|
|
86
|
+
"@webiny/handler-aws": "0.0.0-unstable.df7a8bb475",
|
|
87
|
+
"@webiny/project-utils": "0.0.0-unstable.df7a8bb475",
|
|
88
88
|
"jest-dynalite": "3.6.1",
|
|
89
|
-
"rimraf": "6.1.
|
|
89
|
+
"rimraf": "6.1.3",
|
|
90
90
|
"typescript": "5.9.3",
|
|
91
91
|
"vitest": "3.2.4"
|
|
92
92
|
},
|
|
@@ -94,5 +94,5 @@
|
|
|
94
94
|
"access": "public",
|
|
95
95
|
"directory": "dist"
|
|
96
96
|
},
|
|
97
|
-
"gitHead": "
|
|
97
|
+
"gitHead": "df7a8bb4755a1da047f0af8c56bdb649cc81bf7d"
|
|
98
98
|
}
|