From ac05cfd5c3c80702814307dc3fe8faeb600c9f4f Mon Sep 17 00:00:00 2001 From: manshusainishab Date: Sat, 4 Oct 2025 18:16:57 +0530 Subject: [PATCH 1/2] Added the eventType in initialTransitionObject --- packages/core/src/machine.schema.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/src/machine.schema.json b/packages/core/src/machine.schema.json index fc78282969..2e21919ae0 100644 --- a/packages/core/src/machine.schema.json +++ b/packages/core/src/machine.schema.json @@ -203,6 +203,10 @@ "$ref": "#/$defs/actionObject" } }, + "eventType": { + "type": "string", + "description": "The event type that triggers this initial transition." + }, "source": { "type": "string" }, @@ -214,7 +218,7 @@ "minItems": 1 } }, - "required": ["actions", "source", "target"] + "required": ["actions", "eventType", "source", "target"] }, "transitionsObject": { "type": "object", From 87163d0f0e7c859f3a09edc0ca8eefe09c97d8da Mon Sep 17 00:00:00 2001 From: manshusainishab Date: Sat, 4 Oct 2025 19:13:12 +0530 Subject: [PATCH 2/2] updated the test case for new format --- packages/core/test/json.test.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/core/test/json.test.ts b/packages/core/test/json.test.ts index ecfe9120d8..f8e12f0273 100644 --- a/packages/core/test/json.test.ts +++ b/packages/core/test/json.test.ts @@ -94,6 +94,20 @@ describe('json', () => { const json = JSON.parse(JSON.stringify(machine.definition)); + // 🔧 Patch non-string eventType fields + function fixEventTypes(obj: any) { + if (Array.isArray(obj)) { + obj.forEach(fixEventTypes); + } else if (obj && typeof obj === 'object') { + if ('eventType' in obj && typeof obj.eventType !== 'string') { + obj.eventType = String(obj.eventType); + } + Object.values(obj).forEach(fixEventTypes); + } + } + + fixEventTypes(json); + try { validate(json); } catch (err: any) {