@fugood/bricks-project 2.22.0-beta.26 → 2.22.0-beta.28
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 +2 -2
- package/types/animation.ts +1 -0
- package/types/brick-base.ts +77 -0
- package/types/bricks/3DViewer.ts +200 -0
- package/types/bricks/Camera.ts +195 -0
- package/types/bricks/Chart.ts +362 -0
- package/types/bricks/GenerativeMedia.ts +237 -0
- package/types/bricks/Icon.ts +90 -0
- package/types/bricks/Image.ts +101 -0
- package/types/bricks/Items.ts +461 -0
- package/types/bricks/Lottie.ts +156 -0
- package/types/bricks/Qrcode.ts +109 -0
- package/types/bricks/Rect.ts +107 -0
- package/types/bricks/RichText.ts +120 -0
- package/types/bricks/Rive.ts +209 -0
- package/types/bricks/Slideshow.ts +155 -0
- package/types/bricks/Svg.ts +91 -0
- package/types/bricks/Text.ts +140 -0
- package/types/bricks/TextInput.ts +231 -0
- package/types/bricks/Video.ts +167 -0
- package/types/bricks/VideoStreaming.ts +104 -0
- package/types/bricks/WebRTCStream.ts +60 -0
- package/types/bricks/WebView.ts +157 -0
- package/types/bricks/index.ts +20 -0
- package/types/generators/AlarmClock.ts +102 -0
- package/types/generators/Assistant.ts +546 -0
- package/types/generators/BleCentral.ts +225 -0
- package/types/generators/BlePeripheral.ts +202 -0
- package/types/generators/CanvasMap.ts +57 -0
- package/types/generators/CastlesPay.ts +77 -0
- package/types/generators/DataBank.ts +123 -0
- package/types/generators/File.ts +351 -0
- package/types/generators/GraphQL.ts +124 -0
- package/types/generators/HTTP.ts +117 -0
- package/types/generators/HTTPServer.ts +156 -0
- package/types/generators/Information.ts +97 -0
- package/types/generators/Intent.ts +107 -0
- package/types/generators/Iterator.ts +95 -0
- package/types/generators/Keyboard.ts +85 -0
- package/types/generators/LlmAnthropicCompat.ts +188 -0
- package/types/generators/LlmGgml.ts +719 -0
- package/types/generators/LlmOnnx.ts +184 -0
- package/types/generators/LlmOpenAiCompat.ts +206 -0
- package/types/generators/LlmQualcommAiEngine.ts +213 -0
- package/types/generators/MCP.ts +294 -0
- package/types/generators/MCPServer.ts +245 -0
- package/types/generators/MQTTBroker.ts +121 -0
- package/types/generators/MediaFlow.ts +142 -0
- package/types/generators/MqttClient.ts +129 -0
- package/types/generators/Question.ts +395 -0
- package/types/generators/RealtimeTranscription.ts +172 -0
- package/types/generators/RerankerGgml.ts +153 -0
- package/types/generators/SerialPort.ts +141 -0
- package/types/generators/SoundPlayer.ts +86 -0
- package/types/generators/SoundRecorder.ts +113 -0
- package/types/generators/SpeechToTextGgml.ts +462 -0
- package/types/generators/SpeechToTextOnnx.ts +227 -0
- package/types/generators/SpeechToTextPlatform.ts +75 -0
- package/types/generators/Sqlite.ts +118 -0
- package/types/generators/Step.ts +101 -0
- package/types/generators/TCP.ts +120 -0
- package/types/generators/TCPServer.ts +137 -0
- package/types/generators/TapToPayOnIPhone.ts +175 -0
- package/types/generators/TextToSpeechGgml.ts +182 -0
- package/types/generators/TextToSpeechOnnx.ts +169 -0
- package/types/generators/TextToSpeechOpenAiLike.ts +113 -0
- package/types/generators/ThermalPrinter.ts +185 -0
- package/types/generators/Tick.ts +75 -0
- package/types/generators/UDP.ts +109 -0
- package/types/generators/VadGgml.ts +211 -0
- package/types/generators/VectorStore.ts +223 -0
- package/types/generators/Watchdog.ts +96 -0
- package/types/generators/WebCrawler.ts +97 -0
- package/types/generators/WebRTC.ts +165 -0
- package/types/generators/WebSocket.ts +142 -0
- package/types/generators/index.ts +51 -0
- package/types/bricks.ts +0 -3269
- package/types/generators.ts +0 -8627
|
@@ -0,0 +1,294 @@
|
|
|
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
|
+
/* Connect to MCP server */
|
|
13
|
+
export type GeneratorMCPActionConnect = Action & {
|
|
14
|
+
__actionName: 'GENERATOR_MCP_CONNECT'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Disconnect from MCP server */
|
|
18
|
+
export type GeneratorMCPActionDisconnect = Action & {
|
|
19
|
+
__actionName: 'GENERATOR_MCP_DISCONNECT'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* List resources */
|
|
23
|
+
export type GeneratorMCPActionListResources = ActionWithParams & {
|
|
24
|
+
__actionName: 'GENERATOR_MCP_LIST_RESOURCES'
|
|
25
|
+
params?: Array<{
|
|
26
|
+
input: 'requestId'
|
|
27
|
+
value?: string | DataLink | EventProperty
|
|
28
|
+
mapping?: string
|
|
29
|
+
}>
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* List resource templates */
|
|
33
|
+
export type GeneratorMCPActionListResourceTemplates = ActionWithParams & {
|
|
34
|
+
__actionName: 'GENERATOR_MCP_LIST_RESOURCE_TEMPLATES'
|
|
35
|
+
params?: Array<{
|
|
36
|
+
input: 'requestId'
|
|
37
|
+
value?: string | DataLink | EventProperty
|
|
38
|
+
mapping?: string
|
|
39
|
+
}>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Read resource */
|
|
43
|
+
export type GeneratorMCPActionReadResource = ActionWithParams & {
|
|
44
|
+
__actionName: 'GENERATOR_MCP_READ_RESOURCE'
|
|
45
|
+
params?: Array<
|
|
46
|
+
| {
|
|
47
|
+
input: 'requestId'
|
|
48
|
+
value?: string | DataLink | EventProperty
|
|
49
|
+
mapping?: string
|
|
50
|
+
}
|
|
51
|
+
| {
|
|
52
|
+
input: 'uri'
|
|
53
|
+
value?: string | DataLink | EventProperty
|
|
54
|
+
mapping?: string
|
|
55
|
+
}
|
|
56
|
+
| {
|
|
57
|
+
input: 'variables'
|
|
58
|
+
value?: {} | DataLink | EventProperty
|
|
59
|
+
mapping?: string
|
|
60
|
+
}
|
|
61
|
+
>
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* List tools */
|
|
65
|
+
export type GeneratorMCPActionListTools = ActionWithParams & {
|
|
66
|
+
__actionName: 'GENERATOR_MCP_LIST_TOOLS'
|
|
67
|
+
params?: Array<{
|
|
68
|
+
input: 'requestId'
|
|
69
|
+
value?: string | DataLink | EventProperty
|
|
70
|
+
mapping?: string
|
|
71
|
+
}>
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* Call tool */
|
|
75
|
+
export type GeneratorMCPActionCallTool = ActionWithParams & {
|
|
76
|
+
__actionName: 'GENERATOR_MCP_CALL_TOOL'
|
|
77
|
+
params?: Array<
|
|
78
|
+
| {
|
|
79
|
+
input: 'requestId'
|
|
80
|
+
value?: string | DataLink | EventProperty
|
|
81
|
+
mapping?: string
|
|
82
|
+
}
|
|
83
|
+
| {
|
|
84
|
+
input: 'name'
|
|
85
|
+
value?: string | DataLink | EventProperty
|
|
86
|
+
mapping?: string
|
|
87
|
+
}
|
|
88
|
+
| {
|
|
89
|
+
input: 'variables'
|
|
90
|
+
value?: {} | DataLink | EventProperty
|
|
91
|
+
mapping?: string
|
|
92
|
+
}
|
|
93
|
+
>
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* List prompts */
|
|
97
|
+
export type GeneratorMCPActionListPrompts = ActionWithParams & {
|
|
98
|
+
__actionName: 'GENERATOR_MCP_LIST_PROMPTS'
|
|
99
|
+
params?: Array<{
|
|
100
|
+
input: 'requestId'
|
|
101
|
+
value?: string | DataLink | EventProperty
|
|
102
|
+
mapping?: string
|
|
103
|
+
}>
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* Request prompt */
|
|
107
|
+
export type GeneratorMCPActionGetPrompt = ActionWithParams & {
|
|
108
|
+
__actionName: 'GENERATOR_MCP_GET_PROMPT'
|
|
109
|
+
params?: Array<
|
|
110
|
+
| {
|
|
111
|
+
input: 'requestId'
|
|
112
|
+
value?: string | DataLink | EventProperty
|
|
113
|
+
mapping?: string
|
|
114
|
+
}
|
|
115
|
+
| {
|
|
116
|
+
input: 'name'
|
|
117
|
+
value?: string | DataLink | EventProperty
|
|
118
|
+
mapping?: string
|
|
119
|
+
}
|
|
120
|
+
| {
|
|
121
|
+
input: 'variables'
|
|
122
|
+
value?: {} | DataLink | EventProperty
|
|
123
|
+
mapping?: string
|
|
124
|
+
}
|
|
125
|
+
>
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
interface GeneratorMCPDef {
|
|
129
|
+
/*
|
|
130
|
+
Default property:
|
|
131
|
+
{
|
|
132
|
+
"init": false,
|
|
133
|
+
"type": "streamable-http",
|
|
134
|
+
"url": "",
|
|
135
|
+
"autoReconnect": true,
|
|
136
|
+
"maxReconnectAttempts": 10,
|
|
137
|
+
"reconnectInterval": 1000,
|
|
138
|
+
"generatorId": "",
|
|
139
|
+
"generatorKey": "",
|
|
140
|
+
"name": "bricks-foundation-mcp-client-default",
|
|
141
|
+
"version": "1.0.0",
|
|
142
|
+
"ignoreResourceInList": [],
|
|
143
|
+
"ignoreToolInList": [],
|
|
144
|
+
"ignorePromptInList": [],
|
|
145
|
+
"requestTimeout": 60000
|
|
146
|
+
}
|
|
147
|
+
*/
|
|
148
|
+
property?: {
|
|
149
|
+
/* Application-scoped generator key, key cannot be the same with other application-scoped generators */
|
|
150
|
+
globalGeneratorKey?: string | DataLink
|
|
151
|
+
/* Initialize the MCP client on start */
|
|
152
|
+
init?: boolean | DataLink
|
|
153
|
+
/* Type of the MCP connection, e.g. sse or direct-link (generator) */
|
|
154
|
+
type?: 'streamable-http' | 'sse' | 'direct-link' | DataLink
|
|
155
|
+
/* URL of the MCP server, e.g. http://localhost:19853/sse */
|
|
156
|
+
url?: string | DataLink
|
|
157
|
+
/* Whether to automatically reconnect to the MCP server */
|
|
158
|
+
autoReconnect?: boolean | DataLink
|
|
159
|
+
/* Maximum number of reconnection attempts */
|
|
160
|
+
maxReconnectAttempts?: number | DataLink
|
|
161
|
+
/* Reconnection interval in milliseconds */
|
|
162
|
+
reconnectInterval?: number | DataLink
|
|
163
|
+
/* SSE connection headers */
|
|
164
|
+
sseHeaders?: {} | DataLink
|
|
165
|
+
/* Send request headers */
|
|
166
|
+
sendHeaders?: {} | DataLink
|
|
167
|
+
/* Bearer token for authentication */
|
|
168
|
+
bearerToken?: string | DataLink
|
|
169
|
+
/* Generator MCP Server ID for direct link */
|
|
170
|
+
generatorId?: string | DataLink
|
|
171
|
+
/* Application-scoped key of Generator MCP Server for direct link (If ID is not provided) */
|
|
172
|
+
generatorKey?: string | DataLink
|
|
173
|
+
/* Name of the MCP client */
|
|
174
|
+
name?: string | DataLink
|
|
175
|
+
/* Version of the MCP client */
|
|
176
|
+
version?: string | DataLink
|
|
177
|
+
/* Ignore resources in list response */
|
|
178
|
+
ignoreResourceInList?: Array<string | DataLink> | DataLink
|
|
179
|
+
/* Ignore tools in list response */
|
|
180
|
+
ignoreToolInList?: Array<string | DataLink> | DataLink
|
|
181
|
+
/* Ignore prompts in list response */
|
|
182
|
+
ignorePromptInList?: Array<string | DataLink> | DataLink
|
|
183
|
+
/* Request timeout in milliseconds */
|
|
184
|
+
requestTimeout?: number | DataLink
|
|
185
|
+
}
|
|
186
|
+
events?: {
|
|
187
|
+
/* On connected */
|
|
188
|
+
onConnected?: Array<EventAction>
|
|
189
|
+
/* On connection error */
|
|
190
|
+
onConnectionError?: Array<EventAction>
|
|
191
|
+
/* On disconnected */
|
|
192
|
+
onDisconnected?: Array<EventAction>
|
|
193
|
+
/* On list resources */
|
|
194
|
+
onListResources?: Array<EventAction>
|
|
195
|
+
/* On list resources error */
|
|
196
|
+
onListResourcesError?: Array<EventAction>
|
|
197
|
+
/* On list resource templates */
|
|
198
|
+
onListResourceTemplates?: Array<EventAction>
|
|
199
|
+
/* On list resource templates error */
|
|
200
|
+
onListResourceTemplatesError?: Array<EventAction>
|
|
201
|
+
/* On read resource */
|
|
202
|
+
onReadResource?: Array<EventAction>
|
|
203
|
+
/* On read resource error */
|
|
204
|
+
onReadResourceError?: Array<EventAction>
|
|
205
|
+
/* On list tools */
|
|
206
|
+
onListTools?: Array<EventAction>
|
|
207
|
+
/* On list tools error */
|
|
208
|
+
onListToolsError?: Array<EventAction>
|
|
209
|
+
/* On call tool */
|
|
210
|
+
onCallTool?: Array<EventAction>
|
|
211
|
+
/* On call tool error */
|
|
212
|
+
onCallToolError?: Array<EventAction>
|
|
213
|
+
/* On list prompts */
|
|
214
|
+
onListPrompts?: Array<EventAction>
|
|
215
|
+
/* On list prompts error */
|
|
216
|
+
onListPromptsError?: Array<EventAction>
|
|
217
|
+
/* On get prompt */
|
|
218
|
+
onGetPrompt?: Array<EventAction>
|
|
219
|
+
/* On get prompt error */
|
|
220
|
+
onGetPromptError?: Array<EventAction>
|
|
221
|
+
}
|
|
222
|
+
outlets?: {
|
|
223
|
+
/* Connection state */
|
|
224
|
+
connectionState?: () => Data
|
|
225
|
+
/* List resources response */
|
|
226
|
+
listResourcesResponse?: () => Data
|
|
227
|
+
/* List resources error */
|
|
228
|
+
listResourcesError?: () => Data
|
|
229
|
+
/* List resource templates response */
|
|
230
|
+
listResourceTemplatesResponse?: () => Data
|
|
231
|
+
/* List resource templates error */
|
|
232
|
+
listResourceTemplatesError?: () => Data
|
|
233
|
+
/* Read resource response */
|
|
234
|
+
readResourceResponse?: () => Data
|
|
235
|
+
/* Read resource error */
|
|
236
|
+
readResourceError?: () => Data
|
|
237
|
+
/* List tools response */
|
|
238
|
+
listToolsResponse?: () => Data
|
|
239
|
+
/* List tools error */
|
|
240
|
+
listToolsError?: () => Data
|
|
241
|
+
/* Call tool response */
|
|
242
|
+
callToolResponse?: () => Data
|
|
243
|
+
/* Call tool error */
|
|
244
|
+
callToolError?: () => Data
|
|
245
|
+
/* List prompts response */
|
|
246
|
+
listPromptsResponse?: () => Data
|
|
247
|
+
/* List prompts error */
|
|
248
|
+
listPromptsError?: () => Data
|
|
249
|
+
/* Get prompt response */
|
|
250
|
+
getPromptResponse?: () => Data
|
|
251
|
+
/* Request prompt error */
|
|
252
|
+
getPromptError?: () => Data
|
|
253
|
+
/* Last error */
|
|
254
|
+
lastError?: () => Data
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/* Model Context Protocol (MCP) Client, support SSE and Generator MCPServer direct link */
|
|
259
|
+
export type GeneratorMCP = Generator &
|
|
260
|
+
GeneratorMCPDef & {
|
|
261
|
+
templateKey: 'GENERATOR_MCP'
|
|
262
|
+
switches: Array<
|
|
263
|
+
SwitchDef &
|
|
264
|
+
GeneratorMCPDef & {
|
|
265
|
+
conds?: Array<{
|
|
266
|
+
method: '==' | '!=' | '>' | '<' | '>=' | '<='
|
|
267
|
+
cond:
|
|
268
|
+
| SwitchCondInnerStateCurrentCanvas
|
|
269
|
+
| SwitchCondData
|
|
270
|
+
| {
|
|
271
|
+
__typename: 'SwitchCondInnerStateOutlet'
|
|
272
|
+
outlet:
|
|
273
|
+
| 'connectionState'
|
|
274
|
+
| 'listResourcesResponse'
|
|
275
|
+
| 'listResourcesError'
|
|
276
|
+
| 'listResourceTemplatesResponse'
|
|
277
|
+
| 'listResourceTemplatesError'
|
|
278
|
+
| 'readResourceResponse'
|
|
279
|
+
| 'readResourceError'
|
|
280
|
+
| 'listToolsResponse'
|
|
281
|
+
| 'listToolsError'
|
|
282
|
+
| 'callToolResponse'
|
|
283
|
+
| 'callToolError'
|
|
284
|
+
| 'listPromptsResponse'
|
|
285
|
+
| 'listPromptsError'
|
|
286
|
+
| 'getPromptResponse'
|
|
287
|
+
| 'getPromptError'
|
|
288
|
+
| 'lastError'
|
|
289
|
+
value: any
|
|
290
|
+
}
|
|
291
|
+
}>
|
|
292
|
+
}
|
|
293
|
+
>
|
|
294
|
+
}
|
|
@@ -0,0 +1,245 @@
|
|
|
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
|
+
/* Refresh tools and resources, used for case if tools or resources are changed. Note that the current connections will be closed. */
|
|
13
|
+
export type GeneratorMCPServerActionRefreshResources = Action & {
|
|
14
|
+
__actionName: 'GENERATOR_MCP_SERVER_REFRESH_RESOURCES'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface GeneratorMCPServerDef {
|
|
18
|
+
/*
|
|
19
|
+
Default property:
|
|
20
|
+
{
|
|
21
|
+
"enabled": true,
|
|
22
|
+
"listening": true,
|
|
23
|
+
"authType": "none",
|
|
24
|
+
"name": "bricks-foundation-mcp-server-default",
|
|
25
|
+
"version": "1.0.0",
|
|
26
|
+
"resources": [],
|
|
27
|
+
"tools": [],
|
|
28
|
+
"prompts": []
|
|
29
|
+
}
|
|
30
|
+
*/
|
|
31
|
+
property?: {
|
|
32
|
+
/* Enable MCP server. If enabled and Listening is false, the generator can still provide application-scoped resources. */
|
|
33
|
+
enabled?: boolean | DataLink
|
|
34
|
+
/* Application-scoped generator key, key cannot be the same with other application-scoped generators */
|
|
35
|
+
globalGeneratorKey?: string | DataLink
|
|
36
|
+
/* Start MCP server */
|
|
37
|
+
listening?: boolean | DataLink
|
|
38
|
+
/* HTTP server port */
|
|
39
|
+
port?: number | DataLink
|
|
40
|
+
/* Authorization type of HTTP request */
|
|
41
|
+
authType?: 'none' | 'bearer' | DataLink
|
|
42
|
+
/* Token of bearer auth */
|
|
43
|
+
bearerToken?: string | DataLink
|
|
44
|
+
/* Name of the MCP server */
|
|
45
|
+
name?: string | DataLink
|
|
46
|
+
/* Version of the MCP server */
|
|
47
|
+
version?: string | DataLink
|
|
48
|
+
/* Resources
|
|
49
|
+
Type:
|
|
50
|
+
`static`: Return static data
|
|
51
|
+
`detect-data-change`: Watch data target change to return data,
|
|
52
|
+
please update data with ({ id: string, content: string | object }),
|
|
53
|
+
and ensure the id is same with request id
|
|
54
|
+
`script`: Run a JavaScript code to return data
|
|
55
|
+
- Script can define members to call generator functions
|
|
56
|
+
- Script support async/await */
|
|
57
|
+
resources?:
|
|
58
|
+
| Array<
|
|
59
|
+
| DataLink
|
|
60
|
+
| {
|
|
61
|
+
enabled?: boolean | DataLink
|
|
62
|
+
name?: string | DataLink
|
|
63
|
+
description?: string | DataLink
|
|
64
|
+
uriOrTemplate?: string | DataLink
|
|
65
|
+
type?: 'static' | 'detect-data-change' | 'script' | DataLink
|
|
66
|
+
staticData?: any
|
|
67
|
+
dataChangeConfig?:
|
|
68
|
+
| DataLink
|
|
69
|
+
| {
|
|
70
|
+
target?: string | DataLink
|
|
71
|
+
timeout?: number | DataLink
|
|
72
|
+
additionalParams?: {} | DataLink
|
|
73
|
+
}
|
|
74
|
+
scriptConfig?:
|
|
75
|
+
| DataLink
|
|
76
|
+
| {
|
|
77
|
+
code?: string | DataLink
|
|
78
|
+
timeout?: number | DataLink
|
|
79
|
+
members?:
|
|
80
|
+
| Array<
|
|
81
|
+
| DataLink
|
|
82
|
+
| {
|
|
83
|
+
handler?: string | DataLink
|
|
84
|
+
varName?: string | DataLink
|
|
85
|
+
}
|
|
86
|
+
>
|
|
87
|
+
| DataLink
|
|
88
|
+
additionalParams?: {} | DataLink
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
>
|
|
92
|
+
| DataLink
|
|
93
|
+
/* Tools
|
|
94
|
+
Type:
|
|
95
|
+
`static`: Return static data
|
|
96
|
+
`detect-data-change`: Watch data target change to return data,
|
|
97
|
+
please update data with ({ id: string, content: string | object }),
|
|
98
|
+
and ensure the id is same with request id.
|
|
99
|
+
`script`: Run a JavaScript code to return data
|
|
100
|
+
- Script can define members to call generator functions
|
|
101
|
+
- Script support async/await */
|
|
102
|
+
tools?:
|
|
103
|
+
| Array<
|
|
104
|
+
| DataLink
|
|
105
|
+
| {
|
|
106
|
+
enabled?: boolean | DataLink
|
|
107
|
+
name?: string | DataLink
|
|
108
|
+
description?: string | DataLink
|
|
109
|
+
params?: {} | DataLink
|
|
110
|
+
type?: 'static' | 'detect-data-change' | 'script' | DataLink
|
|
111
|
+
staticData?: any
|
|
112
|
+
dataChangeConfig?:
|
|
113
|
+
| DataLink
|
|
114
|
+
| {
|
|
115
|
+
target?: string | DataLink
|
|
116
|
+
timeout?: number | DataLink
|
|
117
|
+
additionalParams?: {} | DataLink
|
|
118
|
+
}
|
|
119
|
+
scriptConfig?:
|
|
120
|
+
| DataLink
|
|
121
|
+
| {
|
|
122
|
+
code?: string | DataLink
|
|
123
|
+
timeout?: number | DataLink
|
|
124
|
+
members?:
|
|
125
|
+
| Array<
|
|
126
|
+
| DataLink
|
|
127
|
+
| {
|
|
128
|
+
handler?: string | DataLink
|
|
129
|
+
varName?: string | DataLink
|
|
130
|
+
}
|
|
131
|
+
>
|
|
132
|
+
| DataLink
|
|
133
|
+
additionalParams?: {} | DataLink
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
>
|
|
137
|
+
| DataLink
|
|
138
|
+
/* Prompts
|
|
139
|
+
Type:
|
|
140
|
+
`static`: Return static data
|
|
141
|
+
`detect-data-change`: Watch data target change to return data,
|
|
142
|
+
please update data with ({ id: string, content: string | object }),
|
|
143
|
+
and ensure the id is same with request id
|
|
144
|
+
`script`: Run a JavaScript code to return data
|
|
145
|
+
- Script can define members to call generator functions
|
|
146
|
+
- Script support async/await */
|
|
147
|
+
prompts?:
|
|
148
|
+
| Array<
|
|
149
|
+
| DataLink
|
|
150
|
+
| {
|
|
151
|
+
enabled?: boolean | DataLink
|
|
152
|
+
name?: string | DataLink
|
|
153
|
+
description?: string | DataLink
|
|
154
|
+
arguments?: {} | DataLink
|
|
155
|
+
type?: 'static' | 'detect-data-change' | 'script' | DataLink
|
|
156
|
+
staticData?: any
|
|
157
|
+
dataChangeConfig?:
|
|
158
|
+
| DataLink
|
|
159
|
+
| {
|
|
160
|
+
target?: string | DataLink
|
|
161
|
+
timeout?: number | DataLink
|
|
162
|
+
additionalParams?: {} | DataLink
|
|
163
|
+
}
|
|
164
|
+
scriptConfig?:
|
|
165
|
+
| DataLink
|
|
166
|
+
| {
|
|
167
|
+
code?: string | DataLink
|
|
168
|
+
timeout?: number | DataLink
|
|
169
|
+
members?:
|
|
170
|
+
| Array<
|
|
171
|
+
| DataLink
|
|
172
|
+
| {
|
|
173
|
+
handler?: string | DataLink
|
|
174
|
+
varName?: string | DataLink
|
|
175
|
+
}
|
|
176
|
+
>
|
|
177
|
+
| DataLink
|
|
178
|
+
additionalParams?: {} | DataLink
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
>
|
|
182
|
+
| DataLink
|
|
183
|
+
}
|
|
184
|
+
events?: {
|
|
185
|
+
/* Listening of HTTP server */
|
|
186
|
+
onListening?: Array<EventAction>
|
|
187
|
+
/* Error of HTTP server */
|
|
188
|
+
onError?: Array<EventAction>
|
|
189
|
+
/* Client error of HTTP server */
|
|
190
|
+
onClientError?: Array<EventAction>
|
|
191
|
+
/* Client close of HTTP server */
|
|
192
|
+
onClientClose?: Array<EventAction>
|
|
193
|
+
/* On request resource (Request: { name: string, uri: string, params: object }) */
|
|
194
|
+
onRequestResource?: Array<EventAction>
|
|
195
|
+
/* On call tool (Request: { name: string, params: object }) */
|
|
196
|
+
onCallTool?: Array<EventAction>
|
|
197
|
+
/* On get prompt (Request: { name: string, arguments: object }) */
|
|
198
|
+
onGetPrompt?: Array<EventAction>
|
|
199
|
+
}
|
|
200
|
+
outlets?: {
|
|
201
|
+
/* Whether the HTTP server is listening */
|
|
202
|
+
isListening?: () => Data
|
|
203
|
+
/* Last error of HTTP server */
|
|
204
|
+
lastError?: () => Data
|
|
205
|
+
/* MCP server endpoint URL */
|
|
206
|
+
endpoint?: () => Data
|
|
207
|
+
/* Connected remotes (Session ID) */
|
|
208
|
+
connectedRemotes?: () => Data
|
|
209
|
+
/* Last resource request ({ name: string, uri: string, params: object }) */
|
|
210
|
+
lastResourceRequest?: () => Data
|
|
211
|
+
/* Last tool call ({ name: string, params: object }) */
|
|
212
|
+
lastToolCall?: () => Data
|
|
213
|
+
/* Last prompt get ({ name: string, arguments: object }) */
|
|
214
|
+
lastPromptGet?: () => Data
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Model Context Protocol (MCP) Server (https://docs.anthropic.com/en/docs/agents-and-tools/mcp) */
|
|
219
|
+
export type GeneratorMCPServer = Generator &
|
|
220
|
+
GeneratorMCPServerDef & {
|
|
221
|
+
templateKey: 'GENERATOR_MCP_SERVER'
|
|
222
|
+
switches: Array<
|
|
223
|
+
SwitchDef &
|
|
224
|
+
GeneratorMCPServerDef & {
|
|
225
|
+
conds?: Array<{
|
|
226
|
+
method: '==' | '!=' | '>' | '<' | '>=' | '<='
|
|
227
|
+
cond:
|
|
228
|
+
| SwitchCondInnerStateCurrentCanvas
|
|
229
|
+
| SwitchCondData
|
|
230
|
+
| {
|
|
231
|
+
__typename: 'SwitchCondInnerStateOutlet'
|
|
232
|
+
outlet:
|
|
233
|
+
| 'isListening'
|
|
234
|
+
| 'lastError'
|
|
235
|
+
| 'endpoint'
|
|
236
|
+
| 'connectedRemotes'
|
|
237
|
+
| 'lastResourceRequest'
|
|
238
|
+
| 'lastToolCall'
|
|
239
|
+
| 'lastPromptGet'
|
|
240
|
+
value: any
|
|
241
|
+
}
|
|
242
|
+
}>
|
|
243
|
+
}
|
|
244
|
+
>
|
|
245
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
+
/* Start MQTT broker server */
|
|
13
|
+
export type GeneratorMQTTBrokerActionStart = Action & {
|
|
14
|
+
__actionName: 'GENERATOR_MQTT_BROKER_START'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/* Publish message to topic */
|
|
18
|
+
export type GeneratorMQTTBrokerActionPublish = ActionWithParams & {
|
|
19
|
+
__actionName: 'GENERATOR_MQTT_BROKER_PUBLISH'
|
|
20
|
+
params?: Array<
|
|
21
|
+
| {
|
|
22
|
+
input: 'topic'
|
|
23
|
+
value?: string | DataLink | EventProperty
|
|
24
|
+
mapping?: string
|
|
25
|
+
}
|
|
26
|
+
| {
|
|
27
|
+
input: 'payload'
|
|
28
|
+
value?: string | DataLink | EventProperty
|
|
29
|
+
mapping?: string
|
|
30
|
+
}
|
|
31
|
+
| {
|
|
32
|
+
input: 'messageId'
|
|
33
|
+
value?: number | DataLink | EventProperty
|
|
34
|
+
mapping?: string
|
|
35
|
+
}
|
|
36
|
+
>
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Stop MQTT broker server */
|
|
40
|
+
export type GeneratorMQTTBrokerActionStop = Action & {
|
|
41
|
+
__actionName: 'GENERATOR_MQTT_BROKER_STOP'
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
interface GeneratorMQTTBrokerDef {
|
|
45
|
+
/*
|
|
46
|
+
Default property:
|
|
47
|
+
{
|
|
48
|
+
"init": false,
|
|
49
|
+
"port": 1883,
|
|
50
|
+
"retryInterval": 5,
|
|
51
|
+
"keepalive": 60,
|
|
52
|
+
"authenticate": false
|
|
53
|
+
}
|
|
54
|
+
*/
|
|
55
|
+
property?: {
|
|
56
|
+
/* Start MQTT broker on generator initialized */
|
|
57
|
+
init?: boolean | DataLink
|
|
58
|
+
/* Bind port of MQTT server */
|
|
59
|
+
port?: number | DataLink
|
|
60
|
+
/* Retry interval when publish failed */
|
|
61
|
+
retryInterval?: number | DataLink
|
|
62
|
+
/* Keep-alive interval */
|
|
63
|
+
keepalive?: number | DataLink
|
|
64
|
+
/* Enable authentication */
|
|
65
|
+
authenticate?: boolean | DataLink
|
|
66
|
+
/* Authentication table */
|
|
67
|
+
authTable?:
|
|
68
|
+
| Array<
|
|
69
|
+
| DataLink
|
|
70
|
+
| {
|
|
71
|
+
username?: string | DataLink
|
|
72
|
+
password?: string | DataLink
|
|
73
|
+
}
|
|
74
|
+
>
|
|
75
|
+
| DataLink
|
|
76
|
+
}
|
|
77
|
+
events?: {
|
|
78
|
+
/* Event of MQTT server is ready */
|
|
79
|
+
onReady?: Array<EventAction>
|
|
80
|
+
/* Event of server or connection error */
|
|
81
|
+
onError?: Array<EventAction>
|
|
82
|
+
/* Event of client connected */
|
|
83
|
+
onClientConnected?: Array<EventAction>
|
|
84
|
+
/* Event of client disconnected */
|
|
85
|
+
onClientDisconnected?: Array<EventAction>
|
|
86
|
+
/* Event of message received */
|
|
87
|
+
onMessageReceived?: Array<EventAction>
|
|
88
|
+
/* Event of message published */
|
|
89
|
+
onMessagePublished?: Array<EventAction>
|
|
90
|
+
}
|
|
91
|
+
outlets?: {
|
|
92
|
+
/* Is server started */
|
|
93
|
+
started?: () => Data
|
|
94
|
+
/* Last received message */
|
|
95
|
+
lastMessage?: () => Data
|
|
96
|
+
/* Error message */
|
|
97
|
+
errorMessage?: () => Data
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* MQTT Broker server */
|
|
102
|
+
export type GeneratorMQTTBroker = Generator &
|
|
103
|
+
GeneratorMQTTBrokerDef & {
|
|
104
|
+
templateKey: 'GENERATOR_MQTT_BROKER'
|
|
105
|
+
switches: Array<
|
|
106
|
+
SwitchDef &
|
|
107
|
+
GeneratorMQTTBrokerDef & {
|
|
108
|
+
conds?: Array<{
|
|
109
|
+
method: '==' | '!=' | '>' | '<' | '>=' | '<='
|
|
110
|
+
cond:
|
|
111
|
+
| SwitchCondInnerStateCurrentCanvas
|
|
112
|
+
| SwitchCondData
|
|
113
|
+
| {
|
|
114
|
+
__typename: 'SwitchCondInnerStateOutlet'
|
|
115
|
+
outlet: 'started' | 'lastMessage' | 'errorMessage'
|
|
116
|
+
value: any
|
|
117
|
+
}
|
|
118
|
+
}>
|
|
119
|
+
}
|
|
120
|
+
>
|
|
121
|
+
}
|