feat: add soap core domain model

This commit is contained in:
a.tolmachev
2026-04-06 21:27:19 +03:00
parent 45ea011b7f
commit 31fbdfdc02
19 changed files with 353 additions and 28 deletions
+2
View File
@@ -417,6 +417,7 @@ document.addEventListener('alpine:init', function() {
if (operation.protocol === 'rest') return 'badge badge-rest';
if (operation.protocol === 'graphql') return 'badge badge-graphql';
if (operation.protocol === 'websocket') return 'badge badge-rest';
if (operation.protocol === 'soap') return 'badge badge-rest';
return 'badge badge-grpc';
},
@@ -424,6 +425,7 @@ document.addEventListener('alpine:init', function() {
if (operation.protocol === 'rest') return 'REST';
if (operation.protocol === 'graphql') return 'GQL';
if (operation.protocol === 'websocket') return 'WS';
if (operation.protocol === 'soap') return 'SOAP';
return 'gRPC';
},
+1
View File
@@ -400,6 +400,7 @@ document.addEventListener('alpine:init', function() {
}
if (operation.protocol === 'graphql') return 'GraphQL';
if (operation.protocol === 'websocket') return 'WebSocket';
if (operation.protocol === 'soap') return 'SOAP';
return 'gRPC';
},
+6
View File
@@ -411,6 +411,7 @@ var TRANSLATIONS = {
'workspace_setup.custom_protocol.graphql': 'GraphQL',
'workspace_setup.custom_protocol.grpc': 'gRPC',
'workspace_setup.custom_protocol.websocket': 'WebSocket',
'workspace_setup.custom_protocol.soap': 'SOAP',
// Wizard
'wizard.back_catalog': 'Operations',
@@ -447,6 +448,8 @@ var TRANSLATIONS = {
'wizard.step1.grpc_tagline': 'High-performance binary RPC over HTTP/2. Ideal for low-latency internal services.',
'wizard.step1.websocket_name': 'WebSocket',
'wizard.step1.websocket_tagline': 'Stateful event streams and push-oriented integrations normalized into bounded MCP streaming tools.',
'wizard.step1.soap_name': 'SOAP',
'wizard.step1.soap_tagline': 'Enterprise WSDL/XSD service contracts normalized into MCP tools with structured XML mapping.',
'wizard.step1.query': 'Query',
'wizard.step1.mutation': 'Mutation',
'wizard.step1.unary': 'Unary',
@@ -1196,6 +1199,7 @@ var TRANSLATIONS = {
'workspace_setup.custom_protocol.graphql': 'GraphQL',
'workspace_setup.custom_protocol.grpc': 'gRPC',
'workspace_setup.custom_protocol.websocket': 'WebSocket',
'workspace_setup.custom_protocol.soap': 'SOAP',
// Wizard
'wizard.back_catalog': 'Операции',
@@ -1232,6 +1236,8 @@ var TRANSLATIONS = {
'wizard.step1.grpc_tagline': 'Высокопроизводительный бинарный RPC поверх HTTP/2. Подходит для низколатентных внутренних сервисов.',
'wizard.step1.websocket_name': 'WebSocket',
'wizard.step1.websocket_tagline': 'Состояние соединения, event streams и push-oriented интеграции, нормализованные в bounded MCP streaming tools.',
'wizard.step1.soap_name': 'SOAP',
'wizard.step1.soap_tagline': 'Enterprise WSDL/XSD-контракты, нормализованные в MCP-инструменты со структурированным XML mapping.',
'wizard.step1.query': 'Запрос',
'wizard.step1.mutation': 'Мутация',
'wizard.step1.unary': 'Unary',
+6
View File
@@ -61,6 +61,9 @@ document.addEventListener('DOMContentLoaded', function () {
if (protocol === 'websocket' || protocol === 'Websocket') {
return 'var(--teal)';
}
if (protocol === 'soap' || protocol === 'Soap') {
return 'var(--blue)';
}
return 'var(--blue)';
}
@@ -74,6 +77,9 @@ document.addEventListener('DOMContentLoaded', function () {
if (protocol === 'websocket' || protocol === 'Websocket') {
return 'WebSocket';
}
if (protocol === 'soap' || protocol === 'Soap') {
return 'SOAP';
}
return 'REST';
}
+5 -1
View File
@@ -1,6 +1,6 @@
var currentStep = 1;
var TOTAL_STEPS = 5;
var wizardProtocol = 'rest'; // 'rest' | 'graphql' | 'grpc' | 'websocket'
var wizardProtocol = 'rest'; // 'rest' | 'graphql' | 'grpc' | 'websocket' | 'soap'
var wizardMode = 'create'; // 'create' | 'edit'
var wizardEditId = null;
var wizardWorkspaceId = null;
@@ -36,6 +36,10 @@ function defaultProtocolCapabilities() {
supports_execution_modes: ['window', 'session', 'async_job'],
supports_transport_behaviors: ['server_stream', 'stateful_session', 'deferred_result'],
},
soap: {
supports_execution_modes: ['unary', 'async_job'],
supports_transport_behaviors: ['request_response', 'server_stream', 'deferred_result'],
},
};
}