@betty-blocks/cli 26.0.0-beta.9 → 26.0.0

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 (255) hide show
  1. package/assets/app-functions/wasm-template/.wasm-functions +0 -0
  2. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.lock +449 -0
  3. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Cargo.toml +10 -0
  4. package/assets/app-functions/wasm-template/functions/say-hello/1.0/Justfile +12 -0
  5. package/assets/app-functions/wasm-template/functions/say-hello/1.0/function.json +35 -0
  6. package/assets/app-functions/wasm-template/functions/say-hello/1.0/src/lib.rs +19 -0
  7. package/assets/app-functions/wasm-template/functions/say-hello/1.0/wit/world.wit +13 -0
  8. package/build/bb-blocks-new.d.ts +1 -0
  9. package/build/bb-blocks-new.js +26 -0
  10. package/build/bb-blocks-new.js.map +1 -0
  11. package/build/bb-blocks-publish.d.ts +1 -0
  12. package/build/bb-blocks-publish.js +98 -0
  13. package/build/bb-blocks-publish.js.map +1 -0
  14. package/build/bb-blocks-release.d.ts +1 -0
  15. package/build/bb-blocks-release.js +18 -0
  16. package/build/bb-blocks-release.js.map +1 -0
  17. package/build/bb-blocks.d.ts +1 -0
  18. package/build/bb-blocks.js +17 -0
  19. package/build/bb-blocks.js.map +1 -0
  20. package/build/bb-bundle-init.d.ts +1 -0
  21. package/build/bb-bundle-init.js +33 -0
  22. package/build/bb-bundle-init.js.map +1 -0
  23. package/build/bb-bundle.d.ts +1 -0
  24. package/build/bb-bundle.js +17 -0
  25. package/build/bb-bundle.js.map +1 -0
  26. package/build/bb-components-build.d.ts +1 -0
  27. package/build/bb-components-build.js +416 -0
  28. package/build/bb-components-build.js.map +1 -0
  29. package/build/bb-components-create.d.ts +1 -0
  30. package/build/bb-components-create.js +41 -0
  31. package/build/bb-components-create.js.map +1 -0
  32. package/build/bb-components-generate.d.ts +1 -0
  33. package/build/bb-components-generate.js +168 -0
  34. package/build/bb-components-generate.js.map +1 -0
  35. package/build/bb-components-publish-bundle.d.ts +1 -0
  36. package/build/bb-components-publish-bundle.js +50 -0
  37. package/build/bb-components-publish-bundle.js.map +1 -0
  38. package/build/bb-components-publish.d.ts +1 -0
  39. package/build/bb-components-publish.js +57 -0
  40. package/build/bb-components-publish.js.map +1 -0
  41. package/build/bb-components-serve.d.ts +1 -0
  42. package/build/bb-components-serve.js +35 -0
  43. package/build/bb-components-serve.js.map +1 -0
  44. package/build/bb-components.d.ts +1 -0
  45. package/build/bb-components.js +29 -0
  46. package/build/bb-components.js.map +1 -0
  47. package/build/bb-functions-bump.d.ts +1 -0
  48. package/build/bb-functions-bump.js +37 -0
  49. package/build/bb-functions-bump.js.map +1 -0
  50. package/build/bb-functions-init.d.ts +1 -0
  51. package/build/bb-functions-init.js +31 -0
  52. package/build/bb-functions-init.js.map +1 -0
  53. package/build/bb-functions-login.d.ts +1 -0
  54. package/build/bb-functions-login.js +17 -0
  55. package/build/bb-functions-login.js.map +1 -0
  56. package/build/bb-functions-logout.d.ts +1 -0
  57. package/build/bb-functions-logout.js +10 -0
  58. package/build/bb-functions-logout.js.map +1 -0
  59. package/build/bb-functions-new.d.ts +1 -0
  60. package/build/bb-functions-new.js +25 -0
  61. package/build/bb-functions-new.js.map +1 -0
  62. package/build/bb-functions-publish.d.ts +1 -0
  63. package/build/bb-functions-publish.js +52 -0
  64. package/build/bb-functions-publish.js.map +1 -0
  65. package/build/bb-functions-validate.d.ts +1 -0
  66. package/build/bb-functions-validate.js +17 -0
  67. package/build/bb-functions-validate.js.map +1 -0
  68. package/build/bb-functions.d.ts +1 -0
  69. package/build/bb-functions.js +29 -0
  70. package/build/bb-functions.js.map +1 -0
  71. package/build/bb.d.ts +2 -0
  72. package/build/bb.js +27 -0
  73. package/build/bb.js.map +1 -0
  74. package/build/blocks/blockDefinitions.d.ts +10 -0
  75. package/build/blocks/blockDefinitions.js +62 -0
  76. package/build/blocks/blockDefinitions.js.map +1 -0
  77. package/build/blocks/publishBlocks.d.ts +2 -0
  78. package/build/blocks/publishBlocks.js +54 -0
  79. package/build/blocks/publishBlocks.js.map +1 -0
  80. package/build/blocks/releaseBlocks.d.ts +5 -0
  81. package/build/blocks/releaseBlocks.js +78 -0
  82. package/build/blocks/releaseBlocks.js.map +1 -0
  83. package/build/components/bb-components-functions.d.ts +10 -0
  84. package/build/components/bb-components-functions.js +40 -0
  85. package/build/components/bb-components-functions.js.map +1 -0
  86. package/build/components/comments.d.ts +3 -0
  87. package/build/components/comments.js +78 -0
  88. package/build/components/comments.js.map +1 -0
  89. package/build/components/compatibility.d.ts +7 -0
  90. package/build/components/compatibility.js +60 -0
  91. package/build/components/compatibility.js.map +1 -0
  92. package/build/components/transformers/index.d.ts +3 -0
  93. package/build/components/transformers/index.js +36 -0
  94. package/build/components/transformers/index.js.map +1 -0
  95. package/build/components-build/index.d.ts +2 -0
  96. package/build/components-build/index.js +3 -0
  97. package/build/components-build/index.js.map +1 -0
  98. package/build/components-build/reportDiagnostics.d.ts +2 -0
  99. package/build/components-build/reportDiagnostics.js +13 -0
  100. package/build/components-build/reportDiagnostics.js.map +1 -0
  101. package/build/components-build/styles.d.ts +4 -0
  102. package/build/components-build/styles.js +87 -0
  103. package/build/components-build/styles.js.map +1 -0
  104. package/build/functions/config.d.ts +67 -0
  105. package/build/functions/config.js +190 -0
  106. package/build/functions/config.js.map +1 -0
  107. package/build/functions/createWasmDefinitionFiles.d.ts +4 -0
  108. package/build/functions/createWasmDefinitionFiles.js +61 -0
  109. package/build/functions/createWasmDefinitionFiles.js.map +1 -0
  110. package/build/functions/functionDefinitions.d.ts +23 -0
  111. package/build/functions/functionDefinitions.js +229 -0
  112. package/build/functions/functionDefinitions.js.map +1 -0
  113. package/build/functions/functionVersionBump.d.ts +19 -0
  114. package/build/functions/functionVersionBump.js +62 -0
  115. package/build/functions/functionVersionBump.js.map +1 -0
  116. package/build/functions/publishAppFunctions.d.ts +13 -0
  117. package/build/functions/publishAppFunctions.js +90 -0
  118. package/build/functions/publishAppFunctions.js.map +1 -0
  119. package/build/functions/publishWasmBlockStoreFunctions.d.ts +1 -0
  120. package/build/functions/publishWasmBlockStoreFunctions.js +100 -0
  121. package/build/functions/publishWasmBlockStoreFunctions.js.map +1 -0
  122. package/build/functions/utils.d.ts +2 -0
  123. package/build/functions/utils.js +20 -0
  124. package/build/functions/utils.js.map +1 -0
  125. package/build/functions/validateFunctions.d.ts +3 -0
  126. package/build/functions/validateFunctions.js +23 -0
  127. package/build/functions/validateFunctions.js.map +1 -0
  128. package/build/functions/validations.d.ts +31 -0
  129. package/build/functions/validations.js +140 -0
  130. package/build/functions/validations.js.map +1 -0
  131. package/build/interactions/compatibility.d.ts +3 -0
  132. package/build/interactions/compatibility.js +84 -0
  133. package/build/interactions/compatibility.js.map +1 -0
  134. package/build/interactions/diagnostics.d.ts +2 -0
  135. package/build/interactions/diagnostics.js +23 -0
  136. package/build/interactions/diagnostics.js.map +1 -0
  137. package/build/types.d.ts +377 -0
  138. package/build/types.js +40 -0
  139. package/build/types.js.map +1 -0
  140. package/build/utils/arguments.d.ts +2 -0
  141. package/build/utils/arguments.js +6 -0
  142. package/build/utils/arguments.js.map +1 -0
  143. package/build/utils/checkPackageVersion.d.ts +1 -0
  144. package/build/utils/checkPackageVersion.js +10 -0
  145. package/build/utils/checkPackageVersion.js.map +1 -0
  146. package/build/utils/checkUpdateAvailable.d.ts +1 -0
  147. package/build/utils/checkUpdateAvailable.js +65 -0
  148. package/build/utils/checkUpdateAvailable.js.map +1 -0
  149. package/build/utils/fusionAuth.d.ts +21 -0
  150. package/build/utils/fusionAuth.js +108 -0
  151. package/build/utils/fusionAuth.js.map +1 -0
  152. package/build/utils/hash.d.ts +2 -0
  153. package/build/utils/hash.js +3 -0
  154. package/build/utils/hash.js.map +1 -0
  155. package/build/utils/login.d.ts +15 -0
  156. package/build/utils/login.js +116 -0
  157. package/build/utils/login.js.map +1 -0
  158. package/build/utils/pick.d.ts +7 -0
  159. package/build/utils/pick.js +16 -0
  160. package/build/utils/pick.js.map +1 -0
  161. package/build/utils/readFilesByType.d.ts +2 -0
  162. package/build/utils/readFilesByType.js +23 -0
  163. package/build/utils/readFilesByType.js.map +1 -0
  164. package/build/utils/rootDir.d.ts +2 -0
  165. package/build/utils/rootDir.js +4 -0
  166. package/build/utils/rootDir.js.map +1 -0
  167. package/build/utils/serveComponentSet.d.ts +3 -0
  168. package/build/utils/serveComponentSet.js +52 -0
  169. package/build/utils/serveComponentSet.js.map +1 -0
  170. package/build/utils/transpile.d.ts +2 -0
  171. package/build/utils/transpile.js +25 -0
  172. package/build/utils/transpile.js.map +1 -0
  173. package/build/utils/uploadBlob.d.ts +24 -0
  174. package/build/utils/uploadBlob.js +56 -0
  175. package/build/utils/uploadBlob.js.map +1 -0
  176. package/build/utils/validation.d.ts +4 -0
  177. package/build/utils/validation.js +74 -0
  178. package/build/utils/validation.js.map +1 -0
  179. package/build/validations/component.d.ts +3 -0
  180. package/build/validations/component.js +56 -0
  181. package/build/validations/component.js.map +1 -0
  182. package/build/validations/constants.d.ts +16 -0
  183. package/build/validations/constants.js +208 -0
  184. package/build/validations/constants.js.map +1 -0
  185. package/build/validations/function-block-validations/index.d.ts +22 -0
  186. package/build/validations/function-block-validations/index.js +72 -0
  187. package/build/validations/function-block-validations/index.js.map +1 -0
  188. package/build/validations/interaction.d.ts +3 -0
  189. package/build/validations/interaction.js +22 -0
  190. package/build/validations/interaction.js.map +1 -0
  191. package/build/validations/prefab/action.d.ts +2 -0
  192. package/build/validations/prefab/action.js +99 -0
  193. package/build/validations/prefab/action.js.map +1 -0
  194. package/build/validations/prefab/component.d.ts +10 -0
  195. package/build/validations/prefab/component.js +290 -0
  196. package/build/validations/prefab/component.js.map +1 -0
  197. package/build/validations/prefab/componentOption.d.ts +3 -0
  198. package/build/validations/prefab/componentOption.js +176 -0
  199. package/build/validations/prefab/componentOption.js.map +1 -0
  200. package/build/validations/prefab/interaction.d.ts +2 -0
  201. package/build/validations/prefab/interaction.js +38 -0
  202. package/build/validations/prefab/interaction.js.map +1 -0
  203. package/build/validations/prefab/linkedOption.d.ts +3 -0
  204. package/build/validations/prefab/linkedOption.js +39 -0
  205. package/build/validations/prefab/linkedOption.js.map +1 -0
  206. package/build/validations/prefab/linkedPartial.d.ts +3 -0
  207. package/build/validations/prefab/linkedPartial.js +30 -0
  208. package/build/validations/prefab/linkedPartial.js.map +1 -0
  209. package/build/validations/prefab/variable.d.ts +3 -0
  210. package/build/validations/prefab/variable.js +36 -0
  211. package/build/validations/prefab/variable.js.map +1 -0
  212. package/build/validations/prefab.d.ts +17 -0
  213. package/build/validations/prefab.js +66 -0
  214. package/build/validations/prefab.js.map +1 -0
  215. package/build/validations/styles.d.ts +6 -0
  216. package/build/validations/styles.js +103 -0
  217. package/build/validations/styles.js.map +1 -0
  218. package/package.json +38 -40
  219. package/assets/app-functions/templates/test/helpers.js +0 -3
  220. package/assets/app-functions/templates/test/say-hello.test.js +0 -4
  221. package/assets/functions/packer/package.json +0 -9
  222. package/assets/functions/packer/webpack.config.js +0 -12
  223. package/assets/functions/templates/functions.json +0 -14
  224. package/assets/functions/templates/package.json +0 -11
  225. package/assets/functions/templates/src/all-users.js +0 -14
  226. package/assets/functions/templates/src/get-json.js +0 -9
  227. package/assets/functions/templates/src/index.js +0 -5
  228. package/assets/functions/templates/src/say-hello.js +0 -13
  229. package/build/src/bb-blocks-new.js +0 -6789
  230. package/build/src/bb-blocks-publish.js +0 -32641
  231. package/build/src/bb-blocks-release.js +0 -15528
  232. package/build/src/bb-blocks.js +0 -2149
  233. package/build/src/bb-bundle-init.js +0 -6034
  234. package/build/src/bb-bundle.js +0 -2636
  235. package/build/src/bb-components-build.js +0 -240546
  236. package/build/src/bb-components-create.js +0 -6045
  237. package/build/src/bb-components-generate.js +0 -6173
  238. package/build/src/bb-components-publish-bundle.js +0 -43346
  239. package/build/src/bb-components-publish.js +0 -43353
  240. package/build/src/bb-components-serve.js +0 -15326
  241. package/build/src/bb-components.js +0 -2157
  242. package/build/src/bb-functions-build.js +0 -4284
  243. package/build/src/bb-functions-bump.js +0 -14582
  244. package/build/src/bb-functions-init.js +0 -4749
  245. package/build/src/bb-functions-login.js +0 -15440
  246. package/build/src/bb-functions-logout.js +0 -15434
  247. package/build/src/bb-functions-new.js +0 -9144
  248. package/build/src/bb-functions-publish.js +0 -86693
  249. package/build/src/bb-functions-validate.js +0 -22160
  250. package/build/src/bb-functions.js +0 -2159
  251. package/build/src/bb.js +0 -2740
  252. /package/assets/app-functions/{templates → js-template}/.app-functions +0 -0
  253. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/function.json +0 -0
  254. /package/assets/app-functions/{templates → js-template}/functions/say-hello/1.0/index.js +0 -0
  255. /package/assets/app-functions/{templates → js-template}/package.json +0 -0
@@ -0,0 +1,449 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "anyhow"
7
+ version = "1.0.100"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
10
+
11
+ [[package]]
12
+ name = "bitflags"
13
+ version = "2.9.4"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394"
16
+
17
+ [[package]]
18
+ name = "equivalent"
19
+ version = "1.0.2"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
22
+
23
+ [[package]]
24
+ name = "foldhash"
25
+ version = "0.1.5"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
28
+
29
+ [[package]]
30
+ name = "futures"
31
+ version = "0.3.31"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
34
+ dependencies = [
35
+ "futures-channel",
36
+ "futures-core",
37
+ "futures-executor",
38
+ "futures-io",
39
+ "futures-sink",
40
+ "futures-task",
41
+ "futures-util",
42
+ ]
43
+
44
+ [[package]]
45
+ name = "futures-channel"
46
+ version = "0.3.31"
47
+ source = "registry+https://github.com/rust-lang/crates.io-index"
48
+ checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
49
+ dependencies = [
50
+ "futures-core",
51
+ "futures-sink",
52
+ ]
53
+
54
+ [[package]]
55
+ name = "futures-core"
56
+ version = "0.3.31"
57
+ source = "registry+https://github.com/rust-lang/crates.io-index"
58
+ checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
59
+
60
+ [[package]]
61
+ name = "futures-executor"
62
+ version = "0.3.31"
63
+ source = "registry+https://github.com/rust-lang/crates.io-index"
64
+ checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
65
+ dependencies = [
66
+ "futures-core",
67
+ "futures-task",
68
+ "futures-util",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "futures-io"
73
+ version = "0.3.31"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
76
+
77
+ [[package]]
78
+ name = "futures-macro"
79
+ version = "0.3.31"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
82
+ dependencies = [
83
+ "proc-macro2",
84
+ "quote",
85
+ "syn",
86
+ ]
87
+
88
+ [[package]]
89
+ name = "futures-sink"
90
+ version = "0.3.31"
91
+ source = "registry+https://github.com/rust-lang/crates.io-index"
92
+ checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
93
+
94
+ [[package]]
95
+ name = "futures-task"
96
+ version = "0.3.31"
97
+ source = "registry+https://github.com/rust-lang/crates.io-index"
98
+ checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
99
+
100
+ [[package]]
101
+ name = "futures-util"
102
+ version = "0.3.31"
103
+ source = "registry+https://github.com/rust-lang/crates.io-index"
104
+ checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
105
+ dependencies = [
106
+ "futures-channel",
107
+ "futures-core",
108
+ "futures-io",
109
+ "futures-macro",
110
+ "futures-sink",
111
+ "futures-task",
112
+ "memchr",
113
+ "pin-project-lite",
114
+ "pin-utils",
115
+ "slab",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "hashbrown"
120
+ version = "0.15.5"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
123
+ dependencies = [
124
+ "foldhash",
125
+ ]
126
+
127
+ [[package]]
128
+ name = "hashbrown"
129
+ version = "0.16.0"
130
+ source = "registry+https://github.com/rust-lang/crates.io-index"
131
+ checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d"
132
+
133
+ [[package]]
134
+ name = "heck"
135
+ version = "0.5.0"
136
+ source = "registry+https://github.com/rust-lang/crates.io-index"
137
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
138
+
139
+ [[package]]
140
+ name = "id-arena"
141
+ version = "2.2.1"
142
+ source = "registry+https://github.com/rust-lang/crates.io-index"
143
+ checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
144
+
145
+ [[package]]
146
+ name = "indexmap"
147
+ version = "2.11.4"
148
+ source = "registry+https://github.com/rust-lang/crates.io-index"
149
+ checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5"
150
+ dependencies = [
151
+ "equivalent",
152
+ "hashbrown 0.16.0",
153
+ "serde",
154
+ "serde_core",
155
+ ]
156
+
157
+ [[package]]
158
+ name = "itoa"
159
+ version = "1.0.15"
160
+ source = "registry+https://github.com/rust-lang/crates.io-index"
161
+ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
162
+
163
+ [[package]]
164
+ name = "leb128fmt"
165
+ version = "0.1.0"
166
+ source = "registry+https://github.com/rust-lang/crates.io-index"
167
+ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
168
+
169
+ [[package]]
170
+ name = "log"
171
+ version = "0.4.28"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
174
+
175
+ [[package]]
176
+ name = "memchr"
177
+ version = "2.7.5"
178
+ source = "registry+https://github.com/rust-lang/crates.io-index"
179
+ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
180
+
181
+ [[package]]
182
+ name = "once_cell"
183
+ version = "1.21.3"
184
+ source = "registry+https://github.com/rust-lang/crates.io-index"
185
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
186
+
187
+ [[package]]
188
+ name = "pin-project-lite"
189
+ version = "0.2.16"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
192
+
193
+ [[package]]
194
+ name = "pin-utils"
195
+ version = "0.1.0"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
198
+
199
+ [[package]]
200
+ name = "prettyplease"
201
+ version = "0.2.37"
202
+ source = "registry+https://github.com/rust-lang/crates.io-index"
203
+ checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
204
+ dependencies = [
205
+ "proc-macro2",
206
+ "syn",
207
+ ]
208
+
209
+ [[package]]
210
+ name = "proc-macro2"
211
+ version = "1.0.101"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
214
+ dependencies = [
215
+ "unicode-ident",
216
+ ]
217
+
218
+ [[package]]
219
+ name = "quote"
220
+ version = "1.0.40"
221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
222
+ checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
223
+ dependencies = [
224
+ "proc-macro2",
225
+ ]
226
+
227
+ [[package]]
228
+ name = "ryu"
229
+ version = "1.0.20"
230
+ source = "registry+https://github.com/rust-lang/crates.io-index"
231
+ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
232
+
233
+ [[package]]
234
+ name = "sayhello"
235
+ version = "1.0.0"
236
+ dependencies = [
237
+ "wit-bindgen",
238
+ ]
239
+
240
+ [[package]]
241
+ name = "semver"
242
+ version = "1.0.27"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
245
+
246
+ [[package]]
247
+ name = "serde"
248
+ version = "1.0.226"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "0dca6411025b24b60bfa7ec1fe1f8e710ac09782dca409ee8237ba74b51295fd"
251
+ dependencies = [
252
+ "serde_core",
253
+ ]
254
+
255
+ [[package]]
256
+ name = "serde_core"
257
+ version = "1.0.226"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "ba2ba63999edb9dac981fb34b3e5c0d111a69b0924e253ed29d83f7c99e966a4"
260
+ dependencies = [
261
+ "serde_derive",
262
+ ]
263
+
264
+ [[package]]
265
+ name = "serde_derive"
266
+ version = "1.0.226"
267
+ source = "registry+https://github.com/rust-lang/crates.io-index"
268
+ checksum = "8db53ae22f34573731bafa1db20f04027b2d25e02d8205921b569171699cdb33"
269
+ dependencies = [
270
+ "proc-macro2",
271
+ "quote",
272
+ "syn",
273
+ ]
274
+
275
+ [[package]]
276
+ name = "serde_json"
277
+ version = "1.0.145"
278
+ source = "registry+https://github.com/rust-lang/crates.io-index"
279
+ checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
280
+ dependencies = [
281
+ "itoa",
282
+ "memchr",
283
+ "ryu",
284
+ "serde",
285
+ "serde_core",
286
+ ]
287
+
288
+ [[package]]
289
+ name = "slab"
290
+ version = "0.4.11"
291
+ source = "registry+https://github.com/rust-lang/crates.io-index"
292
+ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589"
293
+
294
+ [[package]]
295
+ name = "syn"
296
+ version = "2.0.106"
297
+ source = "registry+https://github.com/rust-lang/crates.io-index"
298
+ checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
299
+ dependencies = [
300
+ "proc-macro2",
301
+ "quote",
302
+ "unicode-ident",
303
+ ]
304
+
305
+ [[package]]
306
+ name = "unicode-ident"
307
+ version = "1.0.19"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
310
+
311
+ [[package]]
312
+ name = "unicode-xid"
313
+ version = "0.2.6"
314
+ source = "registry+https://github.com/rust-lang/crates.io-index"
315
+ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
316
+
317
+ [[package]]
318
+ name = "wasm-encoder"
319
+ version = "0.230.0"
320
+ source = "registry+https://github.com/rust-lang/crates.io-index"
321
+ checksum = "d4349d0943718e6e434b51b9639e876293093dca4b96384fb136ab5bd5ce6660"
322
+ dependencies = [
323
+ "leb128fmt",
324
+ "wasmparser",
325
+ ]
326
+
327
+ [[package]]
328
+ name = "wasm-metadata"
329
+ version = "0.230.0"
330
+ source = "registry+https://github.com/rust-lang/crates.io-index"
331
+ checksum = "1a52e010df5494f4289ccc68ce0c2a8c17555225a5e55cc41b98f5ea28d0844b"
332
+ dependencies = [
333
+ "anyhow",
334
+ "indexmap",
335
+ "wasm-encoder",
336
+ "wasmparser",
337
+ ]
338
+
339
+ [[package]]
340
+ name = "wasmparser"
341
+ version = "0.230.0"
342
+ source = "registry+https://github.com/rust-lang/crates.io-index"
343
+ checksum = "808198a69b5a0535583370a51d459baa14261dfab04800c4864ee9e1a14346ed"
344
+ dependencies = [
345
+ "bitflags",
346
+ "hashbrown 0.15.5",
347
+ "indexmap",
348
+ "semver",
349
+ ]
350
+
351
+ [[package]]
352
+ name = "wit-bindgen"
353
+ version = "0.42.1"
354
+ source = "registry+https://github.com/rust-lang/crates.io-index"
355
+ checksum = "fa5b79cd8cb4b27a9be3619090c03cbb87fe7b1c6de254b4c9b4477188828af8"
356
+ dependencies = [
357
+ "wit-bindgen-rt",
358
+ "wit-bindgen-rust-macro",
359
+ ]
360
+
361
+ [[package]]
362
+ name = "wit-bindgen-core"
363
+ version = "0.42.1"
364
+ source = "registry+https://github.com/rust-lang/crates.io-index"
365
+ checksum = "e35e550f614e16db196e051d22b0d4c94dd6f52c90cb1016240f71b9db332631"
366
+ dependencies = [
367
+ "anyhow",
368
+ "heck",
369
+ "wit-parser",
370
+ ]
371
+
372
+ [[package]]
373
+ name = "wit-bindgen-rt"
374
+ version = "0.42.1"
375
+ source = "registry+https://github.com/rust-lang/crates.io-index"
376
+ checksum = "051105bab12bc78e161f8dfb3596e772dd6a01ebf9c4840988e00347e744966a"
377
+ dependencies = [
378
+ "bitflags",
379
+ "futures",
380
+ "once_cell",
381
+ ]
382
+
383
+ [[package]]
384
+ name = "wit-bindgen-rust"
385
+ version = "0.42.1"
386
+ source = "registry+https://github.com/rust-lang/crates.io-index"
387
+ checksum = "cb1e0a91fc85f4ef70e0b81cd86c2b49539d3cd14766fd82396184aadf8cb7d7"
388
+ dependencies = [
389
+ "anyhow",
390
+ "heck",
391
+ "indexmap",
392
+ "prettyplease",
393
+ "syn",
394
+ "wasm-metadata",
395
+ "wit-bindgen-core",
396
+ "wit-component",
397
+ ]
398
+
399
+ [[package]]
400
+ name = "wit-bindgen-rust-macro"
401
+ version = "0.42.1"
402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
403
+ checksum = "ce69f52c5737705881d5da5a1dd06f47f8098d094a8d65a3e44292942edb571f"
404
+ dependencies = [
405
+ "anyhow",
406
+ "prettyplease",
407
+ "proc-macro2",
408
+ "quote",
409
+ "syn",
410
+ "wit-bindgen-core",
411
+ "wit-bindgen-rust",
412
+ ]
413
+
414
+ [[package]]
415
+ name = "wit-component"
416
+ version = "0.230.0"
417
+ source = "registry+https://github.com/rust-lang/crates.io-index"
418
+ checksum = "b607b15ead6d0e87f5d1613b4f18c04d4e80ceeada5ffa608d8360e6909881df"
419
+ dependencies = [
420
+ "anyhow",
421
+ "bitflags",
422
+ "indexmap",
423
+ "log",
424
+ "serde",
425
+ "serde_derive",
426
+ "serde_json",
427
+ "wasm-encoder",
428
+ "wasm-metadata",
429
+ "wasmparser",
430
+ "wit-parser",
431
+ ]
432
+
433
+ [[package]]
434
+ name = "wit-parser"
435
+ version = "0.230.0"
436
+ source = "registry+https://github.com/rust-lang/crates.io-index"
437
+ checksum = "679fde5556495f98079a8e6b9ef8c887f731addaffa3d48194075c1dd5cd611b"
438
+ dependencies = [
439
+ "anyhow",
440
+ "id-arena",
441
+ "indexmap",
442
+ "log",
443
+ "semver",
444
+ "serde",
445
+ "serde_derive",
446
+ "serde_json",
447
+ "unicode-xid",
448
+ "wasmparser",
449
+ ]
@@ -0,0 +1,10 @@
1
+ [package]
2
+ name = "sayhello"
3
+ version = "1.0.0"
4
+ edition = "2024"
5
+
6
+ [lib]
7
+ crate-type = ["cdylib"]
8
+
9
+ [dependencies]
10
+ wit-bindgen = "0.42.0"
@@ -0,0 +1,12 @@
1
+ fetch_wit_deps:
2
+ wkg wit fetch
3
+
4
+ move_wasm_to_root:
5
+ mv ./target/wasm32-wasip2/release/*.wasm .
6
+
7
+ build: fetch_wit_deps
8
+ cargo build --release --target wasm32-wasip2
9
+ just move_wasm_to_root
10
+
11
+ test:
12
+ cargo test
@@ -0,0 +1,35 @@
1
+ {
2
+ "label": "Say Hello",
3
+ "description": "Say Hello to the world",
4
+ "category": "Misc",
5
+ "icon": {
6
+ "name": "ChatIcon",
7
+ "color": "Teal"
8
+ },
9
+ "options": [
10
+ {
11
+ "meta": {
12
+ "type": "Text"
13
+ },
14
+ "name": "name",
15
+ "label": "Name",
16
+ "info": "The name that's going to be used to say hello to the world!",
17
+ "advanced": false,
18
+ "configuration": {
19
+ "placeholder": "Betty Blocks"
20
+ }
21
+ },
22
+ {
23
+ "meta": {
24
+ "type": "Output",
25
+ "output": {
26
+ "type": "Text"
27
+ }
28
+ },
29
+ "name": "greet",
30
+ "label": "As",
31
+ "info": "The resulting greet to the world."
32
+ }
33
+ ],
34
+ "yields": "NONE"
35
+ }
@@ -0,0 +1,19 @@
1
+ use crate::exports::betty_blocks::sayhello::sayhello::{Guest, Output};
2
+
3
+ wit_bindgen::generate!({ generate_all });
4
+
5
+ struct Component;
6
+
7
+ impl Guest for Component {
8
+ fn sayhello(name: String) -> Result<Output, String> {
9
+ if name == "oops" {
10
+ Err("Ooops. Something went wrong.".to_string())
11
+ } else {
12
+ Ok(Output {
13
+ greet: format!("Hello, {}", name),
14
+ })
15
+ }
16
+ }
17
+ }
18
+
19
+ export! {Component}
@@ -0,0 +1,13 @@
1
+ package betty-blocks:sayhello@1.0.0;
2
+
3
+ interface sayhello {
4
+ record output {
5
+ %greet: string
6
+ }
7
+
8
+ sayhello: func(name: string) -> result<output, string>;
9
+ }
10
+
11
+ world main {
12
+ export sayhello;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ import { kebab } from 'case';
2
+ import { Command } from 'commander';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import { newBlockDefinition } from './blocks/blockDefinitions';
6
+ const program = new Command();
7
+ program
8
+ .argument('<block-name>', 'Name of the block to create')
9
+ .name('bb blocks new')
10
+ .parse(process.argv);
11
+ const { args } = program;
12
+ const inputBlockName = kebab(args.join());
13
+ const workingDir = process.cwd();
14
+ if (fs.existsSync(path.join(workingDir, '.app-functions'))) {
15
+ try {
16
+ const blocksDir = path.join(workingDir, 'blocks');
17
+ console.log(newBlockDefinition(blocksDir, inputBlockName));
18
+ }
19
+ catch (err) {
20
+ console.log(`blocks/${inputBlockName}.json could not be created. Error: ${err}`);
21
+ }
22
+ }
23
+ else {
24
+ console.log(`${workingDir} doesn't seem to be a functions project.\nPlease make sure you're in the root of the project.`);
25
+ }
26
+ //# sourceMappingURL=bb-blocks-new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-blocks-new.js","sourceRoot":"","sources":["../src/bb-blocks-new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAAC;KACvD,IAAI,CAAC,eAAe,CAAC;KACrB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;AACzB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE1C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACjC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CACT,UAAU,cAAc,sCAAsC,GAAG,EAAE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,+FAA+F,CAC7G,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,98 @@
1
+ import AdmZip from 'adm-zip';
2
+ import chalk from 'chalk';
3
+ import { Command } from 'commander';
4
+ import fs from 'fs-extra';
5
+ import path from 'path';
6
+ import prompts from 'prompts';
7
+ import { blockDefinitions, createPackageJson, } from './blocks/blockDefinitions';
8
+ import publishBlocks from './blocks/publishBlocks';
9
+ import { functionDefinitions, generateIndex, whitelistedFunctions, } from './functions/functionDefinitions';
10
+ import { validateBlock, validateBlockConfig, } from './validations/function-block-validations';
11
+ const program = new Command();
12
+ program.option('--all').name('bb blocks publish').parse(process.argv);
13
+ const workingDir = process.cwd();
14
+ const baseBlocksPath = path.join(workingDir, 'blocks');
15
+ const blocks = await blockDefinitions(baseBlocksPath);
16
+ const createBlockZip = async (name, { functions, includes, dependencies }) => {
17
+ const zip = new AdmZip();
18
+ const tmpDir = '.tmp';
19
+ const zipFilePath = path.join(tmpDir, `${name}.zip`);
20
+ fs.ensureDirSync(tmpDir);
21
+ try {
22
+ const functionsDir = path.join(workingDir, 'functions');
23
+ const blocksDir = path.join(workingDir, 'blocks');
24
+ const rootPackageJson = path.join(path.dirname(blocksDir), 'package.json');
25
+ zip.addFile('package.json', Buffer.from(createPackageJson(name, rootPackageJson, dependencies)));
26
+ zip.addFile('index.js', Buffer.from(await generateIndex(functionsDir, functions)));
27
+ const funcDefinitions = await functionDefinitions(functionsDir);
28
+ const blockFunctions = whitelistedFunctions(funcDefinitions, functions);
29
+ blockFunctions.forEach((blockFunction) => {
30
+ const functionDir = path.dirname(blockFunction.path);
31
+ zip.addLocalFolder(functionDir, functionDir.replace(workingDir, ''));
32
+ });
33
+ includes.forEach((include) => {
34
+ zip.addLocalFolder(path.join(workingDir, include), include);
35
+ });
36
+ zip.writeZip(zipFilePath);
37
+ return zipFilePath;
38
+ }
39
+ catch (error) {
40
+ throw new Error(`in ${name}: ${error}`);
41
+ }
42
+ };
43
+ void (async () => {
44
+ const choices = blocks.map((block) => ({
45
+ title: path.basename(block, '.json'),
46
+ value: block,
47
+ }));
48
+ const { all } = program.opts();
49
+ let selected = [];
50
+ if (all) {
51
+ selected = blocks;
52
+ }
53
+ else {
54
+ const results = (await prompts([
55
+ {
56
+ choices,
57
+ instructions: false,
58
+ message: 'Which blocks do you want to publish?',
59
+ name: 'selected',
60
+ type: 'multiselect',
61
+ },
62
+ ]));
63
+ ({ selected } = results);
64
+ }
65
+ selected.forEach((jsonFile) => {
66
+ void (async () => {
67
+ const block = fs.readJsonSync(jsonFile);
68
+ const name = path.basename(jsonFile, '.json');
69
+ if (validateBlockConfig(block)) {
70
+ try {
71
+ const functionsDir = path.join(workingDir, 'functions');
72
+ const funcDefinitions = await functionDefinitions(functionsDir);
73
+ const blockFunctions = whitelistedFunctions(funcDefinitions, block.functions);
74
+ const { valid, errorMessage } = await validateBlock({
75
+ block,
76
+ blockFunctions,
77
+ blockName: name,
78
+ });
79
+ if (valid) {
80
+ const zip = await createBlockZip(name, block);
81
+ if (zip)
82
+ await publishBlocks(block.functions, zip);
83
+ }
84
+ else {
85
+ throw Error(chalk.red(`\n${errorMessage}\n`));
86
+ }
87
+ }
88
+ catch (error) {
89
+ throw new Error(`in ${name}: ${error}`);
90
+ }
91
+ }
92
+ else {
93
+ console.error(chalk.red(`\nFunctions can not be empty\n`));
94
+ }
95
+ })();
96
+ });
97
+ })();
98
+ //# sourceMappingURL=bb-blocks-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bb-blocks-publish.js","sourceRoot":"","sources":["../src/bb-blocks-publish.ts"],"names":[],"mappings":"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"}