@fugood/bricks-ctor 2.24.0-beta.40
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/compile/action-name-map.ts +988 -0
- package/compile/index.ts +1245 -0
- package/compile/util.ts +358 -0
- package/index.ts +6 -0
- package/package.json +28 -0
- package/skills/bricks-design/LICENSE.txt +180 -0
- package/skills/bricks-design/SKILL.md +66 -0
- package/skills/bricks-project/SKILL.md +32 -0
- package/skills/bricks-project/rules/animation.md +159 -0
- package/skills/bricks-project/rules/architecture-patterns.md +69 -0
- package/skills/bricks-project/rules/automations.md +221 -0
- package/skills/bricks-project/rules/buttress.md +156 -0
- package/skills/bricks-project/rules/data-calculation.md +208 -0
- package/skills/bricks-project/rules/local-sync.md +129 -0
- package/skills/bricks-project/rules/media-flow.md +158 -0
- package/skills/bricks-project/rules/remote-data-bank.md +196 -0
- package/skills/bricks-project/rules/standby-transition.md +124 -0
- package/skills/rive-marketplace/SKILL.md +99 -0
- package/tools/deploy.ts +151 -0
- package/tools/icons/.gitattributes +1 -0
- package/tools/icons/fa6pro-glyphmap.json +4686 -0
- package/tools/icons/fa6pro-meta.json +3671 -0
- package/tools/mcp-server.ts +28 -0
- package/tools/mcp-tools/compile.ts +91 -0
- package/tools/mcp-tools/huggingface.ts +762 -0
- package/tools/mcp-tools/icons.ts +70 -0
- package/tools/mcp-tools/lottie.ts +102 -0
- package/tools/mcp-tools/media.ts +110 -0
- package/tools/postinstall.ts +229 -0
- package/tools/preview-main.mjs +293 -0
- package/tools/preview.ts +143 -0
- package/tools/pull.ts +116 -0
- package/tsconfig.json +16 -0
- package/types/animation.ts +100 -0
- package/types/automation.ts +235 -0
- package/types/brick-base.ts +80 -0
- package/types/bricks/Camera.ts +246 -0
- package/types/bricks/Chart.ts +372 -0
- package/types/bricks/GenerativeMedia.ts +276 -0
- package/types/bricks/Icon.ts +98 -0
- package/types/bricks/Image.ts +114 -0
- package/types/bricks/Items.ts +476 -0
- package/types/bricks/Lottie.ts +168 -0
- package/types/bricks/Maps.ts +262 -0
- package/types/bricks/QrCode.ts +117 -0
- package/types/bricks/Rect.ts +150 -0
- package/types/bricks/RichText.ts +128 -0
- package/types/bricks/Rive.ts +220 -0
- package/types/bricks/Slideshow.ts +201 -0
- package/types/bricks/Svg.ts +99 -0
- package/types/bricks/Text.ts +148 -0
- package/types/bricks/TextInput.ts +242 -0
- package/types/bricks/Video.ts +175 -0
- package/types/bricks/VideoStreaming.ts +112 -0
- package/types/bricks/WebRtcStream.ts +65 -0
- package/types/bricks/WebView.ts +168 -0
- package/types/bricks/index.ts +21 -0
- package/types/canvas.ts +82 -0
- package/types/common.ts +144 -0
- package/types/data-calc-command.ts +7005 -0
- package/types/data-calc-script.ts +21 -0
- package/types/data-calc.ts +11 -0
- package/types/data.ts +95 -0
- package/types/generators/AlarmClock.ts +110 -0
- package/types/generators/Assistant.ts +621 -0
- package/types/generators/BleCentral.ts +247 -0
- package/types/generators/BlePeripheral.ts +208 -0
- package/types/generators/CanvasMap.ts +74 -0
- package/types/generators/CastlesPay.ts +87 -0
- package/types/generators/DataBank.ts +160 -0
- package/types/generators/File.ts +432 -0
- package/types/generators/GraphQl.ts +132 -0
- package/types/generators/Http.ts +222 -0
- package/types/generators/HttpServer.ts +176 -0
- package/types/generators/Information.ts +103 -0
- package/types/generators/Intent.ts +168 -0
- package/types/generators/Iterator.ts +108 -0
- package/types/generators/Keyboard.ts +105 -0
- package/types/generators/LlmAnthropicCompat.ts +212 -0
- package/types/generators/LlmAppleBuiltin.ts +159 -0
- package/types/generators/LlmGgml.ts +861 -0
- package/types/generators/LlmMediaTekNeuroPilot.ts +235 -0
- package/types/generators/LlmMlx.ts +227 -0
- package/types/generators/LlmOnnx.ts +213 -0
- package/types/generators/LlmOpenAiCompat.ts +244 -0
- package/types/generators/LlmQualcommAiEngine.ts +247 -0
- package/types/generators/Mcp.ts +637 -0
- package/types/generators/McpServer.ts +289 -0
- package/types/generators/MediaFlow.ts +170 -0
- package/types/generators/MqttBroker.ts +141 -0
- package/types/generators/MqttClient.ts +141 -0
- package/types/generators/Question.ts +408 -0
- package/types/generators/RealtimeTranscription.ts +279 -0
- package/types/generators/RerankerGgml.ts +191 -0
- package/types/generators/SerialPort.ts +151 -0
- package/types/generators/SoundPlayer.ts +94 -0
- package/types/generators/SoundRecorder.ts +130 -0
- package/types/generators/SpeechToTextGgml.ts +415 -0
- package/types/generators/SpeechToTextOnnx.ts +236 -0
- package/types/generators/SpeechToTextPlatform.ts +85 -0
- package/types/generators/SqLite.ts +159 -0
- package/types/generators/Step.ts +107 -0
- package/types/generators/SttAppleBuiltin.ts +130 -0
- package/types/generators/Tcp.ts +126 -0
- package/types/generators/TcpServer.ts +147 -0
- package/types/generators/TextToSpeechAppleBuiltin.ts +127 -0
- package/types/generators/TextToSpeechGgml.ts +221 -0
- package/types/generators/TextToSpeechOnnx.ts +178 -0
- package/types/generators/TextToSpeechOpenAiLike.ts +121 -0
- package/types/generators/ThermalPrinter.ts +191 -0
- package/types/generators/Tick.ts +83 -0
- package/types/generators/Udp.ts +120 -0
- package/types/generators/VadGgml.ts +250 -0
- package/types/generators/VadOnnx.ts +231 -0
- package/types/generators/VadTraditional.ts +138 -0
- package/types/generators/VectorStore.ts +257 -0
- package/types/generators/Watchdog.ts +107 -0
- package/types/generators/WebCrawler.ts +103 -0
- package/types/generators/WebRtc.ts +181 -0
- package/types/generators/WebSocket.ts +148 -0
- package/types/generators/index.ts +57 -0
- package/types/index.ts +13 -0
- package/types/subspace.ts +59 -0
- package/types/switch.ts +51 -0
- package/types/system.ts +707 -0
- package/utils/calc.ts +126 -0
- package/utils/data.ts +497 -0
- package/utils/event-props.ts +836 -0
- package/utils/id.ts +80 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/* Auto generated by build script
|
|
2
|
+
*
|
|
3
|
+
* Display WebRTC video/audio stream from a WebRTC generator connection
|
|
4
|
+
*/
|
|
5
|
+
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
6
|
+
import type { Data, DataLink } from '../data'
|
|
7
|
+
import type { Animation, AnimationBasicEvents } from '../animation'
|
|
8
|
+
import type {
|
|
9
|
+
Brick,
|
|
10
|
+
EventAction,
|
|
11
|
+
EventActionForItem,
|
|
12
|
+
ActionWithDataParams,
|
|
13
|
+
ActionWithParams,
|
|
14
|
+
Action,
|
|
15
|
+
EventProperty,
|
|
16
|
+
} from '../common'
|
|
17
|
+
import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
|
|
18
|
+
import type { TemplateEventPropsMap } from '../../utils/event-props'
|
|
19
|
+
|
|
20
|
+
interface BrickWebRTCStreamDef {
|
|
21
|
+
/*
|
|
22
|
+
Default property:
|
|
23
|
+
{
|
|
24
|
+
"mirror": false,
|
|
25
|
+
"resizeMode": "contain",
|
|
26
|
+
"noStreamViewText": "no stream",
|
|
27
|
+
"noStreamViewTextSize": 44,
|
|
28
|
+
"noStreamViewTextColor": "#000"
|
|
29
|
+
}
|
|
30
|
+
*/
|
|
31
|
+
property?: BrickBasicProperty & {
|
|
32
|
+
/* Mirror video */
|
|
33
|
+
mirror?: boolean | DataLink
|
|
34
|
+
/* The stream resize mode */
|
|
35
|
+
resizeMode?: 'contain' | 'cover' | DataLink
|
|
36
|
+
/* Show text content if no stream */
|
|
37
|
+
noStreamViewText?: string | DataLink
|
|
38
|
+
/* The font size of shown text content if no stream */
|
|
39
|
+
noStreamViewTextSize?: number | DataLink
|
|
40
|
+
/* The color of shown text content if no stream */
|
|
41
|
+
noStreamViewTextColor?: string | DataLink
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* Display WebRTC video/audio stream from a WebRTC generator connection */
|
|
46
|
+
export type BrickWebRTCStream = Brick &
|
|
47
|
+
BrickWebRTCStreamDef & {
|
|
48
|
+
templateKey: 'BRICK_WEBRTC_STREAM'
|
|
49
|
+
switches?: Array<
|
|
50
|
+
SwitchDef &
|
|
51
|
+
BrickWebRTCStreamDef & {
|
|
52
|
+
conds?: Array<{
|
|
53
|
+
method: '==' | '!=' | '>' | '<' | '>=' | '<='
|
|
54
|
+
cond:
|
|
55
|
+
| SwitchCondInnerStateCurrentCanvas
|
|
56
|
+
| SwitchCondData
|
|
57
|
+
| {
|
|
58
|
+
__typename: 'SwitchCondInnerStateOutlet'
|
|
59
|
+
outlet: ''
|
|
60
|
+
value: any
|
|
61
|
+
}
|
|
62
|
+
}>
|
|
63
|
+
}
|
|
64
|
+
>
|
|
65
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/* Auto generated by build script
|
|
2
|
+
*
|
|
3
|
+
* Embedded web browser with JS injection, DOM query selectors, content cropping, navigation control, and permission management
|
|
4
|
+
*/
|
|
5
|
+
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
6
|
+
import type { Data, DataLink } from '../data'
|
|
7
|
+
import type { Animation, AnimationBasicEvents } from '../animation'
|
|
8
|
+
import type {
|
|
9
|
+
Brick,
|
|
10
|
+
EventAction,
|
|
11
|
+
EventActionForItem,
|
|
12
|
+
ActionWithDataParams,
|
|
13
|
+
ActionWithParams,
|
|
14
|
+
Action,
|
|
15
|
+
EventProperty,
|
|
16
|
+
} from '../common'
|
|
17
|
+
import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
|
|
18
|
+
import type { TemplateEventPropsMap } from '../../utils/event-props'
|
|
19
|
+
|
|
20
|
+
/* Run Javascript on the WebView */
|
|
21
|
+
export type BrickWebViewActionInjectJavascript = ActionWithParams & {
|
|
22
|
+
__actionName: 'BRICK_WEBVIEW_INJECT_JAVASCRIPT'
|
|
23
|
+
params?: Array<{
|
|
24
|
+
input: 'javascriptCode'
|
|
25
|
+
value?: string | DataLink | EventProperty
|
|
26
|
+
mapping?: string
|
|
27
|
+
}>
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* Query selector on the WebView */
|
|
31
|
+
export type BrickWebViewActionQuerySelector = ActionWithParams & {
|
|
32
|
+
__actionName: 'BRICK_WEBVIEW_QUERY_SELECTOR'
|
|
33
|
+
params?: Array<
|
|
34
|
+
| {
|
|
35
|
+
input: 'querySelector'
|
|
36
|
+
value?: string | DataLink | EventProperty
|
|
37
|
+
mapping?: string
|
|
38
|
+
}
|
|
39
|
+
| {
|
|
40
|
+
input: 'expression'
|
|
41
|
+
value?: string | DataLink | EventProperty
|
|
42
|
+
mapping?: string
|
|
43
|
+
}
|
|
44
|
+
>
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* Do go forward on the WebView */
|
|
48
|
+
export type BrickWebViewActionGoForward = Action & {
|
|
49
|
+
__actionName: 'BRICK_WEBVIEW_GO_FORWARD'
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Do go back on the webview */
|
|
53
|
+
export type BrickWebViewActionGoBack = Action & {
|
|
54
|
+
__actionName: 'BRICK_WEBVIEW_GO_BACK'
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* Do reload on the webview */
|
|
58
|
+
export type BrickWebViewActionReload = Action & {
|
|
59
|
+
__actionName: 'BRICK_WEBVIEW_RELOAD'
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
interface BrickWebViewDef {
|
|
63
|
+
/*
|
|
64
|
+
Default property:
|
|
65
|
+
{
|
|
66
|
+
"cropLeft": 0,
|
|
67
|
+
"cropRight": 0,
|
|
68
|
+
"cropTop": 0,
|
|
69
|
+
"cropBottom": 0,
|
|
70
|
+
"allowContentControl": true,
|
|
71
|
+
"allowFileAccess": true,
|
|
72
|
+
"domStorageEnabled": true,
|
|
73
|
+
"cacheEnabled": true,
|
|
74
|
+
"geolocationEnabled": true,
|
|
75
|
+
"thirdPartyCookiesEnabled": true,
|
|
76
|
+
"javaScriptEnabled": true,
|
|
77
|
+
"scrollEnabled": true,
|
|
78
|
+
"nestedScrollEnabled": true
|
|
79
|
+
}
|
|
80
|
+
*/
|
|
81
|
+
property?: BrickBasicProperty & {
|
|
82
|
+
/* The WebView content URL */
|
|
83
|
+
url?: string | DataLink
|
|
84
|
+
/* The request headers to load content */
|
|
85
|
+
headers?: Record<string, string | DataLink> | DataLink
|
|
86
|
+
/* The request UserAgent */
|
|
87
|
+
userAgent?: string | DataLink
|
|
88
|
+
/* The webview content HTML (Use `url` first) */
|
|
89
|
+
html?: string | DataLink
|
|
90
|
+
/* Crop webview content left position (px) */
|
|
91
|
+
cropLeft?: number | DataLink
|
|
92
|
+
/* Crop webview content right position (px) */
|
|
93
|
+
cropRight?: number | DataLink
|
|
94
|
+
/* Crop webview content top position (px) */
|
|
95
|
+
cropTop?: number | DataLink
|
|
96
|
+
/* Crop webview content bottom position (px) */
|
|
97
|
+
cropBottom?: number | DataLink
|
|
98
|
+
/* Allow content control */
|
|
99
|
+
allowContentControl?: boolean | DataLink
|
|
100
|
+
/* List of origin strings to allow being navigated to. (Allowed all if not provided) */
|
|
101
|
+
originAllowList?: Array<string | DataLink> | DataLink
|
|
102
|
+
/* Allow file:// access */
|
|
103
|
+
allowFileAccess?: boolean | DataLink
|
|
104
|
+
/* Enable DOM Storage */
|
|
105
|
+
domStorageEnabled?: boolean | DataLink
|
|
106
|
+
/* Enable Cache */
|
|
107
|
+
cacheEnabled?: boolean | DataLink
|
|
108
|
+
/* Enable Geolocation */
|
|
109
|
+
geolocationEnabled?: boolean | DataLink
|
|
110
|
+
/* Enable Third Party Cookies */
|
|
111
|
+
thirdPartyCookiesEnabled?: boolean | DataLink
|
|
112
|
+
/* Enable JavaScript */
|
|
113
|
+
javaScriptEnabled?: boolean | DataLink
|
|
114
|
+
/* Inject JavaScript code */
|
|
115
|
+
code?: string | DataLink
|
|
116
|
+
/* Inject JavaScript code before content loaded */
|
|
117
|
+
beforeContentLoaded?: string | DataLink
|
|
118
|
+
/* Inject JavaScript code for main frame only (only `YES` supported for Android) */
|
|
119
|
+
forMainFrameOnly?: boolean | DataLink
|
|
120
|
+
/* Inject JavaScript code before content loaded for main frame only (only `YES` supported for Android) */
|
|
121
|
+
beforeContentLoadedForMainFrameOnly?: boolean | DataLink
|
|
122
|
+
/* Enable scroll in WebView */
|
|
123
|
+
scrollEnabled?: boolean | DataLink
|
|
124
|
+
/* Enable nested scroll in WebView (Android only) */
|
|
125
|
+
nestedScrollEnabled?: boolean | DataLink
|
|
126
|
+
}
|
|
127
|
+
events?: BrickBasicEvents & {
|
|
128
|
+
/* Event of the WebView on load */
|
|
129
|
+
onLoad?: Array<EventAction<string & keyof TemplateEventPropsMap['Webview']['onLoad']>>
|
|
130
|
+
/* Event when the WebView load fails */
|
|
131
|
+
onError?: Array<EventAction<string & keyof TemplateEventPropsMap['Webview']['onError']>>
|
|
132
|
+
/* Event of the webview on message by `window.ReactNativeWebView.postMessage` on you're injected javascript code */
|
|
133
|
+
onMessage?: Array<EventAction<string & keyof TemplateEventPropsMap['Webview']['onMessage']>>
|
|
134
|
+
}
|
|
135
|
+
outlets?: {
|
|
136
|
+
/* The result of the query selector action */
|
|
137
|
+
queryResult?: () => Data<any>
|
|
138
|
+
/* The error of the query selector action */
|
|
139
|
+
queryError?: () => Data<string>
|
|
140
|
+
}
|
|
141
|
+
animation?: AnimationBasicEvents & {
|
|
142
|
+
onLoad?: Animation
|
|
143
|
+
onError?: Animation
|
|
144
|
+
onMessage?: Animation
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* Embedded web browser with JS injection, DOM query selectors, content cropping, navigation control, and permission management */
|
|
149
|
+
export type BrickWebView = Brick &
|
|
150
|
+
BrickWebViewDef & {
|
|
151
|
+
templateKey: 'BRICK_WEBVIEW'
|
|
152
|
+
switches?: Array<
|
|
153
|
+
SwitchDef &
|
|
154
|
+
BrickWebViewDef & {
|
|
155
|
+
conds?: Array<{
|
|
156
|
+
method: '==' | '!=' | '>' | '<' | '>=' | '<='
|
|
157
|
+
cond:
|
|
158
|
+
| SwitchCondInnerStateCurrentCanvas
|
|
159
|
+
| SwitchCondData
|
|
160
|
+
| {
|
|
161
|
+
__typename: 'SwitchCondInnerStateOutlet'
|
|
162
|
+
outlet: 'queryResult' | 'queryError'
|
|
163
|
+
value: any
|
|
164
|
+
}
|
|
165
|
+
}>
|
|
166
|
+
}
|
|
167
|
+
>
|
|
168
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* Auto generated by build script */
|
|
2
|
+
export * from './Rect'
|
|
3
|
+
export * from './Text'
|
|
4
|
+
export * from './TextInput'
|
|
5
|
+
export * from './RichText'
|
|
6
|
+
export * from './Image'
|
|
7
|
+
export * from './Svg'
|
|
8
|
+
export * from './Icon'
|
|
9
|
+
export * from './Video'
|
|
10
|
+
export * from './VideoStreaming'
|
|
11
|
+
export * from './QrCode'
|
|
12
|
+
export * from './Slideshow'
|
|
13
|
+
export * from './Chart'
|
|
14
|
+
export * from './Items'
|
|
15
|
+
export * from './Lottie'
|
|
16
|
+
export * from './Rive'
|
|
17
|
+
export * from './WebView'
|
|
18
|
+
export * from './Camera'
|
|
19
|
+
export * from './WebRtcStream'
|
|
20
|
+
export * from './GenerativeMedia'
|
|
21
|
+
export * from './Maps'
|
package/types/canvas.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/* Auto generated by build script */
|
|
2
|
+
import type { Easing } from './animation'
|
|
3
|
+
import type { Data, DataLink } from './data'
|
|
4
|
+
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from './switch'
|
|
5
|
+
import type { Brick, SubspaceID, EventAction } from './common'
|
|
6
|
+
|
|
7
|
+
type StandbyEasing = {
|
|
8
|
+
method: Easing
|
|
9
|
+
duration: number
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface CanvasDef {
|
|
13
|
+
property?: {
|
|
14
|
+
/* The showing timeout of Canvas, need to set `Next Canvas ID` as well */
|
|
15
|
+
showingTimeout?: number | DataLink
|
|
16
|
+
/* Canvas ID for change next canvas on showing timeout */
|
|
17
|
+
nextCanvasId?: string | DataLink | (() => Canvas)
|
|
18
|
+
/* Background color of Canvas */
|
|
19
|
+
backgroundColor?: string | DataLink
|
|
20
|
+
/* Dismiss keyboard on press */
|
|
21
|
+
dismissKeyboardOnPress?: boolean | DataLink
|
|
22
|
+
}
|
|
23
|
+
events?: {
|
|
24
|
+
/* Event on Canvas first enter on Subspace */
|
|
25
|
+
firstEnter?: Array<EventAction>
|
|
26
|
+
/* Event on Canvas enter */
|
|
27
|
+
enter?: Array<EventAction>
|
|
28
|
+
/* Showing timeout event (If `Showing Timeout` is specified) */
|
|
29
|
+
showingTimeout?: Array<EventAction>
|
|
30
|
+
/* Event on Canvas exit */
|
|
31
|
+
exit?: Array<EventAction>
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* View renderer in subspace. */
|
|
36
|
+
export type Canvas = CanvasDef & {
|
|
37
|
+
__typename: 'Canvas'
|
|
38
|
+
id: string
|
|
39
|
+
alias?: string
|
|
40
|
+
title?: string
|
|
41
|
+
description?: string
|
|
42
|
+
hideShortRef?: boolean
|
|
43
|
+
switches?: Array<
|
|
44
|
+
SwitchDef &
|
|
45
|
+
CanvasDef & {
|
|
46
|
+
conds?: Array<{
|
|
47
|
+
method: '==' | '!=' | '>' | '<' | '>=' | '<='
|
|
48
|
+
cond: SwitchCondInnerStateCurrentCanvas | SwitchCondData
|
|
49
|
+
}>
|
|
50
|
+
}
|
|
51
|
+
>
|
|
52
|
+
items: Array<{
|
|
53
|
+
item: (() => Brick) | SubspaceID
|
|
54
|
+
frame: {
|
|
55
|
+
x: number
|
|
56
|
+
y: number
|
|
57
|
+
width: number
|
|
58
|
+
height: number
|
|
59
|
+
standbyMode?: 'custom' | 'top' | 'left' | 'right' | 'bottom'
|
|
60
|
+
standbyFrame?: {
|
|
61
|
+
x?: number
|
|
62
|
+
y?: number
|
|
63
|
+
width?: number
|
|
64
|
+
height?: number
|
|
65
|
+
}
|
|
66
|
+
standbyOpacity?: number
|
|
67
|
+
standbyDelay?: number
|
|
68
|
+
standbyDelayRandom?: number
|
|
69
|
+
standbyEasing?: {
|
|
70
|
+
default?: StandbyEasing
|
|
71
|
+
x?: StandbyEasing
|
|
72
|
+
y?: StandbyEasing
|
|
73
|
+
width?: StandbyEasing
|
|
74
|
+
height?: StandbyEasing
|
|
75
|
+
opacity?: StandbyEasing
|
|
76
|
+
}
|
|
77
|
+
showingDelay?: number
|
|
78
|
+
renderOutOfViewport?: boolean
|
|
79
|
+
}
|
|
80
|
+
hidden?: boolean // Hide in Editor
|
|
81
|
+
}>
|
|
82
|
+
}
|
package/types/common.ts
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { SwitchDef } from './switch'
|
|
2
|
+
import type { Data } from './data'
|
|
3
|
+
import type { Subspace } from './subspace'
|
|
4
|
+
import type { AutomationMap } from './automation'
|
|
5
|
+
|
|
6
|
+
export interface Brick {
|
|
7
|
+
__typename: 'Brick'
|
|
8
|
+
id: string
|
|
9
|
+
alias?: string
|
|
10
|
+
templateKey: string
|
|
11
|
+
title?: string
|
|
12
|
+
description?: string
|
|
13
|
+
hideShortRef?: boolean
|
|
14
|
+
property?: {}
|
|
15
|
+
events: {}
|
|
16
|
+
outlets?: {}
|
|
17
|
+
animation?: {}
|
|
18
|
+
switches?: Array<SwitchDef>
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export enum LocalSyncStrategy {
|
|
22
|
+
mainOnly = 'main-only',
|
|
23
|
+
minorOnly = 'minor-only',
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface Generator {
|
|
27
|
+
__typename: 'Generator'
|
|
28
|
+
id: string
|
|
29
|
+
alias?: string
|
|
30
|
+
templateKey: string
|
|
31
|
+
title?: string
|
|
32
|
+
description?: string
|
|
33
|
+
hideShortRef?: boolean
|
|
34
|
+
localSyncRunMode?: LocalSyncStrategy
|
|
35
|
+
property?: {}
|
|
36
|
+
events: {}
|
|
37
|
+
outlets?: {}
|
|
38
|
+
switches?: Array<SwitchDef>
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type SubspaceID = string
|
|
42
|
+
export type SubpsaceAction = string
|
|
43
|
+
|
|
44
|
+
export type Action = {
|
|
45
|
+
__actionName: string
|
|
46
|
+
parent: 'Brick' | 'Generator' | 'Subspace' | 'System'
|
|
47
|
+
name?: string
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// For standalone action types where specific event properties are not known
|
|
51
|
+
export type EventProperty = string
|
|
52
|
+
|
|
53
|
+
export type ActionWithParams<EP extends string = string> = Action & {
|
|
54
|
+
params?: Array<{
|
|
55
|
+
input: string
|
|
56
|
+
value?: any | EP
|
|
57
|
+
mapping?: string
|
|
58
|
+
}>
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export type ActionWithDataParams<EP extends string = string> = Action & {
|
|
62
|
+
dataParams?: Array<{
|
|
63
|
+
input: () => Data
|
|
64
|
+
value?: any | EP
|
|
65
|
+
mapping?: string
|
|
66
|
+
}>
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export type ItemBrickID = string
|
|
70
|
+
|
|
71
|
+
// EP carries available event property keys for this event context
|
|
72
|
+
// Use: EventAction<string & keyof TemplateEventPropsMap['Name']['event']>
|
|
73
|
+
export type EventAction<EP extends string = string> = {
|
|
74
|
+
handler: 'system' | (() => Brick | Generator) | SubspaceID | ItemBrickID
|
|
75
|
+
action: ActionWithParams<EP> | ActionWithDataParams<EP>
|
|
76
|
+
waitAsync?: boolean
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export type EventActionForItem<EP extends string = string> = {
|
|
80
|
+
handler:
|
|
81
|
+
| 'system'
|
|
82
|
+
| (() => Brick | Generator | { brickId: string; templateKey: string })
|
|
83
|
+
| SubspaceID
|
|
84
|
+
| ItemBrickID
|
|
85
|
+
action: Action
|
|
86
|
+
waitAsync?: boolean
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export type ApplicationFont = {
|
|
90
|
+
name: string
|
|
91
|
+
url: string
|
|
92
|
+
md5?: string
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export type ApplicationSettings = {
|
|
96
|
+
internetReachabilityUrl?: string
|
|
97
|
+
enableDataLock?: boolean
|
|
98
|
+
showDeprecatedFeatures?: boolean
|
|
99
|
+
enableUnstableFeatures?: boolean // enable_unstable_bricks
|
|
100
|
+
runtimeCacheOptions?: {
|
|
101
|
+
disabled?: boolean
|
|
102
|
+
behavior?: 'initiative' | 'passive'
|
|
103
|
+
retryAttemptForFailure?: number
|
|
104
|
+
}
|
|
105
|
+
tvOptions?: {
|
|
106
|
+
disabledSelectable?: boolean
|
|
107
|
+
selectableColor?: string
|
|
108
|
+
selectableBorder?: {
|
|
109
|
+
borderStyle?: 'solid' | 'dashed' | 'dotted'
|
|
110
|
+
borderTopColor?: string
|
|
111
|
+
borderLeftColor?: string
|
|
112
|
+
borderRightColor?: string
|
|
113
|
+
borderBottomColor?: string
|
|
114
|
+
// BRICK Grid unit
|
|
115
|
+
borderTopSize?: number
|
|
116
|
+
borderLeftSize?: number
|
|
117
|
+
borderRightSize?: number
|
|
118
|
+
borderBottomSize?: number
|
|
119
|
+
borderTopLeftRadius?: number
|
|
120
|
+
borderTopRightRadius?: number
|
|
121
|
+
borderBottomLeftRadius?: number
|
|
122
|
+
borderBottomRightRadius?: number
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
ai?: {
|
|
126
|
+
useAnthropicApiKeySystemData?: boolean
|
|
127
|
+
useOpenAiApiKeySystemData?: boolean
|
|
128
|
+
useGeminiApiKeySystemData?: boolean
|
|
129
|
+
}
|
|
130
|
+
hideShortRefs?: boolean
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export type Application = {
|
|
134
|
+
name: string
|
|
135
|
+
description?: string
|
|
136
|
+
subspaces: Subspace[]
|
|
137
|
+
rootSubspace: Subspace
|
|
138
|
+
fonts?: ApplicationFont[]
|
|
139
|
+
settings?: ApplicationSettings
|
|
140
|
+
automationMap?: AutomationMap
|
|
141
|
+
metadata?: {
|
|
142
|
+
[key: string]: any
|
|
143
|
+
}
|
|
144
|
+
}
|