feat(scenarios,environments): add markdown description field

- add optional description to scenario and environment entities
- expose description in create/update DTOs, MCP tools, and export DTOs
- render description as markdown on detail pages
- add description editor (CodeEditor) to create/edit forms for both resources
This commit is contained in:
2026-04-14 23:53:45 +03:00
parent 4dab218b75
commit e6aacc899d
20 changed files with 206 additions and 32 deletions
+6 -6
View File
@@ -133,13 +133,13 @@ export const environments = {
get(id: string): Promise<Environment> {
return request(`/environments/${id}`);
},
create(name: string, data: Environment['data']): Promise<Environment> {
create(name: string, data: Environment['data'], description?: string): Promise<Environment> {
return request('/environments', {
method: 'POST',
body: JSON.stringify({ name, data }),
body: JSON.stringify({ name, description, data }),
});
},
update(id: string, patch: Partial<Pick<Environment, 'name' | 'data'>>): Promise<Environment> {
update(id: string, patch: Partial<Pick<Environment, 'name' | 'description' | 'data'>>): Promise<Environment> {
return request(`/environments/${id}`, {
method: 'PATCH',
body: JSON.stringify(patch),
@@ -182,13 +182,13 @@ export const scenarios = {
get(id: string): Promise<Scenario & { steps: ScenarioStep[] }> {
return request(`/scenarios/${id}`);
},
create(name: string): Promise<Scenario> {
create(name: string, description?: string): Promise<Scenario> {
return request('/scenarios', {
method: 'POST',
body: JSON.stringify({ name }),
body: JSON.stringify({ name, description }),
});
},
update(id: string, patch: Partial<Pick<Scenario, 'name'>>): Promise<Scenario> {
update(id: string, patch: Partial<Pick<Scenario, 'name' | 'description'>>): Promise<Scenario> {
return request(`/scenarios/${id}`, {
method: 'PATCH',
body: JSON.stringify(patch),
+2
View File
@@ -16,6 +16,7 @@ export interface EnvironmentData {
export interface Environment {
id: string;
name: string;
description?: string;
data: EnvironmentData;
createdAt: string;
updatedAt: string;
@@ -82,6 +83,7 @@ export interface ScenarioCredential {
export interface Scenario {
id: string;
name: string;
description?: string;
steps?: ScenarioStep[];
scenarioCredentials?: ScenarioCredential[];
createdAt: string;