@seastudio/sdk 3.0.0

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.
Files changed (77) hide show
  1. package/README.md +108 -0
  2. package/bin/seastudio.js +3 -0
  3. package/dist/chunk-4ITOR5QE.js +901 -0
  4. package/dist/chunk-5QAINQWV.js +94 -0
  5. package/dist/chunk-6USQFZRH.js +291 -0
  6. package/dist/chunk-AGBZJGTY.cjs +1311 -0
  7. package/dist/chunk-ANWOL7SM.js +566 -0
  8. package/dist/chunk-BWG45ZWF.cjs +305 -0
  9. package/dist/chunk-CVF4QHS6.cjs +436 -0
  10. package/dist/chunk-DDVRUPMZ.js +1293 -0
  11. package/dist/chunk-DSOSHJH2.js +643 -0
  12. package/dist/chunk-FLATZQA2.js +174 -0
  13. package/dist/chunk-HJJTBVKQ.cjs +909 -0
  14. package/dist/chunk-ISI2OLPI.cjs +179 -0
  15. package/dist/chunk-MYURVLGP.cjs +165 -0
  16. package/dist/chunk-N33Y5NY7.cjs +105 -0
  17. package/dist/chunk-QD4KISXM.js +160 -0
  18. package/dist/chunk-SNGU4SHO.cjs +654 -0
  19. package/dist/chunk-TFOJLA2F.cjs +588 -0
  20. package/dist/chunk-Z7LV7DCO.js +429 -0
  21. package/dist/develop-tool/cli/index.cjs +1138 -0
  22. package/dist/develop-tool/cli/index.d.cts +1 -0
  23. package/dist/develop-tool/cli/index.d.ts +1 -0
  24. package/dist/develop-tool/cli/index.js +1127 -0
  25. package/dist/index.cjs +370 -0
  26. package/dist/index.d.cts +11 -0
  27. package/dist/index.d.ts +11 -0
  28. package/dist/index.js +9 -0
  29. package/dist/mcp/core/index.cjs +90 -0
  30. package/dist/mcp/core/index.d.cts +124 -0
  31. package/dist/mcp/core/index.d.ts +124 -0
  32. package/dist/mcp/core/index.js +1 -0
  33. package/dist/mcp/index.cjs +317 -0
  34. package/dist/mcp/index.d.cts +123 -0
  35. package/dist/mcp/index.d.ts +123 -0
  36. package/dist/mcp/index.js +8 -0
  37. package/dist/mcp/plugin-editor/index.cjs +47 -0
  38. package/dist/mcp/plugin-editor/index.d.cts +98 -0
  39. package/dist/mcp/plugin-editor/index.d.ts +98 -0
  40. package/dist/mcp/plugin-editor/index.js +2 -0
  41. package/dist/mcp/plugin-excel/index.cjs +31 -0
  42. package/dist/mcp/plugin-excel/index.d.cts +86 -0
  43. package/dist/mcp/plugin-excel/index.d.ts +86 -0
  44. package/dist/mcp/plugin-excel/index.js +2 -0
  45. package/dist/mcp/plugin-preview/index.cjs +23 -0
  46. package/dist/mcp/plugin-preview/index.d.cts +109 -0
  47. package/dist/mcp/plugin-preview/index.d.ts +109 -0
  48. package/dist/mcp/plugin-preview/index.js +2 -0
  49. package/dist/mcp/plugin-seaflow/index.cjs +35 -0
  50. package/dist/mcp/plugin-seaflow/index.d.cts +318 -0
  51. package/dist/mcp/plugin-seaflow/index.d.ts +318 -0
  52. package/dist/mcp/plugin-seaflow/index.js +2 -0
  53. package/dist/mcp/seastudio/index.cjs +75 -0
  54. package/dist/mcp/seastudio/index.d.cts +341 -0
  55. package/dist/mcp/seastudio/index.d.ts +341 -0
  56. package/dist/mcp/seastudio/index.js +2 -0
  57. package/dist/tools-LMW67LIY.js +2 -0
  58. package/dist/tools-TU7PBMDO.cjs +23 -0
  59. package/dist/types-Clgf5gBf.d.cts +107 -0
  60. package/dist/types-Clgf5gBf.d.ts +107 -0
  61. package/dist/ui/index.cjs +58 -0
  62. package/dist/ui/index.d.cts +142 -0
  63. package/dist/ui/index.d.ts +142 -0
  64. package/dist/ui/index.js +1 -0
  65. package/package.json +115 -0
  66. package/src/develop-tool/templates/plugin/README.md.tmpl +36 -0
  67. package/src/develop-tool/templates/plugin/frontend/index.html.tmpl +12 -0
  68. package/src/develop-tool/templates/plugin/frontend/package.json.tmpl +30 -0
  69. package/src/develop-tool/templates/plugin/frontend/postcss.config.js +6 -0
  70. package/src/develop-tool/templates/plugin/frontend/src/App.css +43 -0
  71. package/src/develop-tool/templates/plugin/frontend/src/App.tsx.tmpl +43 -0
  72. package/src/develop-tool/templates/plugin/frontend/src/main.tsx +10 -0
  73. package/src/develop-tool/templates/plugin/frontend/src/vite-env.d.ts +1 -0
  74. package/src/develop-tool/templates/plugin/frontend/tsconfig.json +20 -0
  75. package/src/develop-tool/templates/plugin/frontend/vite.config.ts +12 -0
  76. package/src/develop-tool/templates/plugin/seastudio.config.json.tmpl +14 -0
  77. package/src/ui/cosmos.css +407 -0
@@ -0,0 +1,909 @@
1
+ 'use strict';
2
+
3
+ var chunkTFOJLA2F_cjs = require('./chunk-TFOJLA2F.cjs');
4
+
5
+ // src/mcp/plugin-seaflow/tools.ts
6
+ function annotateTool(tool, annotations, outputSchema) {
7
+ return {
8
+ ...tool,
9
+ annotations,
10
+ ...outputSchema ? { outputSchema } : {}
11
+ };
12
+ }
13
+ function annotateTools(tools2, getAnnotations, outputSchemas = {}) {
14
+ return tools2.map(
15
+ (tool) => annotateTool(tool, getAnnotations(tool), outputSchemas[tool.name])
16
+ );
17
+ }
18
+ var seaflowReadAnnotations = {
19
+ operationKind: "read",
20
+ requiresExecutionEvidence: false,
21
+ rawDomain: "seaflow"
22
+ };
23
+ var seaflowWorkflowAnnotations = {
24
+ operationKind: "workflow",
25
+ requiresExecutionEvidence: true,
26
+ rawDomain: "seaflow"
27
+ };
28
+ var seaflowLongRunningWorkflowAnnotations = {
29
+ ...seaflowWorkflowAnnotations,
30
+ hostForwarding: {
31
+ timeoutMs: 125e3
32
+ }
33
+ };
34
+ var runtimeDirectiveSchema = {
35
+ type: "object",
36
+ properties: {
37
+ kind: {
38
+ type: "string",
39
+ enum: ["call_tool", "await_tool_result", "finalize", "fail"]
40
+ },
41
+ toolName: { type: "string" },
42
+ input: { type: "object", additionalProperties: true },
43
+ finalText: { type: "string" },
44
+ reason: { type: "string" },
45
+ code: { type: "string" }
46
+ }
47
+ };
48
+ var seaflowOutputSchemas = {
49
+ "seaflow-canvas_workflow_context_get": {
50
+ type: "object",
51
+ properties: {
52
+ activeWorkflowId: { type: "string" },
53
+ graphId: { type: "string" },
54
+ version: { type: "number" },
55
+ nodeCount: { type: "number" },
56
+ edgeCount: { type: "number" },
57
+ viewport: {
58
+ type: "object",
59
+ properties: {
60
+ x: { type: "number" },
61
+ y: { type: "number" },
62
+ zoom: { type: "number" }
63
+ }
64
+ },
65
+ autosaveStorageKey: { type: "string" },
66
+ target: { type: "string" },
67
+ updatedAt: { type: "number" }
68
+ }
69
+ },
70
+ "seaflow-canvas_clear_canvas": {
71
+ type: "object",
72
+ properties: {
73
+ accepted: { type: "boolean" },
74
+ graphId: { type: "string" },
75
+ clearedNodeCount: { type: "number" },
76
+ clearedEdgeCount: { type: "number" },
77
+ viewport: {
78
+ type: "object",
79
+ properties: {
80
+ x: { type: "number" },
81
+ y: { type: "number" },
82
+ zoom: { type: "number" }
83
+ }
84
+ },
85
+ updatedAt: { type: "number" }
86
+ },
87
+ required: ["accepted"]
88
+ },
89
+ "seaflow-canvas_batch_apply": {
90
+ type: "object",
91
+ properties: {
92
+ accepted: { type: "boolean" },
93
+ nextVersion: { type: "number" },
94
+ appliedCount: { type: "number" },
95
+ conflicts: {
96
+ type: "array",
97
+ items: {
98
+ type: "object",
99
+ properties: {
100
+ code: { type: "string" },
101
+ message: { type: "string" },
102
+ operationIndex: { type: "number" }
103
+ }
104
+ }
105
+ }
106
+ },
107
+ required: ["accepted"]
108
+ },
109
+ "seaflow-canvas_execute_node": {
110
+ type: "object",
111
+ properties: {
112
+ accepted: { type: "boolean" },
113
+ taskId: { type: "string" },
114
+ target: { type: "string", enum: ["seaart", "staging"] },
115
+ status: {
116
+ type: "string",
117
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
118
+ },
119
+ reason: { type: "string" },
120
+ runtimeDirective: runtimeDirectiveSchema
121
+ },
122
+ required: ["accepted", "taskId", "status"]
123
+ },
124
+ "seaflow-canvas_get_task_state": {
125
+ type: "object",
126
+ properties: {
127
+ taskId: { type: "string" },
128
+ target: { type: "string" },
129
+ status: {
130
+ type: "string",
131
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
132
+ },
133
+ progress: { type: "number" },
134
+ message: { type: "string" },
135
+ updatedAt: { type: "number" }
136
+ }
137
+ },
138
+ "seaflow-canvas_execute_graph": {
139
+ type: "object",
140
+ properties: {
141
+ accepted: { type: "boolean" },
142
+ taskId: { type: "string" },
143
+ target: { type: "string", enum: ["seaart", "staging"] },
144
+ status: {
145
+ type: "string",
146
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
147
+ },
148
+ terminal: { type: "boolean", description: "\u6574\u56FE\u6267\u884C\u542F\u52A8\u7ED3\u679C\u9ED8\u8BA4\u662F\u975E\u7EC8\u6001" },
149
+ reason: { type: "string" },
150
+ runtimeDirective: runtimeDirectiveSchema
151
+ },
152
+ required: ["accepted", "taskId", "status", "terminal"]
153
+ },
154
+ "seaflow-canvas_workflow_open": {
155
+ type: "object",
156
+ properties: {
157
+ accepted: { type: "boolean" },
158
+ workflowId: { type: "string" },
159
+ source: { type: "string", enum: ["remote", "local"] },
160
+ nodeCount: { type: "number" },
161
+ edgeCount: { type: "number" },
162
+ name: { type: "string" },
163
+ viewport: {
164
+ type: "object",
165
+ properties: {
166
+ x: { type: "number" },
167
+ y: { type: "number" },
168
+ zoom: { type: "number" }
169
+ }
170
+ },
171
+ reason: { type: "string" }
172
+ },
173
+ required: ["accepted"]
174
+ },
175
+ "seaflow-canvas_workflow_save": {
176
+ type: "object",
177
+ properties: {
178
+ accepted: { type: "boolean" },
179
+ workflowId: { type: "string" },
180
+ localSaved: { type: "boolean" },
181
+ remoteSaved: { type: "boolean" },
182
+ remoteError: { type: "string" },
183
+ nodeCount: { type: "number" },
184
+ edgeCount: { type: "number" },
185
+ viewport: {
186
+ type: "object",
187
+ properties: {
188
+ x: { type: "number" },
189
+ y: { type: "number" },
190
+ zoom: { type: "number" }
191
+ }
192
+ },
193
+ updatedAt: { type: "string" },
194
+ reason: { type: "string" }
195
+ },
196
+ required: ["accepted"]
197
+ },
198
+ "seaflow-canvas_cancel_task": {
199
+ type: "object",
200
+ properties: {
201
+ accepted: { type: "boolean" },
202
+ taskId: { type: "string" },
203
+ status: {
204
+ type: "string",
205
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
206
+ },
207
+ reason: { type: "string" }
208
+ },
209
+ required: ["accepted", "taskId"]
210
+ },
211
+ "seaflow-canvas_task_wait_result": {
212
+ type: "object",
213
+ properties: {
214
+ accepted: { type: "boolean" },
215
+ taskId: { type: "string" },
216
+ target: { type: "string", enum: ["seaart", "staging"] },
217
+ status: {
218
+ type: "string",
219
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
220
+ },
221
+ progress: { type: "number" },
222
+ message: { type: "string" },
223
+ terminal: { type: "boolean" },
224
+ outputs: { type: "object", additionalProperties: true },
225
+ result: { type: "object", additionalProperties: true },
226
+ summary: {
227
+ type: "object",
228
+ properties: {
229
+ message: { type: "string" },
230
+ completedNodeIds: { type: "array", items: { type: "string" } },
231
+ failedNodeIds: { type: "array", items: { type: "string" } },
232
+ completedCount: { type: "number" },
233
+ failedCount: { type: "number" },
234
+ hasTextResults: { type: "boolean" },
235
+ hasImageResults: { type: "boolean" },
236
+ textCount: { type: "number" },
237
+ imageCount: { type: "number" }
238
+ }
239
+ },
240
+ outputsByNode: {
241
+ type: "object",
242
+ additionalProperties: { type: "object", additionalProperties: true }
243
+ },
244
+ primaryArtifacts: {
245
+ type: "object",
246
+ properties: {
247
+ texts: { type: "array", items: { type: "string" } },
248
+ imageUrls: { type: "array", items: { type: "string" } }
249
+ }
250
+ },
251
+ completedNodeIds: { type: "array", items: { type: "string" } },
252
+ failedNodeIds: { type: "array", items: { type: "string" } },
253
+ eventsProcessed: { type: "number" },
254
+ updatedAt: { type: "number" },
255
+ nodeId: { type: "string" },
256
+ action: { type: "string" },
257
+ nextVersion: { type: "number" },
258
+ appliedCount: { type: "number" },
259
+ runtimeDirective: runtimeDirectiveSchema
260
+ },
261
+ required: ["accepted", "taskId", "status", "terminal"]
262
+ },
263
+ "seaflow-canvas_execute_node_and_wait": {
264
+ type: "object",
265
+ properties: {
266
+ accepted: { type: "boolean" },
267
+ taskId: { type: "string" },
268
+ target: { type: "string", enum: ["seaart", "staging"] },
269
+ status: {
270
+ type: "string",
271
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
272
+ },
273
+ terminal: { type: "boolean" },
274
+ nodeId: { type: "string" },
275
+ outputs: { type: "object", additionalProperties: true },
276
+ result: { type: "object", additionalProperties: true },
277
+ summary: { type: "object", additionalProperties: true },
278
+ primaryArtifacts: {
279
+ type: "object",
280
+ properties: {
281
+ texts: { type: "array", items: { type: "string" } },
282
+ imageUrls: { type: "array", items: { type: "string" } }
283
+ }
284
+ },
285
+ completedNodeIds: { type: "array", items: { type: "string" } },
286
+ failedNodeIds: { type: "array", items: { type: "string" } },
287
+ eventsProcessed: { type: "number" },
288
+ updatedAt: { type: "number" },
289
+ runtimeDirective: runtimeDirectiveSchema
290
+ },
291
+ required: ["accepted", "taskId", "status", "terminal", "nodeId"]
292
+ },
293
+ "seaflow-canvas_generate_image_from_prompt": {
294
+ type: "object",
295
+ properties: {
296
+ accepted: { type: "boolean" },
297
+ taskId: { type: "string" },
298
+ nodeId: { type: "string" },
299
+ action: { type: "string", enum: ["add", "update"] },
300
+ nextVersion: { type: "number" },
301
+ appliedCount: { type: "number" },
302
+ target: { type: "string", enum: ["seaart", "staging"] },
303
+ status: {
304
+ type: "string",
305
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
306
+ },
307
+ terminal: { type: "boolean" },
308
+ outputs: { type: "object", additionalProperties: true },
309
+ result: { type: "object", additionalProperties: true },
310
+ summary: { type: "object", additionalProperties: true },
311
+ primaryArtifacts: {
312
+ type: "object",
313
+ properties: {
314
+ texts: { type: "array", items: { type: "string" } },
315
+ imageUrls: { type: "array", items: { type: "string" } }
316
+ }
317
+ },
318
+ completedNodeIds: { type: "array", items: { type: "string" } },
319
+ failedNodeIds: { type: "array", items: { type: "string" } },
320
+ updatedAt: { type: "number" },
321
+ runtimeDirective: runtimeDirectiveSchema
322
+ },
323
+ required: ["accepted", "taskId", "status", "terminal", "nodeId"]
324
+ },
325
+ "seaflow-canvas_execution_auth_set": {
326
+ type: "object",
327
+ properties: {
328
+ currentTarget: { type: "string" },
329
+ persistMode: { type: "string", enum: ["memory", "session", "local"] },
330
+ authStateByTarget: { type: "object", additionalProperties: { type: "string" } },
331
+ hasTokenByTarget: { type: "object", additionalProperties: { type: "boolean" } },
332
+ updatedAt: { type: "number" }
333
+ },
334
+ required: ["currentTarget", "persistMode", "authStateByTarget", "hasTokenByTarget"]
335
+ },
336
+ "seaflow-canvas_upsert_image_node": {
337
+ type: "object",
338
+ properties: {
339
+ accepted: { type: "boolean" },
340
+ nodeId: { type: "string" },
341
+ action: { type: "string", enum: ["add", "update"] },
342
+ nextVersion: { type: "number" },
343
+ appliedCount: { type: "number" }
344
+ },
345
+ required: ["accepted", "nodeId", "action", "nextVersion"]
346
+ },
347
+ "seaflow-canvas_upsert_text_node": {
348
+ type: "object",
349
+ properties: {
350
+ accepted: { type: "boolean" },
351
+ nodeId: { type: "string" },
352
+ action: { type: "string", enum: ["add", "update"] },
353
+ nextVersion: { type: "number" },
354
+ appliedCount: { type: "number" }
355
+ },
356
+ required: ["accepted", "nodeId", "action", "nextVersion"]
357
+ },
358
+ "seaflow-canvas_connect_nodes": {
359
+ type: "object",
360
+ properties: {
361
+ accepted: { type: "boolean" },
362
+ nextVersion: { type: "number" },
363
+ appliedCount: { type: "number" }
364
+ },
365
+ required: ["accepted", "nextVersion", "appliedCount"]
366
+ }
367
+ };
368
+ var rawCanvasContextTools = [
369
+ {
370
+ name: "seaflow-canvas_get_snapshot",
371
+ description: "\u8BFB\u53D6\u5F53\u524D\u753B\u5E03\u56FE\u5FEB\u7167\uFF08nodes/edges/version/viewport\uFF09",
372
+ inputSchema: {
373
+ type: "object",
374
+ properties: {
375
+ graphId: { type: "string", description: "\u56FE ID\uFF08\u53EF\u9009\uFF0C\u9ED8\u8BA4\u5F53\u524D\u6FC0\u6D3B\u56FE\uFF09" }
376
+ }
377
+ }
378
+ },
379
+ {
380
+ name: "seaflow-canvas_workflow_context_get",
381
+ description: "\u83B7\u53D6\u5F53\u524D\u753B\u5E03\u5DE5\u4F5C\u6D41\u4E0A\u4E0B\u6587\uFF08activeWorkflowId/version/viewport/autosaveKey\uFF09",
382
+ inputSchema: {
383
+ type: "object",
384
+ properties: {}
385
+ }
386
+ },
387
+ {
388
+ name: "seaflow-canvas_list_node_types",
389
+ description: "\u5217\u51FA\u5F53\u524D\u753B\u5E03\u53EF\u521B\u5EFA\u8282\u70B9\u7C7B\u578B\u4E0E\u80FD\u529B\uFF0C\u5305\u542B defaults/inputSchema/outputSchema/capabilities\uFF1Bcapabilities.connections \u4F1A\u8FD4\u56DE\u63A8\u8350\u8FDE\u7EBF\u65B9\u5F0F\u4E0E\u8F93\u5165/\u8F93\u51FA\u53E3\u8BED\u4E49\u3002",
390
+ inputSchema: {
391
+ type: "object",
392
+ properties: {
393
+ includeBasic: { type: "boolean", description: "\u662F\u5426\u8FD4\u56DE basic \u8282\u70B9\uFF0C\u9ED8\u8BA4 true" },
394
+ includeAliases: { type: "boolean", description: "\u662F\u5426\u8FD4\u56DE alias \u6620\u5C04\uFF0C\u9ED8\u8BA4 true" },
395
+ includeCapabilities: { type: "boolean", description: "\u662F\u5426\u8FD4\u56DE capabilities\uFF0C\u9ED8\u8BA4 true" },
396
+ includeSchemas: { type: "boolean", description: "\u662F\u5426\u8FD4\u56DE inputSchema/outputSchema\uFF0C\u9ED8\u8BA4 true" },
397
+ executableOnly: { type: "boolean", description: "\u4EC5\u8FD4\u56DE\u53EF\u6267\u884C\u8282\u70B9\uFF08image-generation/text-multimodal\uFF09" },
398
+ typeIds: {
399
+ type: "array",
400
+ description: "\u4EC5\u8FD4\u56DE\u6307\u5B9A typeId \u5217\u8868",
401
+ items: { type: "string" }
402
+ }
403
+ }
404
+ }
405
+ },
406
+ {
407
+ name: "seaflow-canvas_node_validate",
408
+ description: "\u6821\u9A8C\u5355\u4E2A\u8282\u70B9\u8F93\u5165\u4E0E\u62D3\u6251\u7EA6\u675F",
409
+ inputSchema: {
410
+ type: "object",
411
+ properties: {
412
+ nodeId: { type: "string", description: "\u8282\u70B9 ID" },
413
+ strict: { type: "boolean", description: "\u4E25\u683C\u6A21\u5F0F\uFF08\u53EF\u9009\uFF09" }
414
+ },
415
+ required: ["nodeId"]
416
+ }
417
+ },
418
+ {
419
+ name: "seaflow-canvas_node_get_outputs",
420
+ description: "\u83B7\u53D6\u5355\u4E2A\u8282\u70B9\u5F53\u524D\u8F93\u51FA\u5FEB\u7167",
421
+ inputSchema: {
422
+ type: "object",
423
+ properties: {
424
+ nodeId: { type: "string", description: "\u8282\u70B9 ID" }
425
+ },
426
+ required: ["nodeId"]
427
+ }
428
+ },
429
+ {
430
+ name: "seaflow-canvas_node_get",
431
+ description: "\u83B7\u53D6\u8282\u70B9\u8BE6\u60C5\uFF08type/label/position/inputs/runtime/outputs/connectionHints/incomingConnections\uFF09",
432
+ inputSchema: {
433
+ type: "object",
434
+ properties: {
435
+ nodeId: { type: "string", description: "\u8282\u70B9 ID" }
436
+ },
437
+ required: ["nodeId"]
438
+ }
439
+ },
440
+ {
441
+ name: "seaflow-canvas_edge_list",
442
+ description: "\u5217\u51FA\u8FB9\u4FE1\u606F\uFF0C\u53EF\u6309 nodeId \u4E0E\u65B9\u5411\u8FC7\u6EE4",
443
+ inputSchema: {
444
+ type: "object",
445
+ properties: {
446
+ nodeId: { type: "string", description: "\u53EF\u9009\uFF0C\u8FC7\u6EE4\u6307\u5B9A\u8282\u70B9" },
447
+ direction: {
448
+ type: "string",
449
+ description: "\u8FB9\u65B9\u5411\u8FC7\u6EE4\uFF08\u53EF\u9009\uFF09",
450
+ enum: ["in", "out", "both"]
451
+ }
452
+ }
453
+ }
454
+ }
455
+ ];
456
+ var rawCanvasExecutionTools = [
457
+ {
458
+ name: "seaflow-canvas_clear_canvas",
459
+ description: "\u6E05\u7A7A\u5F53\u524D\u6FC0\u6D3B\u753B\u5E03\u7684 nodes/edges\uFF0C\u5E76\u91CD\u7F6E\u672C\u5730 autosave \u5FEB\u7167",
460
+ inputSchema: {
461
+ type: "object",
462
+ properties: {}
463
+ }
464
+ },
465
+ {
466
+ name: "seaflow-canvas_batch_apply",
467
+ description: "\u4EE5\u539F\u5B50\u6279\u5904\u7406\u65B9\u5F0F\u5E94\u7528\u753B\u5E03\u53D8\u66F4\u64CD\u4F5C",
468
+ inputSchema: {
469
+ type: "object",
470
+ properties: {
471
+ requestId: { type: "string", description: "\u8BF7\u6C42 ID" },
472
+ idempotencyKey: { type: "string", description: "\u5E42\u7B49\u952E" },
473
+ baseVersion: { type: "number", description: "\u57FA\u7EBF\u7248\u672C\u53F7" },
474
+ operations: {
475
+ type: "array",
476
+ description: "\u6279\u91CF\u64CD\u4F5C\u5217\u8868",
477
+ items: {
478
+ type: "object",
479
+ required: ["opId", "type", "payload"],
480
+ properties: {
481
+ opId: { type: "string", description: "\u64CD\u4F5C ID" },
482
+ type: {
483
+ type: "string",
484
+ description: "\u64CD\u4F5C\u7C7B\u578B",
485
+ enum: ["node.add", "node.update", "node.delete", "edge.connect", "edge.disconnect"]
486
+ },
487
+ payload: {
488
+ oneOf: [
489
+ {
490
+ type: "object",
491
+ required: ["node"],
492
+ properties: {
493
+ node: { type: "object" }
494
+ }
495
+ },
496
+ {
497
+ type: "object",
498
+ required: ["nodeId", "patch"],
499
+ properties: {
500
+ nodeId: { type: "string" },
501
+ patch: { type: "object" }
502
+ }
503
+ },
504
+ {
505
+ type: "object",
506
+ required: ["nodeId"],
507
+ properties: {
508
+ nodeId: { type: "string" }
509
+ }
510
+ },
511
+ {
512
+ type: "object",
513
+ required: ["connection"],
514
+ properties: {
515
+ connection: {
516
+ type: "object",
517
+ properties: {
518
+ source: { type: "string", description: "\u6E90\u8282\u70B9 ID" },
519
+ target: { type: "string", description: "\u76EE\u6807\u8282\u70B9 ID" },
520
+ sourceHandle: { type: "string", description: "\u53EF\u9009\uFF1B\u6E90\u8F93\u51FA\u53E3 handleId" },
521
+ targetHandle: { type: "string", description: "\u53EF\u9009\uFF1B\u76EE\u6807\u8F93\u5165\u53E3 handleId" }
522
+ },
523
+ required: ["source", "target"]
524
+ },
525
+ edgeType: { type: "string" }
526
+ }
527
+ },
528
+ {
529
+ type: "object",
530
+ required: ["edgeId"],
531
+ properties: {
532
+ edgeId: { type: "string" }
533
+ }
534
+ }
535
+ ]
536
+ }
537
+ }
538
+ }
539
+ }
540
+ },
541
+ required: ["requestId", "idempotencyKey", "baseVersion", "operations"]
542
+ }
543
+ },
544
+ {
545
+ name: "seaflow-canvas_execute_node",
546
+ description: "\u89E6\u53D1\u5355\u8282\u70B9\u6267\u884C\u5E76\u8FD4\u56DE\u4EFB\u52A1\u53E5\u67C4",
547
+ inputSchema: {
548
+ type: "object",
549
+ properties: {
550
+ nodeId: { type: "string", description: "\u8282\u70B9 ID" },
551
+ target: {
552
+ type: "string",
553
+ description: "\u6267\u884C\u76EE\u6807\uFF08\u53EF\u9009\uFF09",
554
+ enum: ["seaart", "staging"]
555
+ }
556
+ },
557
+ required: ["nodeId"]
558
+ }
559
+ },
560
+ {
561
+ name: "seaflow-canvas_execute_graph",
562
+ description: "\u89E6\u53D1\u6574\u56FE\u6267\u884C\u5E76\u8FD4\u56DE\u4EFB\u52A1\u53E5\u67C4",
563
+ inputSchema: {
564
+ type: "object",
565
+ properties: {
566
+ graphId: { type: "string", description: "\u56FE ID\uFF08\u53EF\u9009\uFF09" },
567
+ target: {
568
+ type: "string",
569
+ description: "\u6267\u884C\u76EE\u6807\uFF08\u53EF\u9009\uFF09",
570
+ enum: ["seaart", "staging"]
571
+ },
572
+ source: {
573
+ type: "string",
574
+ description: "\u5F53 graphId \u4E0D\u540C\u4E8E\u5F53\u524D\u6FC0\u6D3B\u56FE\u65F6\uFF0C\u5207\u6362\u5DE5\u4F5C\u6D41\u7684\u52A0\u8F7D\u6765\u6E90\uFF08\u53EF\u9009\uFF09",
575
+ enum: ["auto", "remote", "local"]
576
+ }
577
+ }
578
+ }
579
+ },
580
+ {
581
+ name: "seaflow-canvas_workflow_open",
582
+ description: "\u6253\u5F00\u5E76\u52A0\u8F7D\u6307\u5B9A workflow \u5230\u5F53\u524D\u753B\u5E03\uFF08\u652F\u6301 remote/local/auto\uFF09",
583
+ inputSchema: {
584
+ type: "object",
585
+ properties: {
586
+ workflowId: { type: "string", description: "\u5DE5\u4F5C\u6D41 ID" },
587
+ target: {
588
+ type: "string",
589
+ description: "\u6267\u884C\u76EE\u6807\uFF08\u53EF\u9009\uFF09",
590
+ enum: ["seaart", "staging"]
591
+ },
592
+ source: {
593
+ type: "string",
594
+ description: "\u52A0\u8F7D\u6765\u6E90\uFF08\u53EF\u9009\uFF0C\u9ED8\u8BA4 auto\uFF09",
595
+ enum: ["auto", "remote", "local"]
596
+ },
597
+ syncActiveGraph: { type: "boolean", description: "\u662F\u5426\u540C\u6B65\u5207\u6362 active graph\uFF08\u9ED8\u8BA4 true\uFF09" }
598
+ },
599
+ required: ["workflowId"]
600
+ }
601
+ },
602
+ {
603
+ name: "seaflow-canvas_workflow_save",
604
+ description: "\u5C06\u5F53\u524D\u753B\u5E03\u4FDD\u5B58\u5230\u672C\u5730\u4E0E/\u6216\u8FDC\u7AEF graphs",
605
+ inputSchema: {
606
+ type: "object",
607
+ properties: {
608
+ workflowId: { type: "string", description: "\u5DE5\u4F5C\u6D41 ID\uFF08\u53EF\u9009\uFF0C\u9ED8\u8BA4\u5F53\u524D active\uFF09" },
609
+ name: { type: "string", description: "\u5DE5\u4F5C\u6D41\u540D\u79F0\uFF08\u53EF\u9009\uFF09" },
610
+ target: {
611
+ type: "string",
612
+ description: "\u6267\u884C\u76EE\u6807\uFF08\u53EF\u9009\uFF09",
613
+ enum: ["seaart", "staging"]
614
+ },
615
+ persistLocal: { type: "boolean", description: "\u662F\u5426\u5199\u5165\u672C\u5730\u5FEB\u7167\uFF08\u9ED8\u8BA4 true\uFF09" },
616
+ persistRemote: { type: "boolean", description: "\u662F\u5426\u5199\u5165\u8FDC\u7AEF graphs\uFF08\u9ED8\u8BA4 true\uFF09" },
617
+ includeViewport: { type: "boolean", description: "\u662F\u5426\u4FDD\u5B58 viewport\uFF08\u9ED8\u8BA4 true\uFF09" },
618
+ isCanvas: { type: "boolean", description: "\u662F\u5426\u6309 canvas \u56FE\u4FDD\u5B58\uFF08\u9ED8\u8BA4 true\uFF09" },
619
+ versionId: { type: "string", description: "\u53EF\u9009\uFF0C\u8FDC\u7AEF\u7248\u672C\u53F7\uFF08version_id\uFF09" }
620
+ }
621
+ }
622
+ },
623
+ {
624
+ name: "seaflow-canvas_cancel_task",
625
+ description: "\u53D6\u6D88\u753B\u5E03\u4EFB\u52A1",
626
+ inputSchema: {
627
+ type: "object",
628
+ properties: {
629
+ taskId: { type: "string", description: "\u4EFB\u52A1 ID" }
630
+ },
631
+ required: ["taskId"]
632
+ }
633
+ },
634
+ {
635
+ name: "seaflow-canvas_get_task_state",
636
+ description: "\u83B7\u53D6\u4EFB\u52A1\u72B6\u6001\u5FEB\u7167",
637
+ inputSchema: {
638
+ type: "object",
639
+ properties: {
640
+ taskId: { type: "string", description: "\u4EFB\u52A1 ID" }
641
+ },
642
+ required: ["taskId"]
643
+ }
644
+ },
645
+ {
646
+ name: "seaflow-canvas_task_list",
647
+ description: "\u5217\u51FA\u4EFB\u52A1\u72B6\u6001\uFF08\u652F\u6301 status/nodeId \u8FC7\u6EE4\uFF09",
648
+ inputSchema: {
649
+ type: "object",
650
+ properties: {
651
+ status: {
652
+ type: "string",
653
+ description: "\u53EF\u9009\uFF0C\u4EFB\u52A1\u72B6\u6001\u8FC7\u6EE4",
654
+ enum: ["accepted", "queued", "running", "completed", "failed", "error", "canceled"]
655
+ },
656
+ nodeId: { type: "string", description: "\u53EF\u9009\uFF0C\u4EC5\u8FD4\u56DE\u6307\u5B9A nodeId \u7684\u4EFB\u52A1" }
657
+ }
658
+ }
659
+ },
660
+ {
661
+ name: "seaflow-canvas_task_wait_result",
662
+ description: "\u8F6E\u8BE2\u7B49\u5F85\u4EFB\u52A1\u7EC8\u6001\u5E76\u8FD4\u56DE\u7ED3\u679C",
663
+ inputSchema: {
664
+ type: "object",
665
+ properties: {
666
+ taskId: { type: "string", description: "\u4EFB\u52A1 ID" },
667
+ timeoutMs: { type: "number", description: "\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF0C\u53EF\u9009\uFF09" },
668
+ pollIntervalMs: { type: "number", description: "\u8F6E\u8BE2\u95F4\u9694\uFF08\u6BEB\u79D2\uFF0C\u53EF\u9009\uFF09" },
669
+ includeEvents: { type: "boolean", description: "\u662F\u5426\u8FD4\u56DE\u4E8B\u4EF6\u8BA1\u6570\uFF08\u53EF\u9009\uFF09" }
670
+ },
671
+ required: ["taskId"]
672
+ }
673
+ },
674
+ {
675
+ name: "seaflow-canvas_task_reconnect",
676
+ description: "\u5C1D\u8BD5\u5BF9\u8FD0\u884C\u4E2D\u4EFB\u52A1\u8FDB\u884C\u72B6\u6001\u91CD\u8FDE\uFF08\u53EF\u6307\u5B9A taskId \u6216\u6309 nodeId \u6279\u91CF\uFF09",
677
+ inputSchema: {
678
+ type: "object",
679
+ properties: {
680
+ taskId: { type: "string", description: "\u4EFB\u52A1 ID\uFF08\u53EF\u9009\uFF09" },
681
+ nodeId: { type: "string", description: "\u8282\u70B9 ID\uFF08\u53EF\u9009\uFF0C\u6279\u91CF\u6A21\u5F0F\u8FC7\u6EE4\uFF09" },
682
+ target: {
683
+ type: "string",
684
+ description: "\u6267\u884C\u76EE\u6807\uFF08\u53EF\u9009\uFF09",
685
+ enum: ["seaart", "staging"]
686
+ },
687
+ timeoutMs: { type: "number", description: "\u5355\u4EFB\u52A1\u91CD\u8FDE\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF0C\u53EF\u9009\uFF09" },
688
+ includeEvents: { type: "boolean", description: "\u662F\u5426\u8FD4\u56DE\u4E8B\u4EF6\u7EDF\u8BA1\uFF08\u53EF\u9009\uFF09" }
689
+ }
690
+ }
691
+ }
692
+ ];
693
+ var rawCanvasAuthTools = [
694
+ {
695
+ name: "seaflow-canvas_execution_auth_get",
696
+ description: "\u8BFB\u53D6\u6267\u884C\u9274\u6743\u914D\u7F6E\u4E0E token \u72B6\u6001",
697
+ inputSchema: {
698
+ type: "object",
699
+ properties: {}
700
+ }
701
+ },
702
+ {
703
+ name: "seaflow-canvas_execution_auth_set",
704
+ description: "\u66F4\u65B0\u6267\u884C\u9274\u6743\u914D\u7F6E\uFF08target/token/persistMode\uFF09",
705
+ inputSchema: {
706
+ type: "object",
707
+ properties: {
708
+ target: {
709
+ type: "string",
710
+ description: "\u6267\u884C\u76EE\u6807",
711
+ enum: ["seaart", "staging"]
712
+ },
713
+ token: { type: "string", description: "\u8BBF\u95EE token\uFF08\u5FC5\u586B\uFF09" },
714
+ persistMode: {
715
+ type: "string",
716
+ description: "\u6301\u4E45\u5316\u7B56\u7565\uFF08\u53EF\u9009\uFF09",
717
+ enum: ["memory", "session", "local"]
718
+ }
719
+ },
720
+ required: ["target", "token"]
721
+ }
722
+ }
723
+ ];
724
+ var rawCanvasExtendedTools = [
725
+ {
726
+ name: "seaflow-canvas_upsert_image_node",
727
+ description: "\u521B\u5EFA\u6216\u66F4\u65B0\u56FE\u7247\u751F\u6210\u8282\u70B9\uFF08\u8F93\u5165 prompt/model/resolution \u7B49\uFF09\uFF0C\u8FD4\u56DE nodeId \u4E0E nextVersion\u3002",
728
+ inputSchema: {
729
+ type: "object",
730
+ properties: {
731
+ nodeId: { type: "string", description: "\u53EF\u9009\uFF1B\u5B58\u5728\u5219\u66F4\u65B0\uFF0C\u4E0D\u5B58\u5728\u5219\u521B\u5EFA" },
732
+ label: { type: "string", description: "\u53EF\u9009\uFF1B\u8282\u70B9\u5C55\u793A\u540D" },
733
+ prompt: { type: "string", description: "\u6B63\u5411\u63D0\u793A\u8BCD" },
734
+ negativePrompt: { type: "string", description: "\u53EF\u9009\uFF1B\u8D1F\u5411\u63D0\u793A\u8BCD" },
735
+ model: { type: "string", description: "\u53EF\u9009\uFF1B\u6A21\u578B ID" },
736
+ mode: { type: "string", description: "\u53EF\u9009\uFF1B\u751F\u56FE\u6A21\u5F0F\uFF08\u4F8B\u5982 t2i/i2i\uFF09" },
737
+ resolution: { type: "string", description: "\u53EF\u9009\uFF1B\u5206\u8FA8\u7387\u6863\u4F4D" },
738
+ aspectRatio: { type: "string", description: "\u53EF\u9009\uFF1B\u753B\u5E45\u6BD4\u4F8B" },
739
+ seed: { type: "number", description: "\u53EF\u9009\uFF1B\u968F\u673A\u79CD\u5B50" },
740
+ nIter: { type: "number", description: "\u53EF\u9009\uFF1B\u751F\u6210\u6570\u91CF" },
741
+ width: { type: "number", description: "\u53EF\u9009\uFF1B\u5BBD\u5EA6\u50CF\u7D20" },
742
+ height: { type: "number", description: "\u53EF\u9009\uFF1B\u9AD8\u5EA6\u50CF\u7D20" }
743
+ },
744
+ required: ["prompt"]
745
+ }
746
+ },
747
+ {
748
+ name: "seaflow-canvas_upsert_text_node",
749
+ description: "\u521B\u5EFA\u6216\u66F4\u65B0\u6587\u672C\u591A\u6A21\u6001\u8282\u70B9\uFF08\u8F93\u5165 prompt/model/systemPrompt \u7B49\uFF09\uFF0C\u8FD4\u56DE nodeId \u4E0E nextVersion\u3002",
750
+ inputSchema: {
751
+ type: "object",
752
+ properties: {
753
+ nodeId: { type: "string", description: "\u53EF\u9009\uFF1B\u5B58\u5728\u5219\u66F4\u65B0\uFF0C\u4E0D\u5B58\u5728\u5219\u521B\u5EFA" },
754
+ label: { type: "string", description: "\u53EF\u9009\uFF1B\u8282\u70B9\u5C55\u793A\u540D" },
755
+ prompt: { type: "string", description: "\u63D0\u793A\u8BCD" },
756
+ model: { type: "string", description: "\u53EF\u9009\uFF1B\u6A21\u578B ID" },
757
+ negativePrompt: { type: "string", description: "\u53EF\u9009\uFF1B\u8D1F\u5411\u63D0\u793A\u8BCD" },
758
+ systemPrompt: { type: "string", description: "\u53EF\u9009\uFF1B\u7CFB\u7EDF\u63D0\u793A\u8BCD" },
759
+ modalMode: {
760
+ type: "string",
761
+ description: "\u53EF\u9009\uFF1Btext/image_to_text/video_to_text",
762
+ enum: ["text", "image_to_text", "video_to_text"]
763
+ },
764
+ maxTokens: { type: "number", description: "\u53EF\u9009\uFF1B\u6700\u5927 token \u6570" },
765
+ temperature: { type: "number", description: "\u53EF\u9009\uFF1B\u6E29\u5EA6\u53C2\u6570" },
766
+ topP: { type: "number", description: "\u53EF\u9009\uFF1Btop-p \u53C2\u6570" }
767
+ },
768
+ required: ["prompt"]
769
+ }
770
+ },
771
+ {
772
+ name: "seaflow-canvas_connect_nodes",
773
+ description: "\u9AD8\u5C42\u8282\u70B9\u8FDE\u7EBF\u5DE5\u5177\uFF0C\u8FDE\u63A5\u4E24\u4E2A\u8282\u70B9\u5E76\u8FD4\u56DE nextVersion\u3002",
774
+ inputSchema: {
775
+ type: "object",
776
+ properties: {
777
+ sourceNodeId: { type: "string", description: "\u6E90\u8282\u70B9 ID" },
778
+ targetNodeId: { type: "string", description: "\u76EE\u6807\u8282\u70B9 ID" },
779
+ sourceField: { type: "string", description: "\u53EF\u9009\uFF1B\u6E90\u8F93\u51FA\u8BED\u4E49\u5B57\u6BB5\uFF0C\u5982 text/urls" },
780
+ targetField: { type: "string", description: "\u53EF\u9009\uFF1B\u76EE\u6807\u8F93\u5165\u8BED\u4E49\u5B57\u6BB5\uFF0C\u5982 context/reference_images" },
781
+ sourceHandle: { type: "string", description: "\u53EF\u9009\uFF1B\u663E\u5F0F\u6307\u5B9A\u6E90 handleId" },
782
+ targetHandle: { type: "string", description: "\u53EF\u9009\uFF1B\u663E\u5F0F\u6307\u5B9A\u76EE\u6807 handleId" },
783
+ edgeType: { type: "string", description: "\u53EF\u9009\uFF1B\u8FB9\u7C7B\u578B\uFF0C\u9ED8\u8BA4 floating" }
784
+ },
785
+ required: ["sourceNodeId", "targetNodeId"]
786
+ }
787
+ },
788
+ {
789
+ name: "seaflow-canvas_execute_node_and_wait",
790
+ description: "\u89E6\u53D1\u8282\u70B9\u6267\u884C\u5E76\u963B\u585E\u7B49\u5F85\u7EC8\u6001\uFF0C\u8FD4\u56DE taskId/status/result\u3002",
791
+ inputSchema: {
792
+ type: "object",
793
+ properties: {
794
+ nodeId: { type: "string", description: "\u76EE\u6807\u8282\u70B9 ID" },
795
+ target: {
796
+ type: "string",
797
+ description: "\u53EF\u9009\uFF1B\u6267\u884C\u76EE\u6807",
798
+ enum: ["seaart", "staging"]
799
+ },
800
+ timeoutMs: { type: "number", description: "\u53EF\u9009\uFF1B\u7B49\u5F85\u8D85\u65F6" },
801
+ pollIntervalMs: { type: "number", description: "\u53EF\u9009\uFF1B\u8F6E\u8BE2\u95F4\u9694" },
802
+ includeEvents: { type: "boolean", description: "\u53EF\u9009\uFF1B\u8FD4\u56DE\u4E8B\u4EF6\u8BA1\u6570" }
803
+ },
804
+ required: ["nodeId"]
805
+ }
806
+ },
807
+ {
808
+ name: "seaflow-canvas_generate_image_from_prompt",
809
+ description: "\u6309 prompt \u5B8C\u6210\u56FE\u7247\u8282\u70B9 upsert \u5E76\u542F\u52A8\u6267\u884C\uFF0C\u8FD4\u56DE\u4EFB\u52A1\u53E5\u67C4\u4F9B\u540E\u7EED wait/result \u6536\u655B\u3002",
810
+ inputSchema: {
811
+ type: "object",
812
+ properties: {
813
+ nodeId: { type: "string", description: "\u53EF\u9009\uFF1B\u5B58\u5728\u5219\u66F4\u65B0\u5E76\u590D\u7528\u8282\u70B9" },
814
+ label: { type: "string", description: "\u53EF\u9009\uFF1B\u8282\u70B9\u5C55\u793A\u540D" },
815
+ prompt: { type: "string", description: "\u6B63\u5411\u63D0\u793A\u8BCD" },
816
+ negativePrompt: { type: "string", description: "\u53EF\u9009\uFF1B\u8D1F\u5411\u63D0\u793A\u8BCD" },
817
+ model: { type: "string", description: "\u53EF\u9009\uFF1B\u6A21\u578B ID" },
818
+ mode: { type: "string", description: "\u53EF\u9009\uFF1B\u751F\u56FE\u6A21\u5F0F" },
819
+ resolution: { type: "string", description: "\u53EF\u9009\uFF1B\u5206\u8FA8\u7387\u6863\u4F4D" },
820
+ aspectRatio: { type: "string", description: "\u53EF\u9009\uFF1B\u753B\u5E45\u6BD4\u4F8B" },
821
+ seed: { type: "number", description: "\u53EF\u9009\uFF1B\u968F\u673A\u79CD\u5B50" },
822
+ nIter: { type: "number", description: "\u53EF\u9009\uFF1B\u751F\u6210\u6570\u91CF" },
823
+ width: { type: "number", description: "\u53EF\u9009\uFF1B\u5BBD\u5EA6\u50CF\u7D20" },
824
+ height: { type: "number", description: "\u53EF\u9009\uFF1B\u9AD8\u5EA6\u50CF\u7D20" },
825
+ target: {
826
+ type: "string",
827
+ description: "\u53EF\u9009\uFF1B\u6267\u884C\u76EE\u6807",
828
+ enum: ["seaart", "staging"]
829
+ },
830
+ timeoutMs: { type: "number", description: "\u53EF\u9009\uFF1B\u7B49\u5F85\u8D85\u65F6" },
831
+ pollIntervalMs: { type: "number", description: "\u53EF\u9009\uFF1B\u8F6E\u8BE2\u95F4\u9694" }
832
+ },
833
+ required: ["prompt"]
834
+ }
835
+ }
836
+ ];
837
+ var canvasContextTools = annotateTools(
838
+ rawCanvasContextTools,
839
+ () => seaflowReadAnnotations,
840
+ seaflowOutputSchemas
841
+ );
842
+ var canvasExecutionTools = annotateTools(
843
+ rawCanvasExecutionTools,
844
+ (tool) => tool.name === "seaflow-canvas_get_task_state" || tool.name === "seaflow-canvas_task_list" ? seaflowReadAnnotations : tool.name === "seaflow-canvas_task_reconnect" ? {
845
+ ...seaflowLongRunningWorkflowAnnotations,
846
+ requiresExecutionEvidence: false
847
+ } : tool.name === "seaflow-canvas_task_wait_result" || tool.name === "seaflow-canvas_execute_node_and_wait" ? seaflowLongRunningWorkflowAnnotations : seaflowWorkflowAnnotations,
848
+ seaflowOutputSchemas
849
+ );
850
+ var canvasAuthTools = annotateTools(
851
+ rawCanvasAuthTools,
852
+ (tool) => tool.name === "seaflow-canvas_execution_auth_get" ? seaflowReadAnnotations : seaflowWorkflowAnnotations,
853
+ seaflowOutputSchemas
854
+ );
855
+ var canvasExtendedTools = annotateTools(
856
+ rawCanvasExtendedTools,
857
+ (tool) => tool.name === "seaflow-canvas_execute_node_and_wait" ? seaflowLongRunningWorkflowAnnotations : seaflowWorkflowAnnotations,
858
+ seaflowOutputSchemas
859
+ );
860
+ var tools = [
861
+ ...canvasContextTools,
862
+ ...canvasExecutionTools,
863
+ ...canvasAuthTools,
864
+ ...canvasExtendedTools
865
+ ];
866
+ var allTools = [
867
+ ...canvasContextTools,
868
+ ...canvasExecutionTools,
869
+ ...canvasAuthTools,
870
+ ...canvasExtendedTools
871
+ ];
872
+ async function callTool(name, args = {}) {
873
+ return chunkTFOJLA2F_cjs.getDefaultClient().callTool(name, args);
874
+ }
875
+ var seaflow = {
876
+ getSnapshot: (graphId) => callTool("seaflow-canvas_get_snapshot", { graphId }),
877
+ getWorkflowContext: () => callTool("seaflow-canvas_workflow_context_get", {}),
878
+ clearCanvas: () => callTool("seaflow-canvas_clear_canvas", {}),
879
+ listNodeTypes: (options) => callTool("seaflow-canvas_list_node_types", { ...options ?? {} }),
880
+ batchApply: (operations, options) => callTool("seaflow-canvas_batch_apply", { operations, ...options }),
881
+ validateNode: (nodeId, strict) => callTool("seaflow-canvas_node_validate", { nodeId, strict }),
882
+ getNodeOutputs: (nodeId) => callTool("seaflow-canvas_node_get_outputs", { nodeId }),
883
+ getNode: (nodeId) => callTool("seaflow-canvas_node_get", { nodeId }),
884
+ listEdges: (options) => callTool("seaflow-canvas_edge_list", { ...options }),
885
+ executeNode: (nodeId, target) => callTool("seaflow-canvas_execute_node", { nodeId, target }),
886
+ executeGraph: (graphId, target, source) => callTool("seaflow-canvas_execute_graph", { graphId, target, ...source ? { source } : {} }),
887
+ openWorkflow: (workflowId, options) => callTool("seaflow-canvas_workflow_open", { workflowId, ...options }),
888
+ saveWorkflow: (options) => callTool("seaflow-canvas_workflow_save", { ...options ?? {} }),
889
+ cancelTask: (taskId) => callTool("seaflow-canvas_cancel_task", { taskId }),
890
+ getTaskState: (taskId) => callTool("seaflow-canvas_get_task_state", { taskId }),
891
+ listTasks: (options) => callTool("seaflow-canvas_task_list", { ...options }),
892
+ waitTaskResult: (taskId, options) => callTool("seaflow-canvas_task_wait_result", { taskId, ...options }),
893
+ reconnectTask: (options) => callTool("seaflow-canvas_task_reconnect", { ...options ?? {} }),
894
+ getExecutionAuth: () => callTool("seaflow-canvas_execution_auth_get", {}),
895
+ setExecutionAuth: (target, token, persistMode) => callTool("seaflow-canvas_execution_auth_set", { target, token, persistMode }),
896
+ upsertImageNode: (input) => callTool("seaflow-canvas_upsert_image_node", input),
897
+ upsertTextNode: (input) => callTool("seaflow-canvas_upsert_text_node", input),
898
+ connectNodes: (input) => callTool("seaflow-canvas_connect_nodes", input),
899
+ executeNodeAndWait: (nodeId, options) => callTool("seaflow-canvas_execute_node_and_wait", { nodeId, ...options ?? {} }),
900
+ generateImageFromPrompt: (input) => callTool("seaflow-canvas_generate_image_from_prompt", input)
901
+ };
902
+
903
+ exports.allTools = allTools;
904
+ exports.canvasAuthTools = canvasAuthTools;
905
+ exports.canvasContextTools = canvasContextTools;
906
+ exports.canvasExecutionTools = canvasExecutionTools;
907
+ exports.canvasExtendedTools = canvasExtendedTools;
908
+ exports.seaflow = seaflow;
909
+ exports.tools = tools;