diff --git a/dist/schemas/config_v3.schema.json b/dist/schemas/config_v3.schema.json index f9e967a..02711e4 100644 --- a/dist/schemas/config_v3.schema.json +++ b/dist/schemas/config_v3.schema.json @@ -5584,6 +5584,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -5780,6 +5830,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -8527,6 +8627,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" @@ -13538,6 +13687,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13734,6 +13933,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/dist/schemas/report_v3.schema.json b/dist/schemas/report_v3.schema.json index 6cc1350..5868b73 100644 --- a/dist/schemas/report_v3.schema.json +++ b/dist/schemas/report_v3.schema.json @@ -6017,6 +6017,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -6213,6 +6263,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13494,6 +13594,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13690,6 +13840,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/dist/schemas/resolvedTests_v3.schema.json b/dist/schemas/resolvedTests_v3.schema.json index db578a4..8126dfc 100644 --- a/dist/schemas/resolvedTests_v3.schema.json +++ b/dist/schemas/resolvedTests_v3.schema.json @@ -5597,6 +5597,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -5793,6 +5843,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -8540,6 +8640,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" @@ -13551,6 +13700,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13747,6 +13946,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -22243,6 +22492,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -22439,6 +22738,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -29720,6 +30069,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -29916,6 +30315,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/dist/schemas/screenshot_v3.schema.json b/dist/schemas/screenshot_v3.schema.json index b503691..b681351 100644 --- a/dist/schemas/screenshot_v3.schema.json +++ b/dist/schemas/screenshot_v3.schema.json @@ -187,6 +187,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -383,6 +433,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/dist/schemas/sourceIntegration_v3.schema.json b/dist/schemas/sourceIntegration_v3.schema.json new file mode 100644 index 0000000..52d9e0c --- /dev/null +++ b/dist/schemas/sourceIntegration_v3.schema.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "description": "Information about the source integration for a file, enabling upload of changed files back to the source CMS.", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] +} \ No newline at end of file diff --git a/dist/schemas/spec_v3.schema.json b/dist/schemas/spec_v3.schema.json index 6c1d56a..4fb10e2 100644 --- a/dist/schemas/spec_v3.schema.json +++ b/dist/schemas/spec_v3.schema.json @@ -5999,6 +5999,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -6195,6 +6245,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13476,6 +13576,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13672,6 +13822,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/dist/schemas/step_v3.schema.json b/dist/schemas/step_v3.schema.json index 8960667..fd6e96b 100644 --- a/dist/schemas/step_v3.schema.json +++ b/dist/schemas/step_v3.schema.json @@ -4799,6 +4799,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -4995,6 +5045,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/dist/schemas/test_v3.schema.json b/dist/schemas/test_v3.schema.json index 9d86ed1..5e3f97b 100644 --- a/dist/schemas/test_v3.schema.json +++ b/dist/schemas/test_v3.schema.json @@ -5398,6 +5398,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -5594,6 +5644,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -12875,6 +12975,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13071,6 +13221,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/package-lock.json b/package-lock.json index 98dabee..aaad938 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,9 +18,9 @@ "yaml": "^2.8.2" }, "devDependencies": { - "chai": "^6.2.1", + "chai": "^6.2.2", "mocha": "^11.7.5", - "sinon": "^21.0.0" + "sinon": "^21.0.1" } }, "node_modules/@apidevtools/json-schema-ref-parser": { @@ -157,14 +157,15 @@ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.1.0.tgz", + "integrity": "sha512-cqfapCxwTGsrR80FEgOoPsTonoefMBY7dnUEbQ+GRcved0jvkJLzvX6F4WtN+HBqbPX/SiFsIRUp+IrCW/2I2w==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -172,13 +173,13 @@ } }, "node_modules/@sinonjs/samsam": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.2.tgz", - "integrity": "sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.3.tgz", + "integrity": "sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", - "lodash.get": "^4.4.2", "type-detect": "^4.1.0" } }, @@ -187,6 +188,7 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -333,9 +335,9 @@ } }, "node_modules/chai": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", - "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, "license": "MIT", "engines": { @@ -872,12 +874,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -1250,16 +1246,16 @@ } }, "node_modules/sinon": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.0.0.tgz", - "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-21.0.1.tgz", + "integrity": "sha512-Z0NVCW45W8Mg5oC/27/+fCqIHFnW8kpkFOq0j9XJIev4Ld0mKmERaZv5DMLAb9fGCevjKwaEeIQz5+MBXfZcDw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", - "@sinonjs/fake-timers": "^13.0.5", - "@sinonjs/samsam": "^8.0.1", - "diff": "^7.0.0", + "@sinonjs/fake-timers": "^15.1.0", + "@sinonjs/samsam": "^8.0.3", + "diff": "^8.0.2", "supports-color": "^7.2.0" }, "funding": { @@ -1267,6 +1263,16 @@ "url": "https://opencollective.com/sinon" } }, + "node_modules/sinon/node_modules/diff": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz", + "integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -1352,6 +1358,7 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } diff --git a/package.json b/package.json index 80f65be..3da8576 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,9 @@ }, "homepage": "https://github.com/doc-detective/doc-detective-common#readme", "devDependencies": { - "chai": "^6.2.1", + "chai": "^6.2.2", "mocha": "^11.7.5", - "sinon": "^21.0.0" + "sinon": "^21.0.1" }, "dependencies": { "@apidevtools/json-schema-ref-parser": "^15.1.3", diff --git a/src/resolvePaths.js b/src/resolvePaths.js index d6304de..7a217d3 100644 --- a/src/resolvePaths.js +++ b/src/resolvePaths.js @@ -79,8 +79,8 @@ async function resolvePaths({ * @remark HTTP and HTTPS URLs are returned unchanged without resolution. */ function resolve(baseType, relativePath, filePath) { - // If the path is an http:// or https:// URL, return it - if (relativePath.startsWith("https://") || relativePath.startsWith("http://")) { + // If the path is an http:// or https:// URL, or a heretto: URI, return it + if (relativePath.startsWith("https://") || relativePath.startsWith("http://") || relativePath.startsWith("heretto:")) { return relativePath; } @@ -190,10 +190,11 @@ async function resolvePaths({ objectType: objectType, }); } else if (typeof object[property] === "string") { - // If the property begins with "https://" or "http://", skip it + // If the property begins with "https://", "http://", or "heretto:", skip it if ( object[property].startsWith("https://") || - object[property].startsWith("http://") + object[property].startsWith("http://") || + object[property].startsWith("heretto:") ) { continue; } diff --git a/src/schemas/dereferenceSchemas.js b/src/schemas/dereferenceSchemas.js index cd1d7c5..3709834 100644 --- a/src/schemas/dereferenceSchemas.js +++ b/src/schemas/dereferenceSchemas.js @@ -44,6 +44,7 @@ async function dereferenceSchemas() { "runShell_v3.schema.json", "saveCookie_v3.schema.json", "screenshot_v3.schema.json", + "sourceIntegration_v3.schema.json", "spec_v3.schema.json", "step_v3.schema.json", "stopRecord_v3.schema.json", diff --git a/src/schemas/output_schemas/config_v3.schema.json b/src/schemas/output_schemas/config_v3.schema.json index f9e967a..02711e4 100644 --- a/src/schemas/output_schemas/config_v3.schema.json +++ b/src/schemas/output_schemas/config_v3.schema.json @@ -5584,6 +5584,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -5780,6 +5830,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -8527,6 +8627,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" @@ -13538,6 +13687,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13734,6 +13933,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/output_schemas/report_v3.schema.json b/src/schemas/output_schemas/report_v3.schema.json index 6cc1350..5868b73 100644 --- a/src/schemas/output_schemas/report_v3.schema.json +++ b/src/schemas/output_schemas/report_v3.schema.json @@ -6017,6 +6017,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -6213,6 +6263,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13494,6 +13594,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13690,6 +13840,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/output_schemas/resolvedTests_v3.schema.json b/src/schemas/output_schemas/resolvedTests_v3.schema.json index db578a4..8126dfc 100644 --- a/src/schemas/output_schemas/resolvedTests_v3.schema.json +++ b/src/schemas/output_schemas/resolvedTests_v3.schema.json @@ -5597,6 +5597,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -5793,6 +5843,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -8540,6 +8640,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" @@ -13551,6 +13700,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13747,6 +13946,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -22243,6 +22492,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -22439,6 +22738,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -29720,6 +30069,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -29916,6 +30315,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/output_schemas/screenshot_v3.schema.json b/src/schemas/output_schemas/screenshot_v3.schema.json index b503691..b681351 100644 --- a/src/schemas/output_schemas/screenshot_v3.schema.json +++ b/src/schemas/output_schemas/screenshot_v3.schema.json @@ -187,6 +187,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -383,6 +433,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/output_schemas/sourceIntegration_v3.schema.json b/src/schemas/output_schemas/sourceIntegration_v3.schema.json new file mode 100644 index 0000000..52d9e0c --- /dev/null +++ b/src/schemas/output_schemas/sourceIntegration_v3.schema.json @@ -0,0 +1,50 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "description": "Information about the source integration for a file, enabling upload of changed files back to the source CMS.", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] +} \ No newline at end of file diff --git a/src/schemas/output_schemas/spec_v3.schema.json b/src/schemas/output_schemas/spec_v3.schema.json index 6c1d56a..4fb10e2 100644 --- a/src/schemas/output_schemas/spec_v3.schema.json +++ b/src/schemas/output_schemas/spec_v3.schema.json @@ -5999,6 +5999,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -6195,6 +6245,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13476,6 +13576,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13672,6 +13822,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/output_schemas/step_v3.schema.json b/src/schemas/output_schemas/step_v3.schema.json index 8960667..fd6e96b 100644 --- a/src/schemas/output_schemas/step_v3.schema.json +++ b/src/schemas/output_schemas/step_v3.schema.json @@ -4799,6 +4799,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -4995,6 +5045,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/output_schemas/test_v3.schema.json b/src/schemas/output_schemas/test_v3.schema.json index 9d86ed1..5e3f97b 100644 --- a/src/schemas/output_schemas/test_v3.schema.json +++ b/src/schemas/output_schemas/test_v3.schema.json @@ -5398,6 +5398,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -5594,6 +5644,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -12875,6 +12975,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -13071,6 +13221,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/schemas.json b/src/schemas/schemas.json index 37ea4f1..50f923a 100644 --- a/src/schemas/schemas.json +++ b/src/schemas/schemas.json @@ -5982,6 +5982,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -6178,6 +6228,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -8925,6 +9025,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" @@ -13936,6 +14085,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -14132,6 +14331,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -26352,6 +26601,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -26548,6 +26847,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -29295,6 +29644,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" @@ -34306,6 +34704,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -34502,6 +34950,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -42998,6 +43496,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -43194,6 +43742,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -50475,6 +51073,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -50671,6 +51319,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -59662,6 +60360,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -59858,6 +60606,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -67139,6 +67937,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -67335,6 +68183,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -71165,6 +72063,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -71361,6 +72309,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -71557,6 +72555,56 @@ } ] }, + "sourceIntegration_v3": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "description": "Information about the source integration for a file, enabling upload of changed files back to the source CMS.", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] + }, "spec_v3": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "specification", @@ -77558,6 +78606,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -77754,6 +78852,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -85035,6 +86183,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -85231,6 +86429,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -92792,6 +94040,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -92988,6 +94286,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -100624,6 +101972,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -100820,6 +102218,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -108101,6 +109549,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" @@ -108297,6 +109795,56 @@ } } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "type": "object", + "additionalProperties": false, + "required": [ + "type", + "integrationName" + ], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": [ + "heretto" + ] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/src_schemas/config_v3.schema.json b/src/schemas/src_schemas/config_v3.schema.json index 5b5be5c..84d8ee5 100644 --- a/src/schemas/src_schemas/config_v3.schema.json +++ b/src/schemas/src_schemas/config_v3.schema.json @@ -258,6 +258,55 @@ "type": "string", "description": "Local path where Heretto content was downloaded. Set automatically during processing.", "readOnly": true + }, + "fileMapping": { + "type": "object", + "description": "Mapping of local file paths to Heretto file metadata. Set automatically during content loading.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "filePath": { + "type": "string", + "description": "The path of the file in Heretto." + } + } + } + }, + "uploadOnChange": { + "type": "boolean", + "description": "If `true`, uploads changed screenshots and other media files back to Heretto CMS after test execution.", + "default": false + }, + "resourceDependencies": { + "type": "object", + "description": "Mapping of Heretto file paths to their UUIDs and metadata. Set automatically during content loading by fetching ditamap resource dependencies.", + "readOnly": true, + "additionalProperties": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "The UUID of the file in Heretto." + }, + "fullPath": { + "type": "string", + "description": "The full xmldb path of the file in Heretto." + }, + "name": { + "type": "string", + "description": "The file name." + }, + "parentFolderId": { + "type": "string", + "description": "The UUID of the parent folder in Heretto." + } + } + } } }, "title": "Heretto CMS integration" diff --git a/src/schemas/src_schemas/screenshot_v3.schema.json b/src/schemas/src_schemas/screenshot_v3.schema.json index 48e6291..a231415 100644 --- a/src/schemas/src_schemas/screenshot_v3.schema.json +++ b/src/schemas/src_schemas/screenshot_v3.schema.json @@ -68,6 +68,10 @@ "$ref": "#/components/schemas/crop_element" } ] + }, + "sourceIntegration": { + "description": "Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.", + "$ref": "sourceIntegration_v3.schema.json#" } }, "title": "Capture screenshot (detailed)" diff --git a/src/schemas/src_schemas/sourceIntegration_v3.schema.json b/src/schemas/src_schemas/sourceIntegration_v3.schema.json new file mode 100644 index 0000000..d71ebc3 --- /dev/null +++ b/src/schemas/src_schemas/sourceIntegration_v3.schema.json @@ -0,0 +1,45 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sourceIntegration", + "description": "Information about the source integration for a file, enabling upload of changed files back to the source CMS.", + "type": "object", + "additionalProperties": false, + "required": ["type", "integrationName"], + "properties": { + "type": { + "type": "string", + "description": "The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.", + "enum": ["heretto"] + }, + "integrationName": { + "type": "string", + "description": "The name of the integration configuration in the config file. Used to look up authentication credentials." + }, + "fileId": { + "type": "string", + "description": "The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path." + }, + "filePath": { + "type": "string", + "description": "The path of the file in the source CMS. Used for lookup if fileId is not available." + }, + "contentPath": { + "type": "string", + "description": "The local path to the file that references this source. Used for resolving relative paths." + } + }, + "examples": [ + { + "type": "heretto", + "integrationName": "my-heretto", + "fileId": "8f3ed200-cbba-11e1-ac51-c82a1446d15c", + "filePath": "/db/organizations/example/repositories/docs/images/screenshot.png" + }, + { + "type": "heretto", + "integrationName": "my-heretto", + "filePath": "images/screenshot.png", + "contentPath": "/tmp/doc-detective/heretto_abc123/topic.dita" + } + ] +}