@fugood/bricks-project 2.23.5 → 2.23.7

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 +24 -0
  2. package/compile/index.ts +26 -20
  3. package/compile/util.ts +2 -0
  4. package/package.json +2 -2
  5. package/tools/deploy.ts +27 -2
  6. package/tools/preview.ts +1 -1
  7. package/types/bricks/Camera.ts +5 -2
  8. package/types/bricks/Chart.ts +4 -1
  9. package/types/bricks/GenerativeMedia.ts +4 -1
  10. package/types/bricks/Icon.ts +5 -2
  11. package/types/bricks/Image.ts +5 -2
  12. package/types/bricks/Items.ts +5 -2
  13. package/types/bricks/Lottie.ts +4 -1
  14. package/types/bricks/Maps.ts +5 -2
  15. package/types/bricks/QrCode.ts +5 -2
  16. package/types/bricks/Rect.ts +5 -2
  17. package/types/bricks/RichText.ts +5 -2
  18. package/types/bricks/Rive.ts +4 -1
  19. package/types/bricks/Slideshow.ts +5 -2
  20. package/types/bricks/Svg.ts +4 -1
  21. package/types/bricks/Text.ts +5 -2
  22. package/types/bricks/TextInput.ts +5 -2
  23. package/types/bricks/Video.ts +5 -2
  24. package/types/bricks/VideoStreaming.ts +4 -1
  25. package/types/bricks/WebRtcStream.ts +5 -2
  26. package/types/bricks/WebView.ts +4 -1
  27. package/types/generators/AlarmClock.ts +5 -2
  28. package/types/generators/Assistant.ts +6 -3
  29. package/types/generators/BleCentral.ts +5 -2
  30. package/types/generators/BlePeripheral.ts +5 -2
  31. package/types/generators/CanvasMap.ts +4 -1
  32. package/types/generators/CastlesPay.ts +5 -2
  33. package/types/generators/DataBank.ts +5 -2
  34. package/types/generators/File.ts +5 -2
  35. package/types/generators/GraphQl.ts +4 -1
  36. package/types/generators/Http.ts +4 -1
  37. package/types/generators/HttpServer.ts +4 -1
  38. package/types/generators/Information.ts +5 -2
  39. package/types/generators/Intent.ts +4 -1
  40. package/types/generators/Iterator.ts +4 -1
  41. package/types/generators/Keyboard.ts +5 -2
  42. package/types/generators/LlmAnthropicCompat.ts +10 -1
  43. package/types/generators/LlmAppleBuiltin.ts +11 -1
  44. package/types/generators/LlmGgml.ts +53 -1
  45. package/types/generators/LlmMediaTekNeuroPilot.ts +228 -0
  46. package/types/generators/LlmMlx.ts +11 -1
  47. package/types/generators/LlmOnnx.ts +5 -1
  48. package/types/generators/LlmOpenAiCompat.ts +14 -1
  49. package/types/generators/LlmQualcommAiEngine.ts +4 -1
  50. package/types/generators/Mcp.ts +4 -1
  51. package/types/generators/McpServer.ts +4 -1
  52. package/types/generators/MediaFlow.ts +4 -1
  53. package/types/generators/MqttBroker.ts +4 -1
  54. package/types/generators/MqttClient.ts +4 -1
  55. package/types/generators/Question.ts +5 -2
  56. package/types/generators/RealtimeTranscription.ts +16 -1
  57. package/types/generators/RerankerGgml.ts +15 -1
  58. package/types/generators/SerialPort.ts +5 -2
  59. package/types/generators/SoundPlayer.ts +4 -1
  60. package/types/generators/SoundRecorder.ts +16 -2
  61. package/types/generators/SpeechToTextGgml.ts +10 -1
  62. package/types/generators/SpeechToTextOnnx.ts +5 -1
  63. package/types/generators/SpeechToTextPlatform.ts +4 -1
  64. package/types/generators/SqLite.ts +5 -2
  65. package/types/generators/Step.ts +4 -1
  66. package/types/generators/SttAppleBuiltin.ts +11 -1
  67. package/types/generators/Tcp.ts +5 -2
  68. package/types/generators/TcpServer.ts +4 -1
  69. package/types/generators/TextToSpeechAppleBuiltin.ts +11 -1
  70. package/types/generators/TextToSpeechGgml.ts +16 -1
  71. package/types/generators/TextToSpeechOnnx.ts +5 -1
  72. package/types/generators/TextToSpeechOpenAiLike.ts +4 -1
  73. package/types/generators/ThermalPrinter.ts +5 -2
  74. package/types/generators/Tick.ts +5 -2
  75. package/types/generators/Udp.ts +5 -2
  76. package/types/generators/VadGgml.ts +4 -1
  77. package/types/generators/VadOnnx.ts +5 -1
  78. package/types/generators/VadTraditional.ts +5 -1
  79. package/types/generators/VectorStore.ts +5 -2
  80. package/types/generators/Watchdog.ts +5 -2
  81. package/types/generators/WebCrawler.ts +4 -1
  82. package/types/generators/WebRtc.ts +5 -2
  83. package/types/generators/WebSocket.ts +4 -1
  84. package/types/generators/index.ts +1 -0
  85. package/types/subspace.ts +2 -0
  86. package/utils/event-props.ts +20 -0
@@ -716,6 +716,8 @@ export const templateActionNameMap = {
716
716
  parallelToolCalls: 'GENERATOR_LLM_PARALLEL_TOOL_CALLS',
717
717
  toolChoice: 'GENERATOR_LLM_TOOL_CHOICE',
718
718
  enableThinking: 'GENERATOR_LLM_ENABLE_THINKING',
719
+ thinkingBudgetTokens: 'GENERATOR_LLM_THINKING_BUDGET_TOKENS',
720
+ thinkingBudgetMessage: 'GENERATOR_LLM_THINKING_BUDGET_MESSAGE',
719
721
  prompt: 'GENERATOR_LLM_PROMPT',
720
722
  promptMediaPaths: 'GENERATOR_LLM_PROMPT_MEDIA_PATHS',
721
723
  promptTemplateData: 'GENERATOR_LLM_PROMPT_TEMPLATE_DATA',
@@ -724,6 +726,7 @@ export const templateActionNameMap = {
724
726
  chatTemplateKwargs: 'GENERATOR_LLM_CHAT_TEMPLATE_KWARGS',
725
727
  addGenerationPrompt: 'GENERATOR_LLM_ADD_GENERATION_PROMPT',
726
728
  now: 'GENERATOR_LLM_NOW',
729
+ forcePureContent: 'GENERATOR_LLM_FORCE_PURE_CONTENT',
727
730
  },
728
731
  GENERATOR_LLM_COMPLETION: {
729
732
  sessionKey: 'GENERATOR_LLM_SESSION_KEY',
@@ -733,6 +736,8 @@ export const templateActionNameMap = {
733
736
  parallelToolCalls: 'GENERATOR_LLM_PARALLEL_TOOL_CALLS',
734
737
  toolChoice: 'GENERATOR_LLM_TOOL_CHOICE',
735
738
  enableThinking: 'GENERATOR_LLM_ENABLE_THINKING',
739
+ thinkingBudgetTokens: 'GENERATOR_LLM_THINKING_BUDGET_TOKENS',
740
+ thinkingBudgetMessage: 'GENERATOR_LLM_THINKING_BUDGET_MESSAGE',
736
741
  useReasoningFormat: 'GENERATOR_LLM_USE_REASONING_FORMAT',
737
742
  prompt: 'GENERATOR_LLM_PROMPT',
738
743
  promptMediaPaths: 'GENERATOR_LLM_PROMPT_MEDIA_PATHS',
@@ -742,6 +747,7 @@ export const templateActionNameMap = {
742
747
  chatTemplateKwargs: 'GENERATOR_LLM_CHAT_TEMPLATE_KWARGS',
743
748
  addGenerationPrompt: 'GENERATOR_LLM_ADD_GENERATION_PROMPT',
744
749
  now: 'GENERATOR_LLM_NOW',
750
+ forcePureContent: 'GENERATOR_LLM_FORCE_PURE_CONTENT',
745
751
  grammar: 'GENERATOR_LLM_GRAMMAR',
746
752
  stopWords: 'GENERATOR_LLM_STOP_WORDS',
747
753
  predict: 'GENERATOR_LLM_PREDICT',
@@ -812,6 +818,24 @@ export const templateActionNameMap = {
812
818
  tools: 'GENERATOR_QNN_LLM_TOOLS',
813
819
  },
814
820
  },
821
+ GENERATOR_NEUROPILOT_LLM: {
822
+ GENERATOR_NEUROPILOT_LLM_LOAD_MODEL: {
823
+ runnerPath: 'GENERATOR_NEUROPILOT_LLM_RUNNER_PATH',
824
+ configPath: 'GENERATOR_NEUROPILOT_LLM_CONFIG_PATH',
825
+ workingDirectory: 'GENERATOR_NEUROPILOT_LLM_WORKING_DIRECTORY',
826
+ libraryPaths: 'GENERATOR_NEUROPILOT_LLM_LIBRARY_PATHS',
827
+ daemonHost: 'GENERATOR_NEUROPILOT_LLM_DAEMON_HOST',
828
+ daemonPort: 'GENERATOR_NEUROPILOT_LLM_DAEMON_PORT',
829
+ daemonSocketName: 'GENERATOR_NEUROPILOT_LLM_DAEMON_SOCKET_NAME',
830
+ daemonSocketNamespace: 'GENERATOR_NEUROPILOT_LLM_DAEMON_SOCKET_NAMESPACE',
831
+ },
832
+ GENERATOR_NEUROPILOT_LLM_GENERATE: {
833
+ prompt: 'GENERATOR_NEUROPILOT_LLM_PROMPT',
834
+ messages: 'GENERATOR_NEUROPILOT_LLM_MESSAGES',
835
+ maxNewTokens: 'GENERATOR_NEUROPILOT_LLM_MAX_NEW_TOKENS',
836
+ preformatter: 'GENERATOR_NEUROPILOT_LLM_PREFORMATTER',
837
+ },
838
+ },
815
839
  GENERATOR_OPENAI_LLM: {
816
840
  GENERATOR_OPENAI_LLM_COMPLETION: {
817
841
  messages: 'GENERATOR_OPENAI_LLM_MESSAGES',
package/compile/index.ts CHANGED
@@ -91,6 +91,25 @@ const compileProperty = (property, errorReference: string, result = {}) => {
91
91
  return property
92
92
  }
93
93
 
94
+ const compileScriptCalculationCode = (code = '') => {
95
+ try {
96
+ const program = parseAST(code, { sourceType: 'module', ecmaVersion: 2020 })
97
+ // export function main() { ... }
98
+ const declarationBody = (
99
+ (program.body[0] as ExportNamedDeclaration).declaration as FunctionDeclaration
100
+ )?.body
101
+ return escodegen.generate(declarationBody, {
102
+ format: {
103
+ indent: { style: ' ' },
104
+ semicolons: false,
105
+ },
106
+ comment: true,
107
+ })
108
+ } catch {
109
+ return code || ''
110
+ }
111
+ }
112
+
94
113
  const compileEventActionValue = (templateKey, eventKey, value, errorReference) => {
95
114
  const tmplEventProperties = templateEventPropsMap[templateKey]
96
115
  const props = tmplEventProperties?.[eventKey]
@@ -524,6 +543,8 @@ export const compile = async (app: Application) => {
524
543
  title: subspace.title,
525
544
  description: subspace.description,
526
545
  hide_short_ref: subspace.hideShortRef,
546
+ unused: subspace.unused,
547
+ portal: subspace.portal,
527
548
  _expanded: subspace.unexpanded
528
549
  ? {
529
550
  brick: !subspace.unexpanded.brick,
@@ -1105,25 +1126,10 @@ export const compile = async (app: Application) => {
1105
1126
  const scriptCalc = dataCalc as DataCalculationScript
1106
1127
  calc.type = 'script'
1107
1128
 
1108
- let code: string
1109
- try {
1110
- const program = parseAST(scriptCalc.code, { sourceType: 'module', ecmaVersion: 2020 })
1111
- // export function main() { ... }
1112
- const declarationBody = (
1113
- (program.body[0] as ExportNamedDeclaration).declaration as FunctionDeclaration
1114
- )?.body
1115
- code = escodegen.generate(declarationBody, {
1116
- format: {
1117
- indent: { style: ' ' },
1118
- semicolons: false,
1119
- },
1120
- comment: true,
1121
- })
1122
- } catch {
1123
- code = scriptCalc.code || ''
1124
- }
1129
+ const code = compileScriptCalculationCode(scriptCalc.code)
1125
1130
  calc.script_config = {
1126
- note: scriptCalc.note,
1131
+ title: scriptCalc.title ?? '',
1132
+ note: scriptCalc.note ?? '',
1127
1133
  code,
1128
1134
  enable_async: scriptCalc.enableAsync,
1129
1135
  trigger_mode: scriptCalc.triggerMode,
@@ -1151,7 +1157,7 @@ export const compile = async (app: Application) => {
1151
1157
  'PROPERTY_BANK_DATA_NODE',
1152
1158
  `(data calc: ${dataCalcId}, script output, subspace: ${subspaceId})`,
1153
1159
  )
1154
- : undefined,
1160
+ : null,
1155
1161
  outputs: scriptCalc.outputs.reduce((acc, output) => {
1156
1162
  if (!acc[output.key]) acc[output.key] = []
1157
1163
  const outputId = assertEntryId(
@@ -1168,7 +1174,7 @@ export const compile = async (app: Application) => {
1168
1174
  'PROPERTY_BANK_DATA_NODE',
1169
1175
  `(data calc: ${dataCalcId}, script error output, subspace: ${subspaceId})`,
1170
1176
  )
1171
- : undefined,
1177
+ : null,
1172
1178
  }
1173
1179
 
1174
1180
  Object.assign(
package/compile/util.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { makeId } from '../utils/id'
2
2
 
3
3
  type ScriptConfig = {
4
+ title?: string
5
+ note?: string
4
6
  inputs: Record<string, string>
5
7
  enable_async: boolean
6
8
  trigger_mode?: 'auto' | 'manual'
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@fugood/bricks-project",
3
- "version": "2.23.5",
3
+ "version": "2.23.7",
4
4
  "main": "index.ts",
5
5
  "scripts": {
6
6
  "typecheck": "tsc --noEmit",
7
7
  "build": "bun scripts/build.js"
8
8
  },
9
9
  "dependencies": {
10
- "@fugood/bricks-cli": "^2.23.5",
10
+ "@fugood/bricks-cli": "^2.23.7",
11
11
  "@huggingface/gguf": "^0.3.2",
12
12
  "@iarna/toml": "^3.0.0",
13
13
  "@modelcontextprotocol/sdk": "^1.15.0",
package/tools/deploy.ts CHANGED
@@ -8,6 +8,8 @@ const {
8
8
  changelogs: changelogsArg,
9
9
  'changelogs-file': changelogsFile,
10
10
  'auto-commit': autoCommit,
11
+ 'auto-version': autoVersion,
12
+ version: versionArg,
11
13
  yes,
12
14
  help,
13
15
  },
@@ -17,6 +19,8 @@ const {
17
19
  changelogs: { type: 'string' },
18
20
  'changelogs-file': { type: 'string' },
19
21
  'auto-commit': { type: 'boolean' },
22
+ 'auto-version': { type: 'boolean' },
23
+ version: { type: 'string' },
20
24
  yes: { type: 'boolean', short: 'y' },
21
25
  help: { type: 'boolean', short: 'h' },
22
26
  },
@@ -28,6 +32,8 @@ if (help) {
28
32
  --changelogs <text> Changelogs text for the release
29
33
  --changelogs-file <path> Read changelogs from a file
30
34
  --auto-commit Auto-commit unstaged changes before deploying
35
+ --auto-version Auto-bump patch version before deploying
36
+ --version <version> Set explicit version for the release
31
37
  -y, --yes Skip all prompts
32
38
  -h, --help Show this help message`)
33
39
  process.exit(0) // eslint-disable-line unicorn/no-process-exit
@@ -46,9 +52,28 @@ if (!isGitRepo && !yes) {
46
52
  const app = await Bun.file(`${cwd}/application.json`).json()
47
53
  const config = await Bun.file(`${cwd}/.bricks/build/application-config.json`).json()
48
54
 
49
- // Get version from project's package.json
55
+ // Resolve version: explicit flag > auto-bump > package.json
50
56
  const pkgFile = Bun.file(`${cwd}/package.json`)
51
- const version = (await pkgFile.exists()) ? (await pkgFile.json()).version : undefined
57
+ const pkgExists = await pkgFile.exists()
58
+ let version: string | undefined
59
+
60
+ if (versionArg) {
61
+ version = versionArg
62
+ if (pkgExists) {
63
+ const pkg = await pkgFile.json()
64
+ pkg.version = version
65
+ await Bun.write(`${cwd}/package.json`, `${JSON.stringify(pkg, null, 2)}\n`)
66
+ }
67
+ } else if (autoVersion && pkgExists) {
68
+ const pkg = await pkgFile.json()
69
+ const parts = (pkg.version || '0.0.0').split('.')
70
+ parts[2] = String(Number(parts[2] || 0) + 1)
71
+ version = parts.join('.')
72
+ pkg.version = version
73
+ await Bun.write(`${cwd}/package.json`, `${JSON.stringify(pkg, null, 2)}\n`)
74
+ } else {
75
+ version = pkgExists ? (await pkgFile.json()).version : undefined
76
+ }
52
77
 
53
78
  // Get changelog from flag or file
54
79
  let changelogs = ''
package/tools/preview.ts CHANGED
@@ -66,7 +66,7 @@ const useTypecheck = !values['skip-typecheck']
66
66
 
67
67
  const compile = async () => {
68
68
  if (useTypecheck) await $`bun typecheck`
69
- await $`bun compile`
69
+ await $`bun compile.ts`
70
70
  }
71
71
 
72
72
  await compile()
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Camera view with photo capture and barcode scanning capabilities
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -215,7 +218,7 @@ Default property:
215
218
  }
216
219
  }
217
220
 
218
- /* Camera view brick */
221
+ /* Camera view with photo capture and barcode scanning capabilities */
219
222
  export type BrickCamera = Brick &
220
223
  BrickCameraDef & {
221
224
  templateKey: 'BRICK_CAMERA'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Chart brick, based on [Apache ECharts](https://echarts.apache.org/en/index.html).
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Generative Media brick - Generate images and videos using AI
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Display vector icons from bundled icon sets (FontAwesome, Material, etc.)
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -71,7 +74,7 @@ Default property:
71
74
  }
72
75
  }
73
76
 
74
- /* Icon brick */
77
+ /* Display vector icons from bundled icon sets (FontAwesome, Material, etc.) */
75
78
  export type BrickIcon = Brick &
76
79
  BrickIconDef & {
77
80
  templateKey: 'BRICK_ICON'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Display images from URL or local assets with resize modes and caching
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -87,7 +90,7 @@ Default property:
87
90
  }
88
91
  }
89
92
 
90
- /* Image brick */
93
+ /* Display images from URL or local assets with resize modes and caching */
91
94
  export type BrickImage = Brick &
92
95
  BrickImageDef & {
93
96
  templateKey: 'BRICK_IMAGE'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Repeating list/grid that renders child bricks for each data item
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -433,7 +436,7 @@ Default property:
433
436
  }
434
437
  }
435
438
 
436
- /* Brick items component */
439
+ /* Repeating list/grid that renders child bricks for each data item */
437
440
  export type BrickItems = Brick &
438
441
  BrickItemsDef & {
439
442
  templateKey: 'BRICK_ITEMS'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Lottie Adobe After Effects animations brick
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Interactive map display with markers, regions, and user location tracking
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -231,7 +234,7 @@ Default property:
231
234
  }
232
235
  }
233
236
 
234
- /* Maps brick */
237
+ /* Interactive map display with markers, regions, and user location tracking */
235
238
  export type BrickMaps = Brick &
236
239
  BrickMapsDef & {
237
240
  templateKey: 'BRICK_MAPS'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Generate and display QR codes from text or URL values
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -90,7 +93,7 @@ Default property:
90
93
  }
91
94
  }
92
95
 
93
- /* QRCode brick */
96
+ /* Generate and display QR codes from text or URL values */
94
97
  export type BrickQrcode = Brick &
95
98
  BrickQrcodeDef & {
96
99
  templateKey: 'BRICK_QRCODE'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Rectangle shape with customizable fill, border, radius, and shadow
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -88,7 +91,7 @@ Default property:
88
91
  }
89
92
  }
90
93
 
91
- /* Rect brick */
94
+ /* Rectangle shape with customizable fill, border, radius, and shadow */
92
95
  export type BrickRect = Brick &
93
96
  BrickRectDef & {
94
97
  templateKey: 'BRICK_RECT'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Rich text display supporting HTML content rendering
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -101,7 +104,7 @@ Default property:
101
104
  }
102
105
  }
103
106
 
104
- /* RichText brick */
107
+ /* Rich text display supporting HTML content rendering */
105
108
  export type BrickRichText = Brick &
106
109
  BrickRichTextDef & {
107
110
  templateKey: 'BRICK_RICH_TEXT'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Rive file component
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Auto-advancing slideshow of child bricks with transition effects
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -168,7 +171,7 @@ Default property:
168
171
  }
169
172
  }
170
173
 
171
- /* Slideshow brick */
174
+ /* Auto-advancing slideshow of child bricks with transition effects */
172
175
  export type BrickSlideshow = Brick &
173
176
  BrickSlideshowDef & {
174
177
  templateKey: 'BRICK_SLIDESHOW'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * SVG is an XML-based vector image format for 2D graphics
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Display styled text with font, color, alignment, and truncation controls
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -121,7 +124,7 @@ Default property:
121
124
  }
122
125
  }
123
126
 
124
- /* Text brick */
127
+ /* Display styled text with font, color, alignment, and truncation controls */
125
128
  export type BrickText = Brick &
126
129
  BrickTextDef & {
127
130
  templateKey: 'BRICK_TEXT'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Editable text input field with keyboard type, placeholder, and validation support
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -213,7 +216,7 @@ Default property:
213
216
  }
214
217
  }
215
218
 
216
- /* Text Input brick */
219
+ /* Editable text input field with keyboard type, placeholder, and validation support */
217
220
  export type BrickTextInput = Brick &
218
221
  BrickTextInputDef & {
219
222
  templateKey: 'BRICK_TEXT_INPUT'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Video playback with play/pause controls and streaming support
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -148,7 +151,7 @@ Default property:
148
151
  }
149
152
  }
150
153
 
151
- /* Video brick */
154
+ /* Video playback with play/pause controls and streaming support */
152
155
  export type BrickVideo = Brick &
153
156
  BrickVideoDef & {
154
157
  templateKey: 'BRICK_VIDEO'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Brick video streaming component, supports RTSP / RTMP streaming.
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Display WebRTC video/audio stream from a WebRTC generator connection
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -38,7 +41,7 @@ Default property:
38
41
  }
39
42
  }
40
43
 
41
- /* WebRTCStream brick */
44
+ /* Display WebRTC video/audio stream from a WebRTC generator connection */
42
45
  export type BrickWebRTCStream = Brick &
43
46
  BrickWebRTCStreamDef & {
44
47
  templateKey: 'BRICK_WEBRTC_STREAM'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * WebView brick
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type { Animation, AnimationBasicEvents } from '../animation'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Schedule events using cron expressions (e.g. daily, hourly)
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type {
@@ -81,7 +84,7 @@ Default property:
81
84
  }
82
85
  }
83
86
 
84
- /* Execute event by cron tab */
87
+ /* Schedule events using cron expressions (e.g. daily, hourly) */
85
88
  export type GeneratorAlarmClock = Generator &
86
89
  GeneratorAlarmClockDef & {
87
90
  templateKey: 'GENERATOR_ALARM_CLOCK'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * AI assistant orchestrator combining LLM, STT, TTS, and tool-use into a conversational agent
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type {
@@ -434,7 +437,7 @@ Default property:
434
437
  | DataLink
435
438
  /* Whether to cache messages */
436
439
  cacheMessages?: boolean | DataLink
437
- /* LLM Generator (Supports `LLM (GGML)`, `LLM (MLX)`, and `OpenAI LLM` generators) */
440
+ /* LLM Generator (Supports `LLM (GGML)`, `LLM (MLX)`, `OpenAI LLM`, `LLM (Qualcomm AI Engine)`, `LLM (ONNX)`, `LLM (Anthropic-compat)`, and `LLM (MediaTek NeuroPilot)` generators) */
438
441
  llmGeneratorId?: string | DataLink | (() => Generator)
439
442
  /* LLM Live Policy. If the policy is `only-in-use`, the LLM context will be released when the assistant is not in use.
440
443
 
@@ -585,7 +588,7 @@ Default property:
585
588
  }
586
589
  }
587
590
 
588
- /* AI Assistant */
591
+ /* AI assistant orchestrator combining LLM, STT, TTS, and tool-use into a conversational agent */
589
592
  export type GeneratorAssistant = Generator &
590
593
  GeneratorAssistantDef & {
591
594
  templateKey: 'GENERATOR_ASSISTANT'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Bluetooth Low Energy central: scan, connect, and communicate with BLE peripherals
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type {
@@ -212,7 +215,7 @@ Default property:
212
215
  }
213
216
  }
214
217
 
215
- /* BLE Central Mode Generator */
218
+ /* Bluetooth Low Energy central: scan, connect, and communicate with BLE peripherals */
216
219
  export type GeneratorBleCentral = Generator &
217
220
  GeneratorBleCentralDef & {
218
221
  templateKey: 'GENERATOR_BLE_CENTRAL'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Bluetooth Low Energy peripheral: advertise services and respond to central connections
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type {
@@ -181,7 +184,7 @@ Default property:
181
184
  }
182
185
  }
183
186
 
184
- /* BLE Peripheral Mode Generator */
187
+ /* Bluetooth Low Energy peripheral: advertise services and respond to central connections */
185
188
  export type GeneratorBlePeripheral = Generator &
186
189
  GeneratorBlePeripheralDef & {
187
190
  templateKey: 'GENERATOR_BLE_PERIPHERAL'
@@ -1,4 +1,7 @@
1
- /* Auto generated by build script */
1
+ /* Auto generated by build script
2
+ *
3
+ * Trigger canvas navigation by setup rules
4
+ */
2
5
  import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
3
6
  import type { Data, DataLink } from '../data'
4
7
  import type {