From 857b512503e4e472e9d9950f35b70ead6e5d40f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Esk=C3=A9nazi?= Date: Fri, 27 Mar 2026 15:44:13 +0100 Subject: [PATCH 1/5] fix(schema): replace MappedItemArray with direct MappedOutputParameter ref --- src/main/resources/schemas/naftiko-schema.json | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/resources/schemas/naftiko-schema.json b/src/main/resources/schemas/naftiko-schema.json index 0552e6b..ac91939 100644 --- a/src/main/resources/schemas/naftiko-schema.json +++ b/src/main/resources/schemas/naftiko-schema.json @@ -418,7 +418,7 @@ "mapping": true, "const": true, "items": { - "$ref": "#/$defs/MappedItemArray" + "$ref": "#/$defs/MappedOutputParameter" } }, "required": [ @@ -428,14 +428,6 @@ } ] }, - "MappedItemArray": { - "type": "array", - "description": "Describes the shape of items inside an array output parameter.", - "items": { - "$ref": "#/$defs/MappedOutputParameter" - }, - "minItems": 1 - }, "MappedOutputParameter": { "description": "Inline-mapped output parameter (simple mode). Used when the exposed operation has a single call + with.", "oneOf": [ From 0b97b73a5fbebb5a173f590ac115a17823ce239c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Esk=C3=A9nazi?= Date: Fri, 27 Mar 2026 15:50:00 +0100 Subject: [PATCH 2/5] fix(tuto): adapt to fixed schema --- .../resources/schemas/tutorial/step-6-mcp.yml | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/src/main/resources/schemas/tutorial/step-6-mcp.yml b/src/main/resources/schemas/tutorial/step-6-mcp.yml index 852f6d5..b83a11c 100644 --- a/src/main/resources/schemas/tutorial/step-6-mcp.yml +++ b/src/main/resources/schemas/tutorial/step-6-mcp.yml @@ -1,3 +1,4 @@ + naftiko: "1.0.0-alpha1" info: label: "Tutorial - Step 6 - MCP" @@ -30,29 +31,29 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - name: - type: "string" - mapping: "$.properties.Name.title[0].text.content" - company: - type: "string" - mapping: "$.properties.Company.rich_text[0].text.content" - title: - type: "string" - mapping: "$.properties.Title.rich_text[0].text.content" - location: - type: "string" - mapping: "$.properties.Location.rich_text[0].text.content" - owner: - type: "string" - mapping: "$.properties.Owner.people[0].name" - participation_status: - type: "string" - mapping: "$.properties.Participation Status.select.name" - comments: - type: "string" - mapping: "$.properties.Comments.rich_text[0].text.content" + type: "object" + properties: + name: + type: "string" + mapping: "$.properties.Name.title[0].text.content" + company: + type: "string" + mapping: "$.properties.Company.rich_text[0].text.content" + title: + type: "string" + mapping: "$.properties.Title.rich_text[0].text.content" + location: + type: "string" + mapping: "$.properties.Location.rich_text[0].text.content" + owner: + type: "string" + mapping: "$.properties.Owner.people[0].name" + participation_status: + type: "string" + mapping: "$.properties.Participation Status.select.name" + comments: + type: "string" + mapping: "$.properties.Comments.rich_text[0].text.content" consumes: - type: "http" From d89ea35b665c325d4a8f1daac4b127ebdc12c055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Esk=C3=A9nazi?= Date: Fri, 27 Mar 2026 15:53:25 +0100 Subject: [PATCH 3/5] fix(tuto): adapt to fixed schema --- .../resources/schemas/examples/no-adapter.yml | 46 +++++++++---------- .../schemas/examples/skill-adapter.yml | 8 ++-- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/main/resources/schemas/examples/no-adapter.yml b/src/main/resources/schemas/examples/no-adapter.yml index 9752b46..59870d2 100644 --- a/src/main/resources/schemas/examples/no-adapter.yml +++ b/src/main/resources/schemas/examples/no-adapter.yml @@ -32,26 +32,26 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - name: - type: "string" - const: "John Doe" - company: - type: "string" - const: "Example Corp" - title: - type: "string" - const: "Persona" - location: - type: "string" - const: "Earth" - owner: - type: "string" - const: "Naftiko" - participation_status: - type: "string" - const: "Committed" - comments: - type: "string" - const: "For mocking purposes only" + type: "object" + properties: + name: + type: "string" + const: "John Doe" + company: + type: "string" + const: "Example Corp" + title: + type: "string" + const: "Persona" + location: + type: "string" + const: "Earth" + owner: + type: "string" + const: "Naftiko" + participation_status: + type: "string" + const: "Committed" + comments: + type: "string" + const: "For mocking purposes only" diff --git a/src/main/resources/schemas/examples/skill-adapter.yml b/src/main/resources/schemas/examples/skill-adapter.yml index 80392dc..ec832b4 100644 --- a/src/main/resources/schemas/examples/skill-adapter.yml +++ b/src/main/resources/schemas/examples/skill-adapter.yml @@ -35,10 +35,10 @@ capability: - type: array mapping: $.alerts items: - - type: object - properties: - title: { type: string, mapping: $.title } - severity: { type: string, mapping: $.severity } + type: "object" + properties: + title: { type: string, mapping: $.title } + severity: { type: string, mapping: $.severity } - type: mcp port: 3001 From e36ee6583c39344dba0c5c2f1e0568fec4292193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Esk=C3=A9nazi?= Date: Fri, 27 Mar 2026 16:06:01 +0100 Subject: [PATCH 4/5] fix(tuto): adapt to fixed schema --- src/test/resources/avro-capability.yaml | 22 +++++++++---------- src/test/resources/csv-capability.yaml | 22 +++++++++---------- src/test/resources/mcp-capability.yaml | 16 +++++++------- .../mcp-resources-prompts-capability.yaml | 10 ++++----- src/test/resources/mcp-stdio-capability.yaml | 16 +++++++------- src/test/resources/proto-capability.yaml | 22 +++++++++---------- src/test/resources/xml-capability.yaml | 22 +++++++++---------- src/test/resources/yaml-capability.yaml | 22 +++++++++---------- 8 files changed, 76 insertions(+), 76 deletions(-) diff --git a/src/test/resources/avro-capability.yaml b/src/test/resources/avro-capability.yaml index 36b89b3..0f804a3 100644 --- a/src/test/resources/avro-capability.yaml +++ b/src/test/resources/avro-capability.yaml @@ -29,17 +29,17 @@ capability: - type: "array" mapping: "$.records" items: - - type: "object" - properties: - id: - type: "string" - mapping: "$.id" - title: - type: "string" - mapping: "$.title" - description: - type: "string" - mapping: "$.description" + type: "object" + properties: + id: + type: "string" + mapping: "$.id" + title: + type: "string" + mapping: "$.title" + description: + type: "string" + mapping: "$.description" consumes: - type: "http" diff --git a/src/test/resources/csv-capability.yaml b/src/test/resources/csv-capability.yaml index b041dfd..f6e5bf9 100644 --- a/src/test/resources/csv-capability.yaml +++ b/src/test/resources/csv-capability.yaml @@ -29,17 +29,17 @@ capability: - type: "array" mapping: "$" items: - - type: "object" - properties: - id: - type: "string" - mapping: "$.id" - name: - type: "string" - mapping: "$.name" - email: - type: "string" - mapping: "$.email" + type: "object" + properties: + id: + type: "string" + mapping: "$.id" + name: + type: "string" + mapping: "$.name" + email: + type: "string" + mapping: "$.email" consumes: - type: "http" diff --git a/src/test/resources/mcp-capability.yaml b/src/test/resources/mcp-capability.yaml index 9431ad4..31f74ad 100644 --- a/src/test/resources/mcp-capability.yaml +++ b/src/test/resources/mcp-capability.yaml @@ -28,14 +28,14 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - name: - type: "string" - mapping: "$.properties.Name.title[0].text.content" - status: - type: "string" - mapping: "$.properties.Status.select.name" + type: "object" + properties: + name: + type: "string" + mapping: "$.properties.Name.title[0].text.content" + status: + type: "string" + mapping: "$.properties.Status.select.name" consumes: - type: "http" diff --git a/src/test/resources/mcp-resources-prompts-capability.yaml b/src/test/resources/mcp-resources-prompts-capability.yaml index 7bf6b97..b81c400 100644 --- a/src/test/resources/mcp-resources-prompts-capability.yaml +++ b/src/test/resources/mcp-resources-prompts-capability.yaml @@ -29,11 +29,11 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - id: - type: "string" - mapping: "$.id" + type: "object" + properties: + id: + type: "string" + mapping: "$.id" resources: - name: "database-schema" label: "Database Schema" diff --git a/src/test/resources/mcp-stdio-capability.yaml b/src/test/resources/mcp-stdio-capability.yaml index 791c163..c397ceb 100644 --- a/src/test/resources/mcp-stdio-capability.yaml +++ b/src/test/resources/mcp-stdio-capability.yaml @@ -28,14 +28,14 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - name: - type: "string" - mapping: "$.properties.Name.title[0].text.content" - status: - type: "string" - mapping: "$.properties.Status.select.name" + type: "object" + properties: + name: + type: "string" + mapping: "$.properties.Name.title[0].text.content" + status: + type: "string" + mapping: "$.properties.Status.select.name" consumes: - type: "http" diff --git a/src/test/resources/proto-capability.yaml b/src/test/resources/proto-capability.yaml index ebb99a1..8d16604 100644 --- a/src/test/resources/proto-capability.yaml +++ b/src/test/resources/proto-capability.yaml @@ -29,17 +29,17 @@ capability: - type: "array" mapping: "$.records" items: - - type: "object" - properties: - id: - type: "string" - mapping: "$.id" - title: - type: "string" - mapping: "$.title" - description: - type: "string" - mapping: "$.description" + type: "object" + properties: + id: + type: "string" + mapping: "$.id" + title: + type: "string" + mapping: "$.title" + description: + type: "string" + mapping: "$.description" consumes: - type: "http" diff --git a/src/test/resources/xml-capability.yaml b/src/test/resources/xml-capability.yaml index a1bbf0b..78455d0 100644 --- a/src/test/resources/xml-capability.yaml +++ b/src/test/resources/xml-capability.yaml @@ -29,17 +29,17 @@ capability: - type: "array" mapping: "$.root.user" items: - - type: "object" - properties: - id: - type: "string" - mapping: "$.id" - name: - type: "string" - mapping: "$.name" - email: - type: "string" - mapping: "$.email" + type: "object" + properties: + id: + type: "string" + mapping: "$.id" + name: + type: "string" + mapping: "$.name" + email: + type: "string" + mapping: "$.email" consumes: - type: "http" diff --git a/src/test/resources/yaml-capability.yaml b/src/test/resources/yaml-capability.yaml index 3987372..cb5218b 100644 --- a/src/test/resources/yaml-capability.yaml +++ b/src/test/resources/yaml-capability.yaml @@ -29,17 +29,17 @@ capability: - type: "array" mapping: "$.users" items: - - type: "object" - properties: - id: - type: "string" - mapping: "$.id" - name: - type: "string" - mapping: "$.name" - email: - type: "string" - mapping: "$.email" + type: "object" + properties: + id: + type: "string" + mapping: "$.id" + name: + type: "string" + mapping: "$.name" + email: + type: "string" + mapping: "$.email" consumes: - type: "http" From 81944a61566488ac146f735a51019d5f1708c6f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Esk=C3=A9nazi?= Date: Fri, 27 Mar 2026 16:08:49 +0100 Subject: [PATCH 5/5] fix(tuto): adapt to fixed schema --- .../resources/schemas/examples/notion.yml | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/src/main/resources/schemas/examples/notion.yml b/src/main/resources/schemas/examples/notion.yml index 6d1ba07..a3d30c7 100644 --- a/src/main/resources/schemas/examples/notion.yml +++ b/src/main/resources/schemas/examples/notion.yml @@ -44,29 +44,29 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - name: - type: "string" - mapping: "$.properties.Name.title[0].text.content" - company: - type: "string" - mapping: "$.properties.Company.rich_text[0].text.content" - title: - type: "string" - mapping: "$.properties.Title.rich_text[0].text.content" - location: - type: "string" - mapping: "$.properties.Location.rich_text[0].text.content" - owner: - type: "string" - mapping: "$.properties.Owner.people[0].name" - participation_status: - type: "string" - mapping: "$.properties.Participation Status.select.name" - comments: - type: "string" - mapping: "$.properties.Comments.rich_text[0].text.content" + type: "object" + properties: + name: + type: "string" + mapping: "$.properties.Name.title[0].text.content" + company: + type: "string" + mapping: "$.properties.Company.rich_text[0].text.content" + title: + type: "string" + mapping: "$.properties.Title.rich_text[0].text.content" + location: + type: "string" + mapping: "$.properties.Location.rich_text[0].text.content" + owner: + type: "string" + mapping: "$.properties.Owner.people[0].name" + participation_status: + type: "string" + mapping: "$.properties.Participation Status.select.name" + comments: + type: "string" + mapping: "$.properties.Comments.rich_text[0].text.content" - type: "mcp" address: "localhost" @@ -84,29 +84,29 @@ capability: - type: "array" mapping: "$.results" items: - - type: "object" - properties: - name: - type: "string" - mapping: "$.properties.Name.title[0].text.content" - company: - type: "string" - mapping: "$.properties.Company.rich_text[0].text.content" - title: - type: "string" - mapping: "$.properties.Title.rich_text[0].text.content" - location: - type: "string" - mapping: "$.properties.Location.rich_text[0].text.content" - owner: - type: "string" - mapping: "$.properties.Owner.people[0].name" - participation_status: - type: "string" - mapping: "$.properties.Participation Status.select.name" - comments: - type: "string" - mapping: "$.properties.Comments.rich_text[0].text.content" + type: "object" + properties: + name: + type: "string" + mapping: "$.properties.Name.title[0].text.content" + company: + type: "string" + mapping: "$.properties.Company.rich_text[0].text.content" + title: + type: "string" + mapping: "$.properties.Title.rich_text[0].text.content" + location: + type: "string" + mapping: "$.properties.Location.rich_text[0].text.content" + owner: + type: "string" + mapping: "$.properties.Owner.people[0].name" + participation_status: + type: "string" + mapping: "$.properties.Participation Status.select.name" + comments: + type: "string" + mapping: "$.properties.Comments.rich_text[0].text.content" consumes: - type: "http"