@fugood/bricks-project 2.22.3 → 2.23.0-beta.10

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.
@@ -304,19 +304,6 @@ export const templateActionNameMap = {
304
304
  },
305
305
  },
306
306
 
307
- BRICK_3D_VIEWER: {
308
- BRICK_3D_VIEWER_ANIMATION_PLAY: {
309
- objectIndex: 'BRICK_3D_VIEWER_OBJECT_INDEX',
310
- },
311
- BRICK_3D_VIEWER_ANIMATION_PAUSE: {
312
- objectIndex: 'BRICK_3D_VIEWER_OBJECT_INDEX',
313
- },
314
- BRICK_3D_VIEWER_ANIMATION_GOTO: {
315
- objectIndex: 'BRICK_3D_VIEWER_OBJECT_INDEX',
316
- animationProgress: 'BRICK_3D_VIEWER_ANIMATION_PROGRESS',
317
- },
318
- },
319
-
320
307
  GENERATOR_FILE: {
321
308
  GENERATOR_FILE_READ_CONTENT: {
322
309
  encoding: 'ENCODING',
@@ -525,6 +512,13 @@ export const templateActionNameMap = {
525
512
  params: 'GENERATOR_SQLITE_PARAMS',
526
513
  paramsString: 'GENERATOR_SQLITE_PARAMS_STRING',
527
514
  },
515
+ GENERATOR_SQLITE_TRANSACTION: {
516
+ statements: 'GENERATOR_SQLITE_STATEMENTS',
517
+ },
518
+ GENERATOR_SQLITE_BATCH_EXECUTE: {
519
+ sql: 'GENERATOR_SQLITE_SQL',
520
+ batchParams: 'GENERATOR_SQLITE_BATCH_PARAMS',
521
+ },
528
522
  },
529
523
 
530
524
  GENERATOR_MCP: {
@@ -566,6 +560,7 @@ export const templateActionNameMap = {
566
560
  prompt: 'GENERATOR_ONNX_LLM_PROMPT',
567
561
  chat: 'GENERATOR_ONNX_LLM_CHAT',
568
562
  images: 'GENERATOR_ONNX_LLM_IMAGES',
563
+ audios: 'GENERATOR_ONNX_LLM_AUDIOS',
569
564
  tools: 'GENERATOR_ONNX_LLM_TOOLS',
570
565
  toolChoice: 'GENERATOR_ONNX_LLM_TOOL_CHOICE',
571
566
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fugood/bricks-project",
3
- "version": "2.22.3",
3
+ "version": "2.23.0-beta.10",
4
4
  "main": "index.ts",
5
5
  "scripts": {
6
6
  "build": "node scripts/build.js"
@@ -13,5 +13,6 @@
13
13
  "escodegen": "^2.1.0",
14
14
  "lodash": "^4.17.4",
15
15
  "uuid": "^8.3.1"
16
- }
16
+ },
17
+ "gitHead": "4730d37721047a7bba3a562e96a5efa665bf572f"
17
18
  }
@@ -255,6 +255,7 @@ interface BrickChartDef {
255
255
  /*
256
256
  Default property:
257
257
  {
258
+ "renderMode": "svg",
258
259
  "legendShow": true,
259
260
  "xAxisShow": true,
260
261
  "xAxisType": "category",
@@ -265,6 +266,8 @@ Default property:
265
266
  }
266
267
  */
267
268
  property?: BrickBasicProperty & {
269
+ /* The render mode */
270
+ renderMode?: 'svg' | 'skia' | DataLink
268
271
  /* Theme. You can use https://echarts.apache.org/en/theme-builder.html to generate theme */
269
272
  themeEntry?: {} | DataLink
270
273
  /* Theme of URL (.json) */
@@ -34,6 +34,26 @@ export type BrickSlideshowActionJumpToIndex = ActionWithParams & {
34
34
  >
35
35
  }
36
36
 
37
+ /* Play the slideshow (resume if paused) */
38
+ export type BrickSlideshowActionPlay = Action & {
39
+ __actionName: 'BRICK_SLIDESHOW_PLAY'
40
+ }
41
+
42
+ /* Pause the slideshow */
43
+ export type BrickSlideshowActionPause = Action & {
44
+ __actionName: 'BRICK_SLIDESHOW_PAUSE'
45
+ }
46
+
47
+ /* Go to next slide */
48
+ export type BrickSlideshowActionNext = Action & {
49
+ __actionName: 'BRICK_SLIDESHOW_NEXT'
50
+ }
51
+
52
+ /* Go to previous slide */
53
+ export type BrickSlideshowActionPrev = Action & {
54
+ __actionName: 'BRICK_SLIDESHOW_PREV'
55
+ }
56
+
37
57
  interface BrickSlideshowDef {
38
58
  /*
39
59
  Default property:
@@ -41,17 +61,28 @@ Default property:
41
61
  "countdown": 2000,
42
62
  "loop": true,
43
63
  "shuffle": false,
64
+ "photoResizeMode": "contain",
65
+ "photoLoadSystemIos": "auto",
66
+ "photoLoadSystemAndroid": "auto",
67
+ "videoResizeMode": "contain",
68
+ "videoAutoAspectRatio": false,
44
69
  "videoVolume": 100,
70
+ "videoMuted": false,
71
+ "videoRenderMode": "auto",
72
+ "fadeDuration": 0,
45
73
  "emptyViewText": "no available image item to show",
46
74
  "emptyViewTextSize": 44,
47
75
  "emptyViewTextColor": "#fff",
76
+ "enableBlurBackground": false,
48
77
  "blurBackgroundRadius": 8
49
78
  }
50
79
  */
51
80
  property?: BrickBasicProperty & {
52
81
  /* The time interval of show for each photo */
53
82
  countdown?: number | DataLink
54
- /* The slideshow media path list (File, URL) */
83
+ /* The slideshow media path list (File, URL)
84
+ Each path object can override global photo/video settings.
85
+ Item-level properties take precedence over brick-level properties. */
55
86
  paths?:
56
87
  | Array<
57
88
  | DataLink
@@ -70,7 +101,8 @@ Default property:
70
101
  }
71
102
  >
72
103
  | DataLink
73
- /* Multiple slideshow media path lists to combine (Array of path arrays) */
104
+ /* Multiple slideshow media path lists to combine (Array of path arrays).
105
+ All arrays are flattened and combined: [...paths, ...pathsList[0], ...pathsList[1], ...] */
74
106
  pathsList?: Array<Array<any> | DataLink | DataLink> | DataLink
75
107
  /* Loop the slideshow */
76
108
  loop?: boolean | DataLink
@@ -122,6 +154,8 @@ Default property:
122
154
  roundEnd?: Array<EventAction>
123
155
  /* Event of the slideshow on load */
124
156
  mediaOnLoad?: Array<EventAction>
157
+ /* Event of the slideshow media loading error */
158
+ mediaOnError?: Array<EventAction>
125
159
  }
126
160
  animation?: AnimationBasicEvents & {
127
161
  changeStart?: Animation
@@ -129,6 +163,7 @@ Default property:
129
163
  contentChange?: Animation
130
164
  roundEnd?: Animation
131
165
  mediaOnLoad?: Animation
166
+ mediaOnError?: Animation
132
167
  }
133
168
  }
134
169
 
@@ -633,6 +633,15 @@ Default property:
633
633
  completionTypicalP?: number | DataLink
634
634
  /* Repeat alpha frequency penalty (default: 0.1, 0.0 = disabled) */
635
635
  completionIgnoreEOS?: boolean | DataLink
636
+ /* Buttress connection settings for remote inference */
637
+ buttressConnectionSettings?:
638
+ | DataLink
639
+ | {
640
+ enabled?: boolean | DataLink
641
+ url?: string | DataLink
642
+ fallbackType?: 'use-local' | 'no-op' | DataLink
643
+ strategy?: 'prefer-local' | 'prefer-buttress' | 'prefer-best' | DataLink
644
+ }
636
645
  }
637
646
  events?: {
638
647
  /* Event triggered when context state changes */
@@ -33,6 +33,11 @@ export type GeneratorOnnxLLMActionInfer = ActionWithParams & {
33
33
  value?: Array<any> | DataLink | EventProperty
34
34
  mapping?: string
35
35
  }
36
+ | {
37
+ input: 'audios'
38
+ value?: Array<any> | DataLink | EventProperty
39
+ mapping?: string
40
+ }
36
41
  | {
37
42
  input: 'tools'
38
43
  value?: Array<any> | DataLink | EventProperty
@@ -99,6 +104,8 @@ Default property:
99
104
  messages?: Array<DataLink | {}> | DataLink
100
105
  /* Images with message to inference */
101
106
  images?: Array<string | DataLink> | DataLink
107
+ /* Audios with message to inference */
108
+ audios?: Array<string | DataLink> | DataLink
102
109
  /* Tool call parser */
103
110
  toolCallParser?: 'llama3_json' | 'mistral' | 'hermes' | 'internlm' | 'phi4' | DataLink
104
111
  /* Tools for chat mode using OpenAI-compatible function calling format
@@ -53,6 +53,33 @@ export type GeneratorSqliteActionQuery = ActionWithParams & {
53
53
  >
54
54
  }
55
55
 
56
+ /* Execute multiple SQL statements in transaction */
57
+ export type GeneratorSqliteActionTransaction = ActionWithParams & {
58
+ __actionName: 'GENERATOR_SQLITE_TRANSACTION'
59
+ params?: Array<{
60
+ input: 'statements'
61
+ value?: Array<any> | DataLink | EventProperty
62
+ mapping?: string
63
+ }>
64
+ }
65
+
66
+ /* Execute same SQL statement with multiple parameter sets */
67
+ export type GeneratorSqliteActionBatchExecute = ActionWithParams & {
68
+ __actionName: 'GENERATOR_SQLITE_BATCH_EXECUTE'
69
+ params?: Array<
70
+ | {
71
+ input: 'sql'
72
+ value?: string | DataLink | EventProperty
73
+ mapping?: string
74
+ }
75
+ | {
76
+ input: 'batchParams'
77
+ value?: Array<any> | DataLink | EventProperty
78
+ mapping?: string
79
+ }
80
+ >
81
+ }
82
+
56
83
  interface GeneratorSqliteDef {
57
84
  /*
58
85
  Default property:
@@ -92,6 +119,8 @@ Default property:
92
119
  error?: () => Data
93
120
  /* Last query result */
94
121
  lastResult?: () => Data
122
+ /* Last execute result with metadata */
123
+ lastExecuteResult?: () => Data
95
124
  }
96
125
  }
97
126
 
@@ -109,7 +138,7 @@ export type GeneratorSqlite = Generator &
109
138
  | SwitchCondData
110
139
  | {
111
140
  __typename: 'SwitchCondInnerStateOutlet'
112
- outlet: 'isReady' | 'dbPath' | 'error' | 'lastResult'
141
+ outlet: 'isReady' | 'dbPath' | 'error' | 'lastResult' | 'lastExecuteResult'
113
142
  value: any
114
143
  }
115
144
  }>
@@ -49,6 +49,8 @@ Default property:
49
49
  outlets?: {
50
50
  /* Countdown step value */
51
51
  countdown?: () => Data
52
+ /* Is tick running? */
53
+ running?: () => Data
52
54
  }
53
55
  }
54
56
 
@@ -66,7 +68,7 @@ export type GeneratorTick = Generator &
66
68
  | SwitchCondData
67
69
  | {
68
70
  __typename: 'SwitchCondInnerStateOutlet'
69
- outlet: 'countdown'
71
+ outlet: 'countdown' | 'running'
70
72
  value: any
71
73
  }
72
74
  }>
@@ -55,6 +55,11 @@ export const templateEventPropsMap = {
55
55
  'BRICK_SLIDESHOW_PAYLOAD_VALUE', // type: number
56
56
  'BRICK_SLIDESHOW_ORIGINAL_INDEX', // type: number
57
57
  ],
58
+ mediaOnError: [
59
+ 'BRICK_SLIDESHOW_ERROR_MESSAGE', // type: string
60
+ 'BRICK_SLIDESHOW_ERROR_URL', // type: string
61
+ 'BRICK_SLIDESHOW_ERROR_INDEX', // type: number
62
+ ],
58
63
  },
59
64
  BRICK_CHART: {
60
65
  onPress: [
@@ -180,23 +185,6 @@ export const templateEventPropsMap = {
180
185
  ],
181
186
  },
182
187
 
183
- BRICK_3D_VIEWER: {
184
- onError: [
185
- 'BRICK_3D_VIEWER_ERROR_MESSAGE', // type: string
186
- ],
187
- onChange: [
188
- 'BRICK_3D_VIEWER_OBJECT_INDEX', // type: number
189
- 'BRICK_3D_VIEWER_OBJECT_POSITION', // type: object
190
- 'BRICK_3D_VIEWER_OBJECT_ROTATION', // type: object
191
- ],
192
- onSelectChange: [
193
- 'BRICK_3D_VIEWER_OBJECT_INDEX', // type: number
194
- ],
195
- onCollision: [
196
- 'BRICK_3D_VIEWER_OBJECT_INDEX', // type: number
197
- 'BRICK_3D_VIEWER_COLLISION_TYPE', // type: string
198
- ],
199
- },
200
188
  BRICK_GENERATIVE_MEDIA: {
201
189
  onSuccess: [
202
190
  'BRICK_GENERATIVE_MEDIA_URL', // type: string
@@ -847,7 +835,15 @@ export const templateEventPropsMap = {
847
835
  'GENERATOR_GGML_TTS_ERROR', // type: string
848
836
  ],
849
837
  },
850
- GENERATOR_RERANKER: {},
838
+ GENERATOR_RERANKER: {
839
+ onContextStateChange: [
840
+ 'GENERATOR_RERANKER_CONTEXT_STATE', // type: string
841
+ 'GENERATOR_RERANKER_CONTEXT_DETAILS', // type: object
842
+ ],
843
+ onError: [
844
+ 'GENERATOR_RERANKER_ERROR', // type: string
845
+ ],
846
+ },
851
847
  GENERATOR_QNN_LLM: {
852
848
  onContextStateChange: [
853
849
  'GENERATOR_QNN_LLM_CONTEXT_STATE', // type: string
@@ -1,200 +0,0 @@
1
- import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
2
- import type { Data, DataLink } from '../data'
3
- import type { Animation, AnimationBasicEvents } from '../animation'
4
- import type {
5
- Brick,
6
- EventAction,
7
- EventActionForItem,
8
- ActionWithDataParams,
9
- ActionWithParams,
10
- Action,
11
- EventProperty,
12
- } from '../common'
13
- import type { BrickBasicProperty, BrickBasicEvents, BrickBasicEventsForItem } from '../brick-base'
14
-
15
- /* Play object animation */
16
- export type Brick3DViewerActionAnimationPlay = ActionWithParams & {
17
- __actionName: 'BRICK_3D_VIEWER_ANIMATION_PLAY'
18
- params?: Array<{
19
- input: 'objectIndex'
20
- value?: number | DataLink | EventProperty
21
- mapping?: string
22
- }>
23
- }
24
-
25
- /* Pause object animation */
26
- export type Brick3DViewerActionAnimationPause = ActionWithParams & {
27
- __actionName: 'BRICK_3D_VIEWER_ANIMATION_PAUSE'
28
- params?: Array<{
29
- input: 'objectIndex'
30
- value?: number | DataLink | EventProperty
31
- mapping?: string
32
- }>
33
- }
34
-
35
- /* Goto object animation progress */
36
- export type Brick3DViewerActionAnimationGoto = ActionWithParams & {
37
- __actionName: 'BRICK_3D_VIEWER_ANIMATION_GOTO'
38
- params?: Array<
39
- | {
40
- input: 'objectIndex'
41
- value?: number | DataLink | EventProperty
42
- mapping?: string
43
- }
44
- | {
45
- input: 'animationProgress'
46
- value?: number | DataLink | EventProperty
47
- mapping?: string
48
- }
49
- >
50
- }
51
-
52
- interface Brick3DViewerDef {
53
- /*
54
- Default property:
55
- {
56
- "showLoadingBox": true,
57
- "enableOrbitControls": true
58
- }
59
- */
60
- property?: BrickBasicProperty & {
61
- /* 3D model list */
62
- objects?:
63
- | Array<
64
- | DataLink
65
- | {
66
- url?: string | DataLink
67
- md5?: string | DataLink
68
- type?: 'USDZ' | 'glTF' | DataLink
69
- rotation?: number | DataLink | Array<number | DataLink> | DataLink | DataLink
70
- scale?: number | DataLink | Array<number | DataLink> | DataLink | DataLink
71
- x?: number | DataLink
72
- y?: number | DataLink
73
- z?: number | DataLink
74
- moveable?: boolean | DataLink
75
- rotateable?: boolean | DataLink
76
- selectable?: boolean | DataLink
77
- enableCollision?: boolean | DataLink
78
- animationLoopMode?: 'once' | 'repeat' | 'pingpong' | DataLink
79
- animationProgress?: number | DataLink
80
- animationPaused?: boolean | DataLink
81
- boundingBox?:
82
- | DataLink
83
- | {
84
- min?:
85
- | DataLink
86
- | {
87
- x?: number | DataLink
88
- y?: number | DataLink
89
- z?: number | DataLink
90
- }
91
- max?:
92
- | DataLink
93
- | {
94
- x?: number | DataLink
95
- y?: number | DataLink
96
- z?: number | DataLink
97
- }
98
- }
99
- }
100
- >
101
- | DataLink
102
- /* Show loading placeholder box */
103
- showLoadingBox?: boolean | DataLink
104
- /* Display shadows */
105
- shadows?: boolean | DataLink
106
- /* Default camera position */
107
- camera?:
108
- | DataLink
109
- | {
110
- fov?: number | DataLink
111
- aspect?: number | DataLink
112
- near?: number | DataLink
113
- far?: number | DataLink
114
- position?:
115
- | DataLink
116
- | {
117
- x?: number | DataLink
118
- y?: number | DataLink
119
- z?: number | DataLink
120
- }
121
- quaternion?:
122
- | DataLink
123
- | {
124
- x?: number | DataLink
125
- y?: number | DataLink
126
- z?: number | DataLink
127
- w?: number | DataLink
128
- }
129
- }
130
- /* Enable orbit controls */
131
- enableOrbitControls?: boolean | DataLink
132
- /* Camera control options */
133
- orbitControls?:
134
- | DataLink
135
- | {
136
- autoRotate?: boolean | DataLink
137
- enableZoom?: boolean | DataLink
138
- enablePan?: boolean | DataLink
139
- enableRotate?: boolean | DataLink
140
- enableDamping?: boolean | DataLink
141
- dampingFactor?: number | DataLink
142
- rotateSpeed?: number | DataLink
143
- zoomSpeed?: number | DataLink
144
- panSpeed?: number | DataLink
145
- minDistance?: number | DataLink
146
- maxDistance?: number | DataLink
147
- minPolarAngle?: number | DataLink
148
- maxPolarAngle?: number | DataLink
149
- minAzimuthAngle?: number | DataLink
150
- maxAzimuthAngle?: number | DataLink
151
- }
152
- /* Move controls options */
153
- moveControls?:
154
- | DataLink
155
- | {
156
- responsiveness?: number | DataLink
157
- rotationRingColor?: string | DataLink
158
- rotationRingSize?: number | DataLink
159
- showBoundingBox?: boolean | DataLink
160
- }
161
- }
162
- events?: BrickBasicEvents & {
163
- /* Event of error occurred */
164
- onError?: Array<EventAction>
165
- /* Event of object changed position or rotation */
166
- onChange?: Array<EventAction>
167
- /* Event of object selected */
168
- onSelectChange?: Array<EventAction>
169
- /* Event of object collision occurred */
170
- onCollision?: Array<EventAction>
171
- }
172
- animation?: AnimationBasicEvents & {
173
- onError?: Animation
174
- onChange?: Animation
175
- onSelectChange?: Animation
176
- onCollision?: Animation
177
- }
178
- }
179
-
180
- /* 3D viewer brick */
181
- export type Brick3DViewer = Brick &
182
- Brick3DViewerDef & {
183
- templateKey: 'BRICK_3D_VIEWER'
184
- switches: Array<
185
- SwitchDef &
186
- Brick3DViewerDef & {
187
- conds?: Array<{
188
- method: '==' | '!=' | '>' | '<' | '>=' | '<='
189
- cond:
190
- | SwitchCondInnerStateCurrentCanvas
191
- | SwitchCondData
192
- | {
193
- __typename: 'SwitchCondInnerStateOutlet'
194
- outlet: ''
195
- value: any
196
- }
197
- }>
198
- }
199
- >
200
- }