@fugood/bricks-project 2.24.5 → 2.24.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.
- package/compile/action-name-map.ts +2 -0
- package/compile/index.ts +3 -2
- package/package.json +2 -2
- package/skills/bricks-ctor/SKILL.md +18 -18
- package/tools/_last-pushed-commit.ts +1 -1
- package/tools/pull.ts +1 -1
- package/tools/{update-config.ts → push-config.ts} +1 -1
- package/types/{automation.ts → automation.d.ts} +15 -20
- package/types/{common.ts → common.d.ts} +1 -4
- package/types/generators/{Assistant.ts → Assistant.d.ts} +2 -1
- package/types/generators/{LlmGgml.ts → LlmGgml.d.ts} +5 -1
- package/types/generators/{RerankerGgml.ts → RerankerGgml.d.ts} +5 -1
- package/types/generators/{SoundRecorder.ts → SoundRecorder.d.ts} +10 -1
- package/types/generators/{SpeechToTextGgml.ts → SpeechToTextGgml.d.ts} +5 -1
- package/types/generators/{SttAppleBuiltin.ts → SttAppleBuiltin.d.ts} +27 -4
- package/types/generators/{VadGgml.ts → VadGgml.d.ts} +12 -2
- package/package.json.bak +0 -28
- /package/skills/bricks-ctor/{rules → references}/animation.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/architecture-patterns.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/automations.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/buttress.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/data-calculation.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/local-sync.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/media-flow.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/remote-data-bank.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/standby-transition.md +0 -0
- /package/skills/bricks-ctor/{rules → references}/verification-toolchain.md +0 -0
- /package/types/{animation.ts → animation.d.ts} +0 -0
- /package/types/{brick-base.ts → brick-base.d.ts} +0 -0
- /package/types/bricks/{Camera.ts → Camera.d.ts} +0 -0
- /package/types/bricks/{Chart.ts → Chart.d.ts} +0 -0
- /package/types/bricks/{GenerativeMedia.ts → GenerativeMedia.d.ts} +0 -0
- /package/types/bricks/{Icon.ts → Icon.d.ts} +0 -0
- /package/types/bricks/{Image.ts → Image.d.ts} +0 -0
- /package/types/bricks/{Items.ts → Items.d.ts} +0 -0
- /package/types/bricks/{Lottie.ts → Lottie.d.ts} +0 -0
- /package/types/bricks/{Maps.ts → Maps.d.ts} +0 -0
- /package/types/bricks/{QrCode.ts → QrCode.d.ts} +0 -0
- /package/types/bricks/{Rect.ts → Rect.d.ts} +0 -0
- /package/types/bricks/{RichText.ts → RichText.d.ts} +0 -0
- /package/types/bricks/{Rive.ts → Rive.d.ts} +0 -0
- /package/types/bricks/{Sketch.ts → Sketch.d.ts} +0 -0
- /package/types/bricks/{Slideshow.ts → Slideshow.d.ts} +0 -0
- /package/types/bricks/{Svg.ts → Svg.d.ts} +0 -0
- /package/types/bricks/{Text.ts → Text.d.ts} +0 -0
- /package/types/bricks/{TextInput.ts → TextInput.d.ts} +0 -0
- /package/types/bricks/{Video.ts → Video.d.ts} +0 -0
- /package/types/bricks/{VideoStreaming.ts → VideoStreaming.d.ts} +0 -0
- /package/types/bricks/{WebRtcStream.ts → WebRtcStream.d.ts} +0 -0
- /package/types/bricks/{WebView.ts → WebView.d.ts} +0 -0
- /package/types/bricks/{index.ts → index.d.ts} +0 -0
- /package/types/{canvas.ts → canvas.d.ts} +0 -0
- /package/types/data-calc-command/{base.ts → base.d.ts} +0 -0
- /package/types/data-calc-command/{collection.ts → collection.d.ts} +0 -0
- /package/types/data-calc-command/{color.ts → color.d.ts} +0 -0
- /package/types/data-calc-command/{constant.ts → constant.d.ts} +0 -0
- /package/types/data-calc-command/{datetime.ts → datetime.d.ts} +0 -0
- /package/types/data-calc-command/{file.ts → file.d.ts} +0 -0
- /package/types/data-calc-command/{index.ts → index.d.ts} +0 -0
- /package/types/data-calc-command/{iteratee.ts → iteratee.d.ts} +0 -0
- /package/types/data-calc-command/{logictype.ts → logictype.d.ts} +0 -0
- /package/types/data-calc-command/{math.ts → math.d.ts} +0 -0
- /package/types/data-calc-command/{object.ts → object.d.ts} +0 -0
- /package/types/data-calc-command/{sandbox.ts → sandbox.d.ts} +0 -0
- /package/types/data-calc-command/{string.ts → string.d.ts} +0 -0
- /package/types/{data-calc-script.ts → data-calc-script.d.ts} +0 -0
- /package/types/{data-calc.ts → data-calc.d.ts} +0 -0
- /package/types/{data.ts → data.d.ts} +0 -0
- /package/types/generators/{AlarmClock.ts → AlarmClock.d.ts} +0 -0
- /package/types/generators/{BleCentral.ts → BleCentral.d.ts} +0 -0
- /package/types/generators/{BlePeripheral.ts → BlePeripheral.d.ts} +0 -0
- /package/types/generators/{CanvasMap.ts → CanvasMap.d.ts} +0 -0
- /package/types/generators/{CastlesPay.ts → CastlesPay.d.ts} +0 -0
- /package/types/generators/{DataBank.ts → DataBank.d.ts} +0 -0
- /package/types/generators/{File.ts → File.d.ts} +0 -0
- /package/types/generators/{GraphQl.ts → GraphQl.d.ts} +0 -0
- /package/types/generators/{Http.ts → Http.d.ts} +0 -0
- /package/types/generators/{HttpServer.ts → HttpServer.d.ts} +0 -0
- /package/types/generators/{Information.ts → Information.d.ts} +0 -0
- /package/types/generators/{Intent.ts → Intent.d.ts} +0 -0
- /package/types/generators/{Iterator.ts → Iterator.d.ts} +0 -0
- /package/types/generators/{Keyboard.ts → Keyboard.d.ts} +0 -0
- /package/types/generators/{LlmAnthropicCompat.ts → LlmAnthropicCompat.d.ts} +0 -0
- /package/types/generators/{LlmAppleBuiltin.ts → LlmAppleBuiltin.d.ts} +0 -0
- /package/types/generators/{LlmMediaTekNeuroPilot.ts → LlmMediaTekNeuroPilot.d.ts} +0 -0
- /package/types/generators/{LlmMlx.ts → LlmMlx.d.ts} +0 -0
- /package/types/generators/{LlmOnnx.ts → LlmOnnx.d.ts} +0 -0
- /package/types/generators/{LlmOpenAiCompat.ts → LlmOpenAiCompat.d.ts} +0 -0
- /package/types/generators/{LlmQualcommAiEngine.ts → LlmQualcommAiEngine.d.ts} +0 -0
- /package/types/generators/{Mcp.ts → Mcp.d.ts} +0 -0
- /package/types/generators/{McpServer.ts → McpServer.d.ts} +0 -0
- /package/types/generators/{MediaFlow.ts → MediaFlow.d.ts} +0 -0
- /package/types/generators/{MqttBroker.ts → MqttBroker.d.ts} +0 -0
- /package/types/generators/{MqttClient.ts → MqttClient.d.ts} +0 -0
- /package/types/generators/{Question.ts → Question.d.ts} +0 -0
- /package/types/generators/{RealtimeTranscription.ts → RealtimeTranscription.d.ts} +0 -0
- /package/types/generators/{SerialPort.ts → SerialPort.d.ts} +0 -0
- /package/types/generators/{SoundPlayer.ts → SoundPlayer.d.ts} +0 -0
- /package/types/generators/{SpeechToTextOnnx.ts → SpeechToTextOnnx.d.ts} +0 -0
- /package/types/generators/{SpeechToTextPlatform.ts → SpeechToTextPlatform.d.ts} +0 -0
- /package/types/generators/{SqLite.ts → SqLite.d.ts} +0 -0
- /package/types/generators/{Step.ts → Step.d.ts} +0 -0
- /package/types/generators/{Tcp.ts → Tcp.d.ts} +0 -0
- /package/types/generators/{TcpServer.ts → TcpServer.d.ts} +0 -0
- /package/types/generators/{TextToSpeechAppleBuiltin.ts → TextToSpeechAppleBuiltin.d.ts} +0 -0
- /package/types/generators/{TextToSpeechGgml.ts → TextToSpeechGgml.d.ts} +0 -0
- /package/types/generators/{TextToSpeechOnnx.ts → TextToSpeechOnnx.d.ts} +0 -0
- /package/types/generators/{TextToSpeechOpenAiLike.ts → TextToSpeechOpenAiLike.d.ts} +0 -0
- /package/types/generators/{ThermalPrinter.ts → ThermalPrinter.d.ts} +0 -0
- /package/types/generators/{Tick.ts → Tick.d.ts} +0 -0
- /package/types/generators/{Udp.ts → Udp.d.ts} +0 -0
- /package/types/generators/{VadOnnx.ts → VadOnnx.d.ts} +0 -0
- /package/types/generators/{VadTraditional.ts → VadTraditional.d.ts} +0 -0
- /package/types/generators/{VectorStore.ts → VectorStore.d.ts} +0 -0
- /package/types/generators/{Watchdog.ts → Watchdog.d.ts} +0 -0
- /package/types/generators/{WebCrawler.ts → WebCrawler.d.ts} +0 -0
- /package/types/generators/{WebRtc.ts → WebRtc.d.ts} +0 -0
- /package/types/generators/{WebSocket.ts → WebSocket.d.ts} +0 -0
- /package/types/generators/{index.ts → index.d.ts} +0 -0
- /package/types/{index.ts → index.d.ts} +0 -0
- /package/types/{subspace.ts → subspace.d.ts} +0 -0
- /package/types/{switch.ts → switch.d.ts} +0 -0
- /package/types/{system.ts → system.d.ts} +0 -0
|
@@ -899,10 +899,12 @@ export const templateActionNameMap = {
|
|
|
899
899
|
GENERATOR_APPLE_STT_TRANSCRIBE_FILE: {
|
|
900
900
|
fileUrl: 'GENERATOR_APPLE_STT_FILE_URL',
|
|
901
901
|
language: 'GENERATOR_APPLE_STT_LANGUAGE',
|
|
902
|
+
contextualStrings: 'GENERATOR_APPLE_STT_CONTEXTUAL_STRINGS',
|
|
902
903
|
},
|
|
903
904
|
GENERATOR_APPLE_STT_TRANSCRIBE_DATA: {
|
|
904
905
|
data: 'GENERATOR_APPLE_STT_DATA',
|
|
905
906
|
language: 'GENERATOR_APPLE_STT_LANGUAGE',
|
|
907
|
+
contextualStrings: 'GENERATOR_APPLE_STT_CONTEXTUAL_STRINGS',
|
|
906
908
|
},
|
|
907
909
|
},
|
|
908
910
|
GENERATOR_APPLE_TTS: {
|
package/compile/index.ts
CHANGED
|
@@ -511,9 +511,10 @@ const compileKind = (kind: Data['kind']) => {
|
|
|
511
511
|
}
|
|
512
512
|
|
|
513
513
|
const compileRemoteUpdate = (remoteUpdate: Data['remoteUpdate']) => {
|
|
514
|
-
if (!remoteUpdate) return {}
|
|
515
|
-
if (remoteUpdate.type === 'auto') return { enable_remote_update: true }
|
|
514
|
+
if (!remoteUpdate) return { bank_type: 'none' }
|
|
515
|
+
if (remoteUpdate.type === 'auto') return { bank_type: 'create', enable_remote_update: true }
|
|
516
516
|
return {
|
|
517
|
+
bank_type: remoteUpdate.type === 'device-specific' ? 'create-device-specific' : 'global',
|
|
517
518
|
enable_remote_update: true,
|
|
518
519
|
...(remoteUpdate.type === 'device-specific' ? { use_remote_id_prefix: true } : {}),
|
|
519
520
|
...(remoteUpdate.type === 'global-data' ? { global_remote_update_prop: remoteUpdate.id } : {}),
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fugood/bricks-project",
|
|
3
|
-
"version": "2.24.
|
|
3
|
+
"version": "2.24.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.24.
|
|
10
|
+
"@fugood/bricks-cli": "^2.24.7",
|
|
11
11
|
"@huggingface/gguf": "^0.3.2",
|
|
12
12
|
"@iarna/toml": "^3.0.0",
|
|
13
13
|
"@modelcontextprotocol/sdk": "^1.15.0",
|
|
@@ -11,24 +11,24 @@ This skill covers advanced BRICKS features not in the main project instructions.
|
|
|
11
11
|
|
|
12
12
|
| Rule | Description |
|
|
13
13
|
|------|-------------|
|
|
14
|
-
| [Architecture Patterns](
|
|
15
|
-
| [Animation](
|
|
16
|
-
| [Standby Transition](
|
|
17
|
-
| [Automations](
|
|
18
|
-
| [Data Calculation](
|
|
19
|
-
| [Local Sync](
|
|
20
|
-
| [Remote Data Bank](
|
|
21
|
-
| [Media Flow](
|
|
22
|
-
| [Buttress](
|
|
23
|
-
| [Verification Toolchain](
|
|
14
|
+
| [Architecture Patterns](references/architecture-patterns.md) | **Read first** — decompose flows and select patterns |
|
|
15
|
+
| [Animation](references/animation.md) | Animation system for brick transforms and opacity |
|
|
16
|
+
| [Standby Transition](references/standby-transition.md) | Canvas enter/exit animations |
|
|
17
|
+
| [Automations](references/automations.md) | E2E testing and scheduled tasks |
|
|
18
|
+
| [Data Calculation](references/data-calculation.md) | JS sandbox libraries (25+ available) |
|
|
19
|
+
| [Local Sync](references/local-sync.md) | LAN device synchronization |
|
|
20
|
+
| [Remote Data Bank](references/remote-data-bank.md) | Cloud data sync and API access |
|
|
21
|
+
| [Media Flow](references/media-flow.md) | Media asset management |
|
|
22
|
+
| [Buttress](references/buttress.md) | Remote inference for AI generators |
|
|
23
|
+
| [Verification Toolchain](references/verification-toolchain.md) | Definition of done, compile, preview tool selection, on-device DevTools, Path 1/2/3 decision rule |
|
|
24
24
|
|
|
25
25
|
## Quick Reference
|
|
26
26
|
|
|
27
|
-
- **Complex flows**: See [Architecture Patterns](
|
|
28
|
-
- **Multi-device**: See [Local Sync](
|
|
29
|
-
- **Cloud data**: See [Remote Data Bank](
|
|
30
|
-
- **Media assets**: See [Media Flow](
|
|
31
|
-
- **AI offloading**: See [Buttress](
|
|
32
|
-
- **E2E testing**: See [Automations](
|
|
33
|
-
- **Enter animations**: See [Standby Transition](
|
|
34
|
-
- **Verification before done**: See [Verification Toolchain](
|
|
27
|
+
- **Complex flows**: See [Architecture Patterns](references/architecture-patterns.md) for decomposing multi-step workflows
|
|
28
|
+
- **Multi-device**: See [Local Sync](references/local-sync.md) for LAN coordination
|
|
29
|
+
- **Cloud data**: See [Remote Data Bank](references/remote-data-bank.md) for sync and API access
|
|
30
|
+
- **Media assets**: See [Media Flow](references/media-flow.md) for centralized asset management
|
|
31
|
+
- **AI offloading**: See [Buttress](references/buttress.md) for GPU server delegation
|
|
32
|
+
- **E2E testing**: See [Automations](references/automations.md) for test automation
|
|
33
|
+
- **Enter animations**: See [Standby Transition](references/standby-transition.md) for canvas transitions
|
|
34
|
+
- **Verification before done**: See [Verification Toolchain](references/verification-toolchain.md) for the definition-of-done gate and Path 1/2/3 decision rule
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mkdir, readFile, writeFile } from 'node:fs/promises'
|
|
2
2
|
|
|
3
3
|
// Local sync marker: the git commit hash that was on HEAD when we last
|
|
4
|
-
// successfully pushed to the server (deploy or
|
|
4
|
+
// successfully pushed to the server (deploy or push-config) or pulled
|
|
5
5
|
// from it. Stored at the `.bricks/` top level (gitignored explicitly) — it's
|
|
6
6
|
// per-clone state, not a build artifact, so it doesn't belong under
|
|
7
7
|
// `.bricks/build/`.
|
package/tools/pull.ts
CHANGED
|
@@ -78,7 +78,7 @@ if (result.exitCode !== 0) {
|
|
|
78
78
|
|
|
79
79
|
const { files, lastCommitId: serverLastCommitId } = JSON.parse(result.stdout.toString())
|
|
80
80
|
|
|
81
|
-
// The locally-saved commit (recorded by deploy/
|
|
81
|
+
// The locally-saved commit (recorded by deploy/push-config) is the
|
|
82
82
|
// authoritative merge base for THIS clone — the server's value can be an
|
|
83
83
|
// opaque nanoid (config-only updates) or point to a commit other clients
|
|
84
84
|
// produced. Fall back to the server's value only if we have no local
|
|
@@ -88,7 +88,7 @@ const updateConfig = {
|
|
|
88
88
|
...config,
|
|
89
89
|
bricks_project_last_commit_id: commitId || undefined,
|
|
90
90
|
}
|
|
91
|
-
const configPath = `${cwd}/.bricks/build/
|
|
91
|
+
const configPath = `${cwd}/.bricks/build/push-config.json`
|
|
92
92
|
await writeFile(configPath, JSON.stringify(updateConfig))
|
|
93
93
|
|
|
94
94
|
const args = ['bricks', command, 'update', app.id, '-f', configPath, '--json']
|
|
@@ -83,9 +83,22 @@ export type TestMethodName =
|
|
|
83
83
|
| 'delay'
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
87
|
-
* Each method has a specific signature: [methodName, ...args]
|
|
86
|
+
* Union type for all test method run arrays
|
|
88
87
|
*/
|
|
88
|
+
export type TestMethodRun =
|
|
89
|
+
| TestMethodRunBrickPress
|
|
90
|
+
| TestMethodRunBrickExists
|
|
91
|
+
| TestMethodRunWaitUntilBrickExists
|
|
92
|
+
| TestMethodRunWaitUntilEventTrigger
|
|
93
|
+
| TestMethodRunWaitUntilCanvasChange
|
|
94
|
+
| TestMethodRunKeydown
|
|
95
|
+
| TestMethodRunKeyup
|
|
96
|
+
| TestMethodRunHttpRequest
|
|
97
|
+
| TestMethodRunAssertProperty
|
|
98
|
+
| TestMethodRunWaitUntilPropertyChange
|
|
99
|
+
| TestMethodRunExecuteAction
|
|
100
|
+
| TestMethodRunMatchScreenshot
|
|
101
|
+
| TestMethodRunDelay
|
|
89
102
|
|
|
90
103
|
// [methodName, subspaceId, brickId, options?]
|
|
91
104
|
export type TestMethodRunBrickPress = ['brick_press', SubspaceRef, BrickRef, Record<string, any>?]
|
|
@@ -157,24 +170,6 @@ export type TestMethodRunMatchScreenshot = ['match_screenshot', string, number?,
|
|
|
157
170
|
// [methodName, subspaceId?, propertyId?, defaultValue?]
|
|
158
171
|
export type TestMethodRunDelay = ['delay', SubspaceRef?, DataRef?, number?]
|
|
159
172
|
|
|
160
|
-
/**
|
|
161
|
-
* Union type for all test method run arrays
|
|
162
|
-
*/
|
|
163
|
-
export type TestMethodRun =
|
|
164
|
-
| TestMethodRunBrickPress
|
|
165
|
-
| TestMethodRunBrickExists
|
|
166
|
-
| TestMethodRunWaitUntilBrickExists
|
|
167
|
-
| TestMethodRunWaitUntilEventTrigger
|
|
168
|
-
| TestMethodRunWaitUntilCanvasChange
|
|
169
|
-
| TestMethodRunKeydown
|
|
170
|
-
| TestMethodRunKeyup
|
|
171
|
-
| TestMethodRunHttpRequest
|
|
172
|
-
| TestMethodRunAssertProperty
|
|
173
|
-
| TestMethodRunWaitUntilPropertyChange
|
|
174
|
-
| TestMethodRunExecuteAction
|
|
175
|
-
| TestMethodRunMatchScreenshot
|
|
176
|
-
| TestMethodRunDelay
|
|
177
|
-
|
|
178
173
|
/**
|
|
179
174
|
* Test case definition
|
|
180
175
|
*/
|
|
@@ -18,10 +18,7 @@ export interface Brick {
|
|
|
18
18
|
switches?: Array<SwitchDef>
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export
|
|
22
|
-
mainOnly = 'main-only',
|
|
23
|
-
minorOnly = 'minor-only',
|
|
24
|
-
}
|
|
21
|
+
export type LocalSyncStrategy = 'main-only' | 'minor-only'
|
|
25
22
|
|
|
26
23
|
export interface Generator {
|
|
27
24
|
__typename: 'Generator'
|
|
@@ -511,7 +511,7 @@ Default property:
|
|
|
511
511
|
mcpResourceAnnotationKeyword?: string | DataLink
|
|
512
512
|
/* Fallback text when MCP server or resource is not found. If empty, an error will be thrown. */
|
|
513
513
|
mcpResourceAnnotationFallback?: string | DataLink
|
|
514
|
-
/* Guardrails — safety checks applied at specific pipeline hook points. Each entry runs a `pattern` regex or `llm` verdict check at the specified `on` hook, and fires the configured `action` when triggered.
|
|
514
|
+
/* Guardrails — safety checks applied at specific pipeline hook points. Each entry runs a `pattern` regex or `llm` verdict check at the specified `on` hook, and fires the configured `action` when triggered. Jinja template kwargs for `llmUserPromptTemplate` / `llmSystemPrompt`: `input` (string) — last user message text `output` (string) — LLM response text `tool_call` (string) — tool function name `tool_args` (object) — tool call arguments (use `{{ tool_args | tojson }}` for JSON string, `{{ tool_args.key }}` for field access) `tool_result` (string) — tool execution result `messages` (array) — conversation history as `[{role, content}, ...]` Legacy `{var}` format is auto-upgraded to `{{ var }}`. For `action: 'redact'` with `kind: 'llm'`, `llmSystemPrompt` is also used as the sanitiser system prompt (defaults to a built-in rewrite instruction when omitted). `redactReplacement` — custom replacement string for pattern redaction (defaults to `[REDACTED]`). Hook semantics: `before-llm` only fires on initial user submissions (skipped on tool-result continuations). `after-llm` fires on all non-tool-call responses (skipped only on tool-call-only responses). */
|
|
515
515
|
guardrails?:
|
|
516
516
|
| Array<
|
|
517
517
|
| DataLink
|
|
@@ -526,6 +526,7 @@ Default property:
|
|
|
526
526
|
llmUserPromptTemplate?: string | DataLink
|
|
527
527
|
llmResultMatch?: string | DataLink
|
|
528
528
|
action?: 'block' | 'redact' | 'log-only' | DataLink
|
|
529
|
+
redactReplacement?: string | DataLink
|
|
529
530
|
}
|
|
530
531
|
>
|
|
531
532
|
| DataLink
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* - Supported Hexagon NPU for Qualcomm Snapdragon 8 Gen 1+ GPUs.
|
|
12
12
|
* - Linux / Windows [@nextline - Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
13
13
|
* - Supported Hexagon NPU for Qualcomm Dragonwing IQ9 series+ (Linux)
|
|
14
|
+
* - Web: Supported with CPU and WebGPU acceleration.
|
|
15
|
+
* - Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable.
|
|
14
16
|
*/
|
|
15
17
|
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
16
18
|
import type { Data, DataLink } from '../data'
|
|
@@ -863,7 +865,9 @@ Default property:
|
|
|
863
865
|
- Supported GPU acceleration by OpenCL, currently only for Qualcomm Adreno 700+ GPUs, other GPUs are not supported.
|
|
864
866
|
- Supported Hexagon NPU for Qualcomm Snapdragon 8 Gen 1+ GPUs.
|
|
865
867
|
- Linux / Windows [@nextline - Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
866
|
-
- Supported Hexagon NPU for Qualcomm Dragonwing IQ9 series+ (Linux)
|
|
868
|
+
- Supported Hexagon NPU for Qualcomm Dragonwing IQ9 series+ (Linux)
|
|
869
|
+
- Web: Supported with CPU and WebGPU acceleration.
|
|
870
|
+
- Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable. */
|
|
867
871
|
export type GeneratorLLM = Generator &
|
|
868
872
|
GeneratorLLMDef & {
|
|
869
873
|
templateKey: 'GENERATOR_LLM'
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
* - Linux / Windows
|
|
13
13
|
* - Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
14
14
|
* - Supported Hexagon NPU for Qualcomm Dragonwing IQ9 series+ (Linux)
|
|
15
|
+
* - Web: Supported with CPU and WebGPU acceleration.
|
|
16
|
+
* - Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable.
|
|
15
17
|
*/
|
|
16
18
|
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
17
19
|
import type { Data, DataLink } from '../data'
|
|
@@ -163,7 +165,9 @@ Default property:
|
|
|
163
165
|
- Supported Hexagon NPU for Qualcomm Snapdragon 8 Gen 2+ GPUs.
|
|
164
166
|
- Linux / Windows
|
|
165
167
|
- Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
166
|
-
- Supported Hexagon NPU for Qualcomm Dragonwing IQ9 series+ (Linux)
|
|
168
|
+
- Supported Hexagon NPU for Qualcomm Dragonwing IQ9 series+ (Linux)
|
|
169
|
+
- Web: Supported with CPU and WebGPU acceleration.
|
|
170
|
+
- Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable. */
|
|
167
171
|
export type GeneratorReranker = Generator &
|
|
168
172
|
GeneratorRerankerDef & {
|
|
169
173
|
templateKey: 'GENERATOR_RERANKER'
|
|
@@ -54,7 +54,8 @@ Default property:
|
|
|
54
54
|
"autoCuttingVocalFreqMin": 75,
|
|
55
55
|
"autoCuttingVocalFreqMax": 900,
|
|
56
56
|
"autoCuttingFreqClarity": 0.5,
|
|
57
|
-
"autoCuttingSpeakSpacing": 0.5
|
|
57
|
+
"autoCuttingSpeakSpacing": 0.5,
|
|
58
|
+
"userMediaAudioOptions": {}
|
|
58
59
|
}
|
|
59
60
|
*/
|
|
60
61
|
property?: {
|
|
@@ -86,6 +87,14 @@ Default property:
|
|
|
86
87
|
autoCuttingVolumeThreshold?: number | DataLink
|
|
87
88
|
/* Speak spacing of cutting fragments */
|
|
88
89
|
autoCuttingSpeakSpacing?: number | DataLink
|
|
90
|
+
/* Custom getUserMedia audio options for Web / Desktop. Merged into the audio constraints. */
|
|
91
|
+
userMediaAudioOptions?:
|
|
92
|
+
| DataLink
|
|
93
|
+
| {
|
|
94
|
+
autoGainControl?: boolean | DataLink
|
|
95
|
+
echoCancellation?: boolean | DataLink
|
|
96
|
+
noiseSuppression?: boolean | DataLink
|
|
97
|
+
}
|
|
89
98
|
}
|
|
90
99
|
events?: {
|
|
91
100
|
/* Event for chunk data (Base64 encoded PCM) */
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* - macOS: Supported GPU acceleration, recommended use M1+ chip device
|
|
8
8
|
* - Android: Currently not supported GPU acceleration (Coming soon), recommended use Android 13+ system
|
|
9
9
|
* - Linux / Windows: Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
10
|
+
* - Web: Supported with WASM CPU and optional WebGPU acceleration in Web Preview.
|
|
11
|
+
* - Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable.
|
|
10
12
|
*/
|
|
11
13
|
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
12
14
|
import type { Data, DataLink } from '../data'
|
|
@@ -389,7 +391,9 @@ Default property:
|
|
|
389
391
|
- iOS: Supported GPU acceleration, recommended use M1+ / A17+ chip device
|
|
390
392
|
- macOS: Supported GPU acceleration, recommended use M1+ chip device
|
|
391
393
|
- Android: Currently not supported GPU acceleration (Coming soon), recommended use Android 13+ system
|
|
392
|
-
- Linux / Windows: Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
394
|
+
- Linux / Windows: Supported GPU acceleration, you can choose `vulkan` or `cuda` backend in Accel Variant property
|
|
395
|
+
- Web: Supported with WASM CPU and optional WebGPU acceleration in Web Preview.
|
|
396
|
+
- Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable. */
|
|
393
397
|
export type GeneratorSpeechInference = Generator &
|
|
394
398
|
GeneratorSpeechInferenceDef & {
|
|
395
399
|
templateKey: 'GENERATOR_SPEECH_INFERENCE'
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* Auto generated by build script
|
|
2
2
|
*
|
|
3
|
-
* Speech recognition on iOS 26+ (Not supported on tvOS
|
|
3
|
+
* Speech recognition on iOS 26+ and Desktop (macOS 26+). Not supported on tvOS
|
|
4
4
|
*
|
|
5
5
|
* ## Features
|
|
6
6
|
* - Native Apple speech recognition
|
|
7
7
|
* - High accuracy transcription
|
|
8
8
|
* - Privacy-focused on-device processing
|
|
9
9
|
* - Supports file and data transcription
|
|
10
|
-
* - Requires iOS 26+
|
|
10
|
+
* - Requires iOS 26+ or Desktop on macOS 26+. Not supported on tvOS
|
|
11
11
|
*/
|
|
12
12
|
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
13
13
|
import type { Data, DataLink } from '../data'
|
|
@@ -41,6 +41,11 @@ export type GeneratorAppleSTTActionTranscribeFile = ActionWithParams & {
|
|
|
41
41
|
value?: string | DataLink | EventProperty
|
|
42
42
|
mapping?: string
|
|
43
43
|
}
|
|
44
|
+
| {
|
|
45
|
+
input: 'contextualStrings'
|
|
46
|
+
value?: Array<any> | DataLink | EventProperty
|
|
47
|
+
mapping?: string
|
|
48
|
+
}
|
|
44
49
|
>
|
|
45
50
|
}
|
|
46
51
|
|
|
@@ -58,15 +63,26 @@ export type GeneratorAppleSTTActionTranscribeData = ActionWithParams & {
|
|
|
58
63
|
value?: string | DataLink | EventProperty
|
|
59
64
|
mapping?: string
|
|
60
65
|
}
|
|
66
|
+
| {
|
|
67
|
+
input: 'contextualStrings'
|
|
68
|
+
value?: Array<any> | DataLink | EventProperty
|
|
69
|
+
mapping?: string
|
|
70
|
+
}
|
|
61
71
|
>
|
|
62
72
|
}
|
|
63
73
|
|
|
74
|
+
/* Release context */
|
|
75
|
+
export type GeneratorAppleSTTActionReleaseContext = Action & {
|
|
76
|
+
__actionName: 'GENERATOR_APPLE_STT_RELEASE_CONTEXT'
|
|
77
|
+
}
|
|
78
|
+
|
|
64
79
|
interface GeneratorAppleSTTDef {
|
|
65
80
|
/*
|
|
66
81
|
Default property:
|
|
67
82
|
{
|
|
68
83
|
"init": false,
|
|
69
84
|
"language": "en-US",
|
|
85
|
+
"contextualStrings": [],
|
|
70
86
|
"enablePartialResults": true
|
|
71
87
|
}
|
|
72
88
|
*/
|
|
@@ -75,6 +91,13 @@ Default property:
|
|
|
75
91
|
init?: boolean | DataLink
|
|
76
92
|
/* Language/locale for recognition (e.g., 'en-US') */
|
|
77
93
|
language?: string | DataLink
|
|
94
|
+
/* Phrases that should be recognized, even if they are not in the system vocabulary. */
|
|
95
|
+
contextualStrings?:
|
|
96
|
+
| Array<string | DataLink>
|
|
97
|
+
| DataLink
|
|
98
|
+
| Record<string, Array<string | DataLink> | DataLink>
|
|
99
|
+
| DataLink
|
|
100
|
+
| DataLink
|
|
78
101
|
/* Enable partial results during transcription */
|
|
79
102
|
enablePartialResults?: boolean | DataLink
|
|
80
103
|
/* The file URL or path to be transcribed */
|
|
@@ -100,14 +123,14 @@ Default property:
|
|
|
100
123
|
}
|
|
101
124
|
}
|
|
102
125
|
|
|
103
|
-
/* Speech recognition on iOS 26+ (Not supported on tvOS
|
|
126
|
+
/* Speech recognition on iOS 26+ and Desktop (macOS 26+). Not supported on tvOS
|
|
104
127
|
|
|
105
128
|
## Features
|
|
106
129
|
- Native Apple speech recognition
|
|
107
130
|
- High accuracy transcription
|
|
108
131
|
- Privacy-focused on-device processing
|
|
109
132
|
- Supports file and data transcription
|
|
110
|
-
- Requires iOS 26+
|
|
133
|
+
- Requires iOS 26+ or Desktop on macOS 26+. Not supported on tvOS */
|
|
111
134
|
export type GeneratorAppleSTT = Generator &
|
|
112
135
|
GeneratorAppleSTTDef & {
|
|
113
136
|
templateKey: 'GENERATOR_APPLE_STT'
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/* Auto generated by build script
|
|
2
2
|
*
|
|
3
|
-
* Local Voice Activity Detection (VAD) inference based on GGML and [whisper.
|
|
3
|
+
* Local Voice Activity Detection (VAD) inference based on GGML and [whisper.cpp](https://github.com/ggerganov/whisper.cpp)
|
|
4
|
+
*
|
|
5
|
+
* ## Notice
|
|
6
|
+
* - Web: Supported with WASM CPU in Web Preview.
|
|
7
|
+
* - WebGPU is not used for browser VAD; the wasm package falls back to CPU for the VAD graph.
|
|
8
|
+
* - Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable.
|
|
4
9
|
*/
|
|
5
10
|
import type { SwitchCondInnerStateCurrentCanvas, SwitchCondData, SwitchDef } from '../switch'
|
|
6
11
|
import type { Data, DataLink } from '../data'
|
|
@@ -222,7 +227,12 @@ Default property:
|
|
|
222
227
|
}
|
|
223
228
|
}
|
|
224
229
|
|
|
225
|
-
/* Local Voice Activity Detection (VAD) inference based on GGML and [whisper.
|
|
230
|
+
/* Local Voice Activity Detection (VAD) inference based on GGML and [whisper.cpp](https://github.com/ggerganov/whisper.cpp)
|
|
231
|
+
|
|
232
|
+
## Notice
|
|
233
|
+
- Web: Supported with WASM CPU in Web Preview.
|
|
234
|
+
- WebGPU is not used for browser VAD; the wasm package falls back to CPU for the VAD graph.
|
|
235
|
+
- Single thread only in the current web preview (no SharedArrayBuffer due to cross-origin isolation / CORP), so multi-thread is unavailable. */
|
|
226
236
|
export type GeneratorVadInference = Generator &
|
|
227
237
|
GeneratorVadInferenceDef & {
|
|
228
238
|
templateKey: 'GENERATOR_VAD_INFERENCE'
|
package/package.json.bak
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fugood/bricks-ctor",
|
|
3
|
-
"version": "2.24.5",
|
|
4
|
-
"main": "index.ts",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"typecheck": "tsc --noEmit",
|
|
7
|
-
"build": "bun scripts/build.js"
|
|
8
|
-
},
|
|
9
|
-
"dependencies": {
|
|
10
|
-
"@fugood/bricks-cli": "^2.24.5",
|
|
11
|
-
"@huggingface/gguf": "^0.3.2",
|
|
12
|
-
"@iarna/toml": "^3.0.0",
|
|
13
|
-
"@modelcontextprotocol/sdk": "^1.15.0",
|
|
14
|
-
"@toon-format/toon": "^2.1.0",
|
|
15
|
-
"@types/bun": "^1.3.9",
|
|
16
|
-
"@types/escodegen": "^0.0.10",
|
|
17
|
-
"@types/lodash": "^4.17.12",
|
|
18
|
-
"acorn": "^8.13.0",
|
|
19
|
-
"escodegen": "2.1.0",
|
|
20
|
-
"fuse.js": "^7.0.0",
|
|
21
|
-
"json5": "^2.0.1",
|
|
22
|
-
"lodash": "^4.17.4",
|
|
23
|
-
"uuid": "^8.3.1"
|
|
24
|
-
},
|
|
25
|
-
"peerDependencies": {
|
|
26
|
-
"oxfmt": "^0.36.0"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|