@xpert-ai/plugin-drawio 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/dist/index.js +0 -153
- package/dist/index.js.map +0 -1
- package/dist/lib/constants.js +0 -43
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/drawio-view.provider.js +0 -435
- package/dist/lib/drawio-view.provider.js.map +0 -1
- package/dist/lib/drawio.middleware.js +0 -159
- package/dist/lib/drawio.middleware.js.map +0 -1
- package/dist/lib/drawio.plugin.js +0 -27
- package/dist/lib/drawio.plugin.js.map +0 -1
- package/dist/lib/drawio.service.js +0 -415
- package/dist/lib/drawio.service.js.map +0 -1
- package/dist/lib/drawio.templates.js +0 -78
- package/dist/lib/drawio.templates.js.map +0 -1
- package/dist/lib/entities/drawio-action-log.entity.js +0 -69
- package/dist/lib/entities/drawio-action-log.entity.js.map +0 -1
- package/dist/lib/entities/drawio-drawing-version.entity.js +0 -86
- package/dist/lib/entities/drawio-drawing-version.entity.js.map +0 -1
- package/dist/lib/entities/drawio-drawing.entity.js +0 -94
- package/dist/lib/entities/drawio-drawing.entity.js.map +0 -1
- package/dist/lib/entities/index.js +0 -4
- package/dist/lib/entities/index.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/i18n.js +0 -95
- package/dist/lib/remote-components/drawio-workbench/src/i18n.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/react-dom-client-shim.js +0 -4
- package/dist/lib/remote-components/drawio-workbench/src/react-dom-client-shim.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/react-dom-shim.js +0 -11
- package/dist/lib/remote-components/drawio-workbench/src/react-dom-shim.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/react-jsx-runtime-shim.js +0 -8
- package/dist/lib/remote-components/drawio-workbench/src/react-jsx-runtime-shim.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/react-shim.js +0 -36
- package/dist/lib/remote-components/drawio-workbench/src/react-shim.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/runtime.js +0 -198
- package/dist/lib/remote-components/drawio-workbench/src/runtime.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/styles.js +0 -290
- package/dist/lib/remote-components/drawio-workbench/src/styles.js.map +0 -1
- package/dist/lib/remote-components/drawio-workbench/src/vendor.js +0 -4
- package/dist/lib/remote-components/drawio-workbench/src/vendor.js.map +0 -1
- package/dist/lib/types.js +0 -2
- package/dist/lib/types.js.map +0 -1
|
@@ -1,435 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Injectable } from '@nestjs/common';
|
|
3
|
-
import { existsSync } from 'node:fs';
|
|
4
|
-
import { readFile } from 'node:fs/promises';
|
|
5
|
-
import { createRequire } from 'node:module';
|
|
6
|
-
import { dirname, join } from 'node:path';
|
|
7
|
-
import { fileURLToPath } from 'node:url';
|
|
8
|
-
import { renderRemoteReactIframeHtml, ViewExtensionProvider } from '@xpert-ai/plugin-sdk';
|
|
9
|
-
import { AGENT_WORKBENCH_FIXED_SLOT, AGENT_WORKBENCH_MAIN_SLOT, ASSISTANT_CHAT_SEND_MESSAGE_COMMAND, DRAWIO_FEATURE, DRAWIO_ICON, DRAWIO_MIDDLEWARE_TOOL_NAMES, DRAWIO_PLUGIN_NAME, DRAWIO_PROVIDER_KEY, DRAWIO_REMOTE_ENTRY_KEY, DRAWIO_WORKBENCH_VIEW_KEY } from './constants.js';
|
|
10
|
-
import { DrawioService } from './drawio.service.js';
|
|
11
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
-
const __dirname = dirname(__filename);
|
|
13
|
-
const requireFromHere = createRequire(__filename);
|
|
14
|
-
const text = (en_US, zh_Hans) => ({ en_US, zh_Hans });
|
|
15
|
-
let DrawioViewProvider = class DrawioViewProvider {
|
|
16
|
-
constructor(service) {
|
|
17
|
-
this.service = service;
|
|
18
|
-
}
|
|
19
|
-
supports(context) {
|
|
20
|
-
return context.hostType === 'agent';
|
|
21
|
-
}
|
|
22
|
-
getViewManifests(context, slot) {
|
|
23
|
-
if (context.hostType !== 'agent' || (slot !== AGENT_WORKBENCH_MAIN_SLOT && slot !== AGENT_WORKBENCH_FIXED_SLOT)) {
|
|
24
|
-
return [];
|
|
25
|
-
}
|
|
26
|
-
const fixed = slot === AGENT_WORKBENCH_FIXED_SLOT;
|
|
27
|
-
return [
|
|
28
|
-
{
|
|
29
|
-
key: DRAWIO_WORKBENCH_VIEW_KEY,
|
|
30
|
-
title: text('draw.io Workbench', 'draw.io 绘图工作台'),
|
|
31
|
-
description: text('Create, review, edit, version, import, export, and convert Agent-generated diagrams.', '创建、审核、编辑、版本化、导入导出并转换 Agent 生成的图形。'),
|
|
32
|
-
icon: {
|
|
33
|
-
type: 'svg',
|
|
34
|
-
value: DRAWIO_ICON,
|
|
35
|
-
color: '#f59e0b',
|
|
36
|
-
alt: 'draw.io'
|
|
37
|
-
},
|
|
38
|
-
hostType: 'agent',
|
|
39
|
-
slot,
|
|
40
|
-
order: 40,
|
|
41
|
-
refreshable: true,
|
|
42
|
-
activation: {
|
|
43
|
-
requiredFeatures: [DRAWIO_FEATURE]
|
|
44
|
-
},
|
|
45
|
-
...(fixed
|
|
46
|
-
? {
|
|
47
|
-
workbench: {
|
|
48
|
-
fixed: true,
|
|
49
|
-
menu: {
|
|
50
|
-
enabled: true,
|
|
51
|
-
label: text('draw.io', 'draw.io 绘图'),
|
|
52
|
-
order: 40,
|
|
53
|
-
icon: {
|
|
54
|
-
type: 'svg',
|
|
55
|
-
value: DRAWIO_ICON,
|
|
56
|
-
alt: 'draw.io'
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
: {}),
|
|
62
|
-
source: {
|
|
63
|
-
provider: DRAWIO_PROVIDER_KEY,
|
|
64
|
-
plugin: DRAWIO_PLUGIN_NAME
|
|
65
|
-
},
|
|
66
|
-
view: {
|
|
67
|
-
type: 'remote_component',
|
|
68
|
-
runtime: 'react',
|
|
69
|
-
protocolVersion: 1,
|
|
70
|
-
component: {
|
|
71
|
-
isolation: 'iframe',
|
|
72
|
-
entry: DRAWIO_REMOTE_ENTRY_KEY
|
|
73
|
-
},
|
|
74
|
-
dataSource: {
|
|
75
|
-
mode: 'platform'
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
dataSource: {
|
|
79
|
-
mode: 'platform',
|
|
80
|
-
querySchema: {
|
|
81
|
-
supportsPagination: true,
|
|
82
|
-
supportsSearch: true,
|
|
83
|
-
supportsParameters: true,
|
|
84
|
-
defaultPageSize: 20
|
|
85
|
-
},
|
|
86
|
-
cache: {
|
|
87
|
-
enabled: false
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
hostEvents: {
|
|
91
|
-
subscriptions: [
|
|
92
|
-
{
|
|
93
|
-
key: 'drawio-tool-completed',
|
|
94
|
-
event: 'assistant.tool.completed',
|
|
95
|
-
filter: {
|
|
96
|
-
sources: ['chatkit'],
|
|
97
|
-
toolNames: [...DRAWIO_MIDDLEWARE_TOOL_NAMES]
|
|
98
|
-
},
|
|
99
|
-
action: {
|
|
100
|
-
type: 'forward',
|
|
101
|
-
debounceMs: 1000
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
]
|
|
105
|
-
},
|
|
106
|
-
clientCommands: [
|
|
107
|
-
{
|
|
108
|
-
key: ASSISTANT_CHAT_SEND_MESSAGE_COMMAND,
|
|
109
|
-
label: text('Send to Assistant Chat', '发送到 Assistant 对话')
|
|
110
|
-
}
|
|
111
|
-
],
|
|
112
|
-
actions: [
|
|
113
|
-
{ key: 'refresh', label: text('Refresh', '刷新'), icon: 'ri-refresh-line', placement: 'toolbar', actionType: 'refresh' },
|
|
114
|
-
{ key: 'create_drawing', label: text('New Drawing', '新建图形'), icon: 'ri-add-line', placement: 'toolbar', actionType: 'invoke' },
|
|
115
|
-
{ key: 'save_scene_version', label: text('Save Version', '保存版本'), icon: 'ri-save-line', placement: 'toolbar', actionType: 'invoke' },
|
|
116
|
-
{ key: 'restore_version', label: text('Restore Version', '恢复版本'), icon: 'ri-history-line', actionType: 'invoke' },
|
|
117
|
-
{ key: 'mark_reviewed', label: text('Mark Reviewed', '标记已审核'), icon: 'ri-check-line', actionType: 'invoke' },
|
|
118
|
-
{ key: 'mark_draft', label: text('Move Back to Draft', '退回草稿'), icon: 'ri-edit-line', actionType: 'invoke' },
|
|
119
|
-
{ key: 'archive_drawing', label: text('Archive Drawing', '归档图形'), icon: 'ri-archive-line', actionType: 'invoke' },
|
|
120
|
-
{
|
|
121
|
-
key: 'import_scene_file',
|
|
122
|
-
label: text('Import draw.io File', '导入 draw.io 文件'),
|
|
123
|
-
icon: 'ri-upload-cloud-line',
|
|
124
|
-
placement: 'toolbar',
|
|
125
|
-
actionType: 'invoke',
|
|
126
|
-
transport: 'file'
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
key: 'save_converted_mermaid_scene',
|
|
130
|
-
label: text('Save Converted Mermaid Scene', '保存 Mermaid 转换结果'),
|
|
131
|
-
icon: 'ri-git-branch-line',
|
|
132
|
-
actionType: 'invoke'
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
key: 'prepare_agent_draw_message',
|
|
136
|
-
label: text('Ask Assistant to Draw', '让 Assistant 绘图'),
|
|
137
|
-
icon: 'ri-send-plane-line',
|
|
138
|
-
placement: 'toolbar',
|
|
139
|
-
actionType: 'invoke'
|
|
140
|
-
}
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
];
|
|
144
|
-
}
|
|
145
|
-
async getRemoteComponentEntry(_context, viewKey, component) {
|
|
146
|
-
if (viewKey !== DRAWIO_WORKBENCH_VIEW_KEY || component.entry !== DRAWIO_REMOTE_ENTRY_KEY) {
|
|
147
|
-
return {
|
|
148
|
-
html: '<!doctype html><html><body>Unsupported draw.io component.</body></html>',
|
|
149
|
-
contentType: 'text/html; charset=utf-8'
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
const componentDir = join(__dirname, 'remote-components', DRAWIO_REMOTE_ENTRY_KEY);
|
|
153
|
-
const appScript = await readFile(join(componentDir, 'app.js'), 'utf8');
|
|
154
|
-
const appCssPath = join(componentDir, 'app.css');
|
|
155
|
-
const appCss = existsSync(appCssPath) ? await readFile(appCssPath, 'utf8') : '';
|
|
156
|
-
const react = await readPackageFile('react', 'umd/react.production.min.js');
|
|
157
|
-
const reactDom = await readPackageFile('react-dom', 'umd/react-dom.production.min.js');
|
|
158
|
-
return {
|
|
159
|
-
html: renderRemoteReactIframeHtml({
|
|
160
|
-
title: 'draw.io Workbench',
|
|
161
|
-
lang: 'zh-Hans',
|
|
162
|
-
reactUmd: react,
|
|
163
|
-
reactDomUmd: reactDom,
|
|
164
|
-
appScript,
|
|
165
|
-
appCss
|
|
166
|
-
}),
|
|
167
|
-
contentType: 'text/html; charset=utf-8'
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
async getViewData(context, viewKey, query) {
|
|
171
|
-
if (viewKey !== DRAWIO_WORKBENCH_VIEW_KEY) {
|
|
172
|
-
return {};
|
|
173
|
-
}
|
|
174
|
-
return this.service.getWorkbenchData(scopeFromContext(context), {
|
|
175
|
-
drawingId: getStringParameter(query.parameters, 'drawingId') ?? query.selectionId,
|
|
176
|
-
status: getStringParameter(query.parameters, 'status'),
|
|
177
|
-
kind: getStringParameter(query.parameters, 'kind'),
|
|
178
|
-
search: query.search,
|
|
179
|
-
page: query.page,
|
|
180
|
-
pageSize: query.pageSize
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
async executeViewAction(context, viewKey, actionKey, request) {
|
|
184
|
-
if (viewKey !== DRAWIO_WORKBENCH_VIEW_KEY) {
|
|
185
|
-
return failure('Unsupported view', '不支持的视图');
|
|
186
|
-
}
|
|
187
|
-
try {
|
|
188
|
-
const scope = scopeFromContext(context);
|
|
189
|
-
if (actionKey === 'refresh') {
|
|
190
|
-
return success('draw.io view refreshed', 'draw.io 视图已刷新');
|
|
191
|
-
}
|
|
192
|
-
if (actionKey === 'create_drawing') {
|
|
193
|
-
const result = await this.service.createDrawing(scope, {
|
|
194
|
-
title: requireStringInput(request.input, 'title', 'Diagram title is required.'),
|
|
195
|
-
description: getStringInput(request.input, 'description'),
|
|
196
|
-
kind: getStringInput(request.input, 'kind'),
|
|
197
|
-
tags: getStringArrayInput(request.input, 'tags'),
|
|
198
|
-
source: 'workbench'
|
|
199
|
-
});
|
|
200
|
-
return {
|
|
201
|
-
...success('Diagram created', '图形已创建'),
|
|
202
|
-
data: result
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
if (actionKey === 'save_scene_version' || actionKey === 'save_converted_mermaid_scene') {
|
|
206
|
-
const drawingId = requireDrawingId(request);
|
|
207
|
-
const result = await this.service.saveSceneVersion(scope, {
|
|
208
|
-
drawingId,
|
|
209
|
-
xml: getStringInput(request.input, 'xml'),
|
|
210
|
-
mermaidSource: getStringInput(request.input, 'mermaidSource'),
|
|
211
|
-
previewSvg: getStringInput(request.input, 'previewSvg'),
|
|
212
|
-
previewPng: getStringInput(request.input, 'previewPng'),
|
|
213
|
-
descriptor: getRecordInput(request.input, 'descriptor'),
|
|
214
|
-
sourceType: actionKey === 'save_converted_mermaid_scene' ? 'workbench_mermaid' : 'workbench',
|
|
215
|
-
changeSummary: getStringInput(request.input, 'changeSummary')
|
|
216
|
-
});
|
|
217
|
-
return {
|
|
218
|
-
...success('Diagram version saved', '图形版本已保存'),
|
|
219
|
-
data: result
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
if (actionKey === 'restore_version') {
|
|
223
|
-
const result = await this.service.restoreVersion(scope, requireDrawingId(request), requireStringInput(request.input, 'versionId', 'Version id is required.'), getStringInput(request.input, 'changeSummary'));
|
|
224
|
-
return {
|
|
225
|
-
...success('Diagram version restored', '图形版本已恢复'),
|
|
226
|
-
data: result
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
if (actionKey === 'archive_drawing') {
|
|
230
|
-
const result = await this.service.updateDrawingStatus(scope, {
|
|
231
|
-
drawingId: requireDrawingId(request),
|
|
232
|
-
status: 'archived',
|
|
233
|
-
reason: getStringInput(request.input, 'reason')
|
|
234
|
-
});
|
|
235
|
-
return {
|
|
236
|
-
...success('Diagram archived', '图形已归档'),
|
|
237
|
-
data: result
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
if (actionKey === 'mark_reviewed' || actionKey === 'mark_draft') {
|
|
241
|
-
const status = actionKey === 'mark_reviewed' ? 'reviewed' : 'draft';
|
|
242
|
-
const result = await this.service.updateDrawingStatus(scope, {
|
|
243
|
-
drawingId: requireDrawingId(request),
|
|
244
|
-
status,
|
|
245
|
-
reason: getStringInput(request.input, 'reason')
|
|
246
|
-
});
|
|
247
|
-
return {
|
|
248
|
-
...success(status === 'reviewed' ? 'Diagram marked as reviewed' : 'Diagram moved back to draft', status === 'reviewed' ? '图形已标记为已审核' : '图形已退回草稿'),
|
|
249
|
-
data: result
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
if (actionKey === 'prepare_agent_draw_message') {
|
|
253
|
-
const prompt = requireStringInput(request.input, 'prompt', 'Drawing request is required.');
|
|
254
|
-
return {
|
|
255
|
-
...success('Assistant draw request prepared', 'Assistant 绘图请求已准备'),
|
|
256
|
-
data: {
|
|
257
|
-
commandKey: ASSISTANT_CHAT_SEND_MESSAGE_COMMAND,
|
|
258
|
-
payload: {
|
|
259
|
-
text: buildAgentDrawPrompt(prompt, getStringInput(request.input, 'drawingId'))
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
refresh: false
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
return failure('Unsupported action', '不支持的操作');
|
|
266
|
-
}
|
|
267
|
-
catch (error) {
|
|
268
|
-
const message = getActionErrorMessage(error, 'draw.io action failed');
|
|
269
|
-
return {
|
|
270
|
-
success: false,
|
|
271
|
-
message: text(message, message)
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
async executeViewFileAction(context, viewKey, actionKey, request, file) {
|
|
276
|
-
if (viewKey !== DRAWIO_WORKBENCH_VIEW_KEY) {
|
|
277
|
-
return failure('Unsupported view', '不支持的视图');
|
|
278
|
-
}
|
|
279
|
-
if (actionKey !== 'import_scene_file') {
|
|
280
|
-
return failure('Unsupported file action', '不支持的文件操作');
|
|
281
|
-
}
|
|
282
|
-
try {
|
|
283
|
-
const scene = parseDrawioFile(file);
|
|
284
|
-
const drawingId = getStringInput(request.input, 'drawingId') ?? getStringParameter(request.parameters, 'drawingId');
|
|
285
|
-
const scope = scopeFromContext(context);
|
|
286
|
-
const result = drawingId
|
|
287
|
-
? await this.service.saveSceneVersion(scope, {
|
|
288
|
-
drawingId,
|
|
289
|
-
xml: scene.xml,
|
|
290
|
-
mermaidSource: scene.mermaidSource,
|
|
291
|
-
previewSvg: scene.previewSvg,
|
|
292
|
-
previewPng: scene.previewPng,
|
|
293
|
-
descriptor: scene.descriptor,
|
|
294
|
-
sourceType: 'import',
|
|
295
|
-
changeSummary: `Imported ${file.originalname ?? 'draw.io file'}`
|
|
296
|
-
})
|
|
297
|
-
: await this.service.createDrawing(scope, {
|
|
298
|
-
title: getStringInput(request.input, 'title') ?? removeDrawioExtension(file.originalname) ?? 'Imported draw.io Diagram',
|
|
299
|
-
description: getStringInput(request.input, 'description'),
|
|
300
|
-
kind: 'diagram',
|
|
301
|
-
source: 'import',
|
|
302
|
-
xml: scene.xml,
|
|
303
|
-
mermaidSource: scene.mermaidSource,
|
|
304
|
-
previewSvg: scene.previewSvg,
|
|
305
|
-
previewPng: scene.previewPng,
|
|
306
|
-
descriptor: scene.descriptor,
|
|
307
|
-
changeSummary: `Imported ${file.originalname ?? 'draw.io file'}`
|
|
308
|
-
});
|
|
309
|
-
return {
|
|
310
|
-
...success('draw.io file imported', 'draw.io 文件已导入'),
|
|
311
|
-
data: result
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
catch (error) {
|
|
315
|
-
const message = getActionErrorMessage(error, 'Failed to import draw.io file');
|
|
316
|
-
return {
|
|
317
|
-
success: false,
|
|
318
|
-
message: text(message, message)
|
|
319
|
-
};
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
};
|
|
323
|
-
DrawioViewProvider = __decorate([
|
|
324
|
-
Injectable(),
|
|
325
|
-
ViewExtensionProvider(DRAWIO_PROVIDER_KEY),
|
|
326
|
-
__metadata("design:paramtypes", [DrawioService])
|
|
327
|
-
], DrawioViewProvider);
|
|
328
|
-
export { DrawioViewProvider };
|
|
329
|
-
async function readPackageFile(packageName, relativePath) {
|
|
330
|
-
const packageRoot = dirname(requireFromHere.resolve(`${packageName}/package.json`));
|
|
331
|
-
return readFile(join(packageRoot, relativePath), 'utf8');
|
|
332
|
-
}
|
|
333
|
-
function scopeFromContext(context) {
|
|
334
|
-
return {
|
|
335
|
-
tenantId: context.tenantId,
|
|
336
|
-
organizationId: context.organizationId ?? null,
|
|
337
|
-
workspaceId: context.workspaceId ?? null,
|
|
338
|
-
projectId: null,
|
|
339
|
-
userId: context.userId,
|
|
340
|
-
assistantId: context.hostType === 'agent' ? context.hostId : null
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
|
-
function success(en_US, zh_Hans) {
|
|
344
|
-
return {
|
|
345
|
-
success: true,
|
|
346
|
-
message: text(en_US, zh_Hans),
|
|
347
|
-
refresh: true
|
|
348
|
-
};
|
|
349
|
-
}
|
|
350
|
-
function failure(en_US, zh_Hans) {
|
|
351
|
-
return {
|
|
352
|
-
success: false,
|
|
353
|
-
message: text(en_US, zh_Hans)
|
|
354
|
-
};
|
|
355
|
-
}
|
|
356
|
-
function requireDrawingId(request) {
|
|
357
|
-
return (getStringInput(request.input, 'drawingId') ??
|
|
358
|
-
getStringParameter(request.parameters, 'drawingId') ??
|
|
359
|
-
requireString(request.targetId, 'Drawing id is required.'));
|
|
360
|
-
}
|
|
361
|
-
function requireStringInput(input, key, message) {
|
|
362
|
-
return requireString(getStringInput(input, key), message);
|
|
363
|
-
}
|
|
364
|
-
function requireString(value, message) {
|
|
365
|
-
const normalized = value?.trim();
|
|
366
|
-
if (!normalized) {
|
|
367
|
-
throw new Error(message);
|
|
368
|
-
}
|
|
369
|
-
return normalized;
|
|
370
|
-
}
|
|
371
|
-
function getStringInput(input, key) {
|
|
372
|
-
const value = input?.[key];
|
|
373
|
-
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
|
|
374
|
-
}
|
|
375
|
-
function getStringArrayInput(input, key) {
|
|
376
|
-
const value = input?.[key];
|
|
377
|
-
if (!Array.isArray(value)) {
|
|
378
|
-
return undefined;
|
|
379
|
-
}
|
|
380
|
-
return value.filter((item) => typeof item === 'string' && item.trim().length > 0).map((item) => item.trim());
|
|
381
|
-
}
|
|
382
|
-
function getRecordInput(input, key) {
|
|
383
|
-
const value = input?.[key];
|
|
384
|
-
return value && typeof value === 'object' && !Array.isArray(value) ? value : {};
|
|
385
|
-
}
|
|
386
|
-
function getStringParameter(parameters, key) {
|
|
387
|
-
const value = parameters?.[key];
|
|
388
|
-
if (typeof value === 'string' && value.trim()) {
|
|
389
|
-
return value.trim();
|
|
390
|
-
}
|
|
391
|
-
return undefined;
|
|
392
|
-
}
|
|
393
|
-
function getActionErrorMessage(error, fallback) {
|
|
394
|
-
return error instanceof Error && error.message ? error.message : fallback;
|
|
395
|
-
}
|
|
396
|
-
function parseDrawioFile(file) {
|
|
397
|
-
const raw = file.buffer.toString('utf8');
|
|
398
|
-
const trimmed = raw.trim();
|
|
399
|
-
if (trimmed.startsWith('{')) {
|
|
400
|
-
const parsed = JSON.parse(trimmed);
|
|
401
|
-
return {
|
|
402
|
-
xml: typeof parsed.xml === 'string' ? parsed.xml : null,
|
|
403
|
-
mermaidSource: typeof parsed.mermaidSource === 'string' ? parsed.mermaidSource : null,
|
|
404
|
-
previewSvg: typeof parsed.previewSvg === 'string' ? parsed.previewSvg : null,
|
|
405
|
-
previewPng: typeof parsed.previewPng === 'string' ? parsed.previewPng : null,
|
|
406
|
-
descriptor: parsed.descriptor && typeof parsed.descriptor === 'object' && !Array.isArray(parsed.descriptor)
|
|
407
|
-
? parsed.descriptor
|
|
408
|
-
: {}
|
|
409
|
-
};
|
|
410
|
-
}
|
|
411
|
-
return {
|
|
412
|
-
xml: trimmed,
|
|
413
|
-
mermaidSource: null,
|
|
414
|
-
previewSvg: trimmed.startsWith('<svg') ? trimmed : null,
|
|
415
|
-
previewPng: null,
|
|
416
|
-
descriptor: {}
|
|
417
|
-
};
|
|
418
|
-
}
|
|
419
|
-
function removeDrawioExtension(name) {
|
|
420
|
-
const normalized = name?.trim();
|
|
421
|
-
if (!normalized) {
|
|
422
|
-
return undefined;
|
|
423
|
-
}
|
|
424
|
-
return normalized.replace(/\.(drawio|diagram|xml)(?:\.json)?$/i, '').replace(/\.json$/i, '') || normalized;
|
|
425
|
-
}
|
|
426
|
-
function buildAgentDrawPrompt(prompt, drawingId) {
|
|
427
|
-
const context = drawingId ? `请更新当前 draw.io 图形 drawingId=${drawingId}。` : '请创建一张新的 draw.io 图形。';
|
|
428
|
-
return `${context}
|
|
429
|
-
|
|
430
|
-
用户绘图需求:
|
|
431
|
-
${prompt}
|
|
432
|
-
|
|
433
|
-
请优先判断是否适合 Mermaid 草稿;流程图、架构流、状态流可调用 drawio_save_mermaid_draft。需要精确布局或自由图形时,生成 diagrams.net/draw.io XML 并调用 drawio_create_diagram、drawio_save_scene_version 或 drawio_patch_scene。更新已有图形前先调用 drawio_get_diagram。`;
|
|
434
|
-
}
|
|
435
|
-
//# sourceMappingURL=drawio-view.provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawio-view.provider.js","sourceRoot":"","sources":["../../src/lib/drawio-view.provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAYxC,OAAO,EAEL,2BAA2B,EAC3B,qBAAqB,EAEtB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,mCAAmC,EACnC,cAAc,EACd,WAAW,EACX,4BAA4B,EAC5B,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AACrC,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;AACjD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;AAI1E,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,QAAQ,CAAC,OAAqC;QAC5C,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;IACrC,CAAC;IAED,gBAAgB,CAAC,OAAqC,EAAE,IAAY;QAClE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,0BAA0B,CAAC,EAAE,CAAC;YAChH,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,0BAA0B,CAAA;QAEjD,OAAO;YACL;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;gBACjD,WAAW,EAAE,IAAI,CACf,sFAAsF,EACtF,mCAAmC,CACpC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,SAAS;iBACf;gBACD,QAAQ,EAAE,OAAO;gBACjB,IAAI;gBACJ,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE;oBACV,gBAAgB,EAAE,CAAC,cAAc,CAAC;iBACnC;gBACD,GAAG,CAAC,KAAK;oBACP,CAAC,CAAC;wBACE,SAAS,EAAE;4BACT,KAAK,EAAE,IAAI;4BACX,IAAI,EAAE;gCACJ,OAAO,EAAE,IAAI;gCACb,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;gCACpC,KAAK,EAAE,EAAE;gCACT,IAAI,EAAE;oCACJ,IAAI,EAAE,KAAK;oCACX,KAAK,EAAE,WAAW;oCAClB,GAAG,EAAE,SAAS;iCACf;6BACF;yBACF;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,EAAE;oBACN,QAAQ,EAAE,mBAAmB;oBAC7B,MAAM,EAAE,kBAAkB;iBAC3B;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,OAAO;oBAChB,eAAe,EAAE,CAAC;oBAClB,SAAS,EAAE;wBACT,SAAS,EAAE,QAAQ;wBACnB,KAAK,EAAE,uBAAuB;qBAC/B;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,UAAU;qBACjB;iBACF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE;wBACX,kBAAkB,EAAE,IAAI;wBACxB,cAAc,EAAE,IAAI;wBACpB,kBAAkB,EAAE,IAAI;wBACxB,eAAe,EAAE,EAAE;qBACpB;oBACD,KAAK,EAAE;wBACL,OAAO,EAAE,KAAK;qBACf;iBACF;gBACD,UAAU,EAAE;oBACV,aAAa,EAAE;wBACb;4BACE,GAAG,EAAE,uBAAuB;4BAC5B,KAAK,EAAE,0BAA0B;4BACjC,MAAM,EAAE;gCACN,OAAO,EAAE,CAAC,SAAS,CAAC;gCACpB,SAAS,EAAE,CAAC,GAAG,4BAA4B,CAAC;6BAC7C;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,SAAS;gCACf,UAAU,EAAE,IAAI;6BACjB;yBACF;qBACF;iBACF;gBACD,cAAc,EAAE;oBACd;wBACE,GAAG,EAAE,mCAAmC;wBACxC,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;qBAC1D;iBACF;gBACD,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE;oBACtH,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;oBAC9H,EAAE,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE;oBACpI,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE;oBACjH,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE;oBAC5G,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE;oBAC5G,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE;oBACjH;wBACE,GAAG,EAAE,mBAAmB;wBACxB,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC;wBACnD,IAAI,EAAE,sBAAsB;wBAC5B,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,QAAQ;wBACpB,SAAS,EAAE,MAAM;qBAClB;oBACD;wBACE,GAAG,EAAE,8BAA8B;wBACnC,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,iBAAiB,CAAC;wBAC9D,IAAI,EAAE,oBAAoB;wBAC1B,UAAU,EAAE,QAAQ;qBACrB;oBACD;wBACE,GAAG,EAAE,4BAA4B;wBACjC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;wBACtD,IAAI,EAAE,oBAAoB;wBAC1B,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,QAAQ;qBACrB;iBACF;aACF;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,QAAsC,EACtC,OAAe,EACf,SAAsD;QAEtD,IAAI,OAAO,KAAK,yBAAyB,IAAI,SAAS,CAAC,KAAK,KAAK,uBAAuB,EAAE,CAAC;YACzF,OAAO;gBACL,IAAI,EAAE,yEAAyE;gBAC/E,WAAW,EAAE,0BAA0B;aACxC,CAAA;QACH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAAA;QAClF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAA;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAA;QAC3E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAA;QAEtF,OAAO;YACL,IAAI,EAAE,2BAA2B,CAAC;gBAChC,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,QAAQ;gBACrB,SAAS;gBACT,MAAM;aACP,CAAC;YACF,WAAW,EAAE,0BAA0B;SACxC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAqC,EACrC,OAAe,EACf,KAAqB;QAErB,IAAI,OAAO,KAAK,yBAAyB,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;YAC9D,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW;YACjF,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAoC;YACzF,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAkC;YACnF,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,OAAqC,EACrC,OAAe,EACf,SAAiB,EACjB,OAA+B;QAE/B,IAAI,OAAO,KAAK,yBAAyB,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;YACvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC,wBAAwB,EAAE,eAAe,CAAC,CAAA;YAC3D,CAAC;YAED,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;oBACrD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,4BAA4B,CAAC;oBAC/E,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC;oBACzD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAkC;oBAC5E,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;oBAChD,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAA;gBACF,OAAO;oBACL,GAAG,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;oBACtC,IAAI,EAAE,MAAM;iBACb,CAAA;YACH,CAAC;YAED,IAAI,SAAS,KAAK,oBAAoB,IAAI,SAAS,KAAK,8BAA8B,EAAE,CAAC;gBACvF,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;oBACxD,SAAS;oBACT,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;oBACzC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC;oBAC7D,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;oBACvD,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;oBACvD,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;oBACvD,UAAU,EAAE,SAAS,KAAK,8BAA8B,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW;oBAC5F,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC;iBAC9D,CAAC,CAAA;gBACF,OAAO;oBACL,GAAG,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC;oBAC9C,IAAI,EAAE,MAAM;iBACb,CAAA;YACH,CAAC;YAED,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,KAAK,EACL,gBAAgB,CAAC,OAAO,CAAC,EACzB,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,yBAAyB,CAAC,EACzE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAC/C,CAAA;gBACD,OAAO;oBACL,GAAG,OAAO,CAAC,0BAA0B,EAAE,SAAS,CAAC;oBACjD,IAAI,EAAE,MAAM;iBACb,CAAA;YACH,CAAC;YAED,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE;oBAC3D,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC;oBACpC,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;iBAChD,CAAC,CAAA;gBACF,OAAO;oBACL,GAAG,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;oBACvC,IAAI,EAAE,MAAM;iBACb,CAAA;YACH,CAAC;YAED,IAAI,SAAS,KAAK,eAAe,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAG,SAAS,KAAK,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAA;gBACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE;oBAC3D,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC;oBACpC,MAAM;oBACN,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;iBAChD,CAAC,CAAA;gBACF,OAAO;oBACL,GAAG,OAAO,CACR,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,6BAA6B,EACpF,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAChD;oBACD,IAAI,EAAE,MAAM;iBACb,CAAA;YACH,CAAC;YAED,IAAI,SAAS,KAAK,4BAA4B,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAA;gBAC1F,OAAO;oBACL,GAAG,OAAO,CAAC,iCAAiC,EAAE,mBAAmB,CAAC;oBAClE,IAAI,EAAE;wBACJ,UAAU,EAAE,mCAAmC;wBAC/C,OAAO,EAAE;4BACP,IAAI,EAAE,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;yBAC/E;qBACF;oBACD,OAAO,EAAE,KAAK;iBACf,CAAA;YACH,CAAC;YAED,OAAO,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAA;YACvE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aAChC,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,OAAqC,EACrC,OAAe,EACf,SAAiB,EACjB,OAA+B,EAC/B,IAA6B;QAE7B,IAAI,OAAO,KAAK,yBAAyB,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YACnH,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,SAAS;gBACtB,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;oBACzC,SAAS;oBACT,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,QAAQ;oBACpB,aAAa,EAAE,YAAY,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE;iBACjE,CAAC;gBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;oBACtC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,0BAA0B;oBACvH,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC;oBACzD,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,QAAQ;oBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,aAAa,EAAE,YAAY,IAAI,CAAC,YAAY,IAAI,cAAc,EAAE;iBACjE,CAAC,CAAA;YAEN,OAAO;gBACL,GAAG,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC;gBACpD,IAAI,EAAE,MAAM;aACb,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAA;YAC7E,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;aAChC,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAhWY,kBAAkB;IAF9B,UAAU,EAAE;IACZ,qBAAqB,CAAC,mBAAmB,CAAC;qCAEH,aAAa;GADxC,kBAAkB,CAgW9B;;AAED,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,YAAoB;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,WAAW,eAAe,CAAC,CAAC,CAAA;IACnF,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqC;IAC7D,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;QAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QACxC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,WAAW,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KAClE,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,OAAe;IAC7C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QAC7B,OAAO,EAAE,IAAI;KACd,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,OAAe;IAC7C,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;KAC9B,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA+B;IACvD,OAAO,CACL,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;QAC1C,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;QACnD,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAC3D,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAsC,EAAE,GAAW,EAAE,OAAe;IAC9F,OAAO,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB,EAAE,OAAe;IAC/D,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAsC,EAAE,GAAW;IACzE,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsC,EAAE,GAAW;IAC9E,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;AAC9H,CAAC;AAED,SAAS,cAAc,CAAC,KAAsC,EAAE,GAAW;IACzE,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9G,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA+E,EAAE,GAAW;IACtH,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;IACrB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAgB;IAC7D,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,IAA6B;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAA;QAC7D,OAAO;YACL,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACvD,aAAa,EAAE,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;YACrF,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YAC5E,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;YAC5E,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzG,CAAC,CAAE,MAAM,CAAC,UAAsC;gBAChD,CAAC,CAAC,EAAE;SACP,CAAA;IACH,CAAC;IACD,OAAO;QACL,GAAG,EAAE,OAAO;QACZ,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACvD,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,EAAE;KACf,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAwB;IACrD,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,CAAA;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,UAAU,CAAA;AAC5G,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,SAAkB;IAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,8BAA8B,SAAS,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAA;IAC9F,OAAO,GAAG,OAAO;;;EAGjB,MAAM;;+MAEuM,CAAA;AAC/M,CAAC"}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Injectable } from '@nestjs/common';
|
|
3
|
-
import { tool } from '@langchain/core/tools';
|
|
4
|
-
import { AgentMiddlewareStrategy, RequestContext } from '@xpert-ai/plugin-sdk';
|
|
5
|
-
import { z } from 'zod/v3';
|
|
6
|
-
import { DRAWIO_CREATE_DRAWING_TOOL_NAME, DRAWIO_FEATURE, DRAWIO_GET_DRAWING_TOOL_NAME, DRAWIO_ICON, DRAWIO_MIDDLEWARE_NAME, DRAWIO_PATCH_SCENE_TOOL_NAME, DRAWIO_REPORT_FAILURE_TOOL_NAME, DRAWIO_SAVE_MERMAID_DRAFT_TOOL_NAME, DRAWIO_SAVE_SCENE_VERSION_TOOL_NAME, DRAWIO_SEARCH_DRAWINGS_TOOL_NAME, DRAWIO_UPDATE_DRAWING_STATUS_TOOL_NAME } from './constants.js';
|
|
7
|
-
import { DrawioService } from './drawio.service.js';
|
|
8
|
-
const drawingKindSchema = z.enum(['diagram', 'flowchart', 'architecture', 'network', 'wireframe', 'sequence', 'other']);
|
|
9
|
-
const drawingStatusSchema = z.enum(['draft', 'reviewed', 'archived']);
|
|
10
|
-
const versionSourceSchema = z.enum(['agent_xml', 'agent_patch', 'agent_mermaid', 'workbench', 'workbench_mermaid', 'import', 'restore']);
|
|
11
|
-
const recordSchema = z.record(z.unknown());
|
|
12
|
-
const sceneSchema = z.object({
|
|
13
|
-
xml: z.string().optional().describe('draw.io XML, usually an <mxfile> or <mxGraphModel> document.'),
|
|
14
|
-
mermaidSource: z.string().optional().describe('Original Mermaid source when this diagram came from Mermaid.'),
|
|
15
|
-
previewSvg: z.string().optional().describe('Optional SVG preview exported from diagrams.net.'),
|
|
16
|
-
previewPng: z.string().optional().describe('Optional PNG data URI preview exported from diagrams.net.'),
|
|
17
|
-
descriptor: recordSchema.optional().describe('Optional diagrams.net JSON protocol descriptor, such as {format:"mermaid",data:"..."}')
|
|
18
|
-
});
|
|
19
|
-
const createDrawingSchema = sceneSchema.extend({
|
|
20
|
-
title: z.string().min(1).describe('Human-readable diagram title.'),
|
|
21
|
-
description: z.string().optional(),
|
|
22
|
-
kind: drawingKindSchema.optional(),
|
|
23
|
-
tags: z.array(z.string()).optional(),
|
|
24
|
-
source: z.string().optional().describe('Short source label, such as user_request, agent_plan, or imported_file.'),
|
|
25
|
-
changeSummary: z.string().optional().describe('Short summary for the initial version.')
|
|
26
|
-
});
|
|
27
|
-
const saveSceneVersionSchema = sceneSchema.extend({
|
|
28
|
-
drawingId: z.string().min(1).describe('Existing draw.io diagram id.'),
|
|
29
|
-
sourceType: versionSourceSchema.optional().describe('Where this version came from. Agent-created XML should use agent_xml.'),
|
|
30
|
-
changeSummary: z.string().optional()
|
|
31
|
-
});
|
|
32
|
-
const patchSceneSchema = sceneSchema.extend({
|
|
33
|
-
drawingId: z.string().min(1).describe('Existing draw.io diagram id.'),
|
|
34
|
-
changeSummary: z.string().optional()
|
|
35
|
-
});
|
|
36
|
-
const saveMermaidDraftSchema = z.object({
|
|
37
|
-
drawingId: z.string().optional().describe('Existing diagram id. Omit to create a new diagram for this Mermaid draft.'),
|
|
38
|
-
title: z.string().optional().describe('Required when drawingId is omitted; otherwise used only as context.'),
|
|
39
|
-
description: z.string().optional(),
|
|
40
|
-
kind: drawingKindSchema.optional(),
|
|
41
|
-
mermaidSource: z.string().min(1).describe('Mermaid diagram source. The Workbench loads it via diagrams.net descriptor import.'),
|
|
42
|
-
changeSummary: z.string().optional()
|
|
43
|
-
});
|
|
44
|
-
const searchDrawingsSchema = z.object({
|
|
45
|
-
status: drawingStatusSchema.optional(),
|
|
46
|
-
kind: drawingKindSchema.optional(),
|
|
47
|
-
search: z.string().optional(),
|
|
48
|
-
page: z.number().int().min(1).optional(),
|
|
49
|
-
pageSize: z.number().int().min(1).max(100).optional()
|
|
50
|
-
});
|
|
51
|
-
const getDrawingSchema = z.object({
|
|
52
|
-
drawingId: z.string().min(1)
|
|
53
|
-
});
|
|
54
|
-
const updateDrawingStatusSchema = z.object({
|
|
55
|
-
drawingId: z.string().min(1),
|
|
56
|
-
status: drawingStatusSchema,
|
|
57
|
-
reason: z.string().optional()
|
|
58
|
-
});
|
|
59
|
-
const reportFailureSchema = z.object({
|
|
60
|
-
drawingId: z.string().optional(),
|
|
61
|
-
versionId: z.string().optional(),
|
|
62
|
-
operation: z.string().min(1),
|
|
63
|
-
errorMessage: z.string().min(1),
|
|
64
|
-
recoverable: z.boolean().optional(),
|
|
65
|
-
evidence: z.unknown().optional()
|
|
66
|
-
});
|
|
67
|
-
let DrawioMiddleware = class DrawioMiddleware {
|
|
68
|
-
constructor(service) {
|
|
69
|
-
this.service = service;
|
|
70
|
-
this.meta = {
|
|
71
|
-
name: DRAWIO_MIDDLEWARE_NAME,
|
|
72
|
-
label: {
|
|
73
|
-
en_US: 'draw.io',
|
|
74
|
-
zh_Hans: 'draw.io 绘图'
|
|
75
|
-
},
|
|
76
|
-
description: {
|
|
77
|
-
en_US: 'Create, update, version, search, and recover draw.io diagrams from an Agent.',
|
|
78
|
-
zh_Hans: '让 Agent 创建、更新、版本化、检索和恢复 draw.io 图形。'
|
|
79
|
-
},
|
|
80
|
-
icon: {
|
|
81
|
-
type: 'svg',
|
|
82
|
-
value: DRAWIO_ICON,
|
|
83
|
-
color: '#f59e0b'
|
|
84
|
-
},
|
|
85
|
-
features: [DRAWIO_FEATURE],
|
|
86
|
-
configSchema: {
|
|
87
|
-
type: 'object',
|
|
88
|
-
properties: {},
|
|
89
|
-
required: []
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
createMiddleware(_options, context) {
|
|
94
|
-
const scope = scopeFromContext(context);
|
|
95
|
-
return {
|
|
96
|
-
name: DRAWIO_MIDDLEWARE_NAME,
|
|
97
|
-
tools: [
|
|
98
|
-
tool(async (input) => JSON.stringify(await this.service.createDrawing(scope, input), null, 2), {
|
|
99
|
-
name: DRAWIO_CREATE_DRAWING_TOOL_NAME,
|
|
100
|
-
description: 'Create a reviewable draw.io diagram. Include initial XML when you can produce valid diagrams.net XML; otherwise create a diagram and save a Mermaid draft.',
|
|
101
|
-
schema: createDrawingSchema
|
|
102
|
-
}),
|
|
103
|
-
tool(async (input) => JSON.stringify(await this.service.saveSceneVersion(scope, input), null, 2), {
|
|
104
|
-
name: DRAWIO_SAVE_SCENE_VERSION_TOOL_NAME,
|
|
105
|
-
description: 'Save a complete draw.io XML scene as a new version for an existing diagram. Call drawio_get_diagram first when updating a user-edited diagram.',
|
|
106
|
-
schema: saveSceneVersionSchema
|
|
107
|
-
}),
|
|
108
|
-
tool(async (input) => JSON.stringify(await this.service.patchScene(scope, input), null, 2), {
|
|
109
|
-
name: DRAWIO_PATCH_SCENE_TOOL_NAME,
|
|
110
|
-
description: 'Save a targeted replacement of the current draw.io XML, Mermaid source, descriptor, or preview fields as a new version.',
|
|
111
|
-
schema: patchSceneSchema
|
|
112
|
-
}),
|
|
113
|
-
tool(async (input) => JSON.stringify(await this.service.saveMermaidDraft(scope, input), null, 2), {
|
|
114
|
-
name: DRAWIO_SAVE_MERMAID_DRAFT_TOOL_NAME,
|
|
115
|
-
description: 'Save Mermaid source for conversion in the draw.io workbench. Use this for flowcharts, architecture flows, state diagrams, and sequence-style drafts.',
|
|
116
|
-
schema: saveMermaidDraftSchema
|
|
117
|
-
}),
|
|
118
|
-
tool(async (input) => JSON.stringify(await this.service.searchDrawings(scope, input), null, 2), {
|
|
119
|
-
name: DRAWIO_SEARCH_DRAWINGS_TOOL_NAME,
|
|
120
|
-
description: 'Search existing draw.io diagrams by status, kind, keyword, and pagination.',
|
|
121
|
-
schema: searchDrawingsSchema
|
|
122
|
-
}),
|
|
123
|
-
tool(async (input) => JSON.stringify(await this.service.getDrawing(scope, input.drawingId), null, 2), {
|
|
124
|
-
name: DRAWIO_GET_DRAWING_TOOL_NAME,
|
|
125
|
-
description: 'Get a diagram with current XML version, Mermaid source, version history, and recent action logs.',
|
|
126
|
-
schema: getDrawingSchema
|
|
127
|
-
}),
|
|
128
|
-
tool(async (input) => JSON.stringify(await this.service.updateDrawingStatus(scope, input), null, 2), {
|
|
129
|
-
name: DRAWIO_UPDATE_DRAWING_STATUS_TOOL_NAME,
|
|
130
|
-
description: 'Update a draw.io diagram status to draft, reviewed, or archived after user confirmation.',
|
|
131
|
-
schema: updateDrawingStatusSchema
|
|
132
|
-
}),
|
|
133
|
-
tool(async (input) => JSON.stringify(await this.service.reportFailure(scope, input), null, 2), {
|
|
134
|
-
name: DRAWIO_REPORT_FAILURE_TOOL_NAME,
|
|
135
|
-
description: 'Record a failed draw.io generation, XML import, Mermaid conversion, or export attempt with recoverability and evidence.',
|
|
136
|
-
schema: reportFailureSchema
|
|
137
|
-
})
|
|
138
|
-
]
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
DrawioMiddleware = __decorate([
|
|
143
|
-
Injectable(),
|
|
144
|
-
AgentMiddlewareStrategy(DRAWIO_MIDDLEWARE_NAME),
|
|
145
|
-
__metadata("design:paramtypes", [DrawioService])
|
|
146
|
-
], DrawioMiddleware);
|
|
147
|
-
export { DrawioMiddleware };
|
|
148
|
-
function scopeFromContext(context) {
|
|
149
|
-
return {
|
|
150
|
-
tenantId: context.tenantId,
|
|
151
|
-
organizationId: context.organizationId === undefined ? RequestContext.getOrganizationId() : context.organizationId,
|
|
152
|
-
workspaceId: context.workspaceId ?? null,
|
|
153
|
-
projectId: context.projectId ?? null,
|
|
154
|
-
userId: context.userId,
|
|
155
|
-
conversationId: context.conversationId ?? null,
|
|
156
|
-
assistantId: context.xpertId ?? null
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
//# sourceMappingURL=drawio.middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drawio.middleware.js","sourceRoot":"","sources":["../../src/lib/drawio.middleware.ts"],"names":[],"mappings":"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"}
|