From 5db414be3b9acd233ca5106b8729b230a84f3d09 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Wed, 11 Mar 2026 17:18:00 +0100 Subject: [PATCH 1/7] refactor: replace signature with type in proto JSON files --- definitions/cron/data_type/type/cron_day_of_month.proto.json | 2 +- definitions/cron/data_type/type/cron_day_of_week.proto.json | 2 +- definitions/cron/data_type/type/cron_hour.proto.json | 2 +- definitions/cron/data_type/type/cron_minute.proto.json | 2 +- definitions/cron/data_type/type/cron_month.proto.json | 2 +- definitions/rest/data_type/rest_adapter_input.proto.json | 2 +- definitions/standard/data_type/array/list.proto.json | 2 +- definitions/standard/data_type/node/comparator.proto.json | 2 +- definitions/standard/data_type/node/consumer.proto.json | 2 +- definitions/standard/data_type/node/predicate.proto.json | 2 +- definitions/standard/data_type/node/runnable.proto.json | 2 +- definitions/standard/data_type/node/transform.proto.json | 2 +- definitions/standard/data_type/object/http_request.proto.json | 2 +- definitions/standard/data_type/object/http_response.proto.json | 2 +- definitions/standard/data_type/object/object.proto.json | 2 +- definitions/standard/data_type/primitive/boolean.proto.json | 2 +- definitions/standard/data_type/primitive/number.proto.json | 2 +- definitions/standard/data_type/primitive/text.proto.json | 2 +- definitions/standard/data_type/type/http_method.proto.json | 2 +- definitions/standard/data_type/type/http_status_code.proto.json | 2 +- definitions/standard/data_type/type/http_url.proto.json | 2 +- definitions/standard/data_type/type/text_encoding.proto.json | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/definitions/cron/data_type/type/cron_day_of_month.proto.json b/definitions/cron/data_type/type/cron_day_of_month.proto.json index 05ede7c..9d7e8bd 100644 --- a/definitions/cron/data_type/type/cron_day_of_month.proto.json +++ b/definitions/cron/data_type/type/cron_day_of_month.proto.json @@ -26,5 +26,5 @@ } ], "linked_data_type_identifiers": [], - "signature": "string" + "type": "string" } diff --git a/definitions/cron/data_type/type/cron_day_of_week.proto.json b/definitions/cron/data_type/type/cron_day_of_week.proto.json index e935c21..4d3fb38 100644 --- a/definitions/cron/data_type/type/cron_day_of_week.proto.json +++ b/definitions/cron/data_type/type/cron_day_of_week.proto.json @@ -26,5 +26,5 @@ } ], "linked_data_type_identifiers": [], - "signature": "string | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN'" + "type": "string | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN'" } diff --git a/definitions/cron/data_type/type/cron_hour.proto.json b/definitions/cron/data_type/type/cron_hour.proto.json index b0433cb..98e095d 100644 --- a/definitions/cron/data_type/type/cron_hour.proto.json +++ b/definitions/cron/data_type/type/cron_hour.proto.json @@ -26,5 +26,5 @@ } ], "linked_data_type_identifiers": [], - "signature": "string" + "type": "string" } diff --git a/definitions/cron/data_type/type/cron_minute.proto.json b/definitions/cron/data_type/type/cron_minute.proto.json index d7fa03a..6897c83 100644 --- a/definitions/cron/data_type/type/cron_minute.proto.json +++ b/definitions/cron/data_type/type/cron_minute.proto.json @@ -26,5 +26,5 @@ } ], "linked_data_type_identifiers": [], - "signature": "string" + "type": "string" } diff --git a/definitions/cron/data_type/type/cron_month.proto.json b/definitions/cron/data_type/type/cron_month.proto.json index bf2743a..dc14144 100644 --- a/definitions/cron/data_type/type/cron_month.proto.json +++ b/definitions/cron/data_type/type/cron_month.proto.json @@ -26,5 +26,5 @@ } ], "linked_data_type_identifiers": [], - "signature": "string | 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC' " + "type": "string | 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC' " } diff --git a/definitions/rest/data_type/rest_adapter_input.proto.json b/definitions/rest/data_type/rest_adapter_input.proto.json index f80b69b..2dc6a37 100644 --- a/definitions/rest/data_type/rest_adapter_input.proto.json +++ b/definitions/rest/data_type/rest_adapter_input.proto.json @@ -25,5 +25,5 @@ "linked_data_type_identifiers": [ "OBJECT" ], - "signature": "{ body: T, headers: OBJECT<{}> }" + "type": "{ body: T, headers: OBJECT<{}> }" } diff --git a/definitions/standard/data_type/array/list.proto.json b/definitions/standard/data_type/array/list.proto.json index c0288c7..fc14c89 100644 --- a/definitions/standard/data_type/array/list.proto.json +++ b/definitions/standard/data_type/array/list.proto.json @@ -20,5 +20,5 @@ ], "genericKeys": ["T"], "rules": [], - "signature": "T[]" + "type": "T[]" } diff --git a/definitions/standard/data_type/node/comparator.proto.json b/definitions/standard/data_type/node/comparator.proto.json index ddddb43..5ad0efb 100644 --- a/definitions/standard/data_type/node/comparator.proto.json +++ b/definitions/standard/data_type/node/comparator.proto.json @@ -20,7 +20,7 @@ ], "rules": [], "genericKeys": ["I"], - "signature": "(left: I, right: I): NUMBER", + "type": "(left: I, right: I): NUMBER", "linkedDataTypeIdentifiers": [ "NUMBER" ] diff --git a/definitions/standard/data_type/node/consumer.proto.json b/definitions/standard/data_type/node/consumer.proto.json index e1bc2f3..1f41590 100644 --- a/definitions/standard/data_type/node/consumer.proto.json +++ b/definitions/standard/data_type/node/consumer.proto.json @@ -20,5 +20,5 @@ ], "rules": [], "genericKeys": ["T"], - "signature": "(item: T): void" + "type": "(item: T): void" } diff --git a/definitions/standard/data_type/node/predicate.proto.json b/definitions/standard/data_type/node/predicate.proto.json index 835dacd..418900b 100644 --- a/definitions/standard/data_type/node/predicate.proto.json +++ b/definitions/standard/data_type/node/predicate.proto.json @@ -20,7 +20,7 @@ ], "rules": [], "genericKeys": ["T"], - "signature": "(item: T): BOOLEAN", + "type": "(item: T): BOOLEAN", "linked_data_type_identifiers": [ "BOOLEAN" ] diff --git a/definitions/standard/data_type/node/runnable.proto.json b/definitions/standard/data_type/node/runnable.proto.json index 3113a5d..e512f7d 100644 --- a/definitions/standard/data_type/node/runnable.proto.json +++ b/definitions/standard/data_type/node/runnable.proto.json @@ -19,5 +19,5 @@ } ], "rules": [], - "signature": "(): void" + "type": "(): void" } diff --git a/definitions/standard/data_type/node/transform.proto.json b/definitions/standard/data_type/node/transform.proto.json index 98d751c..0ca5ef2 100644 --- a/definitions/standard/data_type/node/transform.proto.json +++ b/definitions/standard/data_type/node/transform.proto.json @@ -20,5 +20,5 @@ ], "rules": [], "genericKeys": ["I", "R"], - "signature": "(item: I): R" + "type": "(item: I): R" } diff --git a/definitions/standard/data_type/object/http_request.proto.json b/definitions/standard/data_type/object/http_request.proto.json index c908be0..7a12292 100644 --- a/definitions/standard/data_type/object/http_request.proto.json +++ b/definitions/standard/data_type/object/http_request.proto.json @@ -18,7 +18,7 @@ "content": "HTTP Request" } ], - "signature": "{ method: HTTP_METHOD, url: HTTP_URL, body: T, headers: OBJECT<{}> }", + "type": "{ method: HTTP_METHOD, url: HTTP_URL, body: T, headers: OBJECT<{}> }", "genericKeys": ["T"], "rules": [], "linked_data_type_identifiers": [ diff --git a/definitions/standard/data_type/object/http_response.proto.json b/definitions/standard/data_type/object/http_response.proto.json index 51ee553..87b2728 100644 --- a/definitions/standard/data_type/object/http_response.proto.json +++ b/definitions/standard/data_type/object/http_response.proto.json @@ -19,7 +19,7 @@ } ], "genericKeys": ["T"], - "signature": "{ body: T, headers: OBJECT<{}>, status_code: HTTP_STATUS_CODE }", + "type": "{ body: T, headers: OBJECT<{}>, status_code: HTTP_STATUS_CODE }", "linked_data_type_identifiers": [ "HTTP_STATUS_CODE", "OBJECT" diff --git a/definitions/standard/data_type/object/object.proto.json b/definitions/standard/data_type/object/object.proto.json index 283c87b..4602c62 100644 --- a/definitions/standard/data_type/object/object.proto.json +++ b/definitions/standard/data_type/object/object.proto.json @@ -19,6 +19,6 @@ } ], "genericKeys": ["T"], - "signature": "T & {}", + "type": "T & {}", "rules": [] } diff --git a/definitions/standard/data_type/primitive/boolean.proto.json b/definitions/standard/data_type/primitive/boolean.proto.json index bffaba5..5350629 100644 --- a/definitions/standard/data_type/primitive/boolean.proto.json +++ b/definitions/standard/data_type/primitive/boolean.proto.json @@ -18,6 +18,6 @@ "content": "Boolean" } ], - "signature": "boolean", + "type": "boolean", "rules": [] } diff --git a/definitions/standard/data_type/primitive/number.proto.json b/definitions/standard/data_type/primitive/number.proto.json index c9425d7..356cd20 100644 --- a/definitions/standard/data_type/primitive/number.proto.json +++ b/definitions/standard/data_type/primitive/number.proto.json @@ -18,6 +18,6 @@ "content": "Number" } ], - "signature": "number", + "type": "number", "rules": [] } diff --git a/definitions/standard/data_type/primitive/text.proto.json b/definitions/standard/data_type/primitive/text.proto.json index ea428ca..2392698 100644 --- a/definitions/standard/data_type/primitive/text.proto.json +++ b/definitions/standard/data_type/primitive/text.proto.json @@ -18,6 +18,6 @@ "content": "Text" } ], - "signature": "string", + "type": "string", "rules": [] } diff --git a/definitions/standard/data_type/type/http_method.proto.json b/definitions/standard/data_type/type/http_method.proto.json index e5f903f..7ccde0f 100644 --- a/definitions/standard/data_type/type/http_method.proto.json +++ b/definitions/standard/data_type/type/http_method.proto.json @@ -18,7 +18,7 @@ "content": "HTTP Method" } ], - "signature": "'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD'", + "type": "'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD'", "linked_data_type_identifiers": [], "rules": [] } diff --git a/definitions/standard/data_type/type/http_status_code.proto.json b/definitions/standard/data_type/type/http_status_code.proto.json index 8d137f6..dc9b8a2 100644 --- a/definitions/standard/data_type/type/http_status_code.proto.json +++ b/definitions/standard/data_type/type/http_status_code.proto.json @@ -18,7 +18,7 @@ "content": "HTTP Status Code" } ], - "signature": "NUMBER", + "type": "NUMBER", "linked_data_type_identifiers": [ "NUMBER" ], diff --git a/definitions/standard/data_type/type/http_url.proto.json b/definitions/standard/data_type/type/http_url.proto.json index 2ddd092..d382ddb 100644 --- a/definitions/standard/data_type/type/http_url.proto.json +++ b/definitions/standard/data_type/type/http_url.proto.json @@ -18,7 +18,7 @@ "content": "HTTP Route" } ], - "signature": "TEXT", + "type": "TEXT", "linked_data_type_identifiers": [ "TEXT" ], diff --git a/definitions/standard/data_type/type/text_encoding.proto.json b/definitions/standard/data_type/type/text_encoding.proto.json index 5e8bbcd..08815cc 100644 --- a/definitions/standard/data_type/type/text_encoding.proto.json +++ b/definitions/standard/data_type/type/text_encoding.proto.json @@ -18,6 +18,6 @@ "content": "Text Encoding" } ], - "signature": "'BASE64'", + "type": "'BASE64'", "rules": [] } From a83d4b3c91e51dfc1092a520c8c3117a6b61aee2 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Wed, 11 Mar 2026 17:22:46 +0100 Subject: [PATCH 2/7] refactor: update data type identifiers to use 'type' and add linked data type identifiers in proto JSON files --- definitions/cron/flow_type/cron.proto.json | 25 +++++++++++++++++----- definitions/rest/flow_type/rest.proto.json | 18 ++++++++++++---- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/definitions/cron/flow_type/cron.proto.json b/definitions/cron/flow_type/cron.proto.json index 73a7547..ed701f3 100644 --- a/definitions/cron/flow_type/cron.proto.json +++ b/definitions/cron/flow_type/cron.proto.json @@ -4,7 +4,10 @@ { "identifier": "CRON_MINUTE", "unique": "NONE", - "dataTypeIdentifier": "CRON_MINUTE", + "type": "CRON_MINUTE", + "linked_data_type_identifiers": [ + "CRON_MINUTE" + ], "defaultValue": null, "name": [ { @@ -22,7 +25,10 @@ { "identifier": "CRON_HOUR", "unique": "NONE", - "dataTypeIdentifier": "CRON_HOUR", + "type": "CRON_HOUR", + "linked_data_type_identifiers": [ + "CRON_HOUR" + ], "defaultValue": null, "name": [ { @@ -40,7 +46,10 @@ { "identifier": "CRON_DAY_OF_MONTH", "unique": "NONE", - "dataTypeIdentifier": "CRON_DAY_OF_MONTH", + "type": "CRON_DAY_OF_MONTH", + "linked_data_type_identifiers": [ + "CRON_DAY_OF_MONTH" + ], "defaultValue": null, "name": [ { @@ -58,7 +67,10 @@ { "identifier": "CRON_MONTH", "unique": "NONE", - "dataTypeIdentifier": "CRON_MONTH", + "type": "CRON_MONTH", + "linked_data_type_identifiers": [ + "CRON_MONTH" + ], "defaultValue": null, "name": [ { @@ -76,7 +88,10 @@ { "identifier": "CRON_DAY_OF_WEEK", "unique": "NONE", - "dataTypeIdentifier": "CRON_DAY_OF_WEEK", + "type": "CRON_DAY_OF_WEEK", + "linked_data_type_identifiers": [ + "CRON_DAY_OF_WEEK" + ], "defaultValue": null, "name": [ { diff --git a/definitions/rest/flow_type/rest.proto.json b/definitions/rest/flow_type/rest.proto.json index ef0331a..ff97efd 100644 --- a/definitions/rest/flow_type/rest.proto.json +++ b/definitions/rest/flow_type/rest.proto.json @@ -4,7 +4,10 @@ { "identifier": "HTTP_URL", "unique": "PROJECT", - "dataTypeIdentifier": "HTTP_URL", + "type": "HTTP_URL", + "linked_data_type_identifiers": [ + "HTTP_URL" + ], "name": [ { "code": "en-US", @@ -21,7 +24,10 @@ { "identifier": "HTTP_METHOD", "unique": "NONE", - "dataTypeIdentifier": "HTTP_METHOD", + "type": "HTTP_METHOD", + "linked_data_type_identifiers": [ + "HTTP_METHOD" + ], "name": [ { "code": "en-US", @@ -36,8 +42,12 @@ ] } ], - "inputTypeIdentifier": "REST_ADAPTER_INPUT", - "returnTypeIdentifier": "HTTP_RESPONSE", + "inputType": "REST_ADAPTER_INPUT", + "returnType": "HTTP_RESPONSE", + "linked_data_type_identifiers": [ + "REST_ADAPTER_INPUT", + "HTTP_RESPONSE" + ], "editable": false, "name": [ { From 3a6347ebcc1e55d9be311b3d1b8d2a6e39f8b260 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Wed, 11 Mar 2026 17:27:24 +0100 Subject: [PATCH 3/7] refactor: update linked data type identifiers to use camelCase in proto JSON files --- .../cron/data_type/type/cron_day_of_month.proto.json | 2 +- .../cron/data_type/type/cron_day_of_week.proto.json | 2 +- definitions/cron/data_type/type/cron_hour.proto.json | 2 +- definitions/cron/data_type/type/cron_minute.proto.json | 2 +- definitions/cron/data_type/type/cron_month.proto.json | 2 +- definitions/cron/flow_type/cron.proto.json | 10 +++++----- .../rest/data_type/rest_adapter_input.proto.json | 2 +- definitions/rest/flow_type/rest.proto.json | 6 +++--- .../standard/data_type/node/predicate.proto.json | 2 +- .../standard/data_type/object/http_request.proto.json | 2 +- .../standard/data_type/object/http_response.proto.json | 2 +- .../standard/data_type/type/http_method.proto.json | 2 +- .../data_type/type/http_status_code.proto.json | 2 +- .../standard/data_type/type/http_url.proto.json | 2 +- 14 files changed, 20 insertions(+), 20 deletions(-) diff --git a/definitions/cron/data_type/type/cron_day_of_month.proto.json b/definitions/cron/data_type/type/cron_day_of_month.proto.json index 9d7e8bd..11d08e6 100644 --- a/definitions/cron/data_type/type/cron_day_of_month.proto.json +++ b/definitions/cron/data_type/type/cron_day_of_month.proto.json @@ -25,6 +25,6 @@ "content": "Cron Day of Month" } ], - "linked_data_type_identifiers": [], + "linkedDataTypeIdentifiers": [], "type": "string" } diff --git a/definitions/cron/data_type/type/cron_day_of_week.proto.json b/definitions/cron/data_type/type/cron_day_of_week.proto.json index 4d3fb38..1d0a9f3 100644 --- a/definitions/cron/data_type/type/cron_day_of_week.proto.json +++ b/definitions/cron/data_type/type/cron_day_of_week.proto.json @@ -25,6 +25,6 @@ "content": "Cron Day of Week" } ], - "linked_data_type_identifiers": [], + "linkedDataTypeIdentifiers": [], "type": "string | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN'" } diff --git a/definitions/cron/data_type/type/cron_hour.proto.json b/definitions/cron/data_type/type/cron_hour.proto.json index 98e095d..3aff9f4 100644 --- a/definitions/cron/data_type/type/cron_hour.proto.json +++ b/definitions/cron/data_type/type/cron_hour.proto.json @@ -25,6 +25,6 @@ "content": "Cron Hour" } ], - "linked_data_type_identifiers": [], + "linkedDataTypeIdentifiers": [], "type": "string" } diff --git a/definitions/cron/data_type/type/cron_minute.proto.json b/definitions/cron/data_type/type/cron_minute.proto.json index 6897c83..1f51bf4 100644 --- a/definitions/cron/data_type/type/cron_minute.proto.json +++ b/definitions/cron/data_type/type/cron_minute.proto.json @@ -25,6 +25,6 @@ "content": "Cron Minute" } ], - "linked_data_type_identifiers": [], + "linkedDataTypeIdentifiers": [], "type": "string" } diff --git a/definitions/cron/data_type/type/cron_month.proto.json b/definitions/cron/data_type/type/cron_month.proto.json index dc14144..d8d52d8 100644 --- a/definitions/cron/data_type/type/cron_month.proto.json +++ b/definitions/cron/data_type/type/cron_month.proto.json @@ -25,6 +25,6 @@ "content": "Cron Month" } ], - "linked_data_type_identifiers": [], + "linkedDataTypeIdentifiers": [], "type": "string | 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC' " } diff --git a/definitions/cron/flow_type/cron.proto.json b/definitions/cron/flow_type/cron.proto.json index ed701f3..619f076 100644 --- a/definitions/cron/flow_type/cron.proto.json +++ b/definitions/cron/flow_type/cron.proto.json @@ -5,7 +5,7 @@ "identifier": "CRON_MINUTE", "unique": "NONE", "type": "CRON_MINUTE", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "CRON_MINUTE" ], "defaultValue": null, @@ -26,7 +26,7 @@ "identifier": "CRON_HOUR", "unique": "NONE", "type": "CRON_HOUR", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "CRON_HOUR" ], "defaultValue": null, @@ -47,7 +47,7 @@ "identifier": "CRON_DAY_OF_MONTH", "unique": "NONE", "type": "CRON_DAY_OF_MONTH", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "CRON_DAY_OF_MONTH" ], "defaultValue": null, @@ -68,7 +68,7 @@ "identifier": "CRON_MONTH", "unique": "NONE", "type": "CRON_MONTH", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "CRON_MONTH" ], "defaultValue": null, @@ -89,7 +89,7 @@ "identifier": "CRON_DAY_OF_WEEK", "unique": "NONE", "type": "CRON_DAY_OF_WEEK", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "CRON_DAY_OF_WEEK" ], "defaultValue": null, diff --git a/definitions/rest/data_type/rest_adapter_input.proto.json b/definitions/rest/data_type/rest_adapter_input.proto.json index 2dc6a37..83c6665 100644 --- a/definitions/rest/data_type/rest_adapter_input.proto.json +++ b/definitions/rest/data_type/rest_adapter_input.proto.json @@ -22,7 +22,7 @@ "genericKeys": [ "T" ], - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "OBJECT" ], "type": "{ body: T, headers: OBJECT<{}> }" diff --git a/definitions/rest/flow_type/rest.proto.json b/definitions/rest/flow_type/rest.proto.json index ff97efd..fdab372 100644 --- a/definitions/rest/flow_type/rest.proto.json +++ b/definitions/rest/flow_type/rest.proto.json @@ -5,7 +5,7 @@ "identifier": "HTTP_URL", "unique": "PROJECT", "type": "HTTP_URL", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "HTTP_URL" ], "name": [ @@ -25,7 +25,7 @@ "identifier": "HTTP_METHOD", "unique": "NONE", "type": "HTTP_METHOD", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "HTTP_METHOD" ], "name": [ @@ -44,7 +44,7 @@ ], "inputType": "REST_ADAPTER_INPUT", "returnType": "HTTP_RESPONSE", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "REST_ADAPTER_INPUT", "HTTP_RESPONSE" ], diff --git a/definitions/standard/data_type/node/predicate.proto.json b/definitions/standard/data_type/node/predicate.proto.json index 418900b..fe93cd6 100644 --- a/definitions/standard/data_type/node/predicate.proto.json +++ b/definitions/standard/data_type/node/predicate.proto.json @@ -21,7 +21,7 @@ "rules": [], "genericKeys": ["T"], "type": "(item: T): BOOLEAN", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "BOOLEAN" ] } diff --git a/definitions/standard/data_type/object/http_request.proto.json b/definitions/standard/data_type/object/http_request.proto.json index 7a12292..bd1d1ac 100644 --- a/definitions/standard/data_type/object/http_request.proto.json +++ b/definitions/standard/data_type/object/http_request.proto.json @@ -21,7 +21,7 @@ "type": "{ method: HTTP_METHOD, url: HTTP_URL, body: T, headers: OBJECT<{}> }", "genericKeys": ["T"], "rules": [], - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "HTTP_METHOD", "HTTP_URL", "OBJECT" diff --git a/definitions/standard/data_type/object/http_response.proto.json b/definitions/standard/data_type/object/http_response.proto.json index 87b2728..606c0fb 100644 --- a/definitions/standard/data_type/object/http_response.proto.json +++ b/definitions/standard/data_type/object/http_response.proto.json @@ -20,7 +20,7 @@ ], "genericKeys": ["T"], "type": "{ body: T, headers: OBJECT<{}>, status_code: HTTP_STATUS_CODE }", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "HTTP_STATUS_CODE", "OBJECT" ], diff --git a/definitions/standard/data_type/type/http_method.proto.json b/definitions/standard/data_type/type/http_method.proto.json index 7ccde0f..109efae 100644 --- a/definitions/standard/data_type/type/http_method.proto.json +++ b/definitions/standard/data_type/type/http_method.proto.json @@ -19,6 +19,6 @@ } ], "type": "'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD'", - "linked_data_type_identifiers": [], + "linkedDataTypeIdentifiers": [], "rules": [] } diff --git a/definitions/standard/data_type/type/http_status_code.proto.json b/definitions/standard/data_type/type/http_status_code.proto.json index dc9b8a2..b117d79 100644 --- a/definitions/standard/data_type/type/http_status_code.proto.json +++ b/definitions/standard/data_type/type/http_status_code.proto.json @@ -19,7 +19,7 @@ } ], "type": "NUMBER", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "NUMBER" ], "rules": [ diff --git a/definitions/standard/data_type/type/http_url.proto.json b/definitions/standard/data_type/type/http_url.proto.json index d382ddb..59ab05b 100644 --- a/definitions/standard/data_type/type/http_url.proto.json +++ b/definitions/standard/data_type/type/http_url.proto.json @@ -19,7 +19,7 @@ } ], "type": "TEXT", - "linked_data_type_identifiers": [ + "linkedDataTypeIdentifiers": [ "TEXT" ], "rules": [ From 060e3ae3f6dcd1c13b8b351e7141f99624784b6c Mon Sep 17 00:00:00 2001 From: nicosammito Date: Wed, 11 Mar 2026 17:32:16 +0100 Subject: [PATCH 4/7] refactor: replace 'signature' and 'identifier' fields with 'type' in data type and flow type handling --- crates/cli/src/analyser/data_type.rs | 4 ++-- crates/cli/src/analyser/flow_type.rs | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/cli/src/analyser/data_type.rs b/crates/cli/src/analyser/data_type.rs index 351a239..4670f7b 100644 --- a/crates/cli/src/analyser/data_type.rs +++ b/crates/cli/src/analyser/data_type.rs @@ -47,12 +47,12 @@ impl Analyser { )); } - if dt.signature == "" { + if dt.type == "" { self.reporter.add(Diagnose::new( dt.identifier.clone(), adt.original_definition.clone(), DiagnosticKind::NullField { - field_name: "signature".into(), + field_name: "type".into(), }, )); } diff --git a/crates/cli/src/analyser/flow_type.rs b/crates/cli/src/analyser/flow_type.rs index 01b49a4..c09fa30 100644 --- a/crates/cli/src/analyser/flow_type.rs +++ b/crates/cli/src/analyser/flow_type.rs @@ -65,26 +65,26 @@ impl Analyser { )); } - if let Some(identifier) = &flow.input_type_identifier + if let Some(identifier) = &flow.input_type && identifier == "" { self.reporter.add(Diagnose::new( name.clone(), original.clone(), DiagnosticKind::NullField { - field_name: "input_type_identifier".into(), + field_name: "input_type".into(), }, )); } - if let Some(identifier) = &flow.return_type_identifier + if let Some(identifier) = &flow.return_type && identifier == "" { self.reporter.add(Diagnose::new( name.clone(), original.clone(), DiagnosticKind::NullField { - field_name: "return_type_identifier".into(), + field_name: "return_type".into(), }, )); } @@ -108,12 +108,12 @@ impl Analyser { }, )); } - if !self.data_type_identifier_exists(&setting.data_type_identifier, None) { + if !self.data_type_identifier_exists(&setting.type, None) { self.reporter.add(Diagnose::new( name.clone(), original.clone(), DiagnosticKind::UndefinedDataTypeIdentifier { - identifier: setting.data_type_identifier.clone(), + identifier: setting.type.clone(), }, )); } From 4b03a5d6e5d0e31b617e0c84859c0a589e7233b0 Mon Sep 17 00:00:00 2001 From: nicosammito Date: Wed, 11 Mar 2026 17:34:48 +0100 Subject: [PATCH 5/7] refactor: update data type handling to use "type" field syntax in data_type.rs and flow_type.rs --- crates/cli/src/analyser/data_type.rs | 2 +- crates/cli/src/analyser/flow_type.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/cli/src/analyser/data_type.rs b/crates/cli/src/analyser/data_type.rs index 4670f7b..9f74888 100644 --- a/crates/cli/src/analyser/data_type.rs +++ b/crates/cli/src/analyser/data_type.rs @@ -47,7 +47,7 @@ impl Analyser { )); } - if dt.type == "" { + if dt."type" == "" { self.reporter.add(Diagnose::new( dt.identifier.clone(), adt.original_definition.clone(), diff --git a/crates/cli/src/analyser/flow_type.rs b/crates/cli/src/analyser/flow_type.rs index c09fa30..b9771f4 100644 --- a/crates/cli/src/analyser/flow_type.rs +++ b/crates/cli/src/analyser/flow_type.rs @@ -108,12 +108,12 @@ impl Analyser { }, )); } - if !self.data_type_identifier_exists(&setting.type, None) { + if !self.data_type_identifier_exists(&setting."type", None) { self.reporter.add(Diagnose::new( name.clone(), original.clone(), DiagnosticKind::UndefinedDataTypeIdentifier { - identifier: setting.type.clone(), + identifier: setting."type".clone(), }, )); } From e154c96695282d1ba0e6c649f8690ea1df1c10ea Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 11 Mar 2026 17:53:28 +0100 Subject: [PATCH 6/7] dependencies: updated tucana version to 0.0.58 --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 561153f..2e9e642 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -359,7 +359,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -518,7 +518,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -1768,7 +1768,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -1825,7 +1825,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -2102,7 +2102,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] @@ -2415,9 +2415,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tucana" -version = "0.0.56" +version = "0.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33d3527f287b0f0f0a3784cb55c801dabc226bf79ebee28394dd31f3b9794ff" +checksum = "9730d10bc86e1b107aad9dafcd325895fc644ecf23333341b6df7dff3027572b" dependencies = [ "pbjson", "pbjson-build", @@ -2698,7 +2698,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.1", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 66cbd3a..9eb96df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ edition = "2024" [workspace.dependencies] serde = "1.0.219" serde_json = "1.0.140" -tucana = "0.0.56" +tucana = "0.0.58" clap = "4.5.41" colored = "3.0" tabled = "0.20" From 7f797d4e101e27618b6507c15d6d43ff2336f25c Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 11 Mar 2026 17:53:41 +0100 Subject: [PATCH 7/7] fix: correct field names for latest tucana version --- crates/cli/src/analyser/data_type.rs | 2 +- crates/cli/src/analyser/flow_type.rs | 28 ++++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/crates/cli/src/analyser/data_type.rs b/crates/cli/src/analyser/data_type.rs index 9f74888..fb6e5de 100644 --- a/crates/cli/src/analyser/data_type.rs +++ b/crates/cli/src/analyser/data_type.rs @@ -47,7 +47,7 @@ impl Analyser { )); } - if dt."type" == "" { + if dt.r#type == "" { self.reporter.add(Diagnose::new( dt.identifier.clone(), adt.original_definition.clone(), diff --git a/crates/cli/src/analyser/flow_type.rs b/crates/cli/src/analyser/flow_type.rs index b9771f4..4dc58ff 100644 --- a/crates/cli/src/analyser/flow_type.rs +++ b/crates/cli/src/analyser/flow_type.rs @@ -8,6 +8,18 @@ impl Analyser { let name = flow.identifier.clone(); let original = aft.original_definition.clone(); + for linked in flow.linked_data_type_identifiers.clone() { + if !self.data_type_identifier_exists(linked.as_str(), None) { + self.reporter.add(Diagnose::new( + name.clone(), + original.clone(), + DiagnosticKind::UndefinedDataTypeIdentifier { + identifier: linked.clone(), + }, + )); + } + } + if flow.display_icon.is_empty() { self.reporter.add(Diagnose::new( name.clone(), @@ -90,6 +102,18 @@ impl Analyser { } for setting in &flow.settings { + for linked in setting.linked_data_type_identifiers.clone() { + if !self.data_type_identifier_exists(linked.as_str(), None) { + self.reporter.add(Diagnose::new( + name.clone(), + original.clone(), + DiagnosticKind::UndefinedDataTypeIdentifier { + identifier: linked.clone(), + }, + )); + } + } + if setting.name.is_empty() { self.reporter.add(Diagnose::new( setting.identifier.clone(), @@ -108,12 +132,12 @@ impl Analyser { }, )); } - if !self.data_type_identifier_exists(&setting."type", None) { + if !self.data_type_identifier_exists(&setting.r#type, None) { self.reporter.add(Diagnose::new( name.clone(), original.clone(), DiagnosticKind::UndefinedDataTypeIdentifier { - identifier: setting."type".clone(), + identifier: setting.r#type.clone(), }, )); }