@fugood/bricks-project 2.22.0-beta.8 → 2.22.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 (86) hide show
  1. package/compile/action-name-map.ts +112 -1
  2. package/compile/index.ts +10 -1
  3. package/package.json +3 -3
  4. package/tools/postinstall.ts +16 -9
  5. package/types/animation.ts +2 -1
  6. package/types/brick-base.ts +79 -0
  7. package/types/bricks/3DViewer.ts +200 -0
  8. package/types/bricks/Camera.ts +195 -0
  9. package/types/bricks/Chart.ts +362 -0
  10. package/types/bricks/GenerativeMedia.ts +240 -0
  11. package/types/bricks/Icon.ts +93 -0
  12. package/types/bricks/Image.ts +104 -0
  13. package/types/bricks/Items.ts +461 -0
  14. package/types/bricks/Lottie.ts +159 -0
  15. package/types/bricks/QrCode.ts +112 -0
  16. package/types/bricks/Rect.ts +110 -0
  17. package/types/bricks/RichText.ts +123 -0
  18. package/types/bricks/Rive.ts +209 -0
  19. package/types/bricks/Slideshow.ts +155 -0
  20. package/types/bricks/Svg.ts +94 -0
  21. package/types/bricks/Text.ts +143 -0
  22. package/types/bricks/TextInput.ts +231 -0
  23. package/types/bricks/Video.ts +170 -0
  24. package/types/bricks/VideoStreaming.ts +107 -0
  25. package/types/bricks/WebRtcStream.ts +60 -0
  26. package/types/bricks/WebView.ts +157 -0
  27. package/types/bricks/index.ts +20 -0
  28. package/types/common.ts +8 -3
  29. package/types/data.ts +6 -0
  30. package/types/generators/AlarmClock.ts +102 -0
  31. package/types/generators/Assistant.ts +546 -0
  32. package/types/generators/BleCentral.ts +225 -0
  33. package/types/generators/BlePeripheral.ts +202 -0
  34. package/types/generators/CanvasMap.ts +57 -0
  35. package/types/generators/CastlesPay.ts +77 -0
  36. package/types/generators/DataBank.ts +123 -0
  37. package/types/generators/File.ts +351 -0
  38. package/types/generators/GraphQl.ts +124 -0
  39. package/types/generators/Http.ts +117 -0
  40. package/types/generators/HttpServer.ts +164 -0
  41. package/types/generators/Information.ts +97 -0
  42. package/types/generators/Intent.ts +107 -0
  43. package/types/generators/Iterator.ts +95 -0
  44. package/types/generators/Keyboard.ts +85 -0
  45. package/types/generators/LlmAnthropicCompat.ts +188 -0
  46. package/types/generators/LlmGgml.ts +719 -0
  47. package/types/generators/LlmOnnx.ts +184 -0
  48. package/types/generators/LlmOpenAiCompat.ts +206 -0
  49. package/types/generators/LlmQualcommAiEngine.ts +213 -0
  50. package/types/generators/Mcp.ts +294 -0
  51. package/types/generators/McpServer.ts +248 -0
  52. package/types/generators/MediaFlow.ts +142 -0
  53. package/types/generators/MqttBroker.ts +121 -0
  54. package/types/generators/MqttClient.ts +129 -0
  55. package/types/generators/Question.ts +395 -0
  56. package/types/generators/RealtimeTranscription.ts +180 -0
  57. package/types/generators/RerankerGgml.ts +153 -0
  58. package/types/generators/SerialPort.ts +141 -0
  59. package/types/generators/SoundPlayer.ts +86 -0
  60. package/types/generators/SoundRecorder.ts +113 -0
  61. package/types/generators/SpeechToTextGgml.ts +462 -0
  62. package/types/generators/SpeechToTextOnnx.ts +227 -0
  63. package/types/generators/SpeechToTextPlatform.ts +75 -0
  64. package/types/generators/SqLite.ts +118 -0
  65. package/types/generators/Step.ts +101 -0
  66. package/types/generators/TapToPayOnIPhone.ts +175 -0
  67. package/types/generators/Tcp.ts +120 -0
  68. package/types/generators/TcpServer.ts +137 -0
  69. package/types/generators/TextToSpeechGgml.ts +182 -0
  70. package/types/generators/TextToSpeechOnnx.ts +169 -0
  71. package/types/generators/TextToSpeechOpenAiLike.ts +113 -0
  72. package/types/generators/ThermalPrinter.ts +185 -0
  73. package/types/generators/Tick.ts +75 -0
  74. package/types/generators/Udp.ts +109 -0
  75. package/types/generators/VadGgml.ts +211 -0
  76. package/types/generators/VectorStore.ts +223 -0
  77. package/types/generators/Watchdog.ts +96 -0
  78. package/types/generators/WebCrawler.ts +97 -0
  79. package/types/generators/WebRtc.ts +165 -0
  80. package/types/generators/WebSocket.ts +142 -0
  81. package/types/generators/index.ts +51 -0
  82. package/types/system.ts +64 -0
  83. package/utils/data.ts +45 -0
  84. package/utils/event-props.ts +89 -0
  85. package/types/bricks.ts +0 -3168
  86. package/types/generators.ts +0 -7580
@@ -0,0 +1,546 @@
1
+ import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
+ import type { Data, DataLink } from '../data'
3
+ import type {
4
+ Generator,
5
+ EventAction,
6
+ ActionWithDataParams,
7
+ ActionWithParams,
8
+ Action,
9
+ EventProperty,
10
+ } from '../common'
11
+
12
+ /* Add a message to the assistant */
13
+ export type GeneratorAssistantActionAddMessage = ActionWithParams & {
14
+ __actionName: 'GENERATOR_ASSISTANT_ADD_MESSAGE'
15
+ params?: Array<
16
+ | {
17
+ input: 'role'
18
+ value?: string | DataLink | EventProperty
19
+ mapping?: string
20
+ }
21
+ | {
22
+ input: 'content'
23
+ value?: string | DataLink | EventProperty
24
+ mapping?: string
25
+ }
26
+ | {
27
+ input: 'image'
28
+ value?: string | DataLink | EventProperty
29
+ mapping?: string
30
+ }
31
+ | {
32
+ input: 'payload'
33
+ value?: {} | DataLink | EventProperty
34
+ mapping?: string
35
+ }
36
+ | {
37
+ input: 'useFileSearch'
38
+ value?: boolean | DataLink | EventProperty
39
+ mapping?: string
40
+ }
41
+ | {
42
+ input: 'filePath'
43
+ value?: string | DataLink | EventProperty
44
+ mapping?: string
45
+ }
46
+ | {
47
+ input: 'fileName'
48
+ value?: string | DataLink | EventProperty
49
+ mapping?: string
50
+ }
51
+ | {
52
+ input: 'fileExtension'
53
+ value?: string | DataLink | EventProperty
54
+ mapping?: string
55
+ }
56
+ | {
57
+ input: 'filePayload'
58
+ value?: {} | DataLink | EventProperty
59
+ mapping?: string
60
+ }
61
+ | {
62
+ input: 'fileSearchCitationCount'
63
+ value?: number | DataLink | EventProperty
64
+ mapping?: string
65
+ }
66
+ | {
67
+ input: 'fileSearchInsertMethod'
68
+ value?: 'in-user-message' | 'new-assistant-message' | DataLink | EventProperty
69
+ mapping?: string
70
+ }
71
+ >
72
+ }
73
+
74
+ /* Initialize messages from MCP prompt */
75
+ export type GeneratorAssistantActionInitMcpPrompt = ActionWithParams & {
76
+ __actionName: 'GENERATOR_ASSISTANT_INIT_MCP_PROMPT'
77
+ params?: Array<
78
+ | {
79
+ input: 'mcpClientName'
80
+ value?: string | DataLink | EventProperty
81
+ mapping?: string
82
+ }
83
+ | {
84
+ input: 'mcpPromptName'
85
+ value?: string | DataLink | EventProperty
86
+ mapping?: string
87
+ }
88
+ | {
89
+ input: 'mcpArguments'
90
+ value?: {} | DataLink | EventProperty
91
+ mapping?: string
92
+ }
93
+ | {
94
+ input: 'firstMessageAsSystem'
95
+ value?: boolean | DataLink | EventProperty
96
+ mapping?: string
97
+ }
98
+ >
99
+ }
100
+
101
+ /* Add messages from MCP prompt */
102
+ export type GeneratorAssistantActionAddMcpPromptMessage = ActionWithParams & {
103
+ __actionName: 'GENERATOR_ASSISTANT_ADD_MCP_PROMPT_MESSAGE'
104
+ params?: Array<
105
+ | {
106
+ input: 'mcpClientName'
107
+ value?: string | DataLink | EventProperty
108
+ mapping?: string
109
+ }
110
+ | {
111
+ input: 'mcpPromptName'
112
+ value?: string | DataLink | EventProperty
113
+ mapping?: string
114
+ }
115
+ | {
116
+ input: 'mcpArguments'
117
+ value?: {} | DataLink | EventProperty
118
+ mapping?: string
119
+ }
120
+ >
121
+ }
122
+
123
+ /* Update a message at a specific index */
124
+ export type GeneratorAssistantActionUpdateMessageAtIndex = ActionWithParams & {
125
+ __actionName: 'GENERATOR_ASSISTANT_UPDATE_MESSAGE_AT_INDEX'
126
+ params?: Array<
127
+ | {
128
+ input: 'index'
129
+ value?: number | DataLink | EventProperty
130
+ mapping?: string
131
+ }
132
+ | {
133
+ input: 'content'
134
+ value?: string | DataLink | EventProperty
135
+ mapping?: string
136
+ }
137
+ | {
138
+ input: 'image'
139
+ value?: string | DataLink | EventProperty
140
+ mapping?: string
141
+ }
142
+ | {
143
+ input: 'payload'
144
+ value?: {} | DataLink | EventProperty
145
+ mapping?: string
146
+ }
147
+ >
148
+ }
149
+
150
+ /* Add an audio message and convert it to text to the assistant (if STT enabled) */
151
+ export type GeneratorAssistantActionAddAudioMessage = ActionWithParams & {
152
+ __actionName: 'GENERATOR_ASSISTANT_ADD_AUDIO_MESSAGE'
153
+ params?: Array<
154
+ | {
155
+ input: 'role'
156
+ value?: string | DataLink | EventProperty
157
+ mapping?: string
158
+ }
159
+ | {
160
+ input: 'contentFile'
161
+ value?: string | DataLink | EventProperty
162
+ mapping?: string
163
+ }
164
+ | {
165
+ input: 'contentBase64'
166
+ value?: string | DataLink | EventProperty
167
+ mapping?: string
168
+ }
169
+ | {
170
+ input: 'image'
171
+ value?: string | DataLink | EventProperty
172
+ mapping?: string
173
+ }
174
+ | {
175
+ input: 'useFileSearch'
176
+ value?: boolean | DataLink | EventProperty
177
+ mapping?: string
178
+ }
179
+ | {
180
+ input: 'payload'
181
+ value?: {} | DataLink | EventProperty
182
+ mapping?: string
183
+ }
184
+ | {
185
+ input: 'filePath'
186
+ value?: string | DataLink | EventProperty
187
+ mapping?: string
188
+ }
189
+ | {
190
+ input: 'fileName'
191
+ value?: string | DataLink | EventProperty
192
+ mapping?: string
193
+ }
194
+ | {
195
+ input: 'fileExtension'
196
+ value?: string | DataLink | EventProperty
197
+ mapping?: string
198
+ }
199
+ | {
200
+ input: 'filePayload'
201
+ value?: {} | DataLink | EventProperty
202
+ mapping?: string
203
+ }
204
+ | {
205
+ input: 'fileSearchCitationCount'
206
+ value?: number | DataLink | EventProperty
207
+ mapping?: string
208
+ }
209
+ | {
210
+ input: 'fileSearchInsertMethod'
211
+ value?: 'in-user-message' | 'new-assistant-message' | DataLink | EventProperty
212
+ mapping?: string
213
+ }
214
+ >
215
+ }
216
+
217
+ /* Add a file to File Search (Vector Store) */
218
+ export type GeneratorAssistantActionAddFile = ActionWithParams & {
219
+ __actionName: 'GENERATOR_ASSISTANT_ADD_FILE'
220
+ params?: Array<
221
+ | {
222
+ input: 'filePath'
223
+ value?: string | DataLink | EventProperty
224
+ mapping?: string
225
+ }
226
+ | {
227
+ input: 'fileName'
228
+ value?: string | DataLink | EventProperty
229
+ mapping?: string
230
+ }
231
+ | {
232
+ input: 'fileExtension'
233
+ value?: string | DataLink | EventProperty
234
+ mapping?: string
235
+ }
236
+ | {
237
+ input: 'filePayload'
238
+ value?: {} | DataLink | EventProperty
239
+ mapping?: string
240
+ }
241
+ >
242
+ }
243
+
244
+ /* Remove a file from File Search (Vector Store) */
245
+ export type GeneratorAssistantActionRemoveFile = ActionWithParams & {
246
+ __actionName: 'GENERATOR_ASSISTANT_REMOVE_FILE'
247
+ params?: Array<{
248
+ input: 'fileName'
249
+ value?: string | DataLink | EventProperty
250
+ mapping?: string
251
+ }>
252
+ }
253
+
254
+ /* Update a audio message at a specific index */
255
+ export type GeneratorAssistantActionUpdateAudioMessageAtIndex = ActionWithParams & {
256
+ __actionName: 'GENERATOR_ASSISTANT_UPDATE_AUDIO_MESSAGE_AT_INDEX'
257
+ params?: Array<
258
+ | {
259
+ input: 'index'
260
+ value?: number | DataLink | EventProperty
261
+ mapping?: string
262
+ }
263
+ | {
264
+ input: 'contentFile'
265
+ value?: string | DataLink | EventProperty
266
+ mapping?: string
267
+ }
268
+ | {
269
+ input: 'contentBase64'
270
+ value?: string | DataLink | EventProperty
271
+ mapping?: string
272
+ }
273
+ | {
274
+ input: 'image'
275
+ value?: string | DataLink | EventProperty
276
+ mapping?: string
277
+ }
278
+ | {
279
+ input: 'payload'
280
+ value?: {} | DataLink | EventProperty
281
+ mapping?: string
282
+ }
283
+ >
284
+ }
285
+
286
+ /* Remove a message at a specific index */
287
+ export type GeneratorAssistantActionRemoveMessageAtIndex = ActionWithParams & {
288
+ __actionName: 'GENERATOR_ASSISTANT_REMOVE_MESSAGE_AT_INDEX'
289
+ params?: Array<{
290
+ input: 'index'
291
+ value?: number | DataLink | EventProperty
292
+ mapping?: string
293
+ }>
294
+ }
295
+
296
+ /* Reset all messages of the assistant */
297
+ export type GeneratorAssistantActionResetMessages = Action & {
298
+ __actionName: 'GENERATOR_ASSISTANT_RESET_MESSAGES'
299
+ }
300
+
301
+ /* Reset assistant (Reset all messages and files) */
302
+ export type GeneratorAssistantActionReset = Action & {
303
+ __actionName: 'GENERATOR_ASSISTANT_RESET'
304
+ }
305
+
306
+ /* Submit the assistant */
307
+ export type GeneratorAssistantActionSubmit = ActionWithParams & {
308
+ __actionName: 'GENERATOR_ASSISTANT_SUBMIT'
309
+ params?: Array<
310
+ | {
311
+ input: 'continueOnToolCallConfirm'
312
+ value?: boolean | DataLink | EventProperty
313
+ mapping?: string
314
+ }
315
+ | {
316
+ input: 'continueOnToolCallStrategy'
317
+ value?: 'never' | 'success' | 'always' | DataLink | EventProperty
318
+ mapping?: string
319
+ }
320
+ | {
321
+ input: 'continueOnToolCallLimit'
322
+ value?: number | DataLink | EventProperty
323
+ mapping?: string
324
+ }
325
+ >
326
+ }
327
+
328
+ /* Cancel the assistant responding */
329
+ export type GeneratorAssistantActionCancel = Action & {
330
+ __actionName: 'GENERATOR_ASSISTANT_CANCEL'
331
+ }
332
+
333
+ /* Check the enabled MCP clients connection status and available tools */
334
+ export type GeneratorAssistantActionCheckMcpServers = Action & {
335
+ __actionName: 'GENERATOR_ASSISTANT_CHECK_MCP_SERVERS'
336
+ }
337
+
338
+ /* Insert an MCP resource as a new assistant message */
339
+ export type GeneratorAssistantActionInsertMcpResource = ActionWithParams & {
340
+ __actionName: 'GENERATOR_ASSISTANT_INSERT_MCP_RESOURCE'
341
+ params?: Array<
342
+ | {
343
+ input: 'mcpClientName'
344
+ value?: string | DataLink | EventProperty
345
+ mapping?: string
346
+ }
347
+ | {
348
+ input: 'mcpResourceUri'
349
+ value?: string | DataLink | EventProperty
350
+ mapping?: string
351
+ }
352
+ | {
353
+ input: 'mcpVariables'
354
+ value?: {} | DataLink | EventProperty
355
+ mapping?: string
356
+ }
357
+ | {
358
+ input: 'role'
359
+ value?: string | DataLink | EventProperty
360
+ mapping?: string
361
+ }
362
+ >
363
+ }
364
+
365
+ /* Summarize messages based on the conversation
366
+
367
+ Note: Summary uses the same LLM context size, so it is recommended only to use it when the system prompt (in Initial Messages) is long, otherwise it may still fail when the context is full (Ctx Shift is NO). */
368
+ export type GeneratorAssistantActionSummaryMessages = ActionWithParams & {
369
+ __actionName: 'GENERATOR_ASSISTANT_SUMMARY_MESSAGES'
370
+ params?: Array<
371
+ | {
372
+ input: 'summaryMessages'
373
+ value?: Array<any> | DataLink | EventProperty
374
+ mapping?: string
375
+ }
376
+ | {
377
+ input: 'summarySessionKey'
378
+ value?: string | DataLink | EventProperty
379
+ mapping?: string
380
+ }
381
+ >
382
+ }
383
+
384
+ interface GeneratorAssistantDef {
385
+ /*
386
+ Default property:
387
+ {
388
+ "initialMessages": [
389
+ {
390
+ "role": "system",
391
+ "content": "You are a helpful assistant."
392
+ }
393
+ ],
394
+ "cacheMessages": false,
395
+ "llmLivePolicy": "only-in-use",
396
+ "llmSessionKey": "default-assistant",
397
+ "llmAutoSummaryMessages": false,
398
+ "llmSummaryMessages": [
399
+ {
400
+ "role": "system",
401
+ "content": "You are a helpful assistant specialized in summarizing conversations. Create a concise summary of the conversation that captures the key points while maintaining important context. The summary should be clear, accurate, and briefer than the original conversation."
402
+ },
403
+ {
404
+ "role": "user",
405
+ "content": "Please summarize the following conversation into a concise system message that can replace the previous conversation context while maintaining all important information. Here is the conversation to summarize:\n\n"
406
+ }
407
+ ],
408
+ "llmSummarySessionKey": "assistant-default-summary",
409
+ "fileSearchEnabled": false,
410
+ "fileSearchLivePolicy": "only-in-use",
411
+ "sttEnabled": true,
412
+ "sttLivePolicy": "only-in-use",
413
+ "ttsEnabled": false,
414
+ "ttsLivePolicy": "only-in-use"
415
+ }
416
+ */
417
+ property?: {
418
+ /* Whether to heat up generators on initialization for better performance */
419
+ heatup?: boolean | DataLink
420
+ /* Messages */
421
+ initialMessages?:
422
+ | Array<
423
+ | DataLink
424
+ | {
425
+ role?: string | DataLink
426
+ content?: string | DataLink
427
+ }
428
+ >
429
+ | DataLink
430
+ /* Whether to cache messages */
431
+ cacheMessages?: boolean | DataLink
432
+ /* LLM Generator (Supports `LLM (GGML)` and `OpenAI LLM` generators) */
433
+ llmGeneratorId?: string | DataLink
434
+ /* LLM Live Policy. If the policy is `only-in-use`, the LLM context will be released when the assistant is not in use.
435
+
436
+ Note: LLM (Qualcomm AI Engine) recommend use `manual` and loaded constantly. */
437
+ llmLivePolicy?: 'only-in-use' | 'manual' | DataLink
438
+ /* LLM main session key */
439
+ llmSessionKey?: string | DataLink
440
+ /* Auto Summary Messages (Automatically summarize messages when the LLM context is full or content gets truncated, currently only supported with LLM (GGML) generators)
441
+
442
+ Note: Summary uses the same LLM context size, so it is recommended only to use it when the system prompt (in Initial Messages) is long, otherwise it may still fail when the context is full (Ctx Shift is NO). */
443
+ llmAutoSummaryMessages?: boolean | DataLink
444
+ /* Summary Messages (Messages used for summarization prompt, conversation will be appended to the last message) */
445
+ llmSummaryMessages?:
446
+ | Array<
447
+ | DataLink
448
+ | {
449
+ role?: string | DataLink
450
+ content?: string | DataLink
451
+ }
452
+ >
453
+ | DataLink
454
+ /* Summary Session Key (Custom session key for summarization) */
455
+ llmSummarySessionKey?: string | DataLink
456
+ /* File Search (Vector Store) Enabled */
457
+ fileSearchEnabled?: boolean | DataLink
458
+ /* File Search (Vector Store) Generator */
459
+ fileSearchGeneratorId?: string | DataLink
460
+ /* File Search (Vector Store) Live Policy. If the policy is `only-in-use`, the File Search (Vector Store) context will be released when the assistant is not in use. */
461
+ fileSearchLivePolicy?: 'only-in-use' | 'manual' | DataLink
462
+ /* File Search Citation Count. (Default: 3) */
463
+ fileSearchCitationCount?: number | DataLink
464
+ /* File Search Threshold. (Default: 1.0) */
465
+ fileSearchThreshold?: number | DataLink
466
+ /* File Search Ignore Threshold. (Default: false) */
467
+ fileSearchIgnoreThreshold?: boolean | DataLink
468
+ /* STT Generator use for transcribing audio message (Supports `STT (GGML)` generators) */
469
+ sttGeneratorId?: string | DataLink
470
+ /* STT Enabled */
471
+ sttEnabled?: boolean | DataLink
472
+ /* STT Live Policy. If the policy is `only-in-use`, the STT context will be released when the assistant is not in use. */
473
+ sttLivePolicy?: 'only-in-use' | 'manual' | DataLink
474
+ /* TTS Generator use for generating LLM response audio message (Supports `TTS (ONNX)` and `OpenAI TTS` generators) */
475
+ ttsGeneratorId?: string | DataLink
476
+ /* TTS Enabled */
477
+ ttsEnabled?: boolean | DataLink
478
+ /* TTS Live Policy. If the policy is `only-in-use`, the TTS context will be released when the assistant is not in use. */
479
+ ttsLivePolicy?: 'only-in-use' | 'manual' | DataLink
480
+ /* MCP Generators (Add a unique name if generator name property are duplicate) */
481
+ mcpGenerators?:
482
+ | Array<
483
+ | DataLink
484
+ | {
485
+ generatorId?: string | DataLink
486
+ generatorKey?: string | DataLink
487
+ name?: string | DataLink
488
+ enabled?: boolean | DataLink
489
+ }
490
+ >
491
+ | DataLink
492
+ }
493
+ events?: {
494
+ /* Error event */
495
+ onError?: Array<EventAction>
496
+ /* Log event */
497
+ onLogs?: Array<EventAction>
498
+ /* Messages update event */
499
+ onMessagesUpdate?: Array<EventAction>
500
+ }
501
+ outlets?: {
502
+ /* Whether the assistant is heating up */
503
+ isHeatingUp?: () => Data
504
+ /* Whether the assistant is file processing */
505
+ isFileProcessing?: () => Data
506
+ /* Whether the assistant is responding */
507
+ isResponding?: () => Data
508
+ /* Whether the assistant is busy */
509
+ isBusy?: () => Data
510
+ /* Embedding files of the assistant */
511
+ files?: () => Data
512
+ /* Messages of the assistant */
513
+ messages?: () => Data
514
+ /* MCP servers status and available tools */
515
+ mcpServers?: () => Data
516
+ }
517
+ }
518
+
519
+ /* AI Assistant */
520
+ export type GeneratorAssistant = Generator &
521
+ GeneratorAssistantDef & {
522
+ templateKey: 'GENERATOR_ASSISTANT'
523
+ switches: Array<
524
+ SwitchDef &
525
+ GeneratorAssistantDef & {
526
+ conds?: Array<{
527
+ method: '==' | '!=' | '>' | '<' | '>=' | '<='
528
+ cond:
529
+ | SwitchCondInnerStateCurrentCanvas
530
+ | SwitchCondData
531
+ | {
532
+ __typename: 'SwitchCondInnerStateOutlet'
533
+ outlet:
534
+ | 'isHeatingUp'
535
+ | 'isFileProcessing'
536
+ | 'isResponding'
537
+ | 'isBusy'
538
+ | 'files'
539
+ | 'messages'
540
+ | 'mcpServers'
541
+ value: any
542
+ }
543
+ }>
544
+ }
545
+ >
546
+ }