@fugood/bricks-ctor 2.25.0-beta.60 → 2.25.0-beta.61
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 +4 -28
- package/tools/deploy.ts +19 -176
- package/tools/mcp-server.ts +16 -33
- package/tools/postinstall.ts +21 -292
- package/tools/pull.ts +15 -195
- package/tools/push-config.ts +18 -113
- package/tools/simulator.ts +19 -148
- package/compile/__tests__/config-diff.test.js +0 -100
- package/compile/__tests__/index.test.js +0 -461
- package/compile/__tests__/util.test.js +0 -450
- package/compile/action-name-map.ts +0 -1079
- package/compile/config-diff.ts +0 -155
- package/compile/index.ts +0 -1594
- package/compile/util.ts +0 -482
- package/index.ts +0 -6
- package/skills/bricks-ctor/SKILL.md +0 -38
- package/skills/bricks-ctor/references/animation.md +0 -160
- package/skills/bricks-ctor/references/architecture-patterns.md +0 -88
- package/skills/bricks-ctor/references/automations.md +0 -232
- package/skills/bricks-ctor/references/buttress.md +0 -245
- package/skills/bricks-ctor/references/data-calculation.md +0 -252
- package/skills/bricks-ctor/references/local-sync.md +0 -129
- package/skills/bricks-ctor/references/media-flow.md +0 -165
- package/skills/bricks-ctor/references/remote-data-bank.md +0 -196
- package/skills/bricks-ctor/references/simulator.md +0 -132
- package/skills/bricks-ctor/references/source-editing-tools.md +0 -81
- package/skills/bricks-ctor/references/standby-transition.md +0 -124
- package/skills/bricks-ctor/references/verification-toolchain.md +0 -200
- package/skills/bricks-design/SKILL.md +0 -171
- package/skills/bricks-design/references/architecture-truths.md +0 -132
- package/skills/bricks-design/references/avoiding-complexity.md +0 -91
- package/skills/bricks-design/references/design-critique.md +0 -195
- package/skills/bricks-design/references/design-languages.md +0 -265
- package/skills/bricks-design/references/performance.md +0 -116
- package/skills/bricks-design/references/presentation-and-slideshow.md +0 -137
- package/skills/bricks-design/references/translating-inputs.md +0 -152
- package/skills/bricks-design/references/variations-and-tweaks.md +0 -124
- package/skills/bricks-design/references/when-the-brief-is-branded.md +0 -284
- package/skills/bricks-design/references/when-the-brief-is-vague.md +0 -85
- package/skills/bricks-design/references/workflow.md +0 -134
- package/skills/bricks-ux/SKILL.md +0 -114
- package/skills/bricks-ux/references/accessibility.md +0 -162
- package/skills/bricks-ux/references/flow-states.md +0 -175
- package/skills/bricks-ux/references/interaction-archetypes.md +0 -189
- package/skills/bricks-ux/references/monitoring-screens.md +0 -153
- package/skills/bricks-ux/references/pressable-composition.md +0 -126
- package/skills/bricks-ux/references/user-journey.md +0 -168
- package/skills/bricks-ux/references/ux-critique.md +0 -256
- package/skills/rive-marketplace/SKILL.md +0 -99
- package/tools/__tests__/_cli-error.test.ts +0 -35
- package/tools/__tests__/_mcp-config.test.ts +0 -67
- package/tools/__tests__/pull.test.ts +0 -108
- package/tools/_cli-error.ts +0 -17
- package/tools/_edits-log.ts +0 -41
- package/tools/_git-author.ts +0 -37
- package/tools/_last-pushed-commit.ts +0 -28
- package/tools/_mcp-config.ts +0 -42
- package/tools/_shell.ts +0 -180
- package/tools/icons/.gitattributes +0 -1
- package/tools/icons/fa6pro-glyphmap.json +0 -4686
- package/tools/icons/fa6pro-meta.json +0 -1
- package/tools/mcp-env.ts +0 -13
- package/tools/mcp-tools/__tests__/data-calc-editing.test.js +0 -516
- package/tools/mcp-tools/__tests__/entry-editing.test.js +0 -866
- package/tools/mcp-tools/__tests__/huggingface.test.ts +0 -49
- package/tools/mcp-tools/__tests__/icons.test.ts +0 -21
- package/tools/mcp-tools/__tests__/mcp-env.test.js +0 -19
- package/tools/mcp-tools/_editing-helpers.ts +0 -98
- package/tools/mcp-tools/_verify.ts +0 -50
- package/tools/mcp-tools/compile.ts +0 -104
- package/tools/mcp-tools/data-calc-editing.ts +0 -1311
- package/tools/mcp-tools/entry-editing.ts +0 -2297
- package/tools/mcp-tools/huggingface.ts +0 -772
- package/tools/mcp-tools/icons.ts +0 -97
- package/tools/mcp-tools/lottie.ts +0 -102
- package/tools/mcp-tools/media.ts +0 -113
- package/tools/simulator-main.mjs +0 -488
- package/tools/simulator-preload.cjs +0 -16
- package/types/animation.d.ts +0 -116
- package/types/automation.d.ts +0 -231
- package/types/brick-base.d.ts +0 -80
- package/types/bricks/Camera.d.ts +0 -246
- package/types/bricks/Chart.d.ts +0 -372
- package/types/bricks/GenerativeMedia.d.ts +0 -290
- package/types/bricks/Icon.d.ts +0 -98
- package/types/bricks/Image.d.ts +0 -126
- package/types/bricks/Items.d.ts +0 -480
- package/types/bricks/Lottie.d.ts +0 -168
- package/types/bricks/Maps.d.ts +0 -262
- package/types/bricks/QrCode.d.ts +0 -117
- package/types/bricks/Rect.d.ts +0 -150
- package/types/bricks/RichText.d.ts +0 -131
- package/types/bricks/Rive.d.ts +0 -220
- package/types/bricks/Scene3D.d.ts +0 -676
- package/types/bricks/Sketch.d.ts +0 -256
- package/types/bricks/Slideshow.d.ts +0 -201
- package/types/bricks/Svg.d.ts +0 -99
- package/types/bricks/Text.d.ts +0 -148
- package/types/bricks/TextInput.d.ts +0 -242
- package/types/bricks/Video.d.ts +0 -242
- package/types/bricks/VideoStreaming.d.ts +0 -112
- package/types/bricks/WebRtcStream.d.ts +0 -65
- package/types/bricks/WebView.d.ts +0 -168
- package/types/bricks/index.d.ts +0 -23
- package/types/canvas.d.ts +0 -82
- package/types/common.d.ts +0 -141
- package/types/data-calc-command/base.d.ts +0 -57
- package/types/data-calc-command/collection.d.ts +0 -418
- package/types/data-calc-command/color.d.ts +0 -432
- package/types/data-calc-command/constant.d.ts +0 -50
- package/types/data-calc-command/datetime.d.ts +0 -147
- package/types/data-calc-command/file.d.ts +0 -129
- package/types/data-calc-command/index.d.ts +0 -13
- package/types/data-calc-command/iteratee.d.ts +0 -23
- package/types/data-calc-command/logictype.d.ts +0 -190
- package/types/data-calc-command/math.d.ts +0 -275
- package/types/data-calc-command/object.d.ts +0 -119
- package/types/data-calc-command/sandbox.d.ts +0 -66
- package/types/data-calc-command/string.d.ts +0 -407
- package/types/data-calc-script.d.ts +0 -21
- package/types/data-calc.d.ts +0 -12
- package/types/data.d.ts +0 -97
- package/types/generators/AlarmClock.d.ts +0 -110
- package/types/generators/Assistant.d.ts +0 -640
- package/types/generators/BleCentral.d.ts +0 -247
- package/types/generators/BlePeripheral.d.ts +0 -208
- package/types/generators/CanvasMap.d.ts +0 -74
- package/types/generators/CastlesPay.d.ts +0 -87
- package/types/generators/DataBank.d.ts +0 -160
- package/types/generators/File.d.ts +0 -432
- package/types/generators/GraphQl.d.ts +0 -132
- package/types/generators/Http.d.ts +0 -222
- package/types/generators/HttpServer.d.ts +0 -230
- package/types/generators/Information.d.ts +0 -103
- package/types/generators/Intent.d.ts +0 -168
- package/types/generators/Iterator.d.ts +0 -108
- package/types/generators/Keyboard.d.ts +0 -105
- package/types/generators/LlmAnthropicCompat.d.ts +0 -212
- package/types/generators/LlmAppleBuiltin.d.ts +0 -159
- package/types/generators/LlmGgml.d.ts +0 -903
- package/types/generators/LlmMediaTekNeuroPilot.d.ts +0 -235
- package/types/generators/LlmMlx.d.ts +0 -228
- package/types/generators/LlmOnnx.d.ts +0 -213
- package/types/generators/LlmOpenAiCompat.d.ts +0 -312
- package/types/generators/LlmQualcommAiEngine.d.ts +0 -247
- package/types/generators/Mcp.d.ts +0 -637
- package/types/generators/McpServer.d.ts +0 -289
- package/types/generators/MediaFlow.d.ts +0 -170
- package/types/generators/MqttBroker.d.ts +0 -141
- package/types/generators/MqttClient.d.ts +0 -141
- package/types/generators/Question.d.ts +0 -408
- package/types/generators/RealtimeTranscription.d.ts +0 -287
- package/types/generators/RerankerGgml.d.ts +0 -195
- package/types/generators/SerialPort.d.ts +0 -151
- package/types/generators/SoundPlayer.d.ts +0 -94
- package/types/generators/SoundRecorder.d.ts +0 -139
- package/types/generators/SpeechToTextGgml.d.ts +0 -424
- package/types/generators/SpeechToTextOnnx.d.ts +0 -236
- package/types/generators/SpeechToTextPlatform.d.ts +0 -85
- package/types/generators/SqLite.d.ts +0 -159
- package/types/generators/Step.d.ts +0 -107
- package/types/generators/SttAppleBuiltin.d.ts +0 -153
- package/types/generators/Tcp.d.ts +0 -126
- package/types/generators/TcpServer.d.ts +0 -147
- package/types/generators/TextToSpeechAppleBuiltin.d.ts +0 -127
- package/types/generators/TextToSpeechGgml.d.ts +0 -221
- package/types/generators/TextToSpeechOnnx.d.ts +0 -178
- package/types/generators/TextToSpeechOpenAiLike.d.ts +0 -121
- package/types/generators/ThermalPrinter.d.ts +0 -193
- package/types/generators/Tick.d.ts +0 -83
- package/types/generators/Udp.d.ts +0 -120
- package/types/generators/VadGgml.d.ts +0 -260
- package/types/generators/VadOnnx.d.ts +0 -231
- package/types/generators/VadTraditional.d.ts +0 -138
- package/types/generators/VectorStore.d.ts +0 -257
- package/types/generators/Watchdog.d.ts +0 -107
- package/types/generators/WebCrawler.d.ts +0 -103
- package/types/generators/WebRtc.d.ts +0 -181
- package/types/generators/WebSocket.d.ts +0 -148
- package/types/generators/index.d.ts +0 -57
- package/types/index.d.ts +0 -13
- package/types/subspace.d.ts +0 -60
- package/types/switch.d.ts +0 -51
- package/types/system.d.ts +0 -707
- package/utils/__tests__/calc.test.js +0 -25
- package/utils/__tests__/id.test.js +0 -154
- package/utils/calc.ts +0 -130
- package/utils/data.ts +0 -495
- package/utils/event-props.ts +0 -912
- package/utils/id.ts +0 -133
package/utils/id.ts
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { v4 as uuid } from 'uuid'
|
|
2
|
-
import { createHash } from 'node:crypto'
|
|
3
|
-
import { readFileSync } from 'node:fs'
|
|
4
|
-
import { join } from 'node:path'
|
|
5
|
-
|
|
6
|
-
let count = 0
|
|
7
|
-
|
|
8
|
-
type IdType =
|
|
9
|
-
| 'animation'
|
|
10
|
-
| 'brick'
|
|
11
|
-
| 'canvas'
|
|
12
|
-
| 'generator'
|
|
13
|
-
| 'data'
|
|
14
|
-
| 'switch'
|
|
15
|
-
| 'property_bank_command'
|
|
16
|
-
| 'property_bank_calc'
|
|
17
|
-
| 'dynamic-brick'
|
|
18
|
-
| 'automation_map'
|
|
19
|
-
| 'test'
|
|
20
|
-
| 'test_case'
|
|
21
|
-
| 'test_var'
|
|
22
|
-
| 'subspace'
|
|
23
|
-
|
|
24
|
-
type IdOptions = {
|
|
25
|
-
snapshotMode?: boolean
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const APPLICATION_ID_FALLBACK = 'unknown-application'
|
|
29
|
-
|
|
30
|
-
const usedStableAliases = new Set<string>()
|
|
31
|
-
let applicationIdCache: { cwd: string; id: string } | null = null
|
|
32
|
-
|
|
33
|
-
const readApplicationId = () => {
|
|
34
|
-
const cwd = process.cwd()
|
|
35
|
-
if (applicationIdCache?.cwd === cwd) return applicationIdCache.id
|
|
36
|
-
|
|
37
|
-
let id = APPLICATION_ID_FALLBACK
|
|
38
|
-
try {
|
|
39
|
-
const app = JSON.parse(readFileSync(join(cwd, 'application.json'), 'utf8'))
|
|
40
|
-
if (typeof app.id === 'string' && app.id) id = app.id
|
|
41
|
-
} catch {
|
|
42
|
-
// `makeId` is also used from tests and utilities outside project roots.
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
applicationIdCache = { cwd, id }
|
|
46
|
-
return id
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const hashToRandomBytes = (parts: string[]) => {
|
|
50
|
-
const hash = createHash('sha256').update(JSON.stringify(parts)).digest()
|
|
51
|
-
return new Uint8Array(hash.subarray(0, 16))
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const makeStableUuid = (type: string, alias?: string) => {
|
|
55
|
-
const applicationId = readApplicationId()
|
|
56
|
-
const seed = alias ?? String(count)
|
|
57
|
-
if (alias === undefined) count += 1
|
|
58
|
-
|
|
59
|
-
if (alias !== undefined) {
|
|
60
|
-
const aliasKey = JSON.stringify([applicationId, type, alias])
|
|
61
|
-
if (usedStableAliases.has(aliasKey)) {
|
|
62
|
-
throw new Error(`Duplicate makeId alias '${alias}' for type '${type}'`)
|
|
63
|
-
}
|
|
64
|
-
usedStableAliases.add(aliasKey)
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return uuid({
|
|
68
|
-
random: hashToRandomBytes([applicationId, type, seed]),
|
|
69
|
-
})
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const idPrefix = (type: IdType): string => {
|
|
73
|
-
switch (type) {
|
|
74
|
-
case 'animation':
|
|
75
|
-
return 'ANIMATION_'
|
|
76
|
-
case 'brick':
|
|
77
|
-
return 'BRICK_'
|
|
78
|
-
case 'dynamic-brick':
|
|
79
|
-
return 'DYNAMIC_BRICK_'
|
|
80
|
-
case 'canvas':
|
|
81
|
-
return 'CANVAS_'
|
|
82
|
-
case 'generator':
|
|
83
|
-
return 'GENERATOR_'
|
|
84
|
-
case 'data':
|
|
85
|
-
return 'PROPERTY_BANK_DATA_NODE_'
|
|
86
|
-
case 'switch':
|
|
87
|
-
return 'BRICK_STATE_GROUP_'
|
|
88
|
-
case 'property_bank_command':
|
|
89
|
-
return 'PROPERTY_BANK_COMMAND_NODE_'
|
|
90
|
-
case 'property_bank_calc':
|
|
91
|
-
return 'PROPERTY_BANK_COMMAND_MAP_'
|
|
92
|
-
case 'automation_map':
|
|
93
|
-
return 'AUTOMATION_MAP_'
|
|
94
|
-
case 'test':
|
|
95
|
-
return 'TEST_'
|
|
96
|
-
case 'test_case':
|
|
97
|
-
return 'TEST_CASE_'
|
|
98
|
-
case 'test_var':
|
|
99
|
-
return 'TEST_VAR_'
|
|
100
|
-
default:
|
|
101
|
-
return ''
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Make stable ids by default; explicit snapshotMode: false preserves the random escape hatch.
|
|
106
|
-
export const makeId = (type: IdType, aliasOrOpts?: string | IdOptions, opts?: IdOptions) => {
|
|
107
|
-
if (type === 'subspace') {
|
|
108
|
-
throw new Error('Currently subspace is not supported for ID generation, please use a fixed ID')
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const alias = typeof aliasOrOpts === 'string' ? aliasOrOpts : undefined
|
|
112
|
-
const options = typeof aliasOrOpts === 'string' ? opts : (aliasOrOpts ?? opts)
|
|
113
|
-
|
|
114
|
-
const useCountFallback = aliasOrOpts === undefined && opts === undefined
|
|
115
|
-
const id =
|
|
116
|
-
alias !== undefined || options?.snapshotMode || useCountFallback
|
|
117
|
-
? makeStableUuid(type, alias)
|
|
118
|
-
: uuid()
|
|
119
|
-
return `${idPrefix(type)}${id}`
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// Deterministic id derived solely from a caller-supplied seed. Unlike makeId it keeps no
|
|
123
|
-
// global state — no incrementing counter, no alias registry — so the same (type, seed)
|
|
124
|
-
// always maps to the same id on every compile and in any process. Compiled artifacts seed
|
|
125
|
-
// their ids this way (e.g. generateCalulationMap's command nodes, seeded by their calc id +
|
|
126
|
-
// structural role) so unchanged source recompiles byte-identically and editing one calc
|
|
127
|
-
// never shifts another's ids. The seed must be unique within a single config.
|
|
128
|
-
export const makeSeededId = (type: IdType, seed: string) => {
|
|
129
|
-
if (type === 'subspace') {
|
|
130
|
-
throw new Error('Currently subspace is not supported for ID generation, please use a fixed ID')
|
|
131
|
-
}
|
|
132
|
-
return `${idPrefix(type)}${uuid({ random: hashToRandomBytes([readApplicationId(), type, seed]) })}`
|
|
133
|
-
}
|