@fugood/bricks-project 2.25.0-beta.25 → 2.25.0-beta.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/package.json.bak +1 -1
- 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/{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/{Scene3D.ts → Scene3D.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/{LlmGgml.ts → LlmGgml.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/{RerankerGgml.ts → RerankerGgml.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/{SoundRecorder.ts → SoundRecorder.d.ts} +0 -0
- /package/types/generators/{SpeechToTextGgml.ts → SpeechToTextGgml.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/{SttAppleBuiltin.ts → SttAppleBuiltin.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/{VadGgml.ts → VadGgml.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
package/package.json
CHANGED
package/package.json.bak
CHANGED
|
@@ -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
|
|
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
|